vim常用操作——vim中执行shell

vim常用操作——vim中执行shell

image-20210401131939144

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

单纯执行shell命令,不更改文件

  • 形式::!command

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

  • 例子::!ls

    image-20210401124639999

特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim,可以通过exit命令退出shell,退出shell后,会像上面图片那样提示Press ENTER or type command to continue

将shell命令结果插入到当前文件

  • 形式: :r !command

  • 解释:将shell命令command的结果插入到当前行的下一行

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

    image-20210401125116137

用shell命令处理并替换当前文本

  • 形式:起始行号,结束行号 !command
  • 解释:将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换指定范围中的内容
  • 例子::1,4 !sort,将1行到4行的内容进行排序

image-20210401125848771

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

用shell命令处理当前文本,将结果写入外部文件,不替换

  • 形式::起始行号,结束行号 w !command
  • 解释:将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容
  • 例子::1,4 w !sort,将1行到4行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域

image-20210401130521723

image-20210401130810808

特殊的可以下面这么用

:. w !bash,将会把当前行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容。例如当前行内容为ls -l,那么输入:52 w !bash就跟执行!ls -l是一样的效果,如果你用的shell是bash shell

参考链接

https://www.cnblogs.com/wuchanming/p/4507428.html

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值