Tip of the Day --for Using Emacs
last-edit-by: lungangfang 03/02/2006 12:38:53>
此處只是一些小技巧,常用命令請參考Emacs手冊
006> Emacs支持正則表達式搜索、替換(C-M-s, M-x replace-regexp等)。如果對正則表達
還不熟,花點時間學習並應用它是絕對值得的。
==============================================================
001> (mouse-avoidance-mode 'animate)
讓鼠標的圖標自動避開當前插入點光標(make the cursor avoid the point)
以前編輯文件時,插入點位置恰好和鼠標光標重疊時,我總是要騰出手來移開鼠標。
在.emacs中加入下面的語句,鼠標就會自動走開了:
002> 鼠標選中某一區域後,該區域內容就自動被複制到kill-ring(和剪貼板-如果你是在
windows下)
003> 在文件首行用“-*-modename-*-”告訴Emacs用指定的mode打開文件。例如
若文件首行如下則Emacs會自動用outline模式打開該文件:
This is the first line -*-outline-*-
004> c/c++ mode下激活hs-minor-mode可以進行代碼摺疊。
005> 安裝插件ibuffer,像dired-mode管理文件一樣管理buffers。
021> 用ange-ftp方便的傳輸文件
尤其是當你正在編輯該文本的時候,用此功能用來FTP單個文本文件十分方便:直接另
存爲(C-x C-w)目的文件就行了。我常用這個辦法備份我的配置文件:在一個server上
修改配置後再保存到本地。
031> ediff 可以比較兩、三個目錄
032> ediff-revision 可以方便的比較CVS中某文件的兩個舊版本
051> > >> >>> 在eshell重定向
在eshell中>和>>不僅可以重定向到文件中,還可以到buffer中;而>>>則是eshell所
特有的重定向到buffer的當前point的操作符:
eg. Flowing would insert "test" right after the point in buffer whose name
is "yourbuffername":
echo "test" >>> #<buffer yourbuffername>
101> M-m
將point移動到本行第一個非空白字符(non-whitespace)。
102> C-u C-@
將光標移至上一次標記(mark)的位置。
103> C-x C-o (歐)
將光標和標記(mark)的位置互換。
104> C-x [ C-x ] 移至上一頁, 移至下一頁。這裏的頁以分隔符“ ”爲準。“ ”是
ascii文本文件約定的頁分隔符(在ascii格式的RFC中可以見到)。
121> C-y M-y 將kill-ring中前一項粘貼到當前位置。
C-y將剛纔複製的內容粘貼到當前位置,之後緊接着輸入M-y則改爲粘貼上一次複製的
內容,再輸入M-y則爲上上一次。依此類推。
122> M-@ 選中區域:當前point至當前word末
M-@的輸入方法一般爲:同時按住<Alt>、<shift>兩鍵,然後按數字鍵<2>。
123> C-s C-w
用C-s搜索字符串時,mini-buffer會提示輸入要搜的字符串,此時直接C-w則將當前光
標至其所在單詞末尾的內容作爲要搜索的內容。你還可以繼續C-w,看看有什麼效果。
131> %-l %-u 將文件名該爲全小寫(l:lower-case, u:upper-case) 在Dired mode下有效
141> C-c C-a
在eshell中,C-a將帶你到行首,C-c C-a纔是將光標定位到shell提示符後。
如果知道C-c通常用來表示接下來的鍵是特定於某一mode的快捷鍵,這個組合就很好理
解了,它表示:eshell mode下的C-a