Emacsemacs每天写1000字

使用Org Mode在简书写作

2015-03-12  本文已影响7419人  麦满屯

为什么选择Org Mode

Org Mode是Emacs的一套语法规则。OrgMode的官方网站 是这样介绍自己的:

Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.

和Markdown的语法规则比较,Orgmode的语法规则更加严密,由于统一的开发团队维护,OrgMode采用了统一的语法规则,没有发展出不同“Flavor”的方言语法。因此与Markdown来比,具有更好的语法一致性。

和Python社区中著名的ReStructuredText语法定义相比,Org mode的语法更简单轻便,具有更好的易用性。

当然,更重要的是在Emacs中Org Mode不单单是一套基于文本格式的文档编写规范,还可以轻松的变身成为事务管理工具、项目管理工具、编程工具(文学编程——Literate programming)、高大上的研究报告编写工具(支持公式、表格、图表),甚至可以替代部分Excel的功能而成为财务计算工具。

可以说,使用OrgMode进行写作,学习成本付出之后是有更多的回报的——性价比更高。有多少朋友就是因为OrgMode而投入到了Emacs的阵营之中啊(嗯,必须承认,我也是因为这个才离开了Vim,投入到Emacs之中的)。

Org Mode 基本语法和使用

使用Org Mode进行写作,所需要的使用到的语法规则非常简单,根据我的体会记录如下:

标题

Org Mode提供了多级标题定义的能力。具体如下:

* 这是一级标题
** 这是二级标题
*** 这是三级标题
**** 这是四级标题
......

根据顶行使用的“*”的数量,几级标题使用几个“*”即定义了当前的标题是几级标题。

在Emacs中可以使用快捷键加速标题的设置

引用

在Org Mode中引用文字非常简单,按如下方式写即可:

#+BEGIN_QUOTE
引用的文字
#+END_QUOTE

超链接

Org Mode的超级链接定义如下:

形式1:  [[http://url][描述]]
形式2:  [[http://url]]

Org Mode支持多种不同的互联网协议,具体的协议列表可以看Org Mode的手册

图片

本质上来说,图片也是一种超级链接。所以它的书写方式和链接很像:

#+CAPTION: This is the caption for the next figure link 
#+NAME:   fig:SED-HR4049
[[link_to_image.jpg]]

表格

Org Mode的表格功能异常强大。对于写作来说,仅仅使用到了表格的快速编制的功能。要知道,在文本格式下,目前我还没有看到那个软件可以相Emacs + Org Mode 这样方便快捷的。

说明 : 遗憾的是目前OrgMode在输出为Markdown是貌似对表格的支持不对,生成了一堆HTML代码。咋办?

列表

在非顶行的情况下,*、+、-、可以成为非编号列表的标记:

* 列表项1
    + 子列表项
* 列表项2
    1. 子列表项
* 列表项3

使用数字,则可以成为带编号的列表:

1. 列表项1
   * 子列表项
2. 列表项2

在Emacs中使用列表项后的快捷键:

特殊格式

输出Org Mode到Markdown

Org Mode完成写作之后,可以非常方便的将文档转换成其他格式,例如Markdown。看截图:

Org Mode的文档转换Org Mode的文档转换

从上面的截图可以看到,Org Mode可以支持输出到iCalendar/HTML/LaTex/Markdown/Plain Text等多种格式。实际上,Org Mode还可以支持更多的文档输出格式,这里就不一一介绍了。

默认情况下,Org Mode没有打开Markdown文档的转换功能,需要将下面的小代码放到Emacs 的启动配置文件中:

(setq org-export-backends (quote (ascii html icalendar latex md)))

能输入到Markdown,那么不就可以方便的将文档发布到 简书 了?

在每一篇文章前加入下面的控制代码, 能更好的符合 简书 的Markdown语法规范

#+OPTIONS: toc:nil

哈哈,鱼与熊掌可以兼得啊!

哦,One More Thing,发动文档转化的快捷键是按顺序按下的组合键(Ctrl-c Ctrl-e)。:)

上一篇下一篇

猜你喜欢

热点阅读