не используйте scrolloff = 5 для кликов мышью в (нео) vim - PullRequest
1 голос
/ 06 апреля 2019

Я использую (нео) vim с mouse=a и scrolloff=5. Щелчок мышью по одной из верхних или нижних пяти строк мышью заставляет экран прыгать (так что новая позиция курсора становится более центрированной), что отвлекает меня. Есть ли способ отключить "so=5" только для щелчка мышью?

Я использую (neo) vim в разных терминальных эмуляторах на linux.

1 Ответ

2 голосов
/ 07 апреля 2019

Вы можете отключить значение scrolloff, используя отображение кликов, см. :help <LeftMouse> Однако впоследствии вам придется повторно включить настройку прокрутки, так как повторное включение настройки в отображении снова приведет к скачку вида вверх / вниз.

Это отключит настройку scrolloff, и вид останется неизменным:

nnoremap <LeftMouse> :let &so=0<cr><LeftMouse>

С учетом вышеизложенного, представление не будет прыгать, но вам придется повторно включить so

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

nnoremap <LeftMouse> :let temp=&so<cr>:let &so=0<cr><LeftMouse>:let &so=temp<cr>

Итак, не существует идеального решения того, что вы хотите (по крайней мере, я знаю). Вы можете полностью отключить so и использовать что-то вроде zz или привыкнуть к поведению so по щелчку мыши.

...