【问题标题】:Change Color of Text Being Currently Used (Terminal - OSX)更改当前使用的文本颜色(终端 - OSX)
【发布时间】:2015-04-25 19:43:54
【问题描述】:

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


过去几天我一直在努力自定义终端窗口。一切都很顺利...直到我决定我只想更改 您当前正在输入的文本文本输入)的颜色,然后将执行该颜色。

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

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

export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

任何帮助将不胜感激。 作为旁注:我了解用于表示单个颜色的 8 位 sn-ps,但似乎我无法弄清楚如何使用它们来仅处理文本输入。

【问题讨论】:

    标签: macos terminal .bash-profile


    【解决方案1】:

    要按照您的要求进行操作,需要执行以下步骤:

    • 在提示符的最后,开启要显示的文字颜色
    • 当您按下回车键(完成编辑)时,关闭文本颜色。

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

    真正的问题是当你按下 Enter 时如何重置颜色。这似乎没有一个简单的解决方案:我看不到重新绑定 Enter 键以添加功能的方法 - 解释级别之间没有区别,您可能无法增强Enter 键。 bash 中的键绑定功能主要针对 readline 库;剩菜被送到 bash。在绑定中,您可以执行以下操作:

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

    或者,您可以做的是绑定另一个键,例如 control/L 来执行 bash accept-line 功能以及重置颜色。这里有几个链接,您会发现它们对研究如何执行此操作很有用:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-04
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      相关资源
      最近更新 更多