Відповіді:
Припустимо, що ви використовуєте GNU ls, ви можете вказати кольори за допомогою змінної середовища LS_COLORS (зауважте, що це lsфункція GNU і не характерна для zsh).
GNU Coreutils має програму, dircolorsяка допоможе вам перетворити простий для редагування файл конфігурації у правильну (складну) змінну LS_COLORS. Див man dircolors. Команду та man dir_colorsсинтаксис файлу конфігурації.
Ти можеш
dircolors --print-database >! dircolors.defaultдля збереження за замовчуванням (він містить текст пояснення), а потім змінити його.Після завершення вам потрібно dircolorsперетворити це на належний LS_COLORS. Зауважте, що dircolorsвиводи в bash та csh-форматах, для zshвас слід використовувати bash-форматований вихід.
PS: Використовуйте ls --color=autoзамість ls --color=tty.
LS_COLORне працює за замовчуванням на zsh чомусь. Перегляньте численні інші публікації, які скаржаться на це: 1) superuser.com/questions/700406/zsh-not-recogising-ls-colors 2) github.com/robbyrussell/oh-my-zsh/isissue/5349