자식이 색상을 갖도록 Mac OS X 용어를 구성하는 방법은 무엇입니까? [닫은]


200

여러 색상을 갖도록 구성된 Mac OS X git 데모 온라인을 보았습니다.

예를 들어, 그의 프롬프트는 호박색이고, ls디렉토리는 자주색이며 그의 git diff출력은 ~ 4 가지 색상 (분홍색, 연녹색, 빨간색, 옅은 노란색)을 갖습니다.

Mac OS X 터미널을 구성하기 위해 어떻게 구성 할 수 있습니까? iTerm이 아닌 Mac OS X Terminal.app입니다.


3
superuser.com은 여전히 ​​비공개 베타 버전이며 yinglc는 액세스 권한이 없을 수 있습니다.
— Fredrik

blog.stackoverflow.com/2009/07/…에 언급 된 것 외에 몇 가지 수퍼 유저 베타 가입 요건이 있습니까?
— las3rjock

3
아마 아닙니다, 그러나 그것에 대해 얼마나 많은 사용자가 알고 있습니까? superuser.com에 해당 게시물에 대한 링크가있는 것은 마이그레이션을 통해 질문을받는 사용자가 그곳에 도착했을 때 찾을 수있는 것이 아닙니다 (있는 경우 찾을 수 없음).
— Fredrik

3
또 다른 유용한 질문이 마감되었습니다. 고맙게도 일부 사람들은 대답 할 수 없었습니다.
— Ben Thurley

1
이제 Git 질문은 주제에 따라 잘 정립되었습니다. @ casperOne의 폐쇄가 잘못되어 다시 열기로 투표했습니다.
— Mark Amery

답변:


391

William Purcell의 답변 은 'git diff'명령에 대해서만 색상을 활성화합니다. 모든 git 명령에 색상을 활성화하려면 다음을 수행하십시오.

$ git config --global color.ui true

내가 필요한 것만 감사.
— jffgrdnr

1
순수한 완벽. 감사합니다.
— Brandon Buck

1
또는 당신은 여기에 더 풍부한 대안을 확인할 수 있습니다 : gist.github.com/trey/2722934
— Yannis Dran

@yinglcs,이 답변을 이미 수락 하시겠습니까?
— Eliran Malka

이 작동하지 않습니다
— KansaiRobot

57

git diff 출력에 색상을 표시하려면 git을 구성해야합니다. 달리기

$ git config --global color.diff true

$ HOME / .gitconfig를 적절하게 설정하십시오.


윌리엄! 이것이 내가 놓친 것입니다.
— avernet

고마워요, 완벽하게 작동합니다!
— antiqe

13

일반적으로 터미널이 수행하도록 구성한 것이 아닙니다. 터미널은 표시되는 내용을 알지 못하지만 셸에서 시도하십시오 (bash를 사용하는 경우 일부 셸에서는 내 보내지 않지만 setenv 또는 다른 것):

export CLICOLOR=1
export TERM=xterm-color

그런 다음 LSCOLORS 생성기 를 사용하여 다음과 같은 것을 사용하여 내보낼 수있는 것을 설정할 수 있습니다.

export LSCOLORS=fxfxcxdxbxegedabagacad

(위는 자주색 디렉토리를 제공해야합니다)

결과가 만족 스러우면 / etc / bashrc 또는 사용자의 홈 디렉토리에있는 .bashrc 파일에 세 줄을 추가하십시오.

편집 : 또한 터미널에서 "텍스트"페이지의 "ANSI 색상 표시"확인란이 선택되어 있는지 확인하십시오.


.bashrc도 작동합니까? 내 Mac에서는 .bash_profile이고 Linux에서는 .bashrc라는 것을 알고 있지만 전체 BSD와 Mac에서는 다른 것으로 생각했습니다 (LSCOLORS는 Linux와 BSD / Mac에서도 다릅니다).
— Jorge Israel Peña

.bashrc는 저에게 효과적입니다 ... 그렇습니다. gls는 LS_COLORS를 사용합니다 (이것은 링크 된 페이지를 사용하여 생성 될 수도 있습니다)
— Fredrik

감사. 그러나 프롬프트 또는 ls 출력에서 ​​'wheat', 'purple'과 같은 색상으로 구성하는 방법은 무엇입니까? 또는 'git diff'출력에서 'pink'. 감사합니다.
— yinglcs

가능한 색상은 내가 링크 한 사이트에서 찾을 수있는 색상이며 표준의 일부이며 16 색상을 표시 할 수있는 터미널이 있으면 기뻤습니다.
— Fredrik

13

이것이 내 .profile 파일에서 사용하는 것입니다. 현재 자식 분기와 색상을 통해 상태를 볼 수 있기 때문에 매력처럼 작동합니다. 수정 하려면 긴 줄의 줄 바꿈 문제를 피하기 위해 색상 코드 를 피하는 것이 중요합니다 .

# 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's important to escape colors with \[ to indicate the length is 0
PS1='\u@\[${c_red}\]\W\[${c_sgr0}\]\[\[$(branch_color)\]$(parse_git_branch)\[${c_sgr0}\]$ '

어떤 .profile 파일을 언급 했습니까?
— Darshan Puranik

@ DarshanPurani, 나는 .profile내 $ bash에 파일 을 말하려고했다
— Marc M

2

터미널 앱을 연 다음 메뉴 (터미널-> 기본 설정)를 통해 또는 Command+ 를 눌러 기본 설정 대화 상자를 엽니 다., . 환경 설정 대화 상자가 열리면 왼쪽의 분할 창에서 터미널 스타일을 선택하고 단추 표시 줄에서 텍스트를 선택하여 "ANSI 색상 표시"확인란이 선택되어 있는지 확인하십시오.

터미널의 색상이 활성화됩니다. 터미널의 출력에서 ​​색상을 얻으려면 터미널로 전송되는 데이터에 ANSI 색상 명령을 포함시켜야합니다. 이 작업을 수행하는 방법은 명령에 따라 다릅니다. 예를 들어 (위에 표시된 것처럼) ls명령에는 색상 옵션이 있습니다. 색상 코드는 "ansi color"에 대한 Google 검색을 수행하십시오.


질문은 이미 주제를 벗어난 것으로 종료되었습니다. :)
— Ryan Kohn

0

컬러 ls 출력의 경우 gnu coreutils를 설치하고 대신 해당 버전의 ls를 사용하는 것이 좋습니다. ls 버전 중 하나에 대해 올바른 플래그를 전달해야합니다. gnu 버전의 경우 --color 또는 표준 OS X 버전의 경우 -G입니다. 그래서 당신은 같은 것을 할 수 있습니다

alias ls='ls --color'

.bashrc에.

프롬프트 색상을 지정하려면 터미널에 올바른 색상 코드를 사용해야하지만 광산에서는

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

생산하는

[hostname:directory] username%

대담한 흰색으로.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.