Auswählen eines Zeilenbereichs über die Befehlszeile


8

Ich muss (visuell) einen Zeilenbereich aus der Befehlszeile auswählen.

Der folgende Befehl :?^\s*for?+,/^\s*end/- pdruckt beispielsweise alle Zeilen zwischen a forund end(exklusiver Weg). Anstatt den Druckvorgang durchzuführen, möchte ich mit hervorgehobenen Zeilen in den visuellen Modus wechseln. Ich habe im Handbuch gesucht, aber einen solchen Ex-Befehl nicht gefunden.


Meinst du "exklusiv"?
Rich

Du hast recht! Ich habe die Frage bearbeitet
nicmus

Antworten:


7

Die Grenzen einer visuellen Modusauswahl werden durch die Markierungen <und definiert >.

Daher wechselt der folgende Befehl in den visuellen Modus, wobei die Zeilen 5 bis 10 (einschließlich) ausgewählt sind:

 :5mark < | 10mark > | normal gvV
  • :5mark < setzt den Beginn der Auswahl auf Zeile 5,
  • :10mark > setzt das Ende der Auswahl auf Zeile 10,
  • gv wechselt in den visuellen Modus mit dem oben definierten Bereich,
  • V trifft die Auswahl zeilenweise.

Sie können einen beliebigen Vim-Bereich an den :markBefehl übergeben: Folgendes wechselt mit den regulären Ausdrücken in den visuellen Modus foound bardefiniert die Grenzen des Auswahlbereichs:

:execute search("foo") . "mark <" | execute search("bar") . "mark >" | normal gvV

Der folgende Befehl ist eine einfachere Version des oben genannten Befehls, hängt jedoch von der Cursorposition ab:

/foo/mark < | /bar/mark > | normal gvV

Weitere Erklärungen finden Sie unter:


Vielen Dank! Ich löste mit:?^\s*for?+ mark < | /^\s*end/- mark > | norm gv
nicmus

@nicmus Ah ja, das ist einfacher für Ihre spezifische Verwendung. Ich habe meine Antwort aktualisiert.
Rich

Nur für zukünftige Leser, die sich fragen könnten, passen die Kommentare in +und -in @ nicmus die Bereiche an, damit die Auswahl nicht die Zeilen enthält, die den regulären Ausdrücken entsprechen. (Siehe :help range)
Rich

Der .Verkettungsoperator hat mich wirklich umgehauen. Hier ist ein Beispiel, wenn jemand das gleiche Gefühl hat: Er :execute "l" . "s"erzeugt die gleiche Ausgabe wie :ls.
Toraritte
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.