(哦-my-)zsh文件名完成更改当前字体

时间:2011-06-27 17:47:29

标签: fonts zsh

我刚安装了(真棒)oh-my-zsh软件包来自定义我的zsh提示符,但我遇到了这个奇怪的问题:

如果我在命令名称上使用自动完成功能(例如sou<TAB> - &gt; source),则一切都按预期工作。但是,如果我在文件名称上使用自动完成功能(例如source .zshr<TAB> - &gt; source .zshrc),则整个命令的字体将变为灰色粗体。我在我的PROMPT和颜色中使用粗体,但不是灰色,所以我不知道颜色代码来自哪里;事实上,只有在完成文件名时才会让我感到困惑。

以下是我的PROMPTRPROMPT(灵感来自Steve Losh的prose主题。)

PROMPT='
%B%F{208}%n%{$reset_color%}%{$fg_bold[white]%}@%B%F{039}$(box_name)
%{$reset_color%}:%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}
$(hg_prompt_info)$(git_prompt_info)
$(virtualenv_info)$(prompt_char) '

RPROMPT='${return_status}%{$reset_color%}[%t]'

提前致谢。

2 个答案:

答案 0 :(得分:6)

实际上,解决方案相当简单:颜色和重量变化由%B引入,%F必须由%b和%f关闭,而不是由$ reset_color ...这就是全部。

答案 1 :(得分:0)

在两个提示中关闭单引号之前重置颜色;或者您也可以使用%{^[[0m%}转义序列。请注意^[是一个控制转义字符,您可以通过先控制并键入v然后释放并按一下转义键来输入它。