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个字符。
==,分隔符没有中间没有内容,表示删除匹配空格, 在这里表示删除行尾空格。