在linux編程,首先要選擇開發工具,自然目光就投向了網上都說的兩大神器——VIM和EMACS,雖說他們只是編輯器,但由於超強的可定製度,已成為廣大linux工作者的首選。所以今天我就寫點本人使用Emacs和將Emacs配置成一個簡易IDE的過程和心得。不過說起配置IDE,CSDN上前輩吳垠有篇將VIM配置成IDE的文章,本人剛在linux編程時曾深深學習過,甚為折服。順便提一句,我曾經也是用VIM寫程式的,所以我的VIM看起來也是一個簡單的IDE,不過後面轉向使用Emacs了(聲明:本人無意加入VIM和Emacs之爭,選擇哪一個純屬個人習慣和喜好而已)。
網上很對人都說Emacs門檻比較高,入門難。其實也沒有說的那麼誇張,可能是比VIM難一點,但是也是很容易上手的,只是好用不好用的問題。好了,閑話少說,下面進入今天的主題:打造Emacs。
本文對Emacs的說明有:
- Emacs的基本操作和按鍵組合
- 啟動時的邊框和大小及在螢幕中的位置
- Emacs的基本常規設定
- Emacs的一些開發環境的設定(C/C++、script等等)
- Emacs的一些擴充配置(如改變游標的形狀等)
附:本文不會解釋lisp編程。
我的工作環境是ubuntu11.04,emacs是直接用sudo apt-get install emacs安裝的,版本是GNU Emacs 23.3.1。下面的例子基本都是在C語言做的示範。
下面對一些文中可能用到的名稱說明一下:
文中的路徑都是 ~/ 目錄,文中的一些路徑如,~/_emacs,~/work,之類的如果沒有就自己建一個,.emacs檔案在~/.emacs。
先來兩張圖,我的emacs介面,o(∩_∩)o
圖一:
對照的編號:
1:簡潔明了的buffer瀏覽和操作,以及一些檔案瀏覽器,tag瀏覽
2:高亮代碼編輯區
3:自動補全
4:更好的檔案瀏覽器
圖2:(debug的)
對照:
1:圖形化調試選項
2:變數查看區
3:源碼查看區
4:棧查看區
5:斷點查看區
2.Emacs的基本操作和按鍵組合1.Emacs的模式鍵定義
四個模式鍵:C------àctrl;M------àalt;s------àsuper(win);S----àshift
比如:C-x:表示ctrl+x(表示先按下ctrl鍵,然後按下x鍵
C-x c C-c:表示按下ctrl,然後按下x鍵鬆開後再按下c鍵
C-x k:表示按下ctrl,同步選取x和k鍵
2.Emacs的基本按鍵組合
C-x C-c:退出Emacs
C-x C-s:儲存當前buffer
C-x C-f:開啟和建立檔案
C-n:游標移到下一行
C-p:游標移到上一行
C-k:刪除一行
M-x:執行命令
其他的很多按鍵組合我都進行了重新綁定,在下文中將有描述。
3.啟動時的大小和螢幕的中的位置
語句表示在啟動後在螢幕的x=20,y=0處,高度為35寬度為100的Emacs。
說明:關於修改Emacs的啟動大小的問題,網上最多的描述是:有兩種方法①修該~/.Xdefault檔案,然後運行xrdb ~/.Xdefault;②在~/.emacs中進行所示修改;然後網上的說明是第一種方法更好。故在此進行一個說明,根據筆者的使用經驗,個人更喜歡用第2種方法,因為當用第一種方法後,每次修改了emacs的設定檔,都需要重新運行xrdb ~/.Xdefault,個人感覺比較煩,還有一些其他問題,這裡就不例舉了,所以我選擇的是在.emacs設定檔中修改的方法。
4.Emacs的基本常規設定
按照一般的習慣,.emacs檔案中一般不會放太多的設定資訊,一般放一些emacs的搜尋路徑的資訊。這裡我的emacs的設定檔,即lisp指令碼都放在~/_emacs的檔案夾中。
因此首先添加一個emacs的搜尋路徑:
然後載入我們對emacs的設定指令碼,在.emacs中添加如下語句:
圖中的幾個指令檔將在下面分別解譯器用途。
①對emacs的基本設定,即base.el檔案(在~/_emacs中),base.el檔案中的部分內容如下:
設定預設工作目錄,即啟動emacs後所在的目錄,我這裡設的是主目錄下的work檔案夾,我幾乎所有的代碼都是在該目錄下完成的,在base.el中加上下面一句:
上面就是一些基本和重要的配置,我沒有多加說明,因為圖中幾乎每行語句都有注釋,所以大家應該能看懂的。O(∩_∩)o
5.C/C++的配置
下面講關於C/C++的配置,因為筆者在Linux下主要還是進行C/C++的開發。我的C/C++的配置主要是cycode.el檔案中。
①開發時很重要的一步就是調試,因此,好的調試環境很重要,所以首先就是圖形化調試介面:
上面載入了兩個lisp的指令檔,這兩個檔案是直接在網上下的圖形化調試的檔案。
②為了能高效的瀏覽和編輯代碼,需要安裝cedet外掛程式(可以到官網下載),下載cedet後,在~/install目錄中解壓,然後看解壓出來的檔案夾中的INSTALL檔案,然後根據裡面的描述安裝cedet即可(註:我所有的需要安裝的外掛程式都在~/install目錄中,下面將不再重複說明),有一點需要注意就是安裝完成後不能刪除安裝後的檔案,也就是需要保留解壓後的檔案夾。
安裝完成後,即用下面的語句將我們需要的一些東西包含進來:
然後現在就可進行有關cedet的設定,這裡只是用一個程式碼摺疊功能和展開為例:
③為了使使用更方便,即對上面cedet外掛程式的一個補充,需要在安裝一個ecb外掛程式。下載ecb後放到intall目錄中,解壓即可(僅僅是解壓),然後加上下面兩句:
④自動補全功能,為了實現自動補全功能,需要安裝兩個外掛程式,這兩個外掛程式是相輔相成的——auto-complete和yasnippet。先安裝auto-complete,下載後放到install目錄中解壓,然後進入解壓後的目錄,然後輸入make命令即可;下面安裝yasnippet,下載後放到install目錄,然後解壓即可;下面是幾句關於這兩個外掛程式的配置:
⑤裝完外掛程式後,下面是一些關於綜合的配置:
下面是兩種補全命令:
6.鍵綁定
到這裡,已經基本完成了C/C++開發環境的搭建,為了使自己用emacs更方便,需要一些建綁定,即自己定義一些按鍵組合,這是emacs配置中必不可少的一步,我的自訂群組合鍵都放在cykbd.el檔案中,下面是部分我的鍵綁定代碼:
根據一般的慣用f1來表示協助,即man命令:
這部分是對f1-f12的一些綁定:
這裡的f6為調試,即用gdb調試,f7是調用make來對原檔案進行編譯。
將f8為對buffer的一些常用操作:
用f12查看函數定義:
對ecb的鍵綁定:
對視窗的一些鍵綁定:
7.Emacs的擴充配置
上面已經完成配置emacs的基本工作,換句話說,到目前為止我們已經可以用emacs進行開發了,但是為了進一步的是emacs更符合我的習慣,又加了一個cyexpand.el這個設定檔,是emacs的功能更強大,cyexpand.el的部分設定為:
Emacs主題的設定:
將游標改成一個豎線:
8.總結
到此為止,已經將emacs打造成了開發c/C++的簡易IDE,由於筆者本身能力所限,文中的不足之處歡迎大家批評指正。我會將我整套設定檔和需要下載的外掛程式都打包上傳,詳細的設定和編碼,大家可以下載後在使用過程中體會和深入,大家需要看的檔案只有_emacs目錄下的base.el、cycode.el、cykbd.el、cyexpand.el四個檔案,其他的指令檔都是筆者從各種地方收集過來的大牛寫的各種配置。我的設定檔下載串連是:
http://download.csdn.net/detail/karotte/3812760