M-x shell
:运行一个子Shell,该子Shell对应于emacs中的一个名为*Shell*的缓冲区,此后我们就可以交互式的运行Shell命令了。 C-c C-c
相当于Bash下的C-cC-c C-z
相当于Bash下的C-zC-c C-d
相当于Bash下的C-dM-p
执行前一条命令C-n
执行下一条命令C-c C-o
删除最后一条命令产生的输出C-c C-r
屏幕滚动到最后一条命令输出的开头C-c C-e
屏幕滚动到最后一套命令输出的结尾C-c C-p
查看前一条命令的输出C-c C-n
查看后一条命令的输出M-x term
:运行一个子Shell,该子Shell对应于emacs中的一个名为*Terminal*的缓冲区。使用该命令获得的子Shell是一个完整的Shell的模拟,与我们直接在Shell中操作没有什么差别。M-x eshell
:运行emacs shell,该Shell为emacs自己实现的一个shell,而前面运行的shell都为系统中的shell程序(例如:/bin/csh等)。我们可以通过设置变量shell-file-name
来设置emacs所使用的默认shellM-! cmd RET(M-x shell-command)
M-| cmd RET(M-x shell-command-region)