私の問題は似ていますが、違います。この問題。
.bashrc
以下のようにカスタムPS1を作成しました。
STARTCOLOR='\e[0;36m';
ENDCOLOR="\e[0m"
export PS1="\n$STARTCOLOR\u@\h:\! <\t> \w\n\$ $ENDCOLOR"
次のようになります(もちろん色付き)。
tony@home:515 <17:04:52> ~/IdeaProjects/SomeProject
$ gedit ~/.bashrc
私のプロジェクトをリモートGitリポジトリに接続するときに初めてこの問題を発見しました。私は次のことを楽しみにしています(もちろん実際の店ではありません)。
$ git remote add origin https://[email protected]/tony/someproject.git
しかし、これが得られました(私のPS1の一部にも当てはまります):
project.gitte add origin https://[email protected]/tony/some
このように視覚的に奇妙であっても、コマンドはまだ機能します。
長すぎます。私のコマンドが1行より長い場合、2行目は最初の行を上書きします。どんなアイデアがありますか?
答え1
\[
(リンクされた質問への回答で述べたように)は\]
、カラーエスケープシーケンスを含む印刷できない文字で表示します。
これにより、bash
新しい行に移動する必要がある文字数を計算した後、プロンプトの長さに含めることはできません。
STARTCOLOR='\e[0;36m'
ENDCOLOR="\e[0m"
export PS1="\n\[$STARTCOLOR\]\u@\h:\! <\t> \w\n\$ \[$ENDCOLOR\]"