Цвета колонок OS X

Я новичок в OS X, только что получил Mac после работы с Ubuntu Linux в течение некоторого времени. Среди многих вещей, которые я пытаюсь понять, является отсутствие цветов в моем терминальном окне - как те, которые показаны (в Linux), когда вы запускаете статус "ls -la" или "git"... я просто не могу понять, как их активировать в реальной оболочке.

Ответ 1

Я знаю, этот поток старый, но проблема не в этом.

Вот решение, которое я нашел, чтобы включить глобальное цвета терминалов.

Отредактируйте .bash_profile (начиная с OS X 10.8) - или (для 10.7 и ранее): .profile или .bashrc или /etc/profile (в зависимости от доступности) - в своем домашнем каталоге и добавьте следующий код:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 просто позволяет раскрасить ваш терминал.

LSCOLORS=... указывает, как окрасить определенные элементы.

После редактирования .bash_profile запустите терминал и принудительно выполните изменения:

source ~/.bash_profile

Затем перейдите к Terminal > Preferences, перейдите на вкладку Profiles, а затем подтеку Text и проверьте Display ANSI Colors.

Проверено на Сьерра (май 2017 года).

Ответ 2

Синтаксис на основе Linux можно использовать в одном из сценариев запуска. Просто протестируйте это в окне OS X Mountain Lion.

например. в ~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Это дает вам красивое приглашение. Чтобы добавить цветной вывод ls, вы можете добавить alias ls="ls -G".

Чтобы проверить, просто запустите source ~/.bash_profile, чтобы обновить текущий терминал.

Боковое примечание о цветах: Цветам предшествует escape-последовательность \e и определяется значением цвета, состоящим из [style;color+m] и завернутым в escape-последовательность []. например.

  • red = \[\e[0;31m\]
  • жирный красный (стиль 1) = \[\e[1;31m\]
  • clear coloring = \[\e[0m\]

Я всегда добавляю слегка модифицированную цветовую схему в корневом .bash_profile, чтобы сделать имя пользователя красным, поэтому я всегда вижу отчетливо, если я зарегистрирован как пользователь root (рекомендуется избегать ошибок, если у меня открыто много окон терминала).

В /root/.bash_profile:

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Для всех моих учетных записей SSH я обязательно поставлю имя хоста красным цветом, чтобы отличить ли я локальный или удаленный терминал. Просто отредактируйте файл .bash_profile в домашнем каталоге на сервере.

Ответ 3

Методы MartinVonMartinsgrün и 4Levels отлично зарекомендовали себя на Mac OS X Mountain Lion.

Мне нужно было обновить файл ~/.profile.

Однако я не мог оставить этот вопрос, не рекомендуя мое любимое приложение, iTerm 2.

iTerm 2 позволяет загружать глобальные цветовые схемы из файла. Действительно легко экспериментировать и попробовать кучу цветовых схем.

Вот скриншот окна iTerm 2 и цветовых предпочтений. iTerm2 Color Preferences Screenshot Mac

Как только я добавил следующее в файл ~/.profile, iTerm 2 смог переопределить цвета.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Вот отличный репозиторий с хорошими пресетами:

Схемы цвета iTerm2 на Github by mbadolato

Бонус: выберите "Показать/скрыть iTerm2 с помощью общедоступной горячей клавиши" и привяжите ключ с помощью BetterTouchTool для мгновенного скрытия/отображения терминала с жестом мыши.

Ответ 4

Если вы хотите, чтобы ваш цвет был раскрашен, вам необходимо отредактировать файл ~/.bash_profile и добавить следующую строку (если она еще не написана):

source .bashrc

Затем вы редактируете или создаете файл ~/.bashrc и записываете псевдоним команды ls:

alias ls="ls -G"

Теперь вам нужно набрать source .bashrc в терминале, если он уже запущен, или просто открыть новый терминал.

Если вам нужно больше параметров в ls juste, прочитайте руководство (man ls). Параметры не совсем то же самое, что и в системе GNU/Linux.

Ответ 5

Проверьте, что дает $TERM: my - это xterm-color, а ls -alG - цветной вывод.

Ответ 6

Если вы используете tcsh, отредактируйте файл ~/.cshrc, чтобы включить строки:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

Где, как говорит Мартин, LSCOLORS указывает цветовую схему, которую вы хотите использовать.

Чтобы создать LSCOLORS, который вы хотите использовать, ознакомьтесь с этим сайтом

Ответ 7

Когда я работал в Mac OS X в лаборатории, мне удалось получить цвета терминалов с помощью терминала (а не X11), а затем отредактировать профиль (из строки меню Mac). Интерфейс немного нечетен в цветах, но вы должны установить измененную тему по умолчанию.

Дальнейшие настройки выполняются путем редактирования .bashrc.