出于实际原因,我在gnu屏幕(*)中使用了tmux。
在tmux内部,我有emacs,到目前为止,一切运行良好:字体,字符,颜色等。
在此配置下,只有一件事不起作用:使用VTE转义序列更改光标形状。如果我仅在tmux中使用emacs,则它可以工作。如果我仅在终端中使用emacs,它也可以工作。
我在tmux.conf文件中使用了以下代码:
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[0 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[1 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[2 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[3 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[4 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[5 q"
set-option -ga terminal-overrides ",tmux-256color:Se=\\E[6 q"
在emacs中:
;; Change the cursor shape according to the mode, in VTE based terminals
(add-hook 'overwrite-mode-hook
(lambda ()
(if overwrite-mode (send-string-to-terminal "\033[3 q")
(send-string-to-terminal "\033[5 q"))
)
)
(add-hook 'read-only-mode-hook
(lambda ()
(if buffer-read-only (send-string-to-terminal "\033[2 q")
(send-string-to-terminal "\033[5 q"))
)
)
到目前为止,一切都按预期进行。当我切换到覆盖模式时,光标形状变为终端。但是,如果我在屏幕上运行tmux,它将无法再使用。
您能告诉我我必须添加到屏幕上吗-或tmux配置才能使此工作正常进行。
谢谢。