5
我想更改zsh中輸入文本的顏色(我爲每個命令鍵入的文本)。例如:在[email protected]> ls ~/
我希望ls ~/
爲黃色以從標準輸出中脫穎而出。zsh更改提示輸入顏色
我知道可以使用
export PS1=" $BIGreen \[email protected]\h \w \$ $IYellow"
在提示結束時的bash實現這一點,顏色設置爲黃色,輸入文本I型是黃色(與所定義的適當的顏色變量)。然後
trap 'echo -ne "\e[0m"' DEBUG
當我的命令的輸出顯示時,它將顏色重置爲正常。
我該如何做到這一點zsh?目前,我有
PROMPT=$'{$fg[green]%}%[email protected]%{$fg[green]%}%m %# %{$fg[yellow]%}'
in .zshrc(在最後設置顏色爲黃色),但它不起作用。 (我也不知道如何在命令後將顏色設置爲白色)。
這正是我想要的!謝謝。你介意解釋這是如何工作的嗎?另外需要注意的是,它在自動完成期間會自動完成顏色回覆(例如'ls somepath [tab]'),至少對於我的設置(我認爲zsh在自動完成期間插入了無色的斜線),但這是一個非常小的投訴。 – 2012-11-30 06:51:13
原始字符串中有一個拼寫錯誤('#F'而不是'%F'),但這也不是問題。我只是注意到,自動完成後,我遇到了和自己顏色相同的問題。 'prexec()'在從shell執行的每個命令之前被調用,這是如何工作來重置顏色的。原來你應該用'%f'標記關閉所有'%F'顏色變化以恢復原始顏色。如果我找出更好的解決方案,我會更新答案。 – 2012-11-30 17:24:11