美文网首页Emacsemacs每天写1000字
使用Org Mode在简书写作

使用Org Mode在简书写作

作者: 麦满屯 | 来源:发表于2015-03-12 17:02 被阅读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中可以使用快捷键加速标题的设置

  • TAB :在标题上按下<TAB>键,可以折叠或展开,确定是否显示该标题下的所以内容(含子标题)
  • Alt - Enter : 快速建立同级标题(不用自己数星星啦)
  • Alt - 方向键(左右):快速提升或降低标题级别。该标题下的相关正文同步调整缩进
  • Alt - 方向键(上下):调整标题在文档中的位置。可连同子标题一起调整位置

引用

在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 这样方便快捷的。

  • 创建表格,
    1. 输入下属内容:

      | This | is | My | First | table |
      |-
      
    2. 按下<TAB>,Emacs 自动为你创建好了表格:

      | This | is | My | First | table |
      |------+----+----+-------+-------|
      |      |    |    |       |       |
      
  • 编辑表格:
    使用<TAB>键,可以在各个格子之中灵活跳转。在到达行尾之后继续按下<tab>会创建新的行供继续输入

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

列表

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

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

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

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

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

  • Alt - 方向键(左右):调整列表项的缩进
  • Alt - Enter: 在现有列表项下创建新的列表,非编号的自动创建非编号项,带编号的自动创建新的编号项并自动调整相关编号号码。

特殊格式

  • 加粗:

    *加粗*
    
  • 下划线:

    _下划线_
    
  • 删除线

    _下划线_
    
  • 斜体

    /斜体/
    
  • 下标

    H_2O  :水的分子式
    
  • 上标

    E=mc^2
    
  • 行内代码(等宽字)

    =#include <stdio.h>= 或者 ~#include <stdio.h>~
    

输出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)。:)

相关文章

  • 使用Org Mode在简书写作

    为什么选择Org Mode Org Mode是Emacs的一套语法规则。OrgMode的官方网站 是这样介绍自己的...

  • emacs制作建议甘特图

    使用 org-mode 模式

  • Org-Mode使用

    Org-Mode使用 日程表agentda视图 agentda 有4种视图模式,周,月,年,使用快捷键可以进行切换...

  • org-mode 导出 latex 和 pdf

    org-mode 和 latex org-mode 写文档还是很舒服的. 同时, latex 在排版上无出其右,但...

  • org mode 笔记

    Org-mode Installation `M-x package-install RET org RET``C...

  • org-mode

    org-mode入门教程:http://www.fuzihao.org/blog/2015/02/19/org-m...

  • 在Emacs中加密Org Mode文件

    ORG Mode文件 ORG Mode是Emacs中的著名的一个“Major Mode”。和火热的Markdown...

  • emacs 配置

    ~/.emacs.d/init.el 简洁版 复杂版 使用 org-mode 功能 一个简单的 org 文档,用于...

  • Org-mode 简明手册

    Org-mode 简明手册

  • 写作赚钱VS提高写作

    改文属于【教程】简书使用攻略里的内容,欢迎前去查看很多使用信息 写作赚钱VS提高写作 哎!来到简书,发现可以写作赚...

网友评论

  • 田园牧歌w:也可以安装pandoc来实现org mode至markdown的转换。本人就是文档用org mode来存储,并推送至git仓库,导出一份markdown用于发布
    YAOHE:github的readme支持org mode了,不用再转成mardown了。

    https://github.com/stephen0921/gen_wave
    麦满屯:@田园牧歌w 不错,不错,pandoc也是神器:smile:
  • 余岁记:在使用org 逐渐摸索中,很好,很强大。
  • Lei_1917:删除线的表示还是

    _下划线_

    应该是 +删除线+

  • district10:我觉得讲了 BEGIN_SRC 却不讲用 <sTAB 可以补全,是不对的。 :unamused:
  • 3jx1zz:(eval-after-load "org"
    '(require 'ox-md nil t))
    也能输出markdown
  • 麦满屯:@manue1 看看我写的文章靠近结尾的部分,里面提到了激活MD转换选项的方法。:)

  • b6d222ec627c:然我的的没卵子用 找不到转Md的选项啊? 求解
  • f31c1c101b94:@麦满屯 对org-mode和emacs我也用了好几年了,我现在用的就是24.4, 以前还折腾24.5,可能是我org-mode的稀奇古怪的设置用的有点多的缘故把,不过我还是不建议org-mode来导出markdown,直接弄成html丢到静态博客就好..
  • 麦满屯:@f31c1c101b94 从我的使用感觉来说,还不错:这篇文章就是使用org mode 转换过来的。唯一不满意的是对表格的转换支持不好。对于图片链接的支持有点小瑕疵,不过还能接受。

    PS:我用的是Emacs 24.4自带的org mode 。看看是不是由于org mode版本的问题带来的不满意?
  • f31c1c101b94:确实可以转换,可是转换效果并不好,经常出现格式错误
  • gBvqoG: @麦满屯 好。一定要尝试下。
  • 麦满屯:@大象 Emacs 配合Org Mode提供的文档书写功能非常强大,有机会试试呗。(尤其在自适应调整表格宽度方面,可以说是一绝)。PS:要想体会英文状态下的表格自适应调整功能,一个好的中英文字体配置是必须的。要不表格的书写体验会大大折扣(不过还是比其他工具做的好)。
  • gBvqoG: @麦满屯 哈哈,楼主写的不错。赞美。
  • 麦满屯:@大象 哈哈,Emacs会在烈火中永生!
  • gBvqoG:烧死哪些Emacs党…… 哈哈 )

本文标题:使用Org Mode在简书写作

本文链接:https://www.haomeiwen.com/subject/kidbxttx.html