07/06/29 16:49:21
>>795
いまさらなんだけど
このヒアドキュメントで関数名と関数定義をとりだして、
関数名をごにょごにょして、スクリプト内の関数にevalさせれば、
外部から動的に関数できる
function! pluginHoge#eval(source_func_name,new_define_name)
let savelist=&list
setlocal nolist
redir => str
exec "silent function " a:source_func_name
redir END
let &list=savelist
let lines = split(str, '\n')
let lines[0]=substitute(lines[0],'function[^(]\+',"function! ".a:new_func_name,'')
let lines = map(lines, 'v:val[3:]')
let str = join(lines, "\n")
exec str
endfunction