Emacs 系列:让咱们拥抱 Emacs 和 org 模式

导读 我必须认可,在使用了几十年的 vim 后, 我被 Emacs 吸引了。长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD 和 ZTD 之类的方法,可是像邮件或是大型文件这样的事务真的很难来组织安排。

我一直在用 Asana 处理任务,用 Evernote 作笔记,用 Thunderbird 处理邮件,把 ikiwiki 和其余的一些项目组合做为我的知识库,并且还在电脑的归档了各类文件。当个人新工做须要将 Slack 也加入进来时,我终于忍无可忍了。html

许多 TODO 管理工具与电子邮件集成的不好。当你想作“提醒我在一周内回复这个邮件”之类的事时,不少时候是不可能的,由于这个工具不能以一种可以轻松回复的方式存储邮件。而这个问题在 Slack 上更为严重。linux

就在那时,我偶然发现了 Carsten Dominik 在 Google Talk 上关于 org 模式的讲话。Carsten 是 org 模式的做者,即使是这个讲话已经有 10 年了,但它仍然很具备参考价值。shell

我以前有用过 org 模式,可是每次我都没有真正的深刻研究它, 由于我当时的反应是“一个大纲编辑器?但我须要的是待办事项列表”。我就这么错过了它。但实际上 org 模式就是我所须要的。编程

什么是 Emacs?什么是 org 模式?小程序

Emacs 最初是一个文本编辑器,如今依然是一个文本编辑器,并且这种传统无疑贯穿始终。可是说 Emacs 是个编辑器是很不公平的。vim

Emacs 更像一个平台或是工具包。你不只能够用它来编辑源代码,并且配置 Emacs 自己也是编程,里面有不少模式。就像编写一个 Firefox 插件同样简单,只要几行代码,而后,模式里的操做就改变了。浏览器

org 模式也同样。确实,它是一个大纲编辑器,但它真正所包含的不止如此。它是一个信息组织平台。它的网站上写着,“你能够用纯文原本记录你的生活:你能够用 org 模式来记笔记,处理待办事项,规划项目和使用快速有效的纯文本系统编写文档。”bash

捕获网络

若是你读过基于 GTD 的生产力指南,那么他们强调的一件事就是绝不费力地获取项目。这个想法是,当某件事忽然出如今你的脑海里时,把它迅速输入一个受信任的系统,这样你就能够继续作你正在作的事情。org 模式有一个专门的捕获系统。我能够在 Emacs 的任何地方按下 C-c c 键,它就会空出一个位置来记录个人笔记。最关键的是,自动嵌入到笔记中的连接能够连接到我按下 C-c c 键时正在编辑的那一行。若是我正在编辑文件,它会链回到那个文件和我所在的行。若是我正在浏览邮件,它就会链回到那封邮件(经过邮件的 Message-Id,这样它就能够在任何一个文件夹中找到邮件)。聊天时也同样,甚至是当你在另外一个 org 模式中也可也这样。编辑器

这样我就能够作一个笔记,它会提醒我在一周内回复某封邮件,当我点击这个笔记中的连接时,它会在个人邮件阅读器中弹出这封邮件 —— 即便我随后将它从收件箱中存档。

没错,这正是我要找的!

工具套件

一旦你开始使用 org 模式,很快你就会想将全部的事情都集成到里面。有能够从网络上捕获内容的浏览器插件,也有多个 Emacs 邮件或新闻阅读器与之集成,ERC(IRC 客户端)也不错。因此我将本身从 Thunderbird 和 mairix + mutt (用于邮件归档)换到了 mu4e,从 xchat + slack 换到了 ERC。

你可能不明白,我喜欢这些基于 Emacs 的工具,而不是具备相同功能的单独的工具。

一个小花絮:我又在使用离线 IMAP 了!我甚至在好久之前就用过 GNUS。

用一个 Emacs 进程来管理

我之前也常用 Emacs,那时,Emacs 是一个“大”的程序(如今显示电源状态的小程序占用的内存要比 Emacs 多)。当时存在在启动时间过长的问题,可是如今已经有链接到一个正在运行的 Emacs 进程的解决方法。

我喜欢用 Mod-p(一个 xmonad 中 dzen 菜单栏的快捷方式,可是在大多数传统的桌面环境中该功能的快捷键是 Alt-F2)来启动程序(LCTT 译注:xmonad 是一种平铺桌面;dzen 是 X11 窗口下管理消息、提醒和菜单的程序)。这个设置在不运行多个emacs 们时很方便,由于这样就不会在试图捕获另外一个打开的文件时出问题。这中方法很简单:建立一个叫 em 的脚本并将它放到我本身的环境变量中。就像这样:

#!/bin/bash exec emacsclient -c -a "" "$@"

若是没有 emacs 进程存在的话,就会建立一个新的 emacs 进程,不然的话就直接使用已存在的进程。这样作还有一个好处:-nw 之类的参数工做的很好,它实际上就像在 shell 提示符下输入 emacs 同样。它很适合用于设置 EDITOR 环境变量。


 

原文来自: https://www.linuxprobe.com/emacs-org.html

相关文章
相关标签/搜索