如何configurationMac OS X的条款,使git有颜色?

我已经看到一个在线的Mac OS X git演示,它被configuration为具有多种颜色。

例如,他的提示符是琥珀色的,他的ls目录是紫色的,他的git diff输出有〜4种颜色(粉红色,浅绿色,红色,淡黄色)。

你能告诉我如何configurationMac OS Xterminal来实现? 这绝对是Mac OS X Terminal.app,而不是iTerm。

William Purcell的答案只能为“git diff”命令启用颜色。 这样做为所有git命令启用颜色:

 $ git config --global color.ui true 

要在git diff的输出中显示颜色,你需要configurationgit。 尝试运行

 $ git config --global color.diff true 

适当地设置你的$ HOME / .gitconfig。

它通常不是你configurationterminal做的事情…terminal不知道它在显示什么东西,但是在你的shell中试试这个(如果你使用bash,在其他一些你不导出的shell中调用setenv或者别的东西):

 export CLICOLOR=1 export TERM=xterm-color 

然后,您可以使用LSCOLORS生成器来设置您可以使用类似的东西导出的东西:

 export LSCOLORS=fxfxcxdxbxegedabagacad 

(上面应该给你紫色的目录)

当你完成并且满意的时候,把这三行添加到/ etc / bashrc或者用户主目录下的.bashrc文件中。

编辑:另外,在你的terminal,确保checkbox“显示ANSI颜色”(在“文本”页面)被选中。

这是我在.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'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}\]$ ' 

对于彩色的ls输出,我build议安装gnu coreutils并使用该版本的ls代替。 对于任一版本的ls,您都需要将正确的标志传递给它,这是对于GNU版本的颜色,对于标准OS X版本是-G。 所以你可以做类似的事情

 alias ls='ls --color' 

在你的.bashrc中。

要提示你的颜色,你需要使用正确的颜色代码为您的terminal,但我的使用

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

生产

 [hostname:directory] username% 

大胆的白色。

打开terminal应用程序,然后通过菜单(terminal – >首选项)或按Command + 打开首选项对话框。 打开首选项对话框后,从左侧窗格中selectterminal样式,从button栏中select“文本”,然后确保选中“显示ANSI颜色”checkbox。

这将启用terminal上的颜色。 要在terminal的输出中获取颜色,您需要在发送到terminal的数据中embeddedANSI颜色命令。 这是如何完成的依赖于命令。 例如(如上所示) ls命令有一个颜色选项。 对于颜色代码,做一个谷歌查找“ansi颜色”。