Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

TxtBrowser: 在Vim中高效处理纯文本

Posted on 2010-05-07 15:46  analyzer  阅读(985)  评论(1编辑  收藏  举报

TxtBrowser是一款Vim插件,旨在提供更好的txt浏览体验。主要功能有:为纯文本自动生成目录树侧边栏(taglist窗口)、语法高亮、多项扩展功能(执行url、网络搜索当前词等)。TxtBrowser由国内网友ypguo开发,近期更新活跃,并且解决了taglist.vim插件不能处理中文文件路径的问题,值得关注。
TxtBrowser: 在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 

我要啦免费统计