「GNU Emacs」- 概念及术语

  CREATED BY JENKINSBOT

在正式开始使用 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,比如:

C-x h 使Region包含整个Buffer。(全选)


M-h 使Region包含当前段落。

还有的命令可以将Region设置为它们所做的一部分,比如:C-y(粘贴)、文件插入、Buffer插入都会将Region设置为包含插入文本。

Narrowing可以将Buffer的显示内容(和编辑)限制在某个Region中。当你只想编辑Buffer中的一小部分(例如书中的章节)时,这是很方便的。然后,比如增量搜索、beginning-of-buffer、end-of-buffer等命令不会超出当前Region,而且搜索和替换等命令不会影响整个文件。

C-x n n 使Buffer的显示内容限制在某个区域。


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