ctags和tagbar配置不同步

时间:2011-12-20 03:14:13

标签: vim ctags tagbar

我尝试使用tagbar来读取jquery-1.7.1.js中的代码(重命名为jquery.js),但它

不起作用并显示任何错误:

"您的ctags和标签栏配置不同步! "

我的〜/ .ctags文件:

    --regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/
    --regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/o,object/
    --regex-JavaScript=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/f,function/
    --regex-JavaScript=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\([^\]\)]*\)/\1/f,function/
    --regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Array\(/\1/a,array/
    --regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/a,array/
    --regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/s,string/
    --regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/s,string/

1 个答案:

答案 0 :(得分:4)

您应该已阅读该错误消息的第二行,其中写着:“请阅读':help tagbar-extend'”。

当您使用ctags定义新语言(或更改现有语言)时,您还需要提供相应的Tagbar配置,以便Tagbar知道有一种新语言以及如何解释ctags的输出。在你的情况下,这样的配置应该工作(把它放到〜/ .vimrc中):

let g:tagbar_type_javascript = {
    \ 'ctagstype' : 'JavaScript',
    \ 'kinds'     : [
        \ 'o:objects',
        \ 'f:functions',
        \ 'a:arrays',
        \ 's:strings'
    \ ]
\ }