OS X终端颜色[关闭]


492

我是OS X的新手,在使用Ubuntu Linux一段时间后刚接触Mac。我要弄清楚的许多事情是终端窗口中没有颜色-例如在运行ls -la或运行时显示的颜色(在Linux上)git status

我只是不知道如何激活外壳中的颜色。



32
以“关闭主题”关闭,但查看标签:osx,shell,终端,颜色...在我看来,这完全是主题。涵盖OSX,它是关于外壳的,使用终端,并希望添加颜色。必须编辑bash配置文件,是的,我要说的是话题。
Danijel-James W

12
显然,这与bash脚本有关。
superluminary 2014年

5
关闭,你必须在开玩笑!显然,这对许多(大多数是新的)Mac编码器都具有实用性和价值。如果最后的结局是认真的,那么为什么不迁移它以说SE Think Different。我认为SO支持在其他SE组中使用的功能。
Cam_Aust

Answers:


745

这是我发现的启用全局端子颜色的解决方案

在您的主目录中编辑您的.bash_profile(自OS X 10.8起)-或(对于10.7及更早版本):.profile.bashrc/etc/profile(取决于可用性)-并添加以下代码:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 只需为终端着色即可。

LSCOLORS=... 指定如何为特定项目上色。

编辑后.bash_profile,启动终端并通过执行以下命令来强制进行更改:

source ~/.bash_profile

然后转到Terminal > Preferences,单击Profiles选项卡,然后单击Text子选项卡并进行检查Display ANSI Colors

在Sierra上验证(2017年5月)。


21
只是通过将其添加到.bash_profile来完成此操作。但是,当我将其添加到.profile时,它不起作用。谢谢!
莫滕

10
我刚刚编辑了我的/etc/profile作品,它就像一个魅力。
Cyclonecode 2012年

2
为了@Morten并与他们的bash配置文件挣扎任何其他人,看到这些答案的解释和解决方案:stackoverflow.com/a/7780055/665488superuser.com/a/244990
卡姆·杰克逊

4
dotfiles / .aliases有一个很棒的export LS_COLORS声明
bobobobo

16
如果您想要Linux使用的相同颜色(至少是Debian和Ubuntu),请使用LSCOLORS=ExGxFxdxCxDxDxxbaDecac
remram

125

您可以在一种启动脚本中使用基于Linux的语法。刚刚在OS X Mountain Lion盒子上进行了测试。

例如。在你的~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

这会给您一个漂亮的彩色提示。要添加彩色ls输出,您可以添加alias ls="ls -G"

要测试,只需运行 source ~/.bash_profile即可更新您的当前终端。

