您的位置:首页 > 运维架构 > Shell

在vim中执行shell指令

2017-05-04 02:00 162 查看
简介:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell vim