我通常会在许多不同的计算机上打开许多窗口。我想让每台机器上的.bash_profile
将前景色和背景色设置为特定于该机器的颜色。
我在Cygwin上使用薄荷,在Mac上使用iTerm,有时使用xterm或aterm或gnome-terminal。
如果我在程序的特定GUI中更改了前景色和背景色,它们会粘住,进入EMACS或使用ls
选项进行--color
都不会改变。
但是,如果我使用ANSI序列将前景色和背景色设置为24位色,则EMACS或ls尝试将其他颜色设置为其他颜色时,终端的颜色会恢复为默认的前景色和背景颜色。
是否可以通过ESCAPE SEQUENCE而不是GUI来更改默认的前景色和背景色?
答案 0 :(得分:2)
有,但是只能在xterm中可靠地实现(并记录)。这就是"dynamic colors"程序使用的xtermcontrol功能:
可以使用
int, 0: <class 'numpy.int8'> From: -128 To: 127 int, 1: <class 'numpy.int16'> From: -32768 To: 32767 int, 2: <class 'numpy.int32'> From: -2147483648 To: 2147483647 int, 3: <class 'numpy.int64'> From: -9223372036854775808 To: 9223372036854775807 uint, 0: <class 'numpy.uint8'> From: 0 To: 255 uint, 1: <class 'numpy.uint16'> From: 0 To: 65535 uint, 2: <class 'numpy.uint32'> From: 0 To: 4294967295 uint, 3: <class 'numpy.uint64'> From: 0 To: 18446744073709551615 float, 0: <class 'numpy.float16'> float, 1: <class 'numpy.float32'> float, 2: <class 'numpy.float64'> complex, 0: <class 'numpy.complex64'> complex, 1: <class 'numpy.complex128'> others, 0: <class 'bool'> others, 1: <class 'object'> others, 2: <class 'bytes'> others, 3: <class 'str'> others, 4: <class 'numpy.void'>
设置或查询的10种颜色(如下) 到1 0
表示为 动态颜色 ,因为相应的控制序列是设置xterm的第一个方法 动态色彩,即启动后的色彩。他们不是 与ANSI颜色相同。这些控件可能被禁用 使用1 9
资源。至少一个参数是 预期为 Pt 。每个连续的参数更改下一个 列表中的颜色。 Ps 的值告诉起点 在列表中。根据allowColorOps
通过名称或RGB规范指定颜色。如果给出
XParseColor
,而不是名称或RGB规范, xterm用相同形式的控制序列进行回复 可用于设置相应的动态颜色。因为 可以有一对以上的颜色编号和规格 给定一个控制序列,xterm可以产生多个 回复。
对于其他终端,他们可以识别功能的一部分,但不完整,并且不提供文档(源代码除外)— ymmv