oh-my-zsh設定でカーソルがテキストと同期しないという異常な問題が発生しました。 (私は主に仕事でscreen
これを使いますkonsole
。
たとえば、新しいターミナルラインでは、プロンプトに何も入力されず、数秒後に何の理由もなくカーソルが前に移動します。まるでゴーストがそうであるように、キューの開始位置が前方に移動するのと同じです。
もう1つの機能は、最初のカーソル位置にバックスペースできず、その位置の文字でバックスペースできないことです。
私が見ると、カーソルの視覚的な位置と表示されたテキストが編集中のテキストの物理バッファ内の実際の位置と一致しないようです。
例えば。help
端末に入力し、上矢印キーを使用して前のコマンドをインポートしたとしますhelp
。何かが起こっているようで、結果としてバックスペースをすると、まだ表示されている場所にhelp
のみバックスペースできます。実際、物理的にバッファの完全な単語が消去されます。そのため、再入力しようとすると画面が出ますが、Enterを押すとコマンドが実行されます。しないでしょう。e
h
help
help
hhelp
help
hhelp
ルートアカウントでのみ発生しますが、rootとエンドユーザーに同じ設定を使用していると確信しています。
最終的な結果は、abcde
画面でバックスペースを使用するよりもバックスペースを押して滞在するc
可能性が高いことです。b
acde
abde
どんなアイデアがありますか?
修正する:
レビューに関する追加情報です。
私のヒントは、%{%f%b%k%}$(build_prompt)
通常のアカウントとあなたのアカウントroot
が同じであることです。ただし、問題はroot
アカウントでのみ発生します。
答え1
私はoh-my-zshでこの問題に直面し、docker
次の行で解決しましたDockerfile
。
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ホストコンピュータで直接実行している場合は、その手順の手順を実行してRUN
環境export
変数のエクスポートを試してください。
変更を永久に適用するには~/.zshrc
。
これがうまくいくかどうかをテストするには:
print -l -- '+--+' '|\u26A1|' '+--+'
以下を表示する必要があります。