使用vim的^$ 不能替换空行(全角字符问题)

使用vim替换^开头的字符。$代表的时候最后的字符。

那么正常情况下,

可以使用^$来代表你的空行。

也可以使用^\s*$来代表你有空白符的一些空行。

替换的时候如果想删除所有的空行,仅仅使用:%s/^$//g来作替换是不能够替换的。

因为没有把回车符替换掉,这样你可以使用:%s/^$\n//g来替换,有空白符的情况下,可以使用

:%s/^.*$\n//g来替换。

但是还有列外的情况。

今天我正好就遇到了类似情况。文件开头加入了一个全角空格符。

本来以为是空行,使用空行替换不行,后来使用空行加空白字符的替换方式依然不行。

后来使用了:setlist查看特殊字符。同时使用/^进行查询,发现确实是有字符,最后想想感觉可能是全角,使用:%s/^ $\n//进行替换最终匹配成功。

希望你遇到类似问题也能有所帮助。

相关推荐