web-dev-qa-db-fra.com

Comment désactiver les sons des cloches Vim?

J'essaie de désactiver les sonneries d'erreur sur vim, à la fois visuelles et audio. Cependant, je ne peux pas les faire rester.

J'ai le suivant dans ma vimrc:

" Disable annoying beeping
set noerrorbells
set vb t_vb=

Cela ne fonctionne pas, j'ai pensé qu'un plugin ou un autre paramètre était en train de le réinitialiser, donc je l'ai ajouté à la fin de ma vimrc, toujours pas de chance.

La seule façon de l'obtenir est que j'appelle manuellement set vb t_vb= une fois que tout est chargé. J'imagine que je pourrais émuler ceci en ajoutant un script au dossier plugin/after, mais j'essaie d'éviter cela car cela signifie que c'est une autre chose que je dois configurer chaque fois que je passe à une autre machine.

Vous pouvez voir ma vimrc complète ici: https://github.com/lerp/dotfiles/blob/master/vimrc

24
Lerp

En supposant que vous ayez ce problème dans GVim, ajoutez la ligne suivante

autocmd GUIEnter * set vb t_vb=

dans votre if has("gui_running") bloc conditionnel devrait aider.

De :help 'visualbell':

Note: When the GUI starts, 't_vb' is reset to its default value.
You might want to set it again in your gvimrc.
27
romainl

Essayez d’utiliser la ligne suivante dans vos fichiers .vimrc, .gvimrc:

set belloff=all
29
Mark

Pour moi avec gVim ça marche si je mets 

set noerrorbells
set vb t_vb=

dans ~/.gvimrc, pas ~/.vimrc.

6
pozitron57

J'ai essayé plusieurs fois avec différentes configurations mais aucune n'a fonctionné. Il semble que gVim réinitialise la cloche visuelle au démarrage de l'interface graphique. La seule façon dont cela fonctionne pour moi est cet extrait à la fin de votre .vimrc (ou _vimrc si vous utilisez Windows):

set visualbell t_vb=
if has("autocmd") && has("gui")
    au GUIEnter * set t_vb=
endif
0
adelriosantiago