Я знаю, 0 идет в начало строки, а $ - в конец, но есть ли что-то для середины?
4 ответа
:call cursor(0, len(getline('.'))/2)
Вот решение, которое учитывает жесткие вкладки и многобайтовые символы.
:exe 'normal '.(virtcol('$')/2).'|'
Если вы наберете gm
произойдет, но он будет перемещаться по линиям экрана. Чтобы заставить его работать с текстовыми строками, можно переназначить эту команду:
map gm :call cursor(0, virtcol('$')/2)<CR>
Вот лучшее решение, которое я нашел. Прыжки точно на середину линии не очень практичны. Скорее всего, вам все еще нужно переместить курсор на несколько позиций после перемещения в середину. Что если бы вы могли перейти к определенному персонажу? Многие люди просто ищут персонажа, а затем нажимают "следующий", пока не достигнут его. Это медленно. Плагин Easy-motion предлагает лучшее решение.
Мой любимый персонаж - <leader><leader>s
затем персонаж, к которому вы хотите перейти. Easy Motion заменяет все совпадения разными буквами на ваш выбор. Смотрите учебник. Это плагин, который меняет жизнь ...