これは別の答えに値すると思ったので、そこに。
ctags
JavaScriptの場合と同じように、CSSサポートをに追加し、それを使用して定義にジャンプできます。~/.ctags
ファイルに次の行を追加するのと同じくらい簡単です。
--langdef=css
--langmap=css:.css
--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/
完了すると、クラスはCSSファイルに正しくインデックスを付け、正しいCSSファイルの正しいCSS定義にジャンプ:!ctags -R .
できるようになります。:tag .myClass
ただし、1つの問題があります。idsタグに含まれるクラスは、機能しますが、機能し.
ませ#
ん。最も簡単な解決策は、「タグ全体の検索」の代わりに「正規表現検索」を使用することです。:tag myClass
:tag .myClass
:tag /myClass
これらの2つのマッピングは問題なく機能しています(しばらくの間JSで、数日からCSSで):
" alternative to <C-]>
" place your cursor on an id or class and hit <leader>]
" to jump to the definition
nnoremap <leader>] :tag /<c-r>=expand('<cword>')<cr><cr>
" alternative to <C-w>}
" place your cursor on an id or class and hit <leader>}
" to show a preview of the definition. This doesn't seem to be
" very useful for CSS but it rocks for JavaScript
nnoremap <leader>} :ptag /<c-r>=expand('<cword>')<cr><cr>