Org-Mode中的树状布局

4

如果我想在一个Org文件中输入信息,以便以树形格式显示,那么Org可以帮助我吗?

例如,我想让Org按以下方式显示实体的层次结构:

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

如何以Org能理解的方式输入这些信息,以便它可以像上面那样呈现树形结构?
3个回答

6
您可能对此有兴趣:使用ditaa块。

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

在 src 块中键入 C-c ` 将使您进入艺术家模式,这是一种专门用于编辑 ASCII 艺术的模式,应该会使编辑树更加容易。

3
假设您希望显示标题为 ROOT,您可以这样做:
* ROOT
** foo
*** bar

** baz

** bax

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

**** fine

*** yes

*** no

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

如果你想每个层级只使用一个星号,请查看此链接,它解释了如何修改org-mode以使用缩进和单个星号。


谢谢 - 我想我已经知道我可以这样做了,但是我正在寻找更像树形视图的东西(没有星号,并带有垂直和水平线)。 - Amelio Vazquez-Reina
@user815423426 更新了答案。有一种使用单个星号和缩进来实现相同效果的方法。 - Justin Wood
谢谢。我会再等几天,以防有其他的解决方案。+1。 - Amelio Vazquez-Reina

2
如果目录已经存在,可以使用 tree 命令,如 这里所述。我已经尝试过两种方法,有时会出现执行 ditaa 的问题(在某些安装中,emacs 找不到 ditaa.jar)。 此外,ditaa 的输出是图片,而 tree 的输出是文本。您可以像这样使用 src_block
#+BEGIN_SRC sh :results output :exports results
tree /path/to/dir
#+END_SRC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接