プロンプトを開き、次を試してください。
- 次のコードを入力してください。
export PS1="\e[1;30m-30-\e[m >"
- マウスでコピー(コード選択+コピー(マウス選択を有効にすると自動コピー))
- プロンプトを閉じる
- 新しいプロンプトを開く
- 今貼り付け(SHIFT INS)
- 「HOME」キーと「END」キーを押すと、カーソルが論理位置(コードの先頭と終わり)に移動するのを見ることができます。
- 次にEnterキーを押します。
- 色を変更するように求められます。
- 今貼り付け(SHIFT INS)
- 「HOME」キーと「END」キーを押すとカーソルが非論理的位置(オフセット発行)
つまり、プロンプトに色を適用すると、コピーしたコードをコピー/貼り付け+変更することはできません。
注:問題があるようで、ここに質問をします。ここにあります。しかし、それは私が割り当てたいものだけに関連しているようです。export PS1="\e[1;30m-30-\e[m >"
...何の問題も見えません。プロンプトの色を変更するだけです(実際にはそうします)。しかし、私が見えないことをしているようです。それが何であるかを知っている人はいますか?
答え1
エスケープシーケンスをペアで囲む必要があります\[
。\]
それ以外の場合、オフセットの問題が発生します。
答え2
user1274247が正しいです。エスケープシーケンスを含める必要があります。
これが私のPS1の外観です。
\[\033]0;\u@\h:\w\007\]\[\033[01;31m\]\h\[\033[01;34m\] \w \$\[\033[00m\]