分享

vim中执行shell命令小结

 t涂鸦 2012-10-29

VIM编辑器中有3中运行shell的方法:

1、如果想长时间的运行shell命令,则可以在命令模式下输入":sh",则可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中可以用exitctrl+D返回VIM编辑器,继续编辑刚才的任务!

2、如果只想暂时用一下shell,则可以"!command",运行结束后自动回到VIM编辑器中。

3、如果想让shell下的命令运行的结果插入到VIM编辑器中作为文本一部分,则可以"!!command",注意它的结果会替换光标所在当前行!

 

vim中执行shell命令小结

分类: Vim Linux2012-09-24 15:36 211人阅读 评论(0) 收藏 举报

vim中执行shell命令,有以下几种形式

1):!command

不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容

例如

:!ls -l

特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim

2):r !command

shell命令command的结果插入到当前行的下一行

例如

:r !date,读取系统时间并插入到当前行的下一行。

3):起始行号,结束行号 !command

将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换起始行号和结束行号指定的范围中的内容

例如

:62,72 !sort,将62行到72行的内容进行排序

可以只指定起始行,例如:62 !tr [a-z] [A-Z],将62行的小写字母转为大写字母

当前光标所在行,除可以指定行号外,也可以用.表示,例如:. !tr [a-z] [A-Z],将当前行的小写转为大写

4):起始行号,结束行号 w !command

将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容

例如

:62,72 w !sort,将62行到72行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域

特殊的可以下面这么用

:62 w !bash,将会把第62行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容

同样的:. w !bash,将当前行的内容作为bash命令来执行

例如52行内容为ls -l

那么输入:52 w !bash就跟执行!ls -l是一样的效果,如果你用的shellbash shell

如果输入的是:52 !bash,那么会把第52行的内容也就是ls -l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多