Terminal 如何设置一个纯emacs分层tty堆栈,支持256色和鼠标? 我使用这个分层tty堆栈来访问GNU/Linux上的emacs:

Terminal 如何设置一个纯emacs分层tty堆栈,支持256色和鼠标? 我使用这个分层tty堆栈来访问GNU/Linux上的emacs:,terminal,tty,emacs24,xterm,256color,Terminal,Tty,Emacs24,Xterm,256color,注: Mac OS X=版本10.8.2 iTerm2=iTerm2.com版本1.0.0.20130319,终端类型=xterm-256color screen=GNU屏幕,从git克隆构建git://git.savannah.gnu.org/screen.git 使用--enable-colors25,使用.screenrc“term xterm-256color”运行 emacs=从24.3源代码构建的emacs 24.3 这实际上非常有效,但是我想修改一些用户界面行为 我想如果我换成

注:

  • Mac OS X=版本10.8.2

  • iTerm2=iTerm2.com版本1.0.0.20130319,终端类型=xterm-256color

  • screen=GNU屏幕,从git克隆构建git://git.savannah.gnu.org/screen.git 使用--enable-colors25,使用.screenrc“term xterm-256color”运行

  • emacs=从24.3源代码构建的emacs 24.3

这实际上非常有效,但是我想修改一些用户界面行为

我想如果我换成

具有256色和鼠标支持的纯emacs分层tty堆栈: 这就提出了这些问题。。。
  • 在这种情况下,emacs终端仿真的最佳选择是什么

  • 如何设置TERM和TERMINFO以获得256色

  • 如何捕获/恢复emacs守护进程中的窗口布局

  • 如何跟踪会话上下文?我指的是主机名和子会话

  • 如何使鼠标从上到下工作

  • 鼠标实际上可以很好地与iTerm2配合使用,在~./emacs中:

    ;; Enable iTerm2 mouse support
    ;; > Preferences > Profiles > Default > Terminal > Enable xterm mouse reporting > check
    (unless window-system
      (require 'mouse)
      (xterm-mouse-mode t)
      (global-set-key [mouse-4] '(lambda ()
                                  (interactive)
                                  (scroll-down 1)))
      (global-set-key [mouse-5] '(lambda ()
                                  (interactive)
                                  (scroll-up 1)))
      (defun track-mouse (e))
      (setq mouse-sel-mode t)
    )
    
    这引出了一个子问题

    1a。是否有生成/转发xterm鼠标事件的emacs终端仿真

    注:

    • 作为一个群体,因为答案必须在一起

    • 由于带宽和个人偏好,需要tty解决方案

    • 考虑到各种其他要求,emacs tramp是不够的


    我很确定
    screen-256color
    更适合您的
    。screenrc
    @端庄谢谢。你能详细解释一下你为什么会这样想吗?如果你知道的话,请告诉我在哪里可以找到一个确定的screen-256颜色来源?它不在里面git://git.savannah.gnu.org/screen.git 而且有多个版本,所以我很困惑。我很难找到一篇文章直接说明为什么使用基于屏幕的termcap更可取,手册页的许多部分表明它有助于正确模拟各种功能。谢谢你,端庄。由于iterm->ssh->screen->ssh->screen->emacs在使用xterm-256color时可以完美工作,因此我认为没有必要切换到screen-256color。我已经为Mac OS X使用emacs有一段时间了(即使是使用tramp),这是一次令人惊讶的好体验。我不知道您不想使用tramp的确切原因,但您可以尝试使用本机emacs for OSX并直接通过ssh连接。
    Mac OS X > emacs M-x term $ ssh head-node -->
    $ [emacs --daemon] emacsclient -nw M-x term $ ssh compute-node -->
    $ [emacs --daemon] emacsclient -nw       
    
    ;; Enable iTerm2 mouse support
    ;; > Preferences > Profiles > Default > Terminal > Enable xterm mouse reporting > check
    (unless window-system
      (require 'mouse)
      (xterm-mouse-mode t)
      (global-set-key [mouse-4] '(lambda ()
                                  (interactive)
                                  (scroll-down 1)))
      (global-set-key [mouse-5] '(lambda ()
                                  (interactive)
                                  (scroll-up 1)))
      (defun track-mouse (e))
      (setq mouse-sel-mode t)
    )