在emacs shell中激活tmux

时间:2019-06-21 03:16:29

标签: emacs

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

它报告错误

$ tmux 
open terminal failed: terminal does not support clear

出什么问题了?

如果调用“ ansi-term”,则拉动和粘贴操作无效。

因此,shell在例程中的性能优于ansi-term。

如何在外壳中激活tmux

1 个答案:

答案 0 :(得分:3)

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-modeC-c C-j)和term-char-modeC-c C-k)之间的区别。简而言之,行模式的行为更像shell,而字符模式的行为更像真实的终端,大多数Emacs键绑定不可用。我个人几乎总是将term缓冲区保持为char模式,并向term-raw-map添加一些键绑定,以便我可以运行某些Emacs命令。