A rolagem da roda do mouse insere caracteres

7

Estou usando o macvim dentro do tmux dentro do iTerm2. Basicamente, eu só quero poder rolar o buffer usando a roda do mouse. Eu configurei

set -g moude-mouse on

na minha .tmux.confe

set mouse=a
set ttymouse=xterm2

no meu .vimrc. Além disso, ativei o 'relatório do mouse xterm' no iTerm2.

Sempre que uso a roda do mouse, o vim muda para o modo de inserção e insere caracteres aparentemente aleatórios. Suponho que o vim não possa interpretar corretamente os códigos de escape do mouse.

O problema também aparece fora do tmux e no Terminal.app padrão, o que me leva a acreditar que é um problema do vim.

Eu venci com todos os valores possíveis de ttymouse, nenhum teve o efeito desejado.

DeX3
fonte

Respostas:

10

Ah, eu achei o culpado dividindo meu .vimrcarquivo. Eu havia mapeado Escapeno modo normal para limpar o realce da pesquisa:

" Clear highlighting on escape in normal mode
nnoremap <esc> :noh<return><esc>

No entanto, isso confundirá o vim enquanto ele tenta analisar os códigos de escape do mouse. Então, o que acabei fazendo foi pegar a solução dessa resposta e também mapear:

" needed so that vim still understands escape sequences
nnoremap <esc>^[ <esc>^[

O que resolverá esse problema.

DeX3
fonte
isso me salvou de muita dor - merece estar no vim docs ou em algum lugar de destaque.
precisa saber é o seguinte