Emacs 为按键、函数、变量和活动模式提供上下文帮助。它还会在退出时保护已修改且访问文件的缓冲区,让你有机会保存或拒绝每次写入。
高级文本操作 · 第 13 课
Emacs 退出和帮助
学习如何安全退出 Emacs、取消待处理命令、查看帮助主题和撤销更改。
退出 Emacs
使用运行 save-buffers-kill-terminal 的 C-x C-c,请求关闭 Emacs 会话或终端连接:
C-x C-c
Emacs 会检查相关的已修改文件缓冲区,并询问是否保存。请阅读每个缓冲区名称并谨慎回答。它也可能询问活动进程。如果决定前需要检查工作,请取消退出。
在 emacsclient 工作流或 Emacs 服务器中,具体的框架和服务器行为可能不同,但仍应认真处理已修改缓冲区的提示。
哪个按键序列会请求正常退出 Emacs,并检查已修改缓冲区?
打开帮助分派器
标准帮助前缀是 C-h。使用运行 help for help 的 C-h C-h,可以显示可用帮助命令的指引:
C-h C-h
第二个按键会选择需要的帮助类型。
哪个按键序列会说明如何使用 Emacs 帮助系统?
描述按键和编辑器状态
常用帮助命令包括:
C-h k KEY:说明某个按键序列运行什么。C-h f FUNCTION:说明 Emacs Lisp 函数。C-h v VARIABLE:说明 Emacs Lisp 变量。C-h m:说明当前主模式和次模式。C-h t:打开交互式教程。
例如,输入 C-h k C-x C-s 可以查看 save-buffer 按键绑定的文档。
你想了解 C-x C-s 的作用。应在该按键序列前输入哪个帮助前缀?
取消待处理命令
如果卡在提示、输入到一半的按键序列、增量搜索或其他想取消的命令中,请使用绑定到 keyboard-quit 的 C-g:
C-g
它不会撤销已经发生的缓冲区更改,也不会退出 Emacs。它会停止当前交互,并在可能时把控制权交还给普通编辑。
哪个按键通常会取消当前 Emacs 提示或待处理命令?
撤销缓冲区更改
在常见 Emacs 配置中,使用 C-/、C-_ 或 C-x u 调用撤销:
C-/
重复撤销命令会沿最近的缓冲区更改向后移动。单纯移动光标通常不属于缓冲区更改。不同 Emacs 版本和配置可能提供 undo-redo 及更高级的历史工具;请对实际的撤销和重做绑定使用 C-h k,验证本地行为。
哪个按键序列是撤销最近 Emacs 缓冲区更改的标准绑定?
请打开 *scratch*,做一次可丢弃更改并撤销;使用 C-h k 查询陌生按键;使用 C-g 取消迷你缓冲区提示;最后再正常退出。
课程已完成
你已完成 Emacs 退出和帮助
现在,你可以获取帮助并离开 Emacs,同时不忽略未保存的工作。
使用
C-x C-c经过已修改缓冲区检查后退出。使用
C-h C-h打开关于帮助的帮助。描述按键、函数、变量或活动模式。
使用
C-g取消待处理命令。使用经过本地验证的绑定撤销最近的缓冲区更改。