我正在为我的终端的PS1
.
我正在使用设置颜色变量tput
;例如,这里是紫色:
PURPLE=$(tput setaf 125)
Run Code Online (Sandbox Code Playgroud)
我如何找到125
其他颜色的颜色代码(例如)?
某处是否有色表指南/备忘单?
我只是不确定什么125
是......有什么方法可以将十六进制颜色转换为setaf
可以使用的数字?
我想知道一些终端魔法在内部是如何工作的。
在使用 docker 容器时,$TERM
未设置环境变量。这导致了像 vim 和 tmux 这样看起来很奇怪的控制台应用程序,但也会导致 CTRL+l(清屏)被忽略。
我很确定像部分屏幕更新、颜色、屏幕重置等命令等所有功能都是使用转义码实现的,对吗?
那么这个变量在哪里解释并允许例如使用 CTRL+l 重置我的终端屏幕,如果我在那里设置了正确的值?谁检查例如支持哪些颜色(xterm 与 xterm-256color)?贝壳?应用程序还是像 ncurses 这样的库?可能的值/终端类型在哪里定义?
所以,我决定尝试一下 Alacritty,在他们的默认配置中有以下评论:
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
Run Code Online (Sandbox Code Playgroud)
我不明白的是:为什么我要xterm-256color
在使用 alacritty 时将 TERM 设置为?xterm 不是 Linux 的默认终端模拟器吗?在旧的 OSX 时代,我记得使用 iTerm2,但xterm-256color
如果我没记错的话,变量 TERM 被设置为- 当时我从来没有想过为什么会这样。