使用gEdit搭配terminal來寫程序也有一段時間了,但一直當它是windows下的notepad,沒有好好熟悉下它,今天無意中發現原來 gEdit也可以打造一個不錯的編程環境。這里對相關的資料收集總結了一下,與大家共享。
gEdit是GNOME桌面環境中默認的文本編輯器,它簡單易用,對中文支持良好,支持多種字符編碼,同時具有開放的插件支持特性。通過安裝插件,作一些 簡單的設置,gEdit就可以做為一個簡潔的編程環境。
在我的ubuntu 8.04下,默認情況只安裝了gedit包,還有以下幾個插件: 代碼:
Change case: Changes the case of selected text.
Document Statistics: Analyses the current document and reports the number of words, lines, characters and non-space characters in it.
External tools: Execute external commands and shell scripts.
(More) File Browser: A file browser plugin allowing to easily access your filesystem (includes remote mounts, creating new files/dirs, monitor dirs for changes, etc)
(More) Indent: Indents or un-indents selected lines.
Modelines: Emacs, Kate and Vim-style modelines support for gedit.
Python console: Interactive python console standing in the bottom panel.
Snippets: Insert often used pieces of text in a fast way.
(More) Sort: Sorts a document or selected text.
Spell: Checks the spelling of the current document.
Tag list: Provides a method to easily insert into a document commonly used tags/strings without having to type them.
Insert Date/Time: Inserts current date and time at the cursor position.
就編程而言,我覺得比較有用的有External tools(外部工具),通過它在菜單上集成shell命令來編譯運行程序(由於不是交互性的 shell,所以不便用於debug);
File Browser(文件瀏覽器),提供一個多文件(工程)的視圖,還有可以編輯遠程文件,雖然后者我很少用到;
Snippets(片斷),提供一種代碼模板 以快速輸入,如我在snippets->C++下定義了如下for循環: 代碼: for( $1 ; $2 ; ${3:++ix} ) { $4 } $0 並且其Tab觸發器設置為forlp+tab(表示輸入forlp,然后按下tab鍵)。之后在代碼中每當我要輸入for循環,在C++的源文件中,只需 輸入forlp,然后按下tab鍵,forlp+tab就會自動擴展成上面的for循環,光標會處於$1處,此時可以直接輸入for的初始條件,然后按一 下tab,光標會跳到$2處,再按tab,跳到$3處,如此類推。$3處設置了默認值++ix,如果直接按tab跳過,就為默認值++ix,如果輸入 ix++之后再按tab跳到$4,默認值就會被ix++覆蓋。$0為此模塊最后跳轉到的位置。
此外Tag list對編寫網頁等多tag源文件比較有用,Indent方便我們對代碼進行縮進與取消縮進。默認安裝好系統后,gedit能通過后綴正確識別到不同語 言的源代碼,其語法高亮也做得比較好。但是要作為一個編程環境還有很多不方便的地方,此時就要安裝另外一些插件來完善其功能了。
首先我們安裝軟件源中 gedit的plugin集,terminal下輸入:
代碼: $ sudo apt-get install gedit-plugins 安裝gedit-plugins。
其中包括 代碼:
* Smart Spaces: Forget you're not using tabulations. <=== 智能空格
* Embedded Terminal: Embed a terminal in the bottom pane. <=== 內嵌的terminal,應該是最有用的一個插件了,有了它,我們就可以不用上面External tools來編譯調試程序啦,而且也不用心煩在gedit與terminal之間來回切換了,不足之處是貌似只能有一個terminal,有時不夠方便。
* Show/Hide Tabbar: Add a menu entry to show/hide the tabbar. <=== 顯示/隱藏標簽欄
* Join/Split Lines: Join several lines or split long ones <=== 合並/分割行
* Color Picker: Pick a color from a dialog and insert its hexadecimal representation. <=== 拾色器
* Draw Spaces: Draw Spaces and Tabs <=== 特別顯示空格與制表符
* Session Saver: Save and restore your working sessions <=== 會話保存 不過貌似不怎么管用哦
* Code comment: Comment out or uncomment a selected block of code. <=== 注釋代碼,這下要注釋大片代碼就方便了
* Bracket Completion: Automatically adds closing brackets. <=== 自動的括號補全
* Character Map: Insert special characters just by clicking on them. <=== 對特殊字符集映射,暫時對我而言沒什么用 安裝好后將覺得有用的插件啟用,不用的插件禁用掉。比起notepad已經好用了很多,但是還不夠,要讓gEdit變得更方便,登錄gEdit的插件網站 http://live.gnome.org/Gedit/Plugins ,選擇你需要的插件啦。
這里寫下個人覺得寫代碼比較有用的幾個插件,僅供參考:
1.Class Browser:顯示代碼中類,函數,宏等的大綱,類似於VC或eclipse的類視圖,支持多種語言,但這個插件相對簡單,另一個 Symbol Browser貌似更強大,不過暫時我找不到下載。
2.單詞自動補全,有多個word completion的小插件,功能大同小異,都支持自動補全前文或所有打開的文件標簽中已經出現過的單詞,類似於 visual assist或eclipse的自動補全功能,不足在於暫時不支持根據不同語言提供不同的關鍵字自動補全
3.Full screen: 在打開文件的情況下將gEdit全屏,偶爾會用下。
4.Open terminal here: 在當前文件夾下打開新terminal,有了Embedded Terminal這個插件比較雞肋了
5.session autosave: 記錄上次退出gEdit時打開的文件,下次打開時重新打開這些文件,由於止面的Session Saver好像不能用,所以裝了這個。打開多個相關文件時比較有用,退出后下次就不用一個個文件手動打開啦
6.Code Formatter:自動格式化
7.snap open: 輸入文件名(支持正則表達式)查找並打開文件
8.vigedit: 支持vi快捷鍵
9.Tabs Extend: 擴展的標簽功能支持 gEdit的插件多用python來寫,我們可以根據自己的偏好來修改編寫,gEdit的插件網站上也有很多的插件,可以根據自己的需要酌情安裝。這些插 件都放在~/.gnome2/gedit/plugins/目錄下,如果沒有此目錄則創建一個,下載的插件可以直接放到此目錄下。
很多人可能習慣去改變編輯器的配色(代碼高亮,像定制vim或Emacs時常常做的那樣),使經常面對着電腦寫代碼的眼睛沒那么累,在gEdit的菜單 [編輯]->[首選項]->[字體和顏色] 中,只有4種配色可選,此外通過GUI並不能具體定制配色。要DIY配色的話,我們可以從網上下載載配置文件,添加配色,或自己重新寫一個。下面提供兩個 配色文件下載網站:
gEdit使用的是gtksourceview,我們將后綴為.xml的文件下載並放入
1. /usr/share/gtksourceview-2.0/styles <==== 所有用戶均可用 or 2. ~/.gnome2/gedit/styles <==== 只有你自己可用 重啟一次gedit,就可以在[編輯]->[首選項]->[字體和顏色]選擇喜歡的配色,也可以修改配色文件來DIY自己的Style.再定 義一種好看的字體,對行號,備份時間等簡單設置一下,整個編輯環境就相當個性,舒服啦。