您的位置:首页 > 其它

Emacs中宏的基本使用方法

2012-01-06 16:40 274 查看
宏,即Macro,是文本编辑器中一个非常广泛的使用技巧。 比如有下面一段文字,我们需要把前面的注释(即;;)全部去掉,怎么办呢?
;; (require ‘worklog)
;; (setq   worklog-automatic-login   t)
;; (add-hook ‘emacs-startup-hook
;; (function   (lambda ()
;; (worklog-do-task “Hacking emacs”   t)
;; )))
;;
;; (add-hook ‘kill-emacs-hook
;; (function (lambda ()
;; (worklog-do-task “logout” t)
;; (worklog-finish)
;; )))
一般的编辑器里(如Notepad),可能就需要人来一行一行地删掉,但是如果有一百行、二百行,这样就显的非常不人性化。 在Emacs中,使用宏就可以快速地把这些多余的东西去掉: 开始录制宏,用“C-x (”;
输入你删除的动作,“C-d” “C-d” “C-d”;
移动到下一行,“C-n”;
结束录制宏,用“C-x )”;
用“C-x e”来使用宏。
这里,可以利用“C-u”来重复使用11次这个宏,即命令“C-u 11 C-x e”。 于是,你就能看到;;全部被快速地删掉了。 你还可以对已定义的宏命名并保存到文本中,以便下次再用: 按照上面的过程定义一个宏;
M-x name-last-kbd-macro”;
按提示输入你所要定义的宏名称;
打你的.emacs文件并把光标跳转到特定的位置;
M-x insert-kbd-macro”;
输入你刚刚取的名字。
于是你就看到了有这样的东西存在
(fset ‘delete-double-column
“\C-d\C-d\C-d\C-n”)
这样,你的宏不仅已经被命名,还存到了.emacs里,下次打开Emacs的时候,还能再用,即相当于多拥有了一个命令。 当你要使用这个宏的时候,只要用`M-x <宏名>‘就可以调用你的宏了

通过 Wiz 发布
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: