一个Emacs程序员的一天

企业动态
Emacs被称为神之编辑器,用起来感觉是什么样子呢?我们来看看一个Emacs程序员的一天。闹铃响了, 周一真不想上班, 可是想想那几十年的房贷,瞬间充满斗志,我骨碌一下就爬了起来。

 Emacs被称为神之编辑器,用起来感觉是什么样子呢?我们来看看一个Emacs程序员的一天。

[[281619]]

闹铃响了, 周一真不想上班, 可是想想那几十年的房贷,瞬间充满斗志,我骨碌一下就爬了起来。

9点半就到了公司,居然没多少人,周日加班的那帮家伙估计还没起床。

打开电脑,启动心爱的Emacs。这才想起了昨天晚上微信群里的一场口水战,居然有人喷Emacs, 他们是中IDE的毒太深了,体会不到Emacs的美。

我承认,IDEA, Eclipse在Java领域做得很好,但是这个世界上还有很多别的语言啊,比如我现在开发的是Elixir项目,上哪儿去找像IDEA, VS那样的IDE?更不用说那么多小众语言了。

好的开始是成功的一半, 先规划一下今天的工作吧, 进入Emacs org-mode , 把今天要做的任务整成ToDo列表。

 

可能有人会觉得奇怪,怎么在编辑器里搞ToDo啊?这也正是Emacs强悍的地方,不仅仅是写代码,有很多非常优秀的插件,能完成各种各样的事情。

打开文件, 开始编程, 代码导航,代码格式化,跳转,多光标编辑,补全,模板等等等等你能想到的想不到的,Emacs 统统能满足。

 

如果有特殊需求,我就自己去定制,去修改插件,你没看错,Emacs的插件源码都是开放的, 我能找到那个地方,覆盖它,实现新的功能,这样我就不用祈祷着IDE下一版本升级包含这个特殊需求了。

我的地盘我还做不了主,还得看别人眼色?笑话!当然, 你得会一点儿Lisp,因为Emacs中绝大部分插件和配置文件,都是用Emacs Lisp写的。

昨天的微信群中有人担心只用键盘,快捷键太多记不住啊。其实我也记不住啊,我只能记得住高频使用的那些,以及自定义的顺手的那些,剩下的都交给模糊补全啦,只要输入几个零星的字母就好。而且 Emacs 自带的帮助文档非常全,遇到不会的直接问 Emacs 就好啦。

写完了代码,肯定要提交啊,是时候祭出magit这个大杀器了, the magical Git interface, 可以快速、方便、直观地操作Git。

 

可能有人要问了,这些功能我的IDE也有啊, 还是GUI的,很漂亮哦 !

其实Emacs比键鼠操作的GUI好在它允许你用同一种方式,操作不同的东西,所以使用Emacs就有一种流畅的感觉。 编辑,查找,光标定位,撤销代码,格式化代码,多文件,多窗口,git,commit,blame,历史回溯,代码片段。这些用熟练是一个整体的感觉。

提升效率的核心还是编辑本身非常流畅,编辑流畅思路才能流畅,不是吗?

我这么说估计你也体会不到,还有可能被别人说成是装逼,懂我的自然懂,不懂的自然不懂,不再解释了。

一口气写了两个小时的代码,遇到一个技术问题,Google 一下,嗯,这个解决方案不错,以后用得着, 用Org Capture 把它记录到笔记中。

领导走过来布置了一个任务,不太紧急, 用Org Capture记录到我的Todo中, 下午再做,别把我当前的编程思路给打断了。

 

中午吃饭的时候,张大胖说Java之父高司令和自由软件领袖/GNU Emacs作者/GCC作者Richard Matthew Stallman (RMS)撕起来了,说高司令撕RMS是因为RMS偷了他的Emacs代码。

张大胖看我的眼神中透漏着一丝狡黠,那厮似乎在嘲笑我用的Emacs是偷来的.....

唉,这其实已经成为一个悬案了,我都懒得搭理他,我决定一周内不在码农翻身上回答他任何技术问题,以示惩罚。

下午的时候就没有那么高效率了,开了上一个迭代的总结会,又开了下一个迭代的计划会,还有接口协调会,更要命的是生产环境出了一个Bug,花了两个小时才定位修复 ......

转眼就是6点45,我Emacs中的Todo列表不降反增, 晚上加班不可避免。

唉, 再好的工具也搞不定这么多的工作量啊。

吃完晚饭, 偷一会儿懒,用Emacs看一会儿小说, 然后再和用Emacs的好友们聊一会儿,Emacs社区牛人太多,那些真正的黑客们都用Emacs, 社区氛围极好, 能学习的东西太多了。

晚上10点,下班回家,用Emacs写下这篇文章,以示纪念。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

 

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2019-04-28 09:56:15

程序员互联网脱发

2020-02-22 21:51:43

程序员Microsoft SServerSQL

2014-01-06 09:33:32

程序员管理

2017-11-09 19:40:40

2015-02-10 10:21:22

程序员

2015-12-24 18:00:45

资深程序员

2012-06-05 00:26:58

程序员

2011-02-14 13:05:17

PythonWeb

2015-06-08 10:48:39

程序员程序员自白

2020-10-05 21:13:37

程序员技能开发者

2015-06-16 10:31:36

程序员

2020-07-10 09:55:15

程序员技能开发者

2015-09-16 09:46:17

Java程序员C++

2009-06-25 09:10:25

很牛的程序员

2010-10-18 11:39:41

程序员

2015-05-13 14:06:03

程序员糟糕的程序员

2020-01-06 09:53:29

程序员

2015-08-24 10:07:13

程序员bug

2019-02-14 10:04:34

程序员离职技术

2021-07-01 07:43:41

项目程序员代码
点赞
收藏

51CTO技术栈公众号