gitを使用するときにbashプロンプトをカスタマイズするために、〜/.localshファイルに次のものを入れました。
基本的に、現在のブランチをターミナルに表示したいと思います。gitkツールは、背景が緑色で前景が黒色のブランチを表示するので、これを実行しようとしています。
私が持っているものは機能しますが、キーボードの上矢印を押して前のコマンドをスクロールバックすると、上書きされます。
これは、カラーシーケンスを[\e[0m]で終了しないときの前に起こったことです。getgitbranch関数を呼び出したために、これが発生しています。プロンプトの長さがわからない端末と関係があると思います。
だから、ここに質問があります...上矢印を使用するときにbashプロンプトで動的要素を正しく使用し、それを無駄にしないようにするにはどうすればよいですか?
function getgitbranch()
{
git branch | grep "^\*" | cut -c3-
}
function blabla()
{
PS1=""
PS1="$PS1\[\e[0;30m\]\[\e[42m\]\[\$(getgitbranch)\]\[\e[0;49m\]\[\e[0m\] "
PS1="$PS1\[\e[1;35m\][\[\e[0m\]"
PS1="$PS1\[\e[1;33m\]\w\[\e[0m\]"
PS1="$PS1\[\e[1;35m\]]\[\e[0m\]"
PS1="$PS1 \[\e[1;31m\]>\[\e[0m\] "
export PS1
}