我最近更新了我的提示,看起来像
[user@User] ~/wroking/directory (git-branch)
↳
在我的.bashrc
source ~/.local/bin/git-prompt.sh
GIT_PS1_SHOWDIRTYSTATE="true"
PS1='\e[0;36m[${debian_chroot:+($debian_chroot)}\u@\h] \w$(__git_ps1 " (%s)")\e[m\n\e[1;36m⤷\e[m '
但是当我ctrl+a
回到输入的开始处时,光标(█
)只会像这样移动
[user@User] ~/wroking/directory (git-branch)
↳ command --option1=foo --option2=bar█
ctrl+a
[user@User] ~/wroking/directory (git-branch)
↳ command -█option1=foo --option2=bar
ctrl+k
[user@User] ~/wroking/directory (git-branch)
↳ command -█
ctrl+e
[user@User] ~/wroking/directory (git-branch)
↳ command - █
如果我按下back-space
后ctrl-a
什么反应也没有发生。如果我按下后也没有反应left-arrow
。
我总能通过清除屏幕来解决这个问题,但我发现这种行为真的很烦人,让人分心。尤其是因为我不知道发生了什么。有人知道吗?我该如何解决这个问题?
答案1
您需要将颜色代码包装\[
在\]
PS1='\[\e[0;36m\][${debian_chroot:+($debian_chroot)}\u@\h] \w$(__git_ps1 " (%s)")\[\e[m\]\n\[\e[1;36m\]\$\[\e[m\] '