- buffer
缓冲区. Emacs并不直接对文件进行操作, 它是把文件加载进buffer, 用户直接操作buffer, 只有当用户确定把buffer中所做的修改写人文件时, Emacs才把buffer中的内容写入文件. buffer实际上就是一个内存缓冲区, 这和一般编辑器中都一样, 应该很好理解. - window
窗口. 由于Emacs很早就诞生了, 它的窗口概念和现在基于窗口的操作系统中的窗口概念不是一样的. Emacs中的窗口是用来显示buffer的一个区域. 它并不像操作系统中的窗口拥有自己的标题栏,系统菜单栏. - frame
Emacs中的frame就是操作系统中的窗口. - buffer是文件的内存表示,
- windows则是显示buffer的区域,
- 一个frame中可以有多个window, Emacs则可以有多个frame.
- Emacs Lisp
Emacs最基础的部分是用c写的,其他部分都是用Emacs Lisp语言写的,Emacs Lisp语言是基于lisp语言的. lisp是LISt Processor的缩写, 即链表处理语言, 所以lisp语言的操作都是基于链表的, 它的语法也是链表结构, 链表第一个元素表示函数名, 其他元素是参数, 比如通常语言中的a+b, 在lisp就是(+ a b) - mode
mode有major mode和minor mode之分, 每个缓冲区对应一个major mode, 也只有一个major mode, 但是可以有多个minor mode. Emacs对每一种文件都有一个mode. - 命令
你对Emacs所有的操作都是对Emacs的命令的调用。比如,你在text-mode里,当你按下任何字母键进行编辑的时候,实际上是调用的emacs的命令self-insert-command. - 快捷键
Emacs中Control键用C表示,Alt键用M表示, 即: C-c表示Control C, M-x表示Alt x.
除掉以Alt键开头的,比如Alt a,Emacs中的快捷键基本上都有一个前缀,Emacs中最多的快捷键前缀就是C-x,C-c,前缀表示,你不必要一起按下前缀和后缀,可以先按下前缀,Emacs会等待你按下剩余的快捷键,这样Emacs中的快捷键按起来非常的方便。 - keymap
键盘映射. Emacs的快捷键是通过keymap来控制的. 有全局和局部的keymap. 每个mode都会有一个自己的局部的keymap, 局部的keymap会覆盖全局的keymap, 另外如果对应的major mode有开启的minor mode, 而且这个minor mode有keymap的话, 这个minor mode的keymap会覆盖major mode的keymap. - C-b 向后
- C-f 向前
- C-p 上一行
- C-n 下一行
- C-a 跳到行首
- C-e 跳到行尾
- C-k 删除到当前行的结尾
- C-h 帮助
- C-g 退出部分命令
- C-v 下一屏
- M-v 上一屏
- C-l 定位光标处的文本到中间,顶部,底部
- M-f 向前一个单词
- M-b 向后一个单词
- M-a 跳到句子首
- M-e 跳到句子尾
- M-< 跳到全文首
- M-> 跳到全文尾
- C-u numeric command 重复命令如 C-u 8 C-f, C-u 8 C-n,(推荐)
- M-numberic command 重复命令如 M-8 C-f, M-8 C-n,
- disabled command 如 C-x C-l,则回答n
- C-x 1 关闭一个窗口
- C-u 0 C-l 将光标所在行移到顶
- C-u 8 * 输入8个*
- <DEL> 删除光标前的字符
- C-d 删除光标所在字符
- M-<DEL> 删除光标前的一个单词
- M-d 删除光标后的一个单词
- M-k 删除到当前句子的结尾
- C-<SPC> 框选模式,之后移动光标
- C-w删除框选文字
- C-y 恢复,任意位置恢复 yank
- M-y 恢复多次
- C-/ undo difference with yank send C-_ to Emacs
- C-x u undo difference with yank send C-_ to Emacs
- C-x C-f Find a file
- C-x C-s Save the file
- C-x C-b List buffers 切换当前打开的文件
- C-x b 切换buffer
- C-x s save buffer
- C-x 一个字符 执行命令
- M-x 长字符 执行命令
- C-x C-c 退出
- C-z 退出保存现场 fg %emacs 恢复emacs
- #fileName.txt# autoSave文件名
- M-x recover-file
- M-x replace-string
- M-x fundamental-mode
- M-x major mode
- M-x text-mode
- M-x auto-fill-mode
- C-x f fill
- M-q Move the cursor into the previous paragraph and type M-q
- C-s search
- C-r for reverse search
- C-x 2 splits the screen into two windows
- C-M-v scroll the bottom window
- C-x o move the cursor to the bottom window
- C-x 4 C-f 打开新文件在左边
- M-x make-frame 新建frame
- M-x delete-frame 删除frame
- C-h c C-p 帮助说明
- C-h k C-p 详细帮助
- C-h v 查看变量的文档
- C-h f 查看命令的文档
- C-h k 查看快捷键的文档