如何在zsh中更改提示符的颜色(与普通文本不同)?

229
为了更好地识别命令行输出的开头和结尾,我想改变我的提示符颜色,以便于它在程序输出中能够清晰可见。由于我使用的是zsh,有谁能给我一些提示吗?
12个回答

4
为了补充上述所有答案,另一个方便的技巧是将彩色提示设置放入一个zsh函数中。在那里,您可以定义本地变量以别名较长的命令,例如rc=$reset_color,或定义自己的颜色变量。不要忘记将其放入您的.zshrc文件中,并调用您定义的函数:
# Coloured prompt
autoload -U colors && colors
function myprompt {
  local rc=$reset_color
  export PS1="%F{cyan}%n%{$rc%}@%F{green}%m%{$rc%}:%F{magenta}%~%{$rc%}%# "
}
myprompt

1

我阅读了这里已有的答案,其中一些是相互矛盾的。我在运行zsh 4.2和5+的系统上尝试了各种方法,并发现这些答案之所以相互矛盾,是因为它们没有说明针对哪个版本的ZSH。不同版本使用不同的语法,有些需要各种autoloads。

因此,最好的选择可能是man zshall并搜索PROMPT EXPANSION,以找出您特定安装的zsh的所有规则。请注意,在评论中,像“我使用Ubuntu 11.04或10.4或OSX”这样的事情并不是很有意义,因为不清楚您使用的ZSH版本。Ubuntu 11.04并不意味着比ubuntu 10.04更新的ZSH版本。可能有许多原因安装较旧的版本。同样,更新的ZSH版本并不意味着不知道使用哪个语法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接