在 emacs 中激活 tmux shell
Activate tmux within a emacs shell
通过 M-x shell
、
调用 'shell'
并计划开始 tmux 会话
它报告错误
$ tmux
open terminal failed: terminal does not support clear
有什么问题?
如果调用`ansi-term',则复制和粘贴操作无效。
因此,shell
在例程中比 ansi-term 表现更好。
如何在 shell
中激活 tmux
tmux
需要一个真正的终端,而 shell
不提供(正如您得到的错误暗示的那样)。所以你需要使用 term
和 tmux
。
或者您可以使用 Emacs 的内置功能来获得 tmux
的功能。例如。 C-x 2
和 C-x 3
会将框架拆分为 windows,因此您可以在框架中包含多个终端(Emacs 框架是大多数应用程序所称的 window)。启动 emacs 服务器和 emacsclient
以建立可以连接的会话并在关闭框架后保持 运行ning。
复制 (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
缓冲区保持在字符模式,并向 term-raw-map
添加一些键绑定,这样我就可以 运行 某些 Emacs 命令。
通过 M-x shell
、
调用 'shell'
并计划开始 tmux 会话
它报告错误
$ tmux
open terminal failed: terminal does not support clear
有什么问题?
如果调用`ansi-term',则复制和粘贴操作无效。
因此,shell
在例程中比 ansi-term 表现更好。
如何在 shell
中激活 tmuxtmux
需要一个真正的终端,而 shell
不提供(正如您得到的错误暗示的那样)。所以你需要使用 term
和 tmux
。
或者您可以使用 Emacs 的内置功能来获得 tmux
的功能。例如。 C-x 2
和 C-x 3
会将框架拆分为 windows,因此您可以在框架中包含多个终端(Emacs 框架是大多数应用程序所称的 window)。启动 emacs 服务器和 emacsclient
以建立可以连接的会话并在关闭框架后保持 运行ning。
复制 (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
缓冲区保持在字符模式,并向 term-raw-map
添加一些键绑定,这样我就可以 运行 某些 Emacs 命令。