不看这篇文章,你敢说会vim删除内容?

1,439 阅读2分钟

以下所有环境在Ubuntu20.04环境下

此文章最先发表与我的个人博客,掘金为同步发布,如有需要,可以访问腿短快跑的个人博客获取更多内容

vim安装

sudo apt-get install -y vim

删除单行内容

  • 光标移动至需要删除的行
  • 按下 ESC 键,退出编辑模式
  • 双击 d 键, 即可删除

删除所有的行

共有三种方式:

第一种方式

  • 按下 ESC键,退出编辑模式
  • 双击 g 键盘,让光标移动至文本首行
  • 按下键盘的 d 键, 然后按下键盘的 G 键,内容即可删除 注意: d 键为小写, G 为大写

第二种方式

  • 按下 ESC键,退出编辑模式
  • 按下 :
  • 输入 1,$d 回车,即可删除内容

img

第三种方式

  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 %d 回车即可删除内容 %表示文件中的所有行

img

删除多行

  • 光标移动到需要删除的首行
  • 按下 ESC 键,退出编辑模式
  • 输入需要删除的行数,例如:3
  • 双击 d 键删除对应行数

删除指定范围的行

删除n-m行

  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 n,md (n表示开始行,m表示结束行)
  • 回车即可删除内容

img

删除最后一行

  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 $d 回车,即可删除最后一行

img

删除当前行之前的所有行

  • 光标移动至当前行
  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 1,.-1d, 回车即可删除内容

img

删除当前行之后的所有行

  • 光标移动至当前行
  • 按下 ESc 键,退出编辑模式
  • 按下 :
  • 输入 .+1,$d,回车即可删除内容

img

总结

. 表示当前行,.+1 表示当前行下一行,.-1 表示当前行上一行,同理,可以 +2, -2 等, $d 表示最后一行

通过条件匹配删除

删除包含关键字的行

  • 按下 ESC 键,退出编辑模式
  • 输入 :
  • 输入 g/关键字/d, 回车即可删除内容

img

删除不包含关键字的行

  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 %g!/关键字/d 或者 v/关键字/d, 回车即可删除内容

删除以关键字开头的行

  • 按下 ESC 键,退出编辑模式
  • 按下 :
  • 输入 g/^关键字/d 回车,即可删除内容

删除所有空行

  • 按下 ESC 键,退出编辑模式
  • 输入 :
  • 输入 g/^$/d 回车即可删除内容