通过M-x shell
调用“ shell”,
并计划开始一个tmux会话
它报告错误
$ tmux
open terminal failed: terminal does not support clear
出什么问题了?
如果调用“ ansi-term”,则拉动和粘贴操作无效。
因此,shell
在例程中的性能优于ansi-term。
如何在外壳中激活tmux
答案 0 :(得分:3)
tmux
需要一个真实的终端,而shell
不提供该终端(如您得到的错误所暗示)。因此,您需要将term
与tmux
一起使用。
或者您可以使用Emacs的内置功能来拥有tmux
的功能。例如。 C-x 2
和C-x 3
会将框架拆分为多个窗口,因此您可以在一个框架中拥有多个终端(Emacs框架是大多数应用程序所称的窗口)。启动emacs服务器,然后emacsclient
启动会话,您可以连接到该会话,并在关闭框架后使其继续运行。
默认情况下,复制(M-w
)和粘贴(S-<insert>
)应该有效。如果要使用绑定,键映射称为term-raw-map
,命令为kill-ring-save
和term-paste
。
还了解term-line-mode
(C-c C-j
)和term-char-mode
(C-c C-k
)之间的区别。简而言之,行模式的行为更像shell
,而字符模式的行为更像真实的终端,大多数Emacs键绑定不可用。我个人几乎总是将term
缓冲区保持为char模式,并向term-raw-map
添加一些键绑定,以便我可以运行某些Emacs命令。