我刚开始接触OSX,在与UbuntuLinux合作一段时间后,我刚获得了一台Mac。我想弄清楚的很多事情之一就是终端窗口中没有颜色,就像运行ls -la或git status时显示的那样。
我只是不知道如何激活我的外壳的颜色。
- 如何将Mac终端配置为具有颜色ls输出的可能副本
- 关闭为"非主题",但看看标签:osx,shell,terminal,colors…在我看来,这完全是个话题。包括OSX,它是关于外壳,使用终端,想增加颜色。必须编辑bash配置文件,所以是的,我想说它是关于主题的。
- 显然,这是关于bash脚本的。
- 关门了,你开玩笑吧!很明显,这对许多(大多数是新的)Mac编码器都有实用性和价值。如果这些结束语是认真的关于它脱离主题的,那么为什么不把它迁移到说SE思考不同的地方呢?我认为它支持其他SE组中使用的函数。
- 看看这个答案:stackoverflow.com/a/48216286/3782119
我知道,这条线是旧的,但问题不是。
这里有一个解决方案,我发现它可以使终端颜色。
在您的主目录中编辑您的.bash_profile(自OS X 10.8起)或(适用于10.7及更早版本):.profile或.bashrc或/etc/profile(取决于可用性),并添加以下代码:
1 2
| export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced |
CLICOLOR=1只允许对终端进行着色。
LSCOLORS=...指定了如何为特定项目着色。
编辑.bash_profile后,启动终端,通过执行以下命令强制进行更改:
江户十一〔11〕。
然后转到Terminal > Preferences,单击Profiles选项卡,然后单击Text子选项卡,并选中Display ANSI Colors。
Sierra验证(2017年5月)。
- 只需将它添加到.bash_配置文件中,它就可以工作了。当我把它添加到.profile时不起作用。谢谢!
- 刚刚在雪豹身上做了这个,你需要在你的.bashrc中做些改变。
- 我刚刚编辑了我的/etc/profile,它就像一个魅力。
- @克里斯特·安德森+1,编辑了答案。谢谢您。
- 关于山狮的修改。巴什概况和一切工作
- 在狮子山上,我修改了我的/etc/profile,它起作用了。出于某种原因,我没有一个~/.bash_profile谢谢!
- 对于@morten和其他正在苦苦挣扎的bash配置文件,请参阅以下答案以获得解释和解决方案:stackoverflow.com/a/7780055/665488、superuser.com/a/244990。
- @AlexSpencer您应该能够创建它:一个名为.bash_profile的文本文件,位于您的主目录中,包含答案中的导出。
- 在Lion上,添加到。配置文件有效。巴什的个人资料没有。
- 要使它在.bashrc中工作,只需将source .bashrc添加到.bash_概要文件中。修改文件后不要忘记输入source .bash_profile。
- dotfiles/.aliases有一个很好的export LS_COLORS语句
- command+c上面显示的代码,打开终端,v i~/。配置文件,按i,向下箭头键,确保它是一个新行,command+v,按escape,type!wq,source~/.profile,退出终端,再次打开终端,键入ls,对black&white term说byebye。
- 刚刚在《山狮》中编辑了/etc/profile,效果很好。谢谢!
- 好吧,如果有人需要的话,我做了这个单行命令;)printf 'export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced' >> ~/.bash_profile
- 不适用于约塞米蒂,只是尝试过。
- @midas:试试ohmyz.sh。有主题,比默认的shell更强大。
- 那么,你必须从首选项中检查Displasy ANSI colors,至少在el capitan上。
- 刚试过,它在Macos Sierra(10.12)上工作。在对.bash_配置文件进行更改后,不要忘记:1.在终端类型中,source ~/.bash_profile2。在"终端首选项"中,选择"配置文件"选项卡下的"显示ANSI颜色"。@马修伯达@johnnyhuo
- 工作地点:Macos Sierra(10.12)。我编辑了~/.profile并打开了一个新窗口。无需其他更改。
- 如果您想要与Linux相同的颜色(至少是Debian和Ubuntu),请使用LSCOLORS=ExGxFxdxCxDxDxxbaDecac。
- 哦,天哪,这个配置块的可读性太差了,哈哈。
- 感谢这项工作,顺便说一句,lscolors语法是如此的不直观。立即让你停止尝试它
- 干得好。有关自定义字符串中字母的更多详细信息,请访问:marinamele.com/2014/05/…
您可以在其中一个启动脚本中使用基于Linux的语法。刚刚在OSX山狮箱上测试过。
在你的电脑里
1 2
| 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_配置文件中添加一个稍微修改过的颜色方案,以使用户名变红,所以我总是清楚地看到我是否以根用户身份登录(如果我打开了许多终端窗口,则方便地避免出错)。
在/root/.bash_profile中:
埃多克斯1〔27〕
对于我所有的在线ssh帐户,我确保将主机名设置为红色,以区分我是在本地还是远程终端。只需在服务器上的home dir中编辑.bash_profile文件。如果服务器上没有.bash_profile文件,则可以创建该文件,并应在登录时获取该文件。
- 如何在线编辑ssh帐户的bash_配置文件?
- 我更喜欢PS1和$PWD而不是\u的搭配,比如:PS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ 。
- 下面是对提示代码的更多解释:wiki.archlinux.org/index.php/color_bsh_prompt step_by_step。
- 这些链接也可能有用:ansi颜色代码转义序列。关于PS1代码的更多信息。
- @cawas $PWD不会按预期工作—它确实会被当前目录替换,但是当变量被分配时—也就是说,当前目录的值将进入提示的值,从那时起更改目录将不会对提示中包含的目录产生影响。这与基本的shell变量分配和计算有关。
- @谢谢你的提醒。有什么办法吗?
- 非常喜欢你的红色根提示建议:)谢谢!
- 毫无理由地得到这些括号。埃多克斯1〔2〕
- 在约塞米蒂工作得很好!
- 我在使用这些颜色代码在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'"。
- 加粗的红色(样式1)=&91;e[1;31m&93;,它的31不是3M。谢谢。
- 谢谢!@4级别相信我,多年来我一直在寻找这个简单的功能。能看到不同颜色的提示是非常有用的!
Martinvonmartinsgr_n和4levels方法证实在Mac OS X Mountain Lion上非常有效。
我需要更新的文件是~/.profile。
但是,我不能不推荐我最喜欢的应用程序ITerm2就离开这个问题。
ITerm2允许您从文件加载全局颜色方案。很容易尝试和尝试一系列的配色方案。
这是ITerm2窗口的屏幕截图和颜色首选项。。
一旦我将以下内容添加到我的~/.profile文件中,iterm 2就能够覆盖这些颜色。
1 2 3
| export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' |
。
这里有一个很棒的存储库,其中有一些不错的预设:
mbadolato在Github上的ITerm2配色方案
附加:选择"显示/隐藏带有系统范围热键的iterm2",然后使用更好的touchtool绑定该键。立即用鼠标手势隐藏/显示终端。
- iterm2经常在我的系统上崩溃,所以我切换到oh my zsh github.com/robbyrussell/oh-my-zsh。还有主题可用
- 嘿!请将baskerville链接更改为正确的链接。似乎复制粘贴错误。
- @尼克伍德汉姆,你在截图中使用的颜色主题是什么?
- @Indradhanushgupta不确定那是什么颜色方案,那是不久前的事了。但现在我用的是纯粹的zsh主题,喜欢它。github.com/sindresorhus/pure/纯
- 这是一个不错的配色方案,我需要检查项目类型//目录等
- 包括图片是的
如果要使ls着色,必须编辑~/.bash_配置文件并添加以下行(如果尚未写入):
然后编辑或创建~/.bashrc文件,并将别名写入ls命令:
号
现在,如果已经启动,您必须在终端中键入source .bashrc,或者只需打开一个新的终端。
如果你想在你的lsjuste中有更多的选择,请阅读手册(man ls)。选项与GNU/Linux系统中的选项不完全相同。
- 更好的选择是将"alias"定义替换为"export clicolor="。这样做的好处是,即使在终端会话期间切换shell(只要环境变量是继承的-别名不是继承的),也可以继续工作。
如果您使用的是tcsh,那么编辑您的~/.cshrc文件以包括以下行:
1 2
| setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad |
如马丁所说,lscolors指定要使用的配色方案。
若要生成要使用的lscolors,请签出此网站
- 自2003年10月以来,bash一直是OS X的默认值。
- 我认为你是对的。我刚买了一台新的Mac,它默认使用bash。我想它一直在设置我的macs在工作默认有tcsh。
- 链接太棒了!
检查$term给出了什么:我的是xterm color,ls-alg然后执行彩色输出。
- 好吧,用xterm-256color的大写字母,我没有颜色。CLICOLOR和LSCOLORS不改变:
当我在实验室使用MacOSX时,我可以使用终端(而不是x11)获取终端颜色,然后编辑配置文件(从Mac菜单栏)。界面的颜色有点奇怪,但您必须将修改后的主题设置为默认主题。
通过编辑.bashrc进行进一步的设置。