Mac OSX 终端不同的颜色

Mac OSX 终端不同的颜色

有没有办法让命令行和输出显示不同的颜色?例如,我一直在使用 PS1 值,所以我的提示符是红色的,但我希望命令行是绿色的,输出是白色的(例如:如果我输入“ls”,它就是绿色的,然后文件列表是白色的)。

答案1

在 PS1 的末尾,使用转义序列设置输入的颜色。例如,

PS1="\h \w$ \e[0;32m"

(重要的是\e[0;32m最后的部分(可以是任何颜色),其余的由你决定)

要设置不同的输出颜色,您需要“捕获”“DEBUG”信号并调用某个函数。这是我的

debug()
{
  echo -n $'\e[0m';
}
trap debug DEBUG

它并不复杂,它只是确保每当您输入命令(导致 DEBUG 信号)时debug都会调用该函数。

因此,只需将这些行复制到您的 .bash_profile 或 .bashrc 或您正在使用的任何文件中,然后将 '\e[0m' 更改为您喜欢的任何颜色。

答案2

您需要让 shell 或程序发出适当的转义序列来在您按下回车键后更改颜色。

当前 OS X 使用的 bash shell 没有明显的功能来执行此操作。

答案3

您可以绑定另一个键来发送转义序列和返回。

  1. 在终端的偏好设置中,单击“设置”窗格,然后单击“键盘”选项卡。
  2. 单击加号按钮。
  3. 选择修饰符和键。将动作设置为send string to shell并将字符串设置为\033[m\015。单击“确定”。

您必须习惯使用该键盘快捷键而不是return...尽管可能有一个应用程序可以让您的系统return在终端中将其视为备用快捷方式。

相关内容