Acabei de notar que o rolo do trackpad funciona no Vim, inércia e tudo. Eu gostaria de mudar isso para trabalhar horizontalmente - para que eu possa rolar para cima e para baixo para fazer o cursor se mover para a esquerda e para a direita, em vez de manter pressionada a tecla de seta para a direita por grandes quantidades de tempo.
Como posso mapear minha rolagem para o movimento esquerdo / direito?
wWeE$)}
etc.) e, se estiver usando as teclas de seta, estará definitivamente usando o Vim errado.Respostas:
De acordo com
:help scroll-mouse-wheel
a resposta é não, se você estiver usando a GUI do Win32.Por outro lado, usando a GUI X11 ou o console vim com suporte para mouse, a roda envia pressionamentos de teclas que você pode remapear.
Assim, você pode obter o comportamento descrito por
Observe que estou usando o
nmap
mapeamento no modo normal.Para obter um comportamento semelhante em outros modos, você pode mapear para a direção em vez da tecla normal. Por exemplo, para o movimento do modo de inserção:
Para torná-los padrão, cole-os na parte inferior do seu vimrc.
fonte
Eu descobri uma maneira de fazer isso com Hammerspoon e o uso inteligente de mapeamento.
A primeira parte está configurando Shift+ ScrollUpe Shift+ ScrollDownpara rolar horizontalmente. Para fazer isso, você colocou o seguinte snippet de código no seu
.vimrc
:Note que temos que usar
<S-2-ScrollWheelUp>
e afins, porque eles também são enviados como chaves para o terminal. Não encontrei nenhuma documentação sobre isso (descobri isso usando Ctrl+ Venquanto rolava no modo de inserção).Depois disso, temos que remapear os pergaminhos horizontais para Shift+ os verticais. Para fazer isso, colocamos o seguinte snippet em Hammerspoon
init.lua
Criamos a
scrollBind
variável para que o inspetor de teclas não seja apagado pelo coletor de lixo de Lua.fonte
Se você usa o MacVim no OS X, isso funcionará com um trackpad:
fonte