我一直在编辑我的颜色配置文件并试验每个条目会改变什么颜色。
作为参考,这就是我所说的:
我到处寻找每个调色板条目改变颜色的列表,但最终一无所获
这是我目前对每个“调色板条目号”的了解:
- 1 个突出显示颜色
- 2 字符串颜色
- 3 ? 特定高光的颜色
- 4 ? python ‘def’ 和 ‘TODO’ 颜色
- 5 ? 注释代码,用“调色板 3”突出显示时的文本颜色
- 6 ? 导入/转义字符
- 7 ? 功能颜色主要,打印
- 8 ?
- 9 ?
- 10 特定高亮下的文本颜色
- 11 ? 可运行文件 / 可执行文件 / zip 文件
- 12 ?
- 13 目录颜色
- 14?PNG 文件,图片
- 15 ?
- 16 ?
我目前所得到的答案正确吗?其他条目改变了什么颜色?
答案1
反过来也一样。终端仿真器提供除了默认的前景色/背景色之外,还有 2*8 种颜色可供应用程序选择,并且不知道/不关心应用程序如何使用它们。(应用程序可以使用的颜色要多得多,但这些是标准颜色,通常由用户自定义。)
这些颜色传统上是黑色、红色、绿色、黄色(棕色)、蓝色、洋红色、青色、白色(浅灰色)及其更亮的对应色。您可以为它们选择您最喜欢的色调,有一些预定义的色调,但您也可以创建自己的方案(当然没有人强迫您实际选择与通常值相似且与正式名称相对应的颜色,就像您对第一种颜色所做的那样(白色而不是黑色)(*),这可能会导致在多个应用程序中难以阅读)。
每个应用程序都会自行决定要为哪个功能、上下文等使用哪种颜色。您需要查阅您感兴趣的每个应用程序的颜色使用情况的文档和设置。
例如,对于ls
命令,检查环境变量LS_COLORS
。您将识别文件扩展名,另外还有表示文件类型的两个字母的关键字。至于值,30–37 表示前 8 种颜色为前景颜色;90–97 或通常为 30–37 与 1(或 01)的组合表示接下来的 8 种颜色为前景颜色 - 尽管 1(或 01)也会使文本变为粗体。40–47 代表前 8 种颜色,100–107 代表接下来的 8 种颜色为背景颜色。对于mc
(Midnight Commander),定义位于/usr/share/mc/skins
或类似目录下的皮肤文件中,对于其编辑器,语法高亮文件位于syntax
它旁边的目录中。等等...对于每一个应用程序,您必须单独检查它使用哪种颜色用于什么用途,以及它们是否允许配置它们(如果是,如何配置)。没有通用的模式或典型的颜色分配。
(*) gnome-terminal 中曾经有一个错误,即 UI 上的第一种颜色没有正确初始化,所以可能不是你把它改成了白色。这个问题在 gnome-terminal 3.20.3 中得到了修复。
答案2
列出的数字指向调色板颜色(见ctlseqs.txt文件),如@egmont 所示,但数字旁边的描述(如目录颜色)是 ls 实用程序的颜色设置的证据[参见目录颜色(1)&目录颜色(5)]。要查看格式,请执行“ more /etc/DIR_COLORS
”。要创建个人文件,请执行“ dircolors --print-database >~/.local/MyLocal/.MyGNUDircolors.txt
”(无需弄乱 HOME)。要调用此文件,请执行如下代码
if [ -f /etc/DIR_COLORS ] && [ "$TERM" == "linux" ]; then
_colorfile=/etc/DIR_COLORS
test -r $_colorfile && eval "$(dircolors $_colorfile)"
else
_colorfile=/home/??USER??/.local/MyLocal/.MyGNUDircolors.txt
test -r $_colorfile && eval "$(dircolors $_colorfile)"
fi
需要放在 .bashrc 中(更改 ??USER??)。修改文件时,请按照目录颜色(5)。以下是我的一些作品:
LEFTCODE \e[0;0;0 # 默认:\e[
RIGHTCODE m # 默认
ENDCODE \e[0;48;2;139;095;101m\e[K # 浅粉色 4
FILE 3;39;48;2;139;069;019 # 斜体;浅白色/鞍棕色
# 粗体;双下划线;blue4 over burlywood
DIR 1;21;38;2;000;000;139;48;2;222;184;135 # 目录
EXEC 4;38;2;124;252;000;40 # 带下划线的 LawnGreen
注意:ENDCODE 可能会渗入到您的提示中。我使用了一个覆盖整个提示行的提示;它换行,因此单一颜色的 $ 是实际的提示。下面的第二个 PS1 就是一个例子。为什么是 ENDCODE?无论终端 FG/BG 颜色是什么 - 黑底白字、黑底绿字等 - 对比度总是会降低:LightPink4 对我来说是有效的。Preferences-
>Profile->Color 附件上方的语句“编辑我的颜色配置文件”会导致不同的推断。在调色板中,第一行调色板是 30/40 ... 37/47,第二行是 90/100 等。除了 30/40(白色)之外,所有颜色似乎都是默认颜色。将以下内容放入 bash 脚本中:
# filename: ColorPalette.sh
echo -e "\e[0m\e[0;91;46mUse the following color reference as aid in color design:\e[0m"
echo -e "\e[0m\e[30m 0/30 \e[31m 1/31 \e[32m 2/32 \e[33m 3/33 \e[34m 4/34 \e[35m 5/35 \e[36m 6/36 \e[37m 7/37\e[0m"
echo -e "\e[0m\e[40m 40 \e[41m 41 \e[42m 42 \e[43m 43 \e[44m 44 \e[45m 45 \e[46m 46 \e[47m 47 \e[0m"
echo -e "\e[0m\e[90m 8/90 \e[91m 9/91 \e[92m 10/92 \e[93m 11/93 \e[94m 12/94 \e[95m 13/95 \e[96m 14/96 \e[97m 15/97\e[0m"
echo -e "\e[0m\e[100m 100 \e[101m 101 \e[102m 102 \e[103m 103 \e[104m 104 \e[105m 105 \e[106m 106 \e[107m 107 \e[0m"
输出将与 gnome-terminal 调色板相匹配。
将以下资源文件放入 ~/.local/MyLocal/(再次避免混乱)并执行指示的选项。使用“命名颜色的颜色代码”搜索网络,请记住命名颜色之间存在多种颜色。选择以下颜色并替换,然后运行 ColorPalette.sh 直到您满意为止。尝试选择文本并记下文本光标颜色。最后,将上述条件放入资源文件中并使用“ ls --color
”进行测试。以 #?? 开头的行(截断版本)效率更高。删除“#??”并注释其他行。
# filename: .bashrcColorsTest
# In gnome-terminal, run "source ~/.local/MyLocal/.bashrcColorsTest"
# ...or...
# use a different profile with Custom Command set to
# bash --rcfile ~/.local/MyLocal/.bashrcColorsTest
# ...or...
# gnome-terminal --title "Color Test" -- bash --rcfile ~/.local/MyLocal/.bashrcColorsTest &
# to demonstrate.
#??echo -en "\e]10;orange\007\e]11;gray7\007\e]4;8;#4C43A2;15;olive;\007"
# Change OSC FG/BG colors. Using BEL (bell) form.
echo -en "\e]10;grey0\007\e]11;#808080\007"
# Change OSC text cursor color. Using ST (string terminator) form.
echo -en '\e]12;khaki3\e\\'
# Change OSC FG/BG pointer (mouse) colors.
echo -en "\e]13;red\007\e]14;blue\007"
# Set color0 (30/40) color8 (90/100).
echo -en "\e]4;0;#000000\007"; echo -en "\e]4;8;#545454\007"
# Set color1 (31/41) color9 (91/101).
echo -en "\e]4;1;#ff5555\007"; echo -en "\e]4;9;#ff5454\007"
# Set color2 (32/42) color10 (92/102).
echo -en "\e]4;2;#fa0074\007"; echo -en "\e]4;10;#50fa7b\007"
# Set color3 (33/43) color11 (93/103).
echo -en "\e]4;3;#7f0a1f\007"; echo -en "\e]4;11;#f0fa8b\007"
# Set color4 (34/44) color12 (94/104).
echo -en "\e]4;4;#3282ff\007"; echo -en "\e]4;12;#1200f8\007"
# Set color5 (35/45) color13 (95/105).
echo -en "\e]4;5;#1b3cff\007"; echo -en "\e]4;13;#ff78c5\007"
# Set color6 (36/46) color14 (96/106).
echo -en "\e]4;6;DarkBlue\007"; echo -en "\e]4;14;#8ae9fc\007"
# Set color7 (37/47) color15 (97/107).
echo -en "\e]4;7;#bbbbbb\e\\"; echo -en "\e]4;15;#ffffff\007"
# Change OSC selection FG/BG. Default is reverse video.
echo -en "\e]19;orange\007\e]17;black\007"
PS1=$'\[\e[97;100m\]\s-\V on `uname -s -r` \$\[\e[0m\] '
#PS1=$'\[\e[97;100m\e[K\]\s-\V on `uname -s -r`\[\e[0m\]\n\[\e[31;40m\]\$\[\e[0m\] '