linux vim 删除多行

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷的命令可以删除多行、范围。

删除行

在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/^KaTeX parse error: Expected group after '^' at position 14: /d-删除所有空白行,模式^̲匹配所有空行。

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

相关推荐
南方的狮子先生8 小时前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
Neil今天也要学习13 小时前
永磁同步电机无速度算法--基于三阶LESO的反电动势观测器
算法·1024程序员节
开开心心_Every1 天前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
liu****2 天前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节
草莓熊Lotso2 天前
《算法闯关指南:优选算法--位运算》--38.消失的两个数字
服务器·c++·算法·1024程序员节
unable code3 天前
攻防世界-Misc-can_has_stdio?
网络安全·ctf·misc·1024程序员节
思茂信息3 天前
CST License(Flexnet)设置与问题处理方法
服务器·网络·单片机·3d·php·1024程序员节·cst
2301_797892833 天前
论文阅读:《Hypergraph Motif Representation Learning》
论文阅读·1024程序员节
CoderYanger3 天前
前端基础——CSS练习项目:百度热榜实现
开发语言·前端·css·百度·html·1024程序员节
liu****3 天前
13.POSIX信号量
linux·开发语言·c++·算法·1024程序员节