Simple text-based forms for vim
Vim script
Switch branches/tags
Nothing to show
Latest commit 89af185 Mar 25, 2017 @tomtom misc
Failed to load latest commit information.
doc docs Sep 28, 2012
etc Help template Oct 20, 2013
indent rewrite: new format; checkboxes; omni-completion Apr 10, 2010
plugin docs etc. Apr 15, 2010
test Linter checks Mar 25, 2017
README docs Mar 25, 2017
TODO_vimform.txt test, todo Apr 10, 2010
addon-info.json misc Mar 25, 2017


Example: >

    let form = vimform#New()
    let = "Test Form"
    let form.fields = [
                \ ['Name'],
                \ ['Address',  {'join': "\n"}],
                \ ['Planet',   {'value': 'Earth'}],
                \ ['Phone',    {'validate': '%s =~ ''^[0-9()+-]*$''',
                \               'message': 'Must be a phone number'}],
                \ ['E-Mail',   {'validate': '%s =~ ''^\([a-zA-Z.]\+@[a-zA-Z]\+\.[a-zA-Z.]\+\)\?$''',
                \               'message': 'Must be an e-mail'}],
                \ ['Private',  {'value': 0, 'type': 'checkbox'}],
                \ ['Business', {'value': 1, 'type': 'checkbox'}],
                \ ]
    function! form.Do_Submit() dict "{{{3
        echom "Test: ".
        for [field, value] in items(self.values)
            echom "Field" field value

    call form.Split()

This will create a form, which looks like this: >

    <<&Submit>> <<&Cancel>>
       Planet: Earth
      Private: [ ]
     Business: [X]

Check out further examples on:

The following field types are currently supported:

    - text fields
    - check boxes
    - single choice/drop-down lists

The following key maps can be used to navigate through forms:

<c-cr>          "Press" a button. If the cursor, is not over a button, 
                the form will be submitted, i.e. the Do_Submit() method 
                is called.

<c-w>c          Abandon/close/cancel the form.

<f5>            Redraw the form.

<tab>           Jump to the next field (this will also save the current 
                field's value so that it doesn't get lost when redrawing 
                a form)

<s-tab>         Jump to the previous field

<c-space>       Invoke the completion menu if a completion function is 
                defined for the current field.

`[LETTER]       Accelerator keys are prefixed with an ampersand (&). 
                Those letters are defined as |mark|s. Jump to a button 
                with |`|.

<cr>            If the cursor is located over a checkbox, toggle that 
                check box. If the cursor is over a drop-down list, open the 

i               Switch to insert mode.

<c-n> <c-p> <c-y> <c-e>
                Navigate drop-down lists. See also |ins-completion|.


In order to install the vba, open the vba file in VIM and type: >

    :so %

See :help vimball for details.

Also available via git:

License: GPLv3 or later
Install: See
See for related plugins.