2013-03-14 69 views
1

這是我的zsh PROMPT配置:

PROMPT=$' 
%{$purple%}%n%{$reset_color%} at %{$orange%}%m%{$reset_color%} in %{$limegreen%}%~%{$reset_color%} $vcs_info_msg_0_ 
$ ' 

這是怎麼我的zsh顯示

shell screenshoot

起初我只是想獲得master**字符串用於其他用途,然後我搜索對於zsh是如何得到它的,發現這個消息是由zsh的vcs_info包生成的,並且存儲在$vcs_info_msg_0_中,但正如屏幕截圖所示,該變量的回顯結果非常奇怪。爲什麼會發生這種情況,以及如何才能獲取存儲庫文件夾的git信息(顏色爲master**)?

回答

1

這是因爲變量只能在提示中使用,無處可用。你看到的奇怪的東西是特殊的控制序列,在提示提示時由ZSH解釋。

+0

很好的解釋,所以有沒有其他方式來獲取回購的git信息,如提示所示? – Reorx 2013-03-15 05:28:30

+1

這真的取決於你想要達到的目標。所做的只是解析'git status','git ls-files'等的輸出,所以沒有什麼能阻止你做同樣的事情。 – 2013-03-15 06:19:21