更改当前使用的文本颜色(终端 - OSX)

时间:2015-04-25 19:43:55

标签: macos terminal .bash-profile

供参考:我使用 Macbook Pro Retina(2014),所有软件都是我发布此问题时的最新版本。 (使用OSX 10.10.2 Yosemite

在我尝试定制终端窗口时,过去几天我一直在努力。一切都很顺利...直到我决定我只想更改当前正在键入的文本文本输入)的颜色,然后执行。< / p>

进入我的.bash_profile并调整任何内容都没有问题。我似乎无法很好地掌握色彩概念,因此它只为我做这件事。目前我的.bash_profile看起来像这样:

export PS1="\n\n\njboned$ "
export PATH="/usr/local/mysql/bin:$PATH"

export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

非常感谢任何帮助。 作为旁注:我理解用于表示单个颜色的8位片段,但似乎我无法弄清楚如何仅使用它们来处理文本输入。

1 个答案:

答案 0 :(得分:1)

要做你要问的事,需要采取以下步骤:

  • 在提示结束时,启用要显示的文字颜色
  • 当您按下返回(完成编辑)时,请关闭文本颜色。

bash在编辑时不会重置属性,因此颜色&#34;应该&#34;工作 - 编辑时。在编辑时,bash可能会使用转义序列来清除当前行(可能会使用您选择的任何背景颜色填充它)。

真正的问题是当您按 Enter 时如何重置颜色。这似乎没有一个简单的解决方案:我没有看到重新绑定 Enter 键来添加功能的方法 - 解释级别之间没有区别,你可能觉得没有可能增强输入键。 bash中的键绑定功能主要与readline库进行对话;剩菜被送到bash。在绑定中你可以做这些事情:

  • 将宏的名称发送给bash,或者重置颜色的完整echo命令(因为readline没有自己的echo,似乎)
  • 输入键(即^M)和
  • 直接读取,accept-line函数

或者,你可以做的是绑定另一个键,比如控制/ L来执行bash accept-line功能以及重置颜色。以下是一些链接,您会发现这些链接可用于调查如何执行此操作: