désactiver la prise en charge de la souris dans `vim` dans un environnement` gnome-terminal`

Edit: Le problème d'une souris activée dans vim semble être spécifique à gnome-terminal (version 3.4.1.1-1, j'utilise gnome 3 fallback mode). Si xterm , le support de la souris dans vim est désactivé par défaut et j'ai la possibilité de l'activer ( :set mouse=a , ce que je ne fais jamais) et de le désactiver ( :set mouse= ). En revanche, quand je lance vim dans gnome-terminal , le support de souris est activé par défaut et il n'est pas possible de le désactiver ( :set mouse= n'a aucun effet). Y a-t-il une solution à court de changer d'émulateur de terminal?


Je veux désactiver complètement le support de souris dans vim . Je cours vim version 2: 7.3.547-3 à travers la version gnome-terminal 3.4.1.1-1. Les commands suivantes, qu'elles soient exécutées directement dans vim ou ajoutées à mon file .vimrc , ne parviennent pas à désactiver la prise en charge de la souris:

 set mouse = set mouse ="" 

Basé sur la lecture du manuel vim et des messages en ligne, l'une ou les deux de ces commands devraient fonctionner. En particulier, le manuel vim indique ce qui suit

 'mouse' ssortingng (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. 

J'utilise un ordinateur portable et à chaque fois que ma main brosse le trackpad, ma position du slider dans vim se déplace brusquement.

le support de souris est désactivé par défaut, donc quelque chose l'allume. Probablement la raison pour laquelle votre set mouse= échoue est parce qu'il est en cours d'exécution avant tout ce qui l'allume. Je regarderais à travers le rest de votre vimrc, et éventuellement le vimrc du système ( /etc/vim/vimrc est un location standard).

En dernier recours, vous pouvez faire ce hack vraiment laid qui fera exécuter la command comme l'une des dernières choses faites avant de vous donner le contrôle de l'éditeur.

 autocmd BufEnter * set mouse= 

J'ai trouvé ce qui cause ce mauvais comportement avec de nombreuses saveurs Linux:

 /usr/share/vim/vim80/defaults.vim 

il est 'source' s'il n'y a pas ~/.vimrc mais même si vous avez un file /etc/vimrc ou tel /etc , alors si vous n'en avez pas, créez un file vierge comme suggéré par @lgpasquale:

 [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc 

Si vous avez aimé les autres fonctionnalités (comme la coloration de la syntaxe) que vous avez obtenues de defaults.vim, vous pouvez utiliser cette command plutôt que la précédente:

 [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vim\nset mouse=" > .vim/vimrc 

J'ai eu à peu près les mêmes plaintes que vous à propos de la sensibilité plus récente de Vim à la souris. En utilisant set mouse="" ne l'ai pas fait pour moi non plus.

J'ai set mouse=c (pas de guillemets) près du fond de mon file .vimrc . Cela a semblé empêcher Vim d'utiliser la souris, sauf en utilisant "PuTTY" pour ssh dans ma machine Windows (au lieu de!) Au travail. Je dois utiliser shift-middle-button pour coller dans PuTTY.

Ajoutez ceci à votre .vimrc :

 if has("gui_running") "echo "yes, we have a GUI" set mouse=a else "echo "Boring old console" set mouse= endif 

Je suis tombé sur ceci sur mon application OS X "Terminal" sur un hôte Fedora Server 25. Je l'ai définitivement résolu avec ceci dans mon .vimrc avec:

 set mouse= set ttymouse= 

Maintenant, je peux faire défiler jusqu'à mon histoire bash précédente dans le scrollback de mon terminal avec ma souris.