xterm 终端模拟器可以做的不仅仅是显示文本

2021-08-09 20:56:37

最近,fvwmmailing 列表上的一个问题报告让我发现 Vim 可以通过自动命令(特别是 FocusGained 和 FocusLost)对失去 orgaining X 键盘焦点做出反应。对不起,我说 Vim 这样做了吗?嗯,Vim 可以,但 Vimis 不是单独工作的;古老的 X 终端仿真器 xterm 是其中的佼佼者。事实证明,Xterm 基本上可以将大量 X 事件传递给在其中运行的“终端”程序,包括 FocusIn 和 FocusOut。 (Xterm 在 Bash 的括号内粘贴模式中也发挥了作用。事实上,它的名字来自这样一个事实,即 xterm 会将带有特殊控制序列的粘贴括号括起来,以便您可以识别它们。)正如您现在可能已经猜到的,xterm(以及复制的东西)它足够完全)可以做的不仅仅是显示文本和模拟 DEC VT 终端。 XTerm Control Sequences 文档很长,它甚至没有完全描述它涵盖的所有内容(它假设您对该领域有一定的现有知识)。这些天,我的印象是 XTerm 是一个相当强大的环境,用于实现基于文本模式 X 的程序,您可以在其中获得许多相当原始的 X 事件(包括焦点事件)并对它们做出反应。我已经使用 xterm 足够长的时间了,这让我感觉有点奇怪。我仍然认为 xterm 是一个终端仿真器,而不是基于文本的程序与 X 交互的一般支持环境。但是显然对这种东西有一种渴望和需要,无论是像 Vim 这样的全功能程序(它可以在如果您愿意,可以与 xterm 合作)以及 Bash 的带括号的粘贴模式等功能。 (我自己可能不喜欢括号粘贴模式,但很多其他人显然喜欢。我不会妨碍他们拥有这种能力。) PS:在 Vim 中对此感兴趣的人可能想阅读来自 fvwm 邮件列表的问题。