如何理解vim中的\n

如何理解vim中的\n

我有一个包含以下内容的文本文件:

elephant

rhino

giraffe

/* animals who live in Africa */

我想#在每只动物的末尾添加角色。我可以用:%s/\n\n/#\r\r/gvim 来做到这一点。然而,一开始我尝试过:%s/\n\n/#\n\n/g,结果是:

elephant#^@^@rhino#^@^@giraffe#^@^@/* animals who live in Africa */

为什么 vim 会有这样的行为?\n在vim中怎么理解?

答案1

在 vim 替换的替换方面,换行符由 表示\r。因此,尝试:

%s/\n\n/#\r\r/g

生成的文件将如下所示:

elephant#

rhino# 

giraffe#

/* animals who live in Africa */

在替代命令的前半部分,\n是换行符和\r回车符。相比之下,在命令的替换侧,\n是一个 NUL 字符(十六进制 00)并且\r是一个换行符。

相关内容