Как настроить Mac Terminal для вывода цвета ls?
Как настроить Mac Terminal для вывода цвета ls? Я использую MacOS 10.5
10 ответов
Вы можете добавить
alias ls='ls -G'
к вашему ~/.bash_profile
, чтобы получить цветной ls
вывод.
Я нахожу, что все, что мне действительно нужно, добавляет это в мой ~/.bash_profile
export CLICOLOR=1
Если вам нужна читаемая цветовая схема терминала Mac OS X, вам может понадобиться изучить это:
-
http://toddwerth.com/2008/01/25/a-black-os-x-leopard-terminal-theme-that-is-actually-readable/ -
http: //toddwerth.com/2011/07/21/the-original-ir_black-for-os-x-lion/
Я использую это уже более года, и я не могу работать без него!
Вот обновленная ссылка:
Также вы можете настроить цвет приглашения (и его формат), добавив:
PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
в ~/.bash_profile
или ~/.profile
. Где 0;33
- желтый, который выглядит красиво в моем черном /полупрозрачном окне терминала.
Вот полный список цветов и их объяснений: https://wiki.archlinux.org /index.php/Color_Bash_Prompt
Другой вариант - использовать GNU ls
, который является частью программы «coreutils».
Вы можете получить его через Rudix или Homebrew (brew info coreutils
) или Macports или Fink. Возможно, предпочтительнее использовать решение «Mac OS X-only», если вы используете одни и те же файлы конфигурации оболочки в разных системах или уже знакомы с GNU ls.
Лично я использую Oh My Zsh для добавления цвета и других трюков в мой терминал. Я думаю, что это самый простой способ.
oh-my-zsh - это открытая исходная среда, основанная на сообществах для управления ваша конфигурация Zsh.
Он поставляется в комплекте с множеством полезных функций, помощников, плагинов, темы и несколько вещей, которые заставляют вас кричать ...
Забудьте все эти десятилетние загадочные коды для gosh, используйте встроенный Terminal -> Настройки ... Настройки, чтобы установить скин по умолчанию, и отредактируйте цвета ANSI по своему вкусу. Вы также можете установить шрифт. Я предпочитаю Menlo 12pt. Вот как любой обычный Джо может это сделать, и избегать всех сумасшедших командной строки, unix-esque способ делать то, что предлагали другие плакаты.
Просто добавьте следующую строку в файл ~/.bash_profile
:
export PS1=" \[\033[34m\]\[email protected]\h \[\033[33m\]\w\[\033[31m\]\[\033[00m\] $ "
Это мои предпочтительные цвета. Вы можете настроить каждую часть цвета приглашения, изменив коды m
(например, 34m
), которые являются цветовыми кодами ANSI.
Список цветовых кодов ANSI:
- Черный: 30 м
- Красный: 31 м
- Зеленый: 32 м
- Желтый: 33 м
- Синий: 34 м
- Фиолетовый: 35 м
- Cyan: 36m
- Белый: 37 м
Сочетание всех ответов здесь - это то, что я использую:
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"