在 macOS 的终端中,Less 似乎不再接受鼠标滚动

She*_*yar 8 mouse terminal terminal.app scrolling macos

几年来,macOS 中的Terminal.app一直支持使用该less程序进行鼠标滚动,但今天我注意到它不再接受鼠标滚动,现在只能使用UpDown键。我安装的lessvia macOS 版本是 487。


什么不起作用:

less和所有其他使用它的程序都不接受鼠标滚动。相反,它会滚动终端窗口。这些“其他”程序是:

  • man
  • git log
  • diff

以前,less关闭屏幕时也会清除屏幕 ( q),但现在文本仍保留在屏幕上。


我试过的:

  • 测试其他程序: vim例如,仍然接受鼠标滚动
  • 使用其他终端模拟器: less在不接受鼠标滚动Hyper或者
  • 通过 SSH 在另一台机器上测试:连接到我的一个 VPS,并less在终端应用程序中使用。鼠标滚动正在使用它。
  • 使用了较新版本的 less:使用Homebrew安装了less的最新版本(530),但它也不适用于鼠标滚动。

所以我不确定出了什么问题。非常感谢任何帮助less再次接受鼠标滚动。

She*_*yar 8

在浏览了其他一些答案之后,我意识到有一个$LESS包含默认标志的环境变量。

在我的其他 Mac 和 Ubuntu 系统上它是空的,但由于某种原因,它-FRX在这台机器上是空的,这导致了这些问题

  • -X导致它接受鼠标滚动
  • -F 导致它自动退出小文件

这很奇怪,因为我从来没有改变过它,所以它一定是被其他程序修改过的。无论如何,在我的.rc文件中手动设置它解决了这个问题:

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

资料来源:

  • 另请参阅 https://superuser.com/q/961719/278816 以澄清 `less` 根本无法处理鼠标,`-X` 选项只是间接导致不处理鼠标事件(由终端模拟器,而不是减少)正如人们所期望的那样。 (2认同)