TxtBrowser是一款Vim外掛程式,旨在提供更好的txt瀏覽體驗。主要功能有:為純文字自動組建目錄樹側邊欄(taglist視窗)、文法高亮、多項擴充功能(執行url、網路搜尋當前詞等)。TxtBrowser由國內網友ypguo開發,近期更新活躍,並且解決了taglist.vim外掛程式不能處理中文檔案路徑的問題,值得關注。
一、TxtBrowser功能展示
以下是功能簡介,更多請參見作者介紹,以及官方下載包中的 txtbrowser.cnx 檔案。
展示了分類樹功能,更多截屏參見此處。
1. 分類樹側邊欄
用Vim開啟純文字類型的檔案(.txt 或 :se ft=txt),鍵入一條命令(:Tlist)或按下對應熱鍵(可自訂,樣本如下),會組建目錄樹側邊欄(即taglist視窗)。在目錄欄點擊相應標籤,本文會相應跳轉。
目錄欄的內容既包括本文目錄,也包括圖片目錄、表格目錄,並可進一步自訂。
更新本文後,鍵入命令(:TlistUpdate)或按下對應熱鍵(可自訂,樣本如下),即可重新整理目錄欄。
:nmap <silent> <F8> <ESC>:Tlist<RETURN>
:noremap <silent> <F5> <ESC>:TlistUpdate<RETURN>
2. 文法高亮
純文字也可以“多姿多彩”!TxtBrowser可以使關鍵文字高亮顯示,反白標題、關鍵字、列舉項。可以提高效率,愉悅心情。通過 :colorscheme colorname 命令,可以嘗試不同的著色方案。
3. 其他擴充功能
* 把游標放到 URL上,執行 :TxtbrowserUrl (或 ←leader→g)開啟所在處的URL,包括網址、各種檔案(包括pdf、mp3等)、Email地址。
* 把游標放到單詞上,執行 :TxtbrowserWord (或 ←leader→f)開啟網路字典查單詞。
* 把游標放到單詞上,執行 :TxtbrowserSearch (或 ←leader→s)開啟google搜尋。
二、TxtBrowser點評及與VOOF對比1. 對TxtBrowser的評價
我認為,TxtBrowser是值得關注和支援的一款Vim擴充。推薦有需求的網友試用、使用。理由如下:
* TxtBrowser立志要成為vim txt的整合解決方案,無論對編程人員查看技術文檔,還是非編程個人記錄筆記,都十分有益。
* 作者ypguo系國內網友,誠心聽取意見、積極更新程式。
* 非常難得的是,作者從開始使用Vim到寫出這款擴充竟然不到兩年時間(via)。或許,這也反過來證明了vim的強大和作者的開發功力吧。
2. TxtBrowser幾項功能的內部比較
TxtBrowser外掛程式的最大亮點功能是目錄側邊欄。這對於查看長篇技術文檔,或自己做筆記,很有協助。
至於文法高亮和其他擴充功能,早已經在其他擴充中得以實現。使用者可以把TxtBrowser作為txt的集大成解決方案,來使用這些功能。也可以進行自訂、修改,或選用更強大的專門擴充。
3. TxtBrowser vs VOOF (更新)
a. 從目錄導航功能看,兩者差別不大,但運行環境分別需要taglist和python。
從目錄導航功能來看,TxtBrowser與VOOF(首頁、介紹)算是同類。我認為兩者的長處與短處都是相對的,大家可根據自己的需要進行選擇。
各有長短:TxtBrowser依賴ctags、taglist;VOOF依賴Python。
TxtBrowser勝出:其標題列來自.ctags檔案定義,預設是“數字打頭,後跟標題”等這樣的形式,不需額外標註。而VOOF需要手工增加{{{這樣的標識符。
速度與功能:似乎VOOF的Python更快一些(未做嚴格測試),並且VOOF可以通過目錄欄對本文段落進行前後調整、層級調整。
中文相容:如果採用官方taglist.vim,則TxtBrowser在Windows下,當檔案或路徑中含有中文空格時,目錄不能正常顯示(Linux下正常)。但是,ypguo對taglist.vim進行了修正,解決了此問題。
b. TxtBrowser附帶了文本協助工具功能,而VOOF則具備實用的節點管理功能
TxtBrowser還具備txt文法高亮、快速開啟url、搜尋、翻譯功能。但這些功能與目錄功能實際上並無直接關係,也可以拆為兩個擴充,或換用其他擴充實現。
VOOF的優勢則體現在節點管理上,VOOF的分類樹不僅可以導航,也能進行節點操作。比如,節點位置的前後移動、提高或降低層級(預設是ctrl+方向鍵),這對資料庫管理是非常實用的。
c. 結論是 TxtBrowser適用於閱讀txt;VOOF適用於管理txt資料庫
從實用選擇角度,我認為這兩款擴充面向的對象並不相同。TxtBrowser適用於閱讀txt,尤其是他人的長文本;而VOOF適用於建立和管理自己的txt資料庫,可以有很多節點,並不斷調整其結構。
三、安裝及使用筆記
重要說明:以下內容為xbeta試用當時的記錄,有些地方不適用於後續版本TxtBrowser。比如,taglist外掛程式出了修正版,.ctags檔案不再需要……
說明:編程人員對tag、ctags、taglist都很熟悉。但對於象我這樣不編程的使用者來說,因為TxtBrowser而第一次安裝、使用這些東西,還是比較複雜的。記錄如下,並提供對初學者友好地解釋。
1. 安裝ctags(http://ctags.sourceforge.net/)
ctags是一款程式(exe),用來產生tag檔案。tag檔案可以理解成索引——某個目錄項、關鍵詞……出現在哪個檔案的哪一行。
下載 Source and binary for Windows 98/NT/2000/XP,即 ctags58.zip。只需要把其中的 ctags.exe(約300KB)解壓到 windows 目錄(或其他在path的目錄)。
2. 安裝taglist(http://www.vim.org/scripts/script.php?script_id=273)
重要說明:由於官方taglist.vim對中文支援有問題,推薦修訂版本。
把外掛程式的內容複寫到 vim安裝目錄/vimfiles/中。以我為例,新增如下內容:
d:\soft\Vim\vimfiles\plugin\taglist.vim
d:\soft\Vim\vimfiles\doc\taglist.txt
3. 安裝TxtBrowser(http://www.vim.org/scripts/script.php?script_id=2899)
除了大部分內容複寫到vimfiles目錄,一定要注意 .ctags 檔案要複製到 “$Home”目錄。$home可以簡單地理解為 c:\Documents and Settings\使用者ID\。以我為例,新增如下內容:
d:\soft\Vim\vimfiles\plugin\txtbrowser.vim (組建目錄、擴充功能所用的外掛程式)
d:\soft\Vim\vimfiles\doc\txtbrowser.cnx (協助文檔)
d:\soft\Vim\vimfiles\doc\txtbrowser.txt (協助文檔)
d:\soft\Vim\vimfiles\syntax\txt.vim (文法高亮檔案)
c:\Documents and Settings\zyx\.ctags (重要:定義檔案檔案中,哪些文本產生tag)
4. 在.vimrc檔案裡加入:
syntax on
let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
au BufRead,BufNewFile *.txt setlocal ft=txt
5. 重啟vim,開啟 http://www.rfc-editor.org/rfc/rfc959.txt ,執行命令 :Tlist,應該能看到效果了。
附:文章更新歷史
2010-03-25:更新txtbrowser與VOOF的比較部分;修正一些過時說法。
2010-02-20:更新taglist中文路徑問題。
2010-02-16:初稿。
[轉載請保留] 作者:善用佳軟 出處:http://xbeta.info/vim-txtbrowser.htm