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

直接从 Linux 终端编辑文本文件可能很困难,尤其是当您使用像 Vi 或 Vim 这样复杂的文本编辑器时。 初学者用户很难用命令行文本编辑器来解决问题,并且经常发现很难记住用于执行基本操作的键绑定。

即使是在 Vi 和 Vim 中删除行对于新手来说也是一件令人伤脑筋的工作。 但是使用像文本编辑器这样的基本工具并没有那么难。

以下是使用 Vi 和 Vim 从文本文件中删除一行或多行的方法。

如何在 Vi/Vim 中删除单行

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

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

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

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

有关的: 如何使用 Vim:基础指南

在 Vi 和 Vim 中删除多行

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

例如,键入 3dd 将从文件中删除接下来的三行。

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

:[start],[end]d

例如,要删除范围 1 和 5 之间的行:

:1,5d

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

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

例如:

:.,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

相关:Vim Linux 命令行编辑器备忘单

垃圾邮件退格? 抱歉,我使用 Vi/Vim

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

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