neosnippet で autoload に定義されている関数を prefix 付きで展開する
autoload で定義する関数は、
" plugin/vim-sugarpot/autoload/sugarpot/remote.vim function! sugarpot#remote#func_name() endfunction
のようにディレクトリ構成を prefix として付属させて定義することがあります。
しかし、ディレクトリが深いとこれを毎回打つのは結構疲れます。
ということで neosnippet でこれをいい感じに自動展開させてみたいと思います。
[snippets/vim.snip]
snippet afunction abbr autoload func endfunc alias afunc prev_word '^' function! `substitute(matchstr(substitute(expand('%:p:r'), '\\', '/', 'g'), '.*\/autoload\/\zs.*\ze'), '/', '#', 'g')`#${1:func_name}(${2}) ${0} endfunction
neosnippet では `` で囲むと Vim script の式として処理されます。
ワンライナーでやっているのでちょっと横に長いんですがこれで現在のファイルパスから関数名が展開されます。
neosnippet 便利。