受“电力线外观”的启发,我尝试为 zsh 构建一些简单的自定义提示。我的 .zshrc 目前看起来像:
CLICOLOR=1
PROMPT=$'%K{236}%F{246}%n%f@%B%m%b %k%K{045}%F{236}\Ue0b0%f %F{000}%2~%f %k%F{045}\Ue0b0%f %# '
但是,我注意到路径的背景颜色和下面的三角形的前景色(都设置为045)之间存在颜色差异,如下面的屏幕截图所示
我以为我的
PROMPT
变量有问题,但 VSCode 内的终端中的提示看起来不错:
似乎 Terminal.app 由于某种原因使背景颜色变暗,但我没有找到关闭此功能的方法。 这可能吗?或者我可以通过某种方式修改我的
PROMPT
来防止出现问题吗?
编辑:我使用的字体“Hack”可以在这里找到:https://sourcefoundry.org/hack/
提前致谢, 菲利普
问题在于 MacOS 终端应用程序有一个奇怪的功能,它会根据终端的默认背景以不同的方式呈现文本。如果显式指定背景颜色,则前景色与未指定背景颜色或已重置为默认值时的颜色略有不同。
这与下面的问题相同。检查那里以获得更好的讨论和潜在的解决方法。 https://apple.stackexchange.com/questions/282911/prevent-mac-terminal-brightening-font-color-with-no-background/446604#446604
就像 @user3363087 的链接,
方法1
PROMPT=$'%K{236}%F{246}%n%f@%B%m%b %k%K{cyan}%F{236}\Ue0b0%f %F{000}%2~%f %k\e[48;5;256;36m\Ue0b0%f%k %# '
要更改“电源线外观”路径块的颜色,请设置 ANSI 青色值。如果您想将其更改为绿色,请将
%K{cyan}
和 \e[48;5;256;36m
替换为 %K{green}
和 \e[48;5;256;32m
。
以下是其他颜色:
Text (m) \033[48;5;256;m
Bold (1m) \033[48;5;256;1m
Black (30m) \033[48;5;256;30m
Red (31m) \033[48;5;256;31m
Green (32m) \033[48;5;256;32m
Yellow (33m) \033[48;5;256;33m
Blue (34m) \033[48;5;256;34m
Magenta (35m) \033[48;5;256;35m
Cyan (36m) \033[48;5;256;36m
White (37m) \033[48;5;256;37m
方法2
PROMPT=$'%K{236}%F{246}%n%f@%B%m%b %k%K{045}%F{236}\Ue0b0%f %F{000}%2~%f %k%K{0}%F{045}\Ue0b0%f%k %# '
您需要将
%K{0}
替换为终端背景的实际值。