Vimdiff:Como colocar todas as alterações dentro de uma função específica de um arquivo para outro?
Pergunta
Em Vimdiff, eu sei que eu posso usar o "fazer" ou "dp" para mover alterações a partir de um arquivo para o outro...mas estes são para mudanças individuais.Se eu tiver que desfazer todas as alterações dentro de um escopo específico/seleção (diga-se de desfazer todas as alterações para uma determinada função, mas deixe o resto intocado), há uma maneira de fazê-lo em uma viagem ?
Solução
Você pode usar um visual a seleção e o ex-comando :diffget
/:diffput
Assim, por exemplo, para obter as mudanças para a atual interior de um bloco de código ( { ...} )
Vi}:diffget<Enter>
Para coloque as alterações para os dois colocando os níveis, incluindo as linhas com os parênteses:
V2a}:diffput<Enter>
Note que uma vez que estes são comandos ex os movimentos são linewise.Claro, você pode usar qualquer intervalo, então você pode repetir o alcance visual, ou uso de marcadores
:'a,'bdiffput
etc.Use a sua imaginação, este é o vim :)