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.txt3. 安装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=txt5. 重启vim,打开 http://www.rfc-editor.org/rfc/rfc959.txt ,执行命令 :Tlist,应该能看到效果了。
附:文章更新历史
2010-03-25:更新txtbrowser与VOOF的比较部分;修正一些过时说法。
2010-02-20:更新taglist中文路径问题。
2010-02-16:初稿。
《 “TxtBrowser: 在Vim中高效处理纯文本(更新)” 》 有 33 条评论
我执行下面这一步后:
4. 在.vimrc文件里加入:
syntax on
let tlist_txt_settings = ‘txt;c:content;f:figures;t:tables’
au BufRead,BufNewFile *.txt setlocal ft=txt
提示:‘txt;c:content;f:figures;t:tables’是无效的表达式
是文中误用了中文单引号,改为英文就好了。
多谢提醒。此错误是wordpress自做聪明修改的,现已通过实体字符绕过这一bug。
@善用佳软, 我一直在用codecolorer这个插件,觉得如果帖代码的话用这个插件比较好,推荐使用
我的目录框出现在右边
请问怎么让它出现在左边啊
已解决目录框的问题
目录框是ctag的目录框
let Tlist_Use_Right_Window = 0
为什么打开rfc959.txt的时候回出现错误,错误提示如下
http://photo2.bababian.com/upload1/20100222/F5143833D79297F31CF46AEED9425283_800.jpg
你好, 这个问题已经解决(版本1.2.3), 安装后只需要为taglist.vim的bug(:help txt-faq, 7.1节)打上fix(打一次就够了, 升级时不需要再打), 不需要再手动转换编码格式, 也不需要再移动.ctags文件了. 从此以后, 和encoding相关的问题应该不会再有了^)^
也不再要求fenc=enc了, 只要你的vim能显示中文, 应该就好使了^)^
你好, 参考:
http://www.newsmth.net/bbscon.php?bid=731&id=54481
谢谢,但是使用
set encoding=utf8
set filencoding=cp936
打开txt文档不报错了。以后打开gvim界面菜单栏却乱码。而且:Tlist 命令也不再好用了
这个不是设在.vimrc文件里, 而是在你工作的文档里执行”:set fenc=cp936″, 然后保存退
出. 关于.vimrc里的设置每人有自己的偏好, 但你可以参考一下我的配置: “vim学习笔记
11, 晒晒我的.vimrc”. 总的来说你先保证你的vim可以正常工作, 再把安装后的文件用这
个命令转换一下fenc再保存就可以了.
这样说起来还是挺拗口的, 也挺麻烦的, 我正在研究这个问题, 估计下一版本出来的时候
你就可以不关心中文编码的设置问题了, 直接安装就可以用了, 当然前提是你的Vim能正确
显示中文, 呵呵.
新版本(1.1.8)已出, 安装,打上taglist的patch,就可以使用, 不必再要求enc=fenc。还有个小bug, 就是txt.vim文件在打开fenc=cp936的文件时会报错(但不影响功能.), 把这个文件(txt.vim)的fenc设成cp936保存就没有问题了. 问题正在研究中, 解决请关注后续版本.
我是一个刚刚接触gvim的新手,但是我很想用这个插件来帮助我做读书笔记。我安装的是1.1.8版本,但是还是碰到了和fanuq同样的问题。按照http://www.vim.org/scripts/script.php?script_id=2899的指示,但是提示我没有:help txt-faqs的说明…我应该如果打patch?
Hi:
安装插件后, 需要打开txtbrowser.txt文件, 然后执行”:helptag .”才能生成帮助标签,
然后你才能使用”:help txt-faqs”查看帮助文档, 其它插件的帮助文档也是一样的.
首先你先确保安装这个插件之前gvim一切都正常^_^ 然后参考下面的配置试试
“设置编码格式, 在windows和cygwin下必须用cp936编码, 在其它操作系统下, 用utf-8.
if (has(“win32”) || has(“win32unix”))
set encoding=cp936″utf8
else
set encoding=utf8
endif
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
如果还不行, 我就猜不出原因了. 如果您不怕麻烦, 可以将你的.vimrc, 乱码的快照发
mail给我, 希望我能帮上忙!
我这里依然有问题….我在哪里可以找到你的邮箱?
你好: guoyoooping@163.com
我从vim.org下载的txtbrowser.zip为什么没有.ctags文件
(xbeta注:最新版本已经不再需要此文件,本文有待更新。)
俺是来等 TC 更新说明文章的,先占个座。
更新了好多功能,期待
Total Commander 7.55 public beta 1发布了
我的显示这个(三行):
“Taglist:Failed to generate tags for D:Program filesVimTextrfc959.txt
ctags: Uuknown language “txt” in “language-force” option^@
请按 ENTER 或其他命令继续”
就上面这些,最后左边目录这一栏只有一个文件路径。
这是什么问题?求助
试试最新版本吧, 貌似这是一个已知bug. 或者打上taglist.vim的修正patch应该就可以吧.
再补充一个弱一点的问题:TxtBrowser 和 VOOF 是不是可以并存(见笑,第一次安插件)。
(xbeta注:当然可以。我就是装了两个)
理论上是可以的吧, 不知道有人试过没有
很好,问题已解决,不是bug,是txtbrowser拷错了,多建了一个plugin文件夹,是直接从用TC在压缩包里拷出的,所以错了。
郭老大辛苦了,更新挺快的,txtbrowser-1.2.5已装。
小提示:
在 ubuntu 下,txtbrowser 调用 taglist 时报 ctags 参数错。这是因为 ubuntu 安装 emacs 包中有 GNU ctags,而 taglist 不支持 GNU ctags。
要安装 Exuberant ctags,不能用默认的 GNU ctags。
在新立得中可以找到 Exuberant ctags。
“.ctags”文件在哪里呢?
这个不错。
[…] TxtBrowser: 在Vim中高效处理纯文本(更新) […]
新版本的命令已经改了,不再是:TxtbrowserSearch 之类的,改成了:TSearch这样的短写,善用佳软还是改下吧,以防不知道的没办法用。
Vim 非常不错。linux的文本编辑非常好
[…] TxtBrowser: 在 Vim 中高效处理纯文本 […]