Curiosamente, \n
no vim para substituição não significa nova linha, mas nula. ASCII nul é ^@
( controle @ ).
Historicamente, vi substitui ^M
( controle M ) pela terminação de linha, que é a nova linha. O vim adicionou uma extensão \r
(como a linguagem C) para significar o mesmo que ^M
, mas os desenvolvedores escolheram fazer \n
mean null quando substituindo texto. Isso é inconsistente com seu uso em pesquisas , que localizam uma nova linha.
Leitura adicional:
- Pesquise e substitua (wiki do Vim)
- vim substitui o caractere por \ n