[在gnome-terminal和konsole中,我的光标颜色根据vim中选择的前景色而改变(如果我使用红色文本,则我的光标为红色)。在xterm中,我的光标总是白色。如何将xterm设置为与gnome-terminal或konsole相同的行为?
非常感谢。
实际上,xterm的manual并不是那么简单,并且仅此功能还没有合适的教程。从手册中引用:
cursorColor(类CursorColor)
指定用于文本光标的颜色。默认是“XtDefaultForeground”。默认情况下,xterm尝试保持此状态颜色与背景颜色相同,因为它通过填充文本单元格的背景来绘制光标。该相同的限制适用于可能改变的控制序列这种颜色。
设置此资源将覆盖xterm对以下内容的大部分调整光标颜色。仍然会使用反向视频来禁止某些操作情况,例如黑色背景上的黑色光标。
此外,突出显示可以被特殊对待(引用命令行选项的描述);
-hm
告诉xterm使用highlightTextColor和highlightColor来覆盖选择中反转的前景色/背景色。它将highlightColorMode资源设置为“ true”。
这暗示了一些情况:
现在... xterm通过选择与前景和背景相反的颜色基本上使光标可见(除非被覆盖)。 Gnome-terminal会执行类似的操作,但并非如此:它从调色板中选择相反的项,这(现在阅读示例)可以使光标的可见性降低,因为它使用的调色板的发光性较小。 (特别是,我注意到黄色文本的“反向”变成了暗淡的橙色)。通常,Konsole的调色板会提供更差的可见性(尽管黄色像xterm一样颠倒,红色文本在黑色背景上却模糊不清)。
的XTerm:
侏儒末端:
的Konsole
简而言之:听起来好像OP的xterm已配置为将光标颜色设置为特定值,而解决方法是消除该设置。但是,除非特别注意配置颜色(对于所有三个终端),否则光标在文本will上的外观会有所不同。
为了确保光标的颜色始终是前景的颜色,请将其自己添加到.Xresources
或整个机器上添加到/etc/X11/app-defaults/XTerm
。第二秒的位置可能因操作系统而异。
xterm*cursorColor: *XtDefaultForeground
根据Xterm的manual,它将自动突出显示文本光标。 Gnome-terminal从Xterm继承了该特性,这就是为什么光标颜色在vim中会发生变化。
就我而言,xterm在光标突出显示方面与gnome-terminal相同。
您使用的是真正的xterm,是否还有其他将$ TERM设置为'xterm'的术语?