0

换句话说,就像你可以使用等一样,你:s/x/y/g可以:s|x|y|g使用:s#x#y#g:v\0x\0y\0norm 0

4

2 回答 2

2

不,你不能,因为 ASCII NUL 在 Vim 的 C 代码库中用作分隔符,因此它会截断输入的字符串。

于 2013-09-09T09:15:04.520 回答
0

下面的文本:help E146描述了可能的分隔符:

除了围绕模式和替换字符串的“/”,您可以使用任何其他单字节字符,但不能使用字母数字字符、“\”、“”或“|”。

请注意,<Nul>(显示为^@= CTRL-@)在内部表示为换行符(ASCII 10)(请参阅参考资料),但您可以通过+或+ 、+:help <nul>在命令行中输入它。CtrlV0 0 0CtrlVCtrl@

因此,尽管你可以用分隔符键入替换,但<nul>Vim 会在内部用换行符^J=<NL>字符来表示。

于 2013-09-09T09:11:24.070 回答