核心退出命令
对于绝大多数情况,您只需要记住以下两个命令中的一个即可。

C-x C-c (Control + x, 然后按 Control + c)
这是最常用、最标准的退出 Emacs 的命令。
- 作用:保存并退出。
- 行为:
- 如果当前有被修改过但尚未保存的缓冲区(Buffer),Emacs 会提示你
Bufferfilenamemodified; save it? (y, n, !, r, C-h)。- 按
y:保存文件并退出。 - 按
n:不保存文件,直接退出。 - 按 :不保存文件,强制退出(即使文件有修改)。
- 按
r:取消退出操作,返回编辑。
- 按
- 如果所有文件都已保存,它会直接退出 Emacs。
- 如果当前有被修改过但尚未保存的缓冲区(Buffer),Emacs 会提示你
C-z (Control + z)
这个命令在图形界面和终端下的行为有所不同。
-
在图形界面(如 macOS, Windows, Linux GUI)中:
- 作用:最小化窗口。
- 行为:它不会真正退出 Emacs,而是将主窗口最小化到任务栏或 Dock 中,Emacs 进程仍在后台运行,你可以点击图标恢复窗口。
-
在终端(Terminal)中:
(图片来源网络,侵删)- 作用:挂起进程,返回 Shell。
- 行为:它会将 Emacs 进程放到后台,并立即返回你的 Shell 提示符,你可以输入
fg命令让 Emacs 前台继续运行,或者输入bg让它在后台运行,如果你想让它在后台运行并彻底退出,可以接着输入disown。 - 注意:这不是一个真正的退出命令,只是一个挂起命令。
其他退出相关命令
C-x k (Control + x, 然后按 k)
这个命令用于关闭当前活动的缓冲区,而不是退出整个 Emacs。
- 作用:关闭当前文件/缓冲区。
- 行为:
- 如果当前缓冲区是文件,并且有未保存的修改,Emacs 同样会提示你是否保存。
- 关闭最后一个可见的缓冲区时,Emacs 会显示一个名为
*scratch*的初始缓冲区。
- 使用场景:当你处理完一个文件,想关闭它去处理另一个文件时,这个命令非常有用。
C-x C-s (Control + x, 然后按 s)
这个命令是保存当前文件,而不是退出。
- 作用:保存当前缓冲区到磁盘。
- 行为:如果文件从未命名过,它会提示你输入文件名。
- 使用场景:在你执行
C-x C-c之前,可以先按这个命令手动保存所有文件。
紧急情况处理
kill-emacs
这是一个底层的 Lisp 函数,也可以通过 M-x 调用。
- 调用方式:
M-x kill-emacs - 作用:强制退出 Emacs。
- 行为:它会跳过所有保存提示,直接尝试杀死 Emacs 进程,这可能会导致你丢失所有未保存的修改。
- 使用场景:当 Emacs 出现严重卡死或无响应,无法通过
C-x C-c退出时,可以尝试这个方法。
命令速查表
| 命令组合 | 名称 | 作用 | 备注 |
|---|---|---|---|
C-x C-c |
save-buffers-kill-terminal |
保存并退出 | 最常用、最标准的退出方式 |
C-z |
suspend-frame |
最小化窗口 (GUI) / 挂起进程 (终端) | 不是真正的退出,只是隐藏 |
C-x k |
kill-buffer |
关闭当前文件/缓冲区 | 退出前清理工作区很有用 |
C-x C-s |
save-buffer |
保存当前文件 | 退出前确保文件已保存 |
M-x kill-emacs |
kill-emacs |
强制退出 | 最后手段,会丢失未保存的修改 |
新手小贴士
- 保存是关键:
C-x C-c的核心是“保存后退出”,养成经常按C-x C-s的好习惯,可以避免意外退出时丢失大量工作。 - 看懂提示:当 Emacs 提示你
Buffer ... modified; save it?时,别慌,仔细阅读提示,选择y(保存) 或n(不存) 即可。 - 别乱按
C-z:如果你用的是图形界面的 Emacs,按C-z只会把窗口最小化,你以为退出了其实没有,可能会留下很多后台进程。 - 善用
M-x:如果你记不住快捷键,可以按Alt+x(或Esc然后按x),然后输入命令的英文全称,比如输入save-buffers-kill-terminal然后回车,效果和C-x C-c一样。
记住 C-x C-c 是你退出 Emacs 的主要工具,就足够应对绝大多数情况了。

