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模式(cc-mode)時使用,在你的c-mode-common-hook中鍵入如下:
(define-keyc-mode-base-map"\C-cm"'main-type)
在第一種模式中的問題是你只有有限的鍵用來定義,很快就會用完。而且,當你編輯一個Html文件時,你不會不想到在emacs中如上例噴出'intmain'的方法。
附?給老手:應該指出的是我只是emacs的新手,到目前我僅僅使用了六個月。如上有誤請不吝指教。
資料來源:Linux公報中文版 (有話要說?請給我們來信)