Při porovnávání souborů a aktualizaci úložiště zdrojových kódů rád používám vimdiff. Pro kopírování změn provedených z jednoho souboru do druhého obvykle používám sekvenci kláves takto: -
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)
Vim, který je mistrem klávesových zkratek, by měl jistě mít snadnější způsob, jak provést stejný úkol. Existuje? Co používáte k ruční aktualizaci změn zdrojového kódu?
do
(diff získat) a dp
(diff put) je to, co potřebujete. Zde je malý seznam dalších užitečných příkazů normálního režimu v této souvislosti.
]c - advance to the next block with differences
[c - reverse search for the previous block with differences
do (diff obtain) - bring changes from the other file to the current file
dp (diff put) - send changes from the current file to the other file
zo - unfold/unhide text
zc - refold/rehide text
zr - unfold both files completely
zm - fold both files completely
POZNÁMKA:
Obě funkce do
i dp
fungují, pokud se nacházíte v bloku nebo jen na jednom řádku pod blokem v normálním režimu, ale ne ve vizuálním režimu. Při výběru řádků textu ve vizuálním režimu musíte použít normální příkazy
:'<,'>diffget
a:'<,'>diffput
.Viz také :h copy-diffs
.
:diffupdate
znovu provede kontrolu změn souborů.