Emacs 和 Shell 在同一个窗口中?

Emacs 和 Shell 在同一个窗口中?

我只是想知道是否有任何方法可以将 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。

相关内容