组织模式中的树状布局

时间:2014-03-14 22:36:36

标签: emacs org-mode

假设我想要输入信息,这些信息可能以树状格式显示。 Org可以帮助我吗?

例如,我希望Org显示实体层次结构,如下所示:

ROOT
├── foo
│   └── bar
├── baz
├── bax
├── src
│   ├── main
│   │   ├── java
│   │   │   └── something
│   │   └── fine
│   ├── yes
│   └── no

如何以Org理解的方式输入此信息,以便它可以像上面那样呈现树?

3 个答案:

答案 0 :(得分:3)

假设ROOT是您想要显示的标题,您可以执行类似

的操作
* ROOT
** foo
*** bar

** baz

** bax

** src
*** main
**** java
***** something

**** fine

*** yes

*** no

空行是可选的。我只是用它们来提高可读性。

如果您只想在每个级别使用一个星号,请检查this链接,该链接说明了如何修改org-mode以使用缩进和单个星号。

答案 1 :(得分:2)

你可能对ditaa block感兴趣:

#+name: tree
#+begin_src ditaa
  ROOT      
  |
  +--foo
  |  +----bar
  |  
  +--baz   
  +--bax   
  +--src   
  |  +--main
  |  |  +---java
  |  |  |   +---something
  |  |  |
  |  |  +---fine
  |  |
  |  +--yes
  |  +--no
#+end_src

在src块中键入 C-c` 将使您进入艺术家模式,这是一种用于编辑ascii art的模式,应该可以更轻松地编辑这些树。

答案 2 :(得分:1)

如果目录已经存在,则可以使用tree,如here所述。我已经尝试过两者,有时会遇到执行ditaa的问题(emacs无法在某些安装中找到ditaa.jar)。此外,ditaa输出是图像,而tree的输出是文本。您可以像这样使用src_block

#+BEGIN_SRC sh :results output :exports results
tree /path/to/dir
#+END_SRC