从 shell 脚本执行 Vim 命令

Executing Vim commands from a shell script

我正在编写一个 Bash 脚本,应该打开 ls 手册页然后展开页面。

我做了什么:
bash$vim +Man\ ls -c Wo
我希望发生的事情是 bash 打开 ls 联机帮助页然后执行 keybind <C-w>o 以展开
这部分 -c Wo 是错误的

是否有实用的方法从 shell 脚本执行 Vim 命令?

-c+ 期望命令行模式命令(也称为“Ex 命令”,以 : 开头的命令),但 <C-w>o 是正常的mode命令所以不能直接使用,这里

解决此问题的一种方法是使用 :help :normal 和您的 shell 通过 <C-v>:

插入控制字符的能力
$ vim +Man\ ls +normal\ ^Wo

其中 ^W 是文字 <C-w> 字符,通过按 <C-v> 后跟 <C-w>.

获得

但是使用相当于 <C-w>o 的命令行模式似乎是一个更好的主意:

$ vim +Man\ ls +wincmd\ o

参见 :help :wincmd