/vital.vim

A comprehensive Vim utility functions for Vim plugins

Primary LanguageVimL

vital.vim

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.

Targets

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.

What vital.vim provides

  • system()
    • If user has vimproc, this uses vimproc#system(), otherwise just the Vim builtin system().
  • ... (all public functions in unite/util.

How to use

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.OrderedSet 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 Vital module dictionary to assign.

If you want to become a vital committer

Become a vital.vim Developer

References

Authors

License

NYSL

What's NYSL? and Why you chose it?

NYSL is a very loose license like a Beer License, or more like WTFPL. See NYSL for details. (English and Japanese)

First, vital.vim is a bundling (static) library. We think everyone should be able to use it easily, without worrying about licensing stuff too much.

Second, In Japan, Strict Public Domain might be invalid. You outside Japan may interpret simply the license as Public Domain.

That's why we chose NYSL.

(See vim-jp#26 about the discussion.)