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

How to set cursor color in bash shell

本问题已经有最佳答案,请猛点这里访问。

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

1
echo -ne"\x1b[1 q"

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

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

但我确实在下面提供的终端仿真器软件中找到了一个解决方法。感谢您的反馈,尤其是有关如何选择跨终端类型可移植的正确转义码的部分。


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

请检查以下简短的演示剪辑:在bash和vim中闪烁绿色块光标

实现这一点是我的问题所在,而不是如何在屏幕上显示彩色文本,正如前面所指出的,彩色文本已经在别处得到了回答。所以我的问题不是重复的。总之,我的xterm仿真软件mobaxterm允许我设置光标颜色,而.bashrc文件中的转义序列允许我让它闪烁。


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

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