如何使用 VIM 替换搜索字段中的路径

Omi*_*uin 4 vim regular-expression

我正在尝试在 VIM 中替换此文本

Actual Path /home/omipenguin/Servers\ Information/systemscript.sh/sysinfo.txt
Run Code Online (Sandbox Code Playgroud)

有了这条新路

/home/sysinfo
Run Code Online (Sandbox Code Playgroud)

我试过

%s/\/home\/omipenguin\/Servers\ Information\/systemscript.sh\/sysinfo.txt//home/sysinfo/g
Run Code Online (Sandbox Code Playgroud)

但 VIM 给了我Pattern not Found. 怎么了?

Jos*_* R. 8

正斜杠/用作vim默认模式分隔符:它将模式与您想要进行的替换分开,因此vim误解了路径中的斜杠。您可以指定另一个分隔符,如下所示:

%s!/home/omipenguin/Servers\\ Information/systemscript.sh/sysinfo.txt!/home/sysinfo!g
Run Code Online (Sandbox Code Playgroud)

请注意,由于反斜杠\在正则表达式中的特殊含义,您还需要如何对其进行转义。