Emacs常用命令(一)

本文同步发表于 https://devlife.cn


符号说明

符号 描述
C- 按住 Ctrl 键
M- 按住 Meta 键(若无,使用 Alt / Esc 替代)
DEL 退格键
RET 回车键
SPC 空格键
ESC Esc 键
TAB Tab 键

文件与缓冲区

命令 描述
C-x b 创建或切换 Buffer
C-x k 关闭当前 Buffer
C-x C-b 查看 Buffer 列表
C-x C-f 打开文件
C-x C-s 保存文件
C-x s 保存所有文件
C-x i 插入其他文件到当前 Buffer
C-x C-v 关闭当前 Buffer 并打开新文件
C-x C-w 另存为文件

错误恢复(重要)

注意:撤销也可以撤销,即:Undo + Undo = Redo

命令 描述
C-g 停止当前运行/输入的命令
C-x uC-_C-/ 向后撤销
C-g C-/ 向前撤销
M-x recover-file 从自动存盘文件恢复
M-x recover-session 恢复编辑的多个文件
M-x revert-buffer 撤销上次保存后的所有改动

光标移动

命令 描述
C-f 前进一个字符
C-b 后退一个字符
M-f 前进一个单词
M-b 后退一个单词
C-p 上一行
C-n 下一行
C-a 行首
C-e 行尾
M-a 句首
M-e 句尾
C-v 上翻一页
M-v 下翻一页
M-< 缓冲区开头
M-> 缓冲区结尾
M-{ 段首
M-} 断尾
C-M-b 表达式开头
C-M-f 表达式结尾
C-M-a 函数开头
C-M-a 函数结尾

窗口与框

这里和平时的理解不太一样,一个框(Frame)可以显示多个窗口(Window)。

命令 描述
C-x o 切换窗口
C-x 0 关闭当前窗口
C-x 1 关闭其他窗口
C-x 2 水平分隔窗口
C-x 3 垂直分隔窗口
C-x 4 b 在另一个窗口打开 Buffer
C-x 4 f 在另一个窗口打开文件
C-x 5 2 新建框
C-x 5 b 在另一个框打开 Buffer
C-x 5 f 在另一个框打开文件
C-x 5 o 切换框
C-x ^ 增加窗口高度
M-x shrink-window 减少窗口高度
C-x } 增加窗口宽度
C-x { 减少窗口宽度

标记

命令 描述
C-SPC 设置开始标记
C-@ 设置开始标记(适用于C-SPC被系统拦截的情况)
C-x C-x 交换光标和标记
M-@ 以单词为单位使用移动命令动态标记区域
M-h 标记一段
C-x C-p 标记一页
C-M-@ 标记一个表达式
C-M-h 标记一个函数
C-x h 标记整个缓冲区

编辑

命令 描述
C-w 移除(kill)标记区域的内容
M-w 复制标记区的内容
C-y 召回(yank)复制/移除的区域/行
M-y 召回更早的内容 (在 kill 缓冲区内循环)
M-z Kill 到下一个指定字符出现的位置
C-t 交换两个字符的位置
M-t 交换两个单词的位置
C-x C-t 交换两行的位置
M-u 使从光标位置到单词结尾处的字母变成大写
M-l 使从光标位置到单词结尾处的字母变成小写
M-c 使从光标位置开始的单词的首字母变为大写
DEL 删除前一个字符
C-d 删除后一个字符
M-DEL 向前删除到词首
M-d 向后删除到词尾
M-0 C-k 向前删除到行首
C-k 向后删除的行尾
C-x DEL 向前删除到句首
M-k 向后删除到句尾
M- C-M-k 向前删除到表达式首部
C-M-k 向后删除到表达式尾部

查找与替换

命令 描述
C-s 正向搜索
C-r 反向搜索
C-M-s 使用正则表达式正向搜索
C-M-r 使用正则表达式反向搜索
RET 退出搜索并停留在当前搜索到的位置
M-% 交互替换
M-x query-replace-regexp 使用正则表达式
SPC或y 替换当前匹配
DEL或n 不要替换当前匹配
. 仅仅替换当前匹配并退出(替换)
, 替换并暂停(按 Space 或 y 继续)
! 替换以下所有匹配
^ 回到上一个匹配位置
RET或q 退出替换

获取帮助

命令 描述
C-h t 打开快速指南
C-h k 获取按键帮助
C-h f 获取函数帮助
C-h r 打开 Emacs 帮助手册
C-h i 打开 info 阅读器
C-h C-f 显示 Emacs FAQ
C-h p 显示本机 Elisp 包的信息

你可能感兴趣的:(Emacs常用命令(一))