问题描述
最近我使用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
的完全限定路径名更改为安装位置。