关闭手册页和更少的终端铃声

vil*_*apx 3 less man xterm bell

我想知道是否有办法关闭终端应用程序的终端铃声,例如manless,例如,当您已经在文件/手册页的顶部并按“k”尝试向上滚动时。通常,我只是完全关闭终端模拟器上的铃声,但流行的xset b off命令似乎对我的设置不起作用:我正在运行 XTerm 从 Ubuntu 16.04(特别是在 WSL 中)通过 X11 转发到 Xming . 所以我也很感激关于如何关闭 XTerm 铃声的任何注释,如果有的话。

我知道如何关闭readline通过把的钟声set bell-style none~/.inputrc,但不幸的是这不仅有利于输入(如多个可用的选项卡落成),滚动人/更少页面时,不是。

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

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

Eli*_*gan 10

man使用您的默认寻呼机,它在 Ubuntu(和大多数其他系统)上是less. 你可以改变这一点,但你可能知道你做到了。这就是为什么您在其中翻阅man格式化输出的界面的外观和感觉就像less:确实如此。经过man格式手册页,它使用less以显示它。因此,您可能想要的是 makeless 始终表现得好像-Q选项已传递给它,包括何时被man其他程序使用。

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

export LESS=-Q
Run Code Online (Sandbox Code Playgroud)

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

export LESS="$LESS -Q"
Run Code Online (Sandbox Code Playgroud)

大多数 Ubuntu 用户都希望在他们的文件中设置这个和其他环境变量。(也一些人更喜欢的方法,它使用不同的语法。)这也是我向你推荐的,如果 shell WSL 给你一个登录 shell,它在最近的构建中(或者如果你有将其配置为)应该是~/.profile~/.pam_environment

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

  • 将 `LESS` 设置为 `-Q` 很有魅力;谢谢! (3认同)