如何在bash shell中设置游标颜色

时间:2016-05-31 23:42:36

标签: bash

我发现我可以通过在.bashrc文件中包含以下指令来使光标闪烁:

echo -ne "\x1b[1 q"

但我也想改变闪烁光标的颜色。我知道我的终端支持颜色,因为我可以设置提示颜色并以彩色打印文本,但我无法更改光标颜色。有什么建议吗?

我添加了以下注释,我知道如何更改终端上显示的文本颜色,但这与更改光标的颜色不同。所以我的问题没有在that other question中解决。

但我确实在终端仿真器软件中找到了解决方法,如下所示。 感谢您的反馈,特别是有关在终端类型中选择适当的转义码的部分。

2 个答案:

答案 0 :(得分:3)

之后我发现我可以更改光标颜色,而不是bash,但是在终端模拟器程序中。在我的情况下,该程序是MobaXTerm。我发现了以下序列:设置 - 终端 - 光标。此时,选择光标颜色会导致bash shell中的光标以所需的颜色显示。所以现在在我在xterm窗口的bash环境中使用vim编辑的文件中,我看到一个闪烁的绿色块光标,这就是我需要的。

请查看以下简短演示片段:Blinking Green Block Cursor in bash and vim

获得这就是我的问题所在,而不是关于如何在屏幕上显示彩色文本,正如所指出的那样已经在其他地方得到了回答。所以我的问题不是重复的。无论如何,事实证明我的xterm仿真软件Mobaxterm允许我设置光标颜色,而我的.bashrc文件中的转义序列允许我让它闪烁。

答案 1 :(得分:1)

不要使用echo转义字符。像这样使用printf:

printf '%b' '\e]12;red\a'