Unir linhas depois ao padrão de texto no Vim

1

Estou tentando sem sucesso juntar linhas usando um vim

digamos que eu tenha um arquivo de texto com esta aparência:

HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,

Eu quero participar de todas as linhas que começam com o HI. para depois de Olá. para que pareça:

Hello HI
A, b, c, d,
Hello HI
A, b, c, d,
Hello HI
A, b, c,
Hello HI
A, b, c, d,
    
por user3716621 20.04.2017 / 20:15

1 resposta

4
:g/^Hello/m-2|j

Este é o comando que você quer.

  • g é para o comando global

  • ^ Olá é o regex

  • m-2 move a linha atual para 2 linhas acima da sua posição atual; significa trocar a linha atual com a anterior

  • j junta-se à linha atual e à linha acima, inserindo um espaço entre os dois. Use j! para nenhum espaço.

  • | separa os dois ex-comandos

por 20.04.2017 / 21:37

Tags