在vim模式搜索/替换中需要转义的所有特殊字符?

Fen*_*ang 6 vim

有他们的名单吗?当我想在我的 python 代码中替换{inspect.stack()[0][3]}to时遇到了麻烦{inspect.stack()[0][3]} called from {inspect.stack()[1][3]}。而且我无法从互联网上找到完整列表。

Ing*_*kat 5

:substitute (命令)

要进行字面替换,请指定“very-nomagic” :help /\V(或转义所有特殊搜索字符^$.*[~)和“区分大小写” /\C,并转义源中的:substitute分隔符(通常为/)和任何反斜杠 ( \)。换行符必须从 更改^M\n。综合起来,对于模式:

'\V\C' . substitute(escape(literalPattern, '/\'), "\n", '\\n', 'ge')
Run Code Online (Sandbox Code Playgroud)

在更换,&并且~必须进行转义(除了/\)如果'magic'选项设置。(\V在这里不起作用)。CP。:help sub-replace-special

escape(literalReplacement, '/\' . (&magic ? '&~' : ''))
Run Code Online (Sandbox Code Playgroud)

substitute() (功能)

类似的东西也适用于substitute()&必须总是被转义,因为'magic'总是被设置,并且~不能被转义:

substitute(input, '\V\C' . escape(literalPattern, '\'), escape(literalReplacement, '\&')), 'g')
Run Code Online (Sandbox Code Playgroud)