Edit: Le problème de la souris activée vim
semble être spécifique à gnome-terminal
(version 3.4.1.1-1; j'utilise le mode de repli de gnome 3). Si je lance xterm
, le support de la souris 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
, support de la souris est activée par défaut et il est impossible de le désactiver ( :set mouse=
n'a pas d' effet). Existe-t-il une solution à part changer d'émulateur de terminal?
Je souhaite désactiver complètement le support de la souris dans vim
. J'utilise la vim
version 2: 7.3.547-3 à la gnome-terminal
version 3.4.1.1-1. Les commandes suivantes, qu'elles soient exécutées directement dans vim ou ajoutées à mon .vimrc
fichier, ne permettent pas de désactiver le support de la souris:
set mouse =
set mouse =""
Selon la lecture du manuel de vim et les publications en ligne, l’une ou l’autre de ces commandes devrait fonctionner. En particulier, le manuel vim indique ce qui suit:
'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.
J'utilise un ordinateur portable et chaque fois que ma main touche le trackpad, la position du curseur dans vim se déplace brusquement.
la source
.vimrc
fichier chez vous devrait résoudre le problème (cela a été le cas pour moi). Il n'a pas besoin de contenir quoi que ce soit, il peut même s'agir d'un fichier vide./usr/share/
lequel est géré votre gestionnaire de paquets est une mauvaise idée. Si vous souhaitez conserver certaines des optionsdefaults.vim
, je les copierais dans~/.vimrc
.la prise en charge de la souris est désactivée par défaut, donc quelque chose l’allume. La raison pour laquelle vous
set mouse=
échouez est probablement parce qu'il fonctionne avant tout ce qui l'allume. Je regarderais à travers le reste de votre vimrc, et éventuellement le système vimrc (/etc/vim/vimrc
est un emplacement standard).En dernier recours, vous pouvez effectuer ce hack vraiment laid, ce qui entraînera l'exécution de la commande comme l'une des dernières choses à effectuer avant de vous donner le contrôle de l'éditeur.
la source
/etc/vim/vimrc
dossier est plutôt dépouillé (runtime! debian.vim
et conditionnelif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). Le/etc/vim/vimrc.local
fichier n'existe pas sur mon système. Mon~/.vimrc
fichier ne contient que quelques lignes que j'ai ajoutées manuellement. Unstrace
desvim
révèle qu'il vérifie les emplacements suivants pour les fichiers de configuration:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
( ENOENT ) et/home/user/.vimrc
. (Pourquoi est-ce que je reçois l'erreur ENOENT; laif
déclaration n'empêche- t-elle pas les tentatives d'ouverture de ce fichier inexistant?).:set mouse=
directement dans vim, cela ne devrait-il pas remplacer les paramètres des fichiers de configuration? Pourquoi l'exécution directe de cette instruction au sein devim
ne pas désactiver le contrôle de la souris?ENOENT
que As vim doit vérifier si le fichier existe. Cela se fait généralement en appelantstat
ce qui retourneENOENT
si le fichier n'existe pas.xterm
et n'ai eu aucun problème avec l'activation de la souris. Je pourrais reproduire le problème en tapant:set mouse=a
dans l'vim
exécutionxterm
(et l'inverser en tapant:set mouse=
). Une idée de comment résoudre legnome-terminal
problème? Devrais-je commencer un nouveau fil? Merci.Je me suis heurté à cela sur mon application "Terminal" OS X sur un hôte Fedora Server 25. Je l'ai définitivement résolu avec ceci dans mon fichier .vimrc avec:
Maintenant, je peux faire défiler mon historique bash précédent dans le défilement de mon terminal avec la souris.
la source
set ttymouse=
faisait du copier-coller, note avait un comportement étrange pour moi, par exemple le comportement des touches fléchées, la touche d'échappement à changer.J'avais à peu près les mêmes plaintes que vous au sujet de la sensibilité de la nouvelle Vim à la souris. L'utilisation
set mouse=""
ne l'a pas fait pour moi non plus.J'ai
set mouse=c
(pas de guillemets) près du bas de mon.vimrc
dossier. Cela semblait empêcher Vim d’utiliser la souris, sauf lorsqu’on utilisait "PuTTY" pour entrer en ssh depuis ma (foutue!) Machine Windows au travail. Je dois utiliser shift-middle-button pour coller dans PuTTY.2018-03-30 Edit: J'ai maintenant commencé à utiliser:
:mouse=
(sans guillemets ni quoi que ce soit) sur certaines instances distantes (CentOS 6.7) de vim pour supprimer les effets de souris indésirables.la source
.vimrc
fichier et j'ai essayé de l'exécuter de manière interactive (:set mouse=c
), mais cela n'a eu aucun effet dans mon cas.Ajoutez ceci à votre
.vimrc
:la source
has("gui_running")
0 est dans un environnement terminal. Cette réponse, contrairement aux autres, demande un effort supplémentaire pour ne désactiver la souris que dans un environnement terminal, ce que la question demande, tout en la laissant activée dans gvim.Sur Debian Stretch, certains paramètres centraux sont chargés après le chargement
/etc/vim/vimrc
et/etc/vim/vimrc.local
. Voir/etc/vim/vimrc
:La valeur par défaut de ce fichier est
/usr/share/vim/vim80/defaults.vim
. Changer un fichier central/usr/share/...
est maintenantDéfinir
skip_defaults_vim
en décommentant la ligne ci-dessus supprime toutes les autres options définies par ce fichier. Pour supprimer simplement les options indésirables, insérez ce qui suit dans/etc/vimrc.local
:Cela charge
defaults.vim
manuellement et éteint le chargement automatique, vous donnant ainsi la possibilité de rétablir les paramètres indésirables, sans avoir à créer un compte.vimrc
pour chaque utilisateur.la source
Un peu en rapport avec la question, si vous utilisez neovim (nvim), vous devriez mettre
set mouse=
dans votre~/.config/nvim/init.vim
fichier de configuration.Si le répertoire n'existe pas, créez-le avec
mkdir -p ~/.config/nvim/
la source