如何禁用 Vim 铃声?
Posted
技术标签:
【中文标题】如何禁用 Vim 铃声?【英文标题】:How to disable Vim bells sounds? 【发布时间】:2013-09-06 12:21:43 【问题描述】:我正在尝试禁用 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
【问题讨论】:
这声音太烦人了。为什么默认开启??有没有人可以改变这一点??? @Soren - 声音取决于您的终端。过去,大多数航站楼的候机楼铃声都是无害的。请记住,当 vi 启动时,我们使用了 VT100 和 ADM3 等硬件终端。 (现在你可以说“OK Boomer”了。) 【参考方案1】:假设你在 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.
【讨论】:
啊,我在阅读帮助文件时一定跳过了那行,我不明白为什么需要重置它,这有点令人讨厌。感谢autocmd
。
Here 是提到它的 vim 文档的链接【参考方案2】:
我尝试了几次不同的配置,但都没有成功。似乎 gVim 在 GUI 启动时重置了可视铃。对我有用的唯一方法是在.vimrc
(或_vimrc
,如果您使用的是Windows)末尾的这个sn-p:
set visualbell t_vb=
if has("autocmd") && has("gui")
au GUIEnter * set t_vb=
endif
【讨论】:
【参考方案3】:对我来说,如果我把 gVim 放
set noerrorbells
set vb t_vb=
在~/.gvimrc
,而不是~/.vimrc
。
【讨论】:
【参考方案4】:尝试在您的 .vimrc、.gvimrc 文件中使用以下行:
set belloff=all
【讨论】:
谢谢 - 其他答案适用于禁用可视铃,但这是为我禁用音频铃的设置。 适用于 vim-gtk3 8.0。 在使用安装了版本 8 的sudo apt install vim
更新默认版本的 vim 后,这适用于 Ubuntu 16LTS
在插入模式下按最后一行的向下箭头时仍然会发出哔哔声【参考方案5】:
在尝试了所有提到的选项(对我不起作用)之后,我想出了以下解决方案并且对我有用(Windows)。 哔声与 git bash 终端设置有关。
按照以下步骤操作:
-
右键单击终端/git bash 或您正在使用的任何内容。
点击选项。
选择终端。
从 Bell 下拉菜单中选择 “无哔”。
【讨论】:
另外,您可以将哔声变为无害的声音。【参考方案6】:使用 VsVim 扩展在 Visual Studio 2019 中禁用可视铃:
VsVim 检测到_vimrc
的存在,所以添加以下内容:
C:\Users\YourName\_vimrc
set vb t_vb=
设置其他 options 像 errorbells
或 beloff
在 VsVim 中无效。
【讨论】:
我在 pycharm 中安装了 vim 扩展,这个解决方案奏效了!以上是关于如何禁用 Vim 铃声?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 vim 中禁用 linting(不,它不是 ALE)