在vim中执行shell指令

xiaoxiao2021-02-27  432

简介: vim 是十分强大的文本编辑工具,但有一些事它做不了。本文简单说说在不离开 vim 编辑器的情况下,执行 shell 命令、工具。

1. 进入 shell (1)在 vim 中执行 :shell 或 :sh,当退出当前 shell 时,就会回到 vim; (2)也可以使用 ctr-z 进入 shell, 然后执行 fg 回到 vim。 上述功能可用于下述场景: 如我们编辑了一个文件,但是发现无法保存(没有写权限),你可以先改变该文件读写权限,然后再回到 vim 保存刚刚的修改。

2. 在 vim 中执行 shell 命令! 我们只需要在命令前 加上 ! 就可以。 如, :! sort % 该命令会对当前编辑的文件(%)内容进行排序,并输出。 但该命令仅对文件内容进行操作,命令不会缓存中的内容进行操作。 ! 通常和非交互式命令结合使用。

3. 读取命令的输出 很多人常用 vim read命令读取内容, 如: :read textfile 但 read还可以用于读取 shell 命令的输出,如: :read ! ls | sort

4. 使用外部命令过滤文本 进入 vim visual模式,选中你想操作的文本,然后执行 shell 命令。 你选中的命令会被 shell 命令的输出替换。

注: 默认情况下,vim 使用系统默认使用的 shell。 查看 vim 使用了哪一个 shell :set shell ? 设置你想要试用的 shell :set shell=/path/to/shell

转载请注明原文地址: https://www.6miu.com/read-1012.html

最新回复(0)