Por exemplo, se eu quisesse localizar e substituir por strings contendo barras invertidas ou avançadas, como isso seria feito no vim? Obrigado!
Exemplos de Localizar e Substituir são: :%s/foo/bar/g
e se eu quisesse encontrar todas as ocorrências de <dog/>
e substituí-las por<cat\>
vi --help
no meu servidor NÃO fornece uma explicação sobre caracteres especiais de escape ... é por isso que as pessoas vêm para stackoverflow para começar ...:help magic
é algo que você digita no vim. Não é um argumento de linha de comando para o vim.Respostas:
Da mesma maneira que você escapa caracteres em qualquer outro lugar em programas Linuxy, com uma barra invertida:
Mas observe que você pode selecionar um delimitador diferente:
Isso evita que você digite todas aquelas barras invertidas demoradas e confusas em padrões com uma tonelada de barras.
Da documentação :
fonte
s
é considerado o delimitador. Não consigo descobrir onde encontrei uma lista na documentação, mas tenho quase certeza de que pelo menos/:;*%@#
são válidas.Você pode substituir os delimitadores / se eles se tornarem incômodos para certos padrões.
fonte
:
delimitador. Eu não sabia que você poderia usar isso. Eu sempre usei@
em tempos de 'confusão de fuga'Cite-os com uma barra invertida. Além disso, geralmente ajuda usar outro delimitador além da barra.
ou se você tiver que usar barra como o delimitador de comando substituto
fonte
A sintaxe é:
fonte
Eu estava procurando algo semelhante, para pesquisar valores de registro contendo o
/
caractere (para gravar uma macro). A solução foi pesquisar usando o?
token em vez do/
.fonte
?
fará uma pesquisa para trás, e não é o mesmo.barra invertida barra invertida estrela
então, depois que você digita, parece
fonte