Antworten:
:call cursor(0, len(getline('.'))/2)
Das Tippen gm
würde es tun, aber es bewegt sich durch Bildschirmlinien (siehe :help gm
). Um es mit Textzeilen zum Laufen zu bringen, kann man diesen Befehl neu zuordnen:
map gm :call cursor(0, virtcol('$')/2)<CR>
Hier ist eine Lösung, die Hardtabs und auch Multi-Byte-Zeichen berücksichtigt.
:exe 'normal '.(virtcol('$')/2).'|'
Hier ist die beste Lösung, die ich gefunden habe. Es ist nicht sehr praktisch, genau in die Mitte der Linie zu springen. Sie müssen den Cursor höchstwahrscheinlich noch einige Positionen bewegen, nachdem Sie sich in die Mitte bewegt haben. Was wäre, wenn Sie zu einem bestimmten Charakter springen könnten? Viele Leute suchen einfach nach dem Charakter und klicken dann auf "Weiter", bis sie ihn erreichen. Das ist langsam. Das Easy-Motion-Plugin bietet eine bessere Lösung.
Mein Favorit ist <leader><leader>s
dann der Charakter, zu dem Sie springen möchten. Easy Motion ersetzt alle Übereinstimmungen durch verschiedene Buchstaben, aus denen Sie auswählen können. Siehe das Tutorial. Es ist ein lebensveränderndes Plugin ...