更新: 这个问题已经过修改,以反映下面非常有用的评论和答案。我已经接受了答案,但到目前为止,全部功能都无法使用。
.ctags 的内容(在 ~/ 中)
-R
--exclude=.git
--exclude=log
--verbose=yes
--langdef=scss
--langmap=scss:.scss
--regex-scss=/^[ \t]*([^\t {][^{]{1,100})(\t| )*\{/| \1/d,definition/
--regex-scss=/^[@]mixin ([^ (]+).*/\1/m,mixing/
当我将光标放在目标下方时,vim 说E426 tag not found: tag_name
考虑以下模式:
footer{
.wrapper{
.general-info{
.footer-links{
a{@include ticker($bg, $white);}
}
}
}
}
在目录中的一个单独文件(modules.scss)中,我有ticker的定义:
@mixin ticker($color, $bg-color) {
color: $color;
background-color: $bg-color;
}
当我将光标放在目标下时,vim 仍然说E426 tag not found: tag_name
ctags 不索引ticker
mixin。但是我可以使用 ctags 直接从 SCSS gem 中查找方法(例如变暗)。