Ich finde das Scrollen einer ganzen Seite oft zu verwirrend, eine halbe Seite zu viel, aber eine Viertelseite ist genau richtig. Ich mache es derzeit nur durch Gedrückthalten der Pfeiltasten.
Wie scrolle ich einfach 25% der Seite runter und rauf?
cursor-movement
scrolling
Louis Hong
quelle
quelle
Antworten:
Vielleicht ctrldund ctrlukönnte das sein, wonach Sie suchen. Standardmäßig wird die Hälfte des Bildschirms verschoben.
Von
:h CTRL-D
:Das heißt, wenn Sie zum ersten Mal in einem Fenster scrollen möchten, können Sie tun, XXctrldwo XX 25% der Anzahl der Zeilen in Ihrem Fenster ist. Wenn
scroll
der Wert XX eingestellt ist, können Sie mit ctrldund ctrlu25% des Bildschirms verschieben.Ich denke auch, dass
:h scrolling
das für Sie interessant sein könnte.Bearbeiten
Und hier ist eine andere Lösung mit einer Funktion und einigen Zuordnungen, die Sie zu Ihrer hinzufügen können
.vimrc
:Die Funktion erhält die Höhe des aktuellen Fensters und rollt den Bildschirm entsprechend seines Parameters um ein Viertel der Höhe nach oben oder unten.
Die Zuordnungen rufen die Funktion auf, wobei die erste nach oben und die zweite nach unten geht.
Natürlich können Sie
<up>
und<down>
zu einigen anderen Tasten wechseln , wenn Sie das Standardverhalten Ihrer Pfeiltasten beibehalten möchten.quelle
ctrl-E
undctrl-Y
in den Mappings zu verwenden, weil a). Sie haben dann separate Verknüpfungen für das Scrollen von 1/2 und 1/4 Seite. b). Das Verhalten vonctrl-U
/ctrl-D
ist konsistent und hängt nicht davon ab, ob Sie das Mapping zuvor verwendet haben.let key="^U"
der Teil zwischen dem doppelten Anführungszeichen den Schlüsselcode von darstellen sollctrl+u
. Wenn Sie also die Funktion in vim kopiert haben, positionieren Sie den Cursor auf den ersten Trefferci"
mit doppelten Anführungszeichen , um den Inhalt der Anführungszeichen zu ändern, und klicken Siectrl+v
anschließendctrl+u
auf denselben in der Zeilelet key="^D"
.let key="^Y"
stattlet key="^U"
. Dies führt zu demselben Verhalten, ohne jedoch die'scroll'
Einstellung zu beeinflussen.Sie können verwendet werden ctrleund ctrlydie Seite um eine Zeile nach oben und unten zu bewegen.
Wenn Sie möchten, dass +/- 25% verschoben werden, können Sie dies verwenden 20ctrle, um 20 Zeilen nach unten zu verschieben.
Hier ist auch eine gut erläuterte Frage, die Ihrer ähnlich ist: /programming/3458689/how-to-move-screen-without-moving-cursor-invim
quelle
Ich habe den statox- Ansatz variiert , damit er konsistenter über die Zeilenumbrüche rollt. Wenn Sie einen Viertelschritt möchten, ändern Sie 0,618 zurück auf 0,25 oder was auch immer.
quelle
Wenn Sie eine gute allgemeine Antwort und keine exakten 25% wünschen, können Sie die normale Zeilenanzahl auf einer Seite durch Teilen durch 25 ausrechnen und einige Systemzuordnungen festlegen. Wenn Sie zum Beispiel normalerweise ungefähr 100 Zeilen gleichzeitig auf einem Bildschirm haben, sind 25% davon 25 Zeilen, sodass Sie eine Tastenzuordnung für etwas wie Ihr Kapital J und K festlegen können, um schnell 25 Zeilen auf und ab zu bewegen
Wenn Sie nur zur Viertelmarke der gesamten Datei springen möchten, geben Sie im normalen Modus Folgendes ein:
quelle
noremap J 25j
den Wert fest codieren,25
navigiert Ihre Zuordnung tatsächlich zu 50% in den neuen Fenstern. Über Ihre zweite Option:25%
wusste ich nicht, dass es sie gibt, aber nach meinen Tests scheint sie den Cursor auf eine Position zu setzen, die auf der ersten Zeile basiert: Wenn ich einen Puffer von 100 Zeilen habe und 25% vorwärts:25%
gehen möchte, bringt mich die Eingabe in Zeile 25, egal wo mein Cursor war. Könnten Sie bitte auch das Hilfethema einfügen, in dem diese Funktion beschrieben wird. Ich kann sie nicht im Dokument finden.:h N%