用 VIM 和 markdown 格式写学术论文

概要 相对于其它选择来说,markdown 格式方便人更专注于文章内容的写作。然而它用于写短文绰绰有余,论文排版则需要许多额外的功能。本文介绍了我使用 markdown 写论文的折腾过程,基本上扫清了论文写作中的常见需求:一键搜索并插入引用文献、文档内交叉引用、公式图表编号、LaTeX 输出与模板套用、Word 文档输出、一键后台编译多份文档、同义词查询、拼写语法检查等。 本文虽然主体已经完工,但可能不定期修改,以方便读者理解。如果觉得本文有用,欢迎收藏,并在写论文时回来看看有没有更新。 Update on Apr 29 2020: 增加了对 VIM 之外其它编辑器的一些推荐。 如有难以理解的部分,欢迎留言或者对此文件发 Pull Request。 下面是几个使用示例截屏: 一键搜索引用文献 拼写自动更正 同义词检索替换 编译预览结果 引言 去年这个时候我颇花了一点时间打造了一套 VIM 上使用 markdown 写论文的系统。现在我准备投靠 Emacs 和 org-mode,这套系统以后怕是不会再用了。在这里记下来我的配置,或许对于一些人会有用——毕竟 VIM 用户还是比 Emacs 用户多多了。而且这些的许多配置使用其它文本编辑器的人也可以借用。 为什么使用 markdown 写论文? 使用 markdown 的优点 markdown 是一种只保存必要文档结构,不保存格式和样式信息的文档格式,我们可以用同样一份 md 文档很方便地生成不同格式的最终文档。它语法简明,易读易写,作为纯文本文件,方便使用 git 进行版本控制。相较之下,其它的几种流行格式各有各的缺点 HTML 虽然可以将样式定义都放在 CSS 里,但是 HTML 本身手写起来麻烦且不易读。 …

关于文本编辑器的一点想法

在强迫自己用VIM写了三篇 paper 之后,我觉得我的 VIM 终于可以出师了。现在开始了 Emacs 的折腾之路。 这其间有几点感触 掌握新的编辑器的最佳方法是逼自己用它完成一个大项目。每天每一步都去想:如何能让操作更方便一些? VIM 和 Emacs 虽然说总被奉为神器,但确实已经开始显露疲态——负的历史包袱太重。就特殊用途来说,自然和大型 IDE 难以比肩,现在连 VSC 这样的新兴编辑器也要追不上了。 然而它们的魅力在哪里?在于——当你只是为了某个小任务想扩展一点功能的时候,用 VIM/Emacs 可以在极短时间内完成——而用 VSC 这样的编辑器,可能就必须要开发新的插件了。TypeScript 什么的门槛再低,也没有一行 VIM 宏来得快。 但是当使用者希望有像 IDE 一样的复杂支持时,VIM/Emacs 毕竟还是小众工具,开发者群体和 VSC 这样火爆的当代编辑器自然有些逊色。大部分插件都属于个人作品,加之UNIX哲学的影响,往往需要组合使用不同插件才能完成某个复杂工作环境的搭建——当然这也是折腾开源软件系统的乐趣之一。可是,对于追求稳定性的人来说,开源软件的频繁更新和复杂的依赖关系往往导致上手之后层出不穷的 bug 。 所以,VIM/Emcas 在当今的意义在哪里呢? VIM 的文本编辑操作经过历史的检验,恐怕在脑机接口出现之前,都会是效率最高的操作方式。现在的大型IDE一般也提供了 VIM 模式的支持,甚至于对 VIM 宏和 ex mode 的支持。一味坚持原教旨 VIM 而拒绝这些先进工具显然是不明智的。 而 Emacs 恐怕主要的用户群体将一直会是有着造轮子爱好的人。只打算装装插件开箱即用的人,不一定适合使用 Emacs。不过要是用一个软件解决从上网、电邮、聊天到煮咖啡的所有需求,大概 Emacs 生态仍然是目前唯一的选择。 不过呢,所有的东西都自带一个文本编辑器。Word 里有一个,WordPress 里有一个,所有的 …