Vim の function() にコマンドを渡したかった
call function(":echo")(42)
みたいな事ができると便利じゃないですかね!
[やってみた]
function! s:funccmd(cmd) let func = { "cmd" : a:cmd } function! func.call(...) execute self.cmd . " " . join(map(copy(a:000), "string(v:val)")) endfunction return function(func.call, func) endfunction call s:funccmd("echo")(42) " => 42 call s:funccmd("echo")("homu", 14) " => homu 14
function()
本当に使い勝手がよくなったよなあ…。