菜鸟科技网

emacs退出命令有哪些?

核心退出命令

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

emacs退出命令有哪些?-图1
(图片来源网络,侵删)

C-x C-c (Control + x, 然后按 Control + c)

这是最常用、最标准的退出 Emacs 的命令。

  • 作用:保存并退出。
  • 行为
    • 如果当前有被修改过但尚未保存的缓冲区(Buffer),Emacs 会提示你 Bufferfilenamemodified; save it? (y, n, !, r, C-h)
      • y:保存文件并退出。
      • n:不保存文件,直接退出。
      • 按 :不保存文件,强制退出(即使文件有修改)。
      • r:取消退出操作,返回编辑。
    • 如果所有文件都已保存,它会直接退出 Emacs。

C-z (Control + z)

这个命令在图形界面和终端下的行为有所不同。

  • 在图形界面(如 macOS, Windows, Linux GUI)中

    • 作用:最小化窗口。
    • 行为:它不会真正退出 Emacs,而是将主窗口最小化到任务栏或 Dock 中,Emacs 进程仍在后台运行,你可以点击图标恢复窗口。
  • 在终端(Terminal)中

    emacs退出命令有哪些?-图2
    (图片来源网络,侵删)
    • 作用:挂起进程,返回 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 强制退出 最后手段,会丢失未保存的修改

新手小贴士

  1. 保存是关键C-x C-c 的核心是“保存后退出”,养成经常按 C-x C-s 的好习惯,可以避免意外退出时丢失大量工作。
  2. 看懂提示:当 Emacs 提示你 Buffer ... modified; save it? 时,别慌,仔细阅读提示,选择 y (保存) 或 n (不存) 即可。
  3. 别乱按 C-z:如果你用的是图形界面的 Emacs,按 C-z 只会把窗口最小化,你以为退出了其实没有,可能会留下很多后台进程。
  4. 善用 M-x:如果你记不住快捷键,可以按 Alt+x (或 Esc 然后按 x),然后输入命令的英文全称,比如输入 save-buffers-kill-terminal 然后回车,效果和 C-x C-c 一样。

记住 C-x C-c 是你退出 Emacs 的主要工具,就足够应对绝大多数情况了。

emacs退出命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