Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置MacOSX术语,使git具有颜色?_Macos_Git_Command Line Interface - Fatal编程技术网

如何配置MacOSX术语,使git具有颜色?

如何配置MacOSX术语,使git具有颜色?,macos,git,command-line-interface,Macos,Git,Command Line Interface,我在网上看到一个MacOSXGit演示,其中配置了多种颜色 例如,他的提示符为琥珀色,他的ls目录为紫色,他的git diff输出有~4种颜色(粉色、浅绿色、红色、淡黄色) 您能告诉我如何配置Mac OS X终端来实现这一点吗?这肯定是Mac OS X Terminal.app,而不是iTerm。这通常不是您配置终端要执行的操作。。。终端不知道它显示了什么,但在shell中尝试一下(如果您使用的是bash,则在其他一些shell中您不导出,但调用setenv或其他东西): 然后,您可以使用设置可

我在网上看到一个MacOSXGit演示,其中配置了多种颜色

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


您能告诉我如何配置Mac OS X终端来实现这一点吗?这肯定是Mac OS X Terminal.app,而不是iTerm。

这通常不是您配置终端要执行的操作。。。终端不知道它显示了什么,但在shell中尝试一下(如果您使用的是bash,则在其他一些shell中您不导出,但调用setenv或其他东西):

然后,您可以使用设置可以使用以下内容导出的内容:

export LSCOLORS=fxfxcxdxbxegedabagacad
(上面应该给你紫色的目录)

完成并对结果满意后,将这三行添加到用户主目录中的/etc/bashrc或.bashrc文件中


编辑:另外,在您的终端中,确保选中了“显示ANSI颜色”(在“文本”页面上)复选框。

对于彩色ls输出,我建议安装gnu coreutils并改用该版本的ls。对于ls的任何一个版本,您都需要向其传递正确的标志,gnu版本为--color,标准OSX版本为-G。所以你可以做一些像

alias ls='ls --color'
在您的.bashrc中

要给提示上色,您需要为您的终端使用正确的颜色代码,但我的使用

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

[hostname:directory] username%

以粗体白色显示。

要在git diff的输出中显示颜色,您需要配置git。试着跑步

$ git config --global color.diff true

适当设置$HOME/.gitconfig。

这是我在.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}\]$ '
仅为“git diff”命令启用颜色。执行此操作可为所有git命令启用颜色:

$ git config --global color.ui true

打开终端应用程序,然后通过菜单(终端->首选项)或按Command+,,打开首选项对话框,。打开“首选项”对话框后,从左侧窗格中选择端子样式,从按钮栏中选择文本,然后确保选中“显示ANSI颜色”复选框



这将启用终端上的颜色。要在终端上的输出中获取颜色,需要在发送到终端的数据中嵌入ANSI color命令。如何做到这一点取决于命令。例如(如上所示),
ls
命令有一个颜色选项。对于颜色代码,请在谷歌上查找“ansi颜色”

除了superuser.com仍处于私人测试阶段,而yinglcs可能没有访问权限。除了上面提到的内容外,是否还有一些超级用户测试版注册要求?可能没有,但有多少用户知道这一点?这并不是说在superuser.com上有一个链接,迁移问题的用户在到达那里时会找到这个链接(如果是,我找不到)。还有一个有用的问题结束了。谢天谢地,在一些人能够回答之前,Git问题已经成为一个热门话题@casperOne在这里的关闭是错误的,我被投票重新打开..bashrc也能工作吗?在我的mac上是.bash_配置文件,我知道它在Linux上是.bashrc,但我认为它在mac上和整个BSD上是不同的(同样,LSCOLORS在Linux和BSD/mac上似乎也是不同的)…bashrc适合我。。。是的,它是不同的。gls使用LS_颜色(也可以使用链接到的页面生成),谢谢。但是如何在提示符或ls输出中配置“小麦”、“紫色”等颜色?或“git diff”输出中的“粉红色”。谢谢。可能的颜色是你可以在我链接的网站上找到的,这是标准的一部分,当他们定义它时,如果你有一个能够显示16种颜色的终端,你会很高兴。威廉,是的!这是我错过的。谢谢,它工作得很好!请注意,该问题已作为非主题结束。:)正是我需要的。谢谢,非常完美。谢谢你,先生。或者你也可以在这里选择:@yinglcs,已经接受这个答案了,好吗?!这不起作用你提到的哪个.profile文件?@DarshanPurani,我的意思是说$bash中的
.profile
文件
$ git config --global color.ui true