菜鸟笔记
提升您的技术认知

Vim 如何删除或替换空行空格

Vim 是一款强大的编辑器,是vi的增强版,在编辑器界是神器一样的存在!

Vim 日常实用中我们经常会用到需要删除空行或替换空格的操作,那么在Vim中如何通过命令快速实现呢?

仔细看下面命令:

一行文本内容按空格分成多行

:%s/ +/\r/g

命令解释:

%s :在整个文件范围查找替换

/ :分隔符

+ :匹配空格,其中“ ”表示空格,+表示重复1次或多次,加在一起表示一个或多个空格。

/r :换行符

/g :全局替换

删除文件中的所有空行

:g/^s*$/d

命令解释:

g :全区命令

/ :分隔符

^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾。连起来就是匹配只有空字符的行,也就是空行。

/d :删除该行

删除行尾空格

:%s= *$==

命令解释:

该命令全局查找文本文件的行尾空格并删除。

解释:

%s全局查找替换

=为%s命令的分隔符,如果把=换为/,则该命令可以写为:%s/ *$//

” *$”, $表示行尾,*匹配前面0个到n个字符,*前面是空格,因此此正则表达式匹配行尾的0个到n个字符。

==,分隔符没有中间没有内容,表示删除匹配空格, 在这里表示删除行尾空格。