我有一个包含以下内容的文本文件:
elephant
rhino
giraffe
/* animals who live in Africa */
Run Code Online (Sandbox Code Playgroud)
我想#
在每个动物的末尾添加字符。我可以:%s/\n\n/#\r\r/g
在 vim 中做到这一点。但是,起初我尝试过,:%s/\n\n/#\n\n/g
结果是:
elephant#^@^@rhino#^@^@giraffe#^@^@/* animals who live in Africa */
Run Code Online (Sandbox Code Playgroud)
为什么 vim 会这样?\n
在vim中如何理解?
在 vim 替换的替换端,换行符由 表示\r
。因此,尝试:
%s/\n\n/#\r\r/g
Run Code Online (Sandbox Code Playgroud)
生成的文件将如下所示:
elephant#
rhino#
giraffe#
/* animals who live in Africa */
Run Code Online (Sandbox Code Playgroud)
在替换命令的前半部分,\n
是换行符和\r
回车符。相比之下,在命令的替换端,\n
是一个 NUL 字符(十六进制 00)并且\r
是一个换行符。
归档时间: |
|
查看次数: |
409 次 |
最近记录: |