В ZSH, когда я пытаюсь cd
войти в каталог и использовать tab для получения списка каталогов, некоторые из них имеют очень яркую зеленую подсветку. Я заметил, что фоновая подсветка такая же, как у каталогов в ls
. Я изменил ее, LS_COLOR
надеясь, что это исправит ситуацию, но подсветка автодополнения осталась прежней. Я также проверил ключи/конфигурации автодополнения zstyle, но не нашел там ничего для каталогов. Может ли кто-нибудь помочь мне исправить это?
Спасибо
EDIT: Вот ссылка на мой .zshrc
файл:https://dpaste.org/V8oE
EDIT2: Мне удалось решить эту проблему, изменив тему на моем терминале (Konsole). Я не думаю, что это была проблема ZSH.
решение1
Цветовое автодополнение zsh настраивается с помощью list-colors
zstyle ( info zsh list-colors
подробности см. в разделе ).
Ваш ~/.zshrc
или любой другой вызываемый файл настройки может содержать что-то вроде:
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
Чтобы это основывалось на содержимом переменной $LS_COLORS
(чтобы в завершениях zsh получались те же цвета, что и в ls --color
выводе GNU).
$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
в соответствии с вашими цветовыми предпочтениями.