2006-12-01

[二]再談 gedit 的 plugin -> external tools plugins

在 " [一]談談 gedit 的 plugin "這篇文章中介紹了一些有關 gedit 的 plugins 概念,接下來要說一下 plugins 中的 External Tools Plugin 這個東東。

Plugin 通常是用 python 用 c 寫的一些加強 gedit 的程式,而 External Tools Plugin 這個 plugin 也是一個 plugin,不過是用來執行一些簡單的外部程式,來加強 gedit 的功能。

如我們可利用一些 script 程式,像 shell、php-cli、python,甚至是一些存在的指令,像是 sed .. 等來達到這個目的。

要使用這個好用的東東,當然要先記得啟動它,選擇 Menu -> Edit -> Preferences,再選擇 Plugins 這個 tag(如圖),記得將 External Tools 這個 plugin 打勾,這樣在你的 menu -> Tools 中就有 External Tools ... 這個項目了。



我們可點選這個項目進入其功能內,看看裏面有什麼好用的東東(如圖)。



你的項目和我的不一樣,因為我將其中的 Grep 改成 egrep,個人感覺,grep 沒有 egrep 來的好用,同時基於以下幾個原因:

1. 內附的查詢功能(用 ctrl-f來查時)無法用正規表示法,有時會找到太多資料
2. 只處理目前的檔案
3. 顯示出行號,且忽略大小寫

會有如此想法是個人覺得比較方便,這在寫程式或是 debug 時很方便,以下就是我將 grep 改成 egrep 的內容(如圖)。



以下是一些設定上的簡單說明:

1. Description

這些 external tools 都會放在 tools 這個功能表下,當我們移動滑鼠時,在狀態列顯示的說明(如下圖):



2. Accelerator

按鍵,可為一或多個組合鍵,如我改 egrep 時使用 ctrl-shift-f3 這個組合鍵,當進入到這個欄位時,按下你所想要的組合鍵即可

3. Commands

所要執行的外部指令,像是 sed、egrep..等等及參數

4. Input

這個項目較難懂,一般我們不必設,因為通常我們都是由上項的 command 來處理目前的檔案,除非你要將目前的檔案成為標準的 stdin 輸入,如我們使用 sed 來處理時,或是只處理選取的範圍。

5. Output

將結果輸出到那裏,是直接輸出到一個新的檔案、取代目前的檔案,還是由 bottom panel 來顯示就好,如 egrep 是將輸出由 bottom panel 來顯示。

6. Applicability

適用範圍,包含 local、remote、untitled file,通常我們選 Local files only 即可。

說明一下我所改的 egrep 中的 commands:

分為三個部份(請寫成一行):

1. egrep -i -n 這是使用 egrep 來做 filter 的工作,-i 表示忽略大小寫,-n 表示顯示行號
2. `zenity --entry --text="Text to search"` 這是調用 zenity 這個 gui 程式來顯示要查詢的一個簡單視窗,可用 zenity --help 來查詢其用法
3. $GEDIT_CURRENT_DOCUMENT_NAME 這是 gedit 的一個變數,表示處理目前這個檔案

以下這張圖是使用所改的 egrep 來查我所修改的倉頡輸入資料,如用內定的查詢方式,那真的會有些累。



-- 結語 --

個人覺得這個 external tools plugins 功能滿不錯的,如果你會用 script 語言來寫一些小程式,我想利用這個功能可大大的增強你的 gedit 效能。

篇幅有限,其它的一些 external plugins 不妨自行試試。

沒有留言 :

張貼留言