当今编程江湖两大神器:一曰“Vim”,一曰“Emacs”。
Vim or Emacs
话题一起,常常键盘上割席断交,口诛笔伐,下班后却欢欢喜喜,一起撸串不亦乐乎。Vim似乎有着天赋优势,配置轻量级,随手就能打开。
对Emacs而言,一个以讹传讹的观念”Emacs很难且耗费时间”。
本系列课程将打破此成见,通过点出Emacs中的关键点的方式:心有灵犀一点通,举一反三,一通百通。而不必案牍劳形, 悬梁刺股。
曾国藩的战术“结硬寨,打呆仗”,初时很慢,待工事渐成,则坚不可摧。同时努力学习SICP的策略,首先抛出点滴星火,再看时,则已成燎原之势。
本项目以直觉力为基础,步步为营,稳扎稳打,构筑Emacs技能。
是为序.。
如此简单的Emacs:一个Meta键而已
Emacs的简单,一言以蔽之,只是一个Meta键而已。
Meta键(键盘上的option/alter键)Meta的牛津词源含义是higher,beyond,没有最高,只有更高。 中文译作”元”,发端处,源头处。
因此Meta是Source,关联SourceCode(源代码)。而在SourceCode中,Function又是一等公民。
Emacs的简单策略是将“Meta”键绑定到 Function 这项 source-code上,即触发按键M-x (x for execucte) 调用函数。在此之后,便可以天马行空的查询要做的事情, 比如插入当前的日期:
至此,Emacs从战略层面上的所有事情便结束了, 剩下的事情仅仅是战术层面上的高效问题与缝缝补补的实现。
Emacs的首要策略: 引入Ctrl键
当从目录中打开一个文件,可以M-x find-file,
这项操作需要键入11个字符 Ctrl策略. 倘若按键 C-x C-f. 只需要键入4个字符。
于是作为Emacs实现高效的核心策略,用按键的“字符调用函数”取代“函数名调用”。
更简单的例子,比如“向前移动一个字符”,完整的实现方式为 M-x forward-character。而在引入了Ctrl策略之后,只需要C-f。此处C简化了M-x,
字符f则是函数forward-character的首字母。
以上用Control调用functions的方式,称之为Command。Command=Contrl,由此也能反过来看到选择Ctrl键也是语义绑定。
后记
以上为“教你精通Emacs”系列引言,源项目请查看: