快速入门 Org Mode
1. 关于文档自身
允许在文件的 最开头 添加附属信息:
#+title: 标题 (比一级标题还要高一级) #+author: 作者 #+date: 年年年年-月-日 正文 ... ...
1.1. 键位
导出 | C-c C-e |
折叠标题 | <tab> |
2. 结构化文本
2.1. 标题层次
顶格写 ‘*
’ , 并续上至少 1 个空格, 表示一级标题.
星号 (*
) 的数量代表标题的级数.
二级标题从属一级标题, 以此类推.
2.2. 列表
2.2.1. 列表序号
有序列表用 +
/-
, 无序列表用 1.
/A.
, 可以嵌套:
A. 植物 + 水果 1. 桃子 + 谷物 - 大米 B. 动物
2.2.2. 给列表打标
3. 排版
3.1. 标记法
/斜体/ *粗体* +删除线+ _下划线_ 强制换行 \\ ~代码~ =不是代码但需要等宽= /*+_~组合~_+*/ S_{c} = \pi{}r_c^2
效果如下1:
斜体 粗体 删除线 下划线 强制换行
代码
不是代码但需要等宽
组合
Sc = πrc2
3.1.1. 注意事项
内联标记时, 大部分情况下标记的两端必须保留 空白字符.
例如, ‘~code~’
中的 code
就不能正常渲染.
常见的做法是在 ‘这里~code~这里’
添加零宽字符.
比如, 在你的 Org 文件的 最尾端 写下:
正文 ... ... # Local Variables: # eval: (keymap-local-set "<f9>" # "\N{ZERO WIDTH SPACE}") # End:
当你的 Emacs 打开该文件时, 按下 <f9>
即输入 ‘零宽字符’.
3.2. 链接
[[类型:定位][描述]]
其中, [描述]
是可选的.
3.2.1. 内部链接 linked 内部链接
省略掉 类型:
, 定位
填入同一个文件的某个标题.
例如, [[内部链接]]
指向 3.2.1 (也就是本小节).
3.2.2. 外部链接
http
/https
[[https://github.com/shynur/.emacs.d][本文件最初位于该仓库下]]
file
本地文件
[[file:./][当前目录]]
3.3. 块文本
使用 #+BEGIN_XXX
和 #+END_XXX
(无所谓大小写, 但大写显然更直观) 包裹文本, 赋予其特殊含义.
如果块中文本在行首出现了 *
或 #+
, 则 额外 添加一个 ,
.
下面是 我写的补全模板:
3.3.1. 等宽块
#+BEGIN_EXAMPLE ABCdef<>/;" #+END_EXAMPLE
效果如下:
ABCdef<>/;"
3.3.2. 代码块
等宽块仅仅是为了等宽, 而 代码块 允许你 在 Org 文件中运行代码 (见 5.2). 这一节仅展示语法.
#+BEGIN_SRC bash ls #+END_SRC
通过指定编程语言 (此例中是 Bash
), Org 会调用不同的程序 (编译并) 执行这段代码, 并且 (如果你有相关插件的话, 还会在导出时) 对其选择不同的高亮方案.
3.3.3. 诗句块
保留 缩进 与 换行.
#+BEGIN_VERSE 我的前面有五个空格 这边只有两个 ---佚名 #+END_VERSE
效果如下:
我的前面有五个空格
这边只有两个
—佚名
3.3.4. 引用块
使用 #+BEGIN_QUOTE
.
3.3.5. 居中块
#+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
3.4. 表格
3.4.1. 不带字段的表格
| 我是 | 一个 | 只由 | | 两行 | 组成的 | 表格 |
效果如下:
我是 | 一个 | 只由 |
两行 | 组成的 | 表格 |
3.4.2. 带字段的表格
| 年龄 | 职业 | ID | |------+------+--------| | 24 | 学生 | 114514 |
效果如下:
年龄 | 职业 | ID |
---|---|---|
24 | 学生 | 114514 |
4. LaTeX
5. 交互
5.1. 任务清单 linked 给列表打标
在 标题 前加上 TODO
关键字,
可选地加上优先级 [#字母]
, 可选地在末尾加上 [%]
:
*** 0.0.1 TODO [#B] 示例 [%] - [ ] TAG1 :: 未完成 - [-] 正在进行中 - [ ] TAG1 :: 等会完成
在 Emacs 中, 将光标置于第三个任务中, 键入 C-c C-c
将会勾选 [X]
并更新任务进度,
见 5.1.1.
5.1.1. TODO 任务清单示例 [33%]
linked 任务清单
[ ]
TAG1- 未完成
[-]
(no term)- 正在进行中
[X]
TAG1- 等会完成
全部完成后, TODO
关键字会变成 DONE
.
5.2. 文字编程 linked 代码块
6. 注解
6.1. 脚注
6.1.1. 具名脚注
6.1.2. 引用脚注
6.1.3. 匿名脚注
6.2. 注释
6.2.1. 单行注释
顶格写 #一个空格
:
# 这是注释.
6.2.2. 内联注释
你@@comment:这是注释@@好!
6.2.3. 块注释
#+BEGIN_COMMENT 这里是注释. 这里也是! #+END_COMMENT
6.2.4. 结构化注释
* 1 大标题 ** 1.1 COMMENT 大批注 *** 1.1.1 小批注 批注... ** 1.2 小标题
7. 下一步
7.1. 支持 Org Mode 的软件
7.1.1. 编写 Org 文件
- Vim
org.vim
vim-orgmode
orgmode.nvim
- Visual Studio Code
vscode-org-mode
- Atom
org-mode