Org-mode 使用的学习笔记.

在使用 Org-roam 前首先是学习 Org-mode 的使用。这里大量参考了 Zaiste 的 Doom Emacs 系列视频, 特别是 E09-E13.

Org 文件

任何格式的纯文本都可以用 Org-mode 打开。在打开 .org 后缀文件时,Emacs 会自动启用 Org-mode. 与 Markdown 和 rST 等轻量标记语言类似,org 文件也需要一些标记符号来激活它的功能.

标记符号 作用
* 层级标题
+ 无序列表
<<nanme>> id 为 name 的锚
[[name]] 指向 name 的内链接
[[target][desp]] 文本 desp 具有指向 target 的链接。可以是外链
*text* 加粗
_text_ 下划线
*text* 高亮
+text+ 删除
/text/ 斜体
=text= 打字机 (verbatim) 模式
~text~ 代码模式

在导出时,打字机和代码模式都统一导出为打字机模式各种强调记号可以通过 org-emphasis-alist 变量进行自定义.

按键操作

一些会经常用到的捆绑键位,作为简单的 cheatsheet

Key 功能
M-↑/↓ 上下移动整个层级
M-h 上升一个层级
M-l 下降一个层级
C-RET 在下方插入新条目 (表格,清单)
C-s-RET 在上方插入新条目 (表格,清单)
SPC m l l 创建 / 编辑链接
SPC m l d 移除链接
SPC n l 为选定文本制作书签,存入链接库备选
SPC m ' 为选中元素调用特殊编辑器
RET 转到链接目标
D (大写 D) 返回链接位置
C-C C-x C-n/p 下 / 上一个链接位置

一个小贴士是,可以用 M-x general-describe-keybindings 确认一个捆绑键对应的函数.

org 文件编辑

创建链接

Org-mode 尤其有用的功能是其方便的内链创建.

1
2
3
4
5
6
7
8
9
10
* Heading 1
** Subheading 1
This is link to [[Heading 2]]
这是一个锚 <<anchor>>

** Subheading 2
跳转到锚 [[anchor]]

* Heading 2
Go to [[https://www.google.com][Google.com]]

此外,Org-mode 支持多种 外部链接. 除内链和网页外还支持本地文件 file:, doi:, Emacs Lisp 脚本 elisp: 以及 Shell 脚本 shell: 等。它允许自定义链接,例如在 config.el 中加入下列代码可以创建由 AV 或 BV 号到 b 站视频的链接 blbl:

1
2
3
4
5
6
7
; 创建连接 bilibili 视频的链接
(defun make-bilibili-link (vid)
(browse-url (concat "https://www.bilibili.com/video/" vid))
)
(after! org
(org-add-link-type "blbl" #'make-bilibili-link)
)

可执行代码块

输入 <sTAB, 创建一个如下环境,可在其中编写代码.

1
2
3
#+BEGIN_SRC LANG
//code here
#+END_SRC

比如我们在其中用 C 编写 Hello World:

1
2
3
4
5
6
7
#+BEGIN_SRC c
#include <stdio.h>
int main () {
printf ("Hello World!");
return 0;
}
#+END_SRC

编写完成后,退出编辑模式。在 END_SRC 下回车,就会自动将输出结果添加到源代码块下方.

1
2
#+RESULTS:
: Hello World!

如果改变了代码的内容,只要选中代码块任意位置重新回车,即可更新输出结果. Q #+RESULTS 部分似乎不会被导出,有待确认)

LaTeX 导出初探

Key 功能
C-c C-e l l 导出.org 文件到.tex 文件
C-c C-e l L 将.org 文件导出为 tex, 加载到新缓冲区
C-c C-e l p 导出.org 文件到.tex 文件,并转换为 pdf
C-c C-e l o 导出.org 文件到.tex 文件,转换为 pdf 同时用默认浏览器打开

在用 LaTeX 导出时,用如下代码块包围的内容会被直接导出

1
2
3
#+BEGIN_LATEX
\LaTeX
#+END_LATEX

导出结果为

1
\LaTeX

相关文章

Emacs笔记(一)——安装与配置Doom Emacs

参考资料

Org-mode 官方手册: https://orgmode.org/manual/

Comments