我在vim中有以下文字:
Hello, \/Good\/Bye.
现在我想将其更改为:
Hello, -Good-Bye.
所以我使用:Visual Select,Yank the Line。然后
%s/<Ctrl+R>+"/-/gc
当我将CTRL+R+"
行克隆到搜索中时,但\/
将不起作用。我需要将其更改为\\/
。是否有快速功能或按键自动逃避字符?请告诉我。谢谢!
答案 0 :(得分:0)
正如phd在评论中所写,您可以使用\V
和escape()
来做到这一点。例如,编写以下函数:
function! Regesc(text)
return '\V' . escape(a:text, '/\')
endf
然后在拉一些文本之后,像这样使用它:
:%s/
Ctrl + R =Regesc(@@)
CR /-/gc
CR
这将显示并运行以下命令,具体取决于您要删除的内容:
:%s/\VHello, \\\/Good\\\/Bye./-/gc
答案 1 :(得分:0)
视觉选择后,您可以使用另一个定界符
:'<,'>s,\%V\\/\%V,-,gc
\\ ......... scaped backslash
\%V ........ visual selection area
因此您必须将模式\\/
放在视觉分隔符内