>从这里下载ctags http://ctags.sourceforge.net/
>通过以下方式安装:./ configure&& make install
>在我的.vimrc文件中设置tags = tags; $HOME
>在〜/ .ctags中添加一些行(见下文)
>做ctags -R.在项目根目录中并获得一些警告(见下文)
>检查类别:标签.< C-D>这给了我一个很大的课程列表(很高兴)
警告:
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_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/ --regex-css=/^[ \t]*@media\s+([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]*@media\s+([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.
>如果是.class {@extend ._col-2;给出相同的.
作为建议@romainl,在将iskeyword = – in .vimrc中的set添加为dash是关键字的一部分后,按下< div class =“_ col-2”> ..会在行的开头抛出我.
解决方法
你的.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/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。