TVO: The Vim Outliner
I've used outliners for years to brainstorm and edit text. With the prospect of doing more writing, I've wanted to have an outliner that matched my editing style and wasn't too mouse-heavy.
Since I'm a Vim user, and since Vim 6.0 added folding, it seemed natural to make an outliner out of it.
First, I looked at the VimOutliner Project (see http://www.troubleshooters.com/linux/olvim.htm).
This wasn't what I wanted, as it didn't even touch the behavior of Vim. (I still don't get what all the Perl was doing).
So I decided to make my own.
By itself, Vim doesn't work quite right as an outliner. So I added a
foldexpr() routine to make folding work right. Then I wanted keystroke macros. Then a menu. Then I wanted it to work with Vim Easy under Windows.
Anyway, here it is. Unzip it into a directory on your Vim
runtimepath (I put mine into my
$HOME/.vim directory, but I'm running Linux. Your location may differ). Read the included
README.otl file that describes configuration.
Here's a reduced screenshot showing the folding, syntax highlighting, and text block decoration. It also shows tags and the toolbar.
README.otl file for some minimal documentation.
There is also a help file; if you go
you will get a quick-reference.
It still needs better documentation; if you can, please write some and send it to me!
Please email me with bug reports and suggestions.
This is also available on vim.org.
25 May 2006: v122
- Fixed Viki
integration (with fixes from Thomas Link)
- Changed email address in ftplugin/otl.vim
- Defaulted g:otl_use_viki
- Made double-click conditional on having a fold
- Added variable g:otl_highlight_extensions to make TODO, XXX, and NOTE highlighting configurable
- Improved installation directions in README.otl
19 March 2006: v111
15 March 2006: v110
- Made settings work right for the first file!
13 March 2006: v108
- Made other settings work in modelines again.
7 March 2006: v107
- Added global g:otl_initial_foldlevel to set preferred folding level for .otl files
- Respect foldlevel settings in modelines.
12 June 2004: v1.63
- Made sure that newly created buffers would look right when you set the filetype to otl.
- Made sure that existing buffers would look right when you set the filetype to otl.
23 December 2003: v1.62
- fixed otl2html to make better HTML and use optionally supplied style sheet.
- made TVO variables explicitly global
23 December 2002: v1.56
- Toolbar fixes
- Mouse-click hyperlinks via tags
- Misc. bug fixes
22 December 2002: v1.55
- Fixed compatibility with old (numeric) settings of backspace.
19 December 2002: v1.47
- added doc/otl.txt help file
- changed otl_install_mappings to no_otl_maps (reversed logic)
- changed otl_install_insert_mappings to no_otl_insert_maps (reversed logic)
- limited text markers to just '|'
- improved text extract
- made it work with :set nomagic
- removed accidental changes to mappings and settings outside of outline buffers, including 'backspace', 'smarttab', and 'J' mapping
- fixed menu entries to reflect new commands
- added OtlToggleBodyText() that can change back and forth from heading to text
- fixed insert-mode mappings
- Added up/down heading motion from Ben Peterson.
Download latest version: http://bike-nomad.com/vim/vimoutliner-107.zip
email: vim -at- bike-nomad.com
Currently: Camano Island, Washington
most recently edited: 7 March, 2006