Это интересный пример вопроса большого списка . Кажется, что некоторым людям на сайте (включая нас двоих) нравится такой вопрос, а другим - нет. Результаты могут быть действительно переменными в зависимости от ответа модератора. Я начал обсуждение мета-информации об этом, ссылаясь на этот вопрос в качестве примера 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состоит в том, что ключи in eshellили shellявляются по-прежнему ключами emacs, но в termключах emacs не работает. Но преимущество заключается в том, что вы можете запускать ssh, vim или любую команду на основе текстового интерфейса, которая не будет работать в M-x eshellили M-x shell.
termи ansi-termраньше это были разные пакеты, но теперь это две разные команды в одном файле term.el. Я не использовал их много. Вы можете найти более подробный ответ по этому поводу в emacs wiki .
msgstr "теперь две разные команды в одном файле". Там может быть пропущенное слово или два там.
Фахим Митха
2
Хороший ответ. Ссылка на упомянутую вики-страницу тоже подойдет.
Малабарба
3
«Mx shell является наиболее часто используемым» - я хотел бы, чтобы цитата или некоторые данные поддерживали это, поскольку я совсем не уверен, что это правда. Кроме того, он не добавляет ничего существенного к ответу. Хороший ответ иначе.
Шости
2
Шости, у меня нет жесткой статистики. в соответствии с заголовком файла, shell - 1988. eshell - 1999. term.el - также 1988. eshell в основном используется хакерами elisp, так что это гораздо меньше, чем пользователям emacs. Это оставляет оболочку против срока. Я думаю, что мы можем сравнить их упоминания в книгах по emacs, например, 3 или около того старых из О'Рейли. Или сравнение Google ... но просто из опыта работы в сообществе emacs, я думаю, что термин / ansi-term используется гораздо реже.
Ответы:
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
состоит в том, что ключи ineshell
илиshell
являются по-прежнему ключами emacs, но вterm
ключах emacs не работает. Но преимущество заключается в том, что вы можете запускать ssh, vim или любую команду на основе текстового интерфейса, которая не будет работать вM-x eshell
илиM-x shell
.term
иansi-term
раньше это были разные пакеты, но теперь это две разные команды в одном файле term.el. Я не использовал их много. Вы можете найти более подробный ответ по этому поводу в emacs wiki .В моем блоге есть еще немного информации .
источник