1
0
Fork 0
mirror of synced 2024-06-29 03:51:09 -04:00
ultimate-vim/vim_plugins_src/txtbrower-1.3.5/doc/txtbrowser.cnx

716 lines
33 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*txtbrowser* "纯文本浏览器": 浏览纯文本的插件
适用Vim版本: 6.0 and above
"Author: ypguo<guoyoooping@163.com>
"Date: 2011/08/07
"Release version: 1.3.5
1 简介~ |txt-introduction|
2 安装指南~ |txt-install|
2.1 安装插件
2.2 卸载
3 功能和使用说明 |txt-howto|
3.1 语法高亮功能 |txt-highlight|
3.2 浏览文档的标题 |txt-browser-title|
3.3 浏览文档的图列表和表列表 |txt-browser-table|
3.4 浏览文档中的URL |txt-browser-url|
3.5 在文档中查字典 |txt-browser-dict|
3.6 在文档中调用搜索引擎搜索 |txt-browser-search|
3.7 一些花哨的其它功能 |txt-extra_function|
3.8 开发中的功能 |txt-todo|
4 偏好定制 |txt-options|
4.1 标题级数 |txt-title-level|
4.2 定制自己的字典 |txt-title-level|
4.3 定制自己的搜索引擎 |txt-search-engine|
4.4 更多的定制功能 |txt-custoize-more|
4 语法元素的定义和说明 |txt-element|
5.1 文本标题 |txt-title|
5.2 文本图 |txt-figure|
5.3 文本表 |txt-table|
5.4 文本关键字 |txt-keywords|
5.5 文本超键接 |txt-url|
5.6 文本Email的关键词 |txt-email|
5.7 文本引号内文字 |txt-quotes|
5.9 文本括号内文字 |txt-bracket|
5.9 文本列举 |txt-list|
5.10 文本引用 |txt-reference|
6 常见的问题 |txt-faqs|
6.1 有关Windows下中文文件名(或其它宽字节语言)的taglist不能显示的问题
6.2 文档更新后taglist好像无法及时更新.
6.3 taglist窗口里标题被显示多次
6.4 taglist窗口标题不能正常显示:
7 问题反馈~ |txt-bug|
8 版权 |txt-license|
9 发行记录~ |txt-changelog|
==============================================================================
1. 简介~ *txt-introduction*
"纯文本浏览器"是一个vim文本浏览插件, 借助它你可以实现高效地浏览你的纯文本文件:
1) 为文本文件生成标题标签: 用Vim打开纯文本文件, 执行":Tlist"命令即可生成纯文本
文件的目录树, 点击标签就可实现跳转到正文, 就像在使用 taglist浏览C代码一样. 方
便你的浏览. 修改内容后用命令 ":TlistUpdate"即可完成刷新. 建议使用映射以提高效
率:
nmap <silent> <F8> <ESC>:Tlist<RETURN>)
noremap <silent> <F5> <ESC>:TlistUpdate<RETURN>
2) 语法高亮: 如果你经常从事文字工作, 想必认为纯文本是"黑白"的吧. "纯文本浏览"
插件为你的文档加上语法高亮, 使关键的部分有颜色, 突出显示标题, 关键字, 列举项,
我想一定会增加你的浏览效率. 语法高亮的加载是自动完成的, 也就是说你只要打开扩展
名为.txt 的文件 , "纯文本浏览插件"就会为你的文档加上语法高亮. 用":colorscheme
colorname"命令多试几种颜色方案吧, 也许你会发现原来纯文本也如此丰富多彩.
3) 浏览功能
<Leader>s: 用搜索引擎(可定制, 默认为google)搜索光标下的单词或选中的文本.
<Leader>f: 用网络字典(可定制, 默认为google.cn)对光标下的单词或选中的文本查字典.
<Leader>g: 打开光标下或选中的URL.
本插件启动后语法高亮和标题标签打开的效果图:
http://guoyoooping.blog.163.com/album/edit/#m=1&aid=193892890
本插件自己生成标题, 图, 表标签, 但是相比其它类似功能的插件, 不需要在文档里做任
何特殊标记, 兼容性强. 例如任一个rfc文档打开即可实现目录树和语法高亮. 拷贝
taglist窗口里的目录到正文里, 即可以做为正文的目录. 用于语法高亮的文本元素可以
随意定制, 真正实现个性化. 无需要修改.
本插件同时支持gvim和控制台 , 同时所有的操作系统, 当然前提是ctags能工作.
==============================================================================
2. 安装指南~ *txt-install*
2.1 安装插件
1)请首先安装taglist插件 (http://www.vim.org/scripts/script.php?script_id=273).
[注意]: 由于taglist插件对中文(其实还包括CJK, 即中, 日, 韩等其它语言)支持不太好
, 因此强烈建议中文用户(CJK)打上作者提供的patch: taglist.diff, 或者使用作者提供
的修正版的 taglist.vim. 这个下载将在taglist.vim的作者修正这些问题后将删掉.
2. 下载插件后解压缩到目录$HOME/.vim(或$HOME/vimfiles, $VIM/vimfiles)即可, 安装
完成后你的文件夹下应该有下面的几个文件(请注意目录结构):
* $HOME/.vim/syntax/txt.vim - 用于标题标签的生成.
* $HOME/.vim/syntax/txt.vim - .txt文件的语法高亮文件.
* $HOME/.vim/plugin/txtbrowser.vim - 浏览工具.
* $HOME/.vim/doc/txtbrowser.txt - 英文帮助文档.
* $HOME/.vim/doc/txtbrowser.cnx - 中文帮助文档.
安装后别忘了打开txtbrowser.txt然后执行 ":helptags ."生成标签.
3)在你的.vimrc文件里加入下面三行, 然后重启你的Vim:
syntax on
filetype plugin on
au BufRead,BufNewFile *.txt setlocal ft=txt
好了, 现在用Vim一个纯文本文件(打开本文也行), 执行":Tlist"命令, 现在你看到了什
么? 你的纯文本将拥有漂亮的树状标签和语法高亮, 详情请参考 |txt-howto|.
[注意]本插件从版本1.1.1开始, 插件名正式从"txt.zip"更改为"TxtBrowser", 在这个版
本之前的版本升级需要先卸载老版本.
[注意]本插件从版本1.2.1开始, 插件结构进行了重大调整, 方便了用户安装. 在这个版
本之前的版本升级需要先卸载掉老的.ctags文件.
[注意]"文本浏览"插件可以和别的插件同时工作, 包括别的文件插件. 以"#2208:
txtfmt"为例, 在你的.vimrc文件里加入下面两行即可(最好加在setlocal ft=txt这行之
后):
au BufRead,BufNewFile *.txt runtime ftplugin/txtfmt.vim
au BufRead,BufNewFile *.txt runtime syntax/txtfmt.vim
2.2 卸载
根据上节的目录结构, 直接到相应的目录下将其文件删除即可, 不会残留下任何东东.
==============================================================================
3. 功能和使用说明 *txt-howto*
经过第一部分的简介和第二部分安装过程的预览, 你一定对本插件有了比较感性的认识.
本章则带你更深入地了解"纯文本浏览"插件的使用, 有时候你可能需要定制更适合你的配
置.
3.1 语法高亮功能 *txt-highlight*
如果你经常从事文字工作, 想必认为纯文本是"黑白"的吧. "纯文本浏览"插件为你的文档
加上语法高亮, 使关键的部分有颜色, 突出显示标题, 关键字, 列举项, 我想一定会增加
你的浏览效率. 语法高亮的加载是自动完成的, 也就是说你只要打开扩展名为.txt的文件
, "纯文本浏览插件"就会为你的文档加上语法高亮. 用":colorscheme colorname"命令多
试几种着色方案吧, 也许你会发现原来纯文本也如此丰富多彩.
有一些文件不以.txt结尾, 但事实上也是纯文本, 我能让它也显示语法高亮吗? 答案是肯
定的, 打开文件后, 只需要执行一下下面的命令即可:
:set ft=txt
我在工作经常用到.log文件, 用这个方法能让我的log文件高亮关键字, 浏览起来挺方便
的. 当然, 对于经常使用浏览log文件的也可以在你的.vimrc里加上下面的命令, 就不用
每次都在vim里敲命令了.
au BufRead,BufNewFile *.log setlocal ft=txt
3.2 浏览文档的标题 *txt-browser-title*
如果你是一个程序员, 如果你用过taglist插件浏览源代码, 那你一定非常熟悉通过
taglist窗口定位函数. 纯文本浏览插件的使用完全一样. 插件安装 完成后, 用
Vim(Gvim)打开文档, 执行":Tlist"后会开一个taglist窗口, 在这个窗口里列出文章的小
标题, 图列表和表列表. 用鼠标点击标签即可跳转到正文定义处, 就像在使用 taglist浏
览C代码一样.
有些正式一点的文档需要一个目录, 用"纯文本浏览"插件很容易完成这件事情. 完成文档
的写作后, 打开taglist窗口, 选中目录, 拷贝过来粘贴到正文中即可.
Vim也不是神仙, 它是怎么知道你的文档里哪里是标题呢? 别急, 我们先分析一下人们写
文档的习惯, 那就让我们用rfc文档做分析吧.
rfc文档通常在第一页会有一个封面, 然后是目录, 接着就是正文, 这些我们都不关心.
我 们真正关心的是它的标题的格式. rfc文档通常的标题都是以"数字" + 符号"." + "空
格" 打头, 也就是说, 以"数字"+符号"." + "空格"打头的行就是标题了. 哈, 原来这么
简单!
因此作者建议自己在撰写文档的时候, 不仅要采用标准的内容, 最好也要采用通用的格式
标准, 不仅方便自己的浏览, 同时也便于大家的交流.
3.3 浏览文档的图列表和表列表 *txt-browser-table*
有些文档引用了大量的图和表, 有时需要快速的定位他们, "纯文本浏览"插件提供了高效
的定位的手段, 方法和上一节"浏览文档的标题"一样, 直接在taglist窗口点击相应的图
或表即可定位到正文.
3.4 浏览文档中的URL *txt-browser-url*
有时候想访问文档中的URL(如网页, Email地址, 文件等), 还需要打开一个网页浏览器,
在地址中输入地址才能查看.
"纯文本浏览"插件从1.1.1版本起提供了从文档中直接打开URL的功能. 使用方法为将光标
放到URL上, 执行命令":TGoto"即可, 也可以执行下面默认的映射:
<Leader>g
实际上这里的URL是广义的URL, 不光支持打一个http链接, 还支持file://, mailto://等
格式 , 从1.2.8版本开始, 还将支持简写的Url, 如下面的URL都可以支持:
http://guoyoooping.blog.163.com
www.vim.org
mailto:guoyoooping@sohu.com
guoyoooping@sohu.com
file:///media/data/audio/casablanca.mp3
C:\Documents and Settings\ypguo\Desktop\tmp\sample.JPG
../audio/Childhood.Memory.ape
ftp://10.208.16.10
将光标放到该URL上, 或者选中该URL, 执行<Leader>g, 即可调用系统默认播放器, 开始
播放这个文件. 实际上, 所有系统支持的文件格式, 如.jpg, .pdf文件等效果都是一样的
.
[注意]这里<Leader>是"mapleader"变量的值, 如果你没有做过设置, 这个值一般是"\",
即就是说你把光标放到URL上, 只需要敲一个"\"键, 然后再敲一下"g"键即可. 作者建议
你设置自己"mapleader"的值(如用命令let mapleader = ","设置成","键), 因为我们的
小拇指负担太重了, 设置到别的手指上有助于保护你的小拇指的健康^)^
3.5 在文档中查字典 *txt-browser-dict*
不知道你英语好不好, 有时候看英文文档的时候遇到不认识的单词怎么办? "纯文本浏览"
插件提供了一个途径, 把光标放到单词上, 或者选中要查找的单词, 执行命令 ":TFind"
或下面的映射即可打开在线词典查单词.
<Leader>f
默认的在线词典是google/dictionary, 你也可以定制你自己喜欢的词典, 请参考
|txt-dict|.
3.6 在文档中调用搜索引擎搜索 *txt-browser-search*
有时候在浏览文档的时候看见一个热门词汇? 想要调用google搜一下吗? "纯文本浏览"
插件提供了一个快捷途径, 把光标放到单词上, 或选中要查找的文本,执行命令
":TSearch"或下面的映射即可打开在线词典查单词.
<Leader>s
默认搜索引擎是www.google.com , 你也可以定制你自己喜欢的搜索引擎, 请参考
|txt-search-engine|
3.7 一些花哨的其它功能 *txt-extra_function*
将光标放到目录单词下, 或者用鼠标选中相应的文本, 点击鼠标右键, 然后选择"文本浏
览工具", 可以实现下面的功能, 比较花哨, 可能没什么用处, 还有一些没有解决的难题
(比如无法防水这些高亮), 但是没有什么害处, 所以推荐大家尝试一下:
Normal模式和插入模式下:
加粗: 将光标下的单词变成粗体
变斜: 将光标下的单词变成斜体
加红: 将光标下的单词变成红色
加绿: 将光标下的单词变成绿色
加蓝: 将光标下的单词变成蓝色
选择模式下:
加粗: 将选中的单词变成粗体
变斜: 将选中的单词变成斜体
加红: 将选中的单词变成红色
加绿: 将选中的单词变成绿色
加蓝: 将选中的单词变成蓝色
3.8 开发中的功能 *txt-todo*
其它功能, 正在开发中... 请关注最新动向. 同时欢迎给作者写信或登录作者的博客
(http://guoyoooping.blog.163.com)表达您想要的功能, 同时欢迎提供技术支持.
* 标题标签支持折叠功能(Fold), 预计会在2.0版本中支持.
* 支持中文数字打头的标题, 如: 一、这是一个标题.
* 中文表和图标签的完善.
* 考虑是否支持类似于txt2tags风格的标题表示方法.
==============================================================================
4. 偏好定制 *txt-options*
TxtBrowser提供了很多个性化的定制功能, 并且还在增加中, 你可以定制下面的东东:
4.1 标题级数 *txt-title-level*
一般的文章三级标题足够用了. 但是有时候文章比较长的时候也许你会觉得三级标题太多
了, 满眼都是标题, 找个小标题要拖很长的鼠标. 有时候又觉得三级标题不够, 没有完全
列出想要的内容, 你可以在.vimrc定制自己的标题级数(未定义为3级):
let TxtBrowser_Title_Level = 2
4.2 定制自己的字典 *txt-dict*
默认的在线词典是www.google.cn/dictionary, 你也可以定制你自己喜欢的词典, 方法为
: 打开你喜欢的词典页, 查一个单词"text", 查到单词后将地址栏里的地址复制下起, 设
为全局变量TxtBrowser_Dict_Url的值. 例如你喜欢用"www.dict.cn"查单词, 查了一个单
词 "text"后浏览器的地址为"http://dict.cn/text", 那么在你的.vimrc里加下面的一句
即可实现用"www.dict.cn"查单词:
let TxtBrowser_Dict_Url='http://dict.cn/text'
4.3 定制自己的搜索引擎 *txt-search-engine*
默认搜索引擎是www.google.com(google Chinese, 不同的国家和地区实际的引擎应该稍
有区别), 你也可以定制你自己喜欢的搜索引擎, 方法和上一节定制网络字典是一样的,
打开你喜欢的搜索引擎, 搜一个单词"text", 搜索结束后获得该网页的url, 设为全局变
量Txtbrowser_Search_Engine的值. 例如你喜欢用"www.baidu.com"搜索, 查了一个单词
"text"后浏览器的地址为"http://www.baidu.com/s?wd=text&oq=text&f=3&rsp=2", 那么
在你的.vimrc里加下面的一句即可实现用"www.baidu.com"搜索:
let Txtbrowser_Search_Engine='http://www.baidu.com/s?wd=text&oq=text&f=3&rsp=2'
4.4 更多的定制功能 *txt-custoize-more*
很多其它的东东都可以定制, 如标题的格式, 自定义自己的关键字, 等. 我现在主要忙于
TxtBrowser的稳定工作, 等有时间我会提供更多的定制选项. 同时也希望给我写信, 推荐
您想要的定制功能. 近期可能实现的功能包括:
* 在.vimrc里定制自己的标题格式.
* 在.vimrc里定制自己需要高亮的文本, 以及高亮的颜色方案.
==============================================================================
5. 关键元素的定义 *txt-element*
------------------------------------------------------------------------------
5.1 文本标题 *txt-title*
标题的格式:
通过编号来标定标题, 如: 11.11.1.1, 注意标题应该顶格写, 数字和标题名之间最
好留有空格. 通过数字的层数多少来设定层次, 如下面分别是三级标题的例子:
1000001. 标题1
~顶格写,~~~~~这里留一个空格
本段文字是一级标题的内容. 注意数字顶格写, 数字和后面标题名留一个空格.
1000001.1 标题1.1
本段文字是二级标题的内容.
1000001.1.1 标题1.1.1
本段文字是三级标题的内容.
标签窗口最多只支持四级标题, 默认支持3级标题, 而语法高亮没有这个限制. 下面是标
签窗口关于三级标题的定义:
--regex-txt=/^([0-9]+\.?[ \t]+)([^,]+$)/\1\2/c,content/
--regex-txt=/^(([0-9]+\.){1}([0-9]+\.?)[ \t]+)([^,]+$)/. \1\4/c,content/
--regex-txt=/^(([0-9]+\.){2}([0-9]+\.?)[ \t]+)([^,]+$)/. \1\4/c,content/
下面是语法页关于标题的定义. 注意这里用到的是Vim的正则表达式(和普通的正则表达式
稍有不同, 请参考":help regex").
syn match txtTitle "^\(\d\+\.\)\+\s*[^,。,]\+$"
syn match txtTitle "^\([一二三四五六七八九十][、.]\)\+\s*[^,。,]\+$"
syn match txtTitle "^\d\s\+.\+\s*[^,。,]$"
标题元素将同时用于列出文档结构和语法高亮.
------------------------------------------------------------------------------
5.2 文本图 *txt-figure*
以空格打头, 后跟关键字"figure"的行定义为"文本图". 如下段文字中, 包含 "Figure 1:
Example Message Flow"的那一行(注意该行是以空格打头的)是一个文本图. 该行将被列在
taglist窗口中.
文本图的定义在文件".ctags"里, 具体如下, 你可以根据你的需要重新定义.
--regex-txt=/^[ \t]+(figure[ \t]+[0-9a-zA-Z]+([.: ]([ \t]*.+)?)?$)/\1/f,figures/i
--regex-txt=/^[ \t]*(图[ \t]*[0-9a-zA-Z]+[.: ][ \t]*.+$)/\1/f,figures/i
| F1 MESSAGE | |
|--------------------> | F2 MESSAGE |
| | ----------------------->|
| | F3 200 OK |
| | <-----------------------|
| F4 200 OK | |
|<-------------------- | |
| | |
User 1 Proxy User 2
Figure 1: Example Message Flow
本元素的定义主要用于列出文件的结构图.
------------------------------------------------------------------------------
5.3 文本表 *txt-table*
以空格打头, 后跟关键字"table"的行定义为"文本表". 如下段文字中, 包含 "Table 1:
Summary of header fields, A--O"的那一行(注意该行是以空格打头的)是一个文本图. 该
行将被列在 taglist窗口中.
文本表的定义在文件".ctags"里, 具体如下, 你可以根据你的需要重新定义.
--regex-txt=/^[ \t]+(table[ \t]+[0-9a-zA-Z]+([.: ]([ \t]*.+)?)?$)/\1/t,tables/i
--regex-txt=/^[ \t]*(表[ \t]*[0-9a-zA-Z]+[.: ][ \t]*.+$)/\1/t,tables/i
Header Field where proxy MESSAGE
__________________________________________
Accept R -
Content-Encoding o
Max-Forwards R amr m
Organization ar o
Table 1: Summary of header fields, A--O
本元素的定义主要用于列出文件的结构图.
------------------------------------------------------------------------------
5.4 文本关键词 *txt-keywords*
下面的关键字定义为"文本关键字", 其定义在"txt.vim"文件中. 它们在文本中将根据重要
程度显示为不同的颜色(和你正在使用的coloscheme有关). 你也可以将你关心的关键字加
入其中.
syn keyword txtTodo todo fixme note debug comment notice
syn keyword txtError error bug caution dropped
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.5 文本超键接 *txt-url*
文本中的超级键接定义为"文本超级键接", 主要包括网址, Email地址, ftp地址等, 请参
考rfc1738(Uniform Resource Locators (URL))和rfc3986(Uniform Resource Identifier
(URI)获得超级链接更多的详情, 网页上的超级链接一般显示为带下划线的蓝色, 因为我们
也将尽量将其显示为带下划线的蓝色(具体表现根据你的coloscheme会稍有不同), 下面是
例子:
guoyoooping@163.com
http://guoyoooping.blog.163.com/blog
ftp://192.168.1.5/ftpboot/username/example.txt
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.6 文本Email关键字 *txt-email*
Email中的关键字定义如下, 例子如下:
syn match txtEmailMsg '^\s*\(From\|De\|Sent\|To\|Para\|Date\|Data\|Assunto\|Subject\):.*'
syn match txtEmailQuote '^\(>\($\| \)\)\+'
From: San Zhang(R&D Center Beijing)
Sent: 2008年11月27日 13:17
To: Si Li, Wu Wang, Liu Chen
Subject: RE: 你们都不踢球?
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.7 文本引号内文字 *txt-quotes*
大多数情况下, 人们用引号把文字括起来以引起注意, 因此我们定义在引号内的文字为"文
本引号内文字", 并为其添加语法高亮, 目的是为了引起人们的注意. 下面是定义和例子:
syn match txtQuotes '["“][^"”]\+\(\n\)\=[^"”]*["”]'hs=s+1,he=e-1
例子:
"good example"
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.8 文本括号内文字 *txt-bracket*
多数情况下, 人们需要关注用括号内的文字, 因此我们定义在括号内的文字为"文本括号内
文字", 并为其添加语法高亮, 目的是为了引起人们的注意. 这里的括号包括圆括号, 尖括
号, 中括号和大括号, 下面是定义和例子:
syn match txtParentesis "[(][^)]\+\(\n\)\=[^)]*[)]" contains=txtUrl
syn match txtBrackets '<[^<]\+\(\n\)\=[^<]*>'hs=s+1,he=e-1 contains=txtUrl
syn match txtBrackets '\[[^\[]\+\(\n\)\=[^\[]*\]'hs=s+1,he=e-1 contains=txtUrl
例子:
(good example)
<good example>
[good example]
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.9 文本列举 *txt-list*
有时人们在列举一组相似的事情时, 喜欢在这些列举的一行前冠以"*", "-"等符号, 我们
定义以这些符号打头的行(有些符合如"5."需要前面有空格)为"文本列举". 下面是定义和
例子:
syn match txtList '^\s*[-+*.] [^ ]'me=e-1
syn match txtList '^\s*(\=\([0-9]\+\|[a-zA-Z]\))'
syn match txtList "^\s\+\d\+\.\d\@!"
例子:
- item1: this is the first item.
+ item1: this is the first item.
* item1: this is the first item.
. item2: this is the second item.
3)item3: this is the third item.
a)item3: this is the third item.
5.item3: this is the third item.
本元素的定义主要用于语法高亮.
------------------------------------------------------------------------------
5.10 文本引用 *txt-reference*
有时需要引用其它人的描述或在回复邮件时需要引用原文, 这时可以高亮引用的部分.
以特殊符号">"(or "|", ":")打开的部分被定义为引用, 这些符合是回复Email, 回复
BBS常用的符号. 为了不致影响阅读原文, 语法高亮只高亮这些标识引用的符号, 正文不
会被高亮, 就像用Email回邮件那样. 文本引用的定义如下, 你可以自由定制:
syn match txtReference '^[|>:]\(\s*[|>:]\)*'
这是一个来自vim的一封邮件的例子(为了简短, 删掉了一些文字):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Frank Shute wrote:
> On Wed, Aug 19, 2009 at 01:59:05AM -0400, Glen Barber wrote:
>> On Wed, Aug 19, 2009 at 12:43 AM, Steve Bertrand<steve at ibctech.ca> wrote:
>>> Apologies up front for the off-topic'dness.
>>>
>>> I'm thoroughly enjoying my new editor, and swiftly learning and
>>> experiencing the benefits. As a matter of fact, ...
>>>
>> Hi, Steve
>>
>> Google has a Vim group. I'm not sure if you need a Google account or not.
>>
>> And, of course, there's this one: http://www.vim.org/maillist.php
>
> I'm a member of that list which is a straightforward mailing list
> AFAIK (Disclaimer: I do have a google account but I can't remember if
> that was necessary to sign up).
Thanks all,
I'll check out how to configure my mailer with Google Groups for this list.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本方法元素主要用于语法高亮.
==============================================================================
6. 常见的问题~ *txt-faqs*
6.1 有关Windows下中文文件名(或其它宽字节语言)的taglist不能显示的问题
问题1: Windows操作系统下如果路径或文件名里有中文(或其它文字)字符, taglist不能
正常显示
答: 这是taglist的问题, taglist现在的版本没有考虑不同编码的字符的转换问题, 所有
的问题基本上只要打上下面的patch都可以解决: 如果你不熟悉diff文件和patch命令, 也
可以直接到这里下载修正过的taglist.vim(基于 taglist.vim v4.5), 修正了这个问题,
TxtBrowser安装后不再需要手动转换编码格式:
http://att.newsmth.net/att.php?p.731.55149.1226.vim
taglist.diff(patch命令的使用方法: patch taglist.vim taglist.diff)
|Index: taglist.vim
|===================================================================
|RCS file: /cygdrive/d/cvsroot/docu/script/vim/taglist/taglist.vim,v
|retrieving revision 1.1.1.1
|diff -u -p -r1.1.1.1 taglist.vim
|--- taglist.vim 13 Mar 2009 04:16:54 -0000 1.1.1.1
|+++ taglist.vim 24 Mar 2010 14:27:57 -0000
|@@ -103,6 +103,9 @@ if !exists('loaded_taglist')
| endif
| endif
|
|+ " Taglist doesn't work with multibyte language because of encoding
|+ " issue. ypguo fix it and mark it. The fix start with ypguo
|+ let Tlist_Enc_Patch = 1
|
| " Automatically open the taglist window on Vim startup
| if !exists('Tlist_Auto_Open')
|@@ -2177,6 +2180,13 @@ function! s:Tlist_Parse_Tagline(tag_line
| " Extract the tag name
| let tag_name = strpart(a:tag_line, 0, stridx(a:tag_line, "\t"))
|
|+ " ypguo add: The tag_name is parsed from the original buf and encoded with
|+ " origional buffer's &fenc, so convert it to new buffer's &enc if they are
|+ " different.
|+ if (&enc != getbufvar("#", "&fenc"))
|+ let tag_name = iconv(tag_name, getbufvar("#", "&fenc"), &enc)
|+ endif
|+
| " Extract the tag scope/prototype
| if g:Tlist_Display_Prototype
| let ttxt = ' ' . s:Tlist_Get_Tag_Prototype(s:fidx, s:tidx)
|@@ -2264,8 +2274,9 @@ function! s:Tlist_Process_File(filename,
| set noshellslash
| endif
|
|- if has('win32') && !has('win32unix') && !has('win95')
|- \ && (&shell =~ 'cmd.exe')
|+ "ypguo disable it: Windows doesn't work well with Chinese in batch file, I
|+ "didn't see the problem described in the following.
|+ if 0
| " Windows does not correctly deal with commands that have more than 1
| " set of double quotes. It will strip them all resulting in:
| " 'C:\Program' is not recognized as an internal or external command
|@@ -2285,6 +2296,20 @@ function! s:Tlist_Process_File(filename,
|
| call s:Tlist_Log_Msg('Cmd: ' . ctags_cmd)
|
|+ "ypguo add: win32 cmd(shell) need 'cpxxx' characters, so convert it before
|+ "pass the parameters, if chcp doesn't work, please set it maually.
|+ if executable("chcp")
|+ let code_page = 'cp' . matchstr(system("chcp"), "\\d\\+")
|+ call s:Tlist_Log_Msg('code_page: ' . code_page)
|+ else
|+ " If chcp doesn't work, set its value manually here.
|+ let code_page = 'cp936'
|+ endif
|+
|+ if has('win32') && !has('win32unix') && (&enc != code_page)
|+ let ctags_cmd = iconv(ctags_cmd, &enc, code_page)
|+ endif
|+
| " Run ctags and get the tag list
| let cmd_output = system(ctags_cmd)
|
|@@ -3338,6 +3363,12 @@ function! s:Tlist_Window_Jump_To_Tag(win
| if tidx != 0
| let tagpat = s:Tlist_Get_Tag_SearchPat(fidx, tidx)
|
|+ " ypguo add: The tagpat will be passed to get the location. make sure
|+ " is the same encoding as the origional buffer's &fenc
|+ if (&enc != getbufvar("#", "&fenc"))
|+ let tagpat = iconv(tagpat, getbufvar("#", "&fenc"), &enc)
|+ endif
|+
| " Highlight the tagline
| call s:Tlist_Window_Highlight_Line()
| else
6.2 文档更新后taglist好像无法及时更新.
问: 文档更新后,taglist好像无法及时更新.
答: 文件保存后执行"TlistUpdate"即可, 你也可以把这个命令映射成快捷键加到你的
_vimrc里
nmap <silent> <F5> <ESC>:TlistUpdate<RETURN>
6.3 taglist窗口里标题被显示多次
问: 不知道为什么现在的我文档全部显示了重复的目录,我是指在左边栏会显示如下:
1. xxxxxxxx
1. xxxxxxxx
2. cccccccc
2. cccccccc
...
...
就是说都是重复的不知道为什么会这样估计是taglist的问题盼解答并期待新版
本。
答: 出现这种情况的原因应该是你的$HOME目录还有一份.ctags文件, 你把它删除了应该就OK
了. 由于早期的TxtBrowser使用配置文件定义标签, 新版则采用定义变量的方式定义标签
, 两种方法都是有效的, 所以使用新的版本而保留老的.ctags文件的话, 标签可能会显示
2次.
6.4 taglist窗口标题不能正常显示:
问: 打开taglist窗口后标题不能被正常示, 如下图所示:
txtbrowser_cnx.txt (D:\release\1.1.6\doc)
content
. 1000001.1.1 标题1.1.1
. 1000001.1 标题1.1
. 2.1 安装插件
. 2.2 卸载
. 2.3 可能会遇到的问题
. 2.4 安装可选项
. 3.1 语法高亮功能
答: 问题的原因不是标题没有被正常显示, 而是显示的顺序不对, 在taglist窗口执行
"s"命令即可正常显示. 错误的原因是你一定在你的.vimrc里配置了tag的显示顺序(如下
所示), 所以标题被重新排序了.
let Tlist_Sort_Type = "name"
解决的办法是删除这个配置或者将上面的配置修改成:
au BufRead,BufNewFile *.txt let Tlist_Sort_Type = "order"
==============================================================================
7. 问题反馈~ *txt-bug*
我尽量在发布时多做测试, 争取尽量减少bug, 但是如果你发现了bug, 非常欢迎直接向我
报告. 做为开源软件, 用户反馈是软件成熟的重要途径, 所以非常感谢您的支持. bug反
馈可用下面的任意途径:
我的Email: mailto://guoyoooping@163.com
ping的博客: http://guoyoooping.blog.163.com
我经常去的论坛: 水木vim版
==============================================================================
8. 版权~ *txt-license*
GPL
==============================================================================
9. 发行记录~ *txt-changelog*
本人写插件经验不是很丰富, 所以更新频繁, 下面仅列举重要更新.
2009-12-26 1.0
1)第一版发表
2010-01-23 1.1
1)增加了帮助文档
2)去掉了插件中个人的配置
2010-03-06 1.2
1)插件名正式从"txt.zip"改成"TxtBrowser"
2)增加从文本文件中直接打开URL的功能
3)修正了中文标题不能显示的bug.
==============================================================================
vim:tw=78:ts=8:noet:ft=txt: