我想从命令行运行一些vimscript。具体来说,我想检查我的vim实例上是否已经安装了Command-T(如果没有,我想安装它)。
我可以在vim中运行一些命令来检测Command-T的存在,例如exists("CommandTFlush")
如果存在则返回0,如果不存在则返回2.
如何从bash脚本调用此函数,并在bash中解释结果?
答案 0 :(得分:3)
我最终使用了以下命令。由于vim使用ncurses,你不能回显任何东西,但你可以读取vim进程的返回码。如果你用:cquit
退出vim,vim将以返回码1退出,否则它将以0退出。我们可以用它来确定函数的成功/失败。
将以下内容添加到文件中并将其另存为check-command-t.vim
:
:let cmdt = exists("CommandTFlush")
:if cmdt == 2
" It's not installed.
:cquit
:else
:exit
:endif
从bash我们想用vim -s check-command-t.vim
告诉vim运行文件中的所有命令。
if vim -s check-command-t.vim; then
# The command exited with return code 0; command-T is installed
else
# not installed
fi