A comprehensive Vim utility functions for Vim plugins.
This is like a plugin which has both aspects of Bundler and jQuery at the same time.
If you are a Vim user who don't make Vim plugins, please ignore this page.
If you are a Vim plugin author, please check this out.
system()
- If user has
vimproc
, this usesvimproc#system()
, otherwise just the Vim builtinsystem()
.
- If user has
- ... (all public functions in unite/util.
Assuming your Vim plugin name is ujihisa
. You can define your utility function set ujihisa#util
just by
let V = vital#of('ujihisa')
function! ujihisa#util#system(...)
return call(V.system, a:000, V)
endfunction
and then you can call functions by ujihisa#util#system()
, without taking care of vital.vim
itself. It's all hidden.
Vital has module system. The below is an example to import/load a module data/ordered_set
and to call a function f()
of the module.
let V = vital#of('ujihisa')
let O = V.import('Data.OrderedSet')
call O.f()
or
let V = vital#of('ujihisa')
call V.load('Data.OrderedSet')
call V.Data.OrderedSet.f()
or
let V = vital#of('ujihisa')
call V.import('Data.OrderedSet', s:)
call s:f()
We recommend you to use a capital letter for a the Vital module dictionary to assign.
- Delegation in Vim script
- Core concept of vital (in Japanese)
- How to make a vital module (in Japanese)
Tatsuhiro Ujihisa