Bashの色と長い行のヘルプ

Bashの色と長い行のヘルプ

長いコマンドを書いてテキスト行が端末の終わりに達すると、同じ行の先頭から続行し(たとえば「上書き」)、クリックしてもhome実際には端末の先頭に到達しません。ライン。

見つけました。この問題この他ちょっと待って、もう色と見せたい内容と関係がありましたね…他の文を載せてしまって申し訳ありませんが、私が直接線を編集してみましたが本当に理解できません。私を助けることができますか?

私の抜粋は次のとおりです.bashrc

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\][\u@debian]\[\033[01;34m\][\033[01;34m\]\w\]]\033[01;34m\]\$\033[00m\] '

これを明確にするために、プロンプトは次のようになります。

[username@debian][~]$

  • 意味は括弧内のユーザー名@ debian [\u@debian]、緑です。

*はい、いつもより「debian」と言いたいです。\h

  • 作業ディレクトリも角かっこの間にあり、[\w]青色で表示されます。
  • $一般ユーザーの場合
  • 私が入力したテキストが白く表示されます。
  • 私はルートプロンプトに興味がありません。

助けてくれてありがとう、もう一つの記事を投稿して申し訳ありません...


編集:ゆっくり読んでから書き直してみました。この完全なチュートリアル。しかし、正しく動作しませんでした。最初の行を「上書きしません」が、2番目の行では、数文字の後に2行目を数文字だけ覆い、通常どおり続けます。しかし、この新しいPS1では、UPキーボードの矢印を押して前のコマンドに移動すると本当に奇妙になります。

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[[\]\u\[@debian]\]\[\033[01;34m\]\[[\]\w\[]\]\[\033[01;34m\]\$\[\033[00m\] '

チュートリアルを正しく覚えている場合は、次のようにする必要があります。

  • \[印刷されない文字のシーケンスを開始します。
  • \]印刷されない文字シーケンスを終了します。
  • \033[XXm色は、印刷されていない文字の始まりと終わりの間になければなりません。たとえば、blue(34) の場合、次のようになります。\[\033[34m\]

だから今はうまくいくはずですが、そうではありません。もちろん、私が正しく読んだわけではありません - .-

ベストアンサー1

ここにタイプミスがあるようです。

\[\033[01;34m\][\033[01;34m\]
               ^

[これは\[

\[...markは、\]文字列のこれらの部分が列数に影響を与えないことをBashに伝えます。

おすすめ記事