Vim使用技巧-执行外部命令
简介:
vim 是十分强大的文本编辑工具,但有一些事它做不了。本文简单说说在不离开 vim 编辑器的情况下,执行 shell 命令、工具。
进入shell
- 在 vim 中执行 :shell 或 :sh,当退出当前 shell 时,就会回到 vim;
- 也可以使用 ctr-z 进入 shell, 然后执行 fg 回到 vim。
- 上述功能可用于下述场景:
- 如我们编辑了一个文件,但是发现无法保存(没有写权限),你可以先改变该文件读写权限,然后再回到 vim 保存刚刚的修改。
在vim中执行 shell 命令!
- 我们只需要在命令前 加上 ! 就可以。
- 如,
:! sort %
- 该命令会对当前编辑的文件(%)内容进行排序,并输出。
- 但该命令仅对文件内容进行操作,命令不会缓存中的内容进行操作。
- ! 通常和非交互式命令结合使用。
- 如,
读取命令的输出
- 很多人常用 vim read命令读取内容, 如:
:read textfile
- 但 read还可以用于读取 shell 命令的输出,如:
:read ! ls | sort
使用外部命令过滤文本
- 进入 vim visual模式,选中你想操作的文本,然后执行 shell 命令。
- 你选中的命令会被 shell 命令的输出替换。
注:
- 默认情况下,vim 使用系统默认使用的 shell。
- 查看 vim 使用了哪一个 shell
:set shell ?
- 设置你想要试用的shell
:set shell=/path/to/shell