Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

since it is little more than a pointer to the
section on scripts.  The earlier discussion gets the
link at the first mention of post processors.

This has the bonus of eliminating an explicit and likely
incorrect path for the scripts directory.

Various minor fixes:
1. Use a single space at the end of a sentence always.

2. Eliminate ~ that ends up displayed.  This was for
section headings that were like this:

Some Stuff~		   	*votl-some-stuff*

The ~ will change the coloring of the preceding text
ONLY if it is the last  thing on the line.  Since it
is not in these cases, it simply displays literally in
the help viewer.  One pattern, used elsewhere in the help file,
is to use

Some Stuff~

i.e., use 3 lines instead of 2 so that the left-hand headline
is colored.  But in most cases that I changed there were
already section subheadings that used that style.
So I just deleted the ~.

3. make explicit that only gvim has custom

4. Remove inappropriate apostrophe in "it's".

5. Fonts are "fixed-width" or "proportional".

Git stats


Failed to load latest commit information.

VimOutliner README file


VimOutliner is an outline processor with many of the same features as Grandview, More, Thinktank, Ecco, etc. Features include tree expand/collapse, tree promotion/demotion, level sensitive colors, interoutline linking, and body text.

What sets VimOutliner apart from the rest is that it's been constructed from the ground up for fast and easy authoring. Keystrokes are quick and easy, especially for someone knowing the Vim editor. VimOutliner can be used without the mouse (but is supported to the extent that Vim supports the mouse).

All VimOutliner files have the .otl extension. For help on VimOutliner type :h vo. For an overview of all the most important VimOutliner commands you can type :h votl_cheatsheet when you have opened an otl file.


VimOutliner has been reported to help with the following tasks:

- Project management
- Password wallet
- To-do lists
- Account and cash book
- 'Plot device' for writing novels
- Inventory control
- Hierarchical database
- Web site management


- Fast and effective
- Fully integrated with Vim
- Extensible through plugins
- Many post-processing scripts allow exporting to multiple formats
- Extensive documentation

See the help file for further information. After installation you can access it from within vim using :h vo.

If something does not work, please, let us know (either on the email list or file a ticket to the GitHub issue tracker).


If your goal is to install vimoutliner, see the next section rather than using these options.

zip archives

Download of all packages can also be done from the Freshmeat site.


If there is a pre-packaged version available for your operating system, use that. Otherwise, read on.


  • vim
  • git*

Some of the provided scripts have additional requirements. If you want to run them, you will need appropriate support. The python scripts need Python 3 and the perl scripts need Perl.

*There are other ways of getting the source code if you don't want to use git, e.g., the downloads in the previous section. But these instructions will assume git.

Standard Install

VimOutliner uses the now standard method of installation of vim plugins (vim version 8 is shown, but similar steps for older versions of vim could work with using vim-pathogen, Vundle):

   $ mkdir -p ~/.vim/pack/thirdparty/start  # the "thirdparty" name may
                                            # be different, there just
                                            # need to be one more level
                                            # of directories
   $ cd ~/.vim/pack/thirdparty/start
   $ git clone
   $ vim -u NONE -c "helptags vimoutliner/doc" -c q

See Helper Scripts below for additional setup for external scripts.

Submodule Install

Alternatively instead of making a clone as a separate repo, the developers of VimOutliner believe, it is better to have whole ~/.vim directory as one git repo and then vim plugins would be just submodules. If you have setup ~/.vim in this way then installing VimOutliner is just:

   $ cd ~/.vim/
   $ git submodule add \
   $ vim -u NONE -c "helptags vimoutliner/doc" -c q

Restart vim and you should be good to go.

Getting all your vim plugins updated would be then just

   $ cd ~/.vim
   $ git submodule update --remote --rebase

For more about working with git submodules, read git-submodule(1).

Helper Scripts

VimOutliner comes with a variety of helper scripts that can be run outside of vim. None are necessary for the basic outlining behavior of VimOutliner. If you do want to use them, you will probably want to make it easy to access them.

The scripts are in ~/.vim/pack/thirdparty/start/vimoutliner/vimoutliner/scripts/ if you followed the standard installation instructions. Yes, vimoutliner occurs twice. They will be under the submodule if you followed the alternate installation instructions. If you want to run them, you will probably want a convenient way to access them. Here are some possibilities:

1. Add that directory to your PATH.
2. Only invoke them from menus within gvim.
3. Make links or copies of files you want to use to
   a directory already in your path.

In all cases you should leave the originals in place, as various parts of the system may assume they are there (e.g., the menus in option 2).

Testing the Installation

Open a new outline with the following:

    rm $HOME/votl_test.otl
    gvim $HOME/votl_test.otl # or 
    vim $HOME/votl_test.otl

Verify the following:

  • Tabs indent the text

  • Different indent levels are different colors

  • Lines starting with a colon and space word-wrap

    Lines starting with colons are body text. They should word wrap and should be a special color (typically green, but it can vary). Verify that paragraphs of body text can be reformatted with the Vim gq commands.

If you plan to use particular features, you may want to test them too. In the online help, |votl-checkbox| discusses expected behavior of checkboxes, and |votl-maketags| provides explicit instructions for a simple test of interoutline linking.