ZSHからcd
ディレクトリに移動し、Tabを使用してディレクトリのリストを取得しようとすると、一部のディレクトリに非常に明るい緑色のハイライトが表示されます。背景の強調表示が異なることがわかりましたls
。問題を解決することを望んで変更しましたが、オートコンプリートのハイライトLS_COLOR
は同じままです。また、zstyleの完了キー/構成を確認しましたが、ディレクトリが見つかりませんでした。誰でもこの問題を解決するのに役立ちますか?
ありがとう
編集:私のファイルへのリンクは次のとおりです.zshrc
。https://dpaste.org/V8oE
EDIT2:ターミナル(Konsole)でテーマを変更することでこの問題を解決できました。私はこれがZSHの問題だとは思わない。
答え1
zshのカラーコンプリートはzstyleで構成されていますlist-colors
(info zsh list-colors
詳細を参照)。
あなた~/.zshrc
またはそれが呼び出す他のカスタムファイルには、次の内容が含まれる場合があります。
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
これは$LS_COLORS
変数の内容に基づいています(したがって、zshが完了するとGNU出力と同じ色が得られますls --color
)。
$LS_COLORS
GNU が使用する変数であり、ls
通常は以下を呼び出して設定されます。
eval "$(dircolors --sh ~/.dircolors)"
(たぶんあなたの初期~/.zshrc
かあなたの初期かもしれません~/.zprofile
)。
存在する
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
しかし、$LC_COLORS
拡張され分割されている:
~/.zshrc
と解釈された。
$LS_COLORS
コマンドを変更すると、コマンドはzstyle
自動的に再実行されず、~/.zshrc
コマンドを変更してから再度コマンドを受信すると、保存された構成に基づいて再生成されたコマンドも再実行され、$LS_COLORS
変更を上書きできます。dircolors
$LS_COLORS
~/.dircolors
したがって、ここでしなければならないことは次のとおりです。
list-colors
スタートアップファイルでzstyleが定義されている場所を確認してください。- に基づいている場合は、どのように定義されているかを調べ
$LS_COLORS
て$LS_COLORS
編集してください。そうでない場合は、zstyle
色の好みに合わせて通話を調整してください。