终端内的Emacs动态更改光标颜色

Att*_*tic 8 emacs terminal elisp

我正在尝试动态地将Emacs中的光标颜色更改为另一种颜色.

我正在使用emacs -nw终端Emacs.我正在使用的终端是Rxvt-Unicode(Urxvt).

由于Emacs不能(我认为)对终端进行更改,(set-cursor-color "red")将无法正常工作.为了改变终端的光标颜色,我可以运行 echo -ne '\033]12;red\007'.这会将光标的颜色更改为红色.

我在Emacs中尝试做的是在其中运行此命令. M-x shell-command RET echo -ne '\033]12;red\007' RET

但是,Emacs将转义回显的字符串并将其打印在窗口的底部,而不是实际对光标进行任何更改.

我真的不知道我还能从这里做什么,我不想使用Emacs GUI.有没有人知道这方面的方法?我希望能够根据我当前的模式更改光标的颜色,这就是为什么它需要是动态的.如果有人有任何其他建议我会很高兴听到他们!

Ste*_*fan 5

我想你想用send-string-to-terminal.

例如(send-string-to-terminal "\033]12;red\007").