在VIM中,使用斜杠替换路径,而不使用转义斜杠


10

在vim中,我想/a/b/f/g/d/g/s/g/w/d/g/r文本文件中的另一个替换长路径。我通常使用,\/但是这里有太多的斜线。有没有更简单的方法?

Answers:


29

您可以使用其他字符代替斜杠/作为替换命令的定界符。

使用示例#

:%s#/a/b/f/g/d/g#/s/g/w/d/g/r#

1
非常好,这是迄今为止最好的解决方案。
塞斯

1
这也适用于编辑,sed的,Perl等
deltab

2

也许您可以使用sed

示例1 – sed @分隔符:替换/opt/omni/lbin/opt/tools/bin

当您替换具有的路径名时/,可以将其@用作定界符而不是/。在下面的sed示例中,输入文件的最后一行/opt/omni/lbin更改为/opt/tools/bin

$ sed 's@/opt/omni/lbin@/opt/tools/bin@g' path.txt /usr/kbos/bin:/usr/local/bin:/usr/jbin/:/usr/bin:/usr/sas/bin /usr/local/sbin:/sbin:/bin/:/usr/sbin:/usr/bin:/opt/omni/bin: /opt/tools/bin:/opt/omni/sbin:/root/bin

来自:http : //www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.