'<,'> in der Eingabeaufforderung

8

Wenn ich :zum Beenden oder Schreiben meiner Datei tippe, enthält die Eingabeaufforderung gelegentlich bereits die Zeichen, :'<,'>ohne dass ich etwas eingebe. Es verursacht einen Fehler, wenn ich woder tippe q. Ich kann dieses Problem nicht replizieren. Es passiert zu den merkwürdigsten Zeiten und ich konnte nicht feststellen, was es verursacht.

Es hat mich immer um herauszufinden , dass meine versehentlich eingeben q:statt :qverursacht wurde mir Mühe Aufhören zu haben. Jetzt, wo ich über diese kleine Eigenart Bescheid weiß, versuche ich herauszufinden, was dieses andere Verhalten verursacht. Ich kann nichts darauf finden, obwohl ich es irgendwo in einem Doppelpunktbefehl von jemandem gesehen habe.

Ist das ein erwartetes Verhalten? Was könnte es verursachen?

Malan
quelle

Antworten:

15

Sehen Sie '<,'>in der Befehlszeile , wenn Sie drücken :zeigt an, dass Sie zur Zeit eine haben visuellen Bereich ausgewählt (zB mit v, Voder Ctrl- v) und Vim ist prefixing helfend die Markierungen für ‚Anfang der Selektion‘ bis ‚Ende der Auswahl‘, um diejenigen anzuwenden Einschränkungen für den Umfang des Befehls, den Sie vermutlich eingeben werden.

Siehe :h visual-operators:

Beachten Sie, dass das '<,'>automatisch angezeigt wird, wenn Sie :im visuellen Modus drücken .

Da Sie nicht nur einen bestimmten Teil einer Datei "beenden" können, erhalten Sie eine, Invalid addresswenn Sie dies versuchen :'<,'>q.

Wenn Sie einen Befehl nicht suchly beschränkt ausführen möchten, können Sie die Taste Ctrl- , Uum Lösch alles links vom Cursor vor dem Betreten qoder einfach die Verwendung ZZoder ZQAlias.

DopeGhoti
quelle
3
Beachten Sie, dass ZZalle Änderungen vor dem Beenden in die Dateien geschrieben werden. Wenn Sie die Änderungen verwerfen möchten, verwenden Sie ZQ.
Ruslan
@ Ruslan. Toller Tipp. Ich habe immer nur getippt, :q!was für den Kontext der Frage immer ein Problem ist. Jetzt ZQist in meinem Arsenal!
Malan
"nicht so begrenzt" würde einen guten Bandnamen ergeben
Omar