Linux运维必备技能(如何在 Vim 中删除多行())

古人已用三冬足,年少今开万卷余。这篇文章主要讲述Linux运维必备技能:如何在 Vim 中删除多行?相关的知识,希望能为你提供帮助。
我们都会犯错,犯错是人之常情,改进它也很重要。
如果你在 Vim 中出错,你可以dw在普通模式下使用删除一个单词。您键入dd它会删除当前行。
如果要在 Vim 中删除多行,可以使用相同的 dd Vim 命令,将行数添加到该命令中。
因此,10dd将从光标底部删除 10 行(包括光标所在的行)。
让我们详细了解如何在以效率着称的编辑器中删除一行或多行。
删除单行以下是在 Vim 中删除单行文本的步骤:

  1. 按 Escape (Esc) 键进入 Normal 模式
  2. 确保光标位于要删除的行上。
  3. 快速按下dd
这将删除光标所在的整行。
Linux运维必备技能(如何在 Vim 中删除多行())

文章图片

正如你在 gif 中看到的,我在第一行,运行dd命令只删除了第一行。
指定要删除的行数在你使用dd命令删除一行之前,你可以在它前面指定一个数字,以便在 Vim 中一次删除几行。
下面是语法:
:[num]dd

当你指定数字代替 时num,Vim 将开始删除行,你可以认为这是 Vim 多次执行dd命令num。
指定要删除的行范围无需指定从当前行到底部要删除多少行,您只需告诉 Vim 它应该从哪一行开始删除,一直到哪一行。
以下是删除一系列行的语法:
:[begin],[end]d

让我们分解一下这个语法......
  • :(冒号)表示它是一个 Vim 命令。
  • begin告诉 Vim 从哪一行开始
  • end告诉 Vim 要删除的最后一行是什么
  • dVim 中的删除命令
此外,以下是用于指定范围的字符(用于“开始”和“结束”):
  • .(当前行)
  • $(文件中的最后一行)
  • %(所有行)
【Linux运维必备技能(如何在 Vim 中删除多行())】为了从几个例子中学习,让我们来看看它们。
  • :10,45d- 从第 10 行删除到第 45 行
  • :.,$d- 从当前行删除到最后一行
  • :.,1d- 从当前行删除到文件开头
  • :dgg- 从当前行删除到文件开头
删除所有行如前所述,该%符号用于指定从文件开头到结尾的范围,基本上是所有行。
这意味着,要删除 Vim 中文件的所有行,您需要使用:%d命令。
Linux运维必备技能(如何在 Vim 中删除多行())

文章图片

删除与特定模式匹配的行除了所有这些 Vim 魔法,你知道你可以删除匹配特定模式的行吗?
:g/PATTERN/d

要执行相反的操作,删除与指定模式不匹配的行,您可以使用下面指定的语法。
:g!/PATTERN/d

分解它,我们得到以下元素:
  • g- 全局搜索(即整个文件)
  • !- 反向匹配
  • PATTERN- 要匹配的模式
  • d- 删除命令
如果您在 Vim 中运行以下命令,它将删除行中所有具有“extern crate”模式的行。
:g/extern\\ crate/d

Linux运维必备技能(如何在 Vim 中删除多行())

文章图片

删除所有空行要删除空行,需要使用正则表达式进行模式匹配。下面是执行删除空行的命令:
:g/^$/d

在正则表达式中,^$模式表示任何以换行符开头的行,本质上是一个空行。
Linux运维必备技能(如何在 Vim 中删除多行())

文章图片


    推荐阅读