¿Cómo alternar el soporte del mouse en vim?


9

Últimamente he estado trabajando mucho en mi computadora portátil y accidentalmente hago clic mientras escribo. Sé que podría eliminar set mouse=aen mi .vimrc, pero a veces me gusta usar el ratón.

¿Qué puedo hacer para crear una función de alternar para alternar el soporte del mouse?


1
¿Por qué no usar mouse=nv, para que no esté habilitado durante el modo de inserción?
Patrick

Esto podría ajustarse a mi caso de uso, pero realmente estaba buscando una función para alternarlo.
zephyrthenoble

Respuestas:


10

Puede recuperar el valor de una opción utilizando su nombre con un &antecedente. Entonces, una función de alternar simple para la mouseopción sería:

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

Esto alterna entre "sin mouse" y "mouse en todos los modos". Puedes usarlo a través de:call ToggleMouse()

PD: no use algo como esto para las opciones que son booleanas, ya que :set option!pueden usarse para invertirlas.


7

Agregue el siguiente código en el .vimrcarchivo.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.