网站建设的pest分析,重庆模板建站软件,有微信公众号怎么做微网站,竣工验收备案查询emacs 中的键盘宏 宏定义是emacs比较强大的功能#xff0c;自定义宏然后绑定快捷键之后就更加爽了。 vim 当然也有宏功能,而且用法简单,例如录制宏到a寄存器:qa...q, 执行宏a: a 世界就是由循环和递归构成的. 宏定义就是一个执行体,为了以后的循环做准备的 开启宏记录 C-x ( 或…emacs 中的键盘宏 宏定义是emacs比较强大的功能自定义宏然后绑定快捷键之后就更加爽了。 vim 当然也有宏功能,而且用法简单,例如录制宏到a寄存器:qa...q, 执行宏a: a 世界就是由循环和递归构成的. 宏定义就是一个执行体,为了以后的循环做准备的 开启宏记录 C-x ( 或者 f3 关闭宏记录 C-x ) 或者 f4 执行刚刚录制的宏 C-x e 或者 fr 循环执行n次刚刚录制的宏 C-u n C-x e, 哈哈,录了半天就是为了这一下爽! 是啊,我们不愿做重复劳动! 给刚刚记录的宏记录编辑一个名字 M-x name-last-kbd-marco 然后输入名字, 例如macro1
把刚刚起名字的宏记录写入到文件里面 , 以便将来我们可以重复使用它 先建立一个记录宏记录的文件例如建立了~/.emacs.d/my_macro.el文件, 若只是实验则可随便起个名字,例如1.txt M-x insert-kbd-marco 然后输入宏的名字,例如macro1 把宏记录写入到里面。C-x C-s 以后加载这个宏记录文件的方式: 在init.el中添加 (load-file ~/.emacs.d/my_macro.el)就能加载了. 再用(global-set-key (kbd .... ) ....)就能用绑定快捷键到一个相应名字的宏操作了。 ---------------------------------------- 现在我们研究一下这个宏记录的是什么. ---------------------------------------- (fset bookmark [return ?\C-p ?B ?o ?o ?k ?m ?a ?r ?k ?B ?e ?g ?i ?n ?\C-n ?\C-a]) fset 是一个函数, 定义一个符号的功能 (fset SYMBOL Definition) bookmark 是一个引用 [] 是什么? 它括住的是一个vector vector使用的是方括号来进行区间界定。[1 two (three)] vector 是一维数组.不同于lisp的列表vector访问任何一个元素的时间都是相同的。 而列表的访问速度其实是跟元素在列表的偏移位置相关的 搞过c 的人是容易理解的.
return , 你敲了return 键 ?\C-p ,你敲了C-p 键 ?B ?o ... , 你敲了BookmarkBegin 字符键 ?\C-n ?\C-a, 你敲了C-n C-a键
Emacs 中的键盘宏功能有两种模式macros 和kmacros。 前者以符号形式返回宏后者提供 lambda 形式。 前者调用方式为: M-x name-last-kbd-macro你会得到一个符号形式 后者调用方式为: kmacro-name-last-macro你会得到一个 lambda 形式。