Vim habilitar somente a rolagem do mouse - não o posicionamento do cursor


7

Eu quero ativar a roda do mouse para rolar como ^ee ^yfazer. Eu não quero clicar em um buffer para mover o cursor, então :set mouse=aisso não me ajuda.

Razão é que eu tenho um monte de gui janelas abertas (navegador web, bate-papo etc) e clique para focar vim, mas se eu clicar dentro do buffer, ele move o cursor para onde eu cliquei. Eu também gosto de usar a roda do mouse para rolar porque eu acho que é mais rápido do que ^ee ^y, e mais fácil de controlar se eu sou assim ^de ^uou <pgdn>e <pgup>.

Existe uma maneira de ativar o suporte do mouse para rolagem, mas desativar a mudança de posição do cursor ao clicar em?

Obrigado!

Respostas:


2

Você pode desativar seletivamente os botões do mouse mapeando-os para <nop>. Por exemplo, para desativar o botão esquerdo do mouse:

:nmap <LeftMouse> <nop>
:imap <LeftMouse> <nop>
:vmap <LeftMouse> <nop>

Se você também quiser ignorar os cliques duplos:

:nmap <2-LeftMouse> <nop>
…

Vejo:

:help gui-mouse-mapping
:help map-overview

2
Ótimo, apenas o que eu estava procurando. Alguma chance de ainda permitir seleção de janela / tabulação (sem alterar a posição do cursor)?
Matthew

Não consigo pensar em uma maneira de fazer isso, mas não vou dizer que não pode ser feito.
Heptite
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.