端子線が正しく巻かれていない[冗長]

端子線が正しく巻かれていない[冗長]

私のターミナルラッパーに奇妙な問題があります。オンラインで読んだ後、PS1の設定が原因である可能性があることがわかりました。しかし、探してみると、人々が言うものと一致するようで、私が「なのかよくわかりません。私は何か間違っているのです。

PS1='\[\e[1;36m\]\u\[\e[m\]\[\e[0;31m\]\a@\[\e[m\]\[\e[1;36m\]\aubuntu\[\e[m\]\[\e[1;31m\]\a:~>\[\e[m\]'

何が間違っているのかを理解できる人はいますか?

この問題を解決しようとした1つの方法はstty列を1000に設定することでしたが、これは他の多くの問題をさらに悪化させました(lsやvimなど)。

ベストアンサー1

PS1に印刷できないすべてのバイトが含まれていることを確認してください\[ \]。これは、適切に「エスケープ」されない限り、 bash がその長さをプロンプトの全長として計算するためです。その後、Bashはプロンプトの長さを使用して、改行が必要な時期を決定します。私はこれが長すぎるコマンドのために奇妙な改行の問題を引き起こしていると思います。

また、ここでスタック交換で役に立つもう一つのことを見つけました。

おすすめ記事