vim常用操作——vim中执行shell
vim中执行shell命令,有以下四种形式
单纯执行shell命令,不更改文件
特别的可以运行:!bash
来启动一个bash shell并执行命令,不需要退出vim,可以通过exit
命令退出shell,退出shell后,会像上面图片那样提示Press ENTER or type command to continue
将shell命令结果插入到当前文件
用shell命令处理并替换当前文本
- 形式:
起始行号,结束行号 !command
- 解释:将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换指定范围中的内容
- 例子:
:1,4 !sort
,将1行到4行的内容进行排序
可以只指定起始行,例如:62 !tr [a-z] [A-Z]
,将62行的小写字母转为大写字母
当前光标所在行,除可以指定行号外,也可以用.
表示,例如:. !tr [a-z] [A-Z]
,将当前行的小写转为大写
用shell命令处理当前文本,将结果写入外部文件,不替换
- 形式:
:起始行号,结束行号 w !command
- 解释:将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容
- 例子:
:1,4 w !sort
,将1行到4行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域
特殊的可以下面这么用
:. w !bash
,将会把当前行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容。例如当前行内容为ls -l
,那么输入:52 w !bash
就跟执行!ls -l
是一样的效果,如果你用的shell是bash shell
参考链接
https://www.cnblogs.com/wuchanming/p/4507428.html