18

我一直在阅读如何在 EMACS 中使用外壳,一路上我发现了终端的概念,它是与外壳交互的旧物理设备的抽象。
但是,现在,我真的不明白它的使用有哪些优点,所以,你能指出一些应该在 Emacs 中使用它而不是 shell 的情况或示例吗?

4

4 回答 4

17

运行术语缓冲区更接近实际终端。以下是一些不同之处:

  • Shell 模式提供非常有限的终端仿真。利用终端全屏功能的程序(例如lessmtrmutttop)将无法正常运行。终端模式通常会毫无问题地处理这些。
  • 在 shell 模式下,emacs 提供了 tab 补全。在终端模式下,shell 或命令行程序自己提供。
  • Shell 模式缓冲输入并将其发送到换行符上的进程。终端模式立即将字符发送到正在运行的进程。
  • Shell 模式的工作方式类似于具有通常的 emacs 键绑定的常规缓冲区。终端模式不会拦截大多数控制字符,除非您明确将其置于行模式。
于 2012-09-04T18:54:23.893 回答
4

shell 就像另一个 emacs 缓冲区,因此在其中工作的键与在其他缓冲区中工作的键相同。对于终端来说,情况并非如此。

于 2012-09-01T12:20:42.433 回答
2

mc您可以像在终端中一样启动清除屏幕的控制台程序。

于 2012-09-01T12:21:26.357 回答
2

物理终端早已过时,但替代它们的终端仿真器非常重要,而且我认为 Emacs 之外的大多数 shell 都在一个内运行,因此在 Emacs 内使用一个也不是什么神秘的概念。

这与您的问题无关,但The TTY demystified是一篇出色的文章,您可能会发现它很有启发性。

于 2012-09-04T20:47:31.200 回答