Подтвердить что ты не робот

Как настроить термин Mac OS X так, чтобы git имел цвет?

Я видел демонстрационную версию Mac OS X git, в которой он настроен на несколько цветов.

Например, его приглашение является янтарным, его каталог ls фиолетовый, а выход git diff имеет ~ 4 цвета (розовый, светло-зеленый, красный, бледно-желтый).

Можете ли вы рассказать мне, как настроить терминал Mac OS X для этого? Это определенно Mac OS X Terminal.app, а не iTerm.

4b9b3361

Ответ 1

Ответ Уильяма Перселла позволяет использовать цвет для команды git diff. Сделайте это, чтобы включить цвета для всех команд git:

$ git config --global color.ui true

Ответ 2

Чтобы отобразить цвет на выходе git diff, вам нужно настроить git. Попробуйте запустить

$ git config --global color.diff true

чтобы правильно установить ваш файл $HOME/.gitconfig.

Ответ 3

Обычно это не то, что вы настраиваете для терминала... Терминал не знает, что он показывает, но попробуйте это в своей оболочке (если вы используете bash, в некоторых других оболочках вы не экспорт, но вызовите setenv или что-то еще):

export CLICOLOR=1
export TERM=xterm-color

Затем вы можете использовать генератор LSCOLORS для настройки того, что вы можете экспортировать, используя что-то вроде:

export LSCOLORS=fxfxcxdxbxegedabagacad

(приведенное выше должно дать вам пурпурные каталоги)

Когда вы закончите и удовлетворены результатом, добавьте три строки в ваш файл /etc/bashrc или .bashrc в домашнем каталоге пользователя.

Изменить: Кроме того, в вашем терминале убедитесь, что установлен флажок "Отображать цвета ANSI" (на странице "Текст" ).

Ответ 4

Это то, что я использую в моем файле .profile. Работает как шарм, потому что он позволяет мне видеть текущую ветвь git, а также ее состояние через цвет. Если вы хотите изменить его, обратите внимание на то, что важно избежать цветовых кодов, чтобы избежать проблем с прямыми линиями в длинных линиях.

# Setting GIT prompt
c_cyan=`tput setaf 6`
c_red=`tput setaf 1`
c_green=`tput setaf 2`
c_sgr0=`tput sgr0`

branch_color ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        color=""
        if git diff --quiet 2>/dev/null >&2 
        then
            color=${c_green}
        else
            color=${c_red}
        fi
    else
        return 0
    fi
    echo -n $color
}

parse_git_branch ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        gitver="["$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')"]"
    else
        return 0
    fi
echo -e $gitver
}

#It important to escape colors with \[ to indicate the length is 0
PS1='\[email protected]\[${c_red}\]\W\[${c_sgr0}\]\[\[$(branch_color)\]$(parse_git_branch)\[${c_sgr0}\]$ '

Ответ 5

Для цветного вывода ls я бы рекомендовал установить gnu coreutils и вместо этого использовать эту версию ls. Для любой версии ls вам нужно передать ему правильный флаг, который представляет собой цвет для версии gnu или -G для стандартной версии OS X. Таким образом, вы можете сделать что-то вроде

alias ls='ls --color'

в вашем .bashrc.

Чтобы покрасить подсказку, вам нужно будет использовать правильные коды цветов для своего терминала, но мой использует

PROMPT="$(print '%{\e[0;38m%}%{\e[1;1m%]%}[%m:%c] %n%%%{\e[0m%}') "

для создания

[hostname:directory] username%

жирным шрифтом белого цвета.

Ответ 6

Откройте приложение терминала, затем откройте диалог настроек либо через меню (Terminal → Preferences), либо нажав Command + ,. Когда откроется диалог настроек, выберите стиль терминала из панели слева, выберите "Текст" на панели кнопок, чем убедитесь, что установлен флажок "Отображать цвета ANSI".

Это позволит использовать цвета на терминале. Чтобы получать цвета на выходе на терминале, вам нужно будет вставлять команды цвета ANSI в данные, отправляемые на терминал. Как это делается, зависит от команд. Например (как было показано выше) команда ls имеет параметр цветов. Для цветовых кодов выполните поиск google для "ansi color".