Emacs tutorial
tutorial
- C-x C-c 结束 Emacs session
- C-g 退出已部分输入的命令
- C-x k 结束教程
移动光标
- C-v 向下滚动整个屏幕
- M-v 向上滚动整个屏幕
- C-l 清除屏幕并重新显示所有文字,将光标周围的文字移动到屏幕中央
- C-l C-l 清除屏幕并重新显示所有文字,将光标周围的文字移动到屏幕最上方
- C-l C-l C-l 清除屏幕并重新显示所有文字,将光标周围的文字移动到屏幕最下方
- C-p 光标向上一行
- C-n 光标向下一行
- C-b 光标向后
- C-f 光标向前
- M-f 光标向前移动一个单词
- M-b 光标向后移动一个单词
- C-a 移动到行首
- C-e 移动到行尾
- M-a 移动到句首
- M-e 移动到句尾
- M-< 移动到全文起始
- M-> 移动到全文结尾
- C-u <X> CMD 重复 X 次命令
- C-x 1 删除全部其他的窗口
文本操作
<DEL>
删除光标之前的字符- C-d 删除光标之后的字符
M-<DEL>
kill 光标之前的单词- M-d kill 光标之后的单词
- C-k kill 从光标位置到行结束
- M-k kill 到当前句子结尾
- C-<SPC> 从光标位置开始选取
- C-w kill 选中的内容
killing 和 deleting 的区别是,killed 的文本可以重新插入(在任何位置),deleted 的文本不能用这种方法重新插入。重新插入 killed 的文本叫做 yanking。通常,可以删除很多文本的命令 kill 文本,而当命令仅删除一个字符,或仅删除空白行和空格做删除操作。当=<DEL>=与=C-d=没有参数时,它们仅作最简单的删除。当给予参数时,它们使用 kill 代替删除。
- C-y 重新插入最近 killed 的文本
- M-y 在输入 C-y 之后,M-y 可以将粘贴的文本替换为之前 kill 的文本。
文件操作
- C-/ undo
- C-_ undo
- C-x u undo
- C-x C-f 打开文件
- C-x C-s 保存文件
- C-x C-b buffers 列表
- C-x b 切换 buffer
- C-x s 保存所有 buffer
X(eXtend)命令
- C-x 字符扩展,跟随一个字符
- M-x 命令名扩展,跟随一个长名字
模式
Emacs 有多个主要模式,任何时候只能有一个主要模式激活。次要模式不是主要模式的代替,仅是它们的次要修改。可以同时使用 0 个或多个次要模式。
- C-h m 浏览当前主要模式的文档
搜索
- C-s 向前搜索
- C-r 向后搜索
在搜索中在输入一次 C-s,将会跳到下一处搜索,按 <DEL>
会跳回上一处搜索,如果没有上一处搜索, <DEL>
会删除搜索字符串中的上一次字符。
多窗口
- C-x 1 删除其他窗口,仅保留当前窗口
- C-x 2 将当屏幕分为两个窗口
- C-M-v 滚动底部的窗口
- C-x o 在不同窗口间切换("o" for "other")
- C-x 4 C-f 在窗口中打开文件并移动光标到新窗口
多"frames"
- C-x 5 2 创建一个新的 frame
- C-x 5 0 关闭选中的 frame
RECURSIVE EDITING LEVEL
- <ESC> <ESC> <ESC> 退出 recursive editing level
帮助
所有帮助命令都以 C-h 字符起始,它也叫做“帮助字符”。
- C-h ? 显示 Emacs 的所有可以用帮助类型
- C-h c 显示该快捷键的简短描述
- C-h k 显示该快捷键的文档
- C-h f 显示该函数的文档
- C-h v 显示该变量的文档
- C-h a 显示符合该模式的文档
- C-h i 阅读包含的手册
Emacs 中的术语
EMACS 术语 | 现代概念 | 说明 |
---|---|---|
Point | Point | 光标位置 |
Buffer | Buffer | 和其他编辑器的概念一样 |
Mark | select | 选择一段文字 |
Region | selection | 被选中的区域,Mark 的作用结果 |
Windows | Windows | 操作窗口 |
Yank | Copy | 复制 |
Kill | Cut | 剪切 |
Kill Ring | Clipboard | 剪切板 |
fringe | gutter/margin | 左右边栏 |
Font Locking | Syntax highlight | 语法高亮控制 |
face | style | 样式、装饰,涉及 Font、color 等 |
imenu | function list/symbol list | 显示函数和变量的列表 |