Wie wähle ich visuell den Textblock aus, den ich gerade in Vim eingefügt habe?

13

Normalerweise muss ich Codeausschnitte zwischen meinen Quelldateien verschieben / kopieren. Nachdem ich einen Textblock eingefügt habe, muss ich normalerweise eine Operation auf diesen Block anwenden, z. B. das erneute Einfügen mit =.

Gibt es eine Möglichkeit, den gerade eingefügten Textblock einfach visuell auszuwählen, ohne dies manuell zu tun?

Thameera
quelle

Antworten:

21

Die Markierungen '[und ']begrenzen die erste und letzte Zeile des zuvor geänderten oder gezerrten Texts. Die Entsprechungen `[und `]begrenzen die jeweiligen Zeilen und Spalten.

Damit können Sie den zuletzt geänderten Zeilenblock mit visuell auswählen '[V']und dann den =Befehl anwenden .

Da ein Einfügen den Cursor jedoch in der ersten Zeile des eingefügten Inhalts belässt, können Sie auch einfach eine Bewegung angeben, auf die der =Befehl angewendet werden soll, in diesem Fall auf die ']Marke. Das wäre ='].

Jamessan
quelle
Diese Antwort beschreibt eine Methode, die für alle Arten von visuellen Auswahlen (einschließlich blockweiser visueller Auswahlen) funktioniert
Adam Byrtek,
14

Mit dieser Zuordnung können Sie den gerade eingefügten Text erneut auswählen:

nnoremap gV `[v`]

Aber du hättest [pund ]pstattdessen verwenden sollen.

Sehen :help [p.

romainl
quelle
2
+1 für [pund]p
lisowski.r
3

Vim enthält die folgenden hilfreichen Zuordnungen:

`[

und

`]

Wählt das erste und das letzte Zeichen des zuvor geänderten Texts aus.

Die folgende Tastenfolge (im normalen Modus) wählt den zuletzt eingefügten Text aus:

`[v`]

Für einen schnelleren Zugriff können Sie ein Mapping einrichten, zum Beispiel :

nnoremap gp `[v`]
asfallows
quelle