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/lbin
to/opt/tools/bin
When 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/lbin
was 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