• org mode(emacs)相比markdown的好处


    markdown我用了好几年, 切换到emacs org mode不到1个月. 其它文本编辑还是在vim中做, 写笔记在emacs中做. 用org mode真是有着说不出的爽. 我用过的笔记软件有obsidian, 思源笔记, vim(还写了几个插件). 每一个我至少都连续用过几个月. 但现在看来, org mode结合了它们几乎全部的核心优点(有一个vim的插件我还没有迁移过去).

    • obsidian的核心特点是双链/搜索, 索引这一点我还没找到方案, 目前还用的是ripgrep这种方式, 虽然同样很快, 但比如搜索多个关键词, 编写正则表达式就比较麻烦了. 双链, org mode 也支持.
    • 思源笔记的核心特点也有索引. 思源笔记的格式其实是json不是markdown, 特点是以块为单位, 而且支持自定义特性. 这一点, org mode也有, 那就是以entry为单位(entry就是一个标题+内容), 每一个entry有property块, 可以定义 key-value 对.
    • vim特点没啥, 只是那些插件让它好用了起来. 其中多数插件都有org mode的原生支持, 比如链接支持, 比如标题搜索. 但还有个插件没找到对应方案, 那就是整个目录下的标题搜索..

    org, markdown本身说文本格式的优劣没有意义, 它们都是纯文本, 关键在于, 支持它们的软件提供了多少功能. 语法和软件是互相配合的. 关系类似于编程语言语法和编译器. 不过, org格式比markdown复杂得多, markdown的语法是org语法的真子集, 并且 org mode 提供了非常多的支持. 但不一定用得上.

    就来列举一下 org mode 能做到, 而 obsidian, typora, vim 做不到的事:

    • 对latex, html 导出的支持极好. 下面列举的对 html 也成立.

      • org-mode支持导出各种latex模板. 我之前花费了很多功夫(可能接近15小时了), 解决了markdown导出latex的问题, 辛苦达到的效果, 是org-mode原生就轻松支持的. 截个图:
      • 支持各种自定制. 比如想调图片宽度, 想调图片表格的标题, 调整浮动体的位置, 是否需要date, author, 是否需要maketoc, 这些全都不是事.
      • 解析完备. 举个小例子. 有一次, 我图片用的是svg格式. 导出时发现已经贴心地从includegraphics变成了includesvg.
      • 可以内嵌latex代码. 既可以是行内代码, 又可以是代码块. 举例子, latex有tilde command, 表示空格且不换行. 这个语法, org mode原生是没有的, 但可以内嵌latex代码.
    • 支持预览latex片段, 不过速度比较慢, 延迟大概在几秒到十几秒.

    • 对表格的强大支持, 甚至我都没用到spreadsheet(就是类似excel的formula). 这一点怎么讲呢, 截个图, 你们就知道我是啥意思了.
      emacs中显示为:

      完整显示, 要编辑哪一个也是轻轻松松.
      在typora中:

      无法完整显示, 找个格子都要找一会儿.

    • 大纲编辑极其方便. 在markdown中, 调整文件结构无论是在vim还是在obsidian都是一件不轻松的事. 但对org mode, 简直弹指一挥间. 只显示当前标题, 只显示某级别以上的标题. 还有快捷键上下移动之类的. 总之你可以认为它首先是大纲软件, 只是顺便有强大的支持. 支持无限级标题, 但是显示上支持8级标题, 第9级标题的效果会和第1级标题相同, 循环.

    • org babel. 绝对是杀器, 这么说吧, 普通的markdown做不到. rmarkdown做得到但远不如. 说起来就是可以直接在org mode中执行代码. 没错, jupyter notebook也可以, rmarkdown也可以. 但它有这些功能:

      • 灵活地自定义导出.
      • 支持80+语言, 我甚至执行过mathematica(支持不如r等好)
      • 可同时开多个session, 不同语言可以穿插着用. jupyter notebook, kernel只能切换, 但不能同时用, 除非你再打开一个notebook.
        举个例子, 在R中, 画图函数, 可以边执行边得到图片, 而且可以直接显示.

        (这个图糊了, 但是是R代码的问题, 与org mode无关).
        其它一些我没说, 且markdown没有的功能:
    • GTD, 因为这里是在讨论做笔记.

    • org-cature, 因为我自己还没用过.

    • literate programming, 我感觉非常强大, 在某些情况下非常有用, 但我还没学过.
      ...

    至于obsidian等markdown加起来有的优点, org mode也同样有类似feature, 比如:

    • 通过插件支持双链
    • 图片插入到指定位置

    org mode对我不是没有缺点, 先说一个我最在意且知道无法解决的缺点: 不支持javascript. 因此不支持mathjax. 要预览数学公式, 只能先用快捷键生成图片. 生成图片清晰度可以很高, 但是不如mathjax来得快和丝滑. 需要卡上几秒, 效果也不像mathjax那么好看.

    至于其它我知道学了elisp就可以解决的缺点, 就不说了.

  • 相关阅读:
    在Ubuntu11.10中安装OpenCV2.3.1的详细步骤
    基于二元语法模型的中文分词
    相似图片搜索的原理
    基于GPU的KMeans聚类算法
    Windows下Eclipse和PyDev搭建完美Python开发环境
    Ubuntu 11.10+win7双系统启动项管理及配置方法
    主题爬虫
    vue定义全局过滤器
    element elimage 放多张图片,显示大图
    element UI的form 禁止浏览器自动填充用户名或密码
  • 原文地址:https://www.cnblogs.com/Tokubara/p/16281955.html
Copyright © 2020-2023  润新知