Wie kann man in Vim mehrere Zeilen in verschiedenen Bereichen ziehen oder löschen?


0

Ich habe einige Fragen zum Ruckeln und Löschen einer Reihe von Zeilen in Vim gesehen, z. B. von Zeile 5 bis Zeile 10.

Ich habe jedoch (in der Dokumentation und beim Googeln) nicht herausgefunden, wie man in einem einzigen Befehl, z. B. den Zeilen 3, 5, 10 und 12, ruckelt / löscht.

Ist das möglich?


Antworten:


2

Das ist möglich, aber nicht einfach. Vim unterstützt nicht mehrere Bereiche oder mehrere nicht benachbarte Zeilennummern. Sehen

:help 10.3
:help :range

Sie können jedoch die Zeilen angeben, die im Muster eines :gBefehls gezogen werden sollen, indem Sie das Zeilennummernatom verwenden. Sehen

:help :g
:help /\%l

Im Fall Ihres Beispiels würde das Folgende diese Zeilen in das aRegister ziehen.

:g/\%3l\|\%5l\|\%10l\|\%12l/y A

2
Damit dies wie beabsichtigt funktioniert, muss das 'a'-Register leer sein. Eine einfache Möglichkeit, dies zu tun, besteht darin, ein leeres Makro aufzuzeichnen, indem Sie qaqim normalen Modus auf drücken .
Ben
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.