Как получить разные цвета для каталогов и т. Д. В iTerm2?

26

У меня есть новый MacBookPro, и я установил последнюю версию iTerm2.

Даже после того, как я импортировал различные цветовые схемы, я заметил, что они просто меняют цвет только текста и фона.

То, что я ожидал увидеть, это разные цвета для файлов VS каталогов, VS скрытых файлов и т. Д. И т. Д. Как мне это сделать на iTerm2?

Смежный вопрос: как мне на самом деле указать, какие цвета каталогов, файлов и т. Д. Мне нужны?

Благодарность

ошалевший
источник
Спасибо @JohnN, это помогло, но, пожалуйста, смотрите мое редактирование.
Spacey

Ответы:

26

Вы должны сделать две вещи:

  • установить LSCOLORSпеременную среды
  • создать псевдоним для lsотображения цветов по умолчанию

В вашем ~/.bash_profileдобавьте следующее:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

Цвета задаются каждым битом выше; первый - передний план, а второй - фон. Первые два символа относятся к каталогам, имеющим жирный синий передний план и светло-серый фон.

Тем не менее, есть отличная онлайн-утилита, позволяющая увидеть, что каждый из цветов означает, и выглядеть в реальном времени. Он даже сгенерирует «код» для вас. (Я не связан с этим вообще). Он будет работать как в MacOS / FreeBSD, так и в Linux. Убедитесь, что вы выбрали опцию BSD для macOS.

LSCOLORS Калькулятор


Порядок атрибутов следующий:

1. каталог
2. символическая ссылка
3. розетка
4. труба
5. исполняемый файл
6. блок специальный
7. особый характер
8. исполняемый файл с установленным битом setuid
9. исполняемый файл с установленным битом setgid
10. каталог, доступный для записи другим пользователям
11. каталог, доступный для записи другим пользователям, без прикрепления

Цветовые обозначения следующие:

черный
б красный
с зеленым
д коричневый
синий
ф пурпурный
г голубой
ч светло-серый
Жирный черный, как правило, темно-серый
B жирный красный
C жирный зеленый
D жирный коричневый, обычно отображается как желтый
E жирный синий
F жирный пурпурный
G жирный голубой
H жирный светло-серый; выглядит ярко-белым
x задний план или фон по умолчанию
Аллан
источник
Привет Аллан, спасибо! Пара вопросов, можете ли вы объяснить немного больше о i) Почему я должен поместить его в .bash_profile и не сказать, что .zshrc я думаю, что это так, и ii) немного больше об части экспорта LSCOLORS? Должен ли я перейти на сайт, который вы упомянули, и установить там цветовую схему? Как это соотносится с цветовыми схемами iterm2? Благодарность!
Spacey
Возможно, это то, что меня смущает: я использую iterm2. Что это значит для какого файла мы меняем? (.bash_profile VS .zshrc)? Что бы это ни стоило, на этой новой машине у меня сейчас нет ни одного ...
Spacey
Ах, хорошо, эхо показывает bash. Поэтому я должен создать новый ~ / .bash_profile, который я предполагаю, так как ничего не существует.
Spacey
4

Альтернативой LSCOLORSявляется GRC (GeneRic Colouriser) , который можно использовать практически с любым приложением командной строки, а не только ls.

Если у вас установлен Homebrew, установите grcс помощью brew install grc- это автоматически настроит псевдонимы, в том числе и для ls. Он поставляется с псевдонимами и файлами конфигурации для множества различных команд, и (относительно) тривиально взломать файл конфигурации с помощью регулярных выражений Python для любой команды, grcкоторая в настоящее время не охватывает ( tmutilи launchctl, например,).

(Я собирался добавить это к вопросу, который я пометил как возможный обман, но с вашей правкой это, вероятно, более полезно здесь!)

Джон Н
источник
Я установил grc и ls не был раскрашен вообще. Тип ls дает / bin / ls, ничего не псевдоним. Вернуться к решению профиля bash, я думаю.
6005
@ 6005, вы установили GRC с brew? (И установил ли он успешно, без ошибок?) Что brew doctorсообщает - какие-либо проблемы? Какую оболочку вы используете и изменили ли вы ее конфигурацию вообще? Возможно, вам потребуется отредактировать вашу .bash_profile(или конфигурацию для любой используемой вами оболочки), чтобы получить псевдонимы GRC. У меня .bash_profileесть это (хотя я добавил это сам - мой конфиг bash довольно эзотеричен ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Откройте bash_profile с помощью команды:

open ~/.bash_profile

и добавьте следующие строки:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

тогда исходный bash_profile, используя:

source ~/.bash_profile
KayV
источник
KayV что это делает именно? Можете ли вы расширить, пожалуйста?
TheGrapeBeyond