emacs - 代码折叠
来源:百度文库 编辑:神马文学网 时间:2024/05/01 03:16:46
- 1 outline-mode
- 1.1 概念
- 1.2 快捷键
- 2 folding
- 3 ouline-minor-mode
- 4 org-mode中的代码折叠
- 5 hs-minor-mode
TOPoutline-mode
首先,在*scratch* buffer中键入下面一段文字:
* Food
This is the body,
which says something about the topic of food.
** Delicious Food
This is the body of the second-level header.
** Distasteful Food
This could have
a body too, with
several lines.
*** Dormitory Food
* Shelter
Another first-level topic with its header line.
然后将该buffer的模式转为outline-mode:
(defun myfunc ())
import java.util.*
public static void main(String test){
try{
}
}
下面我们来实验一些操作,但在这个之前需要解释一些概念:
TOP概念
大纲模式将buffer中的行区别为:
- 正文(Body):除标题行外的其他行
- 标题(Heading):以一个或者若干星号加一个空格开始的行
注意: 可以定制变量outline-regexp
来识别标题行
标题和正文行的组合:
- 记录(Entry): 标题和其下所有的正文行组成一个记录或者条目
- 子树(Subtree): 标题和其下的所有子标题以及它们的正文行组成一棵子树
注意:
1. 记录的直接正文只能在记录的开始部份
2. 如果记录的正文或者正文和所有子树被隐藏,则该标题行的末尾会出现省略号(...)
3. 如果记录仅仅子树被隐藏,那么在记录正文后面会出现省略号(...), 如果该记录没有正文,则效果同上
TOP快捷键
outline-mode使用如下快捷键和命令:
移动命令:
C-c C-f outline-forward-same-level similar but skip subheadings C-c C-b outline-backward-same-level
C-c C-u outline-up-heading move from subheading to heading
全局隐藏:
位置相关的隐藏
(如果是在标题行,则指当前标题,否则是指正文行所属的直接上级标题, 影响局限于该标题下的子树)
The remaining commands are used when point is on a heading line.They apply to some of the body or subheadings of that heading.C-c C-d hide-subtree make body and subheadings invisible.C-c C-s show-subtree make body and subheadings visible.C-c TAB show-children make direct subheadings visible.
No effect on body, or subheadings 2 or more levels down.With arg N, affects subheadings N levels down.C-c C-c make immediately following body invisible.C-c C-e make it visible.C-c C-l make body under heading and under its subheadings invisible.The subheadings remain visible.C-c C-k make all subheadings at all levels visible.