用Applescript激活Vim

问题描述

最近我使用MacOS Mojave安装了vim的最新版本,这要归功于这个简单的教程:https://medium.com/swlh/vim-is-vulnerable-update-vim-on-macos-66402e5ab46a

我现在正尝试将其与Skim同步以进行向后搜索。为此,我正在使用一个脚本,其中通过AppleScript使用以下命令激活了vim:

osascript -e 'tell app "Vim" to activate'

执行时出现以下错误

18:26: execution error: Il est impossible d’obtenir application "Vim". (-1728)

(法语翻译:无法获得应用程序“ vim”)

macerror -1728给我:

Mac OS error -1728 (errAENoSuchObject): e.g.,: specifier asked for the 3rd,but there are only 2. Basically,this indicates a run-time resolution error.

我尝试在命令中将“ vim”更改为“ Vim”;从/Applications中的vim到/usr/local/bin中的vim创建符号链接;将vim的所有者更改为$USER。什么都没有。

任何人都知道发生了什么事吗?

解决方法

不幸的是,AppleScript仅适用于GUI应用程序-因此,您将完全无法管理CLI Vim。我看到其他任何解决方案都不会令您满意,因为该教程是关于使用特定漏洞的。你可以做

brew install macvim
使用

来操作vim提供的功能,因此您仍然可以记录击键,打印内容等。您还可以阅读有关vim +clientserver的信息,它可能会提供满足您需求的解决方案,但这仍然只是一种解决方法。

,

在这种情况下,vim命令行可执行文件,而不是标准 GUI app em>,以下示例 AppleScript 代码应该可以正常工作:

osascript -e 'tell app "Terminal"' -e 'do script "/usr/local/bin/vim"' -e 'activate' -e 'end tell'

注意::如有必要,将vim完全限定路径名更改为安装位置。