it-swarm.com.de

Bewegen Sie den Cursor x Zeilen von der aktuellen Position in vi / vim

Gibt es eine Möglichkeit, den Cursor um eine relative Anzahl von Zeilen in vi/vim zu bewegen? Angenommen, Sie haben den Cursor 10 Zeilen unter einem Codeblock, den Sie entfernen möchten. Wenn Sie die Zeilennummern in relativer Reihenfolge angezeigt bekommen, wäre es schön, einen "jump 10 lines up command" zu haben, der Sie dorthin bringt.

Oder ist es vielleicht besser, sich die absoluten Zeilennummern anzeigen zu lassen und xgg zu setzen, wobei x die Zeilennummer ist?

67
Flawe

Ja, natürlich gibt es einen Weg. j und k bewegen sich eine Zeile nach unten und oben, also 10j und 10k Zehn Zeilen runter und rauf. Sie können jede Bewegung wiederholen, indem Sie eine Zahl voranstellen.

Vielleicht möchten Sie auch set relativenumber Wenn Sie dies häufig tun, sparen Sie das Zählen, indem Sie Zeilennummern relativ zur aktuellen Zeile anstelle von absoluten Zahlen drucken.

101
Cascabel

Das Auf- und Abbewegen von 10 Zeilen passt möglicherweise nicht zu Ihrer Aufgabe und zu anderen Optionen. Betrachten Sie andere Bewegungen:

CtrlfCtrlb Seite vor und zurück.

}{ vorwärts und rückwärts um einen Absatz gehen.

Sie können Regeln in Ihren vimrc schreiben, um 10j An einen Schlüssel zu binden, sagen Sie J, um 10 Zeilen nach unten zu springen, indem Sie Ihrer vimrc-Datei die folgende Zeile hinzufügen: map <S-j> 10j

Sie würden jedoch den nützlichen vorhandenen Befehl J überschreiben (zwei Zeilen verbinden). Es kann schwierig sein, eine gut positionierte, nicht verwendete Tastenkombination für 10j/10k Zu finden. Ich empfehle daher, die vorhandenen Bewegungen zu verwenden, die ich erwähnt habe.

Möglicherweise möchten Sie auch wissen, dass Sie mit ?someword Zu einem angezeigten Wort zurückkehren und mit /someword Zu einem angezeigten Wort weiterleiten können. Diese werden schneller sein, als zu versuchen, 10 Zeilen nach oben/unten zu bewegen und dann den Cursor an die genaue Position zu verschieben. Wenn Sie sich keine einfache Suchzeichenfolge für die betreffende Zeile vorstellen können, können Sie immer zur angegebenen Zeilennummer wechseln (xgg).

44
Olhovsky

Ich habe mit vim rumgespielt und es bemerkt - bewegt dich nach oben und + bewegt dich nach unten, so kannst du:

10-

oder du könntest verwenden k da bist du höchstwahrscheinlich daran gewöhnt hjkl Cursorbewegung.

10
Cilan