Emacs折腾日记(三十一)——org mode入门

Masimaro
2025-09-25 / 0 评论 / 4 阅读 / 正在检测是否收录...

之前我介绍了Emacs相关配置以及对应的知识,主要包括:vim模式、编辑的优化、补全、代码跳转、调试等等,旨在将它打造成另一个vscode、也许是我技术能力有限,不仅在使用体验上赶不上vscode,在配置的简便化以及开箱即用的程度上都比不上。如果是使用Emacs仅仅因为它复杂一般人不那么容易学会,那么就有点装x的嫌疑了。我使用Emacs的原因主要有三点:高度自由、elisp语言的魅力以及org mode。可以说没有org mode我可能不会考虑Emacs。

我认为 org mode是Emacs的灵魂也是目前市面上没有任何一款软件能替代的。什么是org mode、它与markdown相比有什么优势呢?本文将对org mode做一个入门的介绍

什么是org mode

实际上 Org mode 是一种轻量级标记语言,它与markdown、RST类似,但是功能上要比它们强得多,不仅可以用来完成日常的文章编写,还可以进行任务管理、项目规划、笔记收集整理等各种操作。并且配合elisp编程可以千变万化。

作为一门标记语言org mode实际是十分容易的,它保存的文档以 .org 作为扩展名

基本使用

大纲

大纲可以理解为多级的标题,了解markdown的肯定知道这个意思。一个 * 代表一级大纲,两个代表二级大纲,然后依次类推。

对于大纲我们可以手动输入 *,可以使用Emacs提供的快捷键

|快捷键|功能|备注|
||在后面创建一个与光标所在位置同级的大纲|如果没有大纲则默认创建一个新的一级大纲|
|M-|降低当前大纲的等级||
|M-|升高当前大纲的等级||
|M-|将当前大纲及其内容整体向上移动||
|M-|将当前大纲以及内容整体向下移动||

大纲这部分有点像思维导图,我们可以将某些知识点以这种大纲的形式组织起来。有些思维导图软件可以点击某个模块将它的子模块隐藏起来,与这类似的,org mode也可以在大纲上按tab键来显示或者隐藏大纲底下的内容。

我们可以定义和切换整个org 文档的大纲显示样式,它主要有三种

  • Folded: 对于当前的大纲只显示大纲本身不显示其子大纲以及内容
  • children: 只显示当前大纲的子大纲,不显示更下一级的内容
  • subtree: 完全展开整个大纲

代码块

代码块放在 #+BEGIN_SRC#+END_SRC 之间,在Emacs中有一个快捷键 <s <TAB> 来快速输入这个标识. 另外也可以在 后面接上 语言类型,例如下面是一段对应的c++代码

#+BEGIN_SRC c++
int main(int argc, char* argv[])
{
    return 0;
}
#+END_SRC

当我们进入到代码块中编写代码时它会开启对应语言的major mode,前面我们配置了c++ lsp 补全相关的内容也可以在编辑代码块时使用
插入代码块

超链接

超链接我们可以采用 [[<link url>][<text>]] 的语法,例如 [[https://www.baidu.com][百度一下,你就知道]]

图片

本地图片可以使用 file:/path/to/image.png 的形式来写上本地图片的位置,然后开启 iimage-mode 显示图片

显示图片

字体样式

字体样式主要有:

  1. 粗体:我们可以使用 ** 来包裹文字以便显示为粗体
  2. 斜体: 可以使用 // 来包裹文字显示斜体
  3. 下划线: 可以使用 一前一后两个 _ _来包裹文字将它显示为带下划线的样式
  4. 删除线: 可以使用 + 前后包裹来显示为删除线

其实org mode 与markdown一样都非常简单,日常写博客或者写文档的话,我觉得这些基本知识差不多就够用了。

0

评论 (0)

取消