Emacs喜欢神器

0x00 引言

Emacs有三大杀器:Emacs、Org、Magit。函数式编程真的很喜欢,抽象程度很爽。从Emacs能看到很多东西,或许我以后可以为此编写一本书吧?

0x01 Emacs

Emacs 诞生于函数式编程的热潮中,在Emacs中传承者MIT的Lisp Machine的理想。关于Lisp Machine你需要 去学习Lambda Calculus的内容。可能你敬佩图灵,但我更敬佩Church。Church是图灵在普林斯顿大学攻取博士学位的导师。Lambda Calculus就是由Church提出来的。我喜欢基于Lambda Calculus的Lisp系语言,其实对于初学者来说,从Lisp系走进编程世界是最优美的姿势。这个世界有很多庸人,却自以为是导师,踏着学生的血肉,养活了自己的房产。

Emacs是由从MIT出来的,提倡free software运动的Richard Stallman博士依据一个闭源软件开发出来的。Emacs 中有很多特别的东西,这些东西在IT人员以后的手工生涯中都能用上的:分层设计、内存回收机制、hook机制、代码注释。

分层设计

虚拟机最先出现在函数式编程语言中,Java语言和.NET平台的虚拟机是后来很久之后才从函数式编程世界中借鉴过来的。来自于MIT的Emacs也有一个虚拟机——Emacs VM。这个虚拟机采用C语言编写,在其上层开发出了Emacs Lisp语言,可以用Emacs Lisp语言来写扩展。从现在的角度来看提供扩展功能是一个伟大而优美的设计,但提供扩展的方式有很多,这种直接开发出一种专有的编程语言未必是最好的方法。

建立在Emacs VM上的Emacs Lisp语言有两种文件:.el和.elc文件。在下面的介绍中,我将Emacs Lisp和Java做对比。.el文件是一种纯文本文件,相当于Java编程语言的.java文件;.elc文件是一种字节码文件,相当于Java中的.class文件。当你为Emacs写插件的时候,你可以将.el文件编译为.elc字节码格式来提高插件的反应速度。

如果你理解到这种分层方法的优美,那么以后你在开发系统的时候如果采用了分层设计的话,你会深深的被你那优美的设计所折服。

内存回收机制

在Emacs中,你可以在加载文件中通过变量gc-cons-threshold来设置启动回收机制的时间。

(setq gc-cons-threshold 100000000)

关于有自动回收机制好,还是手工回收机制好,这是一场战争。

hook机制

如果你用过Javascript或者Node.js你会体会到这个真的很爽啦。

代码注释

如果你写Emacs Lisp,你会养成写注释的习惯。Emacs的这个妙处,当你用过C-h的时候,你会喜欢上玩它。

0x02 Org

Org在Emacs的世界中有好几个指代,可以指Org插件,可以指Org文件格式。在这里如果指Org内置的插件,本文将用Org插件来表示,如果指Org文件格式的话,本文将用Org文件来表示。

Literate Programming

如果你曾经看过Knuth的书,你会觉得这个文化编程的概念很高大上,当你在Emacs里进行文化编程的时候你会发现真的很爽。用这个你会爱上写文档的,在代码中写文档。

TODO 管理

Paste_Image.png

0x03 Magit

执行git status:

Paste_Image.png

然后可以在这里面进行你常用的Git操作了,感觉比tig好用多了。

0x04 随感

如果Emacs从一开始就用GNU Guile 来写的话,他的用户会更好玩。GNU Guile可是为了GNU系统专门开发的插件语言。

如果你能读懂的话,那么你会看到很多很多。

0x05 UPDATE

2016-04-20
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容