2015-01-27 17 views
33

Ich habe dies:Wie tausche ich zwei Zeilen in vim?

pick 887b66f add 222 Dziewiecsil to flowers new title 
pick dc331cb new name of beginning commit 

Und ich will diese bekommen:

pick dc331cb new name of beginning commit 
pick 887b66f add 222 Dziewiecsil to flowers new title 

Gibt es eine Möglichkeit, dies zu tun in einer schnellen Art und Weise Tastatur-Shortcuts?

+0

Sie könnten einen anderen Editor verwenden, wenn Sie nicht mit vim vertraut sind. Sie können den Editor für Git nur mit 'git config --global core.editor ' oder für viele Dinge auf einmal (einschließlich git) konfigurieren, indem Sie 'export EDITOR = ' in Ihre '.bashrc' einfügen. –

Antwort

57

Um die aktuelle Zeile mit der nächsten Zeile zu vertauschen, geben Sie ddp im Befehlsmodus ein.

+0

was genau soll ich tun? Ich verstehe nicht ... –

+2

Bewegen Sie den Cursor auf die erste Zeile und geben Sie 'ddp' ein. Wenn Sie sich noch nicht im Befehlsmodus befinden, drücken Sie Esc, um in den Befehlsmodus zu gelangen. –

+19

'dd' löscht die aktuelle Zeile nach dem Kopieren in ein" Register ". 'p' kopiert den Inhalt des Registers * in den Puffer * nach der aktuellen Zeile. In ähnlicher Weise können Sie zwei Zeichen mit 'xp' oder zwei Wörter mit' dwwP' austauschen. –

21

dd löscht die aktuelle Zeile, dann können Sie die entfernte Zeile mit einfügen. Es gibt jedoch einen anderen Weg, m zu verwenden. Mit m können Sie Linien bewegen dh

:m 1 wird die aktuelle Zeile nach Zeile 1

:m 0 wird die aktuelle Zeile bewegen nach oben

:m $ bewegen wird die aktuelle Zeile nach unten

bewegen In Setzen Sie den Cursor in die erste Zeile und geben Sie :m $

ein
+1

Danke für die Erklärung für nicht vim "Eingeborene" :-) –

Verwandte Themen