這裡的外掛程式主要是cedet, ecb, cscope, mew這幾種,網上還有很多其它外掛程式,大多是單個的el檔案,把它放到site-lisp目錄下再在.emacs中載入就可以了,剛才所說的幾種,是檔案很多,看起來比較複雜的。不過在linux下安裝是非常容易的,都是./configure, make, make install這三步走。在winodws環境下安裝需要多費點神。
我的環境:windows xp sp2, emacs 22.3, cedet 1.0pre4, ecb2.32, cscope 15.6, mew 6.15。各個外掛程式的google一下就能看到。另外,我的系統上安裝了cygwin和GetGnuWin32-0.6.19,這兩個工具包是在emacs的協助文檔中看到的,安裝其中的一個就可以了,如果在window下通過編譯原始碼的方式安裝gnu工具,則有這些工具是非常方便的。google一下就可以找到它們的首頁和。
這幾種外掛程式中前面幾種安裝非常簡單,直接解壓,然後在cygwin下面./configure, make, make install這樣就可以,就自己的感覺和理解,這三步執行到某一步出錯了也沒關係,之所以執行這三步主要的作用感覺還是在make這一步的時候調用emacs來把el檔案編譯成elc檔案,這樣可以提高emacs的載入速度。直接解壓後或者是三步執行完了或者某一步出錯中止了,把解壓出來的那個檔案夾複製到emacs的安裝目錄中的site-listp目錄下,每個外掛程式解壓後的目錄中都有一個INSTALL檔案或者README檔案,都不是很長,安裝方法和載入方法其中都有詳細的描述。安裝ecb之前必須先安裝cedet。
另外,cedet=collection of emacs development enviroment tools, 其中包含了eieio, semantic, ede, speedbar, ecb=emacs code browser.cscope也是功能強大的輔助代碼的。每個外掛程式都帶了詳細的文檔。
另外安裝之前最好先執行emacs/bin下面的addpm.exe執行emacs安裝,它會設定好註冊表資訊,如果在./configure階段發現checking for emacs ...no這樣的資訊,則設定一個環境變數EMACS,它的值設為emacs.exe檔案的完整路徑就可以。
對於mew的安裝,網上幾乎所有文檔都是通過編譯原始碼安裝的,我納悶的是他們在windows下編譯原始碼安裝都能夠成功,但我從來沒有成功過,修改Makefile檔案什麼的都試過,沒有成功。其實從mew的主面上下載到mew for windows的安裝包後,解壓出來,裡面除了有完整的mew原始碼外還有一個mew.exe檔案和mew.ini檔案,那個mew.exe檔案就是安裝檔案,直接執行它然後按照它的指示一路下一步自動完成安裝了。如果安裝的是mew4.1的,連.emacs檔案都會自動修改好。如果安裝的是mew6.1,需要自己手動修改.emacs檔案來載入mew,對於mew6.1版本mew的配置可以放在.emacs檔案中也可以放在~/.mew.el檔案中。
安裝完mew後對mew的設定還需要看它的文檔,對於pop3設定非常簡單,自己設定時遇到的主要問題就是smtp發送郵件的設定,這個需要設定smtp-auth-list變數。關於mew的設定和使用,下面兩篇文章都很好:
http://learn.tsinghua.edu.cn:8080/2004211031/publish/GNU/mew.html
http://zhdotemacs.sourceforge.net/emacs/x382.html
下面是我的.mew.el檔案中關於郵箱帳號的設定部分,可以正常接收和發送郵件的:
- (setq mew-config-alist
- '(("default"
- ("name" . "WangHaibin")
- ("user" . "sea_1985098")
- ("mail-domain" . "126.com")
- ("pop-server" . "pop3.126.com")
- ("pop-port" . "110")
- ("pop-user" . "sea_1985098")
- ("pop-auth" . pass)
- ("smtp-server" . "smtp.126.com")
- ("smtp-port" . "25")
- ("smtp-user" . "sea_1985098")
- ("smtp-auth-list" . ("PLAIN" "LOGIN" "CRAM-MD5")))
- ("163"
- ("name" . "WangHaibin")
- ("user" . "sea_1985098")
- ("mail-domain" . "163.com")
- ("pop-server" . "pop.163.com")
- ("pop-port" . "110")
- ("pop-user" . "sea_1985098")
- ("pop-auth" . pass)
- ("smtp-server" . "smtp.163.com")
- ("smtp-port" . "25")
- ("smtp-user" . "sea_1985098")
- ("smtp-auth-list" . ("PLAIN" "LOGIN" "CRAM-MD5")))))