如何从 shell 运行 Vim 命令?

imi*_*ric 13 linux vim shell make

这可能是一个愚蠢的问题,但请耐心等待。

我正在自动化一些我在设置新工作环境时所做的常见事情,并希望自动化 Vim 命令:BundleInstall(用于安装我所有的 Vim 插件)。

是否可以从 shell 运行它?

或者,是否可以让脚本运行 Vim,执行:BundleInstall,等到它完成并退出?

谢谢。

Ign*_*ams 15

vim(1)手册页:

+{命令}

-c {命令}

{command} 将在读取第一个文件后执行。{command} 被解释为 Ex 命令。如果 {command} 包含空格,它必须用双引号括起来(这取决于所使用的 shell)。示例:Vim "+set si" main.c

注意:您最多可以使用 10 个“+”或“-c”命令。

  • 谢谢!我知道我会觉得自己很愚蠢... :-/ 对我没有彻底阅读联机帮助页是正确的。我最终使用了`vim +BundleInstall +qall!`。 (4认同)

gar*_*ohn 5

您可以像这样执行命令:

vim -E -c BundleInstall -c q
Run Code Online (Sandbox Code Playgroud)

这将避免在终端中打开 Vim 窗口。

注意:我的第一个答案包含了-s另一个应用程序所需的选项,但在这里是不正确的,因为它阻止了 Vim 的大部分初始化,包括获取定义命令的插件BundleInstall