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

Linux运维必备技能:如何在 Vim 中删除多行?我们都会犯错,犯错是人之常情,改进它也很重要。如果你在Vim中出错,你可以dw在普通模式下使用删除一个单词。您键入dd它会删除当前行。如果要在Vim中删除多行,可以使用相同的ddVim命令,将行数添加到该命令中。因此,10dd将从光标底部删除10行(包括光标所在的行)。让我们详细了解如何在以效率着称的编辑器中删除一行或多行。删除单行以下是在Vim中删除单行文本的步骤:按Escape(Esc)键进入Normal模式确保光标位于要删除的行上。快速按下dd这

大家好,又见面了,我是你们的朋友全栈君。

我们都会犯错,犯错是人之常情,改进它也很重要。

如果你在 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 中的删除命令

此外,以下是用于指定范围的字符(用于“开始”和“结束”):

  • .(当前行)
  • $(文件中的最后一行)
  • %(所有行)

为了从几个例子中学习,让我们来看看它们。

  • :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 中删除多行?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150196.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • phpmyadmin安装教程及配置设置

    phpmyadmin安装教程及配置设置.一般网上下载到的phpmyadmin是一个压缩包,我们将其释放到htdocs目录中,例如htdocs\phpmyadmin。  2.打开phpmyadmin目录,在此目录下是否有config.sample.inc.php文件,如果存在,那么将其改名为config.inc.php。(根据版本不同,有可能直接就有config.inc.php文件,那就无需改名,也有可能根本就没有config.

    2022年6月1日
    24
  • js数组添加json数据[通俗易懂]

    js数组添加json数据[通俗易懂]//第一种方式personInfo :[],for(vari=0;i<_STAGE.passengerInfoArray.length;i++){ varname=_STAGE.passengerInfoArray[i]; varperson={v:name,text:name}; this.personInfo.push(per…

    2022年5月1日
    65
  • SQL2008数据库安装教程_sql server安装完找不到

    SQL2008数据库安装教程_sql server安装完找不到很多初学者在开始安装AdventureWorks2008时,虽然成功安装了,但是却发现其他的数据库都有,就偏偏没有AdventureWorks2008,就如下图所示: 最近很多人问这个问题的解决办法,所以还是有必要写这篇文章的。其实解决的办法很简单:依次【开始菜单】à【MicrosoftSQLServer200n】à【配置工具】à【SQLServer配置管理器】,打开如下图所示: 然后选择【SQLSERVER(MSSQLSERVER)】,右键选择属性,如下图所示,勾选前

    2022年9月12日
    0
  • 2013年: 全力推进 Cell,Tea 与 Halo

    2013年: 全力推进 Cell,Tea 与 Halo

    2021年8月21日
    60
  • Spring Boot 系列:处理跨域请求

    一、何为跨域前端请求于后端处理符合三个要求(同一域名,同一端口,同一协议)下,即可访问,有一个不符合就会出现跨域问题。1.1一次正常的请求Controller层代码:@RequestMapping("/demo")@RestControllerpublicclassCorsTestController{@GetMapping("/sayHello&

    2022年4月4日
    41
  • Nutch使用汇总

    Nutch使用汇总网上有好多的 Nutch 使用的文章 但其实只是几篇文章翻来覆去的拷贝而已 1 Nutch 初体验很经典 讲了 nutch 与 lucene 以及其他一些爬虫的比较 和建立一个抓取企业内部网 Intranetcraw 实例 但是可能是版本的问题 其中少了关键的一步 2 Tutorial 0 8 x nbsp 这里是官方的那个文档 补全了少的那一步 否则出现后果为 Fetcher se

    2025年6月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号