帮你精通 Emacs
No Data
曾国藩的战术“结硬寨,打呆仗”,初时很慢,待工事渐成,则坚不可摧。同时努力学习SICP的策略,首先抛出点滴星火,再看时,则已成燎原之势。
本项目以直觉力为基础,步步为营,稳扎稳打,构筑Emacs技能。
是为序.
** 如此简单的 Emacs Emacs的简单,一言以蔽之,只是一个Meta键而已。 Meta键(键盘上的option/alter键) Meta的词源含义是higher,beyond,没有最高,只有更高。 中文译为"元",发端处,源头处。因此Meta是 Source,Meta关联Source-Code。而在Source-Code中,Function又是的一等公民。 Emacs的简单策略便是将Meta键绑定到Function这项source-code上,即触发按键M-x (x for execucte) 调用函数。在此之后,便可以天马行空的查询要做的事情, 比如插入当前的日期:
[[file:images/00.preface-current-date.png]]
至此,Emacs从战略层面上的所有事情便结束了, 剩下的事情仅仅是战术层面上的高效问题与缝缝补补的实现。
** Emacs的首要策略: 引入Ctrl键
比如从目录中打开一个文件,可以M-x find-file,
[[file:images/00.preface-find-file.png]] 这项操作需要键入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键也是语义绑定。