2011-06-27 25 views
5

我剛裝(真棒)哦,我的-zsh的軟件包來定製我的zsh的提示,但我已經打了這個奇怪的問題:(哦,我的 - )zsh中的文件名完成改變當前字體

如果我在命令名稱上使用自動完成(例如sou<TAB> - >source),一切都按預期工作。但是,如果我在文件名稱(例如source .zshr<TAB> - >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]' 

在此先感謝。

回答

6

實際上,解決方案很簡單:顏色&由%B引入的重量變化和%F必須由%b和%f關閉,而不是由$ reset_color ......這就是全部。

+0

我有同樣的問題,也被難倒了。謝謝。 –

0

僅在關閉兩個提示中的單引號之前重置顏色;或者您也可以使用%{^[[0m%}轉義序列。請注意,^[是一個控制轉義字符,您可以通過先按住控制鍵並鍵入v然後釋放並按一次轉義鍵來鍵入它。

+0

不,這仍然不適合我... – antony