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.