Editar: El problema de un mouse habilitado vim
parece ser específico de gnome-terminal
(versión 3.4.1.1-1; estoy usando el modo de respaldo de gnome 3). Si ejecuto xterm
, la compatibilidad con el mouse vim
está deshabilitada de manera predeterminada, y tengo la opción de habilitarla ( :set mouse=a
lo que nunca hago) y deshabilitarla ( :set mouse=
). Por el contrario, cuando corro vim
en gnome-terminal
, soporte de ratón se activa por defecto y no es posible desactivarlo ( :set mouse=
no tiene efecto). ¿Existe alguna solución que no sea cambiar el emulador de terminal?
Quiero deshabilitar completamente la compatibilidad con el mouse en vim
. Estoy ejecutando la vim
versión 2: 7.3.547-3 a través de la gnome-terminal
versión 3.4.1.1-1. Los siguientes comandos, ejecutados directamente en vim o agregados a mi .vimrc
archivo, no pueden desactivar la compatibilidad con el mouse:
set mouse =
set mouse =""
Según la lectura del manual de vim y las publicaciones en línea, uno o ambos de estos comandos deberían funcionar. En particular, el manual de vim establece lo siguiente
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: >
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
Estoy usando una computadora portátil y cada vez que mi mano toca el trackpad, mi posición del cursor en vim se mueve abruptamente.
fuente
.vimrc
archivo en su hogar debería resolver el problema (lo hizo para mí). No necesita contener nada, incluso puede ser un archivo vacío./usr/share/
cual es administrado por su administrador de paquetes es una mala idea. Si desea conservar algunas de las opcionesdefaults.vim
, las copiaría en~/.vimrc
.el soporte del mouse está deshabilitado de forma predeterminada, por lo que algo lo está activando. Probablemente la razón por la que
set mouse=
está fallando es porque se está ejecutando antes de lo que sea que lo esté encendiendo. Examinaría el resto de su vimrc, y posiblemente el vimrc de todo el sistema (/etc/vim/vimrc
es una ubicación estándar).Como último recurso, puede hacer este truco realmente feo que hará que el comando se ejecute como una de las últimas cosas antes de darle el control del editor.
fuente
/etc/vim/vimrc
archivo es bastante simple (runtime! debian.vim
y condicionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). El/etc/vim/vimrc.local
archivo no existe en mi sistema. Mi~/.vimrc
archivo solo tiene unas pocas líneas que he agregado manualmente. Unastrace
de lasvim
revela que comprueba las siguientes ubicaciones para los archivos de configuración:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
( ENOENT ), y/home/user/.vimrc
. (¿Por qué recibo el error ENOENT; laif
declaración no impide los intentos de abrir este archivo inexistente?).:set mouse=
escribo directamente en vim, ¿no debería esto anular cualquier configuración de los archivos de configuración? ¿Por qué la ejecución directa de esta declaraciónvim
no deshabilita el control del mouse?ENOENT
como vim tiene que verificar si el archivo existe. Esto normalmente se realiza llamando astat
que devuelveENOENT
si el archivo no existe.xterm
y no tuve ningún problema con la activación del mouse. Podría reproducir el problema escribiendo:set mouse=a
envim
ejecuciónxterm
(y revertirlo escribiendo:set mouse=
). ¿Alguna idea de cómo solucionar el problemagnome-terminal
técnico? ¿Debo comenzar un nuevo hilo? Gracias.Me encontré con esto en mi aplicación OS X "Terminal" en un servidor Fedora Server 25. Lo resolví permanentemente con esto en mi .vimrc con:
Ahora puedo desplazarme hacia mi historial de bash anterior en el desplazamiento hacia atrás de mi terminal con el mouse.
fuente
set ttymouse=
tuvo un comportamiento extraño para mí, por ejemplo, causó el comportamiento de las teclas de flecha, la tecla de escape para cambiar.Tenía más o menos las mismas quejas sobre la nueva sensibilidad de Vim al ratón. Usar
set mouse=""
tampoco lo hizo por mí.Tengo
set mouse=c
(sin comillas) cerca del final de mi.vimrc
archivo. Eso parecía evitar que Vim usara el mouse, excepto cuando usaba "PuTTY" para ingresar desde mi (¡uf!) Máquina de Windows en el trabajo. Tengo que usar shift-middle-button para pegar en PuTTY.30-03-2018 Editar: ahora he comenzado a usar:
:mouse=
(sin comillas ni nada) en algunas instancias remotas (CentOS 6.7) de vim para eliminar los efectos no deseados del mouse.fuente
.vimrc
archivo e intenté ejecutarlo de manera interactiva (:set mouse=c
), pero ninguno tuvo efecto en mi caso.Agregue esto a su
.vimrc
:fuente
has("gui_running")
es 0 en un entorno terminal. Esta respuesta, a diferencia de las otras, requiere un esfuerzo adicional para deshabilitar solo el mouse en un entorno de terminal, lo que plantea la pregunta, mientras lo deja habilitado en gvim.En Debian Stret se cargan algunas configuraciones centrales después de cargar
/etc/vim/vimrc
y/etc/vim/vimrc.local
. Ver/etc/vim/vimrc
:Este archivo tiene el valor predeterminado
/usr/share/vim/vim80/defaults.vim
. Ahora cambiar un archivo central en/usr/share/...
esAl establecer sin
skip_defaults_vim
comentar la línea anterior, se eliminan todas las demás opciones establecidas por ese archivo. Para eliminar las opciones no deseadas, ingrese lo siguiente/etc/vimrc.local
:Esto carga el
defaults.vim
manual y apaga la carga automática, lo que le da la oportunidad de revertir cualquier configuración no deseada, sin tener que crear una.vimrc
para cada cuenta de usuario.fuente
Algo relacionado con la pregunta, si está utilizando neovim (nvim), debe incluir
set mouse=
su~/.config/nvim/init.vim
archivo de configuración.Si el directorio no existe, créelo con
mkdir -p ~/.config/nvim/
fuente