歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Emacs中的鍵盤宏

  這是我的關於如何在Emacs中讓你的手指少動幾次的小技巧--使用Emacs中的鍵盤宏(keyboardmacros)。在你編輯任何文件時(如C源程序時)創建一個鍵盤宏首先鍵入`C-x(',當小緩沖器顯示`Definingkbdmacro'時,鍵入任何你想自動錄入的字符。例如你想錄入的如下:

  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公報中文版 (有話要說?請給我們來信)




Copyright © Linux教程網 All Rights Reserved