Você pode usar outro caractere em vez de barra / como delimitador para o comando de substituição.
Exemplo usando # :
:%s#/a/b/f/g/d/g#/s/g/w/d/g/r#
No vim eu quero substituir um caminho longo /a/b/f/g/d/g por outro /s/g/w/d/g/r em um arquivo de texto. Normalmente eu uso \/ , mas há muitas barras aqui. Existe uma maneira mais fácil?
Talvez você possa usar o sed
Example 1 – sed
@delimiter: Substitute/opt/omni/lbinto/opt/tools/binWhen you substitute a path name which has
/, you can use@as a delimiter instead of/. In the sed example below, in the last line of the input file,/opt/omni/lbinwas changed to/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
De: link
Tags vim vi regular-expression