我正在使用 ctags -R * 生成标签。但它不会为 .haml 和 .less 文件生成标签。是否有单独的选项为这些文件生成标签?
问问题
301 次
3 回答
4
我认为 ctags 默认不支持 haml。以下是支持的语言:http ://ctags.sourceforge.net/languages.html 。您可以通过一些谷歌搜索来添加对它的支持。
于 2013-04-10T21:59:24.000 回答
3
要添加对 less 的支持,请将其粘贴到您的 ctags 文件中:
--langdef=less
--langmap=less:.less
--regex-less=/^[ \t]*\.([A-Za-z0-9_-]+)/\1/c,class,classes/
--regex-less=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-less=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-less=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
上面的表达很ctrl-]
友好。如果您使用的是 kien/ctrlp.vim 之类的脚本,请使用
--langdef=less
--langmap=less:.less
--regex-less=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/
--regex-less=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/
--regex-less=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-less=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
它将.
在课程#
之前和 ID 之前添加。
于 2014-03-03T02:35:29.617 回答
2
您可以查询支持的语言列表
$ ctags --list-languages
Exuberant Ctags有一些补丁添加了对更多语言的本机支持,但我还没有看到haml或更少的任何东西。但是,您可以通过~/.ctags
;中的正则表达式定义添加支持。请参阅ctags 帮助。
于 2013-04-11T06:16:10.327 回答