GVim 在通常会发出铃声的地方闪烁

GVim 在通常会发出铃声的地方闪烁

当我尝试(例如)使用 pageDown 或向下箭头键向下滚动到文件“末尾”时,GVim 通常会发出声音。我已禁用此功能,但它的另一个烦人之处是闪烁(大概是为了“提醒”用户)。我该如何关闭它?

我使用的是安装了 Gnome-3 PPA 的 ubuntu 11.04。我有一块“ATI Technologies Inc M880G [Mobility Radeon HD 4200]”显卡。

干杯,约翰 H.

答案1

GVim 通常会发出声音。我已禁用此功能,[...]

你已经发现了什么:help visualbell告诉你了。visualbell设置确实不是禁用铃声。变化铃声,这样它就不会输出belterminfo 序列(termcap 代码bl),而是输出flashterminfo 序列(termcap 代码vb)。

禁用铃声您必须实际上将其中一个 terminfo 序列清零,因为 vim 无法指定您实际上根本不想要任何类型的“铃声”,但只有一种方法可以在两种类型的铃声之间切换。

您可以使用命令在 vim 中覆盖终端的功能:set。vim 中可设置变量覆盖终端功能以 termcap 名称命名,而不是 terminfo 名称,而 vim 没有变量。因此,您必须使用以 termcap 代码命名的变量来t_bl清空该功能,因为无法清空该功能,并且flashvbbel选择它作为您正在使用的铃铛。

:set visualbell t_vb=

答案2

好的,感谢 JdeBP 的回答,在运行时插入 GVIM 时效果很好,但放入 .vimrc 时效果不佳。我找到了解决方法这里答案是把它放在你的 .vimrc 中:

" - Stop the bell ringing all the time when you do something dumb
" - or unnecessary.
set visualbell t_vb=
au GuiEnter * set visualbell t_vb=

答案3

听起来你已经启用了 vim 的“可视铃声”功能,每次铃声传统上响起时,它都会用闪光提醒用户(正如你所怀疑的那样)。

您可以通过输入以下命令在当前会话中禁用它:

:set novb

set novb或者通过在您的 中添加行来永久禁用它.vimrc

相关内容