Exuberant ctags, taglist的问题
安装了ctags 5.8, taglist, 但输入:Tlist的时候,左边目录窗口就职出来一个文件名,没有你们说的大纲目录,怎么回视?
TxtBrowse也是这样。
晕
taglist.vim是老外写的, 所以对不文的支持不太好. 在Windows下, 如果文件名或路径名
上有中文, :Tlist命令生成的窗口里不不会有大纲目录了. 请参考":help
txtbrowser"6.2节, 使用修改过的taglist.vim.
ctags5.8需要安装在$PATH目录下, 既然打开:Tlist的时候没有报错, 应该安装没有问题了
. Windows下我一般习惯放在和gvim.exe同一目录下.
安装后在Windows下打开.txt文件时提示错误的问题(如果是Windows下, vim使用
enc=cp936编码时会发生), 已经有了fix, 今晚加加班, 争取明天发个新的Release出来^)^
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: 是下载最新的版本
: 看大家讨论TxtBrowse这么好,就下载下来试试,结果在左边目录窗口,没有大纲显示
谢谢回复
我是在linux系统下,使用英文,没有中文问题。不能正确出现大纲。
:Tlist能出来左边窗口,不出错。
" Press <F1> to display hel| 1 *txtbrowser* Plugin for browsing plain text
| 2
- txtbrowser.txt (/Users/jhua| 3 For Vim version 6.0 and above
| 4 "Author: ypguo<guoyoooping@163.com>
~ | 5 "Date: 2010/03/13
~ | 6 "Release version: 1.2.2
~ | 7
~ | 8 1 Overview |txt-introduction|
~ | 9 2 Installation |txt-install|
~ | 10 3 features and howto use
~ | 11 3.1 syntax hightlight |txt-highlight|
~ | 12 3.2 Browser the title |txt-browser-title|
~ | 13 3.3 Browser the tables and figures |txt-browser-table|
~ | 14 3.4 Browser the URL in the files |txt-browser-url|
~ | 15 3.5 Lookup the dictionary |txt-browser-dict|
~ | 16 3.6 Search Word in the internet |txt-browser-search|
~ | 17 3.6 Other features |txt-browser-others|
~ | 18 4 Element Definition |txt-element|
~ | 19 4.1 Text title |txt-title|
~ | 20 4.2 Text figure |txt-figure|
~ | 21 4.3 Text table |txt-table|
<_List__ [-]1,1 All .vim/doc/txtbrowser.txt 1,1 Top
【 在 gyping (水瓶) 的大作中提到: 】
: taglist.vim是老外写的, 所以对不文的支持不太好. 在Windows下, 如果文件名或路径名
: 上有中文, :Tlist命令生成的窗口里不不会有大纲目录了. 请参考":help
: txtbrowser"6.2节, 使用修改过的taglist.vim.
: ...................
" Press <F1> to display hel| 1 *txtbrowser* Plugin for browsing plain text
| 2
- txtbrowser.txt (/Users/jhua| 3 For Vim version 6.0 and above
| 4 "Author: ypguo<guoyoooping@163.com>
~ | 5 "Date: 2010/03/13
~ | 6 "Release version: 1.2.2
~ | 7
~ | 8 1 Overview |txt-introduction|
~ | 9 2 Installation |txt-install|
~ | 10 3 features and howto use
~ | 11 3.1 syntax hightlight |txt-highlight|
~ | 12 3.2 Browser the title |txt-browser-title|
~ | 13 3.3 Browser the tables and figures |txt-browser-table|
~ | 14 3.4 Browser the URL in the files |txt-browser-url|
~ | 15 3.5 Lookup the dictionary |txt-browser-dict|
~ | 16 3.6 Search Word in the internet |txt-browser-search|
~ | 17 3.6 Other features |txt-browser-others|
~ | 18 4 Element Definition |txt-element|
~ | 19 4.1 Text title |txt-title|
~ | 20 4.2 Text figure |txt-figure|
~ | 21 4.3 Text table |txt-table|
<_List__ [-]1,1 All .vim/doc/txtbrowser.txt 1,1 Top
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: 谢谢回复
: 我是在linux系统下,使用英文,没有中文问题。不能正确出现大纲。
: :Tlist能出来左边窗口,不出错。
汗, 看来还是很不少的bug的, 呵呵
1)执行一下:set ft=txt, 然后刷新一次(:TlistUpdate)试试, 因为用:help txtbrowser打开
的.txt文档, 默认ft=help. 文档必须ft=txt时才能生成大纲.
2)如果不行, 在命令行执行一下whereis ctags, 看ctags(注意是您刚安装的那个ctags,
unix下自带的ctags貌似有点问题, Linux下的没有试过)有没有安装在$PATH路径下.
3)如果还不行, 请检查一下插件是不是安装在$HOME/.vim/目录下, 或$VIM/vimfile目录下
, 检查.vimrc里有没有配置下面的几行:
syntax on
filetype plugin on
au BufRead,BufNewFile *.txt setlocal ft=txt
4)还不行检查一下你安装的文件, 确定你正在使用的用户有读权限.
5)如果还不行, 在打开的.txt文件里执行一下:echo tlist_txt_settings, 看是什么结果.
6)如果还不行, 在打开的.txt文件里执行一下:echo Tlist_Ctags_Cmd, 看是什么结果.
7)弱问一下, 语法高亮能显示吗?
到这一步如果还不行, 就...呵呵, 谢谢
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: " Press <F1> to display hel| 1 *txtbrowser* Plugin for browsing plain text
: | 2
: - txtbrowser.txt (/Users/jhua| 3 For Vim version 6.0 and above
: ...................
Taglist: Failed to generate tags for /Users/jhuang/.vim/doc/txtbrowser.txt
ctags: Unknown language "txt" in "language-force" option
ctags
usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
~$ctags -R
ctags: illegal option -- R
usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
【 在 gyping (水瓶) 的大作中提到: 】
: 汗, 看来还是很不少的bug的, 呵呵
: 1)执行一下:set ft=txt, 然后刷新一次(:TlistUpdate)试试, 因为用:help txtbrowser打开
: 的.txt文档, 默认ft=help. 文档必须ft=txt时才能生成大纲.
: ...................
2)如果不行, 在命令行执行一下whereis ctags, 看ctags(注意是您刚安装的那个ctags,
unix下自带的ctags貌似有点问题, Linux下的没有试过)有没有安装在$PATH路径下.
ctags装载$path下,但不能使用ctags -R
3)如果还不行, 请检查一下插件是不是安装在$HOME/.vim/目录下, 或$VIM/vimfile目录下
, 检查.vimrc里有没有配置下面的几行:
syntax on
filetype plugin on
au BufRead,BufNewFile *.txt setlocal ft=txt
有这几行
4)还不行检查一下你安装的文件, 确定你正在使用的用户有读权限.
yes
5)如果还不行, 在打开的.txt文件里执行一下:echo tlist_txt_settings, 看是什么结果.
txt;c:content;f:figures;t:tables
6)如果还不行, 在打开的.txt文件里执行一下:echo Tlist_Ctags_Cmd, 看是什么结果.
/usr/bin/ctags --langdef=txt --langmap=txt:.txt --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/" --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" --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,ta
bles/i"
7)弱问一下, 语法高亮能显示吗?
能
【 在 gyping (水瓶) 的大作中提到: 】
: 汗, 看来还是很不少的bug的, 呵呵
: 1)执行一下:set ft=txt, 然后刷新一次(:TlistUpdate)试试, 因为用:help txtbrowser打开
: 的.txt文档, 默认ft=help. 文档必须ft=txt时才能生成大纲.
: ...................
:基本可以定位, ctags没有装好. 正常情况下ctags -R是可以用的. 麻烦试一下下面的三
个命令给一个结果:
ctags --version
/usr/bin/ctags --version
whereis ctags
Ctags需要安装才行, 系统默认tags是extags,不支持递归调用, 但是按说你已经安装了
ctags5.8, 所以请您检查一下ctags5.8调用路径在系统ctags调用之前. 所以我需要知道你
的ctags5.8的安装路径, 系统ctags的安装路径(这个我已经知道, 是/usr/bin). 所以现在
的问题是让ctags能正常工作, 问题也就能解决了.
呵呵^)^
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: 2)如果不行, 在命令行执行一下whereis ctags, 看ctags(注意是您刚安装的那个ctags,
: unix下自带的ctags貌似有点问题, Linux下的没有试过)有没有安装在$PATH路径下.
: ctags装载$path下,但不能使用ctags -R
: ...................
是的,我把ctags编译了一下cp到/usr/bin下去了,覆盖了以前的。现在ctags -R可以用,c语言文件可以看到目录了,但txt的不行。
~$ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Mar 19 2010, 19:08:24
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
~$/usr/bin/ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Mar 19 2010, 19:08:24
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
~$whereis ctags
/usr/bin/ctags
【 在 gyping (水瓶) 的大作中提到: 】
: :基本可以定位, ctags没有装好. 正常情况下ctags -R是可以用的. 麻烦试一下下面的三
: 个命令给一个结果:
: ctags --version
: ...................
ctags -R怎么突然又好使了? 建立一个测试文件, 如test.txt, 内容随便, 像下面的样子.
1. test1
2. 这是一个测试
Title test
==========
ttt test
--------
完了在shell里执行下面的命令(注意跟test.txt在同一目录, 或者指定test.txt的绝对路径, 中间没
有换行符), 看有输出吗?
/usr/bin/ctags --langdef=txt --langmap=txt:.txt --regex-txt="/^([0-9]+\.?[ \t]+)(.+$)/\1\2/c,content/" -f - --format=2 --excmd=pattern --fields=nks --sort=no --language-force=txt --txt-types=cft "test.txt"
呵呵谢谢
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: 是的,我把ctags编译了一下cp到/usr/bin下去了,覆盖了以前的。现在ctags -R可以用,c语言文件可以看到目录了,但txt的不行。
: ~$ctags --version
: Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
: ...................
ctags: Warning: Unsupported parameter 'f' for --txt-types option
ctags: Warning: Unsupported parameter 't' for --txt-types option
1. test1 test.txt /^1. test1$/;" c line:2
2. 这是一个测试 test.txt /^2. 这是一个测试$/;" c line:4
【 在 gyping (水瓶) 的大作中提到: 】
: ctags -R怎么突然又好使了? 建立一个测试文件, 如test.txt, 内容随便, 像下面的样子.
: 1. test1
: 2. 这是一个测试
: ...................
ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Mar 19 2010, 19:08:24
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
【 在 skybluee (天蓝) 的大作中提到: 】
: ctags --version
这样子了都不行? 没道理啊, 呵呵. 使出杀手锏吧. 提一个无理要求, 能不能用附件里的
taglist.vim代替你现在用的taglist.vim, 然后在.vimrc里加一句话
au BufRead,BufNewFile *.txt exe 'TlistDebug debug.log'
按正常操作再来一遍. 完成了会在当前目录下生成一个debug.log文件, 能把debug.log文
件发给我吗? 或者贴到这里吧.
多谢!
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: ctags: Warning: Unsupported parameter 'f' for --txt-types option
: ctags: Warning: Unsupported parameter 't' for --txt-types option
: 1. test1 test.txt /^1. test1$/;" c line:2
: ...................
是了, 就是这个原因了. 新版TxtBrowser的配置都是靠这个(Tlist_Ctags_Cmd)传给
taglist的, 你在taglist.vim里重置了它的值, 相当于没有调用TxtBrowser.
其实taglist和TxtBrowser也支持显式地设置Tlist_Ctags_Cmd的值, 设在.vimrc里就不会
有不好的影响, 所以我的习惯一般不修改脚本本身, 都是将设置放在自己的.vimrc里, 一
来升级脚本的时候不用担心冲掉自己的配置, 二来也不会有类似的问题.
谢谢支持, 总算搞定了. 您是一位非常热心的用户! 呵呵
【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】
: 用你的文件替换我的后就好了
: 可能是我在taglist.vim里面加了ctags的路径,
: let Tlist_Ctags_Cmd = "/usr/bin/ctags"
: ...................