0

.bash_profile を編集して、git ブランチ表示を追加しました。私はオンラインで見つけたバージョンに基づいていましたが、シェルに何かを書き込むと、行の最後に最初の行が上書きされ、新しい行に折り返されます。

function proml {
  case $TERM in
    xterm*)
     TITLEBAR='\[\033]0;\u@\h:\w\007\]'
    ;;
    *)
    TITLEBAR=""
    ;;
  esac

PS1="${TITLEBAR}\
\w$WHITE\$(parse_git_branch)\\e[m$ "

これは parse_git_branch 関数です

function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/[\1]/'
}

私は bash_profile についてあまり知らないので、どこが間違っているのかわかりませんか?

4

2 に答える 2

0

Is this the problem? A missing brace at the end of proml function>?

function proml {
  case $TERM in
    xterm*)
     TITLEBAR='\[\033]0;\u@\h:\w\007\]'
    ;;
    *)
    TITLEBAR=""
    ;;
  esac

PS1="${TITLEBAR}\
\w$WHITE\$(parse_git_branch)\\e[m$ "
}
于 2013-03-26T23:51:39.547 に答える
0

テキストの色を設定するための制御コードが含まれていると仮定すると、それらの文字がプロンプトの長さに寄与していると考えられない$WHITEように、それを囲む必要が あります。\[ ... \]bash

function proml {
  case $TERM in
    xterm*)
     TITLEBAR='\[\033]0;\u@\h:\w\007\]'
    ;;
    *)
    TITLEBAR=""
    ;;
  esac
}

PS1="${TITLEBAR}\
\w\[$WHITE\]\$(parse_git_branch)\[\e[m\]$ "
于 2013-03-27T02:32:00.797 に答える