有关颜色的旁注:颜色前面有一个转义序列\e,并由一个颜色值定义,该颜色值由[style;color+m]转义[]序列组成并包装。例如。

  • 红色= \[\e[0;31m\]
  • 粗体红色(样式1)= \[\e[1;31m\]
  • 清除着色= \[\e[0m\]

我总是在根目录的.bash_profile中添加略作修改的颜色方案,以使用户名变为红色,因此,我始终可以清楚地看到我是否以root用户身份登录(如果我打开了许多终端窗口,可以方便地避免错误)。

/root/.bash_profile

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

对于我所有的在线SSH帐户,请确保将主机名标记为红色,以区分我是在本地终端还是远程终端。只需.bash_profile在服务器上的主目录中编辑文件即可。如果服务器上没有.bash_profile文件,则可以创建它,并且应在登录时将其来源。

如果这不符合您的预期,请阅读以下一些注释,因为我不经常使用MacOS。

如果要在远程服务器上执行此操作,请检查~/.bash_profile文件是否存在。如果不是,只需创建它,它应该在您下次登录时自动获得。


2
如何在线编辑ssh帐户的bash_profile?
安迪

1
PS1更喜欢使用$PWD而不是\u,例如:PS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$
cregox


1
这些链接也可能会有所帮助:ANSI颜色代码转义序列有关PS1代码的更多信息
JohnK

1
我在使用这些颜色代码获取PROMPT_COMMAND颜色以在El Capitan(OS X 10.11)中正确显示时遇到问题。原来,在使用时PROMPT_COMMAND,您需要使用\033语法而不是\e。在提示之前添加彩色时间戳的示例(在~/.bashrc或中添加此时间戳~/.bash_profile):PROMPT_COMMAND="${PROMPT_COMMAND}; echo; echo -e '\033[0;35m'\[\$(date +%F\ %T)\]'\033[m'"
user5359531 2015年

42

MartinVonMartinsgrün和4Levels方法证实在Mac OS X Mountain Lion上可以很好地工作。

我需要更新的文件是〜/ .profile。

但是,如果没有推荐我最喜欢的应用程序iTerm 2,我无法离开这个问题

iTerm 2使您可以从文件中加载全局配色方案。真的很容易尝试并尝试多种配色方案。

这是iTerm 2窗口和颜色首选项的屏幕截图。 iTerm2颜色首选项截图Mac

将以下内容添加到〜/ .profile文件后,iTerm 2即可覆盖颜色。

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

这是一个很棒的存储库,其中包含一些不错的预设:

GitHub上的iTerm2配色方案

奖励:选择“使用系统级热键显示/隐藏iTerm2”,并将该键与BetterTouchTool绑定在一起,即可 使用鼠标手势即时隐藏/显示终端。


1
iTerm2经常在我的系统上崩溃,所以我切换到oh-my-zsh github.com/robbyrussell/oh-my-zsh。也有可用的主题
LuckyMalaka 2013年

嘿! 请更改baskerville链接为正确的链接。似乎有错误的复制粘贴。
Jevgeni Smirnov

@NickWoodhams,您在屏幕截图中使用的颜色主题是什么?
Indradhanush Gupta

1
@IndradhanushGupta不知道那是什么配色方案,这是前一段时间。但是现在我正在使用Pure ZSH主题并喜欢它。github.com/sindresorhus/pure
Nick Woodhams

1
这是一个不错的配色方案,我需要检查项目类型// dirs等
rio

17

如果要对ls进行着色,则必须编辑〜/ .bash_profile文件并添加以下行(如果尚未编写):

source .bashrc

然后,您编辑或创建〜/ .bashrc文件,并将别名写入ls命令:

alias ls="ls -G"

现在,您必须键入source .bashrc一个终端(如果已启动),或者只是打开一个新终端。

如果您想要更多选择 ls阅读手册(man ls)。选项与GNU / Linux系统中的选项不完全相同。


6
更好的选择是将'alias'定义替换为'export CLICOLOR =“”。这样的好处是,即使您在终端会话期间切换外壳,通常也可以继续工作(只要继承了环境变量-不会别名)。
内德·迪利

5

如果使用的是tcsh,请编辑~/.cshrc文件以包含以下行:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

如Martin所说,LSCOLORS在其中指定要使用的配色方案。

要生成您要使用的LSCOLORS,请访问此网站


4
bash自2003
。– nelsonjchen 2013年

1
我想你是正确的。我刚得到一台新的Mac,它的默认设置为bash。我猜想IT部门一直在设置我的Mac,使其默认具有tcsh。
smaccoun 2013年

1
链接真棒!
Sankalp

4

检查$ TERM给出的内容:mine是xterm-color,而ls -alG然后是彩色输出。


好吧,在的披肩上xterm-256color,我没有颜色。CLICOLORLSCOLORS请不要更改):
drevicko

2

当我在实验室中使用Mac OS X时,我能够通过使用Terminal(而不是X11)获得终端颜色,然后编辑配置文件(从Mac菜单栏中)。界面的颜色有些奇怪,但是您必须将修改后的主题设置为默认主题。

通过编辑可以进行进一步的设置.bashrc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.