我已经看到一个Mac OS X git演示在线,其中它被配置为具有多种颜色。如何配置Mac OS X术语以便git具有颜色?
例如,他的提示是琥珀色的,他的ls
目录是紫色的,他的git diff
输出具有〜4种颜色(粉红色,浅绿色,红色,淡黄色)。
你能告诉我我该怎么配置Mac OS X终端来实现这一目标?这绝对是Mac OS X Terminal.app,而不是iTerm。
我已经看到一个Mac OS X git演示在线,其中它被配置为具有多种颜色。如何配置Mac OS X术语以便git具有颜色?
例如,他的提示是琥珀色的,他的ls
目录是紫色的,他的git diff
输出具有〜4种颜色(粉红色,浅绿色,红色,淡黄色)。
你能告诉我我该怎么配置Mac OS X终端来实现这一目标?这绝对是Mac OS X Terminal.app,而不是iTerm。
它通常不是你配置做......的终端是不知道它是什么,但出这个试试在你的shell(如果你使用bash,在其他一些炮弹,你不出口的东西终端但拨打SETENV或别的东西):
export CLICOLOR=1
export TERM=xterm-color
然后可以使用LSCOLORS generator设置的东西,你可以使用类似出口:
export LSCOLORS=fxfxcxdxbxegedabagacad
(上面应该给你紫色目录)
当你完成和满意的结果,三个行添加到您的任何的/ etc/bashrc中或在用户主目录中的.bashrc文件。
编辑:此外,在您的终端中,确保选中“显示ANSI颜色”(在“文本”页面上)复选框。
对于彩色输出LS我会建议安装GNU的coreutils,并使用该版本的LS代替。对于任何版本的ls,您都需要将正确的标志传递给它,这是--gore版本的颜色,或者是标准OS X版本的-G。所以你可以在你的.bashrc中做类似
alias ls='ls --color'
。
颜色的提示,您需要使用正确的颜色代码为您的终端,但我使用
PROMPT="$(print '%{\e[0;38m%}%{\e[1;1m%]%}[%m:%c] %n%%%{\e[0m%}') "
生产
[hostname:directory] username%
粗体白色。
要在git的差异的输出显示的颜色,你需要配置饭桶。尝试运行
$ git config --global color.diff true
适当地设置您的$ HOME/.gitconfig。
这是我在.profile文件中使用。像魅力一样工作,因为它允许我通过颜色查看当前git分支以及状态。 如果你想修改它,请注意,为了避免长行中的换行问题,escape color codes是很重要的。
# 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='\[email protected]\[${c_red}\]\W\[${c_sgr0}\]\[\[$(branch_color)\]$(parse_git_branch)\[${c_sgr0}\]$ '
William Purcell's answer只为'git diff'命令启用颜色。这样做是为了使颜色所有Git命令:
$ git config --global color.ui true
打开终端应用程序,然后通过菜单打开偏好对话是(终端 - >首选项),或按命令 + ,。一旦首选项对话框打开,从左侧窗格中选择终端样式,从按钮栏中选择文本,确保选中“显示ANSI颜色”复选框。
这将启用终端上的颜色。要在终端的输出中获取颜色,您需要在发送到终端的数据中嵌入ANSI颜色命令。这是如何完成的取决于命令。例如(如上所示),ls
命令有一个颜色选项。对于颜色代码,请执行谷歌查找“ansi颜色”。
属于superuser.com? – OscarRyz 2009-07-20 21:35:48
除了superuser.com仍然处于私人测试版而且yinglcs可能无法访问。 – Fredrik 2009-07-20 21:40:05
除了http://blog.stackoverflow.com/2009/07/super-user-semi-private-beta-begins/中提到的内容之外是否还有一些超级用户测试版注册要求? – las3rjock 2009-07-20 23:08:23