如何在 Vi 和 Vim 中删除一行或多行

直接从 Linux 终端编辑文本文件可能很困难,尤其是当您使用像 Vi 或 Vim 这样的复杂文本编辑器时。 初学者很难将他们的头脑围绕在命令行文本编辑器上,并且经常发现很难记住用于执行基本操作的键绑定。

甚至删除 Vi 和 Vim 中的行对新手来说也是一项令人伤脑筋的工作。 但是使用像文本编辑器这样的基本工具并不一定那么难。

下面介绍如何使用 Vi 和 Vim 从文本文件中删除一行或多行。

如何在 Vi/Vim 中删除一行

在 Vi 和 Vim 中删除完整行有比发送垃圾邮件更好的方法 退格 在键盘上。

要在 Vi 或 Vim 中删除一行,请先切换到普通模式。 如果您进入命令模式或插入模式,您可以按 逃脱.

突出显示要删除的行,然后点击 dd 或者 D 在键盘上。 编辑器将自动从文件中删除整行。 注意 Vi 和 Vim 命令是区分大小写的,这意味着 dD 被标识为两个单独的命令。

dd 或者 D 多次将一一删除几行。 删除前一行后,下一行将自动突出显示。

在 Vi 和 Vim 中删除多行

如果您发现重复按键盘上的键不方便,您可以通过调整上述命令一次删除多行。 而不是简单地按下 dd,您可以指定要删除的行数。

为了 example打字 3dd 将从文件中删除接下来的三行。

如果要删除特定范围内的行,则必须先切换到命令模式(按 逃脱 在正常模式下)。 然后,使用以下语法创建您自己的删除命令:

:[start],[end]d

为了 example删除范围一到五之间的行:

:1,5d

您还可以在上述命令中使用通配符。

  1. . (点): 指当前行
  2. $(美元): 表示文件结束
  3. % (百分比): 匹配文件中的所有行

为了 example:

:.,5d #deletes lines between the current line and the fifth line.
:.,$d #removes all lines starting from the current line till the end.
:%d #clears the entire file

垃圾邮件退格? 对不起,我用 Vi/Vim

如果您想成为 Linux 高级用户,那么学习命令行实用程序的来龙去脉是您应该前进的方向。 在 Linux 上,您可以使用各种快捷方式和键绑定来执行需要花费大量时间和精力的任务。

对于那些期待掌握 Vim 的人来说,这是个好消息。 vim 软件包附带 Vimtutor,这是一个免费的命令行导师,可帮助您充分利用 Vim 的真正潜力。