Was ist der Befehl (oder die Verknüpfung), um eine Zeile in vim nach oben oder unten zu verschieben? Mein aktueller Arbeitsablauf besteht darin, die Zeile zu ziehen (zu kopieren) und dann diese Zeile zu löschen und dann diese Zeile einzufügen (einzufügen).
47
ddkP
, nach unten zu bewegen ist einfacher:ddp
.Antworten:
Erstens müssen Sie nicht ziehen und löschen; Letzteres wird auch die gelöschten Inhalte in das (standardmäßige oder angegebene) Register stellen. Daher sind
ddp
/ddkP
übliche Befehle, um eine Zeile nach unten / oben zu verschieben.Alternativ können Sie den
:move
Befehl verwenden, dh:move +1
/:move -2
; Dadurch wird das Register nicht überlastet, und Sie können auch ganze Bereiche verschieben. Sie können einfach Tastenzuordnungen definieren, um dies zu verkürzen.Wenn Sie nichts dagegen haben, Plugins (und den zusätzlichen Komfort, der oft damit verbunden ist), bieten sowohl das unbeeinträchtigte Plugin von Tim Pope als auch mein LineJuggler-Plugin
]e
/[e
Zuordnungen zum Verschieben von Linien (und einige weitere) Linien)).quelle
Das einfachste ist:
:m+
oder:m-2
was ist die Abkürzung für,:move
wie Ingo vorgeschlagen hat.Oder verwenden Sie den visuellen Modus ( V), indem Sie die Linie ( d/ x) ausschneiden und dann einfügen ( p- unter dem Cursor, Püber dem Cursor), nachdem Sie den Cursor vor dem Einfügen an die richtige Stelle bewegt haben (zusammengefasst ist dies Vxp/ Vdp).
Wenn Sie im visuellen Modus mehrere Zeilen verschieben, müssen Sie
:m '>+1
(um eine Zeile nach unten zu verschieben) oder:m '<-2
(um eine Zeile nach oben zu verschieben) verwenden.Hier ist ein Beispiel für eine nützliche Zuordnung ( Shift+ ↑/ Shift+↓):
Dies ähnelt Sublime Text ( Win / OSX ).
Hier einige Vorschläge von vim wikia :
Siehe auch:
quelle
Wenn ich eine Zeile mit der obigen Zeile tauschen möchte, gehe ich normalerweise folgendermaßen vor
Erläuterung
quelle
ddp
FWIW, hier ist, was ich seit Jahren verwendet habe. Es verschiebt die aktuelle Zeile im normalen Modus nach oben und unten oder die Auswahl im visuellen Modus, während der Einzug automatisch angepasst wird.
quelle