本文介绍如何在Vim/Vi中删除行,操作系统为Linux。Vim或其早期版本Vi预装在大多数Linux发行版和macOS中,如果您是系统管理员或只是普通的Linux用户,了解Vim的基础很重要,通常,在处理文本文件时,您需要删除一行或多行。

删除行

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

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

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

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

3、键入dd并按E​​nter键以删除该行。

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

删除多行

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

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

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

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

删除行范围

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

:[start],[end]d

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

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

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

您还可以使用以下字符来指定范围:

.(点)-当前行。

$-最后一行。

%-所有行。

这里有一些例子:

:.,$d-从当前行到文件末尾。

:.,1d-从当前行到文件开头。

10,$d-从第十行到文件末尾。

删除所有行

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

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

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

删除包含模式的行

基于特定模式删除多行的语法如下:

:g//d

全局命令(g)告诉删除命令(d)删除所有包含的行。

要匹配与模式不匹配的行,请在模式之前添加感叹号(!):

:g!//d

模式可以是文字匹配或正则表达式,以下是一些示例:

:g/foo/d-删除所有包含字符串“foo”的行,它还会删除“foo”嵌入较大字词(例如“football”)的行。

:g!/foo/d-删除所有不包含字符串“foo”的行。

:g/^#/d-从Bash脚本中删除所有注释,模式^#表示每行以#开头。

:g/^$/d-删除所有空白行,模式^$匹配所有空行。

:g/^\s*$/d-删除所有空白行,与前面的命令不同,这还将删除具有零个或多个空格字符(\s*)的空白行。

相关主题

linux vi 删除行命令,在Vim/Vi中删除行、多行、行范围、所有行及包含模式的行相关推荐

  1. linux编辑文件命令 vi_Linux的vi编辑器

    基本上vi可以分为三种状态,分别是命令模式.插入模式和底行模式. 1.命令模式 用户刚刚启动 vi/vim,便进入了命令模式.此状态下敲击键盘动作会被Vim识别为命令,而非输入字符.比如我们此时按下i ...

  2. 树莓派-Linux常用终端命令nano和vi编辑器的使用(3)

    原文地址: 每天会分钟带你学会树莓派--基础篇09Linux系统操作命令和编辑器的使用_哔哩哔哩_bilibili 一.nano编辑器 终端窗口使用nano nano file #使用nano编辑文件 ...

  3. linux连接redis 命令_在Docker中使用Redis

    1. 简介 本文章将介绍如何使用 Docker 探索 Redis.我们可以在 Docker for Windows .Docker for mac 或者 Linux 模式下运行 Docker 命令. ...

  4. Linux新手训练营--命令大全(持续更新中)

    1. authconfig --passalgo=sha256 --update authconfig --test |grep hashing 查询当前密码加密算法 更改加密类型为更难破解的sha5 ...

  5. 对linux的mv命令设计测试用例,测试用例中的细节 - 八音弦的个人空间 - OSCHINA - 中文开源技术交流社区...

    编写测试用例是在实际测试执行开始之前进行的软件测试活动的重要组成部分.因此,在编写测试用例时必须头脑清晰地理解需求.测试执行阶段的顺利程度主要取决于测试用例的编写质量,还取决于对需求的理解程度.理论上 ...

  6. linux下ftp命令输出日志,ftp中/var/log/xferlog日志解析及ftp常用命令常用

    在vsftpd.conf中有如下内容定义了日志的记录方式: ##表明FTP服务器记录上传下载的情况 xferlog_enable=YES ##表明将记录的上传下载情况写在xferlog_file所指定 ...

  7. Linux下gedit命令及vim的基本操作

    1.gedit命令:图像的文本编辑器 gedit必须在开启图像后使用 (1)gedit #直接编辑文件,文件可以不存在 (2)gedit file #建立和编辑文件 2.vim命令:文本编辑器 (1) ...

  8. golang linux清屏命令,如何清除Go中的终端屏幕?

    小编典典 注意: 运行命令以清除屏幕不是安全的方法.在这里也检查其他答案. 您必须为每个不同的OS定义一个清晰的方法,像这样.当用户的操作系统不受支持时,它会慌乱 package main impor ...

  9. linux下通过命令进入docker容器中的mysql

    1.进入项目目录,执行命令: xxx这里我用的是容器ID.也可以使用mysql名称.可以使用docker ps查看: docker exec -it xxx bash 2.执行命令 : mysql - ...

最新文章

  1. linux c编程之fcntl
  2. 31、如何安装第三方模块?以及用过哪些第三方模块?
  3. Java ServletContextListener监听器的使用
  4. 第一个Android项目
  5. SocketLog-微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中
  6. gradle构建多模块项目_Gradle入门:创建多项目构建
  7. 【渝粤题库】陕西师范大学202871 婚姻家庭法作业
  8. 快餐店之间插入仓库,路最短,DP,POJ(1485)
  9. 谷歌pay服务端文档_Google pay 服务器验证
  10. 09年让你笑到肚疼的签名
  11. matlab圆孔孔壁应力集中,具有功能梯度加强环的有限尺寸开孔板应力集中问题
  12. java 按 大写字母_用大写字母拆分字符串
  13. 什么是等保(信息安全等级保护)?
  14. Redis原理浅析(一):Redis基本数据类型、事务以及排序
  15. 程序设计入门——C语言笔记(第4周-第5周)
  16. 详解Pod和容器资源管理和分配(CPU和内存分配,临时存储管理)
  17. 【每日新闻】工信部部长苗圩:软件是新一代信息技术的灵魂
  18. 【原创】公司自研缓存系统UPU的总结
  19. 如何准确查询网易邮箱和微软邮箱的注册时间
  20. 软件狂人精心筛选的正版破解软件下载站大全

热门文章

  1. https://www.atlassian.com
  2. CEX的梅克尔树储备证明是什么?
  3. linux7删除lv后文件系统异常,使用c-spoc删除lv后出现怪异异常!(已解决)
  4. 北大青鸟 JQuery 制作特效 第一章 课后简答题
  5. C#--Link to sql语法大全
  6. 巨人10Q4财报:营收3.6亿元环比增8.7%
  7. HTTP 传输编码增大了传输量,只为解决这一个问题 | 实用 HTTP
  8. UltraISO制作大于4G文件的光盘映像可启动U盘
  9. 非线性控制1.2——LaSalle不变集原理
  10. 13款用于拍摄全景照片的iOS应用