Skip to content
This repository

A comprehensive Vim utility functions for Vim plugins

branch: master

vital.vim Build Status

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.

What vital.vim provides

Let's get started

Install modules for your own plugin

Use :Vitalize to install modules. Please see the help for more details.

:Vitalize --name=your_plugin_name $HOME/.vim/bundle/your_plugin_dir/

You can also install only specified modules; recommended for making your repository size small, assuming you are going to upload it to a remote repository

:Vitalize --name=your_plugin_name $HOME/.vim/bundle/your_plugin_dir/ Data.String Data.List

Use vital functions

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)

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.

" Recommented way
let V = vital#of('ujihisa')
let O = V.import('Data.OrderedSet')
call O.f()


" Recommended way only if you rarely use the module
let V = vital#of('ujihisa')
call V.load('Data.OrderedSet')
call V.Data.OrderedSet.f()


" Available, but we don't recommend this very much
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 developer

Become a vital.vim Developer





Japanese original text:

What's NYSL? and Why did we 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 about the discussion.)

Something went wrong with that request. Please try again.