更改当前使用的文本的颜色(终端 - OSX)
Change Color of Text Being Currently Used (Terminal - OSX)
供参考:我使用的是 Macbook Pro Retina (2014),并且在我发布此问题时所有软件都是最新的. (使用 OSX 10.10.2 Yosemite)
过去几天我一直在努力尝试自定义终端 window。一切都很顺利......直到我决定我只想更改您当前正在输入的文本(文本输入)的颜色然后将被执行。
进入 .bash_profile
并进行任何调整都没有问题。我似乎无法很好地掌握颜色概念,以至于它只为我做这件事。目前我的 .bash_profile
看起来像这样:
export PS1="\n\n\njboned$ "
export PATH="/usr/local/mysql/bin:$PATH"
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
如有任何帮助,我们将不胜感激。 作为旁注:我了解用于表示各种颜色的 8 位片段,但似乎我无法弄清楚如何使用它们来仅处理文本输入。
要完成您要求的操作,需要执行以下步骤:
- 在提示结束时,打开您想要显示的文本颜色
- 当您按下 return(完成编辑)时,关闭文本颜色。
bash 不会在您编辑时重置属性,因此颜色 "should" 在编辑时起作用。在您编辑时,bash 可能会使用清除当前行的转义序列(可能会用您选择的任何背景颜色填充它)。
真正的问题是当您按下 Enter 时如何重置颜色。这似乎没有直接的解决方案:我没有看到重新绑定 Enter 键以添加功能的方法——解释级别之间没有区别,您可能找不到它可以增强 Enter 键。 bash 中的键绑定功能主要与 readline 库对话;剩菜被送到 bash。在绑定中,您可以执行以下操作:
- 将宏的 name 发送到 bash,或者发送一个完整的
echo
重置颜色的命令(因为 readline 没有 echo
似乎是独立的)
- Enter 键(即
^M
)和
- 直接读取行,
accept-line
函数
或者,您可以做的是绑定另一个键,比如control/L执行bash accept-line
功能以及重置颜色。这里有几个链接,您会发现它们对研究如何执行此操作很有用:
- how to bind the 'Enter key'
- Complex keybinding in bash
- In bash, how do I bind a function key to a command?
- Smart preparsing with the bash shell
供参考:我使用的是 Macbook Pro Retina (2014),并且在我发布此问题时所有软件都是最新的. (使用 OSX 10.10.2 Yosemite)
过去几天我一直在努力尝试自定义终端 window。一切都很顺利......直到我决定我只想更改您当前正在输入的文本(文本输入)的颜色然后将被执行。
进入 .bash_profile
并进行任何调整都没有问题。我似乎无法很好地掌握颜色概念,以至于它只为我做这件事。目前我的 .bash_profile
看起来像这样:
export PS1="\n\n\njboned$ "
export PATH="/usr/local/mysql/bin:$PATH"
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
如有任何帮助,我们将不胜感激。 作为旁注:我了解用于表示各种颜色的 8 位片段,但似乎我无法弄清楚如何使用它们来仅处理文本输入。
要完成您要求的操作,需要执行以下步骤:
- 在提示结束时,打开您想要显示的文本颜色
- 当您按下 return(完成编辑)时,关闭文本颜色。
bash 不会在您编辑时重置属性,因此颜色 "should" 在编辑时起作用。在您编辑时,bash 可能会使用清除当前行的转义序列(可能会用您选择的任何背景颜色填充它)。
真正的问题是当您按下 Enter 时如何重置颜色。这似乎没有直接的解决方案:我没有看到重新绑定 Enter 键以添加功能的方法——解释级别之间没有区别,您可能找不到它可以增强 Enter 键。 bash 中的键绑定功能主要与 readline 库对话;剩菜被送到 bash。在绑定中,您可以执行以下操作:
- 将宏的 name 发送到 bash,或者发送一个完整的
echo
重置颜色的命令(因为 readline 没有echo
似乎是独立的) - Enter 键(即
^M
)和 - 直接读取行,
accept-line
函数
或者,您可以做的是绑定另一个键,比如control/L执行bash accept-line
功能以及重置颜色。这里有几个链接,您会发现它们对研究如何执行此操作很有用:
- how to bind the 'Enter key'
- Complex keybinding in bash
- In bash, how do I bind a function key to a command?
- Smart preparsing with the bash shell