I use the new checkbox plugin with support for weighted checkboxes for
some time now. It is really a great feature, thanks a lot.
One minor drawback in the second posted syntax  is that the checkbox
itself and the percentage are at the beginning of the line and the
weight is at the end. This makes it hard to detect the weight at the
first sight, especially when nowrap is set in conjunction with long
lines. The first posted syntax  might look confusing for people who
do not know vimoutliner. So I tried to address both by creating an
alternative syntax. It matches different variants:
1. "n%w" (same as used in )
3. "n% * w" (the number of whitespaces is arbitrary)
I attached the updated script and diffs to the previous versions.
The attached syntax file vo_base_syntax.vim includes syntax highlighting
for checkboxes, e.g. different colors for done and undone checkboxes,
the weight is also highlighted. Besides the checkbox stuff it is rather
simple, it just alternates between black and dark grey for different
I noticed that in nearly all cases I only need ,,cx and ,,c% as commands to
deal with checkboxes, so I mapped shift-tab accordingly:
" Uncomment to toggle, create or recalculate checkboxes with shift-tabulator.
nnoremap <buffer> <silent> <expr> <S-Tab> ":silent normal <LocalLeader>"
\ . ( getline(".") =~ "^\t*[[X_]] ." ? "cx<CR>j" : "c%<CR>j" )
inoremap <buffer> <silent> <expr> <S-Tab> "<ESC>m`:silent normal <LocalLeader>"
\ . ( getline(".") =~ "^\t*[[X_]] ." ? "cx<CR>``a" : "c%<CR>``4la" )
At least in Debian the termcap entry for shift tab in GNU screen is
missing, so I added to following lines to my .vimoutlinerrc. Please
note that [Z includes an escape, and can be inserted by pressing
" If the above mapping does not work for you in GNU screen try uncommenting the
" following line.
if &term == 'screen' && !has('gui_running') | set <S-Tab>=[Z | endif