在 man 页面和 less 中关闭终端铃声

在 man 页面和 less 中关闭终端铃声

我想知道是否有一种方法可以关闭终端应用程序(例如man和)的终端铃声less,例如,当您已经位于文件/手册页的顶部并按“k”尝试向上滚动时。通常,我只是完全关闭终端模拟器上的铃声,但流行的xset b off命令似乎不适用于我的设置:我正在从 Ubuntu 16.04(特别是在 WSL 中)通过 X11 转发到 Xming 运行 XTerm 。因此,如果有任何关于如何关闭 XTerm 铃声的说明,我也将不胜感激。

我知道如何通过输入 来关闭的readline响铃,但不幸的是,这只有助于输入(例如多个可用的选项卡完成),而不是滚动 man/less 页面时。set bell-style none~/.inputrc

我也知道关闭铃声-Q的命令行 arg less,但我想我希望有一个更通用的设置/命令适用于 和manless也可能适用于其他)。

我想如果我不能完全关闭 XTerm 的铃声,我会尝试学习如何关闭每个应用程序的铃声,一个接一个,直到我至少得到所有烦人的铃声。

答案1

man使用默认寻呼机,在 Ubuntu(和大多数其他系统)上是less.您可以更改此设置,但您可能知道您已经这样做了。这就是为什么您在其中翻阅格式化输出的界面man看起来和感觉起来就像less:确实如此。man格式化联机帮助页后,它用于less显示它。所以你可能想要的是less 总是表现得就像该-Q选项已传递给它一样,包括当它被man其他程序使用时。

运行时,除了在命令行参数中传递给它的选项之外,less它还会检查环境变量中要使用的选项。LESS因此,您可以将其放入打开 WSL 命令提示符时获取的脚本之一中:

export LESS=-Q

或者您可能更喜欢这样,它保留变量中已存在的任何选项LESS。通常这是不必要的,因为该变量通常尚未定义,但即使没有定义,这仍然有效:

export LESS="$LESS -Q"

大多数 Ubuntu 用户会想要设置这个和其他环境变量他们的~/.profile档案。 (还有一种方式与~/.pam_environment有些人更喜欢使用不同的语法.) 这也是我会推荐给你的,如果 WSL 为您提供的 shell 是登录 shell, 哪个在最近的版本中(或者如果您已将其配置为),它应该是

您可以通过shopt login_shell在打开 WSL 命令提示符窗口时提供的 shell 中运行来检查这一点。如果它不是登录 shell,并且您不想将-l或添加到 Windows 快捷方式,则将这些命令--login之一放入而不是.export.bashrc.profile

答案2

xterm 有一个可视铃声选项,可以让终端闪烁而不是敲响铃声。使用选项-vb或在您的~/.Xdefaults

XTerm*visualBell:true

或回显相同的内容xrdb -merge

相关内容