首页 > 解决方案 > 从 shell 脚本执行 Vim 命令

问题描述

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

我做了什么:
bash$vim +Man\ ls -c Wo
我期望 bash 打开 ls 手册页然后执行 keybind<C-w>o来扩展
这部分-c Wo是错误的

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

标签: bashvim

解决方案


-c+期待一个命令行模式命令(AKA“Ex 命令”,以 开头的命令:),但<C-w>o它是一个普通模式命令,因此不能直接使用,在这里。

解决此问题的一种方法是使用:help :normal和您的外壳通过以下方式插入控制字符的能力<C-v>

$ vim +Man\ ls +normal\ ^Wo

with是通过按后跟. 获得^W的文字字符。<C-w><C-v><C-w>

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

$ vim +Man\ ls +wincmd\ o

:help :wincmd


推荐阅读