Wenn ich Dateien vergleiche und ein Quellcode-Repository aktualisiere, verwende ich gerne vimdiff. Um Änderungen von einer Datei in die andere zu kopieren, verwende ich normalerweise eine Tastenfolge wie die folgende:
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, der die Tastaturkürzel beherrscht, dürfte es sicherlich einfacher haben, diese gleiche Aufgabe zu erledigen. Ist dort eines? Was verwenden Sie, um Quellcodeänderungen manuell zu aktualisieren?
Antworten:
do
(diff get) unddp
(diff put) ist was Sie brauchen. Hier ist eine kleine Liste weiterer hilfreicher Normalmodus-Befehle in diesem Zusammenhang.HINWEIS:
Beide
do
unddp
funktionieren, wenn Sie sich im normalen Modus in einem Block oder nur in einer Zeile unter einem Block befinden, jedoch nicht im visuellen Modus. Wenn Sie Textzeilen im visuellen Modus auswählen, müssen Sie die normalen Befehle verwenden:'<,'>diffget
und:'<,'>diffput
.Siehe auch
:h copy-diffs
.:diffupdate
Durchsucht die Dateien erneut nach Änderungen.quelle
:[range]diffget
und:[range]diffput
benötigt werden.diffget
und verwendendiffput
: ① Rufen Sie den visuellen Modus auf und markieren Sie Text / Linien. ② Geben Sie dann ein:diffput
, um die ausgewählten Zeilen in die andere Datei zu verschieben oder:diffget
die ausgewählten Zeilen aus der anderen Datei abzurufen.dp
anderen Puffer verwenden und Ihre Meinung ändern, müssen Sie zum Rückgängigmachen in den anderen Puffer wechseln.V
um die ganze Zeile auszuwählen,do
funktioniert dann das Kopieren über eine bestimmte Zeile in der aktuellen Version (8.0), ganz gleich, was es wert ist.