我在网上看到过一个Mac OS X git演示,其中配置了多种颜色。
例如,他的提示符是琥珀色,他的ls
目录是紫色,他的git diff
输出有大约4种颜色(粉色、淡绿色、红色、淡黄色)。
你能告诉我如何配置Mac OS X终端才能达到这个效果吗?一定是Mac OS X Terminal.app,而不是iTerm。
我在网上看到过一个Mac OS X git演示,其中配置了多种颜色。
例如,他的提示符是琥珀色,他的ls
目录是紫色,他的git diff
输出有大约4种颜色(粉色、淡绿色、红色、淡黄色)。
你能告诉我如何配置Mac OS X终端才能达到这个效果吗?一定是Mac OS X Terminal.app,而不是iTerm。
William Purcell的答案只允许'git diff'命令显示颜色。如果要为所有git命令启用颜色,请执行以下操作:
$ git config --global color.ui true
要在 git diff 的输出中显示颜色,您需要配置 git。尝试运行:
$ git config --global color.diff true
设置您的 $HOME/.gitconfig 文件。
# 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
文件。 - Marc M通常情况下,你不需要配置终端进行此操作... 终端无法意识到自己正在显示什么内容,但如果您在使用bash,则可以尝试在shell中执行以下操作(在某些其他shell中,您不需要导出,而是调用setenv或其他指令):
export CLICOLOR=1
export TERM=xterm-color
您可以使用LSCOLORS generator设置一些内容,然后可以使用类似以下的导出内容:
export LSCOLORS=fxfxcxdxbxegedabagacad
(上面的代码应该让你得到紫色的目录)
当你完成并对结果感到满意后,将这三行添加到/etc/bashrc或用户主目录中的.bashrc文件中。
编辑:此外,在终端中,确保选中“显示ANSI颜色”复选框(位于“文本”页面)。
ls
命令有一个颜色选项。有关颜色代码,请搜索“ansi color”。如果你想要彩色的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%
以粗体白色显示。