Emacs 对于结构化文档(如 HTML 文档)有个非常舒服的 mode 就是 outline mode ,他可以隐藏不必要的细节,只显示出骨干以及你关心的部分,让你在写 大文档的时候更加轻松。不过通常各种结构化文档都有自己专门的 major mode ,所以通常 outline minor mode 比 outline mode 更常用。
outline minor mode 默认的快捷键前缀是 C-c @
,按起来确实非常麻烦,可以
把他改成其他的,比如不常用的 C-o
下面是一些常用的功能,其他的功能可以查看 Emacs 的 info 文档,或者,如 果你启用了菜单栏,就会发现菜单栏里面多了一项 Outline 菜单,里面也列出 了各种操作。
- Hide Sublevels
C-o C-q
可以隐藏文档的所有子结构,只剩下最上面一层。- Show All
C-o C-a
可以显示所有结构,完全恢复文档本来的样子。- Hide Body
C-o C-t
可以隐藏文档的所有 Entry ,只显示骨干(例如,在 Muse 文档里面,只显示各级标题,而标题下面的内容都被隐藏起来)。- Hide Entry
C-o C-c
可以隐藏当前的 Entry 部分。- Show Entry
C-o C-e
可以显示出当前的 Entry 部分。- Hide Leaves
C-o C-l
可以隐藏子树的所有 Entry 部分,Hide Body 就相当 于对文档树的根进行了 Hide Leaves 操作。- Show Branches
C-o C-k
可以把子树及一下的骨干结构显示出来。这和上者似 乎没有什么区别,其实 Hide 和 Show 还是有区别的,例如,如果某些子树以下 的结构是隐藏着的,那么用 Hide Leaves 就不会让他们显示出来,类似的,如果 某些 Entry 是显示着的,那么 Show Branches 就不会把他们隐藏起来。- Hide Subtree
C-o C-d
可以把子树整个隐藏起来,Hide Sublevels 就相当于 对文档树的根执行了 Hide Subtree 操作。- Show Subtree
C-o C-s
可以把子树整个展开。Show All 就相当于对文档树的 根执行了 Show Subtree 操作。- Next
C-o C-n
用于移动到下一个可见标题。- Previous
C-o C-p
用于移动到上一个可见标题。
虽然设定了前缀为 C-o
,但是仍然比较难按,比如 C-o C-c
,要分别用左手和
右手按下 Control
键,速度很慢,反正原本以 C-o
作为前缀的命令是没有的,
还不如把常用的那几个操作绑定为一个字母的按键, C-o c
还是比 C-o C-c
要
好按一点:
其实有一些比如 C-o C-l
因为两次 Control
键都会是左边的手指头,所以一直
按着 Control
键不放下把这个序列按完更方便一些,这里仍然两者都定义了,
这样至少可以避免无意按错的情况。