bash - 从 shell 脚本执行 Vim 命令

标签 bash vim

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

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

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

最佳答案

-c+期望命令行模式命令(又名“Ex 命令”,以 : 开头的命令),但 <C-w>o是普通模式命令,因此不能直接使用。

解决此问题的一种方法是使用 :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 .

关于bash - 从 shell 脚本执行 Vim 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66236539/

相关文章:

bash - Bash 中的区域设置感知大写?

Vim 'earlier' 和 'later' 命令没有按预期工作

vim - 如何使用 vim-fugitive 查看任何提交的 git diff?

python - 在 'def' , 'if' 等之后自动插入冒号

vim - 如何设置和取消设置所有缓冲区的相对编号?

bash - 如何使用 Bash 对一行中的反引号输出执行子字符串操作?

bash - 我怎样才能让 awk 为它解析的每个文件处理 BEGIN block ?

linux - 如何获取变量bash的长度?

regex - 删除仅包含特定字符串的重复行

vim - 如何在 vim 宏中包含光标移动