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 便利。