Я использую Vim в терминале, так скроллинг колесо прокрутки использует \e[A
и \e[B
синтаксис (где \e
символизирует \x1b
, или побег).
Однако Vim интерпретирует это, перемещая курсор вверх или вниз по строке. Желаемое поведение заключается в том, что экран перемещается вверх или вниз, как <C-e>
и <C-y>
делать.
Как я могу сказать Vim перемещать экран, когда я использую колесо прокрутки, удерживая курсор на той же строке? Это должно работать во всех распространенных режимах (вставка, нормальный, визуальный выбор).
Я уже пытался, например, :nnoremap <esc>[A <C-e>
(заменить <esc>
буквальный escape-символ, вставленный с Ctrl+V Esc), но это оказалось бесполезным.
Я использую Vim 7.4.52 в Ubuntu 14.04 с GNOME.
Ответы:
Как сказал @Doorknob в своем комментарии,
:set mouse=a
проблема решается .источник
mouse=a
? Я не хочу, чтобы случайные клики мешали редактированию.a
вmouse=a
означаетall
(не добавление). from:help mouse
: "мышь может быть включена для различных режимов ... Обычно вы можете включить мышь во всех четырех режимах с помощью:: set mouse = a" по крайней мере в моем vim, когда я включил, чтобы она не мешала переключению режимов (только что включил прокрутку - и «нажми, чтобы перейти на линию»)set mouse=a
без случайных щелчков испортить поток, все:map <LeftMouse> <nop>
получится.Поведение, которое вы хотите, это то, что происходит на моем Vim. Я не могу найти параметр, который включает / выключает его. Может быть, проверить : помощь прокрутки ?
scrolloff
может быть вовлечен.Вы также можете рассмотреть возможность использования меток в качестве обходного пути.
источник
vim -u NONE
). Это Vim 7.4 в Ubuntu 14.04 с GNOME..vimrc
(простоset mouse=a
).:help scrolling
говорит, что поведение прокрутки зависит от платформы. Я использую vim в iterm2 на OSX.:set mouse=a
исправил проблему для меня. Отредактируйте это в своем ответе, и я приму это. Благодарность!