【问题标题】:Activate tmux within a emacs shell在 emacs shell 中激活 tmux
【发布时间】:2019-06-22 05:57:15
【问题描述】:

M-x shell 调用“shell”,
并计划开始一个 tmux 会话

它报告错误

$ tmux 
open terminal failed: terminal does not support clear

有什么问题?

如果调用`ansi-term',则拉取和粘贴操作无效。

所以,shell 在例程中的表现优于 ansi-term。

如何在 shell 中激活 tmux

【问题讨论】:

    标签: emacs


    【解决方案1】:

    tmux 需要一个真正的终端,而shell 没有提供这个(正如你得到的错误所暗示的那样)。所以你需要使用termtmux

    或者您可以使用 Emacs 的内置功能来拥有 tmux 的功能。例如。 C-x 2C-x 3 会将框架拆分为多个窗口,这样您就可以在一个框架中拥有多个终端(Emacs 框架是大多数应用程序所称的窗口)。启动一个 emacs 服务器和 emacsclient 以建立会话,您可以在关闭框架后连接到这些会话并继续运行。

    默认情况下,复制 (M-w) 和粘贴 (S-<insert>) 应该可以工作。如果您想使用绑定,键映射称为term-raw-map,命令为kill-ring-saveterm-paste

    还要了解term-line-mode (C-c C-j) 和term-char-mode (C-c C-k) 之间的区别。简而言之,行模式的行为更像shell,而字符模式的行为更像是一个真正的终端,大多数 Emacs 键绑定都不可用。我个人几乎总是将term 缓冲区保持在字符模式,并向term-raw-map 添加一些键绑定,以便我可以运行某些Emacs 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      相关资源
      最近更新 更多