![在VIM中,用斜杠替换路径而不使用转义斜杠](https://linux22.com/image/58552/%E5%9C%A8VIM%E4%B8%AD%EF%BC%8C%E7%94%A8%E6%96%9C%E6%9D%A0%E6%9B%BF%E6%8D%A2%E8%B7%AF%E5%BE%84%E8%80%8C%E4%B8%8D%E4%BD%BF%E7%94%A8%E8%BD%AC%E4%B9%89%E6%96%9C%E6%9D%A0.png)
在 vim 中,我想用文本文件中的/a/b/f/g/d/g
另一个长路径替换长路径。/s/g/w/d/g/r
通常我会使用\/
,但这里斜杠太多了。有更容易的方法吗?
答案1
您可以使用其他字符代替斜线/
作为替换命令的分隔符。
使用示例#
:
:%s#/a/b/f/g/d/g#/s/g/w/d/g/r#
答案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/