Это было бы весьма полезно, если бы оно было отображено, например:: nnoremap gm: call cursor (0, len (getline ('.')) / 2) <cr>
Гептит
3
virtcol ('$') / 2 достаточно.
Люк Эрмитт
@Luc Hermitte: Хорошее, но не совсем лучшее поведение, когда задействованы жесткие вкладки.
Эфимент
Вот почему я использую virtcol вместо col. :). Но на самом деле мы должны использовать | а не курсор (). Кстати, len () не даст лучшего результата. Кроме того, len будет доставлять другие неприятности с многобайтовыми символами.
Люк Эрмитт
8
Печатание gmсделало бы это, но это перемещается линиями экрана (см. :help gm). Чтобы заставить его работать с текстовыми строками, можно переназначить эту команду:
Кажется, что gm перемещает курсор в середину экрана, но если моя строка текста короче длины экрана, это не приведет меня к середине. Извините, что не разъяснил.
Теги
@teggy: Понятно. Я изменил свое решение, чтобы переназначить gm, чтобы перейти к середине текстовой строки. Как видите, в нем сочетаются решения от ephemient и Luc Hermitte.
JooMing
Как отметил ephemient, у него все еще есть проблема с жесткими tar-архивами, так как cursor () считает их по одному символу каждый. Более того, он также не будет работать с многобайтовыми символами.
Люк Эрмитт
7
Вот решение, которое учитывает жесткие вкладки и многобайтовые символы.
Вот лучшее решение, которое я нашел. Прыжки точно на середину линии не очень практичны. Скорее всего, вам все еще нужно переместить курсор на несколько позиций после перемещения в середину. Что если бы вы могли перейти к определенному персонажу? Многие люди просто ищут персонажа, а затем нажимают «следующий», пока не достигнут его. Это медленно. Плагин Easy-motion предлагает лучшее решение.
Мой любимый <leader><leader>sперсонаж - персонаж, к которому вы хотите перейти. Easy Motion заменяет все совпадения разными буквами на ваш выбор. Смотрите учебник. Это плагин, который меняет жизнь ...
Печатание
gm
сделало бы это, но это перемещается линиями экрана (см.:help gm
). Чтобы заставить его работать с текстовыми строками, можно переназначить эту команду:источник
Вот решение, которое учитывает жесткие вкладки и многобайтовые символы.
источник
Вот лучшее решение, которое я нашел. Прыжки точно на середину линии не очень практичны. Скорее всего, вам все еще нужно переместить курсор на несколько позиций после перемещения в середину. Что если бы вы могли перейти к определенному персонажу? Многие люди просто ищут персонажа, а затем нажимают «следующий», пока не достигнут его. Это медленно. Плагин Easy-motion предлагает лучшее решение.
Мой любимый
<leader><leader>s
персонаж - персонаж, к которому вы хотите перейти. Easy Motion заменяет все совпадения разными буквами на ваш выбор. Смотрите учебник. Это плагин, который меняет жизнь ...источник