OS X终端颜色

sa1*_*125 477 macos shell terminal colors

我是OS X的新手,在使用Ubuntu Linux一段时间后刚刚获得了Mac.在我想弄清楚的很多事情中,我的终端窗口中没有颜色 - 就像在运行时显示的那些(在Linux上)ls -lagit status......

我只是无法弄清楚如何在我的shell中激活颜色.

Luc*_*aka 727

我知道,这个线程已经老了,但问题不是.

这是我发现的一种解决方案,可以启用全局 终端颜色.

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

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
Run Code Online (Sandbox Code Playgroud)

CLICOLOR=1 只需启用终端着色.

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

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

source ~/.bash_profile

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

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

  • 只是通过将它添加到.bash_profile来实现这一点并且它有效.当我把它添加到.profile时,它没有工作.谢谢! (21认同)
  • 如果你想要与Linux使用相同的颜色(至少是Debian和Ubuntu),请使用`LSCOLORS = ExGxFxdxCxDxDxxbaDecac` (16认同)
  • 我刚刚编辑了我的`/ etc/profile`,它就像一个魅力. (10认同)
  • [dotfiles/.aliases](https://github.com/mathiasbynens/dotfiles/blob/master/.aliases)有一个很棒的`export LS_COLORS`语句 (4认同)
  • 对于@Morten和其他任何正在努力解决其bash配置文件的人,请参阅以下答案以获得解释和解决方案:http://stackoverflow.com/a/7780055/665488,http://superuser.com/a/244990. (2认同)
  • 刚试过,它适用于macOS Sierra(10.12).在对.bash_profile进行更改后,请不要忘记:1.在终端类型中,`source~/.bash_profile` 2.在终端首选项中,选择"配置文件"选项卡下的"显示ANSI颜色".@MatthewBordas @JohnnyHuo (2认同)
  • 我使用 Mac M1 pro 和 macOS Monterey,我需要编辑的文件是 ~/.zprofile (2认同)

4le*_*els 121

您可以在一个启动脚本中使用基于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\]\$ '
Run Code Online (Sandbox Code Playgroud)

这给你一个很好的彩色提示.要添加彩色ls输出,您可以添加alias ls="ls -G".

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

关于颜色的旁注:颜色前面是转义序列\e,由颜色值定义,由[style;color+m]转义[]序列组成并包含在转义序列中.例如.

  • 红= \[\e[0;31m\]
  • 大胆的红色(风格1)= \[\e[1;31m\]
  • 清晰的着色= \[\e[0m\]

我总是在root的.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文件,您可以创建它,并且应该在登录时获取.

  • 你如何在线编辑ssh账户的bash_profile? (2认同)

Nic*_*ams 39

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\]\$ '
Run Code Online (Sandbox Code Playgroud)

这是一个很棒的存储库,有一些很好的预设:

mbadolato在Github上的iTerm2配色方案

奖励:选择"使用系统范围的热键显示/隐藏iTerm2"并将键与BetterTouchTool绑定, 即时隐藏/用鼠标手势显示终端.


Mar*_*cio 16

如果你想让你的ls着色你必须编辑你的〜/ .bash_profile文件并添加以下行(如果还没有写):

source .bashrc
Run Code Online (Sandbox Code Playgroud)

然后编辑或创建〜/ .bashrc文件并为ls命令写一个别名:

alias ls="ls -G"
Run Code Online (Sandbox Code Playgroud)

现在source .bashrc,如果已经启动,您必须输入终端,或者只需打开一个新终端.

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

  • 一个更好的选择是用'export CLICOLOR =""'替换'别名'定义.即使您在终端会话期间切换shell,也具有通常继续工作的优点(只要继承环境变量 - 别名不是). (6认同)

sma*_*oun 5

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

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad
Run Code Online (Sandbox Code Playgroud)

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

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

  • 自2003年10月以来,bash已成为OS X中的默认设置。 (4认同)
  • 该链接太棒了! (2认同)