Відповіді:
:call cursor(0, len(getline('.'))/2)
Введення тексту робило gm
б це, але воно рухається по екранній лінії (див. :help gm
). Для того щоб змусити його працювати з текстовими рядками, ви можете перезаписати цю команду:
map gm :call cursor(0, virtcol('$')/2)<CR>
Ось рішення, яке також поважатиме жорсткі вкладки та багатобайтові символи.
:exe 'normal '.(virtcol('$')/2).'|'
Ось найкраще рішення, яке я знайшов. Стрибки рівно до середини лінії не дуже практичні. Вам, швидше за все, потрібно буде перемістити курсор на кілька позицій після переміщення в середину. Що робити, якщо ви могли перейти до конкретного персонажа? Багато людей просто шукають персонажа, а потім натискають «наступний», поки не дістаються до нього. Це повільно. Плагін Easy-Motion пропонує краще рішення.
Мій улюблений <leader><leader>s
тоді персонаж, до якого ти хочеш стрибнути. Easy Motion замінює всі збіги різними літерами, які ви можете вибрати. Дивіться підручник. Його плагін, що змінює життя ...