Как отключить звуки Vim bells?

Я пытаюсь отключить колокола ошибок на vim, как визуальные, так и звуковые. Однако я не могу заставить их держаться подальше.

у меня есть следующая в моем vimrc:

" Disable annoying beeping
set noerrorbells
set vb t_vb=

это не работает, я решил, что какой-то плагин или другой параметр сбрасывает его, поэтому я добавил его снова в конец моего vimrc, все-таки не повезло.

единственный способ отключить его-вручную вызвать set vb t_vb= после того, как все загрузится. Думаю, я мог бы подражать этому, добавив скрипт plugin/after папка, но я пытаюсь избежать этого, поскольку это означает, что это еще одна вещь, которую я должен настроить, когда я переключаюсь на другую машину.

вы можете увидеть мой полный vimrc здесь:https://github.com/lerp/dotfiles/blob/master/vimrc

4 ответов


предполагая, что у вас есть эта проблема в GVim, добавив следующую строку

autocmd GUIEnter * set vb t_vb=

в своем if has("gui_running") условный блок должен помочь.

С :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.

попробуйте использовать следующую строку в ваш .vimrc, .файлы gvimrc:

set belloff=all

для меня с gVim это работает, если я ставлю

set noerrorbells
set vb t_vb=

на ~/.gvimrc, а не ~/.vimrc.


Я пробовал несколько раз с разными конфигурациями, но никто не работал. Кажется, что gVim сбрасывает визуальный звонок при запуске GUI. Единственный способ, которым это работает для меня, - это фрагмент в конце вашего .vimrc (или _vimrc Если вы используете Windows):

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