Vimの標準ランタイムに入っているftplugin/sass.vim
ではincludeexpr
やsuffixesadd
が適切に設定されているので、多くの場合はそのままで快適にgf
できる。けれど同じディレクトリにfoo
というディレクトリと_foo.scss
というファイルがある場合、@import "foo";
でgf
するとディレクトリの方が開かれてしまう。それをラッパー関数を書いて、_foo.scss
を優先させようという試み。
Download: sass-goto-file.vim
インストールは~/.vimrc
にコピペするだけ。以下のような順で開くべきファイルを探している。
_
を頭に付けてファイルを探すタブで開きたい場合は、最後にedit
を使って開いているところをtabedit
にする。
includeexpr
によるファイル探索の強化は、普通に探して見つからなかった場合にのみ発動するという仕様なので、先述のようなディレクトリが先に見つかってしまうケースには対応できない(と思う)。suffixesadd
を考慮するfindfile()
やfinddir()
関数が組み込みであるので、ラッパー関数を書くのはそんなに難しくない。頭に_
を付けるのもincludeexpr
と同じで良かった。