Vim 逃逸反斜杠膏
我在vim中有以下文本:Vim 逃逸反斜杠膏,vim,escaping,backslash,Vim,Escaping,Backslash,我在vim中有以下文本: Hello, \/Good\/Bye. 现在我想将其更改为: Hello, -Good-Bye. 所以我用:视觉选择,拉线。然后 %s/<Ctrl+R>+"/-/gc %s/+“/-/gc 当我按下CTRL+R+“时,行克隆到搜索中,但是\/将不起作用。我需要将其更改为\\/。是否有一个快速功能或按键来自动转义字符?请让我知道。谢谢大家! 正如phd在评论中所写,您可以使用\V和escape()来执行此操作。例如,编写以下函数: function!
Hello, \/Good\/Bye.
现在我想将其更改为:
Hello, -Good-Bye.
所以我用:视觉选择,拉线。然后
%s/<Ctrl+R>+"/-/gc
%s/+“/-/gc
当我按下
CTRL+R+“
时,行克隆到搜索中,但是\/
将不起作用。我需要将其更改为\\/
。是否有一个快速功能或按键来自动转义字符?请让我知道。谢谢大家! 正如phd在评论中所写,您可以使用\V
和escape()
来执行此操作。例如,编写以下函数:
function! Regesc(text)
return '\V' . escape(a:text, '/\')
endf
然后在拖动一些文本后,按如下方式使用:
:%s/
Ctrl+R=Regesc(@)
CR/-/gc
CR
这将显示并运行以下命令,具体取决于您拖动的内容:
:%s/\VHello,\\\/再见。/-/gc
您可以在视觉选择后使用另一个分隔符
:'<,'>s,\%V\\/\%V,-,gc
\\ ......... scaped backslash
\%V ........ visual selection area
:'禁用所有魔法。转义元字符。