Emacs折腾日记(三十一)——org mode入门
之前我介绍了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 显示图片
字体样式
字体样式主要有:
- 粗体:我们可以使用
**
来包裹文字以便显示为粗体 - 斜体: 可以使用
//
来包裹文字显示斜体 - 下划线: 可以使用 一前一后两个
_
_
来包裹文字将它显示为带下划线的样式 - 删除线: 可以使用
+
前后包裹来显示为删除线
其实org mode 与markdown一样都非常简单,日常写博客或者写文档的话,我觉得这些基本知识差不多就够用了。