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

本文介绍在Vim编辑器中如何灵活运用Shell命令,包括执行命令、插入结果、处理文本及输出到外部文件等操作。适用于提高Vim用户的编辑效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值