vim – 如何配置ctags以使用CSS,SCSS,HTML?
我已经在stackoverflow上阅读了很多博客文章和答案,但似乎我做错了,因为我还有E388:找不到定义错误.我做了什么:
>从这里下载ctags http://ctags.sourceforge.net/ 警告: ctags: Warning: regcomp ([A-Za-z0-9._$]+)[ t]*[:=][ t]*{: Unmatched { ctags: Warning: regcomp ([A-Za-z0-9._$()]+)[ t]*[:=][ t]*function[ t]*(: Unmatched ( or ( ctags: Warning: regcomp ([A-Za-z0-9._$]+)[ t]*[:=][ t]*[: Invalid regular expression ctags: Warning: cannot open source file "static/img/touch/packages" : No such file or directory 我的?/ .ctags文件如下所示: --exclude=*.min.js --exclude=*.min.css --exclude=*.map --exclude=.backup --exclude=.sass-cache --exclude=vendors --exclude=.git --langdef=css --langmap=css:.css --langmap=css:+.sass --langmap=css:+.styl --langmap=css:+.less --regex-css=/^[ t]*.([A-Za-z0-9_-]+)/.1/c,class,classes/ --regex-css=/^[ t]*#([A-Za-z0-9_-]+)/#1/i,id,ids/ --regex-css=/^[ t]*(([A-Za-z0-9_-]+[ tn,]+)+){/1/t,tag,tags/ --regex-css=/^[ t]*@medias+([A-Za-z0-9_-]+)/1/m,media,medias/ --langdef=scss --langmap=scss:.scss --regex-scss=/^[ t]*@mixin ([A-Za-z0-9_-]+)/1/m,mixin,mixins/ --regex-scss=/^[ t]*$([A-Za-z0-9_-]+)/1/v,variable,variables/ --regex-scss=/^([A-Za-z0-9_-]*)*(.[A-Za-z0-9_-]+) *[,{]/2/c,classes/ --regex-scss=/^[ t]+(.[A-Za-z0-9_-]+) *[,{]/1/c,classes/ --regex-scss=/^(.*)*#([A-Za-z0-9_-]+) *[,{]/2/i,ids/ --regex-scss=/^[ t]*#([A-Za-z0-9_-]+)/1/i,ids/ --regex-scss=/(^([A-Za-z0-9_-])*([A-Za-z0-9_-]+)) *[,|{]/1/t,tags/ --regex-scss=/(^([^//])*)[ t]+([A-Za-z0-9_-]+)) *[,|{]/3/t,tags/ --regex-scss=/(^(.*,*)([A-Za-z0-9_-]+)) *[,tags/ --regex-scss=/(^[ t]+([A-Za-z0-9_-]+)) *[,tags/ --regex-scss=/^[ t]*@medias+([A-Za-z0-9_-]+)/1/d,media/ --regex-html=/id="([A-Za-z0-9_-]+)"/1/i,ids/ --regex-html=/class="([A-Za-z0-9_-]+)"/1/c,classes/ --langdef=js --langmap=js:.js --regex-js=/([A-Za-z0-9._$]+)[ t]*[:=][ t]*{/1/,object/ --regex-js=/([A-Za-z0-9._$()]+)[ t]*[:=][ t]*function[ t]*(/1/,function/ --regex-js=/function[ t]+([A-Za-z0-9._$]+)[ t]*(([^)]))/1/,function/ --regex-js=/([A-Za-z0-9._$]+)[ t]*[:=][ t]*[/1/,array/ --regex-js=/([^= ]+)[ t]*=[ t]*[^"]'[^']*/1/,string/ --regex-js=/([^= ]+)[ t]*=[ t]*[^']"[^"]*/1/,string/ 项目结构: 无论在哪里(static / index.html,static / css / main.scss或static / css / components / set.scss)我尝试使用] ^ D“跳转到定义”我总是得到E388:无法找到定义.怎么了? UPDATE c为C – ]>在_col-2名称的开头按下: >如果< div class =“_ col-2”> ..给出E426:找不到标签:_col.看起来vim没有正确检测classname. 作为建议@romainl,在将iskeyword = – in .vimrc中的set添加为dash是关键字的一部分后,按下< div class =“_ col-2”> ..会在行的开头抛出我. 解决方法
关于E426:找不到标签:txal-center …
你的.ctags中的这些行将索引.foo-bar – 带有前导的dot-in * .scss文件: --regex-scss=/^([A-Za-z0-9_-]*)*(.[A-Za-z0-9_-]+) *[,classes/ 当您按< C - ]>在HTML文档中的类名称上,Vim会查找确切的类名,比如foo-bar,但它找不到它,因为你的标签文件中只有.foo-bar.那是因为Vim默认进行“全字”搜索. 这个特定问题的解决方案是将标记留在标记之外: --regex-scss=/^([A-Za-z0-9_-]*)*.([A-Za-z0-9_-]+) *[,classes/ --regex-scss=/^[ t]+.([A-Za-z0-9_-]+) *[,classes/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |