1. 常用命令集合(快查、复制)
1.1 基础操作
- 退出 Emacs:
C-x C-c - 取消/中断:
C-g - 保存:
C-x C-s - 打开文件:
C-x C-f(可直接输入路径,如~/project/main.cpp) - 另存为:
C-x C-w - 切换 buffer:
C-x b - 列出所有 buffer:
C-x C-b(然后d标记删除,x执行) - 关闭当前 buffer:
C-x k - 撤销:
C-_或C-x u - 搜索:
C-s,反向搜索:C-r - 跳到指定行:
M-g g(输入行号) - 执行命令:
M-x - 开启 shell:
M-x shell
1.2 光标移动
- 上下左右:方向键
- 前/后一字符:
C-f/C-b - 下一行/上一行:
C-n/C-p - 行首/行尾:
C-a/C-e - 上/下翻页:
M-v/C-v - 文件开头/结尾:
M-</M->
1.3 分屏与窗口
- 切换窗口:
C-x o - 只保留当前窗口:
C-x 1 - 上下分屏:
C-x 2 - 左右分屏:
C-x 3 - 关闭当前窗口:
C-x 0 - 增加窗口高度:
C-x ^ - 高度增加 ±5 行:
C-u ±5 C-x ^ - 减小高度(负增加):
Esc C-x ^ - 改变窗口宽度:
C-x }/C-x { - 均分所有窗口:
C-x +
1.4 编辑
- 删除前一字符:Backspace
- 删除后一字符:
C-d - 删除到行尾:
C-k - 开始选中:
C-SPC然后移动光标 - 重新加载文件:
M-x revert-buffer
1.5 Emacs + GDB 常用
- 启动 gdb:
M-x gdb - 启动 gdb 命令示例:
gdb -i=mi /path/to/your/executable - 切换源码/gdb 窗口:
C-x o - 源码当前行打断点:
C-x SPC - 打开 gdb 多窗口:
M-x gdb-many-windows - 跳到指定行:
M-g g - 打开源码文件:
C-x C-f
2. 基本概念
- Frame = Emacs 整个界面,终端模式下基本就是你这个黑窗口
- Window = Emacs 内部的可见的分屏区域,即窗口
- Buffer = 文件、gdb、shell、内容容器,可以没有窗口,buffer 决定窗口显示什么
- Process = gdb、shell、编译命令等后台进程,一般进程都有 buffer
3. 基础操作
| 操作 | 快捷键/命令 |
|---|---|
| 退出 Emacs | Ctrl+X Ctrl+C |
| 取消/中断当前命令 | Ctrl+G |
| 保存文件 | Ctrl+X Ctrl+S |
| 打开文件 | Ctrl+X Ctrl+F |
| 另存为 | Ctrl+X Ctrl+W |
| 切换 buffer | Ctrl+X b |
| 列出所有 buffer | Ctrl+X Ctrl+B , d 删除, x 确认 |
| 关闭当前 buffer | Ctrl+X k |
| 撤销 | Ctrl+_ 或 Ctrl+X u |
| 搜索 | Ctrl+S |
| 反向搜索 | Ctrl+R |
| 跳到指定行 | Alt+G G |
| 执行 Emacs 命令 | Alt+X |
| 开启一个 shell | Alt+X shell |
4. 光标移动
| 操作 | 快捷键 |
|---|---|
| 上下左右移动 | 方向键 |
| 向前一个字符 | Ctrl+F |
| 向后一个字符 | Ctrl+B |
| 下一行/上一行 | Ctrl+N / Ctrl+P |
| 行首/行尾 | Ctrl+A / Ctrl+E |
| 向上/下翻页 | Alt+V / Ctrl+V |
| 文件开头/结尾 | Alt+< / Alt+> |
| 跳到第 N 行 | Alt+G G , 输入行号 |
5. 分屏
| 操作 | 快捷键 |
|---|---|
| 切换到另一个窗口 | Ctrl+X O |
| 只保留当前窗口 | Ctrl+X 1 |
| 上下分屏 | Ctrl+X 2 |
| 左右分屏 | Ctrl+X 3 |
| 关闭当前窗口 | Ctrl+X 0 |
| 增加窗口高度 | Ctrl+X ^ |
| 高度增加 ±5 行 | Ctrl+U ±5 Ctrl+X ^ |
| 减小窗口高度 (负增加) | Esc Ctrl+X ^ |
| 改变窗口宽度 | Ctrl+X } / Ctrl+X { |
| 均分所有窗口大小 | Ctrl+X + |
6. 编辑
| 操作 | 快捷键/命令 |
|---|---|
| 删除一个字符(前) | Backspace |
| 删除一个字符(后) | Ctrl+D |
| 删除到行尾 | Ctrl+K |
| 开始选中 | Ctrl+Space , 移动光标 |
| 重新加载文件 | Alt+X revert-buffer |
7. GDB 调试操作(Emacs 内)
| 操作 | 命令/快捷键 |
|---|---|
| 启动 gdb | Alt+X gdb |
| 启动命令 | gdb -i=mi 可执行文件 |
| gdb 多窗口模式 | Alt+X gdb-many-windows |
| 切换源码和 gdb 窗口 | Ctrl+X O |
| 在源码当前行打断点 | Ctrl+X SPC |
| 加载程序与源码路径 | |
| 加载可执行文件 | file 文件路径 |
| 查看当前加载的可执行文件 | info files |
| 设置程序运行目录 | cd 目录路径 |
| 查看 gdb 当前目录 | pwd |
| 添加源码搜索目录 | dir 源码目录 |
| 查看源码 | list 文件名:行号 |
| 查看已知源码文件 | info sources |
补充细节:
C-代表 Ctrl 键,M-或Alt-代表 Meta 键(通常为 Alt)。C-x C-f打开文件时,可使用 Tab 补全路径,建议将常用项目根目录加入书签(C-x r m)以便快速跳转。C-x b切换 buffer 时,输入部分名称后按 Tab 可自动补全。- 在 gdb 多窗口模式(
gdb-many-windows)下,Emacs 会自动分割出源码窗口、局部变量窗口、栈窗口等,调试更直观。