Які всі способи запуску оболонки зсередини emacs і які їх різні властивості?


25

Мені відомо щонайменше чотири можливості:

  • ешел
  • термін
  • ансі-термін
  • оболонки

Який повний перелік інструментів, вбудованих в emacs для запуску оболонки, і які переваги та недоліки вони пропонують?


1
це цікавий приклад питання з великим списком . Здається, що деяким людям на сайті (включаючи нас двох) подобається подібне запитання, тоді як іншим насправді немає. Результати можуть бути дійсно різними залежно від відповіді модератора. Я розпочав дискусію з мета про це, посилаючись на це питання як на приклад meta.emacs.stackexchange.com/questions/305/…
Джо Корнелі

Відповіді:


31

M-x shellє стандартним інтерфейсом до оболонки ОС. У Linux він називає bash (або будь-який інший за замовчуванням), в Windows він називає cmd.exe. M-x shellє найбільш часто використовуваним.

M-x eshell- оболонка, написана в emacs lisp цілком. Він має синтаксис, схожий на bash, але добре інтегрований з elisp. напр., ви можете оцінити код Elisp прямо там. Eshell особливо корисний у Windows, коли у вас не встановлено cygwin тощо.

M-x termі M-x ansi-termє емуляціями терміналів, подібно до gnome-terminal, xterm тощо. Основна відмінність M-x shellполягає в тому, що в, eshellабо shell, ключі все ще є ключами emacs, але в term, клавіші emacs не працюють. Але перевага полягає в тому, що ви можете запускати ssh, vim або будь-яку команду, засновану на текстовому інтерфейсі, яка не працюватиме в M-x eshellабо M-x shell.

termі ansi-termраніше були різними пакетами, але тепер це дві різні команди в одному файлі term.el. Я їх мало використовував. Більш детальну відповідь про це ви можете знайти на wiki wiki .

В моєму блозі є ще трохи інформації .


1
"тепер є дві різні команди одного файлу". Там може бути пропущене слово або два.
Faheem Mitha

2
Гарна відповідь. Посилання на згадувану сторінку wiki також було б непоганим.
Малабарба,

3
"Оболонка Mx є найбільш часто використовуваною" - я хотів би, щоб цитата чи деякі дані підтримували це, оскільки я зовсім не впевнений, що це правда. Крім того, це не додає нічого суттєвого у відповідь. Гарна відповідь інакше.
shosti

2
шості, у мене немає важкої статистики. відповідно до заголовка файлу, оболонка - 1988. eshell - це 1999. term.el - також 1988. eshell використовується в основному хакерами elisp, тому це набагато менше, ніж користувачів emacs. Це залишає оболонку проти терміну. Я думаю, що ми можемо порівняти їх згадки в книгах emacs, наприклад, 3-х або більше старих з O'Reilly. Або порівняння Google ... але, лише з досвіду, що зависає у спільноті emacs, я думаю, що термін / ansi-термін використовується набагато менше.
Xah Lee
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.