--- /dev/null
+*
+!/.gitignore.d/vim
+!/.var/vim/.gitignore
+!/.vim/after/ftplugin/automake.vim
+!/.vim/after/ftplugin/debchangelog.vim
+!/.vim/after/ftplugin/diff.vim
+!/.vim/after/ftplugin/gitcommit.vim
+!/.vim/after/ftplugin/git.vim
+!/.vim/after/ftplugin/mail.vim
+!/.vim/after/ftplugin/make.vim
+!/.vim/after/ftplugin/nroff.vim
+!/.vim/after/ftplugin/perl.vim
+!/.vim/after/ftplugin/puppet.vim
+!/.vim/after/ftplugin/python.vim
+!/.vim/after/ftplugin/rst.vim
+!/.vim/after/ftplugin/tex.vim
+!/.vim/after/ftplugin/vo_base.vim
+!/.vim/after/plugin/TabularMaps.vim
+!/.vim/after/syntax/tex.vim
+!/.vim/autoload/airline/async.vim
+!/.vim/autoload/airline/builder.vim
+!/.vim/autoload/airline/debug.vim
+!/.vim/autoload/airline/extensions/ale.vim
+!/.vim/autoload/airline/extensions/branch.vim
+!/.vim/autoload/airline/extensions/bufferline.vim
+!/.vim/autoload/airline/extensions/capslock.vim
+!/.vim/autoload/airline/extensions/commandt.vim
+!/.vim/autoload/airline/extensions/csv.vim
+!/.vim/autoload/airline/extensions/ctrlp.vim
+!/.vim/autoload/airline/extensions/ctrlspace.vim
+!/.vim/autoload/airline/extensions/cursormode.vim
+!/.vim/autoload/airline/extensions/default.vim
+!/.vim/autoload/airline/extensions/denite.vim
+!/.vim/autoload/airline/extensions/eclim.vim
+!/.vim/autoload/airline/extensions/example.vim
+!/.vim/autoload/airline/extensions/fugitiveline.vim
+!/.vim/autoload/airline/extensions/grepper.vim
+!/.vim/autoload/airline/extensions/gutentags.vim
+!/.vim/autoload/airline/extensions/hunks.vim
+!/.vim/autoload/airline/extensions/keymap.vim
+!/.vim/autoload/airline/extensions/languageclient.vim
+!/.vim/autoload/airline/extensions/localsearch.vim
+!/.vim/autoload/airline/extensions/neomake.vim
+!/.vim/autoload/airline/extensions/netrw.vim
+!/.vim/autoload/airline/extensions/nrrwrgn.vim
+!/.vim/autoload/airline/extensions/obsession.vim
+!/.vim/autoload/airline/extensions/po.vim
+!/.vim/autoload/airline/extensions/promptline.vim
+!/.vim/autoload/airline/extensions/quickfix.vim
+!/.vim/autoload/airline/extensions/syntastic.vim
+!/.vim/autoload/airline/extensions/tabline/autoshow.vim
+!/.vim/autoload/airline/extensions/tabline/buffers.vim
+!/.vim/autoload/airline/extensions/tabline/buflist.vim
+!/.vim/autoload/airline/extensions/tabline/builder.vim
+!/.vim/autoload/airline/extensions/tabline/ctrlspace.vim
+!/.vim/autoload/airline/extensions/tabline/formatters/default.vim
+!/.vim/autoload/airline/extensions/tabline/formatters/jsformatter.vim
+!/.vim/autoload/airline/extensions/tabline/formatters/tabnr.vim
+!/.vim/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim
+!/.vim/autoload/airline/extensions/tabline/formatters/unique_tail.vim
+!/.vim/autoload/airline/extensions/tabline/tabs.vim
+!/.vim/autoload/airline/extensions/tabline.vim
+!/.vim/autoload/airline/extensions/tabline/xtabline.vim
+!/.vim/autoload/airline/extensions/tagbar.vim
+!/.vim/autoload/airline/extensions/term.vim
+!/.vim/autoload/airline/extensions/tmuxline.vim
+!/.vim/autoload/airline/extensions/undotree.vim
+!/.vim/autoload/airline/extensions/unicode.vim
+!/.vim/autoload/airline/extensions/unite.vim
+!/.vim/autoload/airline/extensions.vim
+!/.vim/autoload/airline/extensions/vimagit.vim
+!/.vim/autoload/airline/extensions/vimtex.vim
+!/.vim/autoload/airline/extensions/virtualenv.vim
+!/.vim/autoload/airline/extensions/whitespace.vim
+!/.vim/autoload/airline/extensions/windowswap.vim
+!/.vim/autoload/airline/extensions/wordcount/formatters/default.vim
+!/.vim/autoload/airline/extensions/wordcount.vim
+!/.vim/autoload/airline/extensions/xkblayout.vim
+!/.vim/autoload/airline/extensions/ycm.vim
+!/.vim/autoload/airline/highlighter.vim
+!/.vim/autoload/airline/init.vim
+!/.vim/autoload/airline/msdos.vim
+!/.vim/autoload/airline/parts.vim
+!/.vim/autoload/airline/section.vim
+!/.vim/autoload/airline/themes/dark.vim
+!/.vim/autoload/airline/themes.vim
+!/.vim/autoload/airline/util.vim
+!/.vim/autoload/airline.vim
+!/.vim/autoload/deb.vim
+!/.vim/autoload/ledger.vim
+!/.vim/autoload/pathogen.vim
+!/.vim/autoload/tabular.vim
+!/.vim/autoload/voom.vim
+!/.vim/autoload/voom/voom_vimplugin2657/__init__.py
+!/.vim/autoload/voom/voom_vimplugin2657/__pycache__/__init__.cpython-37.pyc
+!/.vim/autoload/voom/voom_vimplugin2657/__pycache__/voom_mode_fmr.cpython-37.pyc
+!/.vim/autoload/voom/voom_vimplugin2657/__pycache__/voom_vim.cpython-37.pyc
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_asciidoc.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_cwiki.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_dokuwiki.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_fmr1.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_fmr2.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_fmr3.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_fmr.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_hashes.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_html.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_inverseAtx.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_latexDtx.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_latex.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_markdown.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_org.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_pandoc.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_paragraphBlank.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_paragraphIndent.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_paragraphNoIndent.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_python.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_rest.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_taskpaper.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_thevimoutliner.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_txt2tags.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_viki.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_vimoutliner.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_vimwiki.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_mode_wiki.py
+!/.vim/autoload/voom/voom_vimplugin2657/voom_vim.py
+!/.vim/bundle/explainpat/autoload/explainpat.vim
+!/.vim/bundle/explainpat/autoload/nwo/magic.vim
+!/.vim/bundle/explainpat/doc/explainpat.txt
+!/.vim/bundle/explainpat/.gitignore
+!/.vim/bundle/explainpat/plugin/explainpat.vim
+!/.vim/bundle/explainpat/README
+!/.vim/bundle/password-store/doc/vim-password-store.txt
+!/.vim/bundle/password-store/ftdetect/pass.vim
+!/.vim/bundle/password-store/ftplugin/pass.vim
+!/.vim/bundle/password-store/LICENSE
+!/.vim/bundle/password-store/README.md
+!/.vim/bundle/password-store/syntax/pass.vim
+!/.vim/colors/madduck.vim
+!/.vim/compiler/ledger.vim
+!/.vim/compiler/tex.vim
+!/.vim/doc/airline.txt
+!/.vim/doc/.gitignore
+!/.vim/doc/imaps.txt.gz
+!/.vim/doc/lastplace.txt
+!/.vim/doc/latexhelp.txt.gz
+!/.vim/doc/latex-suite-quickstart.txt.gz
+!/.vim/doc/latex-suite.txt.gz
+!/.vim/doc/ledger.txt
+!/.vim/doc/surround.txt
+!/.vim/doc/Tabular.txt
+!/.vim/doc/vimplate.txt
+!/.vim/doc/voom.txt
+!/.vim/ftdetect/itsalltext.vim
+!/.vim/ftdetect/ledger.vim
+!/.vim/ftdetect/mediawiki.vim
+!/.vim/ftdetect/puppet.vim
+!/.vim/ftplugin/bib_latexSuite.vim
+!/.vim/ftplugin/gitcommit.vim
+!/.vim/ftplugin/gitconfig.vim
+!/.vim/ftplugin/itsalltext.vim
+!/.vim/ftplugin/latex-suite/bibtex.vim
+!/.vim/ftplugin/latex-suite/bibtools.py
+!/.vim/ftplugin/latex-suite/brackets.vim
+!/.vim/ftplugin/latex-suite/compiler.vim
+!/.vim/ftplugin/latex-suite/custommacros.vim
+!/.vim/ftplugin/latex-suite/diacritics.vim
+!/.vim/ftplugin/latex-suite/dictionaries/dictionary
+!/.vim/ftplugin/latex-suite/dictionaries/SIunits
+!/.vim/ftplugin/latex-suite/elementmacros.vim
+!/.vim/ftplugin/latex-suite/envmacros.vim
+!/.vim/ftplugin/latex-suite/folding.vim
+!/.vim/ftplugin/latex-suite/.gitignore
+!/.vim/ftplugin/latex-suite/macros/example
+!/.vim/ftplugin/latex-suite/main.vim
+!/.vim/ftplugin/latex-suite/mathmacros-utf.vim
+!/.vim/ftplugin/latex-suite/mathmacros.vim
+!/.vim/ftplugin/latex-suite/multicompile.vim
+!/.vim/ftplugin/latex-suite/outline.py
+!/.vim/ftplugin/latex-suite/packages/accents
+!/.vim/ftplugin/latex-suite/packages/acromake
+!/.vim/ftplugin/latex-suite/packages/afterpage
+!/.vim/ftplugin/latex-suite/packages/alltt
+!/.vim/ftplugin/latex-suite/packages/amsmath
+!/.vim/ftplugin/latex-suite/packages/amsthm
+!/.vim/ftplugin/latex-suite/packages/amsxtra
+!/.vim/ftplugin/latex-suite/packages/arabic
+!/.vim/ftplugin/latex-suite/packages/array
+!/.vim/ftplugin/latex-suite/packages/babel
+!/.vim/ftplugin/latex-suite/packages/bar
+!/.vim/ftplugin/latex-suite/packages/biblatex
+!/.vim/ftplugin/latex-suite/packages/bm
+!/.vim/ftplugin/latex-suite/packages/bophook
+!/.vim/ftplugin/latex-suite/packages/boxedminipage
+!/.vim/ftplugin/latex-suite/packages/caption2
+!/.vim/ftplugin/latex-suite/packages/cases
+!/.vim/ftplugin/latex-suite/packages/ccaption
+!/.vim/ftplugin/latex-suite/packages/changebar
+!/.vim/ftplugin/latex-suite/packages/chapterbib
+!/.vim/ftplugin/latex-suite/packages/cite
+!/.vim/ftplugin/latex-suite/packages/color
+!/.vim/ftplugin/latex-suite/packages/comma
+!/.vim/ftplugin/latex-suite/packages/csquotes
+!/.vim/ftplugin/latex-suite/packages/deleq
+!/.vim/ftplugin/latex-suite/packages/drftcite
+!/.vim/ftplugin/latex-suite/packages/dropping
+!/.vim/ftplugin/latex-suite/packages/enumerate
+!/.vim/ftplugin/latex-suite/packages/eqlist
+!/.vim/ftplugin/latex-suite/packages/eqparbox
+!/.vim/ftplugin/latex-suite/packages/everyshi
+!/.vim/ftplugin/latex-suite/packages/exmpl
+!/.vim/ftplugin/latex-suite/packages/fixme
+!/.vim/ftplugin/latex-suite/packages/flafter
+!/.vim/ftplugin/latex-suite/packages/float
+!/.vim/ftplugin/latex-suite/packages/floatflt
+!/.vim/ftplugin/latex-suite/packages/fn2end
+!/.vim/ftplugin/latex-suite/packages/footmisc
+!/.vim/ftplugin/latex-suite/packages/geometry
+!/.vim/ftplugin/latex-suite/packages/german
+!/.vim/ftplugin/latex-suite/packages/graphicx
+!/.vim/ftplugin/latex-suite/packages/graphpap
+!/.vim/ftplugin/latex-suite/packages/harpoon
+!/.vim/ftplugin/latex-suite/packages/hhline
+!/.vim/ftplugin/latex-suite/packages/histogram
+!/.vim/ftplugin/latex-suite/packages/hyperref
+!/.vim/ftplugin/latex-suite/packages/ifthen
+!/.vim/ftplugin/latex-suite/packages/inputenc
+!/.vim/ftplugin/latex-suite/packages/letterspace
+!/.vim/ftplugin/latex-suite/packages/lineno
+!/.vim/ftplugin/latex-suite/packages/longtable
+!/.vim/ftplugin/latex-suite/packages/lscape
+!/.vim/ftplugin/latex-suite/packages/manyfoot
+!/.vim/ftplugin/latex-suite/packages/moreverb
+!/.vim/ftplugin/latex-suite/packages/multibox
+!/.vim/ftplugin/latex-suite/packages/multicol
+!/.vim/ftplugin/latex-suite/packages/newalg
+!/.vim/ftplugin/latex-suite/packages/ngerman
+!/.vim/ftplugin/latex-suite/packages/numprint
+!/.vim/ftplugin/latex-suite/packages/oldstyle
+!/.vim/ftplugin/latex-suite/packages/outliner
+!/.vim/ftplugin/latex-suite/packages/overcite
+!/.vim/ftplugin/latex-suite/packages/pagenote
+!/.vim/ftplugin/latex-suite/packages/parallel
+!/.vim/ftplugin/latex-suite/packages/plain
+!/.vim/ftplugin/latex-suite/packages/plates
+!/.vim/ftplugin/latex-suite/packages/polski
+!/.vim/ftplugin/latex-suite/packages/psgo
+!/.vim/ftplugin/latex-suite/packages/schedule
+!/.vim/ftplugin/latex-suite/packages/SIunits
+!/.vim/ftplugin/latex-suite/packages/textfit
+!/.vim/ftplugin/latex-suite/packages/times
+!/.vim/ftplugin/latex-suite/packages/tipa
+!/.vim/ftplugin/latex-suite/packages/ulem
+!/.vim/ftplugin/latex-suite/packages/url
+!/.vim/ftplugin/latex-suite/packages/verbatim
+!/.vim/ftplugin/latex-suite/packages/version
+!/.vim/ftplugin/latex-suite/packages.vim
+!/.vim/ftplugin/latex-suite/projecttemplate.vim
+!/.vim/ftplugin/latex-suite/pytools.py
+!/.vim/ftplugin/latex-suite/smartspace.vim
+!/.vim/ftplugin/latex-suite/templates/article.tex
+!/.vim/ftplugin/latex-suite/templates/IEEEtran.tex
+!/.vim/ftplugin/latex-suite/templates/report.tex
+!/.vim/ftplugin/latex-suite/templates/report_two_column.tex
+!/.vim/ftplugin/latex-suite/templates.vim
+!/.vim/ftplugin/latex-suite/texmenuconf.vim
+!/.vim/ftplugin/latex-suite/texproject.vim
+!/.vim/ftplugin/latex-suite/texrc
+!/.vim/ftplugin/latex-suite/texviewer.vim
+!/.vim/ftplugin/latex-suite/version.vim
+!/.vim/ftplugin/latex-suite/wizardfuncs.vim
+!/.vim/ftplugin/ledger.vim
+!/.vim/ftplugin/mediawiki.vim
+!/.vim/ftplugin/python.vim
+!/.vim/ftplugin/tex_latexSuite.vim
+!/.vim/ftplugin/tex.vim
+!/.vim/ftplugin/vcard.vim
+!/.vim/.gitignore
+!/.vim/indent/ledger.vim
+!/.vim/indent/python.vim
+!/.vim/indent/tex.vim
+!/.vim/macros/table.vim
+!/.vim/plugin/airline.vim
+!/.vim/plugin/debPlugin.vim
+!/.vim/plugin/filebrowser.vim
+!/.vim/plugin/gnupg.vim
+!/.vim/plugin/imaps.vim
+!/.vim/plugin/justify.vim
+!/.vim/plugin/lastplace.vim
+!/.vim/plugin/lbdbq.vim
+!/.vim/plugin/matchit.vim
+!/.vim/plugin/remoteOpen.vim
+!/.vim/plugin/securemodelines.vim
+!/.vim/plugin/surround.vim
+!/.vim/plugin/SyntaxFolds.vim
+!/.vim/plugin/Tabular.vim
+!/.vim/plugin/vimplate.vim
+!/.vim/plugin/voom.vim
+!/.vimrc
+!/.vim/spell/en.utf-8.add
+!/.vim/spell/.gitignore
+!/.vim/syntax/deb.vim
+!/.vim/syntax/jinja.vim
+!/.vim/syntax/ledger.vim
+!/.vim/syntax/mediawiki.vim
+!/.vim/syntax/puppet.vim
+!/.vim/syntax/tex.vim
+!/.vim/vimplaterc
+!/.zsh/zshenv/parts.d/50-vim
--- /dev/null
+view
+viminfo
--- /dev/null
+/.netrwhist
+tags
--- /dev/null
+setlocal noexpandtab
--- /dev/null
+setlocal foldclose=
+setlocal nofoldenable
+setlocal comments+=f:-
--- /dev/null
+setlocal noexpandtab
--- /dev/null
+setlocal textwidth=72
--- /dev/null
+" display the git-diff --cached in window below commit
+" assumes nosplitbelow set. Might want to use wincmd p otherwise
+DiffGitCached | wincmd J
--- /dev/null
+setlocal textwidth=68
+setlocal formatoptions-=o
+setlocal formatoptions-=r
+setlocal formatoptions+=a
+setlocal formatoptions+=w
+
+"setlocal spell
+
+augroup tsperrorinsert
+ au!
+augroup END
+match none /\s*$/
+augroup listinsert
+ au!
+augroup END
+setlocal list
+
+" Dynamically set format options, depending on where you are in a
+" mail, idea from Teemu Likonen:
+" http://groups.google.com/group/vim_use/msg/f59e5c1adc6be2b3
+
+let s:defaults = "setlocal fo=".&fo
+" tw=".&tw." ts=".&ts." sts=".&sts." sw=".&sw." fo=".&fo
+execute s:defaults
+let b:MailAreaDetect=1
+
+nnoremap <buffer><silent> <F9> :call <SID>MailAreaDetect_Switch(0)<CR>
+inoremap <buffer><silent> <F9> <C-\><C-O>:call <SID>MailAreaDetect_Switch(1)<CR>
+
+function! s:MailAreaDetect_Switch(vmode)
+ if b:MailAreaDetect
+ silent call <SID>MailAreaDetect_Off()
+ let b:MailAreaDetect=0
+ echo 'MailAreaDetect Off'
+ if a:vmode
+ sleep 1
+ endif
+ else
+ silent call <SID>MailAreaDetect_On()
+ let b:MailAreaDetect=1
+ echo 'MailAreaDetect On'
+ if a:vmode
+ sleep 1
+ endif
+ endif
+endfu
+
+function! s:MailAreaDetect_On()
+ silent autocmd! MailAreaDetect CursorMoved,CursorMoved
+ \ <buffer> call <SID>AreaOptions()
+ let b:MailAreaDetect=1
+endfunction
+
+function! s:MailAreaDetect_Off()
+ silent autocmd! MailAreaDetect
+ execute s:defaults
+ let b:MailAreaDetect=0
+endfunction
+
+augroup MailAreaDetect
+ autocmd!
+ call <SID>MailAreaDetect_On()
+augroup END
+
+function! s:AreaOptions()
+ execute s:defaults
+
+ let s:synCur = synIDattr(synID(line("."),1,0),"name")
+ let s:synNext = synIDattr(synID(line(".")+1,1,0),"name")
+
+ if s:synNext =~ '^mailQuote' && s:synCur == '' && getline('.') =~ '^.'
+ " elseif getline('.') =~ '^\s*[^>]' && getline(line('.')+1) =~ '\m^\s*>'
+ setlocal fo-=a
+ "echo 'Quotation leader (fo='.&fo.')'
+ elseif s:synCur =~ '^mailQuote'
+ " elseif getline('.') =~ '\m^\s*>'
+ setlocal fo-=a
+ "echo 'Quotation (fo='.&fo.')'
+ elseif <SID>CheckArea('\m^--- .*\n^+++ ','\v(^$|\n^-- $)')
+ setlocal fo-=a fo-=w fo-=t noet
+ "echo 'Patch (fo='.&fo.')'
+ elseif s:synCur == '' && s:synNext =~ '^mailSignature'
+ " elseif getline(line('.')+1) =~ '\m^-- $'
+ setlocal fo-=a fo-=w fo-=t
+ "echo 'Last line before signature (fo='.&fo.')'
+ elseif s:synCur =~ '^mailSignature'
+ " elseif <SID>CheckArea('^-- $','^$')
+ setlocal fo-=a fo-=w fo-=t
+ "echo 'Signature (fo='.&fo.')'
+ elseif s:synCur =~ '^mail'
+ " if <SID>CheckArea('\v^From( |: ).*\n','\v^$')
+ setlocal fo-=a fo-=w fo-=t
+ "echo 'Header (fo='.&fo.')'
+ else
+ "echo 'My text (fo='.&fo.')'
+ endif
+endfunction
+
+function! s:CheckArea(start, end)
+ return (search(a:start,'bcnW')-line('.')) >
+ \ (search(a:end,'bnW')-line('.'))
+endfunction
+
+function! FixQuotes()
+ let l:i = 0
+ let l:lineNxt = getline(l:i)
+ let l:synNxt = synIDattr(synID(l:i,1,0),"name")
+ while l:i < line('$')-1
+ let l:lineCur = l:lineNxt
+ let l:synCur = l:synNxt
+ let l:lineNxt = getline(l:i+1)
+ let l:synNxt = synIDattr(synID(l:i+1,1,0),"name")
+ if l:synCur =~ '^mailQuote' && l:lineCur =~ '\w.*\S$' &&
+ \ l:synNxt =~ '^mailQuote' && l:lineNxt =~ '\w'
+ call setline(l:i, l:lineCur . ' ')
+ endif
+ let l:i += 1
+ endwhile
+endfunction
+
+augroup fixquotes
+ au!
+ autocmd BufWinEnter $TMPDIR/mutt-* call FixQuotes()
+augroup END
+
+nmap <buffer> <C-P><F1> :w<CR>:%!mailplate --keep-unknown official<CR>
+nmap <buffer> <C-P><F2> :w<CR>:%!mailplate --keep-unknown tahi<CR>
+nmap <buffer> <C-P><F3> :w<CR>:%!mailplate --keep-unknown pmvm<CR>
+nmap <buffer> <C-P><F4> :w<CR>:%!mailplate --keep-unknown pobox<CR>
+nmap <buffer> <C-P><F5> :w<CR>:%!mailplate --keep-unknown debian<CR>
+nmap <buffer> <C-P><F6> :w<CR>:%!mailplate --keep-unknown debconf<CR>
+nmap <buffer> <C-P><F7> :w<CR>:%!mailplate --keep-unknown uniwh<CR>
+nmap <buffer> <C-P><F8> :w<CR>:%!mailplate --keep-unknown mtfk<CR>
+nmap <buffer> <C-P><F9> :w<CR>:%!mailplate --keep-unknown sudetia<CR>
+nmap <buffer> <C-P><F12> :w<CR>:%!mailplate --keep-unknown private<CR>
+nmap <buffer> <F1> :w<CR>:%!mailplate --auto --keep-unknown 2>/dev/null<CR>
+
+" change subject line
+" Before: Subject: old
+" After : Subject: New (was: old)
+" http://strcat.de/wiki/dotfiles#vim
+" map ,sw 1G/^Subject: <CR>:s/Re:/was:/<CR>Wi (<C-O>$)<ESC>0Whi
+map <Leader>ns 1G/^Subject: /<CR>:s,\(Subject: \)\(Re: \)*\(.*\)$,\1 (was: \3),<CR>:set nohls<CR>f li
+
+" Delete 'was' in the Subject.
+" Before: Subject: New (was: old)
+" After : Subject: New
+" http://strcat.de/wiki/dotfiles#vim
+map <Leader>dw 1G/^Subject: /<CR>:s, *(was: .*)$<CR>:set nohls<CR>f l
+
+" http://dollyfish.net.nz/blog/2008-04-01/mutt-and-vim-custom-autocompletion
+fun! LBDBCompleteFn(findstart, base)
+ let line = getline('.')
+ if a:findstart
+ " locate the start of the word
+ let start = col('.') - 1
+ while start > 0 && line[start - 1] =~ '[^:,]'
+ let start -= 1
+ endwhile
+ while start < col('.') && line[start] =~ '[:, ]'
+ let start += 1
+ endwhile
+ return start
+ else
+ let res = []
+ let query = substitute(a:base, '"', '', 'g')
+ let query = substitute(query, '\s*<.*>\s*', '', 'g')
+ for m in LbdbQuery(query)
+ call complete_add(printf('"%s" <%s>', escape(m[0], '"'), m[1]))
+ if complete_check()
+ break
+ endif
+ endfor
+ return res
+ endif
+endfun
+set completefunc=LBDBCompleteFn
+
+" And this magic by James Vega, which ensures that we only complete with lbdb
+" on the recipient lines of the mail header.
+inoremap <expr> <C-n> DelegateCompletion(1)
+inoremap <expr> <C-p> DelegateCompletion(0)
+
+fun! DelegateCompletion(next)
+ if getline('.') =~? '^\%(To\|B\=Cc\):'
+ return "\x18\x15"
+ elseif a:next
+ return "\x0e"
+ else
+ return "\x10"
+ endif
+endfun
--- /dev/null
+setlocal noexpandtab
--- /dev/null
+setlocal tw=75
--- /dev/null
+setlocal sw=8
+setlocal sts=8
+setlocal noet
--- /dev/null
+setlocal sw=4
+setlocal sts=4
--- /dev/null
+setlocal sw=4
+setlocal sts=4
--- /dev/null
+"setlocal formatoptions+=a
+setlocal formatoptions-=n
+setlocal formatoptions-=o
+setlocal formatoptions-=r
--- /dev/null
+setlocal formatoptions-=r
+setlocal formatoptions-=o
+setlocal formatoptions-=n
+
+setlocal iskeyword+=:
+
+"setlocal spell
--- /dev/null
+setlocal nolist
--- /dev/null
+/usr/share/vim/addons/after/plugin/TabularMaps.vim
\ No newline at end of file
--- /dev/null
+syn region texRefZone matchgroup=texRefZone start="\\[acefmptl]label{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texRefZone start="\\[aAcCeEfFmMpPtTlL][rvx]\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
+
+syn region texMyForeign matchgroup=texTypeStyle start="\\foreign{" end="}" contains=texMatcher,@NoSpell
+syn cluster texFoldGroup add=texMyForeign
+syn cluster texMatchGroup add=texMyForeign
+
+syn region texMyTTerm matchgroup=texTypeStyle start="\\tterm{" end="}" contains=texMatcher,@NoSpell
+syn cluster texFoldGroup add=texMyTTerm
+syn cluster texMatchGroup add=texMyTTerm
+
+syn region texTodoCmd matchgroup=texTodoCmd start="\\todo{" end="}\|%stopzone\>" contains=@texMatchGroup,@NoSpell,texMatcher
+syn cluster texFoldGroup add=texTodoCmd
+syn cluster texMatchGroup add=texTodoCmd
+hi def link texTodoCmd texTodo
+
+syn match texCiteNeeded '\\citeneeded\ze:\=\>'
+syn cluster texFoldGroup add=texCiteNeeded
+syn cluster texMatchGroup add=texCiteNeeded
+hi def link texCiteNeeded texTodo
+
+syn region texHighlit matchgroup=texHighlit start="\\highlit{" end="}\|%stopzone\>" contains=@texMatchGroup
+syn cluster texFoldGroup add=texHighlit
+syn cluster texMatchGroup add=texHighlit
+hi def link texHighlit Highlit
+
+syn region texDLMsg matchgroup=texDLMsg start="\\d[lp]msg{" end="}\|%stopzone\>" contains=@NoSpell
+syn cluster texFoldGroup add=texDLMsg
+syn cluster texMatchGroup add=texDLMsg
+
+syn match texMySection '^\\section{.*'
+syn match texMySubSection '^\\subsection{.*'
+syn match texMySubSubSection '^\\subsubsection{.*'
+syn match texMyParagraph '^\\paragraph{.*'
+hi texMySection ctermbg=gray ctermfg=white cterm=bold term=reverse
+hi texMySubSection ctermbg=cyan ctermfg=black cterm=none term=reverse
+hi texMySubSubSection ctermbg=none ctermfg=blue cterm=bold term=reverse
+hi texMyParagraph ctermbg=none ctermfg=black cterm=bold term=reverse
--- /dev/null
+/usr/share/vim/addons/autoload/airline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/async.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/builder.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/debug.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/ale.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/branch.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/bufferline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/capslock.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/commandt.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/csv.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/ctrlp.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/ctrlspace.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/cursormode.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/default.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/denite.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/eclim.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/example.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/fugitiveline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/grepper.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/gutentags.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/hunks.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/keymap.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/languageclient.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/localsearch.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/neomake.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/netrw.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/nrrwrgn.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/obsession.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/po.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/promptline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/quickfix.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/syntastic.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/autoshow.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/buffers.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/buflist.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/builder.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/ctrlspace.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/formatters/default.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/formatters/jsformatter.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/formatters/tabnr.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/formatters/unique_tail.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/tabs.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tabline/xtabline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tagbar.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/term.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/tmuxline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/undotree.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/unicode.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/unite.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/vimagit.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/vimtex.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/virtualenv.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/whitespace.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/windowswap.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/wordcount.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/wordcount/formatters/default.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/xkblayout.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/extensions/ycm.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/highlighter.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/init.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/msdos.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/parts.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/section.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/themes.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/themes/dark.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/airline/util.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/autoload/deb.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/ledger.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/pathogen.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/autoload/tabular.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/__init__.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_asciidoc.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_cwiki.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_dokuwiki.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_fmr.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_fmr1.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_fmr2.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_fmr3.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_hashes.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_html.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_inverseAtx.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_latex.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_latexDtx.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_markdown.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_org.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_pandoc.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_paragraphBlank.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_paragraphIndent.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_paragraphNoIndent.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_python.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_rest.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_taskpaper.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_thevimoutliner.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_txt2tags.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_viki.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_vimoutliner.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_vimwiki.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_mode_wiki.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/autoload/voom/voom_vimplugin2657/voom_vim.py
\ No newline at end of file
--- /dev/null
+Same as vim's license
--- /dev/null
+# vim-password-store
+Vim niceties for password store ("pass" the standard Unix Password Manager)
+
+This is a fairly straight-forward fork of Tom Ryder's password-store plugin,
+included in the contrib folder for pass and at Tom's cgit store:
+https://git.zx2c4.com/password-store/
+
+I've added some niceties based around a fuller filetype implementation,
+in particular
+
+* unset spell
+* add simple syntax highlighting
+
+I've added some simple shoulder surfing protection via syntax highlighting.
+When loading a pass file for editing, the first line will be obscured. It is
+editable when the cursor is in place, but will be obscured while editing other
+fields.
+
+There are two commands to facilitate hiding and concealing
+
+*:Reveal*
+
+*:Conceal*
+
+These do what you might expect, reset the syntax highlighting of the password
+from obscured to cleared.
+
+There is also integration with ``pwgen`` the same utility called by
+password-store to generate passwords. By default this is mapped to vim's
+increment and decrement operators ``<C-X>`` and ``<C-A>`` but the mapping is
+available by a plug mapping ``<Plug>password_rotate``
--- /dev/null
+" setup known state
+if exists('did_password_store')
+ " || &compatible
+ " || version < 700}
+ finish
+endif
+let g:did_password_store = '1'
+let s:save_cpo = &cpoptions
+set compatible&vim
+"echo 'main code'}}
+" Return vim to users choice
+function! password_store#generate() abort
+ if executable('pwgen')
+ let l:result = systemlist('pwgen -N1 ' . password_store#setting('pw_length') )
+ return l:result[0]
+ endif
+endfunction
+
+function! password_store#replace() abort
+ execute 's/\<.*\>/' . password_store#generate() . '/'
+endfunction
+
+let s:default_settings = {
+ \ 'pw_length' : '12',
+ \ 'enable_syntax' : 'true',
+ \ }
+
+function! password_store#setting(key)
+ if exists('g:password_store_settings') && has_key(g:password_store_settings, a:key)
+ return g:password_store_settings[a:key]
+ else
+ return s:default_settings[a:key]
+ endif
+endfunction
+
+let &cpoptions = s:save_cpo
--- /dev/null
+*vim-password-store* Niceties for editing password-store files
+
+===============================================================================
+CONTENTS *password-store-contents*
+
+ 1. Intro ........................................... |password-store-intro|
+ 2. Requirements ............................. |password-store-requirements|
+ 3. Usage ........................................... |password-store-usage|
+ 4. Configuration .................................. |password-store-config|
+ 5. Licence ....................................... |password-store-licence|
+ 6. Credits ....................................... |password-store-credits|
+===============================================================================
+1. Intro *password-store-intro*
+
+Password store is a nice command line password manager, well suited to
+vim's style. Tom Ryder has written a plugin to unset the standard
+password security leakages, backup files, info files etc. This works
+well, but doesn't provide hooks for extending. I wanted to add a few
+simple enhancements, including unsetting spelling (no password should be
+spell checked :-) and some simple syntax highlighting.
+
+2. Requirements *password-store-requirements*
+
+A plugin manager (not required but the plugin is written to expect
+this) and password-store https://www.passwordstore.org/ .
+
+3. Usage *password-store-usage*
+
+The plugin automatically loads when it sees the appropriate file paths
+for password-store. This is Tom Ryders
+
+There are two functions:
+>
+ :Conceal
+ :Reveal
+<
+That apply syntax highlighting to obscure and un-obscure the password.
+By default the pass file loads in obscured mode, however when the cursor is on
+the word it should readable and editable. This offers minor "shoulder surfing"
+protection, facilitating editing of metadata, such as adding URLs etc.
+
+There's minor feedback for short passwords, with Error highlighting for
+passwords 6 or less characters long.
+
+Password store also adds password generation support via pwgen. Since
+password-store already leverages pwgen, this is a fairly safe assumption.
+There is a Plug mapping *<Plug>rotate_password*
+by default this is mapped to <C-X> and <C-A> but can be overridden via setting
+an alternate plug mapping
+>
+ nnoremap >M-a> <Plug>rotate_password
+<
+The mapped sequence will generate a random password. As neither decrement nor
+increment mean anything in this context, buth are mapped to the same plug.
+The default length of the password is 10 character, but
+modifiable by configuration This is also available via the function call(s)
+>
+ password_store#replace()
+<
+4. Configuration *password-store-config*
+
+Configuration is done through a global dictionary *g:password_store_settings*
+Initialize the dictionary and add settings as needed
+>
+ let g:password_store_settings = {}
+
+Syntax obfustaction is enabled by default. To disable it:
+>
+ let g:password_store_settings.enable_syntax = 'false"
+
+
+Auto "increment" password length is 12 characters. To change it
+>
+ let g:password_store_settings.pw_length = 20
+<
+4. Licence *password-store-licence*
+
+This plugin is licensed under the same terms as vim itself (see
+|license| )
+
+5. Credits *password-store-credits*
+
+Tom Ryder
+https://git.zx2c4.com/password-store/
+
+vim:ft=help
--- /dev/null
+" detect password-store files
+if exists('did_pass') || &compatible || version < 700
+ finish
+endif
+let g:did_pass = 'did_pass'
+let s:save_cpo = &cpoptions
+set compatible&vim
+
+" this is straight from Tom Ryders plugin
+
+autocmd VimEnter
+ \ /dev/shm/pass.?*/?*.txt
+ \,/dev/shm/gopass-edit*/secret
+ \,$TMPDIR/pass.?*/?*.txt
+ \,/tmp/pass.?*/?*.txt
+ \ setlocal filetype=pass |
+ \ if password_store#setting('enable_syntax') ==# 'true' | setlocal syntax=pass.obfuscated | endif
+
+" Cleanup at end
+let &cpoptions = s:save_cpo
--- /dev/null
+if exists('did_pass_ftplugin') || &compatible || v:version < 700
+ finish
+endif
+let g:did_pass = 'did_pass_ftplugin'
+let s:save_cpo = &cpoptions
+set compatible&vim
+
+nmap <buffer> <Plug>rotate_password :call password_store#replace()<Cr>
+if ! hasmapto( '\<Plug>rotate_password', 'n')
+ nmap <C-X> <Plug>rotate_password
+endif
+
+setlocal nospell
+
+
+" Check whether we should set redacting options or not
+function! s:CheckArgsRedact()
+
+ " Ensure there's one argument and it's the matched file
+ if argc() != 1 || fnamemodify(argv(0), ':p') !=# expand('<afile>:p')
+ return
+ endif
+
+ " Disable all the leaky options globally
+ set nobackup
+ set nowritebackup
+ set noswapfile
+ set viminfo=
+ if has('persistent_undo')
+ set noundofile
+ endif
+
+ " Tell the user what we're doing so they know this worked, via a message and
+ " a global variable they can check
+ echomsg 'Editing password file--disabled leaky options!'
+ let g:redact_pass_redacted = 1
+
+endfunction
+
+call s:CheckArgsRedact()
+
+function! s:reveal_pass() abort
+ highlight! link password_store_password Comment
+endfunction
+command! Reveal call <SID>reveal_pass()
+
+function! s:conceal_pass() abort
+ highlight! password_store_password guifg=DarkGray guibg=DarkGray ctermfg=8 ctermbg=8
+endfunction
+command! Conceal call <SID>conceal_pass()
+normal! GG
+
+augroup password_settings_late_load
+ autocmd!
+ autocmd FileReadPost if &filetype == 'pass' | echom 'autocmd triggered' | let b:load_pass_syntax = 1 | source 'syntax/pass.vim' | endif
+augroup end
+" Cleanup at end
+let &cpoptions = s:save_cpo
--- /dev/null
+if exists('b:current_syntax') | finish| endif
+
+setlocal cursorline
+
+" set redacted colors from colorscheme
+let s:error_highlight_str = execute( 'highlight Error' )
+let s:error_fg = matchstr(s:error_highlight_str, 'guifg=\zs\S*')
+
+let s:comment_highlight_str = execute( 'highlight Comment' )
+let s:comment_fg = matchstr(s:comment_highlight_str, 'guifg=\zs\S*')
+
+execute 'highlight password_store_password ' .
+ \ ' guibg=' . s:comment_fg .
+ \ ' guifg=' . s:comment_fg .
+ \ ' ctermfg=1 ctermbg=1'
+
+execute 'highlight password_store_password_short ' .
+ \ ' guibg=' . s:error_fg .
+ \ ' guifg=' . s:error_fg .
+ \ ' ctermfg=1 ctermbg=1'
+
--- /dev/null
+if exists('b:current_syntax') | finish| endif
+
+" first line (by convention always a single pasword)
+syntax match password_store_password /\%1l.*/
+highlight link password_store_password Comment
+
+" highlight short passwords
+syntax match password_store_password_short /\%1l.\{,6\}$/
+highlight link password_store_password_short Error
+
+" colon field value is the suggested path for additional information
+syntax match password_store_header '\v^[^:]+:'
+highlight link password_store_header PreProc
+
+
--- /dev/null
+Given pass (short password):
+ pass
+
+Execute (test short password syntax):
+ AssertEqual SyntaxAt(2), 'password_store_password_short'
+
+Given pass (longer password):
+ passwordlonger
+
+Execute (test longer password syntax):
+ AssertEqual SyntaxAt(2), 'password_store_password'
+
+Given pass (another password):
+ passwordlonger
+
+Before (disable syntax):
+ let g:password_store_settings = {}
+ let g:password_store_settings.enable_syntax = 'false'
+
+Execute (test disable syntax ):
+ AssertEqual &filetype, 'pass'
+
+Execute (test increment password length):
+ AssertEqual len( password_store#generate()), 12
+
+Execute (test new generates do not match):
+ AssertNotEqual password_store#generate(), password_store#generate()
+
+Given text (test ftdetect):
+ passwordtesting
+
+Before (mimic settings):
+ let g:password_store_settings = {}
+ let g:password_store_settings.enable_syntax = 'false'
+ let g:password_store_settings.pw_length = '16'
+
+Execute (test ftdetect trigger):
+ set filetype=pass
+ AssertEqual password_store#setting('enable_syntax'), 'false'
+ AssertEqual len( password_store#generate() ), 16
+
+
--- /dev/null
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let g:colors_name = "madduck"
+
+if &background == "dark"
+ hi Normal ctermfg=White ctermbg=Black cterm=none term=none
+ hi Comment ctermfg=fg ctermbg=bg cterm=none term=bold
+ hi Constant ctermfg=Cyan ctermbg=bg cterm=none term=underline
+ hi Special ctermfg=LightRed ctermbg=bg cterm=none term=bold
+ hi Identifier ctermfg=fg ctermbg=bg cterm=none term=underline
+ hi Statement ctermfg=Yellow ctermbg=bg cterm=bold term=bold
+ hi PreProc ctermfg=Cyan ctermbg=bg cterm=bold term=underline
+ hi Type ctermfg=LightGreen ctermbg=bg cterm=bold term=underline
+ hi Ignore ctermfg=bg ctermbg=bg cterm=none term=none
+
+ hi mailHeader ctermfg=darkcyan
+ hi mailSignature ctermfg=darkcyan
+ hi mailEmail ctermfg=darkcyan
+ hi mailHeaderKey ctermfg=white
+ hi mailSubject ctermfg=white
+
+ hi mailQuoted1 ctermfg=darkgreen
+ hi mailQuoted2 ctermfg=magenta cterm=NONE
+ hi mailQuoted3 ctermfg=darkcyan
+ hi mailQuoted4 ctermfg=darkred
+ hi mailQuoted5 ctermfg=darkgreen
+ hi mailQuoted6 ctermfg=magenta
+
+ hi Error ctermfg=White ctermbg=Red cterm=none term=none
+ hi Todo ctermfg=Black ctermbg=Yellow cterm=standout term=standout
+
+else
+ hi Normal ctermfg=Black ctermbg=White cterm=none term=none
+ hi Comment ctermfg=fg ctermbg=bg cterm=none term=bold
+ hi Constant ctermfg=DarkGray ctermbg=bg cterm=none term=underline
+ hi Special ctermfg=DarkMagenta ctermbg=bg cterm=none term=bold
+ hi Identifier ctermfg=DarkBlue ctermbg=bg cterm=none term=underline
+ hi Statement ctermfg=DarkBlue ctermbg=bg cterm=none term=bold
+ hi PreProc ctermfg=DarkMagenta ctermbg=bg cterm=none term=underline
+ hi Type ctermfg=DarkBlue ctermbg=bg cterm=none term=underline
+ hi Ignore ctermfg=bg ctermbg=bg cterm=none term=none
+
+ hi mailHeader ctermfg=darkblue cterm=none
+ hi mailSignature ctermfg=darkblue
+ hi mailEmail ctermfg=magenta cterm=none
+ hi mailHeaderKey ctermfg=blue cterm=none
+ hi mailSubject ctermfg=blue cterm=none
+
+ hi mailQuoted1 ctermfg=darkred
+ hi mailQuoted2 ctermfg=darkmagenta cterm=none
+ hi mailQuoted3 ctermfg=darkgreen
+ hi mailQuoted4 ctermfg=darkred
+ hi mailQuoted5 ctermfg=darkmagenta
+ hi mailQuoted6 ctermfg=darkgreen
+
+ hi Error ctermfg=White ctermbg=Red cterm=none term=none
+ hi Todo ctermfg=Black ctermbg=Yellow cterm=standout term=standout
+
+ hi SpellBad ctermfg=white ctermbg=darkred cterm=none term=reverse
+ hi SpellCap ctermfg=darkred ctermbg=bg cterm=bold term=reverse
+ hi SpellRare ctermfg=red ctermbg=bg cterm=none term=reverse
+ hi SpellLocal ctermfg=white ctermbg=magenta cterm=none term=reverse
+
+ hi Highlit ctermbg=yellow ctermfg=black cterm=none term=reverse
+
+endif
+
+" vim:sts=8:sw=8:ts=8:noet
--- /dev/null
+/usr/share/vim/addons/compiler/ledger.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/compiler/tex.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/Tabular.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/airline.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/imaps.txt.gz
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/lastplace.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/latex-suite-quickstart.txt.gz
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/latex-suite.txt.gz
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/latexhelp.txt.gz
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/doc/ledger.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/doc/surround.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/doc/vimplate.txt
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/doc/voom.txt
\ No newline at end of file
--- /dev/null
+augroup filetypedetect
+ " detect itsalltext buffers
+ au! BufRead,BufNewFile */itsalltext/*.txt setf itsalltext
+augroup END
--- /dev/null
+/usr/share/vim/addons/ftdetect/ledger.vim
\ No newline at end of file
--- /dev/null
+augroup filetypedetect
+ " detect mediawiki buffers
+ au! BufRead,BufNewFile *.mw setf mediawiki
+augroup END
--- /dev/null
+au BufRead,BufNewFile *.pp setfiletype puppet
--- /dev/null
+/usr/share/vim/addons/ftplugin/bib_latexSuite.vim
\ No newline at end of file
--- /dev/null
+setlocal tw=68
--- /dev/null
+" git uses tabs by default
+setlocal noet
+setlocal sw=8
--- /dev/null
+if exists("b:did_ftplugin")
+ finish
+endif
+
+let b:did_ftplugin = 1
+
+setlocal nolist
+setlocal wrap
+setlocal linebreak
--- /dev/null
+/__pycache__
+*.pyc
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/bibtex.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/bibtools.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/brackets.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/compiler.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/custommacros.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/diacritics.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/dictionaries/SIunits
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/dictionaries/dictionary
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/elementmacros.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/envmacros.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/folding.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/macros/example
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/main.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/mathmacros-utf.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/mathmacros.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/multicompile.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/outline.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/SIunits
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/accents
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/acromake
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/afterpage
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/alltt
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/amsmath
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/amsthm
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/amsxtra
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/arabic
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/array
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/babel
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/bar
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/biblatex
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/bm
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/bophook
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/boxedminipage
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/caption2
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/cases
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/ccaption
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/changebar
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/chapterbib
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/cite
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/color
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/comma
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/csquotes
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/deleq
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/drftcite
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/dropping
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/enumerate
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/eqlist
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/eqparbox
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/everyshi
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/exmpl
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/fixme
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/flafter
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/float
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/floatflt
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/fn2end
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/footmisc
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/geometry
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/german
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/graphicx
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/graphpap
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/harpoon
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/hhline
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/histogram
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/hyperref
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/ifthen
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/inputenc
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/letterspace
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/lineno
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/longtable
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/lscape
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/manyfoot
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/moreverb
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/multibox
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/multicol
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/newalg
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/ngerman
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/numprint
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/oldstyle
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/outliner
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/overcite
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/pagenote
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/parallel
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/plain
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/plates
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/polski
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/psgo
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/schedule
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/textfit
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/times
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/tipa
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/ulem
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/url
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/verbatim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/packages/version
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/projecttemplate.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/pytools.py
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/smartspace.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/templates.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/templates/IEEEtran.tex
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/templates/article.tex
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/templates/report.tex
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/templates/report_two_column.tex
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/texmenuconf.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/texproject.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/texrc
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/texviewer.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/version.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/latex-suite/wizardfuncs.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/ftplugin/ledger.vim
\ No newline at end of file
--- /dev/null
+" Many MediaWiki wikis prefer line breaks only at the end of paragraphs
+" (like in a text processor), which results in long, wrapping lines.
+setlocal wrap linebreak
+setlocal textwidth=0
+
+" No auto-wrap at all.
+setlocal formatoptions-=tc formatoptions+=l
+if v:version >= 602 | setlocal formatoptions-=a | endif
+
+" Make navigation more amenable to the long wrapping lines.
+noremap <buffer> k gk
+noremap <buffer> j gj
+noremap <buffer> <Up> gk
+noremap <buffer> <Down> gj
+noremap <buffer> 0 g0
+noremap <buffer> ^ g^
+noremap <buffer> $ g$
+noremap <buffer> D dg$
+noremap <buffer> C cg$
+noremap <buffer> A g$a
+
+inoremap <buffer> <Up> <C-O>gk
+inoremap <buffer> <Down> <C-O>gj
+
+" utf-8 should be set if not already done globally
+setlocal fileencoding=utf-8
+setlocal matchpairs+=<:>
+
+" Treat lists, indented text and tables as comment lines and continue with the
+" same formatting in the next line (i.e. insert the comment leader) when hitting
+" <CR> or using "o".
+setlocal comments=n:#,n:*,n:\:,s:{\|,m:\|,ex:\|}
+setlocal formatoptions+=roq
+
+" match HTML tags (taken directly from $VIM/ftplugin/html.vim)
+if exists("loaded_matchit")
+ let b:match_ignorecase=0
+ let b:match_skip = 's:Comment'
+ let b:match_words = '<:>,' .
+ \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
+ \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
+ \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+endif
+
+" Other useful mappings
+" Insert a matching = automatically while starting a new header.
+inoremap <buffer> <silent> = <C-R>=(getline('.')==''\|\|getline('.')=~'^=\+$')?"==\<Lt>Left>":"="<CR>
+
+" Enable folding based on ==sections==
+setlocal foldexpr=getline(v:lnum)=~'^\\(=\\+\\)[^=]\\+\\1\\(\\s*<!--.*-->\\)\\=\\s*$'?\">\".(len(matchstr(getline(v:lnum),'^=\\+'))-1):\"=\"
+setlocal fdm=expr
--- /dev/null
+imap <Leader>trace import ipdb; ipdb.set_trace()
--- /dev/null
+let Tex_UsePython = 1
+
+let Tex_FoldedMisc = "preamble,<<<"
+
+"let g:Imap_UsePlaceHolders = 0
--- /dev/null
+/usr/share/vim/addons/ftplugin/tex_latexSuite.vim
\ No newline at end of file
--- /dev/null
+"autocmd BufWritePre *.vcf :/^REV:/s/:.*/\=strftime(":%Y%m%dT%H%M%S%z")/ge
+
+nmap <buffer> <F1> :%s/^UID:.*/\="UID:urn:uuid:" . split(system("uuid"))[0]/<CR>:nohlsearch<CR>
--- /dev/null
+/usr/share/vim/addons/indent/ledger.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/indent/python.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/indent/tex.vim
\ No newline at end of file
--- /dev/null
+" Script: table.vim
+" Version: 0.1
+"
+" Maintainer: Usman Latif Email: latif@techuser.net
+" Webpage: http://www.techuser.net
+"
+" Description:
+" This script defines maps for easier editing and alignmnet of tables.
+" For usage and installation instructions consult the documentation
+" files that came with this script. In case you are missing the
+" documentation files, download a complete distribution of the files
+" from http://www.techuser.net/files
+
+
+map <silent> <Leader>tt :call TableToggle()<CR>
+map <silent> <Leader>th :call TableHeading()<CR>
+map <silent> <Leader>ta :call TableAlign()<CR>
+
+let s:tablemode = 0
+let s:heading = ''
+let s:fieldsep = ' \{2,}'
+
+" Function: TableHeading
+" Args: None
+"
+" use current line as the heading line of the table
+" current line should be non-empty
+
+func! TableHeading()
+ " get heading line and store it in a script variable
+ let s:heading = TrimWS(ExpandTabs(getline(".")))
+
+ if !ValidHeading(s:heading)
+ return
+ endif
+
+ " map keys to invoke table navigation functions
+ call EnableMaps()
+
+ let s:tablemode = 1
+endfunc
+
+" Function: ValidHeading
+" Args: None
+" Return: boolean
+"
+" returns 1 if heading is valid, i.e., non-whitespace
+" returns 0 otherwise
+
+func! ValidHeading(heading)
+ " heading line empty ==> invalid heading
+ let l:str = a:heading
+ if strlen(str) == matchend(str,'^ *')
+ return 0
+ endif
+ return 1
+endfunc
+
+" Function: TableToggle
+" Args: None
+"
+" Toggle Table Mode
+" Enable/Disable maps for tablemode keys
+
+func! TableToggle()
+
+ if !ValidHeading(s:heading)
+ return
+ endif
+
+ " enable/disable maps
+ if s:tablemode
+ call DisableMaps()
+ else
+ call EnableMaps()
+ endif
+
+ " toggle tablemode
+ let s:tablemode = !s:tablemode
+endfunc
+
+" Function: Enable Maps
+" Args: None
+"
+" Enable maps for tablemode keys
+
+func! EnableMaps()
+ nnoremap <silent> <Tab> :call NextField(0)<CR>
+ inoremap <silent> <Tab> <C-O>:call NextField(1)<CR>
+ nnoremap <silent> <S-Tab> :call PrevField()<CR>
+ inoremap <silent> <S-Tab> <C-O>:call PrevField()<CR>
+endfunc
+
+" Function: Disable Maps
+" Args: None
+"
+" Disable maps for tablemode keys
+
+func! DisableMaps()
+ nunmap <Tab>
+ iunmap <Tab>
+ nunmap <S-Tab>
+ iunmap <S-Tab>
+endfunc
+
+
+" Function: TableAlign
+" Args: None
+" Description: align the fields of the row with the fields of the heading
+
+func! TableAlign()
+ if !s:tablemode
+ return
+ endif
+ let temp = ""
+ let linetext = TrimWS(ExpandTabs(getline('.')))
+
+ let nfhead = LenWS(s:heading,0) + 1
+ let nftext = LenWS(linetext,0) + 1
+ let error = 0
+
+ while 1
+ " flag error if current field too big to fit
+ if (nfhead - strlen(temp)) <= 1 && strlen(temp) != 0
+ let error = 1
+ break
+ endif
+
+ " pad to next field of heading and add contents of the next text
+ " field after that
+ let temp = temp . Replicate(' ',nfhead - strlen(temp)-1) . Gettext(linetext,nftext-1)
+
+ let nfhead = NextFieldPos(s:heading,s:fieldsep,nfhead)
+ let nftext = NextFieldPos(linetext,s:fieldsep,nftext)
+
+ " If no next field exit loop
+ if nfhead == 0 || nftext == 0
+ " flag error if row to be aligned has more fields than heading
+ if nftext != 0
+ let error = 1
+ endif
+ break
+ endif
+ endwhile
+ if !error && temp != linetext
+ call setline('.',temp)
+ endif
+endfunc
+
+
+" Function: PrevField
+" Args: None
+"
+" position the cursor at the start of the prev field position
+
+func! PrevField()
+ let nextpos = 1
+ let lastpos = 1
+ let pos = col('.')
+ let linenum = line('.')
+ let fstfield = LenWS(s:heading,0) + 1
+
+ while nextpos != 0
+ let lastpos = nextpos
+ let nextpos = NextFieldPos(s:heading,s:fieldsep,nextpos)
+ if pos > lastpos && (pos <= nextpos || nextpos == 0)
+ let pos = lastpos
+ endif
+ endwhile
+
+ if pos <= fstfield && linenum != 1 && col('.') <= fstfield
+ let linenum = linenum - 1
+ let pos = lastpos
+ endif
+
+ call cursor(linenum,pos)
+endfunc
+
+
+" Function: NextField
+" Args: curmode
+"
+" position the cursor at the start of next field position
+" pad the current line with spaces if needed when in insertion
+" or replace mode
+
+func! NextField(curmode)
+ let l:pos = Max(col('.') - 2,0)
+ let l:startnext = NextFieldPos(s:heading,s:fieldsep,pos)
+ let l:linenum = line('.')
+
+ "If no nextfield on line goto next line
+ "append an empty line if in insert/replace mode
+ if startnext == 0
+ if a:curmode
+ call append(linenum,'')
+ endif
+ let linenum = linenum+1
+ let startnext = LenWS(s:heading,0) + 1
+ endif
+
+ let l:linetext = ExpandTabs(getline(linenum))
+ let l:linelen = strlen(linetext)
+
+ "If padding required
+ if linelen < startnext
+ let linetext = linetext . Replicate(' ',startnext-linelen+1)
+ call setline(linenum,linetext)
+ endif
+
+ if linenum > line('$')
+ let linenum = line('$')
+ let startnext = col('.')
+ endif
+ call cursor(linenum,startnext)
+endfunc
+
+
+" Function: NextFieldPos
+" Args: string,pattern,startposition
+"
+" returns the position of the end of field in which pos
+" is contained
+
+func! NextFieldPos(str,pat,pos)
+ return matchend(a:str,a:pat,a:pos) + 1
+endfunc
+
+
+" Function: Gettext
+" Args: str, pos
+" Description: Extract the text contents of a field from the
+" string str, starting at position pos
+
+func! Gettext(str,pos)
+ let endpos = match(a:str,s:fieldsep,a:pos)
+ if endpos == -1
+ let endpos = strlen(a:str) - 1
+ endif
+ return strpart(a:str,a:pos,endpos - a:pos + 1)
+endfunc
+
+
+" Function: TrimWS
+" Args: str
+" Description: Trim any WS at the end of the string str
+
+func! TrimWS(str)
+ let len = match(a:str,' \{1,}$',0)
+ if len == -1
+ return a:str
+ else
+ return strpart(a:str,0,len)
+ endif
+endfunc
+
+
+" Function: LenWS
+" Args: str, startpos
+" Description: Length of contiguous whitespace starting at
+" position startpos in string str
+
+func! LenWS(str,startpos)
+ let i = 0
+ while a:str[a:startpos+i] == ' '
+ let i = i + 1
+ endwhile
+ return i
+endfunc
+
+
+" Function: Replicate
+" Args: str,cnt
+"
+" Repeat the given string cnt number of times
+
+func! Replicate(str,cnt)
+ let l:temp = ""
+
+ let l:i = 0
+ while i < a:cnt
+ let temp = temp . a:str
+ let i = i + 1
+ endwhile
+
+ return temp
+endfunc
+
+
+" Function: ExpandTabs
+" Args: str
+" Return value: string
+"
+" Expand all tabs in the string to spaces
+" according to tabstop value
+
+func! ExpandTabs(str)
+ let l:str = a:str
+ let l:temp = ""
+
+ let l:i = 0
+ while i < strlen(str)
+ if str[i] == "\t"
+ let temp = temp . Replicate(' ',&tabstop)
+ else
+ let temp = temp . str[i]
+ endif
+ let i = i + 1
+ endwhile
+
+ return temp
+endfunc
+
+" Function: Max
+" Args: x,y
+" Description: return the max of x and y
+
+func! Max(x,y)
+ if a:x >= a:y
+ return a:x
+ else
+ return a:y
+ endif
+endfunc
--- /dev/null
+/usr/share/vim/addons/plugin/SyntaxFolds.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/Tabular.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/airline.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/debPlugin.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/filebrowser.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/gnupg.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/imaps.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/justify.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/lastplace.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/lbdbq.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/matchit.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/plugin/remoteOpen.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/securemodelines.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/surround.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-scripts/plugin/vimplate.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim-voom/plugin/voom.vim
\ No newline at end of file
--- /dev/null
+ADSL
+Ajzen
+Akkerman
+alioth
+alright
+anonymise
+anonymised
+anonymising
+autotools
+B
+bikeshed
+blog
+blogged
+bo
+Boehm
+BTS
+c0ffee
+changelog
+chroot
+codings
+cosmopolite
+cosmopoliteness
+deadbeef
+debhelper
+debian
+Debian
+Debianisation
+debianised
+Debian's
+Delphis
+determinist
+devel
+diff
+dpkg
+EFTE
+Farquhar
+Fishbein
+FreeBSD
+freenode
+Genericity
+hamm
+heterophilous
+heterophily
+Heterophily
+homophilous
+homophily
+Homophily
+iff
+interpretivism
+IRC
+Jun
+learnable
+lenny
+Likert
+lintian
+localite
+madduck
+mdadm
+namespace
+occasionalist
+oldstable
+panelist
+panelists
+peercolation
+Peercolation
+phd
+pkg
+pleonastic
+POSIX
+RC
+rebase
+rebases
+rebasing
+rex
+s
+S
+Schulze
+screenshot
+Slackware
+snapshotted
+Solaris
+svn
+tarball
+tarballs
+Tarde's
+tesseract
+trialability
+Trialability
+trialable
+Troup
+Ubuntu
+upstream's
+vcs
+vi
+Wichert
+wiki
+workflow
+workflows
+netbooks
+Hurd
+grep
--- /dev/null
+/usr/share/vim-scripts/syntax/deb.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/syntax/jinja.vim
\ No newline at end of file
--- /dev/null
+/usr/share/vim/addons/syntax/ledger.vim
\ No newline at end of file
--- /dev/null
+" mediawiki.vim (formerly named Wikipedia.vim)
+"
+" Vim syntax file
+" Language: MediaWiki, http://www.mediawiki.org/
+" Maintainer: This syntax file needs a maintainer in order to ship
+" with Vim. Please contact [[User:Unforgettableid]] if you want
+" to volunteer.
+" Home: http://en.wikipedia.org/wiki/Wikipedia:Text_editor_support#Vim
+" Last Change: 2011 Sep 19
+" Credits: [[User:Aepd87]], [[User:Danny373]], [[User:Ingo Karkat]], et al.
+"
+" Published on Wikipedia in 2003-04 and declared authorless.
+"
+" Based on the HTML syntax file. Probably too closely based, in fact.
+" There may well be name collisions everywhere, but ignorance is bliss,
+" so they say.
+"
+" To do: plug-in support for downloading and uploading to the server.
+
+if !exists("main_syntax")
+ if version < 600
+ syntax clear
+ elseif exists("b:current_syntax")
+ finish
+ endif
+ let main_syntax = "html"
+endif
+
+syntax case ignore
+if v:version >= 700
+ syntax spell toplevel
+endif
+
+" Mark illegal characters
+sy match htmlError "[<>&]"
+
+" Tags
+sy region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,@htmlPreproc
+sy region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,@htmlPreproc
+sy match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=@htmlPreproc
+sy region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
+sy region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
+sy match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
+sy match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
+sy match htmlTagError contained "[^>]<"ms=s+1
+
+" Allowed HTML tag names
+sy keyword htmlTagName contained big blockquote br caption center cite code
+sy keyword htmlTagName contained dd del div dl dt font hr ins li
+sy keyword htmlTagName contained ol p pre rb rp rt ruby s small span strike sub
+sy keyword htmlTagName contained sup table td th tr tt ul var
+sy match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\)\>"
+" Allowed Wiki tag names
+sy keyword htmlTagName contained math nowiki references source syntaxhighlight
+
+" Allowed arg names
+sy keyword htmlArg contained align lang dir width height nowrap bgcolor clear
+sy keyword htmlArg contained noshade cite datetime size face color type start
+sy keyword htmlArg contained value compact summary border frame rules
+sy keyword htmlArg contained cellspacing cellpadding valign char charoff
+sy keyword htmlArg contained colgroup col span abbr axis headers scope rowspan
+sy keyword htmlArg contained colspan id class name style title
+
+" Special characters
+sy match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
+
+" Comments
+sy region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError
+sy match htmlCommentError contained "[^><!]"
+sy region htmlCommentPart contained start=+--+ end=+--\s*+ contains=@htmlPreProc
+sy region htmlComment start=+<!DOCTYPE+ keepend end=+>+
+
+if !exists("html_no_rendering")
+ sy cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,@htmlPreproc
+
+ sy region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ sy region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ sy region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
+ sy region htmlBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlBoldItalicUnderline
+ sy region htmlBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlBoldItalicUnderline
+ sy region htmlBoldUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
+ sy region htmlBoldUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
+ sy region htmlBoldItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
+
+ sy region htmlUnderline start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
+ sy region htmlUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlUnderlineBoldItalic
+ sy region htmlUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlUnderlineBoldItalic
+ sy region htmlUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlUnderlineItalicBold
+ sy region htmlUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlUnderlineItalicBold
+ sy region htmlUnderlineItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
+ sy region htmlUnderlineItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
+ sy region htmlUnderlineBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
+ sy region htmlUnderlineBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
+
+ sy region htmlItalic start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
+ sy region htmlItalic start="<em\>" end="</em>"me=e-5 contains=@htmlTop
+ sy region htmlItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlItalicBoldUnderline
+ sy region htmlItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlItalicBoldUnderline
+ sy region htmlItalicBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop
+ sy region htmlItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlItalicUnderlineBold
+ sy region htmlItalicUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
+ sy region htmlItalicUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
+
+ sy region htmlH1 start="<h1\>" end="</h1>"me=e-5 contains=@htmlTop
+ sy region htmlH2 start="<h2\>" end="</h2>"me=e-5 contains=@htmlTop
+ sy region htmlH3 start="<h3\>" end="</h3>"me=e-5 contains=@htmlTop
+ sy region htmlH4 start="<h4\>" end="</h4>"me=e-5 contains=@htmlTop
+ sy region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
+ sy region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
+endif
+
+
+" No htmlTop and wikiPre inside HTML preformatted areas, because
+" MediaWiki renders everything in there literally (HTML tags and
+" entities, too): <pre> tags work as the combination of <nowiki> and
+" the standard HTML <pre> tag: the content will preformatted, and it
+" will not be parsed, but shown as in the wikitext source.
+"
+" With wikiPre, indented lines would be rendered differently from
+" unindented lines.
+sy match htmlPreTag /<pre>/ contains=htmlTag
+sy match htmlPreEndTag /<\/pre>/ contains=htmlEndTag
+sy match wikiNowikiTag /<nowiki>/ contains=htmlTag
+sy match wikiNowikiEndTag /<\/nowiki>/ contains=htmlEndTag
+sy match wikiSourceTag /<source\s\+[^>]\+>/ contains=htmlTag
+sy match wikiSourceEndTag /<\/source>/ contains=htmlEndTag
+sy match wikiSyntaxHLTag /<syntaxhighlight\s\+[^>]\+>/ contains=htmlTag
+sy match wikiSyntaxHLEndTag /<\/syntaxhighlight>/ contains=htmlEndTag
+
+" Note: Cannot use 'start="<pre>"rs=e', so still have the <pre> tag
+" highlighted correctly via separate sy-match. Unfortunately, this will
+" also highlight <pre> tags inside the preformatted region.
+sy region htmlPre start="<pre>" end="<\/pre>"me=e-6 contains=htmlPreTag
+sy region wikiNowiki start="<nowiki>" end="<\/nowiki>"me=e-9 contains=wikiNowikiTag
+sy region wikiSource start="<source\s\+[^>]\+>" keepend end="<\/source>"me=e-9 contains=wikiSourceTag
+sy region wikiSyntaxHL start="<syntaxhighlight\s\+[^>]\+>" keepend end="<\/syntaxhighlight>"me=e-18 contains=wikiSyntaxHLTag
+
+sy include @TeX syntax/tex.vim
+sy region wikiTeX matchgroup=htmlTag start="<math>" end="<\/math>" contains=@texMathZoneGroup,wikiNowiki,wikiNowikiEndTag
+sy region wikiRef matchgroup=htmlTag start="<ref>" end="<\/ref>" contains=wikiNowiki,wikiNowikiEndTag
+
+sy cluster wikiTop contains=@Spell,wikiLink,wikiNowiki,wikiNowikiEndTag
+
+sy region wikiItalic start=+'\@<!'''\@!+ end=+''+ oneline contains=@wikiTop,wikiItalicBold
+sy region wikiBold start=+'''+ end=+'''+ oneline contains=@wikiTop,wikiBoldItalic
+sy region wikiBoldAndItalic start=+'''''+ end=+'''''+ oneline contains=@wikiTop
+
+sy region wikiBoldItalic contained start=+'\@<!'''\@!+ end=+''+ oneline contains=@wikiTop
+sy region wikiItalicBold contained start=+'''+ end=+'''+ oneline contains=@wikiTop
+
+sy region wikiH1 start="^=" end="=" oneline contains=@wikiTop
+sy region wikiH2 start="^==" end="==" oneline contains=@wikiTop
+sy region wikiH3 start="^===" end="===" oneline contains=@wikiTop
+sy region wikiH4 start="^====" end="====" oneline contains=@wikiTop
+sy region wikiH5 start="^=====" end="=====" oneline contains=@wikiTop
+sy region wikiH6 start="^======" end="======" oneline contains=@wikiTop
+
+sy region wikiLink start="\[\[" end="\]\]\(s\|'s\|es\|ing\|\)" oneline contains=wikiLink,wikiNowiki,wikiNowikiEndTag
+
+sy region wikiLink start="\[http:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+sy region wikiLink start="\[https:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+sy region wikiLink start="\[ftp:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+sy region wikiLink start="\[gopher:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+sy region wikiLink start="\[news:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+sy region wikiLink start="\[mailto:" end="\]" oneline contains=wikiNowiki,wikiNowikiEndTag
+
+sy region wikiTemplate start="{{" end="}}" contains=wikiNowiki,wikiNowikiEndTag
+
+sy match wikiParaFormatChar /^[\:|\*|;|#]\+/
+sy match wikiParaFormatChar /^-----*/
+sy match wikiPre /^\ .*$/ contains=wikiNowiki,wikiNowikiEndTag
+
+
+" HTML highlighting
+
+if version < 508
+ command! -nargs=+ HtmlHiLink hi link <args>
+else
+ command! -nargs=+ HtmlHiLink hi def link <args>
+endif
+
+if version >= 508 || !exists("did_html_syn_inits")
+ HtmlHiLink htmlTag Function
+ HtmlHiLink htmlEndTag Identifier
+ HtmlHiLink htmlArg Type
+ HtmlHiLink htmlTagName htmlStatement
+ HtmlHiLink htmlSpecialTagName Exception
+ HtmlHiLink htmlValue String
+ HtmlHiLink htmlSpecialChar Special
+
+ if !exists("html_no_rendering")
+ HtmlHiLink htmlTitle Title
+ HtmlHiLink htmlH1 htmlTitle
+ HtmlHiLink htmlH2 htmlTitle
+ HtmlHiLink htmlH3 htmlTitle
+ HtmlHiLink htmlH4 htmlTitle
+ HtmlHiLink htmlH5 htmlTitle
+ HtmlHiLink htmlH6 htmlTitle
+
+ HtmlHiLink htmlPreProc PreProc
+ HtmlHiLink htmlHead htmlPreProc
+ HtmlHiLink htmlPreProcAttrName htmlPreProc
+ HtmlHiLink htmlPreStmt htmlPreProc
+
+ HtmlHiLink htmlSpecial Special
+ HtmlHiLink htmlCssDefinition htmlSpecial
+ HtmlHiLink htmlEvent htmlSpecial
+ HtmlHiLink htmlSpecialChar htmlSpecial
+
+ HtmlHiLink htmlComment Comment
+ HtmlHiLink htmlCommentPart htmlComment
+ HtmlHiLink htmlCssStyleComment htmlComment
+
+ HtmlHiLink htmlString String
+ HtmlHiLink htmlPreAttr htmlString
+ HtmlHiLink htmlValue htmlString
+
+ HtmlHiLink htmlError Error
+ HtmlHiLink htmlBadArg htmlError
+ HtmlHiLink htmlBadTag htmlError
+ HtmlHiLink htmlCommentError htmlError
+ HtmlHiLink htmlPreError htmlError
+ HtmlHiLink htmlPreProcAttrError htmlError
+ HtmlHiLink htmlTagError htmlError
+
+ HtmlHiLink htmlStatement Statement
+
+ HtmlHiLink htmlConstant Constant
+
+ HtmlHiLink htmlBoldItalicUnderline htmlBoldUnderlineItalic
+ HtmlHiLink htmlUnderlineItalicBold htmlBoldUnderlineItalic
+ HtmlHiLink htmlUnderlineBoldItalic htmlBoldUnderlineItalic
+ HtmlHiLink htmlItalicBoldUnderline htmlBoldUnderlineItalic
+ HtmlHiLink htmlItalicUnderlineBold htmlBoldUnderlineItalic
+
+ HtmlHiLink htmlItalicBold htmlBoldItalic
+ HtmlHiLink htmlItalicUnderline htmlUnderlineItalic
+ HtmlHiLink htmlUnderlineBold htmlBoldUnderline
+
+ HtmlHiLink htmlLink Underlined
+
+ if !exists("html_my_rendering")
+ hi def htmlBold term=bold cterm=bold gui=bold
+ hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
+ hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
+ hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
+ hi def htmlUnderline term=underline cterm=underline gui=underline
+ hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
+ hi def htmlItalic term=italic cterm=italic gui=italic
+ endif
+
+ endif " !exists("html_no_rendering")
+
+ if version < 508
+ let did_html_syn_inits = 1
+ endif
+
+endif " version >= 508 || !exists("did_html_syn_inits")
+
+" Wiki highlighting
+
+HtmlHiLink wikiItalic htmlItalic
+HtmlHiLink wikiBold htmlBold
+HtmlHiLink wikiBoldItalic htmlBoldItalic
+HtmlHiLink wikiItalicBold htmlBoldItalic
+HtmlHiLink wikiBoldAndItalic htmlBoldItalic
+
+HtmlHiLink wikiH1 htmlTitle
+HtmlHiLink wikiH2 htmlTitle
+HtmlHiLink wikiH3 htmlTitle
+HtmlHiLink wikiH4 htmlTitle
+HtmlHiLink wikiH5 htmlTitle
+HtmlHiLink wikiH6 htmlTitle
+
+HtmlHiLink wikiLink htmlLink
+HtmlHiLink wikiTemplate htmlSpecial
+HtmlHiLink wikiParaFormatChar htmlSpecial
+HtmlHiLink wikiPre htmlConstant
+HtmlHiLink wikiRef htmlComment
+
+HtmlHiLink wikiSource wikiPre
+HtmlHiLink wikiSyntaxHL wikiPre
+
+
+let b:current_syntax = "html"
+
+delcommand HtmlHiLink
+
+if main_syntax == "html"
+ unlet main_syntax
+endif
+
+" vim: set et sts=2 sw=2:
--- /dev/null
+" puppet syntax file
+" Filename: puppet.vim
+" Language: puppet configuration file
+" Maintainer: Luke Kanies <luke@madstop.com>
+" URL:
+" Last Change:
+" Version:
+"
+
+" Copied from the cfengine, ruby, and perl syntax files
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn region puppetDefine start="^\s*\(class\|define\|site\|node\)" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments
+syn keyword puppetDefType class define site node inherits contained
+syn keyword puppetInherits inherits contained
+syn region puppetDefArguments start="(" end=")" contains=puppetArgument
+syn match puppetArgument "\w\+" contained
+syn match puppetArgument "\$\w\+" contained
+syn match puppetArgument "'[^']+'" contained
+syn match puppetArgument '"[^"]+"' contained
+syn match puppetDefName "\w\+" contained
+
+syn match puppetInstance "\w\+\s*{" contains=puppetTypeBrace,puppetTypeName,puppetTypeDefault
+syn match puppetTypeBrace "{" contained
+syn match puppetTypeName "[a-z]\w*" contained
+syn match puppetTypeDefault "[A-Z]\w*" contained
+
+syn match puppetParam "\w\+\s*=>" contains=puppetTypeRArrow,puppetParamName
+syn match puppetParamRArrow "=>" contained
+syn match puppetParamName "\w\+" contained
+syn match puppetVariable "$\w\+"
+syn match puppetVariable "${\w\+}"
+syn match puppetParen "("
+syn match puppetParen ")"
+syn match puppetBrace "{"
+syn match puppetBrace "}"
+
+syn region puppetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=puppetVariable
+
+syn keyword puppetBoolean true false
+syn keyword puppetKeyword import inherits include
+syn keyword puppetControl case default
+
+" comments last overriding everything else
+syn match puppetComment "\s*#.*$" contains=puppetTodo
+syn keyword puppetTodo TODO NOTE FIXME XXX contained
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_puppet_syn_inits")
+ if version < 508
+ let did_puppet_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink puppetVariable Identifier
+ HiLink puppetBoolean Boolean
+ HiLink puppetType Identifier
+ HiLink puppetDefault Identifier
+ HiLink puppetKeyword Define
+ HiLink puppetTypeDefs Define
+ HiLink puppetComment Comment
+ HiLink puppetString String
+ HiLink puppetTodo Todo
+" HiLink puppetBrace Delimiter
+" HiLink puppetTypeBrace Delimiter
+" HiLink puppetParen Delimiter
+ HiLink puppetDelimiter Delimiter
+ HiLink puppetControl Statement
+ HiLink puppetDefType Define
+ HiLink puppetDefName Type
+ HiLink puppetTypeName Statement
+ HiLink puppetTypeDefault Type
+ HiLink puppetParamName Identifier
+ HiLink puppetArgument Identifier
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "puppet"
--- /dev/null
+" Vim syntax file
+" Language: TeX
+" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
+" Last Change: Feb 27, 2007
+" Version: 37
+" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
+"
+" Notes: {{{1
+"
+" 1. If you have a \begin{verbatim} that appears to overrun its boundaries,
+" use %stopzone.
+"
+" 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped
+" by suitable use of %stopzone.
+"
+" 3. If you have a slow computer, you may wish to modify
+"
+" syn sync maxlines=200
+" syn sync minlines=50
+"
+" to values that are more to your liking.
+"
+" 4. There is no match-syncing for $...$ and $$...$$; hence large
+" equation blocks constructed that way may exhibit syncing problems.
+" (there's no difference between begin/end patterns)
+"
+" 5. If you have the variable "g:tex_no_error" defined then none of the
+" lexical error-checking will be done.
+"
+" ie. let g:tex_no_error=1
+
+" Version Clears: {{{1
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Define the default highlighting. {{{1
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_tex_syntax_inits")
+ let did_tex_syntax_inits = 1
+ if version < 508
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+endif
+if exists("g:tex_tex") && !exists("g:tex_no_error")
+ let g:tex_no_error= 1
+endif
+
+" Determine whether or not to use "*.sty" mode {{{1
+" The user may override the normal determination by setting
+" g:tex_stylish to 1 (for "*.sty" mode)
+" or to 0 else (normal "*.tex" mode)
+" or on a buffer-by-buffer basis with b:tex_stylish
+let b:extfname=expand("%:e")
+if exists("g:tex_stylish")
+ let b:tex_stylish= g:tex_stylish
+elseif !exists("b:tex_stylish")
+ if b:extfname == "sty" || b:extfname == "cls" || b:extfname == "clo" || b:extfname == "dtx" || b:extfname == "ltx"
+ let b:tex_stylish= 1
+ else
+ let b:tex_stylish= 0
+ endif
+endif
+
+" handle folding {{{1
+if !exists("g:tex_fold_enabled")
+ let g:tex_fold_enabled= 0
+elseif g:tex_fold_enabled && !has("folding")
+ let g:tex_fold_enabled= 0
+ echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support"
+endif
+if g:tex_fold_enabled && &fdm == "manual"
+ set fdm=syntax
+endif
+
+" (La)TeX keywords: only use the letters a-zA-Z {{{1
+" but _ is the only one that causes problems.
+if version < 600
+ set isk-=_
+ if b:tex_stylish
+ set isk+=@
+ endif
+else
+ setlocal isk-=_
+ if b:tex_stylish
+ setlocal isk+=@
+ endif
+endif
+
+" Clusters: {{{1
+" --------
+syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSectionMarker,texSectionName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texURLZone,texAcroZone
+if !exists("g:tex_no_error")
+ syn cluster texCmdGroup add=texMathError
+endif
+syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
+syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texURLZone,texAcroZone
+syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texURLZone,texAcroZone,@Spell
+syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
+if !exists("tex_no_math")
+ syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
+ syn cluster texMatchGroup add=@texMathZones
+ syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
+ syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
+ syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
+ if !exists("g:tex_no_error")
+ syn cluster texMathMatchGroup add=texMathError
+ syn cluster texMathZoneGroup add=texMathError
+ endif
+ syn cluster texMathZoneGroup add=@NoSpell
+ " following used in the \part \chapter \section \subsection \subsubsection
+ " \paragraph \subparagraph \author \title highlighting
+ syn cluster texDocGroup contains=texPartZone,@texPartGroup
+ syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone
+ syn cluster texChapterGroup contains=texSectionZone,texParaZone
+ syn cluster texSectionGroup contains=texSubSectionZone,texParaZone
+ syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone
+ syn cluster texSubSubSectionGroup contains=texParaZone
+ syn cluster texParaGroup contains=texSubParaZone
+endif
+syn cluster texURLGroup contains=texMatcher,@NoSpell
+syn cluster texAcroGroup contains=texMatcher,@NoSpell
+
+" Try to flag {} and () mismatches: {{{1
+if !exists("g:tex_no_error")
+ syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError
+ syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError
+else
+ syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup
+ syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup
+endif
+syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
+if !exists("g:tex_no_error")
+ syn match texError "[}\])]"
+endif
+if !exists("tex_no_math")
+ if !exists("g:tex_no_error")
+ syn match texMathError "}" contained
+ endif
+ syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
+endif
+
+" TeX/LaTeX keywords: {{{1
+" Instead of trying to be All Knowing, I just match \..alphameric..
+" Note that *.tex files may not have "@" in their \commands
+if exists("g:tex_tex") || b:tex_stylish
+ syn match texStatement "\\[a-zA-Z@]\+"
+else
+ syn match texStatement "\\\a\+"
+ if !exists("g:tex_no_error")
+ syn match texError "\\\a*@[a-zA-Z@]*"
+ endif
+endif
+
+" TeX/LaTeX delimiters: {{{1
+syn match texDelimiter "&"
+syn match texDelimiter "\\\\"
+
+" Tex/Latex Options: {{{1
+syn match texOption "[^\\]\zs#\d\+\|^#\d\+"
+
+" texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1
+if b:tex_stylish
+ syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
+else
+ syn match texAccent "\\[bcdvuH]\A"me=e-1
+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1
+endif
+syn match texAccent "\\[bcdvuH]$"
+syn match texAccent +\\[=^.\~"`']+
+syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+
+syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
+
+" \begin{}/\end{} section markers: {{{1
+syn match texSectionMarker "\\begin\>\|\\end\>" nextgroup=texSectionName
+syn region texSectionName matchgroup=Delimiter start="{" end="}" contained nextgroup=texSectionModifier
+syn region texSectionModifier matchgroup=Delimiter start="\[" end="]" contained
+
+" \documentclass, \documentstyle, \usepackage: {{{1
+syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texSectionName,texDocTypeArgs
+syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texSectionName
+
+" Preamble syntax-based folding support: {{{1
+if g:tex_fold_enabled && has("folding")
+ syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=@texMatchGroup
+endif
+
+" TeX input: {{{1
+syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatement
+syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies
+syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
+syn match texInputCurlies "[{}]" contained
+syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained
+
+" Type Styles (LaTeX 2.09): {{{1
+syn match texTypeStyle "\\rm\>"
+syn match texTypeStyle "\\em\>"
+syn match texTypeStyle "\\bf\>"
+syn match texTypeStyle "\\it\>"
+syn match texTypeStyle "\\sl\>"
+syn match texTypeStyle "\\sf\>"
+syn match texTypeStyle "\\sc\>"
+syn match texTypeStyle "\\tt\>"
+
+" Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1
+syn match texTypeStyle "\\textbf\>"
+syn match texTypeStyle "\\textit\>"
+syn match texTypeStyle "\\textmd\>"
+syn match texTypeStyle "\\textrm\>"
+syn match texTypeStyle "\\textsc\>"
+syn match texTypeStyle "\\textsf\>"
+syn match texTypeStyle "\\textsl\>"
+syn match texTypeStyle "\\texttt\>"
+syn match texTypeStyle "\\textup\>"
+syn match texTypeStyle "\\emph\>"
+
+syn match texTypeStyle "\\mathbb\>"
+syn match texTypeStyle "\\mathbf\>"
+syn match texTypeStyle "\\mathcal\>"
+syn match texTypeStyle "\\mathfrak\>"
+syn match texTypeStyle "\\mathit\>"
+syn match texTypeStyle "\\mathnormal\>"
+syn match texTypeStyle "\\mathrm\>"
+syn match texTypeStyle "\\mathsf\>"
+syn match texTypeStyle "\\mathtt\>"
+
+syn match texTypeStyle "\\rmfamily\>"
+syn match texTypeStyle "\\sffamily\>"
+syn match texTypeStyle "\\ttfamily\>"
+
+syn match texTypeStyle "\\itshape\>"
+syn match texTypeStyle "\\scshape\>"
+syn match texTypeStyle "\\slshape\>"
+syn match texTypeStyle "\\upshape\>"
+
+syn match texTypeStyle "\\bfseries\>"
+syn match texTypeStyle "\\mdseries\>"
+
+" Some type sizes: {{{1
+syn match texTypeSize "\\tiny\>"
+syn match texTypeSize "\\scriptsize\>"
+syn match texTypeSize "\\footnotesize\>"
+syn match texTypeSize "\\small\>"
+syn match texTypeSize "\\normalsize\>"
+syn match texTypeSize "\\large\>"
+syn match texTypeSize "\\Large\>"
+syn match texTypeSize "\\LARGE\>"
+syn match texTypeSize "\\huge\>"
+syn match texTypeSize "\\Huge\>"
+
+" Spacecodes (TeX'isms): {{{1
+" \mathcode`\^^@="2201 \delcode`\(="028300 \sfcode`\)=0 \uccode`X=`X \lccode`x=`x
+syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar
+syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
+
+" Sections, subsections, etc: {{{1
+if g:tex_fold_enabled && has("folding")
+ syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
+ syn region texPartZone matchgroup=texSection start='\\part\>' end='\n\ze\s*\\part\>' fold contains=@texFoldGroup,@texPartGroup,@Spell
+ syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\n\ze\s*\\chapter\>' fold contains=@texFoldGroup,@texChapterGroup,@Spell
+ syn region texSectionZone matchgroup=texSection start='\\section\>' end='\n\ze\s*\\section\>' fold contains=@texFoldGroup,@texSectionGroup,@Spell
+ syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\n\ze\s*\\subsection\>' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
+ syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\n\ze\s*\\subsubsection\>' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
+ syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\n\ze\s*\\paragraph\>' fold contains=@texFoldGroup,@texParaGroup,@Spell
+ syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\n\ze\s*\\subparagraph\>' fold contains=@texFoldGroup,@Spell
+ syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell
+ syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell
+else
+ syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
+ syn region texPartZone matchgroup=texSection start='\\part\>' end='\n\ze\s*\\part\>' contains=@texFoldGroup,@texPartGroup,@Spell
+ syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\n\ze\s*\\chapter\>' contains=@texFoldGroup,@texChapterGroup,@Spell
+ syn region texSectionZone matchgroup=texSection start='\\section\>' end='\n\ze\s*\\section\>' contains=@texFoldGroup,@texSectionGroup,@Spell
+ syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\n\ze\s*\\subsection\>' contains=@texFoldGroup,@texSubSectionGroup,@Spell
+ syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\n\ze\s*\\subsubsection\>' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
+ syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\n\ze\s*\\paragraph\>' contains=@texFoldGroup,@texParaGroup,@Spell
+ syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\n\ze\s*\\subparagraph\>' contains=@texFoldGroup,@Spell
+ syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
+ syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
+endif
+
+" Bad Math (mismatched): {{{1
+if !exists("tex_no_math")
+ syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
+ syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}"
+ syn match texBadMath "\\[\])]"
+endif
+
+" Math Zones: {{{1
+if !exists("tex_no_math")
+ " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2
+ " Starred forms are created if starform is true. Starred
+ " forms have syntax group and synchronization groups with a
+ " "S" appended. Handles: cluster, syntax, sync, and HiLink.
+ fun! TexNewMathZone(sfx,mathzone,starform)
+ let grpname = "texMathZone".a:sfx
+ let syncname = "texSyncMathZone".a:sfx
+ exe "syn cluster texMathZones add=".grpname
+ exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'
+ exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+ exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+ exe 'HiLink '.grpname.' texMath'
+ if a:starform
+ let grpname = "texMathZone".a:sfx.'S'
+ let syncname = "texSyncMathZone".a:sfx.'S'
+ exe "syn cluster texMathZones add=".grpname
+ exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'
+ exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+ exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+ exe 'HiLink '.grpname.' texMath'
+ endif
+ endfun
+
+ " Standard Math Zones: {{{2
+ call TexNewMathZone("A","align",1)
+ call TexNewMathZone("B","alignat",1)
+ call TexNewMathZone("C","displaymath",1)
+ call TexNewMathZone("D","eqnarray",1)
+ call TexNewMathZone("E","equation",1)
+ call TexNewMathZone("F","flalign",1)
+ call TexNewMathZone("G","gather",1)
+ call TexNewMathZone("H","math",1)
+ call TexNewMathZone("I","multline",1)
+ call TexNewMathZone("J","subequations",0)
+ call TexNewMathZone("K","xalignat",1)
+ call TexNewMathZone("L","xxalignat",0)
+
+ " Inline Math Zones: {{{2
+ syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
+ syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
+ syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
+ syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
+ syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
+
+ syn match texMathOper "[_^=]" contained
+
+ " \left..something.. and \right..something.. support: {{{2
+ syn match texMathDelimBad contained "\S"
+ syn match texMathDelim contained "\\\(left\|right\|[bB]igg\=[lr]\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad
+ syn match texMathDelim contained "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>"
+ syn match texMathDelim contained "\\lefteqn\>"
+ syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad
+ syn match texMathDelimSet1 contained "[<>()[\]|/.]\|\\[{}|]"
+ syn keyword texMathDelimKey contained backslash lceil lVert rgroup uparrow
+ syn keyword texMathDelimKey contained downarrow lfloor rangle rmoustache Uparrow
+ syn keyword texMathDelimKey contained Downarrow lgroup rbrace rvert updownarrow
+ syn keyword texMathDelimKey contained langle lmoustache rceil rVert Updownarrow
+ syn keyword texMathDelimKey contained lbrace lvert rfloor
+endif
+
+" Special TeX characters ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1
+syn match texSpecialChar "\\[$&%#{}_]"
+if b:tex_stylish
+ syn match texSpecialChar "\\[SP@][^a-zA-Z@]"me=e-1
+else
+ syn match texSpecialChar "\\[SP@]\A"me=e-1
+endif
+syn match texSpecialChar "\\\\"
+if !exists("tex_no_math")
+ syn match texOnlyMath "[_^]"
+endif
+syn match texSpecialChar "\^\^[0-9a-f]\{2}\|\^\^\S"
+
+" Comments: {{{1
+" Normal TeX LaTeX : %....
+" Documented TeX Format: ^^A... -and- leading %s (only)
+syn cluster texCommentGroup contains=texTodo,@NoSpell
+syn case ignore
+syn keyword texTodo contained combak fixme todo xxx
+syn case match
+if b:extfname == "dtx"
+ syn match texComment "\^\^A.*$" contains=@texCommentGroup
+ syn match texComment "^%\+" contains=@texCommentGroup
+else
+ if g:tex_fold_enabled
+ " allows syntax-folding of 2 or more contiguous comment lines
+ " single-line comments are not folded
+ syn match texComment "%.*$" contains=@texCommentGroup
+ syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
+ else
+ syn match texComment "%.*$" contains=@texCommentGroup
+ endif
+endif
+
+" Separate lines used for verb` and verb# so that the end conditions {{{1
+" will appropriately terminate. Ideally vim would let me save a
+" character from the start pattern and re-use it in the end-pattern.
+syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" contains=@Spell
+" listings package:
+syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
+" moreverb package:
+syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" contains=@Spell
+syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" contains=@Spell
+syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" contains=@Spell
+if version < 600
+ syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>"
+ syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>"
+else
+ if b:tex_stylish
+ syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>"
+ else
+ syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>"
+ endif
+endif
+
+" Tex Reference Zones: {{{1
+syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
+syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
+syn match texRefZone '\\[cC]ite\%(\%(al\)\=\%([tp]\*\=\)\|num\|author\|year\|yearpar\|fullauthor\)\=' nextgroup=texRefOption,texCite
+syn match texRefZone '\\[cC]itetext' nextgroup=texRefOption,texFreeCite
+syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texCite nextgroup=texRefOption,texCite
+syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup
+syn region texFreeCite contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texMatchGroup
+
+" Handle newcommand, newenvironment : {{{1
+syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
+syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
+syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
+syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup
+syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl
+syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
+syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
+syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
+
+" Definitions/Commands: {{{1
+syn match texDefCmd "\\def\>" nextgroup=texDefName skipwhite skipnl
+if b:tex_stylish
+ syn match texDefName contained "\\[a-zA-Z@]\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl
+ syn match texDefName contained "\\[^a-zA-Z@]" nextgroup=texDefParms,texCmdBody skipwhite skipnl
+else
+ syn match texDefName contained "\\\a\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl
+ syn match texDefName contained "\\\A" nextgroup=texDefParms,texCmdBody skipwhite skipnl
+endif
+syn match texDefParms contained "#[^{]*" contains=texDefParm nextgroup=texCmdBody skipwhite skipnl
+syn match texDefParm contained "#\d\+"
+
+" Tex URL Zones: {{{1
+syn region texURLZone matchgroup=texURLZone start="\\\%(url\|href\){" end="}\|%stopzone\>" contains=@texURLGroup
+syn region texURLZone matchgroup=texURLZone start="\\burl\%(alt\)\={" end="}\|%stopzone\>" contains=@texURLGroup
+syn region texURLZone matchgroup=texURLZone start="\\\%(link\|email\){" end="}\|%stopzone\>" contains=@texURLGroup
+
+" Tex Acronym Zones: {{{1
+syn region texAcroZone matchgroup=texAcroZone start="\\ac\%(fi\|[fls]\=p\=\)\*\={" end="}\|%stopzone\>" contains=@texAcroGroup
+syn region texAcroZone matchgroup=texAcroZone start="\\ac\%(used\|[ls]u\*\=\){" end="}\|%stopzone\>" contains=@texAcroGroup
+
+" TeX Lengths: {{{1
+syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>"
+
+" TeX String Delimiters: {{{1
+syn match texString "\(``\|''\|,,\)"
+
+" LaTeX synchronization: {{{1
+syn sync maxlines=200
+syn sync minlines=50
+
+syn sync match texSyncStop groupthere NONE "%stopzone\>"
+
+" Synchronization: {{{1
+" The $..$ and $$..$$ make for impossible sync patterns
+" (one can't tell if a "$$" starts or stops a math zone by itself)
+" The following grouptheres coupled with minlines above
+" help improve the odds of good syncing.
+if !exists("tex_no_math")
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{abstract}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{center}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{description}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{enumerate}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{itemize}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{table}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\end{tabular}"
+ syn sync match texSyncMathZoneA groupthere NONE "\\\(sub\)*section\>"
+endif
+
+" Highlighting: {{{1
+if did_tex_syntax_inits == 1
+ let did_tex_syntax_inits= 2
+ " TeX highlighting groups which should share similar highlighting
+ if !exists("g:tex_no_error")
+ if !exists("tex_no_math")
+ HiLink texBadMath texError
+ HiLink texMathDelimBad texError
+ HiLink texMathError texError
+ if !b:tex_stylish
+ HiLink texOnlyMath texError
+ endif
+ endif
+ HiLink texError Error
+ endif
+
+ HiLink texCite texRefZone
+ HiLink texDefCmd texDef
+ HiLink texDefName texDef
+ HiLink texDocType texCmdName
+ HiLink texDocTypeArgs texCmdArgs
+ HiLink texInputFileOpt texCmdArgs
+ HiLink texInputCurlies texDelimiter
+ HiLink texLigature texSpecialChar
+ if !exists("tex_no_math")
+ HiLink texMathDelimSet1 texMathDelim
+ HiLink texMathDelimSet2 texMathDelim
+ HiLink texMathDelimKey texMathDelim
+ HiLink texMathMatcher texMath
+ HiLink texMathZoneW texMath
+ HiLink texMathZoneX texMath
+ HiLink texMathZoneY texMath
+ HiLink texMathZoneZ texMath
+ endif
+ HiLink texSectionMarker texCmdName
+ HiLink texSectionName texSection
+ HiLink texSpaceCode texStatement
+ HiLink texTypeSize texType
+ HiLink texTypeStyle texType
+
+ " Basic TeX highlighting groups
+ HiLink texAcroZone Special
+ HiLink texCmdArgs Number
+ HiLink texCmdName Statement
+ HiLink texComment Comment
+ HiLink texDef Statement
+ HiLink texDefParm Special
+ HiLink texDelimiter Delimiter
+ HiLink texInput Special
+ HiLink texInputFile Special
+ HiLink texLength Number
+ HiLink texMath Special
+ HiLink texMathDelim Statement
+ HiLink texMathOper Operator
+ HiLink texNewCmd Statement
+ HiLink texNewEnv Statement
+ HiLink texOption Number
+ HiLink texRefZone Special
+ HiLink texSection PreCondit
+ HiLink texSpaceCodeChar Special
+ HiLink texSpecialChar SpecialChar
+ HiLink texStatement Statement
+ HiLink texString String
+ HiLink texTodo Todo
+ HiLink texType Type
+ HiLink texURLZone Special
+ HiLink texZone PreCondit
+
+ delcommand HiLink
+endif
+
+" Current Syntax: {{{1
+unlet b:extfname
+let b:current_syntax = "tex"
+" vim: ts=8 fdm=marker
--- /dev/null
+# This is an example configuration.
+# please see: http://napali.ch/vimplate
+
+# you can use $Config::opt instead command options:
+# -user=<user> -dir=<dir>
+$Config::opt = {
+ dir => '/home/madduck/templates',
+ user => 'madduck',
+};
+
+# we need $Config::user with the option -user=<name>
+$Config::user = {
+ madduck => {
+ firstname => 'Martin',
+ lastname => 'Krafft',
+ mail => 'mail@martin-krafft.net',
+ etc => '...',
+ },
+ otherUser => {
+ firstname => 'otherFirstname',
+ lastname => 'otherLastname',
+ mail => 'otherMail@example.org',
+ },
+};
+
+# use $Config::var for your own variables or subroutines
+$Config::var = {
+ yourArray => [ 'Perl', 'C', 'C++' ],
+ example => sub{ time },
+};
--- /dev/null
+" obtained from the output of :options, then postprocessed:
+" d2}
+" :%s/^ *[[:digit:]]\+/"""
+" qa
+" ma
+" wi<BS>\n<ESC>
+" /^\([^[:space:]"].*\)\?$/
+" k
+" :'a,.s/^/" /
+" /^[^[:space:]"]
+" O<ESC>
+" :%s,\n\n\n",\r\r"
+
+""" important
+
+" compatible
+" behave very Vi compatible (not advisable)
+" set cp nocp
+set nocp
+
+" cpoptions
+" list of flags to specify Vi compatibility
+" set cpo=aABceFs
+
+" insertmode
+" use Insert mode as the default mode
+" set noim im
+
+" paste
+" paste mode, insert typed text literally
+" set nopaste paste
+
+" pastetoggle
+" key sequence to toggle paste mode
+" set pt=
+set pt=<F2>
+
+" runtimepath
+" list of directories used for runtime files and plugins
+" set rtp=/home/madduck/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vimcurrent,/usr/share/vim/vimfiles/after,/home/madduck/.vim/after
+
+" helpfile
+" name of the main help file
+" set hf=/usr/share/vim/vimcurrent/doc/help.txt
+
+""" moving around, searching and patterns
+
+" whichwrap
+" list of flags specifying which commands wrap to another line
+" (local to window)
+" set ww=
+set ww=b,s,[,<,>,],~
+
+" startofline
+" many jump commands move the cursor to the first non-blank
+" character of a line
+" set sol nosol
+
+" paragraphs
+" nroff macro names that separate paragraphs
+" set para=IPLPPPQPP\ LIpplpipbp
+
+" sections
+" nroff macro names that separate sections
+" set sect=SHNHH\ HUnhsh
+
+" path
+" list of directory names used for file searching
+" (global or local to buffer)
+" set pa=.,/usr/include,,
+
+" cdpath
+" list of directory names used for :cd
+" set cd=,,
+
+" wrapscan
+" search commands wrap around the end of the buffer
+" set ws nows
+"set ws
+
+" incsearch
+" show match for partly typed search command
+" set nois is
+set is
+
+" magic
+" change the way backslashes are used in search patterns
+" set magic nomagic
+
+" ignorecase
+" ignore case when using a search pattern
+" set noic ic
+set ic
+
+" smartcase
+" override 'ignorecase' when pattern has upper case characters
+" set noscs scs
+set scs
+
+" casemap
+" What method to use for changing case of letters
+" set cmp=internal,keepascii
+
+" maxmempattern
+" maximum amount of memory in Kbyte used for pattern matching
+" set mmp=1000
+
+" define
+" pattern for a macro definition line
+" (global or local to buffer)
+" set def=^\\s*#\\s*define
+
+" include
+" pattern for an include-file line
+" (local to buffer)
+" set inc=^\\s*#\\s*include
+
+" includeexpr
+" expression used to transform an include line to a file name
+" (local to buffer)
+" set inex=
+
+""" tags
+
+" tagbsearch
+" use binary searching in tags files
+" set tbs notbs
+
+" taglength
+" number of significant characters in a tag name or zero
+" set tl=0
+
+" tags
+" list of file names to search for tags
+" (global or local to buffer)
+" set tag=./tags,./TAGS,tags,TAGS
+
+" tagrelative
+" file names in a tags file are relative to the tags file
+" set notr tr
+
+" tagstack
+" a :tag command will use the tagstack
+" set tgst notgst
+
+" showfulltag
+" when completing tags in Insert mode show more info
+" set nosft sft
+
+" cscopeprg
+" command for executing cscope
+" set csprg=cscope
+
+" cscopetag
+" use cscope for tag commands
+" set nocst cst
+
+" cscopetagorder
+" 0 or 1; the order in which ":cstag" performs a search
+" set csto=0
+
+" cscopeverbose
+" give messages when adding a cscope database
+" set nocsverb csverb
+
+" cscopepathcomp
+" how many components of the path to show
+" set cspc=0
+
+" cscopequickfix
+" When to open a quickfix window for cscope
+" set csqf=
+
+""" displaying text
+
+" scroll
+" number of lines to scroll for CTRL-U and CTRL-D
+" (local to window)
+" set scr=8
+
+" scrolloff
+" number of screen lines to show around the cursor
+" set so=0
+set so=5
+
+" wrap
+" long lines wrap
+" set wrap nowrap
+set nowrap
+
+" linebreak
+" wrap long lines at a character in 'breakat'
+" (local to window)
+" set nolbr lbr
+" does not work with autocmd set list/nolist below
+
+" breakat
+" which characters might cause a line break
+" set brk=\ \ !@*-+;:,./?
+
+" showbreak
+" string to put before wrapped screen lines
+" set sbr=
+
+" sidescroll
+" minimal number of columns to scroll horizontally
+" set ss=0
+
+" sidescrolloff
+" minimal number of columns to keep left and right of the cursor
+" set siso=0
+set siso=0
+
+" display
+" include "lastline" to show the last line even if it doesn't fit
+" include "uhex" to show unprintable characters as a hex number
+" set dy=
+set dy=lastline,uhex
+
+" fillchars
+" characters to use for the status line, folds and filler lines
+" set fcs=vert:\|,fold:-
+
+" cmdheight
+" number of lines used for the command-line
+" set ch=1
+
+" columns
+" width of the display
+" set co=80
+
+" lines
+" number of lines in the display
+" set lines=25
+
+" lazyredraw
+" don't redraw while executing macros
+" set nolz lz
+set lz
+
+" writedelay
+" delay in msec for each char written to the display
+" (for debugging)
+" set wd=0
+
+" list
+" show <Tab> as ^I and end-of-line as $
+" (local to window)
+" set nolist list
+set list
+
+" listchars
+" list of strings used for list mode
+" set lcs=eol:$
+set lcs=tab:⇝·,trail:·
+
+" number
+" show the line number for each line
+" (local to window)
+" set nonu nu
+
+" numberwidth
+" number of columns to use for the line number
+" (local to window)
+" set nuw=8
+
+""" syntax, highlighting and spelling
+
+" background
+" "dark" or "light"; the background color brightness
+" set bg=light
+
+" filetype
+" type of file; triggers the FileType event when set
+" (local to buffer)
+" set ft=
+
+" syntax
+" name of syntax highlighting used
+" (local to buffer)
+" set syn=
+
+" synmaxcol
+" maximum column to look for syntax items
+" (local to buffer)
+" set smc=3000
+
+" highlight
+" which highlighting to use for various occasions
+" set hl=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine
+
+" hlsearch
+" highlight all matches for the last used search pattern
+" set nohls hls
+set hls
+
+" cursorcolumn
+" highlight the screen column of the cursor
+" (local to window)
+" set nocuc cuc
+
+" cursorline
+" highlight the screen line of the cursor
+" (local to window)
+" set nocul cul
+
+" spell
+" highlight spelling mistakes
+" (local to window)
+" set nospell spell
+
+" spelllang
+" list of accepted languages
+" (local to buffer)
+" set spl=en
+
+" spellfile
+" file that "zg" adds good words to
+" (local to buffer)
+" set spf=
+
+" spellcapcheck
+" pattern to locate the end of a sentence
+" (local to buffer)
+" set spc=[.?!]\\_[\\])'\"\ \ ]\\+
+set spc=
+
+" spellsuggest
+" methods used to suggest corrections
+" set sps=best
+
+" mkspellmem
+" amount of memory used by :mkspell before compressing
+" set msm=460000,2000,500
+
+""" multiple windows
+
+" laststatus
+" 0, 1 or 2; when to use a status line for the last window
+" set ls=1
+
+" statusline
+" alternate format to be used for a status line
+" set stl=
+
+" equalalways
+" make all windows the same size when adding/removing windows
+" set ea noea
+
+" eadirection
+" in which direction 'equalalways' works: "ver", "hor" or "both"
+" set ead=both
+
+" winheight
+" minimal number of lines used for the current window
+" set wh=1
+
+" winminheight
+" minimal number of lines used for any window
+" set wmh=1
+
+" winfixheight
+" keep the height of the window
+" (local to window)
+" set nowfh wfh
+
+" winfixwidth
+" keep the width of the window
+" (local to window)
+" set nowfw wfw
+
+" winwidth
+" minimal number of columns used for the current window
+" set wiw=20
+
+" winminwidth
+" minimal number of columns used for any window
+" set wmw=1
+
+" helpheight
+" initial height of the help window
+" set hh=20
+
+" previewheight
+" default height for the preview window
+" set pvh=12
+
+" previewwindow
+" identifies the preview window
+" (local to window)
+" set nopvw pvw
+
+" hidden
+" don't unload a buffer when no longer shown in a window
+" set nohid hid
+
+" switchbuf
+" "useopen" and/or "split"; which window to use when jumping
+" to a buffer
+" set swb=
+
+" splitbelow
+" a new window is put below the current one
+" set nosb sb
+
+" splitright
+" a new window is put right of the current one
+" set nospr spr
+
+" scrollbind
+" this window scrolls together with other bound windows
+" (local to window)
+" set noscb scb
+
+" scrollopt
+" "ver", "hor" and/or "jump"; list of options for 'scrollbind'
+" set sbo=ver,jump
+
+""" multiple tab pages
+
+" showtabline
+" 0, 1 or 2; when to use a tab pages line
+" set stal=1
+
+" tabpagemax
+" maximum number of tab pages to open for -p and "tab all"
+" set tpm=10
+
+" tabline
+" custom tab pages line
+" set tal=
+
+""" terminal
+
+" term
+" name of the used terminal
+" set term=rxvt-unicode
+
+" ttytype
+" alias for 'term'
+" set tty=rxvt-unicode
+
+" ttybuiltin
+" check built-in termcaps first
+" set tbi notbi
+
+" ttyfast
+" terminal connection is fast
+" set tf notf
+
+" weirdinvert
+" terminal that requires extra redrawing
+" set nowiv wiv
+
+" esckeys
+" recognize keys that start with <Esc> in Insert mode
+" set noek ek
+
+" scrolljump
+" minimal number of lines to scroll at a time
+" set sj=1
+
+" ttyscroll
+" maximum number of lines to use scrolling instead of redrawing
+" set tsl=999
+
+" title
+" show info in the window title
+" set notitle title
+set notitle
+
+" titlelen
+" percentage of 'columns' used for the window title
+" set titlelen=85
+
+" titlestring
+" when not empty, string to be used for the window title
+" set titlestring=
+
+" titleold
+" string to restore the title to when exiting Vim
+" set titleold=Thanks\ for\ flying\ Vim
+
+" icon
+" set the text of the icon for this window
+" set noicon icon
+
+" iconstring
+" when not empty, text for the icon of this window
+" set iconstring=
+
+""" using the mouse
+
+" mouse
+" list of flags for using the mouse
+" set mouse=
+
+" mousemodel
+" "extend", "popup" or "popup_setpos"; what the right
+" mouse button is used for
+" set mousem=extend
+
+" mousetime
+" maximum time in msec to recognize a double-click
+" set mouset=500
+
+" ttymouse
+" "xterm", "xterm2", "dec" or "netterm"; type of mouse
+" set ttym=xterm
+
+""" printing
+
+" printoptions
+" list of items that control the format of :hardcopy output
+" set popt=
+
+" printdevice
+" name of the printer to be used for :hardcopy
+" set pdev=
+
+" printexpr
+" expression used to print the PostScript file for :hardcopy
+" set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
+set pexpr=system('lp'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -d'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
+
+" printfont
+" name of the font to be used for :hardcopy
+" set pfn=courier
+
+" printheader
+" format of the header used for :hardcopy
+" set pheader=%<%f%h%m%=Page\ %N
+
+" printencoding
+" encoding used to print the PostScript file for :hardcopy
+" set penc=
+
+" printmbcharset
+" the CJK character set to be used for CJK output from :hardcopy
+" set pmbcs=
+
+" printmbfont
+" list of font names to be used for CJK output from :hardcopy
+" set pmbfn=
+
+""" messages and info
+
+" terse
+" add 's' flag in 'shortmess' (don't show search message)
+" set noterse terse
+
+" shortmess
+" list of flags to make messages shorter
+" set shm=
+set shortmess=atTWoOI
+
+" showcmd
+" show (partial) command keys in the status line
+" set nosc sc
+
+" showmode
+" display the current mode in the status line
+" set nosmd smd
+
+" ruler
+" show cursor position below each window
+" set noru ru
+set ruler
+
+" rulerformat
+" alternate format to be used for the ruler
+" set ruf=%20(%=%-14(%l,%c%V%)\ %P%)
+
+" report
+" threshold for reporting number of changed lines
+" set report=2
+
+" verbose
+" the higher the more messages are given
+" set vbs=0
+
+" verbosefile
+" file to write messages in
+" set vfile=
+
+" more
+" pause listings when the screen is full
+" set nomore more
+
+" confirm
+" start a dialog when a command fails
+" set nocf cf
+
+" errorbells
+" ring the bell for error messages
+" set noeb eb
+
+" visualbell
+" use a visual bell instead of beeping
+" set novb vb
+
+" helplang
+" list of preferred languages for finding help
+" set hlg=en
+
+""" selecting text
+
+" selection
+" "old", "inclusive" or "exclusive"; how selecting text behaves
+" set sel=inclusive
+
+" selectmode
+" "mouse", "key" and/or "cmd"; when to start Select mode
+" instead of Visual mode
+" set slm=
+
+" keymodel
+" "startsel" and/or "stopsel"; what special keys can do
+" set km=
+
+""" editing text
+
+" undolevels
+" maximum number of changes that can be undone
+" set ul=1000
+
+" modified
+" changes have been made and not written to a file
+" (local to buffer)
+" set nomod mod
+
+" readonly
+" buffer is not to be written
+" (local to buffer)
+" set noro ro
+
+" modifiable
+" changes to the text are not possible
+" (local to buffer)
+" set ma noma
+
+" textwidth
+" line length above which to break a line
+" (local to buffer)
+" set tw=0
+set tw=78
+
+" wrapmargin
+" margin from the right in which to break a line
+" (local to buffer)
+" set wm=0
+
+" backspace
+" specifies what <BS>, CTRL-W, etc. can do in Insert mode
+" set bs=
+set bs=indent,eol,start
+
+" comments
+" definition of what comment lines look like
+" (local to buffer)
+" set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
+
+" formatoptions
+" list of flags that tell how automatic formatting works
+" (local to buffer)
+" set fo=vt
+set fo=tcroqn1l
+
+" formatlistpat
+" pattern to recognize a numbered list
+" (local to buffer)
+" set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
+let &flp='^\v\s*((\a|\d+)[\]:.)}\t/-]\s|[-\*.·→+]\s)\s*'
+
+" formatexpr
+" expression used for "gq" to format lines
+" (local to buffer)
+" set fex=
+
+" complete
+" specifies how Insert mode completion works for CTRL-N and CTRL-P
+" (local to buffer)
+" set cpt=.,w,b,u,t,i
+
+" completeopt
+" whether to use a popup menu for Insert mode completion
+" set cot=menu,preview
+
+" pumheight
+" maximum height of the popup menu
+" set ph=0
+
+" completefunc
+" user defined function for Insert mode completion
+" (local to buffer)
+" set cfu=
+
+" omnifunc
+" function for filetype-specific Insert mode completion
+" (local to buffer)
+" set ofu=
+
+" dictionary
+" list of dictionary files for keyword completion
+" (global or local to buffer)
+" set dict=
+
+" thesaurus
+" list of thesaurus files for keyword completion
+" (global or local to buffer)
+" set tsr=
+
+" infercase
+" adjust case of a keyword completion match
+" (local to buffer)
+" set noinf inf
+set inf
+
+" digraph
+" enable entering digraps with c1 <BS> c2
+" set nodg dg
+"set dg
+
+" tildeop
+" the "~" command behaves like an operator
+" set notop top
+"set tildeop
+
+" operatorfunc
+" function called for the"g@" operator
+" set opfunc=
+
+" showmatch
+" When inserting a bracket, briefly jump to its match
+" set nosm sm
+
+" matchtime
+" tenth of a second to show a match for 'showmatch'
+" set mat=5
+
+" matchpairs
+" list of pairs that match for the "%" command
+" (local to buffer)
+" set mps=(:),{:},[:]
+
+" joinspaces
+" use two spaces after '.' when joining a line
+" set js nojs
+set nojs
+
+" nrformats
+" "alpha", "octal" and/or "hex"; number formats recognized for
+" CTRL-A and CTRL-X commands
+" (local to buffer)
+" set nf=octal,hex
+
+""" tabs and indenting
+
+" tabstop
+" number of spaces a <Tab> in the text stands for
+" (local to buffer)
+" set ts=8
+"
+" You could set the 'tabstop' option to 2. However, if you edit the file
+" another time, with 'tabstop' set to the default value of 8, it will look
+" wrong. In other programs and when printing the indent will also be
+" wrong. Therefore it is recommended to keep 'tabstop' at eight all the
+" time. That's the standard value everywhere.
+"
+"set ts=2
+
+" shiftwidth
+" number of spaces used for each step of (auto)indent
+" (local to buffer)
+" set sw=8
+set sw=2
+
+" smarttab
+" a <Tab> in an indent inserts 'shiftwidth' spaces
+" set nosta sta
+set sta
+
+" softtabstop
+" if non-zero, number of spaces to insert for a <Tab>
+" (local to buffer)
+" set sts=0
+set sts=2
+
+" shiftround
+" round to 'shiftwidth' for "<<" and ">>"
+" set nosr sr
+set sr
+
+" expandtab
+" expand <Tab> to spaces in Insert mode
+" (local to buffer)
+" set noet et
+set et
+
+" autoindent
+" automatically set the indent of a new line
+" (local to buffer)
+" set noai ai
+set ai
+
+" smartindent
+" do clever autoindenting
+" (local to buffer)
+" set nosi si
+
+" cindent
+" enable specific indenting for C code
+" (local to buffer)
+" set nocin cin
+
+" cinoptions
+" options for C-indenting
+" (local to buffer)
+" set cino=
+
+" cinkeys
+" keys that trigger C-indenting in Insert mode
+" (local to buffer)
+" set cink=0{,0},0),:,0#,!^F,o,O,e
+
+" cinwords
+" list of words that cause more C-indent
+" (local to buffer)
+" set cinw=if,else,while,do,for,switch
+
+" indentexpr
+" expression used to obtain the indent of a line
+" (local to buffer)
+" set inde=
+
+" indentkeys
+" keys that trigger indenting with 'indentexpr' in Insert mode
+" (local to buffer)
+" set indk=0{,0},:,0#,!^F,o,O,e
+
+" copyindent
+" Copy whitespace for indenting from previous line
+" (local to buffer)
+" set noci ci
+set ci
+
+" preserveindent
+" Preserve kind of whitespace when changing indent
+" (local to buffer)
+" set nopi pi
+""" set pi this ABORTS < 1:7.1-135+1 (see #446268)
+if has('patch073')
+ set pi
+endif
+
+" lisp
+" enable lisp mode
+" (local to buffer)
+" set nolisp lisp
+
+" lispwords
+" words that change how lisp indenting works
+" set lw=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
+
+""" folding
+
+" foldenable
+" set to display all folds open
+" (local to window)
+" set fen nofen
+
+" foldlevel
+" folds with a level higher than this number will be closed
+" (local to window)
+" set fdl=0
+
+" foldlevelstart
+" value for 'foldlevel' when starting to edit a file
+" set fdls=-1
+
+" foldcolumn
+" width of the column used to indicate folds
+" (local to window)
+" set fdc=0
+
+" foldtext
+" expression used to display the text of a closed fold
+" (local to window)
+" set fdt=foldtext()
+
+" foldclose
+" set to "all" to close a fold when the cursor leaves it
+" set fcl=
+
+" foldopen
+" specifies for which commands a fold will be opened
+" set fdo=block,hor,mark,percent,quickfix,search,tag,undo
+
+" foldminlines
+" minimum number of screen lines for a fold to be closed
+" (local to window)
+" set fml=1
+
+" commentstring
+" template for comments; used to put the marker in
+" set cms=/*%s*/
+
+" foldmethod
+" folding type: "manual", "indent", "expr", "marker" or "syntax"
+" (local to window)
+" set fdm=manual
+set fdm=marker
+
+" foldexpr
+" expression used when 'foldmethod' is "expr"
+" (local to window)
+" set fde=0
+
+" foldignore
+" used to ignore lines when 'foldmethod' is "indent"
+" (local to window)
+" set fdi=#
+
+" foldmarker
+" markers used when 'foldmethod' is "marker"
+" (local to window)
+" set fmr={{{,}}}
+
+" foldnestmax
+" maximum fold depth for when 'foldmethod is "indent" or "syntax"
+" (local to window)
+" set fdn=20
+
+""" diff mode
+
+" diff
+" use diff mode for the current window
+" (local to window)
+" set nodiff diff
+
+" diffopt
+" options for using diff mode
+" set dip=filler
+
+" diffexpr
+" expression used to obtain a diff file
+" set dex=
+
+" patchexpr
+" expression used to patch a file
+" set pex=
+
+""" mapping
+
+" maxmapdepth
+" maximum depth of mapping
+" set mmd=1000
+
+" remap
+" recognize mappings in mapped keys
+" set remap noremap
+
+" timeout
+" allow timing out halfway into a mapping
+" set to noto
+
+" ttimeout
+" allow timing out halfway into a key code
+" set nottimeout ttimeout
+
+" timeoutlen
+" time in msec for 'timeout'
+" set tm=1000
+
+" ttimeoutlen
+" time in msec for 'ttimeout'
+" set ttm=-1
+
+""" reading and writing files
+
+" modeline
+" enable using settings from modelines when reading a file
+" (local to buffer)
+" set noml ml
+set ml
+
+" modelines
+" number of lines to check for modelines
+" set mls=5
+
+" binary
+" binary file editing
+" (local to buffer)
+" set nobin bin
+
+" endofline
+" last line in the file has an end-of-line
+" (local to buffer)
+" set eol noeol
+
+" bomb
+" Prepend a Byte Order Mark to the file
+" (local to buffer)
+" set nobomb bomb
+
+" fileformat
+" end-of-line format: "dos", "unix" or "mac"
+" (local to buffer)
+" set ff=unix
+
+" fileformats
+" list of file formats to look for when editing a file
+" set ffs=
+
+" textmode
+" obsolete, use 'fileformat'
+" (local to buffer)
+" set notx tx
+
+" textauto
+" obsolete, use 'fileformats'
+" set nota ta
+
+" write
+" writing files is allowed
+" set write nowrite
+
+" writebackup
+" write a backup file before overwriting a file
+" set wb nowb
+
+" backup
+" keep a backup after overwriting a file
+" set nobk bk
+
+" backupskip
+" patterns that specify for which files a backup is not made
+" set bsk=/tmp/*
+
+" backupcopy
+" whether to make the backup as a copy or rename the existing file
+" set bkc=yes
+
+" backupdir
+" list of directories to put backup files in
+" set bdir=.,/home/madduck/tmp,/home/madduck/
+
+" backupext
+" file name extension for the backup file
+" set bex=~
+
+" autowrite
+" automatically write a file when leaving a modified buffer
+" set noaw aw
+set aw
+
+" autowriteall
+" as 'autowrite', but works with more commands
+" set noawa awa
+set awa
+
+" writeany
+" always write without asking for confirmation
+" set nowa wa
+
+" autoread
+" automatically read a file when it was modified outside of Vim
+" (global or local to buffer)
+" set noar ar
+set ar
+
+" patchmode
+" keep oldest version of a file; specifies file name extension
+" set pm=
+
+" fsync
+" forcibly sync the file to disk after writing it
+" set fs nofs
+
+" shortname
+" use 8.3 file names
+" (local to buffer)
+" set nosn sn
+
+""" the swap file
+
+" directory
+" list of directories for the swap file
+" set dir=.,/home/madduck/tmp,/var/tmp,/tmp
+set dir=.,$TMPDIR//,/var/tmp//,/tmp//
+
+" swapfile
+" use a swap file for this buffer
+" (local to buffer)
+" set swf noswf
+
+" swapsync
+" "sync", "fsync" or empty; how to flush a swap file to disk
+" set sws=fsync
+set sws=
+
+" updatecount
+" number of characters typed to cause a swap file update
+" set uc=200
+
+" updatetime
+" time in msec after which the swap file will be updated
+" set ut=4000
+set ut=10000
+
+" maxmem
+" maximum amount of memory in Kbyte used for one buffer
+" set mm=1030480
+
+" maxmemtot
+" maximum amount of memory in Kbyte used for all buffers
+" set mmt=1030480
+
+""" command line editing
+
+" history
+" how many command lines are remembered
+" set hi=0
+set hi=100
+
+" wildchar
+" key that triggers command-line expansion
+" set wc=5
+
+" wildcharm
+" like 'wildchar' but can also be used in a mapping
+" set wcm=0
+
+" wildmode
+" specifies how command line completion works
+" set wim=full
+set wim=list:full
+
+" suffixes
+" list of file name extensions that have a lower priority
+" set su=.bak,~,.o,.h,.info,.swp,.obj
+
+" suffixesadd
+" list of file name extensions added when searching for a file
+" (local to buffer)
+" set sua=
+
+" wildignore
+" list of patterns to ignore files for file name completion
+" set wig=
+set wig=*.o,*.pyc,*.pyo,*~,*.bk,*.bak
+
+" wildmenu
+" command-line completion shows a list of matches
+" set nowmnu wmnu
+
+" cedit
+" key used to open the command-line window
+" set cedit=
+
+" cmdwinheight
+" height of the command-line window
+" set cwh=7
+
+""" executing external commands
+
+" shell
+" name of the shell program used for external commands
+" set sh=/bin/zsh
+
+" shellquote
+" character(s) to enclose a shell command in
+" set shq=
+
+" shellxquote
+" like 'shellquote' but include the redirection
+" set sxq=
+
+" shellcmdflag
+" argument for 'shell' to execute a command
+" set shcf=-c
+
+" shellredir
+" used to redirect command output to a file
+" set srr=>%s\ 2>&1
+
+" shelltemp
+" use a temp file for shell commands instead of using a pipe
+" set nostmp stmp
+
+" equalprg
+" program used for "=" command
+" (global or local to buffer)
+" set ep=
+
+" formatprg
+" program used to format lines with "gq" command
+" set fp=
+
+" keywordprg
+" program used for the "K" command
+" set kp=man
+
+" warn
+" warn when using a shell command and a buffer has changes
+" set warn nowarn
+set warn
+
+""" running make and jumping to errors
+
+" errorfile
+" name of the file that contains error messages
+" set ef=errors.err
+
+" errorformat
+" list of formats for error messages
+" (global or local to buffer)
+" set efm=%*[^\"]\"%f\"%*\\D%l:\ %m,\"%f\"%*\\D%l:\ %m,%-G%f:%l:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,%-G%f:%l:\ for\ each\ function\ it\ appears\ in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',%D%*\\a:\ Entering\ directory\ `%f',%X%*\\a:\ Leaving\ directory\ `%f',%DMaking\ %*\\a\ in\ %f,%f\|%l\|\ %m
+
+" makeprg
+" program used for the ":make" command
+" (global or local to buffer)
+" set mp=make
+
+" shellpipe
+" string used to put the output of ":make" in the error file
+" set sp=2>&1\|\ tee
+
+" makeef
+" name of the errorfile for the 'makeprg' command
+" set mef=
+
+" grepprg
+" program used for the ":grep" command
+" (global or local to buffer)
+" set gp=grep\ -n\ $*\ /dev/null
+
+" grepformat
+" list of formats for output of 'grepprg'
+" set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m
+
+""" language specific
+
+" isfname
+" specifies the characters in a file name
+" set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
+
+" isident
+" specifies the characters in an identifier
+" set isi=@,48-57,_,192-255
+
+" iskeyword
+" specifies the characters in a keyword
+" (local to buffer)
+" set isk=@,48-57,_
+
+" isprint
+" specifies printable characters
+" set isp=@,161-255
+
+" quoteescape
+" specifies escape characters in a string
+" (local to buffer)
+" set qe=\\
+
+" rightleft
+" display the buffer right-to-left
+" (local to window)
+" set norl rl
+
+" rightleftcmd
+" When to edit the command-line right-to-left
+" (local to window)
+" set rlc=search
+
+" revins
+" Insert characters backwards
+" set nori ri
+
+" allowrevins
+" Allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
+" set noari ari
+
+" aleph
+" the ASCII code for the first letter of the Hebrew alphabet
+" set al=224
+
+" hkmap
+" use Hebrew keyboard mapping
+" set nohk hk
+
+" hkmapp
+" use phonetic Hebrew keyboard mapping
+" set nohkp hkp
+
+" altkeymap
+" use Farsi as the second language when 'revins' is set
+" set noakm akm
+
+" fkmap
+" use Farsi keyboard mapping
+" set nofk fk
+
+" arabic
+" Prepare for editing Arabic text
+" (local to window)
+" set noarab arab
+
+" arabicshape
+" Perform shaping of Arabic characters
+" set noarshape noarshape
+
+" termbidi
+" Terminal will perform bidi handling
+" set notbidi tbidi
+
+" keymap
+" name of a keyboard mappping
+" set kmp=
+
+" langmap
+" translate characters for Normal mode
+" set lmap=
+
+" iminsert
+" in Insert mode: 1: use :lmap; 2: use IM; 0: neither
+" (local to window)
+" set imi=0
+
+" imsearch
+" entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
+" (local to window)
+" set ims=0
+
+""" multi-byte characters
+
+" encoding
+" character encoding used in Vim: "latin1", "utf-8"
+" "euc-jp", "big5", etc.
+" set enc=utf-8
+
+" fileencoding
+" character encoding for the current file
+" (local to buffer)
+" set fenc=utf-8
+
+" fileencodings
+" automatically detected character encodings
+" set fencs=ucs-bom,utf-8,default,latin1
+
+" termencoding
+" character encoding used by the terminal
+" set tenc=
+
+" charconvert expression
+" used for character encoding conversion
+" set ccv=
+
+" delcombine
+" Delete combining (composing) characters on their own
+" set nodeco deco
+
+" maxcombine
+" Maximum number of combining (composing) characters displayed
+" set mco=2
+
+" ambiwidth
+" Width of ambiguous width characters
+" set ambw=single
+
+""" various
+
+" virtualedit
+" when to use virtual editing: "block", "insert" and/or "all"
+" set ve=
+
+" eventignore
+" list of autocommand events which are to be ignored
+" set ei=
+
+" loadplugins
+" load plugin scripts when starting up
+" set nolpl lpl
+set lpl
+
+" exrc
+" enable reading .vimrc/.exrc/.gvimrc in the current directory
+" set noex ex
+
+" secure
+" safer working with script files in the current directory
+" set nosecure secure
+set secure
+
+" gdefault
+" use the 'g' flag for ":substitute"
+" set nogd gd
+
+" edcompatible
+" 'g' and 'c' flags of ":substitute" toggle
+" set noed ed
+
+" maxfuncdepth
+" maximum depth of function calls
+" set mfd=100
+
+" sessionoptions
+" list of words that specifies what to put in a session file
+" set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
+
+" viewoptions
+" list of words that specifies what to save for :mkview
+" set vop=folds,options,cursor
+
+" viewdir
+" directory where to store files with :mkview
+" set vdir=/home/madduck/.vim/view
+set vdir=$VARDIR/vim/view
+
+" viminfo
+" list that specifies what to write in the viminfo file
+" set vi=
+set vi=<1000,'1000,\"1000,:100,/100,@100,f1,%,!,h,n$VARDIR/vim/viminfo
+
+" bufhidden
+" what happens with a buffer when it's no longer in a window
+" (local to buffer)
+" set bh=
+
+" buftype
+" "", "nofile", "nowrite" or "quickfix": type of buffer
+" (local to buffer)
+" set bt=
+
+" buflisted
+" whether the buffer shows up in the buffer list
+" (local to buffer)
+" set bl nobl
+
+" debug
+" set to "msg" to see all error messages
+" set debug=
+
+if &cp | set nocp | endif
+let s:cpo_save=&cpo
+set cpo&vim
+
+filetype plugin indent on
+syntax on
+colorscheme madduck
+
+" leave the w mark whenever a file is written
+autocmd BufWrite * normal mw
+
+" leave the i mark whenever we go idle (after updatetime)
+"augroup markidle
+ "autocmd CursorHold * normal mi
+ "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
+"augroup end
+
+" disable list mode when inserting stuff, otherwise keep it enabled, it's
+" useful (see also setting lcs)
+augroup listinsert
+ autocmd InsertEnter * set nolist
+ autocmd InsertLeave * set list
+augroup end
+" flag trailing spaces as error only when not inserting
+augroup tsperrorinsert
+ autocmd InsertEnter * match none /\s\+$/
+ autocmd InsertLeave * match Error /\s\+$/
+augroup end
+
+" treat wrapped lines normally
+nnoremap k gk
+nnoremap <Up> gk
+inoremap <Up> <C-\><C-o>gk
+nnoremap j gj
+nnoremap <Down> gj
+inoremap <Down> <C-\><C-o>gj
+
+" this isn't windows, screw the F1->help key
+map <F1> <Esc>
+imap <F1> <Esc>
+vmap <F1> <Esc>
+
+" ignore Q -- Ex mode
+map Q <Esc>
+
+let mapleader = ';'
+let maplocalleader = ';'
+
+" replace fake tab chars with real ones
+map <Leader>ft :%s,⇝·*, ,g<CR>:nohlsearch<CR>``
+" replace fake spaces with real ones
+map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
+
+map <Leader>sy :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
+
+map <Leader>/ :nohlsearch<CR>
+
+omap [{ :normal {jj<CR>
+nmap [{ :normal {jj<CR>
+omap ]} :normal }kk<CR>
+nmap ]} :normal }kk<CR>
+
+iab sgf Sehr geehrte Frau
+iab sgh Sehr geehrter Herr
+iab sghn Sehr geehrte Herren
+iab lf Liebe Frau
+iab lh Lieber Herr
+iab sgdh Sehr geehrte Damen und Herren
+iab twimc To Whom It May Concern
+iab lg liebe Grüsse
+iab Lg Liebe Grüsse
+iab fg Freundliche Grüsse
+iab mfg Mit freundlichen Grüssen
+iab mbg Mit den besten Grüssen
+iab hg Herzliche Grüsse
+iab mhg Mit herzlichen Grüssen
+iab mbbg Mit bundesbrüderlichen Grüssen
+iab mvbg Mit verbandsbrüderlichen Grüssen
+
+let g:airline_theme='minimalist'
+
+execute pathogen#infect()
+
+let g:is_posix = 1
+
+let &cpo=s:cpo_save
+unlet s:cpo_save
--- /dev/null
+#
+# set the editor variables to Vim
+#
+# Copyright © 1994–2017 martin f. krafft <madduck@madduck.net>
+# Released under the terms of the Artistic Licence 2.0
+#
+# Source repository: http://git.madduck.net/v/etc/zsh.git
+#
+
+if command -v vim >/dev/null; then
+ export EDITOR==vim
+ export VISUAL=$EDITOR
+fi
+
+# vim:ft=zsh