Подтвердить что ты не робот

Emacs: Терминал против оболочки?

Я читал, как использовать оболочку внутри EMACS, так как я нашел концепцию терминала, которая является абстракцией для старых физических устройств, взаимодействующих с оболочкой.
Но, в настоящее время, я действительно не могу понять, какие преимущества имеют его использование, поэтому можете ли вы указать мне пару ситуаций или примеров, где следует использовать его вместо оболочки в Emacs?

4b9b3361

Ответ 1

Запуск терминального буфера намного ближе к фактическому терминалу. Вот несколько отличий:

  • Режим оболочки обеспечивает очень ограниченную эмуляцию терминала. Программы, которые используют возможности полноэкранного вывода терминала (например, less, mtr, mutt, top), не будут работать должным образом. Терминальный режим обычно обрабатывает их без каких-либо проблем.
  • В режиме оболочки emacs обеспечивает выполнение табуляции. В терминальном режиме программа оболочки или командной строки предоставляет ее сами.
  • Режим оболочки буферизует ввод и отправляет его процессу в новой строке. Режим терминала немедленно отправляет символы в выполняемый процесс.
  • Режим оболочки работает как обычный буфер с обычными привязками клавиш emacs. Терминальный режим не перехватывает большинство управляющих символов, если вы явно не помещаете его в линейный режим.

Ответ 2

Оболочка похожа на другой буфер emacs, поэтому в ней работают одни и те же ключи, которые работают в других буферах. Это не относится к терминалу.

Ответ 3

Вы можете запустить консольные программы, которые очищают экран, например mc в терминале.

Ответ 4

Физические терминалы давно устарели, но эмуляторы терминалов, которые их заменили, довольно важны, и я бы предположил, что большинство оболочек вне Emacs запускаются внутри одного, поэтому не таинственная концепция использовать один в Emacs тоже.

Это касается только вашего вопроса, но TTY demystified - отличная статья, которая может показаться вам полезной.