私は OS X で oh-my-zsh を使って zsh を実行しています。例えば:
入力cd fo
して、「foo」ディレクトリのタブ補完を試みます。zsh は完了を求めるプロンプトを表示しますが、完了をcd fo cd fo
待っている間にコマンド ラインを に変更します。大したことではありませんが、非常に迷惑です。助言がありますか?
PopOS と Arch Linux で同じ問題が発生しました。私はさまざまな場所から多くの解決策を試しましたが、私にとってうまくいった唯一の解決策は、oh-my-zsh github リポジトリの問題に関する romkatv によるこの提案でした。
.zsh-theme
解決策は、oh-my-zsh で使用しているテーマのファイルのコピーを作成し、すべての非 ASCII 文字 (絵文字など) を%{%G<CHARACTER>%}
たとえば、デフォルトの oh-my-zsh テーマrobbyrussel
には 2 つの非 ASCII 文字が含まれています。プロンプトの「➜」文字
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
および git ディレクトリのプロンプトの「✗」文字
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
%{%G<character>%}
このような2つの非ASCII文字の周りを使用する
PROMPT="%(?:%{$fg_bold[green]%}%{%G➜%} :%{$fg_bold[red]%}%{%G➜%} )"
この
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%{%G✗%}"
私のために問題を解決しました。
以前に同じ問題に直面したことがあります。私の解決策は、いくつかの zsh プラグインを無効にすることでした。2 つ目の可能性は、カラー テーマにバグが含まれている可能性があることです。
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git)
これは~/.zshrcファイルのプラグイン セクションの最終バージョンです。括弧内の他のプラグインが原因である可能性があります。
それでも問題が解決しない場合は、問題を投稿~/.zshrc
して、そこに何があるかを確認する必要があります.