Como alternar o suporte do mouse no vim?


9

Ultimamente, tenho trabalhado muito no meu laptop e clico acidentalmente enquanto digito. Eu sei que poderia remover set mouse=ano meu .vimrc, mas às vezes gosto de usar o mouse.

O que posso fazer para criar uma função de alternância para alternar o suporte do mouse?


1
Por que não usar mouse=nv, para que não seja ativado durante o modo de inserção?
Patrick

Isso pode se encaixar no meu caso de uso, mas eu estava realmente procurando por uma função para alterná-la.
Zephyrthenoble 22/09/14

Respostas:


10

Você pode recuperar o valor de uma opção usando seu nome com um &anexo. Portanto, uma função de alternância simples para a mouseopção seria:

function! ToggleMouse()
    " check if mouse is enabled
    if &mouse == 'a'
        " disable mouse
        set mouse=
    else
        " enable mouse everywhere
        set mouse=a
    endif
endfunc

Isso alterna entre "sem mouse" e "mouse em todos os modos". Você pode usá-lo via:call ToggleMouse()

PS: não use algo parecido com isto para opções que são booleanas, pois elas :set option!podem ser usadas para invertê-las.


7

Adicione o código abaixo no .vimrcarquivo.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
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.