Vim/Vi 编辑器,删除总结

在linux服务器,无法避免和vi编辑打交道,在命令行模式下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vim/Vi有快捷的命令可以删除多行、范围。

删除行

在Vim/Vi中删除一行的命令是dd。

以下是删除行的步骤说明:

1、按Esc键进入正常模式。

2、将光标放在要删除的行上。

3、键入dd并按Enter键以删除该行。

注:多次按dd将删除多行。

删除多行

在Vim/Vi中一次删除多行,请在dd命令前添加要删除的行数,例如,要删除五行,请执行以下操作:

1、按Esc键进入正常模式。

2、将光标放在要删除的第一行上。

3、键入5dd并按Enter键以删除接下来的五行。

删除行范围

删除一系列行的语法如下:

:[start],[end]d

例如,要删除从3到5的行,您可以执行以下操作:

1、按Esc键进入正常模式。

2、输入:3,5d,然后按Enter键以删除行。

其他范围符

范围符标识

功能

.(点)

当前行

$

最后一行

%

所有行

功能演示:

  1. 删除光标所在当前行至文件末尾。

:.,$d
  1. 删除光标所在当前行至文件开头。

:.,1d
  1. 删除从第十行到文件末尾。

:10,$d

删除所有行

要删除所有行,您可以使用代表所有行的%符号或1,$范围:

1、按Esc键进入正常模式。

2、键入%d,然后按Enter键以删除所有行。

删除模糊匹配

在Vim/Vi中,基于模糊匹配删除多行的语法如下:

:g//d

细节讲解:全局命令(g)告诉删除命令(d)删除所有包含的行。

功能演示

  1. 删除所有包含字符串“foo”的行

:g/foo/d
  1. 删除所有不包含字符串“foo”的行

:g!/foo/d
  1. Bash脚本中删除所有注释,模式^#表示每行以#开头

:g/^#/d
  1. 删除所有空白行,模式^$匹配所有空行

:g/^$/d
  1. 删除所有空白行,与前面的命令差异在于:此命令还将删除具有零个或多个空格字符(\s*)的空白行

:g/^\s*$/d

你可能感兴趣的:(linux系统学习笔记,Linux,指令学习,Vi)