(由于 GitHub 对 Org 的支持不完整, 你可以在 Emacs 或 VS Code 中阅读本文件,
更好的做法是阅读导出的 HTML 版本.)
允许在文件的 最开头 添加附属信息:
#+title: 标题 (比一级标题还要高一级)
#+author: 作者
#+date: 年年年年-月-日
正文 ... ...
导出 | C-c C-e |
折叠标题 | <tab> |
顶格写 ‘=*=’ , 并续上至少 1 个空格, 表示一级标题.
星号 (*
) 的数量代表标题的级数.
二级标题从属一级标题, 以此类推.
有序列表用 +=/
-=, 无序列表用 =1.=/=A.=, 可以嵌套:
A. 植物
+ 水果
1. 桃子
+ 谷物
- 大米
B. 动物
可以给列表的表项添加 勾选框 ([ ]
), 也可以加 tag:
- [ ] 买橘子
- 作业 :: 写数学作业
- [ ] 锻炼 :: 跑步
这样的列表提供了 交互式 操作, 见 任务清单.
/斜体/ *粗体* +删除线+ _下划线_ 强制换行 \\
~代码~ =不是代码但需要等宽=
/*+_~组合~_+*/
S_{c} = \pi{}r_c^2
效果如下[fn:: 当我说 ‘/效果如下/’ 时, 指的是 导出后 的效果, 比如, 用 C-c C-e h o
导出成 HTML
.]:
斜体 粗体 删除线 下划线 强制换行
代码
不是代码但需要等宽
*+_~组合~_+*
Sc = πr_c^2
内联标记时, 大部分情况下标记的两端必须保留 空白字符.
例如, ‘~code~’
中的 code
就不能正常渲染.
常见的做法是在 ‘这里~code~这里’
添加零宽字符.
比如, 在你的 Org 文件的 最尾端 写下:
正文 ... ...
# Local Variables:
# eval: (keymap-local-set "<f9>"
# "\N{ZERO WIDTH SPACE}")
# End:
当你的 Emacs 打开该文件时, 按下 <f9>
即输入 ‘零宽字符’.
[[类型:定位][描述]]
其中, [描述]
是可选的.
省略掉 类型:
, 定位
填入同一个文件的某个标题.
例如, [[内部链接]]
指向 内部链接 (也就是本小节).
http=/=https
[[https://github.com/shynur][本文的作者]]
file
本地文件
[[file:./][当前目录]]
Org 会根据后缀自动识别图片.
若 图片 就位于你的 本地机器 上, 则在 Emacs 中键入 C-c C-x C-v
即时渲染.
使用 #+BEGIN_XXX
和 #+END_XXX
(无所谓大小写, 但大写显然更直观) 包裹文本, 赋予其特殊含义.
如果块中文本在行首出现了 *
或 #+
, 则 额外 添加一个 ,
.
下面是 我写的补全模板:
#+BEGIN_EXAMPLE
ABCdef<>/;"
#+END_EXAMPLE
效果如下:
ABCdef<>/;"
等宽块仅仅是为了等宽, 而 代码块 允许你 在 Org 文件中运行代码 (见 文字编程). 这一节仅展示语法.
#+BEGIN_SRC bash
ls
#+END_SRC
通过指定编程语言 (此例中是 Bash
), Org 会调用不同的程序 (编译并) 执行这段代码, 并且 (如果你有相关插件的话, 还会在导出时) 对其选择不同的高亮方案.
# 任意数量的额外的缩进
: assume cs:code, ss:stack
效果如下 (没有高亮):
assume cs:code, ss:stack
#+BEGIN_SRC Language -n 第一行的行号 (缺省为 1) #+BEGIN_SRC Language +n 第一行的行号比上一个代码块最后一行的行号多的数值 (缺省为 1)
保留 缩进 与 换行.
#+BEGIN_VERSE
我的前面有五个空格
这边只有两个
---佚名
#+END_VERSE
效果如下:
使用 #+BEGIN_QUOTE
.
#+BEGIN_CENTER
Thank you, \\
shynur
<one.last.kiss@outlook.com>. \\
August 12, 2023
#+END_CENTER
效果如下:
Thank you,
shynur <one.last.kiss@outlook.com>. \
August 12, 2023
| 我是 | 一个 | 只由 |
| 两行 | 组成的 | 表格 |
效果如下:
我是 | 一个 | 只由 |
两行 | 组成的 | 表格 |
| 年龄 | 职业 | ID |
|------+------+--------+
| 24 | 学生 | 114514 |
效果如下:
年龄 | 职业 | ID |
---|---|---|
24 | 学生 | 114514 |
在 标题 前加上 TODO
关键字,
可选地加上优先级 [#字母]
, 可选地在末尾加上 [%]
:
*** TODO [#B] 示例 [%]
- [ ] TAG1 :: 未完成
- [-] 正在进行中
- [ ] TAG1 :: 等会完成
在 Emacs 中, 将光标置于第三个任务中, 键入 C-c C-c
将会勾选 [X]
并更新任务进度,
见 任务清单示例.
- [ ] TAG1
- 未完成
- [-] 正在进行中
- [X] TAG1
- 等会完成
全部完成后, TODO
关键字会变成 DONE
.
那个人发明了 C++[fn:OOP: 这是一种面向对象的编程语言.].
效果如下:
那个人发明了 C++[fn:OOP: 这是一种面向对象的编程语言.].
那个人发明了 Python[fn:OOP].
效果如下:
那个人发明了 Python[fn:OOP].
我[fn:: 菜鸡]不喜欢 Bash.
效果如下:
我[fn:: 菜鸡]不喜欢 Bash.
顶格写 #一个空格
:
# 这是注释.
你@@comment:这是注释@@好!
@@comment:这是注释@@
#+BEGIN_COMMENT
这里是注释.
这里也是!
#+END_COMMENT
* 大标题
** COMMENT 大批注
*** 小批注
批注...
** 小标题
- Vim
org.vim
vim-orgmode
orgmode.nvim
- Visual Studio Code
vscode-org-mode
- Atom
org-mode
- Pandoc
- Drupal converter
- ox-hugo
- ox-*
- VimWiki
- Exchange calendars
- Hugo
- Org-Jekyll
- o-blog
- Org2Blog