Junção de linhas com Vim

Last updated 7 months ago

Fonte: dicas-l da unicamp Colaboração: Rubens Queiroz de Almeida

Recentemente precisei combinar, em um arquivo, duas linhas consecutivas. O arquivo original continha linhas como:

Matrícula: 123456
Senha: yatVind7kned
Matrícula: 123456
Senha: invanBabnit3

E assim por diante. Eu precisava converter este arquivo para algo como:

Matrícula: 123456 - Senha: yatVind7kned
Matrícula: 123456 - Senha: invanBabnit3

Para isto, basta executar o comando:

:g/^Matrícula/s/\n/ - /

Explicando:

s/isto/aquilo/g .. substitui isto por aquilo
g ................ comando global
/................. inicia padrão de busca
^ ................ indica começo de linha
Matrícula ........ palavra a ser buscada
s ................ inicia substituição
/\n/ - / ......... troca quebra de linha `\n`, por `-`