Ich möchte Linien in einem Bereich zählen, egal in welchem Bereich, aber es soll beispielsweise ein visueller Block sein. Was ist der kürzeste Weg, um es zu tun. Alles, was mir in den Sinn kommt, ist so etwas wie: '<,'>s/.//n
aber ich glaube nicht, dass es der kürzeste Weg ist.
Kann mir jemand einen Hinweis geben? Danke im Voraus.
:call
? Ihre Frage hat das nicht erwähnt.:h functions
;)getpos()
(die eine Markierung als Eingabe akzeptieren und die Position einschließlich der Zeilennummer zurückgeben können). und ein bisschen Subtraktion.:perl $curbuf->Count
(gibt die Anzahl der Zeilen zurück)Wenn Sie die Option
showcmd
(:h 'sc'
) festlegen, müssen Sie nie etwas eingeben, um zu wissen, wie viele Zeilen ausgewählt sind. Da ich zunächst vergessen habe, dass ich diese Option festgelegt habe, habe ich den Punkt Ihrer Frage nicht verstanden. ^^ 'Wenn Sie diese Nummer programmgesteuert erhalten möchten, ist dies einfach:
Innerhalb einer Bereichsfunktion kann es auch erhalten werden durch
a:lastline-a:firstline+1
. (:h function-range-example
)quelle
'<,'>s///n
ist ein Zeichen kürzer. :-)Wenn ich nur die Anzahl der Zeilen in einer visuellen Auswahl wissen möchte, ziehe ich normalerweise einfach daran (Treffer
y
). Je nach Art der Auswahl wird "5 Zeilen gezogen" oder "Block mit 5 Zeilen gezogen" angezeigt.quelle