我創建了一個定製的Mac終端提示與.bashprofile以下行:定製終端提示的顏色會導致循環問題
export PS1='\e[0;36m\][\u] \w:\e[0;31m\]$(__git_ps1 " (%s)") \e[00m\n\e[1;33m\]\342\230\200 >\e[0m\] '
有不少東西會在這裏,但我已經分離出的罪犯成爲'\ e'...部分,它控制文本出現的顏色。
儘管生成的文本提示本身非常準確且功能正常,但沒有問題,但使用箭頭鍵循環查看過去的命令時出現奇怪的錯誤。似乎在循環和達到某個任意字符長度(比如18)的命令時,前幾個字符在繼續循環時不再被刪除,導致各種輸入(儘管功能正確)的外觀不準確。這是有點難以所以這裏解釋的是與提示(「>」)和擊鍵通過「向上」或「向下」在星號表示一個例子:
> vim sample.txt ** up **
> vim test.txt ** up ** (no problems so far)
> cd /Documents/Test_Folder/sample/foo.txt **down**
> cd /Documvim text.txt (the issue is visible)
換言之,前一命令的一部分做不會完全刪除導致出現令人困惑的字符串,儘管執行該命令將正確運行(而不是出現文本)。請注意,發出的最後一個「下」也可以替換爲「上」,問題仍然會發生。
任何人都可以解釋爲什麼會出現這種情況,或者如果有替代「\ e」來更改Mac終端顏色以避免此問題?
的可能重複(http://stackoverflow.com/questions/17306348/long-lines-overlap-in-bash-ps1- [長行的Bash PS1提示重疊]提示) – Kevin