ZSH パス自動補完ハイライト

ZSH パス自動補完ハイライト

ZSH で、cdディレクトリに移動してタブを使用してディレクトリの一覧を取得しようとすると、一部のディレクトリに非常に明るい緑色のハイライトが表示されます。背景のハイライトが のディレクトリと同じであることに気付きましたls。修正されることを期待して変更しましたLS_COLORが、自動補完のハイライトは同じままです。zstyle 補完キー/構成も確認しましたが、ディレクトリのものは見つかりませんでした。誰かこの修正を手伝ってくれませんか?

1]

ありがとう

.zshrc編集: 私のファイルへのリンクは次のとおりです:https://dpaste.org/V8oE

編集2: ターミナル (Konsole) のテーマを変更することでこの問題を解決できました。これは ZSH の問題ではないと思います。

答え1

zsh のカラー補完は zstyle で設定されますlist-colors(info zsh list-colors詳細については を参照してください)。

~/.zshrc呼び出されるカスタマイズ ファイルまたは他のカスタマイズ ファイルには、次のような内容が含まれる場合があります。

zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

これは変数の内容に基づいて行われます$LS_COLORS(そのため、zsh の補完では GNUls --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を変更した後に を再度source すると、に保存されている構成に基づいて再生成されるコマンドも再実行され、変更内容が上書きされる$LS_COLORS可能性があります。dircolors$LS_COLORS~/.dircolors

したがって、ここで必要なことは次のとおりです。

  1. list-colorsスタートアップファイルでzstyleが定義されている場所を確認します
  2. に基づいている場合は$LS_COLORS、それがどのように定義されているかを調べて修正します。そうでない場合は、色の好みに合わせて へ$LS_COLORSの呼び出しを調整します。zstyle

関連情報