De documentos do vim sobre padrões :
\r matches <CR>
\n matches an end-of-line - When matching in a string instead of buffer text a literal newline character is matched.
Fonte: link
No vim, quando abri um arquivo, queria adicionar duas linhas vazias no final de cada linha atual. Eu usei a seguinte opção:
%s/$/\n\n/
Aparentemente, isso não funciona, mas o que funciona é:
%s/$/\r\r/
Eu pensei que é um recurso do Windows? Alguém seria capaz de explicar um pouco mais.
De documentos do vim sobre padrões :
\r matches <CR>
\n matches an end-of-line - When matching in a string instead of buffer text a literal newline character is matched.
Fonte: link
Como @MartinvonWittich declarou que você deseja usar \r
. Você também pode usar a combinação de teclado:
Ctrl + v + M que normalmente é exibido como ^M
quando digitado.
%s/$/^M^M/
Veja algumas informações adicionais úteis sobre vim
em relação a pesquisar e substituir:
.
, *
, \, [
, ]
, ^
e $
são metacaracteres. +
, ?
, |, {
, }
, (
e )
devem ter escape para usar sua função especial. \/
é /
(use barra invertida + barra para procurar barra) \t
é a guia, \s
é espaço em branco \n
é nova linha, \r
é CR (retorno de carro = Ctrl-M = ^ M) \{#\}
é usado para repetição. /foo.\{2\}
irá corresponder foo e os dois caracteres seguintes. O \
não é necessário no fechamento} então /foo.\{2}
fará a mesma coisa. \(foo\)
faz referência a foo. Parênteses sem escapes são literalmente combinados. Aqui, o \
é necessário para o fechamento de \
). \r
é nova linha, \n
é um byte nulo (0x00). \&
é o "e" comercial (& é o texto que corresponde ao padrão de pesquisa).
insere o texto da primeira referência anterior.
insere a segunda referência anterior e assim por diante.