Ao comparar arquivos e atualizar um repositório de código-fonte, eu gosto de usar o vimdiff. Para copiar as alterações feitas de um arquivo para outro, geralmente uso uma sequência de teclas como esta: -
Shift + V (select line)
k or j; { or }; Up or down arrow keys (select more lines)
y (copy selected lines)
Ctrl + w, left/right arrow (move to other pane)
p (paste lines)
O Vim, sendo o mestre dos atalhos de teclado, certamente deve ter uma maneira mais fácil de executar a mesma tarefa. Existe um? O que você usa para atualizar manualmente as alterações no código-fonte?
Respostas:
do
(diff obtém) edp
(dif coloca) é o que você precisa. Aqui está uma pequena lista de outros comandos úteis do modo normal neste contexto.NOTA:
Ambos funcionam
do
edp
se você estiver em um bloco ou apenas uma linha abaixo de um bloco no modo normal, mas não no modo visual. Ao selecionar linhas de texto no modo visual, você deve usar os comandos normais:'<,'>diffget
e:'<,'>diffput
.Veja também
:h copy-diffs
.:diffupdate
irá verificar novamente os arquivos em busca de alterações.fonte
:[range]diffget
e:[range]diffput
são necessários.diffget
ediffput
: ① Entre no modo visual e marque alguns textos / linhas. Type Digite:diffput
para enviar as linhas selecionadas para o outro arquivo ou:diffget
para obter as linhas selecionadas do outro arquivo.dp
e mudar de idéia, precisará mudar para o outro buffer para desfazer.V
para selecionar a linha inteira e, em seguida,do
trabalha para copiar sobre uma linha específica no vim atual (8.0), para o que valer a pena.