在替换换行符时必须使用\r,如下所示
:%s/%/\r/g
但是,当替换字符的行尾和换行符时,可以这样做:
:%s/\n/%/g
手册中的哪一部分记录了这些行为,以及它们背后的原因是什么?
发布于 2018-06-11 08:26:49
从VIM模式文档:
\r
火柴<CR>\n
匹配行尾-当匹配字符串而不是缓冲区文本时,将匹配文字换行符。
发布于 2018-06-11 08:41:44
:help NL-used-for-Nul 技术细节: <Nul>文件中的字符存储<NL>在内存中。在显示器中显示为“ ^@”。翻译是在读写文件时完成的。要匹配<Nul>搜索模式,只需输入CTRL- @或“ CTRL-V 000”即可。这可能就是你所期望的。在内部,字符被<NL>搜索模式中的a替换。不寻常的是,键入CTRL-V CTRL-J也会插入一个<NL>,从而<Nul> 在文件中搜索一个。{Vi根本无法处理<Nul>文件中的字符}
https://stackoverflow.com/questions/-100008642
复制相似问题