[符号说明]
C- 意思是按住 Ctrol 键
M- 意指 Meta 键 (键盘上若无Meta 键,则可以ALT或ESC 键来代替)
DEL 意指退格键 (不是 删除(Delete) 键)
RET 意指回车键
SPC 意指空格键
ESC 意指Escape键
TAB 意指Tab键
大写字母表示功能键,小字母表示相应字母。
像 "C-M-" 这样连在一起的意味着同时按住 Ctrl 和 Meta 键不放。
------------------------------------------------------------
[文件和缓冲区]
C-x C-f 打开文件
C-x C-v 读入另外一个文件,来替代当前的C-x C-f读入的文件
C-x i 把文件插入到光标的当前位置
C-x C-s 保存文件
C-x s 保存全部文件
C-x C-w 把编辑缓冲区内容写入一个文件
C-x C-c 退出Emacs
C-z 挂起Emacs并可用exit来返回
C-x b 移到指定的编辑缓冲区
C-x C-b 显示编辑缓冲区清单
M-` 从文本终端访问菜单(未测)
------------------------------------------------------------
[移动光标]
C-f 光标前移一个字符
C-b 光标后移一个字符
C-p 光标上移一行
C-n 光标下移一行
M-f 光标前移一个单词
M-b 光标后移一个单词
C-a 光标移到行首
C-e 光标移到行尾
C-v 光标上移一屏
M-v 光标下移一屏
M-< 光标移到文件头
M-> 光标移到文件尾
C-l 重绘屏幕,把当前行放到屏幕中心处
C-M-f 到表达式首部
C-M-b 到表达式尾部
C-M-a 到函数首部
C-M-e 到函数尾部
-----------------------------------------------------------
[删除、恢复、标记文本块]
C-d 删除光标位置上的字符
DEL 删除光标前面的字符
M-d 删除光标后面的单词
M-DEL 删除光标前面的单词
C-k 从光标处删除到行尾
M-y 在用于C-y命令以后粘贴更早删除的文本
C-@或C-SPC 标记文本块的开始或结束位置
C-w 删除文本块
M-w 复制文本块
C-y 恢复被删除的文本(粘贴)
C-x C-x 互换光标和文本标记的位置
----------------------------------------------------------
[矩形块]
C-x r r 拷贝一个矩形到寄存器
C-x r k Kill矩形
C-x r y 拉回矩形
C-x r o 打开一个矩形, 将文本移动至右边
C-x r c 清空矩形
C-x r t 为矩形中每一行加上一个字符串前缀
----------------------------------------------------------
[寄存器(Register)]
C-x r s 存储区域到寄存器
C-x r i 插入矩形内容到缓冲
C-x r SPC 存储光标位置到寄存器
C-x r j 跳跃到寄存器中存储的光标位置
----------------------------------------------------------
[命令的中止执行和编辑操作的撤销]
C-g 放弃当前命令
C-x u 撤消上一次编辑
C-_或C-/ 撤消上一次编辑
把编辑缓冲区恢复到上次对文件进行存盘处
----------------------------------------------------------
[交换文本位置和改变文本的大小写]
C-t 交换两个字符的位置
M-t 交换两个单词的位置
C-x C-t 交换两行的位置
M-c 把单词的首字母改为大写
M-u 把单词的字母全必变大写
M-l 把单词的字母全改为小写
----------------------------------------------------------
[查找]
C-s 向文件尾方向开始递增查找
C-r 向文件头方向开始递增查找
Return 退出一次成功的查找操作
C-g 取消递增查找操作
Del 删除查找字符串中不正确的字符
C-s Return 向文件尾方向开始非递增查找操作
----------------------------------------------------------
[替换]
M-% 进入查询-替换
y或SPC 替换并前进到下一个位置
n或DEL 不替换;前进到下一个位置
. 在当前位置做替换后退出操作
, 替换并暂停(按空格或y继续)
! 对其余全部进行替换,不再要求询问
^ 返回前一次进行了替换的位置
RET 退出查询--替换操作
----------------------------------------------------------
[窗口]
C-x 2 把当前窗口分割为上、下排列的两个窗口
C-x o 移动到其他窗口
C-x 0 (零) 删除当前窗口
C-x 1 (壹) 删除所有其他窗口,只保留当前窗口
C-x ^ 加高当前窗口
M-C-v 对其他窗口做卷屏操作
C-x 4 f 在其他窗口里查找并打开一个文件
C-x 5 o 移到其他窗格
C-x 5 2 创建一个新窗格
C-x 5 0 (零) 删除当前窗格
C-x 5 f 在一个新窗格里查找文件
C-x 5 b 创建新窗格并显示另一个编辑缓冲区
C-x ^ 增加窗口高度
C-x { 减小窗口宽度
C-x } 增加窗口宽度
----------------------------------------------------------
[缓冲区操作]
C-x C-f 打开(创建)文件,创建一个新的缓冲区。
C-x C-s 保存当前缓冲区到文件。
C-x C-w 保存当前缓冲区到其他文件(文件另存为)。
C-x k 关闭当前缓冲区。
C-x C-b 缓冲区列表。你可以用方向键来选择要切换的缓冲区。
C-x C-c 关闭所有的缓冲区,退出Emacs。
----------------------------------------------------------
[书签]
C-x r m 在当前光标位置处设置一个书签
C-x r b 跳转到书签指示的位置
C-x r l 列出书签清单
----------------------------------------------------------
[shell模式命令]
esc ! 执行一次shell命令
M-x shell 进入shell模式
C-c C-c 在Emacs里中止命令操作相当于普通shell里的C-c
C-d 如果是在编辑缓冲区的末尾,送出EOF字符;
如果是在其他位置,删除一个字符
C-c C-d 送出EOF
C-c C-u 删除当前行 (相当于shell里的C-u)
C-c C-z 对非X用户, 挂起或停止一个作业 (相当于shell中的C-z)
M-p 列出上一个命令
M-n 列出下一个命令
RET 送出当前行的输入
TAB 自动补足当前命令、文件名或变量名
C-c C-o 删除最后一条命令的输出
C-c C-e 把输出内容的最后一行移到窗口的底部
----------------------------------------------------------
[Dired]
C-x d 启动Dired
q 退出Dired
C 复制文件
d 给文件加待删除标记
f 编辑文件
g 从磁盘上重新读入目录
n 移到下一行
R 重命名文件
u 去掉待操作标记
x 删除加有待删除标记"D"的文件
z 对文件进行压缩或解压操作
M-DEL 把所有文件上的各种待操作标记都去掉
> 移到下一个目录
< 移到上一个目录
s 对Dired画面按日期或按文件名进行排序
----------------------------------------------------------
[C模式]
M-C-a 移到当前函数的开头
M-C-e 移到当前函数的结尾
M-C-h 把光标放到函数的开头, 把文本块标记放到函数的结尾
M-; 插入一个注释标记
ESC x compile 编译程序
C-x ` 编译完后,跳到下一個有错误的地方
----------------------------------------------------------
[帮助]
C-h f 函数的作用是什么
C-h v 变量的含义是什么, 有哪些可取值
C-h t 运行 Emacs教程
----------------------------------------------------------
[其他编辑命令]
M-SPC 把光标附近的空白缩成一个
M-$ 对这个单词进行拼写检查。
M-TAB 单词拼写补全。在一个未拼完的单词后执行M-TAB
----------------------------------------------------------
[常用模式]
M-x line-number-mode 打开/关闭行号显示
M-x text-mode 切换到普通文本编辑模式
M-x c++-mode 切换到c++ 编辑模式
M-x c-mode 切换到c编辑模式
M-x shell-mode 切换到shell模式
----------------------------------------------------------