从字面意义上说,使用editor macros,差不多是把输入的text以key为单位映射到函数上,kmacro就是对key的组合。key是editor映射的不变量,而macro是key的结构。emacs天才的构思就是用lisp去实现kmacro,lisp适合用来写递归上下文,原本lift key sequence的操作变成了简单的lisp调用,用户通过用lisp操作symbol而不是用键盘操作key实现emacs的拓展,通过key binding维持二者之间的同构。所以emacs焚诀不是关于编辑文本的,而是关于怎么把编辑文本这件事延拓到不知所谓的程度的。