Wie springe ich in die Mitte des Puffers?

17

Durch Drücken von ggund können GSie an beide Enden eines Puffers springen.

42G springt zur Linie 42.

Gibt es eine schnelle gVerknüpfung, um in die Mitte des Puffers zu springen? Sowas ungefähr round(number of lines/2)G?

Delapouite
quelle

Antworten:

33

Mit können Sie N%zum n-ten Prozent der Datei springen. Springt also zB 50%ungefähr in die Mitte des Puffers. Siehe die Hilfe unter:h N%

Christian Brabandt
quelle
3

Ich verwende diese Zuordnungen in meinen eigenen Einstellungen:

nnoremap <expr> M (line('$')/2).'G'
xnoremap <expr> M (line('$')/2).'G'
onoremap <expr> M (line('$')/2).'G'

Es ist ziemlich einfach, es wertet einfach den Ausdruck aus, (line('$')/2).'G'bevor das Mapping ausgeführt wird. line('$')ist die Nummer der letzten Zeile im Puffer, die wir durch zwei teilen. Dann .'G'hängt der Just 'G' an die resultierende Zeichenkette an.

Wenn Sie die Standardeinstellung M(Mitte des sichtbaren Bildschirms) verwenden möchten, können Sie dies zu einer Führungszuordnung machen, damit Sie sie nicht überschreiben. Beispielsweise:

nnoremap <expr> <leader>m (line('$')/2).'G'
xnoremap <expr> <leader>m (line('$')/2).'G'
onoremap <expr> <leader>m (line('$')/2).'G'
DJMcMayhem
quelle
-1

Mit können Sie N%zum n-ten Prozent der Datei springen. Springt also zB 50%ungefähr in die Mitte des Puffers.

Siehe die Hilfe unter :h N%

user10351
quelle
Ich habe die Antwort bearbeitet, weil sie in der Warteschlange "Erster Beitrag" angezeigt wurde, um sie lesbar zu machen (die Formatierung war schrecklich), aber ich habe nicht gesehen, dass es sich nur um ein Duplikat von Christians Antwort handelt.
statox