Emacs 系列(一):抛掉一切,投入 Emacs 和 org 模式的怀抱 | Linux 中国

2018 年 12 月 1 日 Linux中国
我必须承认,在使用了几十年的 vim 后, 我被 Emacs 吸引了。
-- John Goerzen



致谢
编译自 | 
http://changelog.complete.org/archives/9861-emacs-1-ditching-a-bunch-of-stuff-and-moving-to-emacs-and-org-mode
 
 作者 | John Goerzen
 译者 | Yuqi Liu (oneforalone) 🌟🌟共计翻译:2.0 篇 贡献时间:8 天

我必须承认,在使用了几十年的 vim 后, 我被 Emacs[1] 吸引了。

长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD[2] 和 ZTD[3] 之类的方法,但是像邮件或是大型文件这样的事务真的很难来组织安排。

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

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

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

我之前有用过 org 模式[5],但是每次我都没有真正的深入研究它, 因为我当时的反应是“一个大纲编辑器?但我需要的是待办事项列表”。我就这么错过了它。但实际上 org 模式就是我所需要的。

什么是 Emacs?什么是 org 模式?

Emacs 最初是一个文本编辑器,现在依然是一个文本编辑器,而且这种传统无疑贯穿始终。但是说 Emacs 是个编辑器是很不公平的。

Emacs 更像一个平台或是工具包。你不仅可以用它来编辑源代码,而且配置 Emacs 本身也是编程,里面有很多模式。就像编写一个 Firefox 插件一样简单,只要几行代码,然后,模式里的操作就改变了。

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

捕获

如果你读过基于 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[6] 中 dzen[7] 菜单栏的快捷方式,但是在大多数传统的桌面环境中该功能的快捷键是 Alt-F2)来启动程序(LCTT 译注:xmonad 是一种平铺桌面;dzen 是 X11 窗口下管理消息、提醒和菜单的程序)。这个设置在不运行多个emacs 们emacsen[8]时很方便,因为这样就不会在试图捕获另一个打开的文件时出问题。这中方法很简单:创建一个叫 em 的脚本并将它放到我自己的环境变量中。就像这样:

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

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

下一篇

接下来我将讨论我的使用情况,并展示以下的配置:

◈ org 模式,包括计算机之间的同步、捕获、日程和待办事项、文件、链接、关键字和标记、各种导出(幻灯片)等。
◈ mu4e,用于电子邮件,包括多个账户,bbdb 集成
◈ ERC,用于 IRC 和即时通讯

via: http://changelog.complete.org/archives/9861-emacs-1-ditching-a-bunch-of-stuff-and-moving-to-emacs-and-org-mode

作者:John Goerzen[10] 译者:oneforalone 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Vim 是从 vi 发展出来的一个文本编辑器。宏、跳转、代码补全、编译及错误跳转等方便纯文本编辑和编程的功能特别丰富,也支持使用不少的脚本语言进行功能定制和扩充,在程序员中被广泛使用。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
【Manning新书】现代Java实战,592页pdf
专知会员服务
99+阅读 · 2020年5月22日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
了解情感分析中的NLP技术么?
七月在线实验室
9+阅读 · 2019年4月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
开发 | 用 Python 做机器学习不得不收藏的重要库
AI科技评论
5+阅读 · 2019年1月8日
Python3.7中一种懒加载的方式
Python程序员
3+阅读 · 2018年4月27日
别@微信团队了,我用Python给自己戴上了圣诞帽!
牛逼的数据科学家应该具有的8个习惯!
物联网智库
5+阅读 · 2017年12月3日
Tensorflow 文本分类-Python深度学习
Python程序员
12+阅读 · 2017年11月22日
机器学习实践指南
Linux中国
8+阅读 · 2017年9月28日
Arxiv
8+阅读 · 2019年3月28日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
4+阅读 · 2018年1月29日
Arxiv
27+阅读 · 2017年12月6日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
【Manning新书】现代Java实战,592页pdf
专知会员服务
99+阅读 · 2020年5月22日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
相关资讯
了解情感分析中的NLP技术么?
七月在线实验室
9+阅读 · 2019年4月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
开发 | 用 Python 做机器学习不得不收藏的重要库
AI科技评论
5+阅读 · 2019年1月8日
Python3.7中一种懒加载的方式
Python程序员
3+阅读 · 2018年4月27日
别@微信团队了,我用Python给自己戴上了圣诞帽!
牛逼的数据科学家应该具有的8个习惯!
物联网智库
5+阅读 · 2017年12月3日
Tensorflow 文本分类-Python深度学习
Python程序员
12+阅读 · 2017年11月22日
机器学习实践指南
Linux中国
8+阅读 · 2017年9月28日
Top
微信扫码咨询专知VIP会员