我想删除gvim中窗口文件中的空行(不是来自cygwin的vim)。
:g/^$/d # delete all blank lines correctly
:%s/^$//g #can not delete all blank lines
这是一个问题,如何表达一行的末尾,
我检查了我的文件中详细命令%!xxd
,
我发现有一个0D0A在每行的末尾,
当行尾由特殊字符$
,
表示时是否包含0d0a?
它与命令g和s之间的表达the end of line
的概念是不同的。
:%s/^$\n//g #delete all blank lines correctly
这让我感到困惑的是^$
将包含特殊字符\r\n
与否,s
命令也许^$
不包含3个特殊字符\r\n
,但^$
在g
命令来完成,包含3个特殊字符\r\n
。 哪个位置做特殊字符$
指向?在\r\n
之后或在\r\n
之前。
为什么':%s/^ $ \ n // g'使tasd成功完成? –
@it_is_a_literature,因为'\ n'是一个被替换的匹配字符。谷歌“零宽度断言”。 –
原因:%s/^ $ \ r \ n // g无法运行? –