Vim/MacVim: когда я прокручиваю мышью, текстовый курсор тоже перемещается!

Я привык к Vim/MacVim за последние несколько недель. Кажется, одна из основных проблем, с которой я сталкиваюсь, заключается в том, что когда я прокручиваю с помощью мыши (особенно когда я пытаюсь выделить большие части текста), курсор вставки текста также перемещается и не остается там, где он был (как в TextMate для пример). Это означает, что я выбрал большой фрагмент текста, и когда я прокручиваю назад, чтобы просмотреть свой выбор, курсор перемещается, что противоречит сделанному мной выбору.

Я понимаю, что мне нужно привыкнуть к выделению текста в визуальном режиме, и я немного времени, но иногда это лучший инструмент для использования мыши.

Есть ли способ исправить это поведение?


person littlejim84    schedule 16.11.2010    source источник
comment
Не знаю, но вам определенно следует использовать визуальный режим, ‹shift›+v для выбора строки, затем вы можете использовать 'o' для просмотра вашего выбора ... стоит изучить, даже если сначала вы потеряете время!   -  person Alois Cochard    schedule 16.11.2010


Ответы (2)


:help scrolling говорит вам:

Эти команды перемещают содержимое окна. Если позиция курсора перемещается за пределы окна, курсор перемещается в окно (с экранными линиями «прокрутки» вокруг него).

Так что в основном я бы сказал, что невозможно оставить курсор там, где он был, когда вы прокручиваете. Курсор всегда виден в вашем окне, и поэтому ваш визуальный выбор будет расширяться.

Вероятно, вы хотели бы xnoremap <ScrollWheelUp> <esc><ScrollWheelUp> и то же самое для ScrollWheelDown. Затем используйте gv, чтобы восстановить свой выбор.

person Benoit    schedule 16.11.2010
comment
Я почти люблю ВИМ. Однако есть несколько проблем. Похоже, что PyCharm с привязками VIM может быть лучшим из обоих миров. - person littlejim84; 21.12.2010
comment
Проблема в том, что Vim — это мощный редактор, и использовать клавиатуру эффективнее, чем мышь, практически для каждой задачи, поэтому, когда вы пытаетесь использовать мышь для выполнения работы клавиатуры, у Vim нет ни того, ни другого. - person Quinn Strahl; 20.04.2013

Я сделал скринкаст о списке изменений и переходов Vim, в котором рассматривается проблема Курсор Vim всегда на экране. Список изменений содержит список всех мест в вашем документе, где вы внесли изменения. Вы можете двигаться вперед и назад по списку с помощью команд g; и g, соответственно. Или, если вы хотите вернуть курсор на место последнего редактирования и перейти в режим вставки, просто нажмите gi.

Как заметил Алоис Кошар, клавиша o очень полезна, когда вы находитесь в визуальном режиме. Он перемещает курсор между началом и началом вашего выбора. Поэтому, если ваш выбор больше, чем ваш экран, он будет перемещать вас из одного конца в другой.

person nelstrom    schedule 17.11.2010