从问题 如何更换一个角色对于一个新行在Vim?.你必须使用 当替代案文有一个空行,就像这样

:%s/%/\r/g

但是,当替换端的线和内容的行为的性格,你可以这样做,如:

:%s/\n/%/g 

什么节的手册文件,这些行为,什么理由?

有帮助吗?

解决方案

vim文档模式:

\r 比赛 <CR>

\n 比赛结束线 当匹配在一串而不是的 缓冲文本的文字newline 字是匹配的。

其他提示

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

当搜索

...

\n 是newline, \rCR (carriage return= Ctrl-M = ^M)

当替换

...

\r 是newline, \n 是null byte(0x00).

另一方面是 \0, ,这是传统上空,是采取在 s//\0/ 意思是"整个匹配的模式"。(其中,顺便说一句是多余的,并再比 &).

  • 所以你不能使用 \0 意思 NULL, 所以你使用 \n
  • 所以你不能使用 \n 意思 \n, 所以你使用 \r.
  • 所以你不能使用 \r 意思 \r, 但是我不知道谁会想加入那char上的目的。

—☈

:help NL-used-for-Nul

技术细节:

<Nul> 人物在文件存储为 <NL> 在存储器。在显示 他们都显示为"^@".翻译完成当的阅读和写作 文件。匹配 <Nul> 有一个搜索图案你就可以进入 CTRL-@ 或 "CTRL-V 000".这可能只是你的期望。内部 字被替换为 <NL> 在搜索模式。什么是不寻常的是 那个打字 CTRL-V CTRL-J 还插入一个 <NL>, ,因此也搜索 <Nul> 在该文件。{Vi不能处理 <Nul> 人物在文件在所有}


首先,打开 :h :s 看到"部分4.2替代"文件"改变"。这里是什么样的命令接受:

:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]

注意到该说明中关于 patternstring

{pattern} 看看 |pattern|.
{string} 可以是文字串,或者东西
特别咨商地位;看看 |sub-replace-special|.

所以现在你知道搜索模式和替代模式遵循不同的规则。如果你按照链接到 |pattern|, 它需要你的部分,说明整个regexp使用的模式在Vim。

与此同时, |sub-replace-special| 把你的小节的"4.2替代",其中包含的模式取代,其中之一是 \r 线路断/分裂。

(快捷方式对这一部分的手册 :h :s%)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top