UTF-8に移行した後のSSHでのLinux xterm/rxvt/consoleに関する問題

UTF-8に移行した後のSSHでのLinux xterm/rxvt/consoleに関する問題

私はbashを使用し、推奨UTF-8への移行に問題が引き続き発生して以来、Latin1エンコーディングを使用してきました。結局、あきらめてすべてをUTF-8に移行しています。どれくらい痛いですか...

rxvtallとurxvtSSHを使用すると特定の問題が発生しましたxterm。私のリモートプロンプトは次のように設定されています。

 PS1="\033[32m\[\h:\W> \]\033[0m"

これは、次のような素晴らしい緑を示しています。

 MyBox:~> 

utf-8(すべての言語とロケールから)への移行後、行のen_US矢印(戻る/前への記録)と場所が追跡されないというエラー(ヒントの破棄、無効な文字の削除など)がen_US.UTF-8発生しました。本当に台無しですね。例:UPDOWNDELBS

Orion:~> ssh [email protected]...
Last login: Sat Oct  3 13:47:42 2020 from NNN.NNN.NNN.NNN
MyBox:~> ls
amp/  ap/  bin/  phantomjs/  varios/
MyBox:~> 

UP履歴を複数回再度クリックすると、次のように表示されます。

MyBox:~vi .basrc

変える

MyBox:~> vi .basrc

だからいくつかのキャラクターが消えた。たとえば、これを行うと、コマンドラインの編集がめちゃくちゃになります。

~/.inputrcリモートSSHシステムでファイルを操作してみましたが、成功しませんでした。ショートカットが合うようです。

どんなアイデアがありますか?

答え1

プロンプトを誤って設定しました。\[...セクションには\]以下を含める必要があります。いいえ- 印刷文字がありますが、あなたの文字には印刷文字のみが含まれています。 (これはLatin1とUTF-8とは何の関係もないので、知っていても安全であると感じることができます。)

この試み

PS1="\[\033[32m\]\h:\W> \[\033[0m\]"

詳細については、PROMPTINGシェルマニュアルのセクションを参照してください(私の場合)。man bash

関連情報