Odpowiedzi:
:call cursor(0, len(getline('.'))/2)
Pisanie gm
by to zrobiło, ale porusza się po liniach ekranu (patrz :help gm
). Aby działał z liniami tekstowymi, można ponownie przypisać to polecenie:
map gm :call cursor(0, virtcol('$')/2)<CR>
Oto rozwiązanie, które będzie respektować zarówno tabele twarde, jak i znaki wielobajtowe.
:exe 'normal '.(virtcol('$')/2).'|'
Oto najlepsze rozwiązanie, jakie znalazłem. Skakanie dokładnie na środek linii nie jest zbyt praktyczne. Najprawdopodobniej nadal będziesz musiał przesunąć kursor o kilka pozycji po przejściu na środek. Co jeśli możesz przeskoczyć do konkretnej postaci? Wiele osób po prostu szuka postaci, a następnie naciska „Dalej”, aż do niej dotrze. To jest powolne. Wtyczka Easy-motion oferuje lepsze rozwiązanie.
Moim ulubionym jest <leader><leader>s
postać, na którą chcesz skakać. Easy Motion zastępuje wszystkie mecze różnymi literami do wyboru. Zobacz samouczek. To zmieniająca życie wtyczka ...