将转义序列从tmux传递到gnu屏幕

时间:2018-11-04 10:13:52

标签: emacs tmux gnu-screen gnome-terminal

出于实际原因,我在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配置才能使此工作正常进行。

谢谢。

  • 我需要一次在一个终端上一次远程连接多台服务器,屏幕内的ant tmux是最实用的选择。特别是由于每个远程服务器都运行tmux ...

0 个答案:

没有答案