如何更改当前光标位置指示器的颜色?

时间:2012-07-15 17:21:54

标签: linux perl console terminal terminal-color

当我打开终端时,我有一个带有白色字符的黑色背景。我还有一个绿色占位符,向我指示当前光标的位置。

在终端中运行的任何perl脚本中,此行为都是相同的。

如何在脚本中更改光标指示器的颜色(具体来说,我希望它会消失一段时间后再返回)?

我正在使用Linux和bash。

3 个答案:

答案 0 :(得分:3)

没有便携,但某些终端接受转义序列以更改光标颜色。

例如,xterm接受OSC 12来设置颜色

$ echo -e "\e]12;red\a"

答案 1 :(得分:2)

如果更改打印文本的颜色,则可以更改光标的颜色。 因此,您无法简单地更改光标的颜色而不会更改正在打印的文本的颜色。

但是你可以使光标不可见:

system("tput cinvis"); # make cursor invisible
system("tput cnorm");  # make cursor visible

答案 2 :(得分:1)

你尝试过这样的事吗?

use Term::ANSIColor qw(:constants);

print RED, "Danger, Will Robinson!\n", RESET;