使用git时,我决定将.git-prompt.sh添加到我的.bashrc文件中。此文件显示我当前正在处理的分支的名称。 我还决定添加一些颜色。
if [ -f ~/.git-prompt.sh ]; then
#include the branch detection file
source ~/.git-prompt.sh
#add the current branch in yellow
export PS1='$(__git_ps1 "[\e[38;5;220m%s\x1b[0m]")'
#make the rest of the text in the prompt gray
PS1+="\e[38;5;245m\w$ "
#set colors back to default
PS1+="\033[0m"
fi
使用任何终端(gnome-terminal,xterm,quake)会导致同样的问题。当输入的行太长时,
提示会跳回到行的开头。这可能是因为彩色文本的实际长度要长得多。
如果没有这种打嗝,如何获得终端颜色?
答案 0 :(得分:1)
我认为你需要写
#add the current branch in yellow
export PS1='$(__git_ps1 "[\[\e[38;5;220m\]%s\[\x1b[0m\]]")'
#make the rest of the text in the prompt gray
PS1+="\[\e[38;5;245m\]\w$ "
#set colors back to default
PS1+="\[\033[0m\]"
所以你有\[
和\]
围绕所有颜色指令。