好的,所以我正在使用这种名为zsh-syntax-highlighting的小巧尖端技术,虽然我对结果总体感到满意,但我不知道如何将样式设置为8种基本颜色(黑色,红色,绿色,黄色,蓝色,洋红色,青色,白色),例如
#works
ZSH_HIGHLIGHT_STYLES[path]='fg=red'
ZSH_HIGHLIGHT_STYLES[path]='fg=1'
#doesn't work
ZSH_HIGHLIGHT_STYLES[path]='fg=31m'
ZSH_HIGHLIGHT_STYLES[path]='fg=\e[31m'
ZSH_HIGHLIGHT_STYLES[path]='fg=%{\e[31m%}'
ZSH_HIGHLIGHT_STYLES[path]='31m'
ZSH_HIGHLIGHT_STYLES[path]='\e[31m'
ZSH_HIGHLIGHT_STYLES[path]='%{\e[31m%}'
ZSH_HIGHLIGHT_STYLES[path]='%{\e[1;38;5;118m%}'
那么,如何为这个zshzle插件设置更多精美的颜色呢?
答案 0 :(得分:4)
正如您在chepner answer terminator
的评论中指出的那样是gnome-terminal
的一个分支,它仍然使用gnome中的许多函数。事实上似乎整个terminator
VTE widget来自gnome和gnome-terminal默认情况下"支持"只有8种基本颜色。您可以使用echotc Co
命令进行检查。对于它们和xterm
,它将返回8(尽管在xterm
情况下这是真的并且只有8种颜色),所以基本上你到目前为止尝试了所有3个终端模拟器。
现在,您注意到teminator(和gnome-terminal)实际上可以显示更多颜色,但这只是因为它或多或少地处理所有这些特殊颜色代码而不关注TERM设置什么不遵守标准但是,这是侏儒。无论如何要简短地说明你需要将TERM
环境变量设置为类似xterm-256color
的内容并再次使用echotc Co
进行检查 - 您现在应该看到256
和{{1}应该也可以。
总是以256种颜色开始,你可以放入.zshrc
ZSH_HIGHLIGHT_STYLES[path]='fg=217'
如果您有[[ "$TERM" == "xterm" ]] && export TERM=xterm-256color
的任何gnome快捷方式,请按以下步骤更改
terminator
答案 1 :(得分:1)
http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting表示fg
的值是0到255之间的单个整数:
ZSH_HIGHLIGHT_STYLES[path]='fg=167' # Whatever color 167 is in the 256-color palette.
答案 2 :(得分:1)
我注意到您正在使用[路径],可能是自带颜色设置的自定义路径会干扰您的突出显示设置。尝试使用其他项目进行测试,例如[command]:
ZSH_HIGHLIGHT_STYLES[command]='fg=222'
我尝试了以上这一行,它对我有用。我尝试使用相同的路径值,因为我知道我的自定义提示有自己的颜色,并且我的提示自定义颜色在突出显示中胜出。
我使用名为Oh-My-ZSH的ZSH助手,因此以下内容可能略有不同或不适用于您:
确保在加载高亮插件后更改颜色定义。在我的设置中,它实际上会产生错误,但由于我只在我的系统(OSX10,9,ZSH 5.0.7,Oh-My-ZSH,iTerm v2)上测试过,您的体验可能会有所不同。
不起作用:
ZSH_HIGHLIGHT_STYLES[command]='fg=222'
...
plugins=(git osx jim colorize zsh-syntax-highlighting)
工作:
plugins=(git osx jim colorize zsh-syntax-highlighting)
...
ZSH_HIGHLIGHT_STYLES[command]='fg=222'