Emacs:终端vs shell?

utx*_*eee 17 emacs shell terminal

我一直在阅读如何在EMACS中使用shell,我发现了Terminal的概念,它是与shell交互的旧物理设备的抽象.
但是,现在,我真的无法理解它的使用有哪些优点,所以,请你指出一些情况或例子,在Emacs中应该使用它而不是shell?

ata*_*lor 16

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

  • Shell模式提供非常有限的终端仿真.即利用终端的全屏功能的程序(例如less,mtr,mutt,top)将无法正常工作.终端模式通常会毫无问题地处理这些问题.
  • 在shell模式下,emacs提供了标签完成功能.在终端模式下,shell或命令行程序自己提供它.
  • Shell模式缓冲输入并将其发送到换行上的进程.终端模式立即将字符发送到正在运行的进程.
  • Shell模式就像常规缓冲区一样,具有通常的emacs键绑定.终端模式不会拦截大多数控制字符,除非您明确将其置于行模式.


小智 4

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