[摘要] "纯文本浏览器"是一个vim插件, 显示文本文件的树状文档结构图, 高亮文件的小
标题 , 关键字, 超级链接等内容, 就像在使用taglist浏览C代码一样.
很多人热衷于用纯文本的记录,因为不管何种严苛的条件下只要能查看文本文档就能够读
取. 想想看所有的rfc文档都是用纯文本写成的.
在某些时候希望这些纯文本的记录能够带上书签就更好了--特别是当这些文档比较长的时
候, rfc3261有200多页--能够带上目录索引就更好了。
记得 vim 的help文档么?都是纯文本文件,但是它有带书签、索引的特性跳来跳去,并
且还带少量高亮。看来仅依靠 vim 自带的这个功能就可以做到了.
本文介绍的这款插件同样也可以实现这些功能, 但我们不用vim帮助文档的格式, 因为那
需要加入额外的控制字符(通过两个"*"括起来的字符来锚定书签,通过两个"|"括起来的
字符来索引书签), 不懂Vim的人拿到你的文档看到这些奇奇怪怪的标记一定会非常奇怪,
其它文档的作者也不会因为你是Vimer而替你在文档里加入这些奇怪的记号.
如何做呢? 只需要安装"纯文本浏览插件"即可:
http://www.vim.org/scripts/script.php?script_id=2899
txt.zip : Plain Text Browser(show the document structure and highlight in
plain text)
下面简要介绍一下这个插件.
1. 简介
Plain Text Browser: 纯文本浏览插件, 执行":Tlist"后会开一个taglist窗口, 在这个
窗口里列出文章的小标题, 图列表和表列表. 用鼠标点击标签即可跳转到正文定义处, 就
像在使用 taglist浏览C代码一样. 在正文窗口里, 该插件会高亮文件的小标题 , 关键字
, 超级链接等内容,
预览:
http://guoyoooping.blog.163.com/album/edit/#m=1&aid=193892890
2. 安装
请首先安装taglist插件 (http://www.vim.org/scripts/script.php?script_id=273),
我相信玩Vim的没有几个人没有安装这个插件吧. 下载插件后解压缩后会得到三个文件:
.ctag, txt.txt和 txt.vim. 把这三个文件分别拷贝到下列目录下(请注意Windows下是
$HOME/vimfile):
$HOME/.vim/syntax/txt.vim
$HOME/.vim/doc/txt.txt(别忘了打开该文件执行"helptag ."命令)
$HOME/.ctags
在你的.vimrc文件里加入下面三行:
syntax on
let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
au BufRead,BufNewFile *.txt setlocal ft=txt
好了, 现在用Vim打开你的纯文本文件, 执行"Tlist"命令, 现在你看到了什么? 你的纯文
本将拥有漂亮的树状标签和语法高亮.
3. 进阶
Vim也不是神仙, 它是怎么知道你的文档里哪里有小标题呢? 既然是语法高亮, 纯文本文
件怎么会有语法呢? Vim会为你高亮哪些元素呢? 别急, 我们先分析一下人们写文档的习
惯, 那就让我们用rfc文档做分析吧.
rfc文档通常在第一页会有一个封面, 然后是目录, 接着就是正文, 这些我们都不关心. 我
们真正关心的是它的标题的格式. rfc文档通常的标题都是以"数字" + 符号"." + "空格"
打头, 也就是说, 以"数字"+符号"." + "空格"打头的行就是标题了. 哈, 原来这么简单!
至于语法, 人们通常对于"todo", "note", "error", "bug"这样的词汇比较关心, 不错
, 这是我们关心的关键字, 这些关键字需要高亮显示.
网址, Eamil地址在通常的浏览器里都显示为带下划线的蓝色, 好了, 我们也把它们显示
为蓝色的下划线.
引号, 括号里的内容大家也许比较关心, 我替你加上颜色.
列举事情的缩进行也许要引人关注, 我替你标出来了, 提醒你注意.
等等, 你能想到这些都可以称为语法. 如果你愿意, 你可以把日期高亮, 甚至可以把你暗
恋的女生的名字加入到关键字里, 让人一眼就能看出她与众不同...
这些只是简单的介绍, 欲了解更多关于纯文本的语法及其效果, 请在安装"纯文本浏览器"
插件后执行":help txt.txt"命令, 然后用命令":set ft=txt"模仿普通的文本文件, 观察
各种coloscheme模式下这些元素高亮的效果.
4. 美中不足
如果你是linux用户, 那么你很幸运, "文本浏览器"插件工作得很好, 如果你是Windows用
户, 如果文件名或文件的路径上有中文字符的话, 树状标签栏可能不能正确的显示. 这是
taglist的问题, 用C语言文件试验效果也是一样的, 关于这个问题, Taglist的作者
Yegappan先生(应该是先生吧^)^)是这么回答的:
I don't know how to escape the chinese characters in a filename. Do
you have any other Vim plugin that passes these filenames to the
system() function correctly?
我希望有高人能振臂一呼, 解决这个问题, 让我们中文Windows用户早点过上好日子
5. 反馈
如有任何问题或建议, 请联系guoyoooping AT 163 DOT com. 谢谢您的使用.
[参考资料]
[1] exuberant ctags, 主页: http://ctags.sourceforge.net/
[2] taglist, 主页: http://vim-taglist.sourceforge.net/ |