Existem várias maneiras de fazer isso.
- Selecione o intervalo de linhas no buffer de destino que você deseja obter do buffer de origem e use
:diffget. Por exemplo, você pode selecionar visualmente um intervalo de linhas comVe, em seguida, digitar:diffget. - Selecione o intervalo de linhas no buffer de origem que você deseja colocar no buffer de destino e use
:diffput. Por exemplo, para colocar a linha atual no outro buffer, digite:.diffput. - Use yank e coloque. Selecione o intervalo de linhas no buffer de origem que você deseja copiar no buffer de destino, escolha-as usando
Y, mova o cursor para o buffer de destino e coloque-as onde desejar compouP. exclua as linhas que você não deseja. - Arranque como acima, mas no buffer de destino, selecione visualmente o intervalo de linhas que deseja substituir (não necessariamente o mesmo número de linhas) e digite
"0p. Que usa o registrador 0 (zero), que sempre contém o texto do yank mais recente.
Para "atualizar" a exibição para mostrar o realce adequado, execute :diffupdate ou simplesmente :diffu . Às vezes isso não é suficiente e você precisa mover o cursor para a outra janela para concluir a atualização.
Você pode ler mais sobre como copiar os diffs em
:help copy-diffs