Есть ли способ, которым я могу переместить курсор в середину текущей строки? (середина строки текста - не середина ширины экрана)
Мне было интересно, есть ли ярлык, аналогичный тому, Mкоторый перемещает курсор в середину экрана.
РЕДАКТИРОВАТЬ : Добавлено пояснение в скобках
cursor-movement
thameera
источник
источник
Ответы:
Я не знаю какой-либо встроенный способ сделать это, однако, вы можете легко иметь карту, чтобы сделать это:
@ Инго Каркат предложил следующий вариант, который также работает в VISUAL-режиме.
К сожалению, это также срабатывает в режиме SELECT. Как следствие, я предпочитаю пару:
источник
noremap <expr> gM (virtcol('$') / 2) . '<Bar>'
Встроенный
gm
делает именно это.источник
M
, я предположил экран.:set virtualedit=all
.Чтобы добавить к ответу Люка, есть также плагин Easymotion , который позволяет быстро перемещаться в определенную позицию. Нажатие
<Leader><Leader>w
выделит, какую клавишу вы можете нажать, чтобы перейти к определенному слову. Таким образом, вы можете легко перейти к слову в середине текущей строки.источник
Если вы хотите перейти к середине текста (без учета пробелов в начале строки), это будет работать:
Я не думаю, что это будет работать в визуальном режиме, однако.
источник
gM
перемещает курсор на половину текста строки: https://vimhelp.org/motion.txt.html#gMЭто было реализовано в октябре 2019 года: https://github.com/manuelschiller/vim/commit/a267c57acdd8843a91eed2cede6ef02d970147fd
источник