换句话说,就像你可以使用等一样,你:s/x/y/g
可以:s|x|y|g
使用:s#x#y#g
吗:v\0x\0y\0norm 0
?
问问题
443 次
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 回答