1

OS X で Bash コマンド プロンプトのカスタマイズを完了しました。つまり、新しい行からコマンドの入力を開始できるようになりました。

alexey::machine { ~/rails/jutge } (git: static-pages) 12:55 PM
-> bundle exec rspec spec/requests/static_pages_spec.rb

Ctrl + A ショートカットを使用して行頭に移動することにした場合、4 番目の文字に移動し、その前にあった 3 つすべてが消去されます (カーソル位置に「$」記号を付けました)。

-> bun$dle exec rspec spec/requests/static_pages_spec.rb

つまり、最初の 3 文字は表示されたままですが、アクセスも編集もできません。

修正方法に関するご指示をいただければ幸いです。ありがとうございました。

私の .bash_profile と .bashrc の内容:

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

PS1="\e[1;33m\u::\h\e[m \e[0;32m{ \w }\e[m\e[0;36m\$(parse_git_branch)\e[m\e[1;34m\@\e[m\e[1;35m\n->\e[m "
4

1 に答える 1

5

bash がプロンプトのサイズを正しく計算できるように、PS1 の非印刷文字を \[ ... \] で囲む必要があります。

PS1="\[\e[1;33m\]\u::\h\[\e[m\] \[\e[0;32m\]{ \w }\[\e[m\e[0;36m\]\$(parse_git_branch)\[\e[m\e[1;34m\]\@\[\e[m\e[1;35m\]\n->\[\e[m\] "
于 2012-07-10T12:45:32.423 に答える