Answers:
M-x shell
是OS Shell的标准接口。在linux上,它调用bash(或任何默认值),在Windows上,它调用cmd.exe。M-x shell
是最常用的。
M-x eshell
是完全用emacs lisp编写的shell。它的语法类似于bash,但是与elisp很好地集成在一起。例如,您可以在那里评估elisp代码。当您未安装cygwin等时,Eshell在Windows上特别有用。
M-x term
并且M-x ansi-term
是终端仿真,与gnome-terminal,xterm等类似。主要区别M-x shell
在于,in eshell
或shell
中的键仍然是emacs密钥,但in term
中的emacs密钥不起作用。但是,这样做的好处是您可以运行ssh,vim或任何基于文本UI的命令,而这些命令在M-x eshell
或中不起作用M-x shell
。
term
和ansi-term
以前是不同的包,但现在他们都在同一个文件term.el. 2个不同的命令 我没有用太多。您可以在emacs Wiki上找到有关此问题的更详细的答案。
我的博客上还有更多信息。