我只是想知道是否有任何方法可以将 emacs 和 shell 放在同一个窗口中。比如将 shell 分成两部分,一部分用于 shell 本身,另一部分用于 emacs。或者是否有任何方法可以快速切换 shell 窗口和 emacs 窗口?
我问这个问题的原因是:有时我需要用 shell 命令运行我的程序,我必须关闭 emacs 并返回到 shell 窗口。来回切换有点浪费时间。
谢谢
答案1
您正在寻找所谓的终端多路复用器。最常用的两个是 screen 和 tmux。如果可以选择,tmux 具有更多功能,您应该更喜欢它而不是 screen。
答案2
您随时可以暂停 emacs ( M-x suspend-emacs),运行命令,然后返回 emacs ( fg
)。
答案3
您始终可以使用 emacs 中的终端(emacs 将完成所有绘制工作)。通常您有 3 个选择:
shell 模式 - 终端只是另一个 emacs 缓冲区,您不能使用需要 curses 或类似库的实用程序(man 可能无法工作,top 或 finch 也是如此),
eshell 模式 - 我没怎么用过。它是 lisp 上的内置 emacs shell。
ansi-term 模式 - 模拟 ansi 终端,可以在两种模式下工作。您可以运行 man、htop 等,虽然存在一些问题,但我相信您会满意的。这些模式包括:
- 字符模式 - 它将抓取几乎所有的 emacs 绑定,要切换,请使用 Cx Cj
- 换行模式 - 它将像另一个缓冲区一样运行,要切换回来请使用 Cx Ck。