我使用午夜指挥官 4.8.16。如果我设置 xterm 256 颜色:export TERM=screen-256color
那么我的鼠标不起作用,但强制 xterm:mc -x
可以解决问题。
如何永久强制xterm(在mc配置中不使用别名)?
答案1
使用起来TERM=screen-256color
好像是个问题。在源代码中(tty_check_term
DISPLAY
),仅当同时设置时,Midnight Commander 才会将其视为“xterm”(并决定它支持鼠标) 。忽略注释(这是错误的),只阅读源代码。函数返回值用在一处,从main.c
(再次,忽略评论......)。
kmous=\E[M,
Midnight Commander 忽略了终端描述的实际内容,这恰好表明该配置支持 xterm 风格的鼠标(即描述中存在)。它这样做是为了解决使用俚语的问题,俚语也会忽略终端描述,只查看TERM
.这是一个老错误,可以追溯到 20 世纪 90 年代。
作为解决方法,您可以如果未设置,则设置DISPLAY
为虚拟值,因为 Midnight Commander 除了此检查之外什么也不做。根据您的环境,这可能会产生其他副作用。
进一步阅读:
- 扩展(terminfo-终端能力数据库)
小心分配
kmous
能力。 ncurses 想要将其解释为KEY_MOUSE
,供终端和模拟器(例如 xterm)使用,可以在键盘输入流中返回鼠标跟踪信息。