Как я могу настроить Mac Terminal для вывода цвета ls? Я использую MacOS 10.5
Редактировать:
~/.bash_profile
или же
~/.profile
и добавьте следующую строку, чтобы просто включить вывод цвета через ls
:
export CLICOLOR=1
Чтобы настроить отображаемую окраску, ls
вы можете дополнительно добавить эту переменную, LSCOLORS
.
По умолчанию
export LSCOLORS=ExFxCxDxBxegedabagacad
Вы можете использовать это, если вы используете черный фон
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
Если вы хотите имитировать цвета типичного терминала Linux:
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
После того, как вы добавите вышеуказанное к любому ~/.bash_profile
или ~/.profile
, вы можете либо выйти из системы/войти в систему, либо получить файл в своей оболочке, например:
$ . ~/.bash_profile
ПРИМЕЧАНИЕ. Если вам нужна помощь в выборе цветов для использования, вы можете использовать этот онлайн-инструмент под названием LSCOLORS Generator .
.profile
файл, он больше не работает. Я могу проверить значения с помощью echo $LSCOLORS $CLICOLOR
, и они соответствуют определению, но он больше не работает. По какой причине это может быть так?echo $CLICOLOR
должен дать 1?LSCOLORS=exfxcxdxbxegedabagacad
Источник: freebsd.org/cgi/man.cgi?ls.zprofile
его можно использовать для тех же двух строк, если вы используете zsh
.Можете добавить
alias ls='ls -G'
к вашему ~/.bash_profile
, чтобы получить цветной ls
вывод.
-p
и поднимаю вас, -F
который, кроме того, ставит *
после исполняемых файлов, |
после каналов, @
после символических ссылок и так далее.export CLICOLOR=1
чтобы выполнить то же самое.alias
ls
, потому что 1) Если вы на самом деле запомните параметры командной строки (которые не так сложно запомнить и ввести), вы сможете добиться такого же поведения и вывода на нескольких системах. где вы не поддерживаете обновленный персональный .bash_profile
, и 2) потому что много раз мне нравилось направлять мой ls
вывод другим командам, чтобы выполнять операции с файлами/каталогами в выводе, что всегда терпит неудачу, если есть *
или @
включены в имена файлов (без предварительной передачи tr
или sed
удаления нежелательных символов).-t
сортировать по датеЯ обнаружил, что все, что мне действительно нужно, это добавить это в мой ~/.bash_profile
или ~/.bashrc
(для Bash) или ~/.zshrc
(для Zsh, новой оболочки по умолчанию в Catalina)
export CLICOLOR=1
~/.bashrc
.. ~/.bash_profile
, или 3. выйти из системы / войти
в системуЕсли вам нужна удобочитаемая цветовая схема терминала Mac OS X, вы можете изучить это:
Пользуюсь больше года, без него не могу работать!
Вот обновленная ссылка:
Также вы можете настроить цвет подсказки (и ее формат), добавив:
PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
в ~/.bash_profile
или ~/.profile
файл. Где 0;33
обычный желтый цвет, который хорошо смотрится в моем черном/полупрозрачном окне терминала.
Вот полный список цветов и их пояснения: https://wiki.archlinux.org/index.php/Color_Bash_Prompt
Лично я использую Oh My Zsh для добавления цвета и других трюков в свой терминал. Я думаю, что это самый простой способ.
oh-my-zsh — это управляемая сообществом платформа с открытым исходным кодом для управления вашей конфигурацией Zsh.
Он поставляется в комплекте с кучей полезных функций, помощников, плагинов, тем и несколькими вещами, которые заставят вас кричать…
oh-my-bash
Другой вариант — использовать GNU ls
, который является частью программы «coreutils».
Вы можете получить его через Rudix или Homebrew ( brew info coreutils
), Macports или Fink. Это может быть предпочтительнее использования решения «только для Mac OS X», если вы используете одни и те же файлы конфигурации оболочки в разных системах или уже знакомы с GNU ls.
ОБНОВЛЕНИЕ: год назад я переключился на Oh my zsh , и это потрясающе. Моя любимая тема — лямбда-мод и моя версия .
Объединение всех ответов здесь - это то, что я использую:
COLOR_RED="\033[0;31m"
COLOR_YELLOW="\033[0;33m"
COLOR_GREEN="\033[0;32m"
COLOR_OCHRE="\033[38;5;95m"
COLOR_BLUE="\033[0;34m"
COLOR_WHITE="\033[0;37m"
COLOR_RESET="\033[0m"
#git_color
function git_color {
local git_status="$(git status 2> /dev/null)"
if [[ ! $git_status =~ "working directory clean" ]]; then
echo -e $COLOR_RED
elif [[ $git_status =~ "Your branch is ahead of" ]]; then
echo -e $COLOR_YELLOW
elif [[ $git_status =~ "nothing to commit" ]]; then
echo -e $COLOR_GREEN
else
echo -e $COLOR_OCHRE
fi
}
#git_branch
function git_branch {
local git_status="$(git status 2> /dev/null)"
local on_branch="On branch ([^${IFS}]*)"
local on_commit="HEAD detached at ([^${IFS}]*)"
if [[ $git_status =~ $on_branch ]]; then
local branch=${BASH_REMATCH[1]}
echo "($branch)"
elif [[ $git_status =~ $on_commit ]]; then
local commit=${BASH_REMATCH[1]}
echo "($commit)"
fi
}
PS1='\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]'
PS1+="\[\$(git_color)\]" # colors git status
PS1+="\$(git_branch)" # prints current branch
PS1+="\[$COLOR_BLUE\]\[$COLOR_RESET\]\$ "
export PS1
export LC_ALL=en_US.UTF-8
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
alias ls="ls -Gp"
Просто добавьте в ~/.bash_profile
файл следующую строку:
export PS1=" \[\033[34m\]\u@\h \[\033[33m\]\w\[\033[31m\]\[\033[00m\] $ "
Это мои любимые цвета. Вы можете настроить цвет каждой части подсказки, изменив m
коды (например 34m
, ), которые являются цветовыми кодами ANSI.
Список цветовых кодов ANSI:
Для версии Catalina вам необходимо добавить export CLICOLOR=1
.~/.zshrc
Если вы хотите настроить цветовую палитру, измените тему цветов в настройках терминала.
Забудьте обо всех этих загадочных кодах десятилетней давности, черт возьми, используйте встроенную панель «Терминал» -> «Настройки...», чтобы установить скин по умолчанию, и отредактируйте цвета ANSI по своему вкусу. Вы также можете установить шрифт. Я предпочитаю Menlo 12pt. Вот как это может сделать любой обычный Джо, избегая всех сумасшедших командных строк, unix-подобных способов делать что-то, как предлагали другие плакаты.
ls
может иметь цветной вывод, также может запустить несколько команд Unix, чтобы настроить его правильно.У меня абсолютно ничего не получалось. В конце концов я нашел очень странное решение, которое все исправило.
Я открыл ~/Library/Preferences/com.apple.Terminal.plist
и искал «терминал» с помощью Ctrl + F. Я удалил раздел с надписью «DisableColor» или что-то в этом роде.
Вооружение
СМ