在正式开始使用 GNU Emacs 前,需要了解常用属于及基本概念,例如界面组成、什么是缓冲区、窗口、区域、标记等等基本概念。详细内容可以参考 1 The Organization of the Screen 文档,这里仅进行简单记录。
Frame, Window and Buffer
以图形化界面启动后……
Frame
就是我们常说的应用窗口(Window),但是在 Emacs 中,被称之为 Frame 而不是 Window 。
在 Emacs 中,相同会话可以创建多个 Frame,并且 Frame 通常还包含菜单栏、工具栏、回显区域 。
在 Frame 中,包含单个或多个 Window 。
关于 Frame 的结构,可以参考 29.3.1 Frame Layout 文档。
Window
在每个 Frame 中,包含单个或多个 Window,即 Frame 可以分隔为多个 Window 。
在 Window 中,用于显示单个 Buffer 的内容 。
Buffer
在 Buffer 中,包含要修改的文本内容。
在缓冲区中移动(Moving around in buffers)
标记(Mark)
区域(Region)
Mark和Point一起标记出一个Region。许多命令可以只操作Region中的文本。可以使用C-SPC设置一个Mark,然后移动光标,或者通过点击并拖动鼠标来设置Region。Emacs提供了一些命令,通过适当的移动Point和Mark来为你设置Region,比如:
M-h 使Region包含当前段落。
还有的命令可以将Region设置为它们所做的一部分,比如:C-y(粘贴)、文件插入、Buffer插入都会将Region设置为包含插入文本。
Narrowing可以将Buffer的显示内容(和编辑)限制在某个Region中。当你只想编辑Buffer中的一小部分(例如书中的章节)时,这是很方便的。然后,比如增量搜索、beginning-of-buffer、end-of-buffer等命令不会超出当前Region,而且搜索和替换等命令不会影响整个文件。
C-x n w 恢复显示完整的文件。
有关Narrowing的相关内容可以参考文档:http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html
或者:info “(emacs)Narrowing”
撤销(undo)
undo: C-/
redo: C-f C-/
参考文献
A Guided Tour of Emacs
查看Emcas的官方手册
一年成为Emacs高手
1 The Organization of the Screen