【问题标题】:Emacs: Terminal vs shell?Emacs:终端与外壳?
【发布时间】:2012-09-01 11:53:43
【问题描述】:

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

【问题讨论】:

  • shell 非常方便,因为通常的 emacs 功能(如 isearch)在其中按预期工作。

标签: shell emacs terminal


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    shell 就像另一个 emacs 缓冲区,因此在其中工作的键与在其他缓冲区中工作的键相同。对于终端来说不是这样。

    【讨论】:

      【解决方案3】:

      您可以在终端中启动清除屏幕的控制台程序,例如mc

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-11
          • 2019-11-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多