我可以在终端中自定义ANSI颜色,而无需使用SIMBL等额外工具吗?


12

我注意到Snow Leopard Terminal.app中的颜色不是很好(使用Pro主题,但其他主题更差)。

自定义颜色似乎没有简单的方法,而谷歌搜索仅显示了涉及SIMBL并将终端强制为32位的怪异解决方法。

还是这样,还是有办法在Snow Leopard的Terminal.app中更改颜色?我的外壳是zsh,如果有所不同,则不是bash。

澄清:我指的是ANSI颜色,例如绿色,红色,蓝色等。默认情况下,终端看起来像这样:

默认

这些颜色不是很好,我希望它们看起来像这样:

我要这些颜色

我已经找到了64位兼容的SIMBL / TerminalColours插件,但是如果我可以避免使用SIMBL,那将是我的目标。我知道还有其他终端,例如iTerm,但我需要Terminal.app。


是否有某些原因导致首选项中的颜色自定义不适合您?
Robert S Ciaccio 2011年

@calavera他们根本没有需要的选项。他们有文本,粗体文本和选择,但我想要的ANSI颜色像绿,蓝,红等
迈克尔葡萄汁

3
供参考:Lion已修复此问题,现在可以在Terminal.app中定义ANSI颜色。
迈克尔·斯托姆

1
太棒了,感谢您的更新。可能仍然会使用iterm2:P
Robert S Ciaccio 2011年

Answers:


4

Terminal.app将这些颜色硬编码到其中。诸如内部方法+[NSColor(Terminal) vtRedColor]使用硬编码的浮点常量来设置颜色。

如您所述,有一些SIMBL插件可以对此进行修补,但是您已经注意到了它们当前的局限性。SIMBL已更新为支持64位应用程序,因此您应联系插件的作者,要求他们重新构建插件以支持64位。还有另一个SIMBL插件需要考虑

Terminal.app的唯一其他选择是在http://bugreport.apple.com上编写功能请求,并希望Apple的某人被诱使为Lion的Terminal.app添加颜色自定义。


“ Terminal.app的另一种选择是在bugreport.apple.com上写一个功能请求,希望苹果公司的某些人能为Lion的Terminal.app添加颜色自定义。” 跟进:就是这样。
克里斯·佩奇

克里斯,工作愉快。:-)
ohmantics 2011年

3

从Mac OS X Lion 10.7开始,可在终端首选项中自定义16种ANSI颜色。

终端>首选项>设置> [配置文件]>文本> ANSI颜色

终端ANSI颜色首选项

当您指向颜色控件之一时,它会显示ANSI颜色名称和编号以供参考。

当您编辑ANSI颜色时,颜色面板中会出现一个按钮,用于将单个ANSI颜色重置为默认值:

终端ANSI彩色面板

有关“设置”首选项面板的一些提示:

  • 与大多数设置一样,您可以一次选择多个配置文件(例如,按住Shift或Command-Click,或选择“ 编辑”>“全选”),并同时更改所有配置文件的颜色。

  • “设置”首选项面板支持“撤消”(和“重做”),因此您可以尝试更改(或多项更改)并还原您不喜欢的更改。


1

ANSI转义码可能会满足您的要求。它们现在不像每个人都通过调制解调器在终端上工作时那样流行,但是它们仍然在Terminal和iTerm等类似设备中工作。如果发现Terminal在幕后使用它们来控制其颜色,我不会感到惊讶。

您可能需要查看IBM的Prompt魔术页面。如果从基本端子配置文件开始,则ANSI代码应允许您自定义颜色。

Wikipedia提供了有关ANSI转义代码的其他信息。


1
问题不是实际的转义代码,而是Terminal.app如何解释它们。在Lion之前,您无法更改颜色的外观。
迈克尔·斯托姆
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.