Я только что заметил, что моя прокрутка трекпада работает в Vim, инерции и все. Я бы хотел, чтобы это работало горизонтально, поэтому я могу прокручивать вверх и вниз, чтобы курсор двигался влево и вправо, вместо того, чтобы удерживать клавишу со стрелкой вправо в течение огромного количества времени.
Как я могу сопоставить мою прокрутку движению влево / вправо?
wWeE$)}
и т. Д.), А если вы используете клавиши со стрелками, вы определенно используете Vim неправильно.Ответы:
Согласно
:help scroll-mouse-wheel
ответу нет, если вы используете Win32 GUI.С другой стороны, используя графический интерфейс X11 или консоль vim с поддержкой мыши, колесо отправляет нажатия клавиш, которые можно переназначить.
Таким образом, вы можете получить поведение, которое вы описываете
Обратите внимание, что я использую
nmap
для отображения в обычном режиме.Чтобы получить аналогичное поведение в других режимах, вы можете отобразить направление вместо обычной клавиши. Например, для движения в режиме вставки:
Чтобы сделать их по умолчанию, прикрепите их внизу вашего vimrc.
источник
Я нашел способ сделать это с помощью Hammerspoon и умного использования картографии.
Первая часть - это настройка Shift+ ScrollUpи Shift+ ScrollDownдля горизонтальной прокрутки. Чтобы сделать это, вы поместили следующий фрагмент кода в свой
.vimrc
:Обратите внимание, что мы должны использовать
<S-2-ScrollWheelUp>
и тому подобное, потому что они также отправляются в качестве ключей к терминалу. Я не нашел документации по этому поводу (я понял это с помощью Ctrl+ Vпри прокрутке в режиме вставки).После этого мы должны переназначить горизонтальные прокрутки на Shift+ вертикальные прокрутки. Для этого мы помещаем следующий фрагмент в Hammerspoon's
init.lua
Мы создаем
scrollBind
переменную только для того, чтобы средство отслеживания нажатий клавиш не удалялось сборщиком мусора Lua.источник
Если вы используете MacVim на OS X, это будет работать с трекпадом:
источник