intmain(intargc,char**argv)
{
当你结束录入时键入:`C-x)@#,emacs将显示`Keyboardmacrodefined@#。现在你必须给你的宏命名,以便你以后调用此宏,键入:`M-xname-last-kbd-macro@#时,会提示输入宏名。在我们的例子中,就叫做`main-type@#之类的吧。现在打开你的.emacs文件,移到文件尾部,键入:`M-xinsert-kbd-macro@#,当它问你插入宏的名字时,键入你上次取的名字。此时emacs就会自动插入生成宏的代码。
现在就可以使用`M-x<宏名>@#来调用你的宏了。不过好象使用起来并不如预想的好,因为使用宏是为了减少你的击键。不过这个问题可以用定义键盘(keyboardmapping)来解决。下一步是把此宏定义到一个功能键上。
依你是否需要此宏用于所有模式,你可以使用全程设置键(global-set-key)或定义键(define-key)。
下面是一个全程设置键的例子,需要你把它加入到..emacs的尾部。
(global-set-key"\C-cm"@#main-type)
如此,以后你调用emacs时,只要你键入“C-cm”时,整个代码(notreally,justthisoneline)就会显现。请注意不能使用已定义键。最合适组合键是ControlC+.
如果你只希望此宏在C模式(clearcase/" target="_blank" >cc-mode)时使用,在你的c-mode-common-hook中键入如下:
(define-keyc-mode-base-map"\C-cm"@#main-type)
在第一种模式中的问题是你只有有限的键用来定义,很快就会用完。而且,当你编辑一个html文件时,你不会不想到在emacs中如上例喷出@#intmain@#的方法。
附?给老手:应该指出的是我只是emacs的新手,到目前我仅仅使用了六个月。如上有误请不吝指教。
资料来源:Linux公报中文版
(有话要说?请给我们来信)