如果要撰写大型文档,可以使用outline模式。outline模式是Emacs自带的一款处
理结构化文本的模式,可以按结构对文档进行折叠,展开等操作。
一共有两种模式,一种是outline-mode,这种模式下,文档会失去原有的模式,而
采用outline模式。
还有一种是outline的子模式,outline-minor-mode,这种模式下,文档会保持原
有的模式,但还是可以使用outline模式,所以比较常用。
进入两种模式分别用M-x outline-mode 与 M-x outline-minor-mode打开即可。
但outline-minor-mode原有的键绑定太过于复杂,所以可以使用下列的语句来更改
键绑定的前缀。
(setq outline-minor-mode-prefix [(control o)])
使用时,在标题前分别加上"*"即可。星号越多,说明文档的级别越低。
*一级标题
**二级标题
***三级标题
而且,星号要顶格填写。
然后就可使用C-o C-d折叠这些。其他的一些键绑定如下:
///////////////////////////////////////////
//转自ttp://docs.huihoo.com/homepage/shredderyin/emacs_outline.html
/////////////////////////////////////////////////
我们来把文档的各部分术语解释一下。
1. heading: 是指文档里的标题,比如 Chapter 1, Chapter 2, Section 1, ... 的
那些行。
2. branch: 是指一颗子树下所有 heading 的集合。想一想"树干"。
3. entry: 是指文档里不是 heading 的那些内容。比如,"Entry for topmost
level", "Entry for Chapter 1", "Entry for Chapter 2", ... 这些才是文档
的主要内容。
4. leaves: 是指一棵子树里的所有 entry。
5. body: 是指文档里所有 entry 的集合。注意这个概念跟 leaves 的区别是范围上
的区别。
启动 Outline
M-x outline-minor-mode 就可以启动 Outline。还有一个 outline-mode 是一个
major mode,一般都不用它。
全局隐藏操作
光标在任何位置,只要执行这些操作,文档的显示就会变化成需要的样子。
hide-sublevels(C-o C-q)
这个操作如果不带参数,隐藏所有文档子结构,只剩最上层。
[emacs-]
M-4 hide-sublevels(M-4 C-o C-q)
这是参数为4的操作,显示至文档第4层子结构。
[emacs-]
hide-body(C-o C-t)
文档的所有 Entry 都被隐藏。只显示主干。
[emacs-]
对一个子树(Chapter 1)的隐藏操作
hide-subtree(C-o C-d)
所有文档部分展开时,光标移动到 Chapter 1,执行 hide-subtree。整个 Chapter 1
的子树被折叠起来。
[emacs-]
hide-other(C-o C-o)
所有文档部分展开时,光标移动到 Chapter 1,执行 hide-other。除了 Chapter 1,
其它子树全部被折叠起来。这个操作正好与 hide-subtree 互补。
[emacs-]
hide-leaves(C-o C-l)
所有文档部分展开时,光标移动到 Chapter 1,执行 hide-leaves。所有 Chapter 1
子树下的所有级别的 entry 被隐藏。也就是说,Chapter 1 下,只显示 branch.
[emacs-]
hide-entry(C-o C-c)
所有文档部分展开时,光标移动到 Chapter 1,执行 hide-entry。Chapter 1 的
Entry 被隐藏,但是所有子树都不动。
[emacs-]
全局显示操作
show-all(C-o C-a)
显示所有文档。结果就是原文档。
对一个子树的显示操作
为了演示,我们从全部隐藏的情况开始:
[emacs-]
show-children(C-o C-i)
show-children 只显示直接的下一代子树,而不显示间接的下一代。这里, \begin
{document} 的直接的下一代就是 \chapter{...}。
[emacs-]
show-entry(C-o C-e)
把光标移动到 Chapter 1,执行 show-entry。Chapter 1 的 Entry 被显示,但是所
有子结构还是保持隐藏。 [emacs-]
show-branches(C-o C-k)
把光标移动到 Chapter 1,执行 show-branches。Chapter 1 这棵子树之下的各级"树
干"被显示,但是各级 entry 还是保持隐藏。Chapter 1 自己的 entry,由于我们上
一步已经显示,所以保持不变。
[emacs-]
show-subtree(C-o C-s)
把光标移动到 Chapter 1,执行 show-subtree。Chapter 1 及其所有子结构全部被扩
展。
[emacs-]
Outline mode 下的移动操作
在 outline 模式下,有几种特殊方便的移动方式。
1. C-o C-n (outline-next-visible-heading) 移动到下一个可见标题。
2. C-o C-p (outline-previous-visible-heading) 移动到上一个可见标题。
3. C-o C-f (outline-forward-same-level) 移动到下一个同级可见标题。
4. C-o C-b (outline-backward-same-level) 移动到上一个同级可见标题。
5. C-o C-u (outline-up-heading) 到上一级标题。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment