Exuberant ctags, taglist的问题

ekeen
想和你再去吹吹风 2010-03-19 字数 131

安装了ctags 5.8, taglist, 但输入:Tlist的时候,左边目录窗口就职出来一个文件名,没有你们说的大纲目录,怎么回视?

TxtBrowse也是这样。

VIM VI编辑器
20 个回复
fishy
Apple维修单收集者 2010-03-19

生成tags文件了么?

【 在 ekeen (想和你再去吹吹风) 的大作中提到: 】

: 安装了ctags 5.8, taglist, 但输入:Tlist的时候,左边目录窗口就职出来一个文件名,没有你们说的大纲目录,怎么回视?

: TxtBrowse也是这样。

: 晕

: ...................

ekeen
想和你再去吹吹风 2010-03-19

ctags -R

ctags: illegal option -- R

usage: ctags [-BFadtuwvx] [-f tagsfile] file ...

应该没有

TxtBrowse对txt文件也需要这样生成tags?

【 在 fishy (Apple维修单收集者) 的大作中提到: 】

: 生成tags文件了么?

ekeen
想和你再去吹吹风 2010-03-19

是下载最新的版本

看大家讨论TxtBrowse这么好,就下载下来试试,结果在左边目录窗口,没有大纲显示

【 在 happyTC (沉迷于TC中) 的大作中提到: 】

: 不需要

: 你下载最新的版本吧

: 可能你用的老的txtBrowse,它需要放对.ctags文件的位置

: ...................

gyping
水瓶 2010-03-19

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这么好,就下载下来试试,结果在左边目录窗口,没有大纲显示

ekeen
想和你再去吹吹风 2010-03-19

谢谢回复

我是在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.

: ...................

ekeen
想和你再去吹吹风 2010-03-19

" 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能出来左边窗口,不出错。

gyping
水瓶 2010-03-19

汗, 看来还是很不少的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

: ...................

ekeen
想和你再去吹吹风 2010-03-19

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时才能生成大纲.

: ...................

ekeen
想和你再去吹吹风 2010-03-19

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时才能生成大纲.

: ...................

gyping
水瓶 2010-03-20

:基本可以定位, 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

: ...................

ekeen
想和你再去吹吹风 2010-03-20

是的,我把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

: ...................

gyping
水瓶 2010-03-20

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

: ...................

ekeen
想和你再去吹吹风 2010-03-20

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. 这是一个测试

: ...................

skybluee
天蓝 2010-03-20

ctags --version

【 在 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

: ...................

ekeen
想和你再去吹吹风 2010-03-20

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

gyping
水瓶 2010-03-20
taglist.vim (145.6 K)

这样子了都不行? 没道理啊, 呵呵. 使出杀手锏吧. 提一个无理要求, 能不能用附件里的

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

: ...................

ekeen
想和你再去吹吹风 2010-03-20

用你的文件替换我的后就好了

可能是我在taglist.vim里面加了ctags的路径,

let Tlist_Ctags_Cmd = "/usr/bin/ctags"

谢谢。

【 在 gyping (水瓶) 的大作中提到: 】

: 这样子了都不行? 没道理啊, 呵呵. 使出杀手锏吧. 提一个无理要求, 能不能用附件里的

: taglist.vim代替你现在用的taglist.vim, 然后在.vimrc里加一句话

: au BufRead,BufNewFile *.txt exe 'TlistDebug debug.log'

: ...................

gyping
水瓶 2010-03-21

是了, 就是这个原因了. 新版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"

: ...................

celia
工作新生活 2010-03-21

啥时候vim插件也搞一个包管理工具,自动安装的

【 在 happyTC (沉迷于TC中) 的大作中提到: 】

: vim就是安装的插件的升级太麻烦了

: 得一个个地手工检查,手工下载,一切都要手工

: 有时还得为正在用的插件版本是啥烦(因,好些插件根本没有写是多少版本)

: ...................