Existe alguma alternativa na pesquisa e substituição de strings do vim, do que ter que escapar de todos os caracteres especiais da string.
Por exemplo, se eu quiser combinar a sequência a seguir e substituir por algo
[ERROR] Login unsucessful
Então eu tenho que fazer
:%s/\[ERROR\]\ Login\ unsucessful/something/g
E fica muito mais feio e doloroso para cadeias complexas que contêm muitos caracteres especiais
Eu gostaria de fazer algo como
:%s/"[ERROR] Login unsucessful"/something/g
o que evitaria toda fuga. Existe algum recurso como este?
fonte
/
para/\v
habilitar o "muito mágica" para a maioria das pesquisas, então eu ter mapeado//
para/
começar uma pesquisa sem modificações (útil para passar por modificadores histórico de pesquisa ignorando) e/v/
para/\V
desligar rapidamente toda a magia para pesquisa.Você não precisa escapar de espaços. Então, é isso:
realmente deve ser:
E, é claro, você pode ativar o "modo" muito não-mágico para tornar esses caracteres especiais menos especiais:
Veja
:help /magic
.fonte
Além das bandeiras nomagic mencionadas em outras respostas.
Geralmente, você não precisa ser preciso na sua string de pesquisa
Por exemplo, para combinar
Você poderia usar a expressão
Obviamente, você deve saber que seus dados não conterão outras strings, diferindo do destino pretendido, mas correspondendo à expressão.
fonte