在 emacs shell 中激活 tmux



通过M-x shell调用"shell",
并计划启动TMUX会话

它报告错误

$ tmux 
open terminal failed: terminal does not support clear

怎么了?

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

因此,shell例行公事中的表现比安西学期更好。

如何在外壳中激活 tmux

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,而char模式的行为更像一个真正的终端,大多数Emacs键绑定不可用。 我个人几乎总是将term缓冲区保持在 char 模式下,并向term-raw-map添加一些键绑定,以便我可以运行某些 Emacs 命令。

最新更新