换句话说,正如您可以同时使用:s/x/y/g
和:s|x|y|g
以及:s#x#y#g
一样,您可以使用:v\0x\0y\0norm 0
吗?
答案 0 :(得分:2)
不,你不能,因为ASCII NUL在Vim的C代码库中作为分隔符,所以它会截断输入的字符串。
答案 1 :(得分:0)
:help E146
下的文字描述了可能的分隔符:
而不是' /'包围模式和替换字符串,你 可以使用任何其他单字节字符,但不能使用字母数字字符, ' \','"'或' |'。
请注意,<Nul>
(显示为^@
= CTRL- @)在内部表示为换行符(ASCII 10)(请参阅:help <nul>
),但您可以通过 Ctrl + V , 0 0 0 或 Ctrl + V , Ctrl + @ 。
因此,虽然您可以使用<nul>
分隔符字符键入替换,但Vim会在内部使用换行符^J
= <NL>
字符来表示。