为什么\ ra为Vim换行?

从问题如何在Vim中替换换行符? 在替换换行符的文本时,必须使用 r,就像这样

:%s/%/r/g

但是当替换一个角色的换行符和换行符时,可以这样做:

:%s/n/%/g 

手册的哪一部分记录了这些行为,以及他们背后的原因是什么?


从vim文档模式:

r匹配<CR>

n匹配行尾 - 匹配字符串而不是缓冲区文本时,会匹配文字换行符。


来自http://vim.wikia.com/wiki/Search_and_replace:

搜索时

...

n是换行符, rCR (回车= Ctrl-M = ^M

替换时

...

r是换行符, n是空字节( 0x00 )。


对此的另一个方面是 ,传统上为NULL,在s///中表示“整个匹配模式”。 (顺便说一下,它与&是多余的,并且比& )。

  • 所以你不能使用来表示NULL ,所以你使用n
  • 所以你不能用n来表示n ,所以你用r
  • 所以你不能使用r来表示r ,但我不知道谁想要添加那个char。
  • -☈

    链接地址: http://www.djcxy.com/p/8673.html

    上一篇: Why is \r a newline for Vim?

    下一篇: git log to return only the commits made to the master branch?