aboutsummaryrefslogtreecommitdiff
path: root/.vim
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@rak.ac>2021-12-13 16:55:42 -0500
committerRyan Kavanagh <rak@rak.ac>2021-12-13 16:58:10 -0500
commite5dfb045b994e1ab8fef9ef5d3f02ce20ea6b685 (patch)
treeba74287d80e46c70dab8c4311a1dc933fbfbdea1 /.vim
parentfix pager again (diff)
many more renames
Diffstat (limited to '.vim')
-rw-r--r--.vim/README.csupport188
-rw-r--r--.vim/autoload/haskellmode.vim155
l---------.vim/autoload/pythoncomplete.vim1
-rw-r--r--.vim/c-support/codesnippets/Makefile178
-rw-r--r--.vim/c-support/codesnippets/Makefile.multi-target.template70
-rw-r--r--.vim/c-support/codesnippets/calloc_double_matrix.c36
-rw-r--r--.vim/c-support/codesnippets/calloc_int_matrix.c35
-rw-r--r--.vim/c-support/codesnippets/main.c20
-rw-r--r--.vim/c-support/codesnippets/main.cc18
-rw-r--r--.vim/c-support/codesnippets/print_double_array.c.noindent30
-rw-r--r--.vim/c-support/codesnippets/print_int_array.c.noindent30
-rw-r--r--.vim/c-support/doc/ChangeLog304
-rw-r--r--.vim/c-support/doc/c-hotkeys.pdfbin48296 -> 0 bytes
-rw-r--r--.vim/c-support/rc/customization.ctags7
-rw-r--r--.vim/c-support/rc/customization.gvimrc44
-rw-r--r--.vim/c-support/rc/customization.indent.pro8
-rw-r--r--.vim/c-support/rc/customization.vimrc149
-rw-r--r--.vim/c-support/scripts/wrapper.sh34
-rw-r--r--.vim/c-support/syntax/c.vim21
-rw-r--r--.vim/c-support/templates/Templates26
-rw-r--r--.vim/c-support/templates/c.comments.template147
-rw-r--r--.vim/c-support/templates/c.cpp.template353
-rw-r--r--.vim/c-support/templates/c.idioms.template98
-rw-r--r--.vim/c-support/templates/c.preprocessor.template34
-rw-r--r--.vim/c-support/templates/c.statements.template62
-rw-r--r--.vim/c-support/templates/cpp.comments.template139
-rw-r--r--.vim/c-support/templates/cpp.cpp.template329
-rw-r--r--.vim/c-support/templates/cpp.idioms.template98
-rw-r--r--.vim/c-support/templates/cpp.preprocessor.template34
-rw-r--r--.vim/c-support/templates/cpp.statements.template62
-rw-r--r--.vim/c-support/wordlists/c-c++-keywords.list209
-rw-r--r--.vim/c-support/wordlists/k+r.list108
-rw-r--r--.vim/c-support/wordlists/stl_index.list202
-rw-r--r--.vim/colors/adam.vim48
-rw-r--r--.vim/colors/adaryn.vim72
-rw-r--r--.vim/colors/adrian.vim97
-rw-r--r--.vim/colors/af.vim99
-rw-r--r--.vim/colors/aiseered.vim37
-rw-r--r--.vim/colors/aqua.vim44
-rw-r--r--.vim/colors/astronaut.vim160
-rw-r--r--.vim/colors/asu1dark.vim59
-rw-r--r--.vim/colors/automation.vim59
-rw-r--r--.vim/colors/autumn.vim69
-rw-r--r--.vim/colors/autumn2.vim69
-rw-r--r--.vim/colors/autumnleaf.vim154
-rw-r--r--.vim/colors/billw.vim99
-rw-r--r--.vim/colors/biogoo.vim85
-rw-r--r--.vim/colors/black_angus.vim115
-rw-r--r--.vim/colors/blackbeauty.vim66
-rw-r--r--.vim/colors/blackdust.vim62
-rw-r--r--.vim/colors/blacksea.vim32
-rw-r--r--.vim/colors/blue.vim41
-rw-r--r--.vim/colors/bluegreen.vim52
-rw-r--r--.vim/colors/blugrine.vim42
-rw-r--r--.vim/colors/bmichaelsen.vim55
-rw-r--r--.vim/colors/bog.vim87
-rw-r--r--.vim/colors/borland.vim60
-rw-r--r--.vim/colors/breeze.vim70
-rw-r--r--.vim/colors/brookstream.vim83
-rw-r--r--.vim/colors/brown.vim32
-rw-r--r--.vim/colors/buttercream.vim59
-rw-r--r--.vim/colors/bw.vim55
-rw-r--r--.vim/colors/c.vim32
-rw-r--r--.vim/colors/camo.vim76
-rw-r--r--.vim/colors/campfire.vim57
-rw-r--r--.vim/colors/candy.vim78
-rw-r--r--.vim/colors/caramel.vim67
-rw-r--r--.vim/colors/chela_light.vim89
-rw-r--r--.vim/colors/chocolateliquor.vim34
-rw-r--r--.vim/colors/cleanphp.vim81
-rw-r--r--.vim/colors/coffee.vim60
-rw-r--r--.vim/colors/colorer.vim79
-rw-r--r--.vim/colors/cool.vim82
-rw-r--r--.vim/colors/dante.vim83
-rw-r--r--.vim/colors/darkblack.vim60
-rw-r--r--.vim/colors/darkblue2.vim99
-rw-r--r--.vim/colors/darkdot.vim80
-rw-r--r--.vim/colors/darkocean.vim52
-rw-r--r--.vim/colors/darkslategray.vim117
-rw-r--r--.vim/colors/dawn.vim65
-rw-r--r--.vim/colors/delek.vim57
-rw-r--r--.vim/colors/denim.vim141
-rw-r--r--.vim/colors/desert.vim105
-rw-r--r--.vim/colors/dusk.vim64
-rw-r--r--.vim/colors/earth.vim69
-rw-r--r--.vim/colors/edo_sea.vim69
-rw-r--r--.vim/colors/emacs.vim63
-rw-r--r--.vim/colors/fine_blue.vim71
-rw-r--r--.vim/colors/fnaqevan.vim67
-rw-r--r--.vim/colors/fog.vim170
-rw-r--r--.vim/colors/fruit.vim69
-rw-r--r--.vim/colors/gobo.vim27
-rw-r--r--.vim/colors/golden.vim70
-rw-r--r--.vim/colors/gor.vim47
-rw-r--r--.vim/colors/gothic.vim42
-rw-r--r--.vim/colors/greyblue.vim75
-rw-r--r--.vim/colors/hhazure.vim83
-rw-r--r--.vim/colors/hhdblue.vim233
-rw-r--r--.vim/colors/hhdcyan.vim233
-rw-r--r--.vim/colors/hhdgray.vim233
-rw-r--r--.vim/colors/hhdgreen.vim233
-rw-r--r--.vim/colors/hhdmagenta.vim233
-rw-r--r--.vim/colors/hhdred.vim234
-rw-r--r--.vim/colors/hhdyellow.vim235
-rw-r--r--.vim/colors/hhorange.vim82
-rw-r--r--.vim/colors/hhpink.vim85
-rw-r--r--.vim/colors/hhspring.vim83
-rw-r--r--.vim/colors/hhteal.vim83
-rw-r--r--.vim/colors/hhviolet.vim83
-rw-r--r--.vim/colors/ibmedit.vim60
-rw-r--r--.vim/colors/inkpot.vim138
-rw-r--r--.vim/colors/ironman.vim80
-rw-r--r--.vim/colors/jhdark.vim72
-rw-r--r--.vim/colors/jhlight.vim80
-rw-r--r--.vim/colors/less.vim54
-rw-r--r--.vim/colors/lilac.vim75
-rw-r--r--.vim/colors/lingodirector.vim44
-rw-r--r--.vim/colors/manxome.vim47
-rw-r--r--.vim/colors/mars.vim142
-rw-r--r--.vim/colors/matrix.vim80
-rw-r--r--.vim/colors/metacosm.vim132
-rw-r--r--.vim/colors/midnight.vim80
-rw-r--r--.vim/colors/midnight2.vim86
-rw-r--r--.vim/colors/mod_tcsoft.vim68
-rw-r--r--.vim/colors/navajo-night.vim119
-rw-r--r--.vim/colors/navajo.vim65
-rw-r--r--.vim/colors/nedit.vim26
-rw-r--r--.vim/colors/nedit2.vim29
-rw-r--r--.vim/colors/neon.vim70
-rw-r--r--.vim/colors/night.vim70
-rw-r--r--.vim/colors/nightshimmer.vim111
-rw-r--r--.vim/colors/nightwish.vim59
-rw-r--r--.vim/colors/northsky.vim70
-rw-r--r--.vim/colors/nuvola.vim107
-rw-r--r--.vim/colors/oceanblack.vim115
-rw-r--r--.vim/colors/oceandeep.vim111
-rw-r--r--.vim/colors/oceanlight.vim105
-rw-r--r--.vim/colors/olive.vim119
-rw-r--r--.vim/colors/papayawhip.vim31
-rw-r--r--.vim/colors/potts.vim53
-rw-r--r--.vim/colors/print_bw.vim65
-rw-r--r--.vim/colors/ps_color.vim400
-rw-r--r--.vim/colors/putty.vim82
-rw-r--r--.vim/colors/python.vim104
-rw-r--r--.vim/colors/redblack.vim62
-rw-r--r--.vim/colors/relaxedgreen.vim114
-rw-r--r--.vim/colors/reloaded.vim856
-rw-r--r--.vim/colors/revolutions.vim75
-rw-r--r--.vim/colors/robinhood.vim99
-rw-r--r--.vim/colors/sand.vim30
-rw-r--r--.vim/colors/scite.vim48
-rw-r--r--.vim/colors/sea.vim69
-rw-r--r--.vim/colors/sean.vim83
-rw-r--r--.vim/colors/seashell.vim32
-rw-r--r--.vim/colors/sf.vim76
-rw-r--r--.vim/colors/simpleandfriendly.vim56
-rw-r--r--.vim/colors/taqua.vim85
-rw-r--r--.vim/colors/tcsoft.vim62
-rw-r--r--.vim/colors/tibet.vim101
-rw-r--r--.vim/colors/tolerable.vim43
-rw-r--r--.vim/colors/tomatosoup.vim80
-rw-r--r--.vim/colors/toothpik.vim45
-rw-r--r--.vim/colors/torte.vim51
-rw-r--r--.vim/colors/transparent.vim97
-rw-r--r--.vim/colors/turbo.vim68
-rw-r--r--.vim/colors/umber-green.vim89
-rw-r--r--.vim/colors/vc.vim24
-rw-r--r--.vim/colors/vcbc.vim31
-rw-r--r--.vim/colors/white.vim62
-rw-r--r--.vim/colors/whitedust.vim62
-rw-r--r--.vim/colors/wintersday.vim60
-rw-r--r--.vim/colors/wombat.vim51
-rw-r--r--.vim/colors/xemacs.vim46
-rw-r--r--.vim/colors/xian.vim50
-rw-r--r--.vim/colors/zenburn.vim133
-rw-r--r--.vim/compiler/ghc.vim470
-rw-r--r--.vim/compiler/tex.vim293
-rw-r--r--.vim/doc/csupport.txt1577
-rw-r--r--.vim/doc/haskellmode.txt456
-rw-r--r--.vim/doc/imaps.txt116
-rw-r--r--.vim/doc/latex-suite-quickstart.txt448
-rw-r--r--.vim/doc/latex-suite.txt3418
-rw-r--r--.vim/doc/latexhelp.txt2430
-rw-r--r--.vim/doc/ps_color.txt585
-rwxr-xr-x.vim/doc/taglist.txt1501
-rw-r--r--.vim/doc/tags1138
-rw-r--r--.vim/filetype.vim4
-rw-r--r--.vim/ftdetect/beluga.vim1
-rw-r--r--.vim/ftplugin/beluga.vim1
-rw-r--r--.vim/ftplugin/bib_latexSuite.vim16
-rw-r--r--.vim/ftplugin/c.vim294
-rw-r--r--.vim/ftplugin/cpp.vim164
-rw-r--r--.vim/ftplugin/gpg.vim33
-rw-r--r--.vim/ftplugin/haskell.vim13
-rw-r--r--.vim/ftplugin/haskell_doc.vim817
-rw-r--r--.vim/ftplugin/haskell_hpaste.vim79
-rw-r--r--.vim/ftplugin/latex-suite/bibtex.vim266
-rw-r--r--.vim/ftplugin/latex-suite/bibtools.py221
-rw-r--r--.vim/ftplugin/latex-suite/bibtools.pycbin7004 -> 0 bytes
-rw-r--r--.vim/ftplugin/latex-suite/brackets.vim145
-rw-r--r--.vim/ftplugin/latex-suite/compiler.vim820
-rw-r--r--.vim/ftplugin/latex-suite/custommacros.vim257
-rw-r--r--.vim/ftplugin/latex-suite/diacritics.vim124
-rw-r--r--.vim/ftplugin/latex-suite/dictionaries/SIunits289
-rw-r--r--.vim/ftplugin/latex-suite/dictionaries/dictionary677
-rw-r--r--.vim/ftplugin/latex-suite/elementmacros.vim338
-rw-r--r--.vim/ftplugin/latex-suite/envmacros.vim1167
-rw-r--r--.vim/ftplugin/latex-suite/folding.vim393
-rw-r--r--.vim/ftplugin/latex-suite/macros/example11
-rw-r--r--.vim/ftplugin/latex-suite/main.vim1024
-rw-r--r--.vim/ftplugin/latex-suite/mathmacros-utf.vim729
-rw-r--r--.vim/ftplugin/latex-suite/mathmacros.vim730
-rw-r--r--.vim/ftplugin/latex-suite/multicompile.vim17
-rw-r--r--.vim/ftplugin/latex-suite/outline.py186
-rw-r--r--.vim/ftplugin/latex-suite/outline.pycbin4324 -> 0 bytes
-rw-r--r--.vim/ftplugin/latex-suite/packages.vim669
-rw-r--r--.vim/ftplugin/latex-suite/packages/SIunits315
-rw-r--r--.vim/ftplugin/latex-suite/packages/accents28
-rw-r--r--.vim/ftplugin/latex-suite/packages/acromake10
-rw-r--r--.vim/ftplugin/latex-suite/packages/afterpage10
-rw-r--r--.vim/ftplugin/latex-suite/packages/alltt12
-rw-r--r--.vim/ftplugin/latex-suite/packages/amsmath106
-rw-r--r--.vim/ftplugin/latex-suite/packages/amsthm21
-rw-r--r--.vim/ftplugin/latex-suite/packages/amsxtra12
-rw-r--r--.vim/ftplugin/latex-suite/packages/arabic10
-rw-r--r--.vim/ftplugin/latex-suite/packages/array17
-rw-r--r--.vim/ftplugin/latex-suite/packages/babel98
-rw-r--r--.vim/ftplugin/latex-suite/packages/bar27
-rw-r--r--.vim/ftplugin/latex-suite/packages/bm10
-rw-r--r--.vim/ftplugin/latex-suite/packages/bophook12
-rw-r--r--.vim/ftplugin/latex-suite/packages/boxedminipage10
-rw-r--r--.vim/ftplugin/latex-suite/packages/caption243
-rw-r--r--.vim/ftplugin/latex-suite/packages/cases12
-rw-r--r--.vim/ftplugin/latex-suite/packages/ccaption20
-rw-r--r--.vim/ftplugin/latex-suite/packages/changebar35
-rw-r--r--.vim/ftplugin/latex-suite/packages/chapterbib24
-rw-r--r--.vim/ftplugin/latex-suite/packages/cite32
-rw-r--r--.vim/ftplugin/latex-suite/packages/color43
-rw-r--r--.vim/ftplugin/latex-suite/packages/comma12
-rw-r--r--.vim/ftplugin/latex-suite/packages/deleq36
-rw-r--r--.vim/ftplugin/latex-suite/packages/drftcite29
-rw-r--r--.vim/ftplugin/latex-suite/packages/dropping12
-rw-r--r--.vim/ftplugin/latex-suite/packages/enumerate10
-rw-r--r--.vim/ftplugin/latex-suite/packages/eqlist19
-rw-r--r--.vim/ftplugin/latex-suite/packages/eqparbox12
-rw-r--r--.vim/ftplugin/latex-suite/packages/everyshi10
-rw-r--r--.vim/ftplugin/latex-suite/packages/exmpl55
-rw-r--r--.vim/ftplugin/latex-suite/packages/flafter10
-rw-r--r--.vim/ftplugin/latex-suite/packages/float16
-rw-r--r--.vim/ftplugin/latex-suite/packages/floatflt12
-rw-r--r--.vim/ftplugin/latex-suite/packages/fn2end10
-rw-r--r--.vim/ftplugin/latex-suite/packages/footmisc21
-rw-r--r--.vim/ftplugin/latex-suite/packages/geometry93
-rw-r--r--.vim/ftplugin/latex-suite/packages/german12
-rw-r--r--.vim/ftplugin/latex-suite/packages/graphicx69
-rw-r--r--.vim/ftplugin/latex-suite/packages/graphpap10
-rw-r--r--.vim/ftplugin/latex-suite/packages/harpoon18
-rw-r--r--.vim/ftplugin/latex-suite/packages/hhline21
-rw-r--r--.vim/ftplugin/latex-suite/packages/histogram13
-rw-r--r--.vim/ftplugin/latex-suite/packages/hyperref167
-rw-r--r--.vim/ftplugin/latex-suite/packages/ifthen21
-rw-r--r--.vim/ftplugin/latex-suite/packages/inputenc29
-rw-r--r--.vim/ftplugin/latex-suite/packages/letterspace10
-rw-r--r--.vim/ftplugin/latex-suite/packages/lineno60
-rw-r--r--.vim/ftplugin/latex-suite/packages/longtable35
-rw-r--r--.vim/ftplugin/latex-suite/packages/lscape10
-rw-r--r--.vim/ftplugin/latex-suite/packages/manyfoot15
-rw-r--r--.vim/ftplugin/latex-suite/packages/moreverb28
-rw-r--r--.vim/ftplugin/latex-suite/packages/multibox10
-rw-r--r--.vim/ftplugin/latex-suite/packages/multicol21
-rw-r--r--.vim/ftplugin/latex-suite/packages/newalg26
-rw-r--r--.vim/ftplugin/latex-suite/packages/ngerman10
-rw-r--r--.vim/ftplugin/latex-suite/packages/numprint18
-rw-r--r--.vim/ftplugin/latex-suite/packages/oldstyle12
-rw-r--r--.vim/ftplugin/latex-suite/packages/outliner19
-rw-r--r--.vim/ftplugin/latex-suite/packages/overcite34
-rw-r--r--.vim/ftplugin/latex-suite/packages/parallel15
-rw-r--r--.vim/ftplugin/latex-suite/packages/plain10
-rw-r--r--.vim/ftplugin/latex-suite/packages/plates16
-rw-r--r--.vim/ftplugin/latex-suite/packages/polski165
-rw-r--r--.vim/ftplugin/latex-suite/packages/psgo27
-rw-r--r--.vim/ftplugin/latex-suite/packages/schedule20
-rw-r--r--.vim/ftplugin/latex-suite/packages/textfit12
-rw-r--r--.vim/ftplugin/latex-suite/packages/times10
-rw-r--r--.vim/ftplugin/latex-suite/packages/tipa364
-rw-r--r--.vim/ftplugin/latex-suite/packages/ulem21
-rw-r--r--.vim/ftplugin/latex-suite/packages/url24
-rw-r--r--.vim/ftplugin/latex-suite/packages/verbatim18
-rw-r--r--.vim/ftplugin/latex-suite/packages/version12
-rw-r--r--.vim/ftplugin/latex-suite/projecttemplate.vim11
-rw-r--r--.vim/ftplugin/latex-suite/pytools.py52
-rw-r--r--.vim/ftplugin/latex-suite/smartspace.vim102
-rw-r--r--.vim/ftplugin/latex-suite/templates.vim149
-rw-r--r--.vim/ftplugin/latex-suite/templates/IEEEtran.tex142
-rw-r--r--.vim/ftplugin/latex-suite/templates/article.tex9
-rw-r--r--.vim/ftplugin/latex-suite/templates/report.tex9
-rw-r--r--.vim/ftplugin/latex-suite/templates/report_two_column.tex9
-rw-r--r--.vim/ftplugin/latex-suite/texmenuconf.vim131
-rw-r--r--.vim/ftplugin/latex-suite/texproject.vim54
-rw-r--r--.vim/ftplugin/latex-suite/texrc738
-rw-r--r--.vim/ftplugin/latex-suite/texviewer.vim1052
-rw-r--r--.vim/ftplugin/latex-suite/version.vim30
-rw-r--r--.vim/ftplugin/latex-suite/wizardfuncs.vim377
-rw-r--r--.vim/ftplugin/po.vim407
-rw-r--r--.vim/ftplugin/pythoncomplete.vim625
-rw-r--r--.vim/ftplugin/tex.vim10
-rw-r--r--.vim/ftplugin/tex_latexSuite.vim13
-rw-r--r--.vim/haskellmode-20081031.vba1850
-rw-r--r--.vim/haskellmode-20090424.vba2005
-rw-r--r--.vim/indent/indent-r.vim50
-rw-r--r--.vim/indent/tex.vim139
-rw-r--r--.vim/kde-devel-vim.vim1029
-rw-r--r--.vim/ltags78
-rw-r--r--.vim/moin1_6.vim83
-rw-r--r--.vim/plugin/SyntaxFolds.vim323
-rw-r--r--.vim/plugin/c.vim2678
-rw-r--r--.vim/plugin/filebrowser.vim251
-rw-r--r--.vim/plugin/gnupg.vim1226
-rw-r--r--.vim/plugin/imaps.vim831
-rw-r--r--.vim/plugin/libList.vim249
-rw-r--r--.vim/plugin/minibufexpl.vim1838
-rw-r--r--.vim/plugin/openssl.vim201
-rw-r--r--.vim/plugin/remoteOpen.vim163
-rw-r--r--.vim/plugin/taglist.vim4546
-rw-r--r--.vim/syntax/beluga.vim121
-rw-r--r--.vim/syntax/daylog.vim60
-rw-r--r--.vim/syntax/django.vim93
-rw-r--r--.vim/syntax/htmldjango.vim34
-rw-r--r--.vim/syntax/prolog.vim119
-rw-r--r--.vim/syntax/rnc.vim59
-rw-r--r--.vim/syntax/syntax-r.vim621
-rw-r--r--.vim/syntax/tex.vim1
332 files changed, 0 insertions, 63041 deletions
diff --git a/.vim/README.csupport b/.vim/README.csupport
deleted file mode 100644
index 27ca4a9..0000000
--- a/.vim/README.csupport
+++ /dev/null
@@ -1,188 +0,0 @@
-README for c.vim (Version 5.0.5) / November 21 2007
-
- * DESCRIPTION
- * INSTALLATION
- * RELEASE NOTES
- * FILES
- * ADDITIONAL TIPS
- * CREDITS
-
-=======================================================================================
- DESCRIPTION
-=======================================================================================
-C/C++-IDE for Vim/gVim. It is written to considerably speed up writing code in
-a consistent style. This is done by inserting complete statements, idioms,
-code snippets, templates, and comments. Syntax checking, compiling, running a
-program, running indent or code checkers can be done with a keystroke. There
-are many additional hints and options which can improve speed and comfort when
-writing C/C++. See the help file csupport.txt for more information.
-
-=======================================================================================
- INSTALLATION
-=======================================================================================
-The subdirectories in the zip archive cvim.zip mirror the directory structure
-which is needed below the local installation directory $HOME/.vim/ for LINUX/UNIX
-($VIM/vimfiles/ for Windows; find the value of $VIM with ":echo $VIM" from inside Vim).
-
-(0) Save the template files in '$HOME/.vim/c-support/templates/Templates' if
- you have changed any of them.
-
-(1) Copy the zip archive cvim.zip to $HOME/.vim and run
-
- unzip cvim.zip
-
- If you have already an older version of cvim and you have modified the template
- files you may want to save your templates first or copy the files from the
- archive by hand.
-
-(2) Loading of plugin files must be enabled. If not use
-
- :filetype plugin on
-
- This is the minimal content of the file '$HOME/.vimrc'. Create one if there
- is none.
-
-(3) Set at least some personal details in the file '$HOME/.vim/c-support/templates/Templates'
- (file '$VIM\/c-support/templates/Templates' under Windows).
- Here is the minimal personalization (my settings as an example, of course):
-
- |AUTHOR| = Dr. Fritz Mehner
- |AUTHORREF| = mn
- |EMAIL| = mehner@fh-swf.de
- |COMPANY| = FH Südwestfalen, Iserlohn
- |COPYRIGHT| = Copyright (c) |YEAR|, |AUTHOR|
-
- (Read more about the template system in the plugin documentation)
-
-(4) Consider additional settings in the file '$HOME/.vimrc'.
- The files customization.vimrc and customization.gvimrc are replacements or
- extensions for your .vimrc and .gvimrc ( _vimrc and _gvimrc under Windows).
- You may want to use parts of them. The files are documented.
-
-There are a lot of features and options which can be used and influenced:
-
- * use of template files and tags
- * surround marked blocks with statements
- * using and managing personal code snippets
- * generate/remove multiline comments
- * picking up prototypes
- * C/C++ dictionaries for keyword completion
- * (re)moving the root menu
-
-Restart gVim/Vim generate the help tags
-
- :helptags ~/.vim/doc
-
-and look at csupport help with
-
- :help csupport
-
-or use the 'help' entry in the root menu of this plug-in.
-
- +-----------------------------------------------+
- | +-------------------------------------------+ |
- | | ** PLEASE READ THE DOCUMENTATION ** | |
- | | Actions differ for different modes! | |
- | +-------------------------------------------+ |
- +-----------------------------------------------+
-
-Any problems ? See the TROUBLESHOOTING section at the end of the help file
-'doc/csupport.txt'.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0.5
-=======================================================================================
-+ Bugfix: on a few systems doubling of path components in the run command (F9).
- Skip this upgrade if you do not have this problem.
-
- OLDER RELEASE NOTES : see file 'ChangeLog'
-=======================================================================================
-
-=======================================================================================
- FILES
-=======================================================================================
-
-README.csupport This file.
-
-doc/csupport.txt The help file for the local on-line help.
-
-ftplugin/c.vim A file type plug-in. Define hotkeys, creates a local
- dictionary for each C/C++ file.
-
-plugin/c.vim The C/C++ plug-in for GVIM.
-
-c-support/scripts/wrapper.sh The wrapper script for the use of an xterm.
-c-support/templates/* C-style and C++-style template files (see csupport.txt).
-
-
-c-support/wordlists/c-c++-keywords.list All C and C++ keywords (already in word.list).
-c-support/wordlists/k+r.list K&R-Book: Words from the table of content.
- They appear frequently in comments.
-c-support/wordlists/stl_index.list STL: method and type names.
-
-
------------------------ -------------------------------------------------------------
- The following files and extensions are for convenience only.
- c.vim will work without them.
- -------------------------------------------------------------
-c-support/doc/c-hotkeys.pdf Hotkey reference card.
-c-support/doc/ChangeLog The change log.
-
-rc/customization.ctags Additional settings I use in .ctags to enable navigation
- through makefiles ans qmake files with the plug-in taglist.vim.
-
-rc/costumization.gvimrc Additional settings I use in .gvimrc :
- hot keys, mouse settings, ...
- The file is commented. Append it to your .gvimrc if you like.
-
-rc/costumization.indent.pro Additional settings I use in .indent.pro :
- See the indent manual.
-
-rc/costumization.vimrc Additional settings I use in .vimrc : incremental search,
- tabstop, hot keys, font, use of dictionaries, ...
- The file is commented. Append it to your .vimrc if you like.
-
-=======================================================================================
- ADDITIONAL TIPS
-=======================================================================================
-
-(1) gVim. Toggle 'insert mode' <--> 'normal mode' with the right mouse button
- (see mapping in file costumization.gvimrc).
-
-(2) gVim. Use tear off menus.
-
-(3) Try 'Focus under mouse' as window behavior (No mouse click when the mouse pointer
- is back from the menu entry).
-
-(4) Use Emulate3Buttons "on" (X11) even for a 3-button mouse. Pressing left and right
- button at the same time without moving your fingers is faster then moving a finger
- to the middle button (often a wheel).
-
-=======================================================================================
- CREDITS
-=======================================================================================
-
- Some ideas are taken from the following documents:
-
- 1. Recommended C Style and Coding Standards (Indian Hill Style Guide)
- www.doc.ic.ac.uk/lab/secondyear/cstyle/cstyle.html
- 2. Programming in C++, Ellemtel Telecommunication Systems Laboratories
- www.it.bton.ac.uk/burks/burks/language/cpp/cppstyle/ellhome.htm
- 3. C++ Coding Standard, Todd Hoff
- www.possibility.com/Cpp/CppCodingStandard.html
-
- The splint error format is taken from the file splint.vim (Vim standard distribution).
-
-------------------
-
- ... finally
-
- Johann Wolfgang von Goethe (1749-1832), the greatest of the German poets,
- about LINUX, Vim/gVim and other great tools (Ok, almost.) :
-
- Ein Mann, der recht zu wirken denkt, Who on efficient work is bent,
- Muß auf das beste Werkzeug halten. Must choose the fittest instrument.
-
- Faust, Teil 1, Vorspiel auf dem Theater Faust, Part 1, Prologue for the Theatre
-
-=======================================================================================
diff --git a/.vim/autoload/haskellmode.vim b/.vim/autoload/haskellmode.vim
deleted file mode 100644
index ce20a67..0000000
--- a/.vim/autoload/haskellmode.vim
+++ /dev/null
@@ -1,155 +0,0 @@
-"
-" utility functions for haskellmode plugins
-"
-" (Claus Reinke; last modified: 23/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-
-
-" find start/extent of name/symbol under cursor;
-" return start, symbolic flag, qualifier, unqualified id
-" (this is used in both haskell_doc.vim and in GHC.vim)
-function! haskellmode#GetNameSymbol(line,col,off)
- let name = "[a-zA-Z0-9_']"
- let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]"
- "let [line] = getbufline(a:buf,a:lnum)
- let line = a:line
-
- " find the beginning of unqualified id or qualified id component
- let start = (a:col - 1) + a:off
- if line[start] =~ name
- let pattern = name
- elseif line[start] =~ symbol
- let pattern = symbol
- else
- return []
- endif
- while start > 0 && line[start - 1] =~ pattern
- let start -= 1
- endwhile
- let id = matchstr(line[start :],pattern.'*')
- " call confirm(id)
-
- " expand id to left and right, to get full id
- let idPos = id[0] == '.' ? start+2 : start+1
- let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c')
- let start = posA>-1 ? posA+1 : idPos
- let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)')
- let end = posB>-1 ? posB : idPos
-
- " special case: symbolic ids starting with .
- if id[0]=='.' && posA==-1
- let start = idPos-1
- let end = posB==-1 ? start : end
- endif
-
- " classify full id and split into qualifier and unqualified id
- let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ]
- let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in .
- let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+')
- let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : ''
- let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid
- " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId)
-
- return [start,symbolic,qualifier,unqualId]
-endfunction
-
-function! haskellmode#GatherImports()
- let imports={0:{},1:{}}
- let i=1
- while i<=line('$')
- let res = haskellmode#GatherImport(i)
- if !empty(res)
- let [i,import] = res
- let prefixPat = '^import\s*\(qualified\)\?\s\+'
- let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)'
- let asPat = '\(\s\+as\s\+'.modulePat.'\)\?'
- let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?'
- let listPat = '\(\s*\((.*)\)\)\?'
- let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$'
-
- let ml = matchlist(import,importPat)
- if ml!=[]
- let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml
- let what = as=='' ? module : as
- let hidings = split(hiding[1:-2],',')
- let explicits = split(explicit[1:-2],',')
- let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]}
- let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty)
- let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
- if !(qualified=='qualified')
- let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
- endif
- else
- echoerr "haskellmode#GatherImports doesn't understand: ".import
- endif
- endif
- let i+=1
- endwhile
- if !has_key(imports[1],'Prelude')
- let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- endif
- return imports
-endfunction
-
-function! haskellmode#ListElem(list,elem)
- for e in a:list | if e==a:elem | return 1 | endif | endfor
- return 0
-endfunction
-
-function! haskellmode#ListIntersect(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! haskellmode#ListUnion(list1,list2)
- let l = []
- for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor
- return a:list1 + l
-endfunction
-
-function! haskellmode#ListWithout(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! haskellmode#MergeImport(entry,line,hiding,explicit,module)
- let lines = a:entry['lines'] + [ a:line ]
- let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding)
- \ : haskellmode#ListWithout(a:entry['hiding'],a:explicit)
- let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit)
- let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ])
- return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules}
-endfunction
-
-" collect lines belonging to a single import statement;
-" return number of last line and collected import statement
-" (assume opening parenthesis, if any, is on the first line)
-function! haskellmode#GatherImport(lineno)
- let lineno = a:lineno
- let import = getline(lineno)
- if !(import=~'^import\s') | return [] | endif
- let open = strlen(substitute(import,'[^(]','','g'))
- let close = strlen(substitute(import,'[^)]','','g'))
- while open!=close
- let lineno += 1
- let linecont = getline(lineno)
- let open += strlen(substitute(linecont,'[^(]','','g'))
- let close += strlen(substitute(linecont,'[^)]','','g'))
- let import .= linecont
- endwhile
- return [lineno,import]
-endfunction
-
-function! haskellmode#UrlEncode(string)
- let pat = '\([^[:alnum:]]\)'
- let code = '\=printf("%%%02X",char2nr(submatch(1)))'
- let url = substitute(a:string,pat,code,'g')
- return url
-endfunction
-
diff --git a/.vim/autoload/pythoncomplete.vim b/.vim/autoload/pythoncomplete.vim
deleted file mode 120000
index 2b8df41..0000000
--- a/.vim/autoload/pythoncomplete.vim
+++ /dev/null
@@ -1 +0,0 @@
-../ftplugin/pythoncomplete.vim \ No newline at end of file
diff --git a/.vim/c-support/codesnippets/Makefile b/.vim/c-support/codesnippets/Makefile
deleted file mode 100644
index 2208944..0000000
--- a/.vim/c-support/codesnippets/Makefile
+++ /dev/null
@@ -1,178 +0,0 @@
-#=======================================================================================
-#
-# Filename: Makefile
-# Description:
-#
-# Usage: make (generate executable )
-# make clean (remove objects, executable, prerequisits )
-# make tarball (generate compressed archive )
-# make zip (generate compressed archive )
-#
-# Version: 1.0
-# Created:
-# Revision: ---
-#
-# Author:
-# Company:
-# Email:
-#
-# Notes: C extension : c
-# C++ extensions : cc cpp C
-# C and C++ sources can be mixed.
-# Prerequisites are generated automatically; makedepend is not
-# needed (see documentation for GNU make Version 3.80, July 2002,
-# section 4.13). The utility sed is used.
-#
-#============================================== makefile template version 1.6 ==========
-
-# ------------ name of the executable ------------------------------------------------
-EXECUTABLE = main
-
-# ------------ list of all source files ----------------------------------------------
-SOURCES = main.c
-
-# ------------ compiler --------------------------------------------------------------
-CC = gcc
-CXX = g++
-
-# ------------ compiler flags --------------------------------------------------------
-CFLAGS = -Wall -O0 -g # Do not optimize. Produce debugging information.
-
-# ------------ linker-Flags ----------------------------------------------------------
-LFLAGS = -g
-
-# ------------ additional system include directories ---------------------------------
-GLOBAL_INC_DIR =
-
-# ------------ private include directories -------------------------------------------
-LOCAL_INC_DIR = $(HOME)/include
-
-# ------------ system libraries (e.g. -lm ) -----------------------------------------
-SYS_LIBS = -lm
-
-# ------------ additional system library directories ---------------------------------
-GLOBAL_LIB_DIR =
-
-# ------------ additional system libraries -------------------------------------------
-GLOBAL_LIBS =
-
-# ------------ private library directories -------------------------------------------
-LOCAL_LIB_DIR = $(HOME)/lib
-
-# ------------ private libraries (e.g. libxyz.a ) -----------------------------------
-LOCAL_LIBS =
-
-# ------------ archive generation -----------------------------------------------------
-TARBALL_EXCLUDE = *.{o,gz,zip}
-ZIP_EXCLUDE = *.{o,gz,zip}
-
-# ------------ run executable out of this Makefile (yes/no) -------------------------
-# ------------ cmd line parameters for this executable -------------------------------
-EXE_START = no
-EXE_CMDLINE =
-
-#=======================================================================================
-# The following statements usually need not to be changed
-#=======================================================================================
-
-C_SOURCES = $(filter %.c, $(SOURCES))
-CPP_SOURCES = $(filter-out %.c, $(SOURCES))
-ALL_INC_DIR = $(addprefix -I, $(LOCAL_INC_DIR) $(GLOBAL_INC_DIR))
-ALL_LIB_DIR = $(addprefix -L, $(LOCAL_LIB_DIR) $(GLOBAL_LIB_DIR))
-GLOBAL_LIBSS = $(addprefix $(GLOBAL_LIB_DIR)/, $(GLOBAL_LIBS))
-LOCAL_LIBSS = $(addprefix $(LOCAL_LIB_DIR)/, $(LOCAL_LIBS))
-ALL_CFLAGS = $(CFLAGS) $(ALL_INC_DIR)
-ALL_LFLAGS = $(LFLAGS) $(ALL_LIB_DIR)
-BASENAMES = $(basename $(SOURCES))
-
-# ------------ generate the names of the object files --------------------------------
-OBJECTS = $(addsuffix .o,$(BASENAMES))
-
-# ------------ generate the names of the hidden prerequisite files -------------------
-PREREQUISITES = $(addprefix .,$(addsuffix .d,$(BASENAMES)))
-
-# ------------ make the executable ---------------------------------------------------
-$(EXECUTABLE): $(OBJECTS)
-ifeq ($(strip $(CPP_SOURCES)),)
- $(CC) $(ALL_LFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LOCAL_LIBSS) $(GLOBAL_LIBSS) $(SYS_LIBS)
-else
- $(CXX) $(ALL_LFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LOCAL_LIBSS) $(GLOBAL_LIBSS) $(SYS_LIBS)
-endif
-ifeq ($(EXE_START),yes)
- ./$(EXECUTABLE) $(EXE_CMDLINE)
-endif
-
-# ------------ include the automatically generated prerequisites ---------------------
-# ------------ if target is not clean, tarball or zip ---------------------
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),tarball)
-ifneq ($(MAKECMDGOALS),zip)
-include $(PREREQUISITES)
-endif
-endif
-endif
-
-# ------------ make the objects ------------------------------------------------------
-%.o: %.c
- $(CC) -c $(ALL_CFLAGS) $<
-
-%.o: %.cc
- $(CXX) -c $(ALL_CFLAGS) $<
-
-%.o: %.cpp
- $(CXX) -c $(ALL_CFLAGS) $<
-
-%.o: %.C
- $(CXX) -c $(ALL_CFLAGS) $<
-
-# ------------ make the prerequisites ------------------------------------------------
-#
-.%.d: %.c
- @$(make-prerequisite-c)
-
-.%.d: %.cc
- @$(make-prerequisite-cplusplus)
-
-.%.d: %.cpp
- @$(make-prerequisite-cplusplus)
-
-.%.d: %.C
- @$(make-prerequisite-cplusplus)
-
-# canned command sequences
-# echoing of the sed command is suppressed by the leading @
-
-define make-prerequisite-c
- @$(CC) -MM $(ALL_CFLAGS) $< > $@.$$$$; \
- sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' < $@.$$$$ > $@; \
- rm -f $@.$$$$;
-endef
-
-define make-prerequisite-cplusplus
- @$(CXX) -MM $(ALL_CFLAGS) $< > $@.$$$$; \
- sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' < $@.$$$$ > $@; \
- rm -f $@.$$$$;
-endef
-
-# ------------ remove generated files ------------------------------------------------
-# ------------ remove hidden backup files --------------------------------------------
-clean:
- rm --force $(EXECUTABLE) $(OBJECTS) $(PREREQUISITES) *~
-
-# ------------ tarball generation ------------------------------------------------------
-tarball:
- @lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
- rm --force $$lokaldir.tar.gz; \
- tar --exclude=$(TARBALL_EXCLUDE) \
- --create \
- --gzip \
- --verbose \
- --file $$lokaldir.tar.gz *
-
-# ------------ zip ---------------------------------------------------------------------
-zip:
- @lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
- zip -r $$lokaldir.zip * -x $(ZIP_EXCLUDE)
-
-# ======================================================================================
-# vim: set tabstop=2: set shiftwidth=2:
diff --git a/.vim/c-support/codesnippets/Makefile.multi-target.template b/.vim/c-support/codesnippets/Makefile.multi-target.template
deleted file mode 100644
index 75da8dd..0000000
--- a/.vim/c-support/codesnippets/Makefile.multi-target.template
+++ /dev/null
@@ -1,70 +0,0 @@
-#===============================================================================
-#
-# File: Makefile
-# Description:
-#
-# Usage: make (generate executable(s) )
-# make clean (remove objects, executables, prerequisits )
-# make tarball (generate compressed archive )
-# make zip (generate compressed archive )
-#
-# Author: Dr.-Ing. Fritz Mehner
-# Email: mehner@mfh-iserlohn.de
-# Created:
-#
-#===============================================================================
-
-
-CC = gcc
-CCP = g++
-CFLAGS = -c -g -Wall
-LFLAGS = -g
-SYS_LIBS = -lm
-TARBALL_EXCLUDE = "*.{o,gz,zip}"
-ZIP_EXCLUDE = *.o *.gz *.zip
-
-TARGETS = target_1 target_2
-
-#---------- targets --------------------------------------
-all: $(TARGETS)
-
-%.o: %.c
- $(CC) $(CFLAGS) $*.c
-
-%.o: %.cc
- $(CCP) $(CFLAGS) $*.cc
-
-#---------- target 1 -------------------------------------
-# C target
-target_1: target_1.o
- $(CC) $(LFLAGS) -o $@ $@.o $(SYS_LIBS)
-
-#---------- target 2 -------------------------------------
-# C++ target
-target_2: target_2.o
- $(CCP) $(LFLAGS) -o $@ $@.o $(SYS_LIBS)
-
-
-#---------- target 3 -------------------------------------
-
-
-
-#---------- tarball --------------------------------------
-tarball:
- lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
- rm --force $$lokaldir.tar.gz; \
- tar --exclude=$(TARBALL_EXCLUDE) \
- --create \
- --gzip \
- --verbose \
- --file $$lokaldir.tar.gz *
-
-#---------- zip ------------------------------------------
-zip:
- lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
- zip -r $$lokaldir.zip * -x $(ZIP_EXCLUDE)
-
-#---------- clear up -------------------------------------
-clean:
- rm --force $(EXECUTABLE) $(OBJECTS) $(PREREQUISITES)
-
diff --git a/.vim/c-support/codesnippets/calloc_double_matrix.c b/.vim/c-support/codesnippets/calloc_double_matrix.c
deleted file mode 100644
index ec71658..0000000
--- a/.vim/c-support/codesnippets/calloc_double_matrix.c
+++ /dev/null
@@ -1,36 +0,0 @@
-
-/*
- * === FUNCTION ======================================================================
- * Name: calloc_double_matrix
- * Description: Allocate a dynamic double-matrix of size rows*columns;
- * return a pointer.
- * =====================================================================================
- */
- double**
-calloc_double_matrix ( int rows, int columns )
-{
- int i;
- double **m;
- m = calloc ( rows, sizeof(double*) ); /* allocate pointer array */
- assert( m != NULL); /* abort if allocation failed */
- *m = calloc ( rows*columns, sizeof(double) );/* allocate data array */
- assert(*m != NULL); /* abort if allocation failed */
- for ( i=1; i<rows; i+=1 ) /* set pointers */
- m[i] = m[i-1] + columns;
- return m;
-} /* ---------- end of function calloc_double_matrix ---------- */
-
-/*
- * === FUNCTION ======================================================================
- * Name: free_matrix_double
- * Description: Free a dynamic double-matrix.
- * =====================================================================================
- */
- void
-free_double_matrix ( double **m )
-{
- free(*m); /* free data array */
- free( m); /* free pointer array */
- return ;
-} /* ---------- end of function free_double_matrix ---------- */
-
diff --git a/.vim/c-support/codesnippets/calloc_int_matrix.c b/.vim/c-support/codesnippets/calloc_int_matrix.c
deleted file mode 100644
index e21215b..0000000
--- a/.vim/c-support/codesnippets/calloc_int_matrix.c
+++ /dev/null
@@ -1,35 +0,0 @@
-
-/*
- * === FUNCTION ======================================================================
- * Name: calloc_int_matrix
- * Description: Allocate a dynamic int-matrix of size rows*columns; return a pointer.
- * =====================================================================================
- */
-int**
-calloc_int_matrix ( int rows, int columns )
-{
- int i;
- int **m;
- m = calloc ( rows, sizeof(int*) ); /* allocate pointer array */
- assert( m != NULL ); /* abort if allocation failed */
- *m = calloc ( rows*columns, sizeof(int) ); /* allocate data array */
- assert(*m != NULL ); /* abort if allocation failed */
- for ( i=1; i<rows; i+=1 ) /* set pointers */
- m[i] = m[i-1] + columns;
- return m;
-} /* ---------- end of function calloc_int_matrix ---------- */
-
-/*
- * === FUNCTION ======================================================================
- * Name: free_int_matrix
- * Description: Free a dynamic int-matrix.
- * =====================================================================================
- */
-void
-free_int_matrix ( int **m )
-{
- free(*m); /* free data array */
- free( m); /* free pointer array */
- return ;
-} /* ---------- end of function free_int_matrix ---------- */
-
diff --git a/.vim/c-support/codesnippets/main.c b/.vim/c-support/codesnippets/main.c
deleted file mode 100644
index 770f5d5..0000000
--- a/.vim/c-support/codesnippets/main.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/*
- * === FUNCTION ======================================================================
- * Name: main
- * Description: main function
- * =====================================================================================
- */
- int
-main ( int argc, char *argv[] )
-{
- printf ("\nProgram %s\n\n", argv[0] );
-
- return EXIT_SUCCESS;
-} /* ---------- end of function main ---------- */
-
diff --git a/.vim/c-support/codesnippets/main.cc b/.vim/c-support/codesnippets/main.cc
deleted file mode 100644
index d87f891..0000000
--- a/.vim/c-support/codesnippets/main.cc
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-
-using namespace std;
-
-// === FUNCTION ======================================================================
-// Name: main
-// Description: main function
-// =====================================================================================
- int
-main ( int argc, char *argv[] )
-{
- cout << "\nProgram " << argv[0] << endl << endl;
-
- return EXIT_SUCCESS;
-} // ---------- end of function main ----------
-
diff --git a/.vim/c-support/codesnippets/print_double_array.c.noindent b/.vim/c-support/codesnippets/print_double_array.c.noindent
deleted file mode 100644
index 6ced53a..0000000
--- a/.vim/c-support/codesnippets/print_double_array.c.noindent
+++ /dev/null
@@ -1,30 +0,0 @@
-
-/*
- * === FUNCTION ======================================================================
- * Name: print_double_array
- * Description: Print a double-array with one dimension.
- * Use
- * print_int_array( *matrix, n1*n2, n2, "matrix" );
- * for
- * double matrix[n1][n2];
- * =====================================================================================
- */
-static void
-print_double_array ( double array[], /* array to print */
- int n, /* number of elements to print */
- int nrow, /* number of elements per row */
- char *arrayname /* array name */
- )
-{
- int i;
- printf ("\n\n array \"%s\", length %d\n", arrayname, n );
- for ( i=0; i<n; i+=1 )
- {
- if( i%nrow == 0 )
- printf ("\n%6d : ", i );
- printf (" %8.2f", array[i] );
- }
- printf ("\n\n");
- return ;
-} /* ---------- end of function print_double_array ---------- */
-
diff --git a/.vim/c-support/codesnippets/print_int_array.c.noindent b/.vim/c-support/codesnippets/print_int_array.c.noindent
deleted file mode 100644
index 02d53c0..0000000
--- a/.vim/c-support/codesnippets/print_int_array.c.noindent
+++ /dev/null
@@ -1,30 +0,0 @@
-
-/*
- * === FUNCTION ======================================================================
- * Name: print_int_array
- * Description: Print an int-array with one dimension.
- * Use
- * print_int_array( *matrix, n1*n2, n2, "matrix" );
- * for
- * int matrix[n1][n2];
- * =====================================================================================
- */
-static void
-print_int_array ( int array[], /* array to print */
- int n, /* number of elements to print */
- int nrow, /* number of elements per row */
- char *arrayname /* array name */
- )
-{
- int i;
- printf ("\n\n array \"%s\", length %d\n", arrayname, n );
- for ( i=0; i<n; i+=1 )
- {
- if( i%nrow == 0 )
- printf ("\n%6d : ", i );
- printf (" %6d", array[i] );
- }
- printf ("\n\n");
- return ;
-} /* ---------- end of function print_int_array ---------- */
-
diff --git a/.vim/c-support/doc/ChangeLog b/.vim/c-support/doc/ChangeLog
deleted file mode 100644
index d0d4fd4..0000000
--- a/.vim/c-support/doc/ChangeLog
+++ /dev/null
@@ -1,304 +0,0 @@
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0.4
-=======================================================================================
-+ Format for the macros |DATE|, |TIME|, and |YEAR| can be defined by the user.
-+ Help text improved.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0.3
-=======================================================================================
-+ Code snippets can now be used in the console mode (Vim without GUI).
-+ Bugfix: Possible conflict with 'indent' removed when inserting templates.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0.2
-=======================================================================================
-+ Bugfix: Prototype picker did not alway delete no longer used prototypes.
-+ Bugfix: Prototype picker removed template specializations from parameter lists.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0.1
-=======================================================================================
-+ Bugfix: autocmd setting can influence autocmd settings of OTHER plugins.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 5.0
-=======================================================================================
-+ Completely new template system. Now every menu item is user definable.
-+ Changes to allow a system-wide installation.
-+ A few hotkeys added and renamed.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.6.1
-=======================================================================================
-+ New global variable to control the filetype of *.h header files (default is now 'cpp').
-+ Bugfix: properly resetting 'compiler' after using make, splint, and CodeCheck.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.6
-=======================================================================================
-+ New insert mode mappings (comments, statements, preprocessing, idioms, C++).
-+ Some mappings renamed (easier to remember).
-+ New tag (basename of a file reduced to characters allowed in names).
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.5
-=======================================================================================
-+ New menu item and hotkey for the (re)alignement of end-of-line comments.
-+ Hotkey \cn removed. Only one menu item for end-of-line comments left.
-+ Changed hotkeys: \ce -> \cl and \cl -> \cs .
-+ Three new tags (giving the basename of a file) for writing template files.
-+ Prototype picker handles template methods.
-+ Bugfix: splint works now under Windows.
-+ Minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.4
-=======================================================================================
-+ Plugin directories rearranged.
-+ main- and for-idiom have a visual mode now.
-+ Four new commands (command line) to control the comment style.
-+ Comment style (C/C++) can automatically follow the filetype.
-+ Bugfix: empty new file after removing the header template can't be closed.
-+ Bugfix : Tools entry missing when root menu not shown from the start.
-+ Minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.3
-=======================================================================================
-+ CodeCheck (TM) integrated (source code analysing tool).
-+ New key mappings for preprocessor statements.
-+ New preprocessor menu.
-+ Bugfix: indent under Windows.
-+ Minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.2.1
-=======================================================================================
-+ Bugfix: change needed for some menu names after patch 7.0.054 .
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.2
-=======================================================================================
-+ Setting the starting column for trailing comments improved.
-+ Small bug in block uncommenting fixed.
-+ Mac OS X : circumvent a Vim bug which caused a crash when loading plugin version 4.1.
-+ File syntax/c.vim removed (but see help in csupport.txt).
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.1
-=======================================================================================
-+ A complete switch statement can be made from a list of labels.
-+ Additional cases can be made from a list of labels.
-+ Small bug in line end commenting fixed.
-+ Some minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 4.0
-=======================================================================================
-
-+ Kernighan & Ritchie style for block statements can be enabled.
-+ Changes to make it compatible with Vim 7.
-+ Set C/C++ file type for source files which should not be preprocessed (*.i, *.ii).
-+ Some minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.11
-=======================================================================================
-
-+ Hotkeys and an accompanying reference card added.
-+ Preparation for syntax based folding.
-+ Some minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.10
-=======================================================================================
-
-+ Remove "#if 0 ... #endif" from the inside.
-+ Change C comments to C++ comments and vice versa.
-+ try..catch / catch / catch(...) now can be set surround a marked area.
-+ Prototype picking improved (for C++).
-+ A hardcopy shows the localized date and time in the header line.
-+ New help menu entry in the main menu of this plugin (shows the plugin documentation).
-+ Switch between corresponding source and header files with <S-F2> if the plugin a.vim
- is present.
-+ Plugin can be used with autocompletion for (, [, and { .
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.9.1
-=======================================================================================
-
-+ Doubling of file header for new c- and h-files under Windows fixed (Thanks to
- Fabricio C A Oliveira).
-+ Tiny bug in the file open idioms fixed.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.9
-=======================================================================================
-
-+ Formatter 'indent' integrated.
-+ Bugfix in the automatic header insertion.
-+ Assert idiom added.
-+ #if 0 ... #endif statement for blocking out code added.
-+ Minor stylistic improvements in some idioms.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.8.2
-=======================================================================================
-
-+ Screen update problem solved: color inversion under FC4 (Thanks to Bernie Barton).
-+ RTTI menu : additional v-mode.
-+ Statement menu and C++ menu rearranged.
-+ Include guard : name generation improved.
-+ File header templates will be included for additional file extensions (cp, cxx, c++, ...).
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.8.1
-=======================================================================================
-
-+ More C++ output manipulators, manipulator insertion more intuitive.
-+ Output into buffer: cursor goes to top of file.
-+ Makefile template improved (code snippet).
-+ Some internal improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.8
-=======================================================================================
-
-+ Windows support. Most features are now available under Windows.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.7.2
-=======================================================================================
-
-+ Run buffer through splint (A tool for statically checking C programs; see
- http://www.splint.org). An error window will be opened; quickfix commands can be used.
-+ Set buffer related command line arguments for splint.
-+ Line end comments start in a fixed column (can be set from the menu).
-+ Spaces in path names and file names are now possible.
-+ Template files and snippet files are no longer kept in the list of alternate files.
-+ Some minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.7.1
-=======================================================================================
-
-+ Bug fixed (command line arguments not passed to the executable).
-+ File extension for executables can be set.
-+ Minor improvements.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.7
-=======================================================================================
-
-+ Running a program:
- (1) Run program from the gVim command line.
- (2) Run program and direct the output into a window with name "C-Output".
- This buffer and its content will disappear when closing the window.
- The buffer is reused when still open.
- (3) Run program in an xterm (adjustable).
-+ Command line arguments are now buffer related (each buffer can have its own arguments).
-+ Code snippets can be protected from being indented during insertion.
-+ Picked up prototypes will be deleted after insertion.
-+ A code snippet with the file name extension "ni" or "noindent" will not be
- indented on insertion.
-+ for- and calloc-/malloc-idioms improved.
-+ Bug fixed (word list handling).
-
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.6
-=======================================================================================
-
-+ Installation simplified.
-+ for-loop-idiom asks for control variable, initial value, ...
-+ malloc-idiom asks for pointer variable and size.
-+ Toggling the comment style works correct again.
-+ Empty error windows will be closed.
-+ Prototype picker removes trailing parts of the function body if marked.
-+ The dialog windows (GUI) have been replaced by more flexible command line inputs.
-+ The undocumented and unnecessary hot key F12 has been removed.
-+ Extension to ctags + taglist shows makefile targets and qmake targets.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.5
-=======================================================================================
-
-+ Aligned line end comments for consecutive lines.
-+ Improved prototype picker removes comments.
-+ Picked up prototypes can be shown.
-+ Uncomment more than one block at once.
-+ 3 new idioms.
-+ Help file improved .
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.4
-=======================================================================================
-
-+ Two new global variables: C_Dictionary_File, C_MenuHeader .
-+ The preprocessor statements #if... and the function idiom include marked
- lines when invoked in visual mode.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.3
-=======================================================================================
-
-+ The C/C++ root menu can be disabled.
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.2
-=======================================================================================
-
-+ Only one C/C++ entry in the gVim root menu.
-+ All hotkeys are only defined for C/C++ files (file type plugin added).
-+ The following constructs are now read as templates from files:
- class, class using new,
- template class, template class using new,
- error class
-+ Install script added.
-+ Customization improved.
-+ Documentation improved (help file added).
-+ Bug fix (template file handling)
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.1
-=======================================================================================
-
-+ When the comment style "C" is active the menu entry "Comments.code->comment"
- turns a marked region in one multiline C-comment.
-+ The menu entry "Comments.comment->code" turns marked multiline C-comment
- back into code.
-+ A marked region can be surrounded by a for-, if, if-else, while-, do-while-statement
- (with indentation).
-+ The menu entry "Snippets.make prototype" makes a C- or C++-prototype from
- the current line or marked region and puts it in an internal buffer.
-+ The menu entry "Snippets.add prototype" also makes a C- or C++-prototype from
- the current line or a marked region and adds it to the internal buffer.
-+ The menu entry "Snippets.put prototype" inserts all gathered prototypes
- below the current line.
-+ Tag substitution rewritten (Some characters in a substitution text for a tag
- prevented the tag from being substituted).
-
-=======================================================================================
- RELEASE NOTES FOR VERSION 3.0
-=======================================================================================
-
-+ C-style comments AND C++-style comments are supported now.
-+ The menu entry 'Comments->Comment style ..' switches the styles (toggle).
-+ Block comments are now read as templates or skeletons from files:
- Frame Block, Function Description, Method Description,
- Class Description, H+file header, C/C++-file header
-+ These templates can contain tags like |FILENAME|, |AUTHOR| etc. which are replaced
- after reading (KDevelop templates can be used without any change).
-+ indentation: multiline inserts and code snippets will be indented after insertion.
-+ Most menu entries are now also active in normal mode.
-+ new menu items:
- includes for the C99 header,
- includes for the standard C++ header,
- includes for the C++ version of the Standard C Library header,
- multiline C comment
- vim modeline
-+ Reading the templates is done in one function which can be called in an autocmd.
-+ Code cleanup: register z no longer used. Most function calls are silent now.
-
-
diff --git a/.vim/c-support/doc/c-hotkeys.pdf b/.vim/c-support/doc/c-hotkeys.pdf
deleted file mode 100644
index 07a6c7c..0000000
--- a/.vim/c-support/doc/c-hotkeys.pdf
+++ /dev/null
Binary files differ
diff --git a/.vim/c-support/rc/customization.ctags b/.vim/c-support/rc/customization.ctags
deleted file mode 100644
index 75ccd5a..0000000
--- a/.vim/c-support/rc/customization.ctags
+++ /dev/null
@@ -1,7 +0,0 @@
-
---regex-make=/^([^:# \t]+)[ \t]*[:]{1,2}/\1/t,targets/
-
---langdef=qmake
---langmap=qmake:+.pro
---regex-qmake=/^([[:upper:]_]+)/\1/t,SystemVariables/
-
diff --git a/.vim/c-support/rc/customization.gvimrc b/.vim/c-support/rc/customization.gvimrc
deleted file mode 100644
index ff3d690..0000000
--- a/.vim/c-support/rc/customization.gvimrc
+++ /dev/null
@@ -1,44 +0,0 @@
-"
-"===============================================================================
-"========== example gvimrc from the distribution ==============================
-"===============================================================================
-"
-runtime gvimrc_example.vim
-"
-"
-"===============================================================================
-"========== CUSTOMIZATION (gvimrc) ===========================================
-"===============================================================================
-"
-"-------------------------------------------------------------------------------
-" Moving cursor to other windows
-"
-" shift down : change window focus to lower one (cyclic)
-" shift up : change window focus to upper one (cyclic)
-" shift left : change window focus to one on left
-" shift right : change window focus to one on right
-"-------------------------------------------------------------------------------
-"
-nmap <s-down> <c-w>w
-nmap <s-up> <c-w>W
-nmap <s-left> <c-w>h
-nmap <s-right> <c-w>l
-"
-"
-"-------------------------------------------------------------------------------
-" some additional hot keys
-"-------------------------------------------------------------------------------
-" S-F3 - call gvim file browser
-"-------------------------------------------------------------------------------
-"
- map <silent> <s-F3> :silent browse confirm e<CR>
-imap <silent> <s-F3> <Esc>:silent browse confirm e<CR>
-"
-"
-"-------------------------------------------------------------------------------
-" toggle insert mode <--> 'normal mode with the <RightMouse>-key
-"-------------------------------------------------------------------------------
-"
-nmap <RightMouse> <Insert>
-imap <RightMouse> <ESC>
-"
diff --git a/.vim/c-support/rc/customization.indent.pro b/.vim/c-support/rc/customization.indent.pro
deleted file mode 100644
index 95f6081..0000000
--- a/.vim/c-support/rc/customization.indent.pro
+++ /dev/null
@@ -1,8 +0,0 @@
---blank-lines-after-procedures
---brace-indent0
---comment-indentation49
---declaration-comment-column49
---declaration-indentation10
---space-after-parentheses
---swallow-optional-blank-lines
---tab-size2
diff --git a/.vim/c-support/rc/customization.vimrc b/.vim/c-support/rc/customization.vimrc
deleted file mode 100644
index f9ab5a7..0000000
--- a/.vim/c-support/rc/customization.vimrc
+++ /dev/null
@@ -1,149 +0,0 @@
-"
-"===============================================================================
-"========== load example vimrc from the distribution =========================
-"===============================================================================
-"
-runtime vimrc_example.vim
-"
-filetype plugin on
-"
-"===============================================================================
-"========== CUSTOMIZATION (vimrc) ============================================
-"===============================================================================
-"
-" Platform specific items:
-" - central backup directory (has to be created)
-" - default dictionary
-" Uncomment your choice.
-if has("win16") || has("win32") || has("win64") ||
- \ has("win95") || has("win32unix")
- "
-" runtime mswin.vim
-" set backupdir =$VIM\vimfiles\backupdir
-" set dictionary=$VIM\vimfiles\wordlists/german.list
-else
-" set backupdir =$HOME/.vim.backupdir
-" set dictionary=$HOME/.vim/wordlists/german.list
-endif
-"
-" Using a backupdir under UNIX/Linux: you may want to include a line similar to
-" find $HOME/.vim.backupdir -name "*" -type f -mtime +60 -exec rm -f {} \;
-" in one of your shell startup files (e.g. $HOME/.profile)
-"
-"-------------------------------------------------------------------------------
-" Use of dictionaries
-"-------------------------------------------------------------------------------
-"
-set complete+=k " scan the files given with the 'dictionary' option
-"
-"-------------------------------------------------------------------------------
-" Various settings
-"-------------------------------------------------------------------------------
-"
-set autoread " read open files again when changed outside Vim
-set autowrite " write a modified buffer on each :next , ...
-set browsedir =current " which directory to use for the file browser
-set incsearch " use incremental search
-set nowrap " do not wrap lines
-set shiftwidth =2 " number of spaces to use for each step of indent
-set tabstop =2 " number of spaces that a <Tab> in the file counts for
-set visualbell " visual bell instead of beeping
-"
-"
-"-------------------------------------------------------------------------------
-" some additional hot keys
-"-------------------------------------------------------------------------------
-" F2 - write file without confirmation
-" F3 - call file explorer Ex
-" F4 - show tag under curser in the preview window (tagfile must exist!)
-" F5 - open quickfix error window
-" F6 - close quickfix error window
-" F7 - display previous error
-" F8 - display next error
-" S-Tab - Fast switching between buffers (see below)
-" C-q - Leave the editor with Ctrl-q (see below)
-"-------------------------------------------------------------------------------
-"
-map <silent> <F2> :write<CR>
-map <silent> <F3> :Explore<CR>
-nmap <silent> <F4> :exe ":ptag ".expand("<cword>")<CR>
-map <silent> <F5> :copen<CR>
-map <silent> <F6> :cclose<CR>
-map <silent> <F7> :cp<CR>
-map <silent> <F8> :cn<CR>
-"
-imap <silent> <F2> <Esc>:write<CR>
-imap <silent> <F3> <Esc>:Explore<CR>
-imap <silent> <F4> <Esc>:exe ":ptag ".expand("<cword>")<CR>
-imap <silent> <F5> <Esc>:copen<CR>
-imap <silent> <F6> <Esc>:cclose<CR>
-imap <silent> <F7> <Esc>:cp<CR>
-imap <silent> <F8> <Esc>:cn<CR>
-"
-"-------------------------------------------------------------------------------
-" Fast switching between buffers
-" The current buffer will be saved before switching to the next one.
-" Choose :bprevious or :bnext
-"-------------------------------------------------------------------------------
-"
- map <silent> <s-tab> <Esc>:if &modifiable && !&readonly &&
- \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
-imap <silent> <s-tab> <Esc>:if &modifiable && !&readonly &&
- \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
-"
-"-------------------------------------------------------------------------------
-" Leave the editor with Ctrl-q : Write all changed buffers and exit Vim
-"-------------------------------------------------------------------------------
-nmap <C-q> :wqa<CR>
-"
-"-------------------------------------------------------------------------------
-" autocomplete parenthesis, brackets and braces
-"-------------------------------------------------------------------------------
-inoremap ( ()<Left>
-inoremap [ []<Left>
-inoremap { {}<Left>
-"
-vnoremap ( s()<Esc>P<Right>%
-vnoremap [ s[]<Esc>P<Right>%
-vnoremap { s{}<Esc>P<Right>%
-"
-"-------------------------------------------------------------------------------
-" Change the working directory to the directory containing the current file
-"-------------------------------------------------------------------------------
-if has("autocmd")
- autocmd BufEnter * :lchdir %:p:h
-endif " has("autocmd")
-"
-"-------------------------------------------------------------------------------
-" Filename completion
-"
-" wildmenu : command-line completion operates in an enhanced mode
-" wildignore : A file that matches with one of these
-" patterns is ignored when completing file or directory names.
-"-------------------------------------------------------------------------------
-"
-set wildmenu
-set wildignore=*.bak,*.o,*.e,*~
-"
-"-------------------------------------------------------------------------------
-" print options (pc = percentage of the media size)
-"-------------------------------------------------------------------------------
-set printoptions=left:8pc,right:3pc
-"
-"-------------------------------------------------------------------------------
-" taglist.vim : toggle the taglist window
-" taglist.vim : define the title texts for make
-" taglist.vim : define the title texts for qmake
-"-------------------------------------------------------------------------------
- noremap <silent> <F11> <Esc><Esc>:Tlist<CR>
-inoremap <silent> <F11> <Esc><Esc>:Tlist<CR>
-
-let tlist_make_settings = 'make;m:makros;t:targets'
-
-let tlist_qmake_settings = 'qmake;t:SystemVariables'
-
-if has("autocmd")
- " ---------- qmake : set filetype for *.pro ----------
- autocmd BufNewFile,BufRead *.pro set filetype=qmake
-endif " has("autocmd")
-
diff --git a/.vim/c-support/scripts/wrapper.sh b/.vim/c-support/scripts/wrapper.sh
deleted file mode 100644
index 55d9961..0000000
--- a/.vim/c-support/scripts/wrapper.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#===============================================================================
-# FILE: wrapper.sh
-# USAGE: ./wrapper.sh executable [cmd-line-args]
-# DESCRIPTION: Wraps the execution of a programm or script.
-# Use with xterm: xterm -e wrapper.sh executable cmd-line-args
-# This script is used by several plugins:
-# bash-support.vim, c.vim and perl-support.vim
-# OPTIONS: ---
-# REQUIREMENTS: which(1) - shows the full path of (shell) commands.
-# BUGS: ---
-# NOTES: ---
-# AUTHOR: Dr.-Ing. Fritz Mehner (Mn), mehner@fh-swf.de
-# COMPANY: Fachhochschule Südwestfalen, Iserlohn
-# CREATED: 23.11.2004 18:04:01 CET
-# REVISION: $Id: wrapper.sh,v 1.3 2007/10/03 09:06:09 mehner Exp $
-#===============================================================================
-
-command=${@} # the complete command line
-executable=${1} # name of the executable; may be quoted
-
-fullname=$(which $executable)
-[ $? -eq 0 ] && executable=$fullname
-
-if [ ${#} -ge 1 ] && [ -x "$executable" ]
-then
- shift
- "$executable" ${@}
- echo -e "> \"${command}\" returned ${?}"
-else
- echo -e "\n !! file \"${executable}\" does not exist or is not executable !!"
-fi
-echo -e " ... press return key ... "
-read dummy
diff --git a/.vim/c-support/syntax/c.vim b/.vim/c-support/syntax/c.vim
deleted file mode 100644
index 395e0d9..0000000
--- a/.vim/c-support/syntax/c.vim
+++ /dev/null
@@ -1,21 +0,0 @@
-"===================================================================================
-"
-" FILE: c.vim
-" DESCRIPTION: syntax file
-" enable syntax based folding
-" part of the c-support plugin
-"
-" AUTHOR: Dr.-Ing. Fritz Mehner
-" EMAIL: mehner@fh-swf.de
-" COMPANY: FH Südwestfalen, Iserlohn
-" VERSION: 1.0
-" CREATED: 11.03.2006
-" REVISION: ---
-"===================================================================================
-"
-" fold C blocks
-"
-syn region cBlock start="{" end="}" transparent fold
-set foldmethod=syntax
-set foldlevel=999
-
diff --git a/.vim/c-support/templates/Templates b/.vim/c-support/templates/Templates
deleted file mode 100644
index 9aa86fc..0000000
--- a/.vim/c-support/templates/Templates
+++ /dev/null
@@ -1,26 +0,0 @@
-$
-$ =============================================================
-$ ========== USER MACROS ======================================
-$ =============================================================
-$
-|AUTHOR| = Ryan Kavanagh
-|AUTHORREF| = ryanakca
-|EMAIL| = ryanakca@kubuntu.org
-|COPYRIGHT| = Copyright (c) 2008 Ryan Kavanagh
-|LICENSE| = GNU GPL v2
-$
-$ =============================================================
-$ ========== FILE INCLUDES ====================================
-$ =============================================================
-$
-|includefile| = c.comments.template
-|includefile| = c.cpp.template
-|includefile| = c.idioms.template
-|includefile| = c.preprocessor.template
-|includefile| = c.statements.template
-
-$|includefile| = cpp.comments.template
-$|includefile| = cpp.cpp.template
-$|includefile| = cpp.idioms.template
-$|includefile| = cpp.preprocessor.template
-$|includefile| = cpp.statements.template
diff --git a/.vim/c-support/templates/c.comments.template b/.vim/c-support/templates/c.comments.template
deleted file mode 100644
index 8080968..0000000
--- a/.vim/c-support/templates/c.comments.template
+++ /dev/null
@@ -1,147 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.end-of-line-comment == append ==
-/* <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.frame ==
-/*--------------------------------------------------------------------------
- * <CURSOR>
- *------------------------------------------------------------------------*/
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.function ==
-/*
- * === FUNCTION ==========================================================
- * Name: |?FUNCTION_NAME|
- * Description: <CURSOR>
- * =========================================================================
- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.method ==
-/*
- *--------------------------------------------------------------------------
- * Class: |?CLASSNAME|
- * Method: |?METHODNAME|
- * Description: <CURSOR>
- *--------------------------------------------------------------------------
- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.class ==
-/*
- * =========================================================================
- * Class: |?CLASSNAME|
- * Description: <CURSOR>
- * =========================================================================
- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-description == start ==
-/*
- * =========================================================================
- *
- * Filename: |FILENAME|
- *
- * Description: <CURSOR>
- *
- * Version: 1.0
- * Created: |DATE| |TIME|
- * Revision: none
- * Compiler: gcc
- *
- * Author: |AUTHOR| (|AUTHORREF|), |EMAIL|
- * License: |LICENSE|
- *
- * =========================================================================
- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-bug == append ==
- /* :BUG:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-compiler == append ==
- /* :COMPILER:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-todo == append ==
- /* :TODO:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-tricky == append ==
- /* :TRICKY:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-warning == append ==
- /* :WARNING:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-workaround == append ==
- /* :WORKAROUND:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-keyword == append ==
- /* :|?KEYWORD:u|:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-header-includes ==
-/* ##### HEADER FILE INCLUDES ################################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-macros ==
-/* ##### MACROS - LOCAL TO THIS SOURCE FILE ################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-typedefs ==
-/* ##### TYPE DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-data-types ==
-/* ##### DATA TYPES - LOCAL TO THIS SOURCE FILE ############################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-defs ==
-/* ##### CLASS DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################## */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-local-variables ==
-/* ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################ */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-prototypes ==
-/* ##### PROTOTYPES - LOCAL TO THIS SOURCE FILE ############################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-function-defs-exported ==
-/* ##### FUNCTION DEFINITIONS - EXPORTED FUNCTIONS ############################ */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-function-defs-local ==
-/* ##### FUNCTION DEFINITIONS - LOCAL TO THIS SOURCE FILE ##################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-implementations-exported ==
-/* ##### CLASS IMPLEMENTATIONS - EXPORTED CLASSES ############################# */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-implementations-local ==
-/* ##### CLASS IMPLEMENTATIONS - LOCAL CLASSES ################################ */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-header-includes ==
-/* ##### HEADER FILE INCLUDES ################################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-macros ==
-/* ##### EXPORTED MACROS ######################################################## */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-typedefs ==
-/* ##### EXPORTED TYPE DEFINITIONS ############################################## */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-data-types ==
-/* ##### EXPORTED DATA TYPES #################################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-class-defs ==
-/* ##### EXPORTED CLASS DEFINITIONS ############################################# */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-variables ==
-/* ##### EXPORTED VARIABLES ##################################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-function-declarations ==
-/* ##### EXPORTED FUNCTION DECLARATIONS ######################################### */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/c.cpp.template b/.vim/c-support/templates/c.cpp.template
deleted file mode 100644
index ce15421..0000000
--- a/.vim/c-support/templates/c.cpp.template
+++ /dev/null
@@ -1,353 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.method-implementation ==
-<CURSOR>void
-|?CLASSNAME|::|?METHODNAME| ( )
-{
- return ;
-} /* ----- end of method |CLASSNAME|::|?METHODNAME| ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.class ==
-/*
- * =====================================================================================
- * Class: |?CLASSNAME:c|
- * Description: <CURSOR>
- * =====================================================================================
- */
-class |CLASSNAME|
-{
- public:
- /* ==================== LIFECYCLE ======================================= */
- |CLASSNAME| (); /* constructor */
-
- /* ==================== OPERATORS ======================================= */
-
- /* ==================== OPERATIONS ======================================= */
-
- /* ==================== ACCESS ======================================= */
-
- /* ==================== INQUIRY ======================================= */
-
- /* ==================== DATA MEMBERS ======================================= */
- protected:
-
- private:
-
-}; /* ----- end of class |CLASSNAME| ----- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description: constructor
- *--------------------------------------------------------------------------------------
- */
-|CLASSNAME|::|CLASSNAME| ()
-{
-} /* ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.class-using-new ==
-/*
- * =====================================================================================
- * Class: |?CLASSNAME:c|
- * Description: <CURSOR>
- * =====================================================================================
- */
-class |CLASSNAME|
-{
- public:
-
- /* ==================== LIFECYCLE ======================================= */
- |CLASSNAME| (); /* constructor */
- |CLASSNAME| ( const |CLASSNAME| &other ); /* copy constructor */
- ~|CLASSNAME| (); /* destructor */
-
- /* ==================== OPERATORS ======================================= */
- const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); /* assignment operator */
-
- /* ==================== OPERATIONS ======================================= */
-
- /* ==================== ACCESS ======================================= */
-
- /* ==================== INQUIRY ======================================= */
-
- /* ==================== DATA MEMBERS ======================================= */
- protected:
-
- private:
-
-}; /* ----- end of class |CLASSNAME| ----- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description: constructor
- *--------------------------------------------------------------------------------------
- */
-|CLASSNAME|::|CLASSNAME| ()
-{
-} /* ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description: copy constructor
- *--------------------------------------------------------------------------------------
- */
-|CLASSNAME|::|CLASSNAME| ( const |CLASSNAME| &other )
-{
-} /* ----- end of method |CLASSNAME|::|CLASSNAME| (copy constructor) ----- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: ~|CLASSNAME|
- * Description: destructor
- *--------------------------------------------------------------------------------------
- */
-|CLASSNAME|::~|CLASSNAME| ()
-{
-} /* ----- end of method |CLASSNAME|::~|CLASSNAME| (destructor) ----- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: operator =
- * Description: assignment operator
- *--------------------------------------------------------------------------------------
- */
-const |CLASSNAME|&
-|CLASSNAME|::operator = ( const |CLASSNAME| &other )
-{
- if ( this != &other ) {
- }
- return *this;
-} /* ----- end of method |CLASSNAME|::operator = (assignment operator) ----- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.error-class ==
-/*
- * =====================================================================================
- * Class: |?CLASSNAME:c|
- * Description: <CURSOR>
- * =====================================================================================
- */
-class |CLASSNAME|
-{
- public: |CLASSNAME| ( char *msg ):message(msg) { }
- virtual ~|CLASSNAME| ( ) { }
- virtual const char* what ( ) const throw ( ) { return message; }
- protected: char *message;
-}; /* ----- end of class |CLASSNAME| ----- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-method-implementation ==
-template < class T >
-void<CURSOR> |?CLASSNAME|<T>::|?METHODNAME| ( )
-{
- return ;
-} /* ----- end of method |CLASSNAME|<T>::|METHODNAME| ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-class ==
-/*
- * =====================================================================================
- * Class: |?CLASSNAME:c|
- * Description: <CURSOR>
- * =====================================================================================
- */
-template < class T >
-class |CLASSNAME|
-{
- public:
-
- /* ==================== LIFECYCLE ======================================= */
- |CLASSNAME| (); /* constructor */
-
- /* ==================== OPERATORS ======================================= */
-
- /* ==================== OPERATIONS ======================================= */
-
- /* ==================== ACCESS ======================================= */
-
- /* ==================== INQUIRY ======================================= */
-
- /* ==================== DATA MEMBERS ======================================= */
- protected:
-
- private:
-
-}; /* ---------- end of template class |CLASSNAME| ---------- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description:
- *--------------------------------------------------------------------------------------
- */
-template < class T >
-|CLASSNAME| < T >::|CLASSNAME| ()
-{
-} /* ---------- end of constructor of template class |CLASSNAME| ---------- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-class-using-new ==
-/*
- * =====================================================================================
- * Class: |?CLASSNAME:c|
- * Description: <CURSOR>
- * =====================================================================================
- */
-template < class T >
-class |CLASSNAME|
-{
- public:
-
- /* ==================== LIFECYCLE ======================================= */
- |CLASSNAME| (); /* constructor */
- |CLASSNAME| (const |CLASSNAME| &other); /* copy constructor */
- ~|CLASSNAME| (); /* destructor */
-
- /* ==================== OPERATORS ======================================= */
- const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); /* assignment operator */
-
- /* ==================== OPERATIONS ======================================= */
-
- /* ==================== ACCESS ======================================= */
-
- /* ==================== INQUIRY ======================================= */
-
- /* ==================== DATA MEMBERS ======================================= */
- protected:
-
- private:
-
-}; /* ---------- end of template class |CLASSNAME| ---------- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description: constructor
- *--------------------------------------------------------------------------------------
- */
-template < class T >
-|CLASSNAME|< T >::|CLASSNAME| ()
-{
-} /* ---------- end of constructor of template class |CLASSNAME| ---------- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: |CLASSNAME|
- * Description: copy constructor
- *--------------------------------------------------------------------------------------
- */
-template < class T >
-|CLASSNAME|< T >::|CLASSNAME| ( const |CLASSNAME| &other )
-{
-} /* ---------- end of copy constructor of template class |CLASSNAME| ---------- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: ~|CLASSNAME|
- * Description: destructor
- *--------------------------------------------------------------------------------------
- */
-template < class T >
-|CLASSNAME|< T >::~|CLASSNAME| ()
-{
-} /* ---------- end of destructor of template class |CLASSNAME| ---------- */
-
-/*
- *--------------------------------------------------------------------------------------
- * Class: |CLASSNAME|
- * Method: operator =
- * Description: assignment operator
- *--------------------------------------------------------------------------------------
- */
-template < class T >
-const |CLASSNAME|< T >& |CLASSNAME|< T >::operator = ( const |CLASSNAME| &other )
-{
- return *this;
-} /* ---------- end of assignment operator of template class |CLASSNAME| ---------- */
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-function ==
-template <class T>
-<CURSOR>void |?TEMPALTE_FUNCTION_NAME| ( T param )
-{
- return ;
-} /* ----- end of template function |?TEMPALTE_FUNCTION_NAME| ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.operator-in ==
-ostream &
-operator << ( ostream & os, const |?CLASSNAME| & obj )
-{
- os << obj.<CURSOR> ;
- return os;
-} /* ----- end of function operator << ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.operator-out ==
-istream &
-operator >> ( istream & is, |?CLASSNAME| & obj )
-{
- is >> obj.<CURSOR> ;
- return is;
-} /* ----- end of function operator >> ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.try-catch ==
-try {<CURSOR>
-<SPLIT>}
-catch ( const &ExceptObj ) { /* handle exception: */
-}
-catch (...) { /* handle exception: unspezified */
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.catch ==
-catch ( <CURSOR>const &ExceptObj ) { /* handle exception: */
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.catch-points ==
-catch (...) { /* handle exception: */
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.extern ==
-extern "C" {<CURSOR>
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.open-input-file ==
-char *ifs_file_name = "<CURSOR>"; /* input file name */
-ifstream ifs; /* create ifstream object */
-
-ifs.open (ifs_file_name); /* open ifstream */
-if (!ifs) {
- cerr << "\nERROR : failed to open input file " << ifs_file_name << endl;
- exit (EXIT_FAILURE);
-}
-
-
-ifs.close (); /* close ifstream */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.open-output-file ==
-char *ofs_file_name = "<CURSOR>"; /* output file name */
-ofstream ofs; /* create ofstream object */
-
-ofs.open (ofs_file_name); /* open ofstream */
-if (!ofs) {
- cerr << "\nERROR : failed to open output file " << ofs_file_name << endl;
- exit (EXIT_FAILURE);
-}
-
-
-ofs.close (); /* close ofstream */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.namespace ==
-namespace |?NAMESPACE|
-{<CURSOR>
-<SPLIT>} /* ----- end of |NAMESPACE| name ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/c.idioms.template b/.vim/c-support/templates/c.idioms.template
deleted file mode 100644
index 09bc0b7..0000000
--- a/.vim/c-support/templates/c.idioms.template
+++ /dev/null
@@ -1,98 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.function ==
-void<CURSOR>
-|?FUNCTION_NAME| ( )
-{
-<SPLIT> return ;
-} /* ----- end of function |FUNCTION_NAME| ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.function-static ==
-static void<CURSOR>
-|?FUNCTION_NAME| ( )
-{
-<SPLIT> return ;
-} /* ----- end of static function |FUNCTION_NAME| ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.main ==
-int
-main ( int argc, char *argv[] )
-{<CURSOR>
-<SPLIT> return EXIT_SUCCESS;
-} /* ---------- end of function main ---------- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.enum ==
-enum |?ENUM_NAME| {<CURSOR>
-<SPLIT>}; /* ---------- end of enum |ENUM_NAME| ---------- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.struct ==
-struct |?STRUCT_NAME| {<CURSOR>
-<SPLIT>}; /* ---------- end of struct |STRUCT_NAME| ---------- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.union ==
-union |?UNION_NAME| {<CURSOR>
-<SPLIT>}; /* ---------- end of union |UNION_NAME| ---------- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.calloc ==
-|?POINTER| = (<CURSOR>TYPE*)calloc ( (size_t)(COUNT), sizeof(TYPE) );
-if ( |POINTER|==NULL ) {
- fprintf ( stderr, "\ndynamic memory allocation failed\n" );
- exit (EXIT_FAILURE);
-}
-
-free (|POINTER|);
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.malloc ==
-|?POINTER| = (<CURSOR>TYPE*)malloc ( sizeof(TYPE) );
-if ( |POINTER|==NULL ) {
- fprintf ( stderr, "\ndynamic memory allocation failed\n" );
- exit (EXIT_FAILURE);
-}
-
-free (|POINTER|);
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.open-input-file ==
-FILE *|?FILEPOINTER|; /* input-file pointer */
-char *|FILEPOINTER|_file_name = "<CURSOR>"; /* input-file name */
-
-|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "r" );
-if ( |FILEPOINTER| == NULL ) {
- fprintf ( stderr, "couldn't open file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-
-if( fclose(|FILEPOINTER|) == EOF ) { /* close input file */
- fprintf ( stderr, "couldn't close file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.open-output-file ==
-FILE *|?FILEPOINTER|; /* output-file pointer */
-char *|FILEPOINTER|_file_name = "<CURSOR>"; /* output-file name */
-
-|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "w" );
-if ( |FILEPOINTER| == NULL ) {
- fprintf ( stderr, "couldn't open file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-
-if( fclose(|FILEPOINTER|) == EOF ) { /* close output file */
- fprintf ( stderr, "couldn't close file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.fprintf ==
-fprintf ( |?FILEPOINTER|, "<CURSOR>\n", );
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.fscanf ==
-fscanf ( |?FILEPOINTER|, "<CURSOR>", & );
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/c.preprocessor.template b/.vim/c-support/templates/c.preprocessor.template
deleted file mode 100644
index 3ec674a..0000000
--- a/.vim/c-support/templates/c.preprocessor.template
+++ /dev/null
@@ -1,34 +0,0 @@
-$-------------------------------------------------------------------------
-== preprocessor.define ==
-#define <CURSOR> /* */
-$-------------------------------------------------------------------------
-== preprocessor.undefine ==
-#undef <CURSOR> /* */
-$-------------------------------------------------------------------------
-== preprocessor.if-else-endif ==
-#if |?CONDITION:u|
-<CURSOR><SPLIT>
-#else /* ----- not |CONDITION| ----- */
-
-#endif /* ----- not |CONDITION| ----- */
-$-------------------------------------------------------------------------
-== preprocessor.ifdef-else-endif ==
-#ifdef |?CONDITION:u|
-<CURSOR><SPLIT>
-#else /* ----- not |CONDITION| ----- */
-
-#endif /* ----- not |CONDITION| ----- */
-$-------------------------------------------------------------------------
-== preprocessor.ifndef-else-endif ==
-#ifndef |?CONDITION:u|
-<CURSOR><SPLIT>
-#else /* ----- not |CONDITION| ----- */
-
-#endif /* ----- not |CONDITION| ----- */
-$-------------------------------------------------------------------------
-== preprocessor.ifndef-def-endif ==
-#ifndef |?BASENAME:L|_INC
-#define |BASENAME|_INC
-<CURSOR><SPLIT>
-#endif /* ----- #ifndef |BASENAME|_INC ----- */
-$-------------------------------------------------------------------------
diff --git a/.vim/c-support/templates/c.statements.template b/.vim/c-support/templates/c.statements.template
deleted file mode 100644
index 966ae3a..0000000
--- a/.vim/c-support/templates/c.statements.template
+++ /dev/null
@@ -1,62 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.do-while ==
-do {
-<SPLIT>} while ( <CURSOR> ); /* ----- end do-while ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.for ==
-for ( <CURSOR>; ; )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.for-block ==
-for ( <CURSOR>; ; ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if ==
-if ( <CURSOR> )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-block ==
-if ( <CURSOR> ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-else ==
-if ( <CURSOR> )
-<SPLIT>else
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-block-else ==
-if ( <CURSOR> ) {
-<SPLIT>} else {
-}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.while ==
-while ( <CURSOR> )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.while-block ==
-while ( <CURSOR> ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.switch ==
-switch ( <CURSOR> ) {
- case :
- <SPLIT>break;
-
- case :
- break;
-
- case :
- break;
-
- case :
- break;
-
- default:
- break;
-} /* ----- end switch ----- */
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.case ==
-case <CURSOR>:
-break;
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.block ==
-{<CURSOR>
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/cpp.comments.template b/.vim/c-support/templates/cpp.comments.template
deleted file mode 100644
index 9929eab..0000000
--- a/.vim/c-support/templates/cpp.comments.template
+++ /dev/null
@@ -1,139 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.end-of-line-comment == append ==
-// <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.frame ==
-//----------------------------------------------------------------------
-// <CURSOR>
-//----------------------------------------------------------------------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.function ==
-// === FUNCTION ===========================================================
-// Name: |?FUNCTION_NAME|
-// Description: <CURSOR>
-// ==========================================================================
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.method ==
-//---------------------------------------------------------------------------
-// Class: |?CLASSNAME|
-// Method: |?METHODNAME|
-// Description: <CURSOR>
-//---------------------------------------------------------------------------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.class ==
-// ==========================================================================
-// Class: |?CLASSNAME|
-// Description: <CURSOR>
-// ==========================================================================
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-description == start ==
-// ==========================================================================
-//
-// Filename: |FILENAME|
-//
-// Description: <CURSOR>
-//
-// Version: 1.0
-// Created: |DATE| |TIME|
-// Revision: none
-// Compiler: g++
-//
-// Author: |AUTHOR| (|AUTHORREF|), |EMAIL|
-// License: |LICENSE|
-//
-// ==========================================================================
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-bug == append ==
- // :BUG:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-compiler == append ==
- // :COMPILER:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-todo == append ==
- // :TODO:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-tricky == append ==
- // :TRICKY:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-warning == append ==
- // :WARNING:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-workaround == append ==
- // :WORKAROUND:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.keyword-keyword == append ==
- // :|?KEYWORD:u|:|DATE| |TIME|:|AUTHORREF|: <CURSOR>
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-header-includes ==
-// ##### HEADER FILE INCLUDES ###################################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-macros ==
-// ##### MACROS - LOCAL TO THIS SOURCE FILE ###################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-typedefs ==
-// ##### TYPE DEFINITIONS - LOCAL TO THIS SOURCE FILE #########################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-data-types ==
-// ##### DATA TYPES - LOCAL TO THIS SOURCE FILE ###############################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-defs ==
-// ##### CLASS DEFINITIONS - LOCAL TO THIS SOURCE FILE ########################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-local-variables ==
-// ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-prototypes ==
-// ##### PROTOTYPES - LOCAL TO THIS SOURCE FILE ###############################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-function-defs-exported ==
-// ##### FUNCTION DEFINITIONS - EXPORTED FUNCTIONS ############################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-function-defs-local ==
-// ##### FUNCTION DEFINITIONS - LOCAL TO THIS SOURCE FILE #####################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-implementations-exported ==
-// ##### CLASS IMPLEMENTATIONS - EXPORTED CLASSES #############################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-cpp-class-implementations-local ==
-// ##### CLASS IMPLEMENTATIONS - LOCAL CLASSES ################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-header-includes ==
-// ##### HEADER FILE INCLUDES ###################################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-macros ==
-// ##### EXPORTED MACROS ########################################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-typedefs ==
-// ##### EXPORTED TYPE DEFINITIONS ##############################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-data-types ==
-// ##### EXPORTED DATA TYPES ####################################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-class-defs ==
-// ##### EXPORTED CLASS DEFINITIONS #############################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-variables ==
-// ##### EXPORTED VARIABLES #####################################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== comment.file-section-hpp-exported-function-declarations ==
-// ##### EXPORTED FUNCTION DECLARATIONS #########################################
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/cpp.cpp.template b/.vim/c-support/templates/cpp.cpp.template
deleted file mode 100644
index 7773989..0000000
--- a/.vim/c-support/templates/cpp.cpp.template
+++ /dev/null
@@ -1,329 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.method-implementation ==
-<CURSOR>void
-|?CLASSNAME|::|?METHODNAME| ( )
-{
- return ;
-} // ----- end of method |CLASSNAME|::|METHODNAME| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.class ==
-// =====================================================================================
-// Class: |?CLASSNAME:c|
-// Description: <CURSOR>
-// =====================================================================================
-class |CLASSNAME|
-{
- public:
-
- // ==================== LIFECYCLE =======================================
- |CLASSNAME| (); // constructor
-
- // ==================== OPERATORS =======================================
-
- // ==================== OPERATIONS =======================================
-
- // ==================== ACCESS =======================================
-
- // ==================== INQUIRY =======================================
-
- // ==================== DATA MEMBERS =======================================
- protected:
-
- private:
-
-}; // ----- end of class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: constructor
-//--------------------------------------------------------------------------------------
-|CLASSNAME|::|CLASSNAME| ()
-{
-} // ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) -----
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.class-using-new ==
-// =====================================================================================
-// Class: |?CLASSNAME:c|
-// Description: <CURSOR>
-// =====================================================================================
-class |CLASSNAME|
-{
- public:
-
- // ==================== LIFECYCLE =======================================
- |CLASSNAME| (); // constructor
- |CLASSNAME| ( const |CLASSNAME| &other ); // copy constructor
- ~|CLASSNAME| (); // destructor
-
- // ==================== OPERATORS =======================================
- const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); // assignment operator
-
- // ==================== OPERATIONS =======================================
-
- // ==================== ACCESS =======================================
-
- // ==================== INQUIRY =======================================
-
- // ==================== DATA MEMBERS =======================================
- protected:
-
- private:
-
-}; // ----- end of class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: constructor
-//--------------------------------------------------------------------------------------
-|CLASSNAME|::|CLASSNAME| ()
-{
-} // ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: copy constructor
-//--------------------------------------------------------------------------------------
-|CLASSNAME|::|CLASSNAME| ( const |CLASSNAME| &other )
-{
-} // ----- end of method |CLASSNAME|::|CLASSNAME| (copy constructor) -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: ~|CLASSNAME|
-// Description: destructor
-//--------------------------------------------------------------------------------------
-|CLASSNAME|::~|CLASSNAME| ()
-{
-} // ----- end of method |CLASSNAME|::~|CLASSNAME| (destructor) -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: operator =
-// Description: assignment operator
-//--------------------------------------------------------------------------------------
-const |CLASSNAME|&
-|CLASSNAME|::operator = ( const |CLASSNAME| &other )
-{
- if ( this != &other ) {
- }
- return *this;
-} // ----- end of method |CLASSNAME|::operator = (assignment operator) -----
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.error-class ==
-// =====================================================================================
-// Class: |?CLASSNAME:c|
-// Description: <CURSOR>
-// =====================================================================================
-class |CLASSNAME|
-{
- public: |CLASSNAME| ( char *msg ):message(msg) { }
- virtual ~|CLASSNAME| ( ) { }
- virtual const char* what ( ) const throw ( ) { return message; }
- protected: char *message;
-}; // ---------- end of class |CLASSNAME| ----------
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-method-implementation ==
-template < class T >
-void<CURSOR> |?CLASSNAME|<T>::|?METHODNAME| ( )
-{
- return ;
-} // ----- end of method |CLASSNAME|<T>::|METHODNAME| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-class ==
-// =====================================================================================
-// Class: |?CLASSNAME:c|
-// Description: <CURSOR>
-// =====================================================================================
-
-template < class T >
-class |CLASSNAME|
-{
- public:
-
- // ==================== LIFECYCLE =======================================
- |CLASSNAME| (); // constructor
-
- // ==================== OPERATORS =======================================
-
- // ==================== OPERATIONS =======================================
-
- // ==================== ACCESS =======================================
-
- // ==================== INQUIRY =======================================
-
- // ==================== DATA MEMBERS =======================================
- protected:
-
- private:
-
-}; // ----- end of template class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: constructor
-//--------------------------------------------------------------------------------------
-template < class T >
-|CLASSNAME| <T>:: |CLASSNAME| ()
-{
-} // ----- end of constructor of template class |CLASSNAME| -----
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-class-using-new ==
-// =====================================================================================
-// Class: |?CLASSNAME:c|
-// Description: <CURSOR>
-// =====================================================================================
-
-template < class T >
-class |CLASSNAME|
-{
- public:
-
- // ==================== LIFECYCLE =======================================
- |CLASSNAME| (); // constructor
- |CLASSNAME| ( const |CLASSNAME| &other ); // copy constructor
- ~|CLASSNAME| (); // destructor
-
- // ==================== OPERATORS =======================================
-
- const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); // assignment operator
-
- // ==================== OPERATIONS =======================================
-
- // ==================== ACCESS =======================================
-
- // ==================== INQUIRY =======================================
-
- // ==================== DATA MEMBERS =======================================
- protected:
-
- private:
-
-}; // ----- end of template class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: constructor
-//--------------------------------------------------------------------------------------
-template < class T >
-|CLASSNAME|<T>::|CLASSNAME| ()
-{
-} // ----- end of constructor of template class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: |CLASSNAME|
-// Description: copy constructor
-//--------------------------------------------------------------------------------------
-template < class T >
-|CLASSNAME|<T>::|CLASSNAME| ( const |CLASSNAME| &other )
-{
-} // ----- end of copy constructor of template class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: ~|CLASSNAME|
-// Description: destructor
-//--------------------------------------------------------------------------------------
-template < class T >
-|CLASSNAME|<T>::~|CLASSNAME| ()
-{
-} // ----- end of destructor of template class |CLASSNAME| -----
-
-//--------------------------------------------------------------------------------------
-// Class: |CLASSNAME|
-// Method: operator =
-// Description: assignment operator
-//--------------------------------------------------------------------------------------
-template < class T >
-const |CLASSNAME|<T>& |CLASSNAME|<T>::operator = ( const |CLASSNAME| &other )
-{
- if ( this != &other ) {
- }
- return *this;
-} // ----- end of assignment operator of template class |CLASSNAME| -----
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.template-function ==
-template <class T>
-<CURSOR>void |?TEMPALTE_FUNCTION_NAME| ( T param )
-{
- return ;
-} // ----- end of template function |?TEMPALTE_FUNCTION_NAME| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.operator-in ==
-ostream &
-operator << ( ostream & os, const |?CLASSNAME| & obj )
-{
- os << obj.<CURSOR> ;
- return os;
-} // ----- end of function operator << -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.operator-out ==
-istream &
-operator >> ( istream & is, |?CLASSNAME| & obj )
-{
- is >> obj.<CURSOR> ;
- return is;
-} // ----- end of function operator >> -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.try-catch ==
-try {<CURSOR>
-<SPLIT>}
-catch ( const &ExceptObj ) { // handle exception:
-}
-catch (...) { // handle exception: unspezified
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.catch ==
-catch ( <CURSOR>const &ExceptObj ) { // handle exception:
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.catch-points ==
-catch (...) { // handle exception:
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.extern ==
-extern "C" {<CURSOR>
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.open-input-file ==
-char *ifs_file_name = "<CURSOR>"; // input file name
-ifstream ifs; // create ifstream object
-
-ifs.open (ifs_file_name); // open ifstream
-if (!ifs) {
- cerr << "\nERROR : failed to open input file " << ifs_file_name << endl;
- exit (EXIT_FAILURE);
-}
-
-
-ifs.close (); // close ifstream
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.open-output-file ==
-char *ofs_file_name = "<CURSOR>"; // output file name
-ofstream ofs; // create ofstream object
-
-ofs.open (ofs_file_name); // open ofstream
-if (!ofs) {
- cerr << "\nERROR : failed to open output file " << ofs_file_name << endl;
- exit (EXIT_FAILURE);
-}
-
-
-ofs.close (); // close ofstream
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== cpp.namespace ==
-namespace |?NAMESPACE|
-{<CURSOR>
-<SPLIT>} // ----- end of |NAMESPACE| name -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/cpp.idioms.template b/.vim/c-support/templates/cpp.idioms.template
deleted file mode 100644
index febc375..0000000
--- a/.vim/c-support/templates/cpp.idioms.template
+++ /dev/null
@@ -1,98 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.function ==
-void<CURSOR>
-|?FUNCTION_NAME| ( )
-{
-<SPLIT> return ;
-} // ----- end of function |FUNCTION_NAME| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.function-static ==
-static void<CURSOR>
-|?FUNCTION_NAME| ( )
-{
-<SPLIT> return ;
-} // ----- end of static function |FUNCTION_NAME| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.main ==
-int
-main ( int argc, char *argv[] )
-{<CURSOR>
-<SPLIT> return EXIT_SUCCESS;
-} // ---------- end of function main ----------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.enum ==
-enum |?ENUM_NAME| {<CURSOR>
-<SPLIT>}; // ---------- end of enum |ENUM_NAME| ----------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.struct ==
-struct |?STRUCT_NAME| {<CURSOR>
-<SPLIT>}; // ---------- end of struct |STRUCT_NAME| ----------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.union ==
-union |?UNION_NAME| {<CURSOR>
-<SPLIT>}; // ---------- end of union |UNION_NAME| ----------
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.calloc ==
-|?POINTER| = (<CURSOR>TYPE*)calloc ( (size_t)(COUNT), sizeof(TYPE) );
-if ( |POINTER|==NULL ) {
- fprintf ( stderr, "\ndynamic memory allocation failed\n" );
- exit (EXIT_FAILURE);
-}
-
-free (|POINTER|);
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.malloc ==
-|?POINTER| = (<CURSOR>TYPE*)malloc ( sizeof(TYPE) );
-if ( |POINTER|==NULL ) {
- fprintf ( stderr, "\ndynamic memory allocation failed\n" );
- exit (EXIT_FAILURE);
-}
-
-free (|POINTER|);
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.open-input-file ==
-FILE *|?FILEPOINTER|; // input-file pointer
-char *|FILEPOINTER|_file_name = "<CURSOR>"; // input-file name
-
-|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "r" );
-if ( |FILEPOINTER| == NULL ) {
- fprintf ( stderr, "couldn't open file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-
-if( fclose(|FILEPOINTER|) == EOF ) { // close input file
- fprintf ( stderr, "couldn't close file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.open-output-file ==
-FILE *|?FILEPOINTER|; // output-file pointer
-char *|FILEPOINTER|_file_name = "<CURSOR>"; // output-file name
-
-|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "w" );
-if ( |FILEPOINTER| == NULL ) {
- fprintf ( stderr, "couldn't open file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-
-if( fclose(|FILEPOINTER|) == EOF ) { // close output file
- fprintf ( stderr, "couldn't close file '%s'; %s\n",
- |FILEPOINTER|_file_name, strerror(errno) );
- exit (EXIT_FAILURE);
-}
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.fprintf ==
-fprintf ( |?FILEPOINTER|, "<CURSOR>\n", );
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== idioms.fscanf ==
-fscanf ( |?FILEPOINTER|, "<CURSOR>", & );
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/cpp.preprocessor.template b/.vim/c-support/templates/cpp.preprocessor.template
deleted file mode 100644
index dbf8abb..0000000
--- a/.vim/c-support/templates/cpp.preprocessor.template
+++ /dev/null
@@ -1,34 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.define ==
-#define <CURSOR> //
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.undefine ==
-#undef <CURSOR> //
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.if-else-endif ==
-#if |?CONDITION:u|
-<CURSOR><SPLIT>
-#else // ----- not |CONDITION| -----
-
-#endif // ----- not |CONDITION| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.ifdef-else-endif ==
-#ifdef |?CONDITION:u|
-<CURSOR><SPLIT>
-#else // ----- not |CONDITION| -----
-
-#endif // ----- not |CONDITION| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.ifndef-else-endif ==
-#ifndef |?CONDITION:u|
-<CURSOR><SPLIT>
-#else // ----- not |CONDITION| -----
-
-#endif // ----- not |CONDITION| -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== preprocessor.ifndef-def-endif ==
-#ifndef |?BASENAME:L|_INC
-#define |BASENAME|_INC
-<CURSOR><SPLIT>
-#endif // ----- #ifndef |BASENAME|_INC -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/templates/cpp.statements.template b/.vim/c-support/templates/cpp.statements.template
deleted file mode 100644
index 8018334..0000000
--- a/.vim/c-support/templates/cpp.statements.template
+++ /dev/null
@@ -1,62 +0,0 @@
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.do-while ==
-do {
-<SPLIT>} while ( <CURSOR> ); // ----- end do-while -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.for ==
-for ( <CURSOR>; ; )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.for-block ==
-for ( <CURSOR>; ; ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if ==
-if ( <CURSOR> )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-block ==
-if ( <CURSOR> ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-else ==
-if ( <CURSOR> )
-<SPLIT>else
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.if-block-else ==
-if ( <CURSOR> ) {
-<SPLIT>} else {
-}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.while ==
-while ( <CURSOR> )
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.while-block ==
-while ( <CURSOR> ) {
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.switch ==
-switch ( <CURSOR> ) {
- case :
- <SPLIT>break;
-
- case :
- break;
-
- case :
- break;
-
- case :
- break;
-
- default:
- break;
-} // ----- end switch -----
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.case ==
-case <CURSOR>:
-break;
-
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-== statements.block ==
-{<CURSOR>
-<SPLIT>}
-$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/.vim/c-support/wordlists/c-c++-keywords.list b/.vim/c-support/wordlists/c-c++-keywords.list
deleted file mode 100644
index 5a97dd6..0000000
--- a/.vim/c-support/wordlists/c-c++-keywords.list
+++ /dev/null
@@ -1,209 +0,0 @@
-adjustfield
-basefield
-boolalpha
-floatfield
-internal
-scientific
-setbase
-setiosflags
-setprecision
-showbase
-showpoint
-showpos
-uppercase
-
-auto
-break
-case
-char
-const
-continue
-default
-double
-else
-enum
-extern
-float
-goto
-inline
-long
-register
-restrict
-return
-short
-signed
-sizeof
-static
-struct
-switch
-typedef
-union
-unsigned
-void
-volatile
-while
-_Bool
-_Complex
-_Imaginary
-EXIT_FAILURE
-EXIT_SUCCESS
-
-bool
-catch
-class
-const_cast
-delete
-dynamic_cast
-explicit
-export
-false
-friend
-mutable
-namespace
-operator
-private
-protected
-public
-reinterpret_cast
-static_cast
-template
-this
-throw
-true
-typeid
-typename
-using
-virtual
-wchar_t
-
-and_eq
-bitand
-bitor
-compl
-not_eq
-or_eq
-xor_eq
-
-define
-defined
-elif
-endif
-error
-ifdef
-ifndef
-include
-pragma
-undef
-
-exception
-bad_alloc
-bad_exception
-bad_cast
-bad_typeid
-ios_base::failure
-logic_error
-domain_error
-invalid_argument
-length_error
-out_of_range
-runtime_error
-range_error
-overflow_error
-underflow_error
-uncaught_exception
-
-__DATE__
-__FILE__
-__LINE__
-__STDC__
-__STDC_HOSTED__
-__STDC_IEC_559__
-__STDC_IEC_559_COMPLEX__
-__STDC_ISO_10646__
-__STDC_VERSION__
-__TIME__
-__func__
-__cplusplus
-
-__BORLANDC__
-__CYGWIN__
-__CYGWIN32__
-__GNUC__
-__WIN32__
-__WINDOWS__
-
-assert
-ctype
-errno
-float
-limits
-locale
-math
-setjmp
-signal
-stdarg
-stddef
-stdio
-stdlib
-string
-time
-
-complex
-fenv
-inttypes
-iso646
-stdbool
-stdint
-tgmath
-wchar
-wctype
-
-algorithm
-bitset
-complex
-deque
-exception
-fstream
-functional
-iomanip
-ios
-iosfwd
-iostream
-istream
-iterator
-limits
-list
-locale
-
-map
-memory
-new
-numeric
-ostream
-queue
-set
-sstream
-stack
-stdexcept
-streambuf
-string
-typeinfo
-utility
-valarray
-vector
-
-cassert
-cctype
-cerrno
-cfloat
-climits
-clocale
-cmath
-csetjmp
-csignal
-cstdarg
-cstddef
-cstdio
-cstdlib
-cstring
-ctime
diff --git a/.vim/c-support/wordlists/k+r.list b/.vim/c-support/wordlists/k+r.list
deleted file mode 100644
index 805756a..0000000
--- a/.vim/c-support/wordlists/k+r.list
+++ /dev/null
@@ -1,108 +0,0 @@
-address
-allocator
-allocation
-argument
-arithmetic
-array
-assignement
-bitwise
-block
-character
-command
-condition
-conditional
-constant
-conversion
-declaration
-decrement
-defined
-definition
-descriptor
-description
-dimension
-evaluation
-expression
-external
-format
-formatted
-function
-global
-handling
-identifier
-implementation
-increment
-initialization
-input
-interface
-label
-lexical
-local
-logical
-lookup
-loop
-lvalue
-miscellaneous
-notation
-numerical
-operator
-operation
-output
-pointer
-precedence
-preprocessor
-preprocessing
-program
-random
-recursion
-recursive
-reference
-referential
-relational
-scope
-standard
-statement
-string
-structure
-system
-undefined
-variable
-
-abstract
-algorithm
-alignment
-application
-assignment
-asynchronous
-binary
-buffer
-component
-constructor
-container
-destructor
-difference
-enumeration
-exception
-floating-point
-horizontal
-inheritance
-instantiation
-integer
-internal
-invariant
-iterator
-localization
-overflow
-overload
-override
-overwrite
-polymorphic
-portability
-position
-postcondition
-precision
-precondition
-prototype
-subscript
-underflow
-vertical
-whitespace
diff --git a/.vim/c-support/wordlists/stl_index.list b/.vim/c-support/wordlists/stl_index.list
deleted file mode 100644
index b5d98a3..0000000
--- a/.vim/c-support/wordlists/stl_index.list
+++ /dev/null
@@ -1,202 +0,0 @@
-accumulate
-adjacent_difference
-adjacent_find
-advance
-append
-assign
-auto_ptr
-back
-back_inserter
-basic_string
-bidirectional_iterator
-bidirectional_iterator_tag
-binary_compose
-binary_function
-binary_negate
-binary_search
-bind1st
-bind2nd
-bit_vector
-bitset
-capacity
-char_producer
-char_traits
-char_type
-compare
-construct
-copy
-copy_backward
-copy_n
-count
-count_if
-deque
-destroy
-distance
-distance_type
-divides
-equal
-equal_range
-equal_to
-erase
-fill
-fill_n
-find
-find_end
-find_first_not_of
-find_first_of
-find_if
-find_last_not_of
-find_last_of
-for_each
-forward_iterator
-forward_iterator_tag
-front
-front_inserter
-generate
-generate_n
-get_temporary_buffer
-greater
-greater_equal
-hash
-hash_map
-hash_multimap
-hash_multiset
-hash_set
-identity
-includes
-inner_product
-inplace_merge
-input_iterator
-input_iterator_tag
-insert
-insert_iterator
-inserter
-int_type
-iota
-is_heap
-is_sorted
-istream_iterator
-istream_type
-istreambuf_iterator
-iter_swap
-iterator_category
-iterator_traits
-less
-less_equal
-lexicographical_compare
-lexicographical_compare_3way
-list
-logical_and
-logical_not
-logical_or
-lower_bound
-make_heap
-make_pair
-map
-max
-max_element
-mem_fun1_ref_t
-mem_fun1_t
-mem_fun_ref_t
-mem_fun_t
-merge
-min
-min_element
-minus
-mismatch
-modulus
-multimap
-multiplies
-multiset
-negate
-next_permutation
-not_equal_to
-nth_element
-operator
-ostream_iterator
-ostreambuf_iterator
-output_iterator
-output_iterator_tag
-pair
-partial_sort
-partial_sort_copy
-partial_sum
-partition
-plus
-pointer_to_binary_function
-pointer_to_unary_function
-pop_back
-pop_front
-pop_heap
-power
-prev_permutation
-priority_queue
-project1st
-project2nd
-ptr_fun
-push_back
-push_front
-push_heap
-queue
-random_access_iterator
-random_access_iterator_tag
-random_sample
-random_sample_n
-random_shuffle
-raw_storage_iterator
-release
-remove
-remove_copy
-remove_copy_if
-remove_if
-replace
-replace_copy
-replace_copy_if
-replace_if
-reset
-resize
-return_temporary_buffer
-reverse
-reverse_bidirectional_iterator
-reverse_copy
-reverse_iterator
-rfind
-rope
-rotate
-rotate_copy
-search
-search_n
-select1st
-select2nd
-sequence_buffer
-set
-set_difference
-set_intersection
-set_symmetric_difference
-set_union
-slist
-sort
-sort_heap
-stable_partition
-stable_sort
-stack
-streambuf_type
-substr
-subtractive_rng
-swap
-swap_ranges
-temporary_buffer
-transform
-unary_compose
-unary_function
-unary_negate
-uninitialized_copy
-uninitialized_copy_n
-uninitialized_fill
-uninitialized_fill_n
-unique
-unique_copy
-upper_bound
-value_comp
-value_type
-vector
diff --git a/.vim/colors/adam.vim b/.vim/colors/adam.vim
deleted file mode 100644
index 748ca7f..0000000
--- a/.vim/colors/adam.vim
+++ /dev/null
@@ -1,48 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-"
-" Based on an original vim color file by
-" Ron Aaron <ron@mossbayeng.com> (2001 Jul 28)
-"
-" Maintainer: Adam Krouskop
-" Last Change: 2003 Jul 3
-
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "adam"
-hi Normal guifg=#008844 guibg=#002244
-hi NonText guifg=brown
-hi comment guifg=#D80033
-hi constant guifg=#CCCCCC
-hi identifier guifg=#0033FF gui=NONE
-hi statement guifg=white gui=NONE
-hi preproc guifg=#009999
-hi type guifg=#0033FF gui=NONE
-hi special guifg=#FFFF00 gui=NONE
-hi ErrorMsg guifg=Black guibg=Red
-hi WarningMsg guifg=Black guibg=Green
-hi Error guibg=Red
-hi Todo guifg=Black guibg=orange
-hi Cursor guibg=#ffffff guifg=#cac2ff
-hi Search guibg=#103F5F gui=bold
-hi IncSearch gui=bold guibg=#285f7f
-hi LineNr guifg=darkgrey
-hi title guifg=darkgrey
-hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
-hi StatusLine gui=bold guifg=cyan guibg=blue
-hi label guifg=gold2
-hi operator guifg=orange
-hi clear Visual
-hi Visual term=reverse cterm=reverse gui=reverse
-hi DiffChange guibg=darkgreen
-hi DiffText guibg=olivedrab
-hi DiffAdd guibg=slateblue
-hi DiffDelete guibg=coral
-hi Folded guibg=gray30
-hi FoldColumn guibg=gray30 guifg=white
-hi cIf0 guifg=gray
diff --git a/.vim/colors/adaryn.vim b/.vim/colors/adaryn.vim
deleted file mode 100644
index 1b17f22..0000000
--- a/.vim/colors/adaryn.vim
+++ /dev/null
@@ -1,72 +0,0 @@
-" Vim color file
-" Maintainer: Glenn T. Norton <gtnorton@adaryn.com>
-" Last Change: 2003-04-11
-
-" adaryn - A color scheme named after my daughter, Adaryn. (A-da-rin)
-" I like deep, sharp colors and this scheme is inspired by
-" Bohdan Vlasyuk's darkblue.
-" The cterm background is black since the dark blue was just too light.
-" Also the cterm colors are very close to an old Borland C++ color setup.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "adaryn"
-
-hi Normal guifg=#fffff0 guibg=#00003F ctermfg=white ctermbg=Black
-hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=red
-hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=blue ctermbg=fg cterm=reverse
-
-hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-
-hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
-
-hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline
-
-hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=#BDD094 gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
-hi ModeMsg guifg=#22cce2 ctermfg=lightblue
-hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=#0030ff ctermfg=darkblue
-
-hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
-
-hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-
-hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-
-hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-
-hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-
-hi LineNr guifg=#90f020 ctermfg=green cterm=none
-
-hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
-hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
-
-hi Cursor guifg=#000020 guibg=#ffaf38 ctermfg=bg ctermbg=brown
-hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen
-
-
-hi Comment guifg=yellow ctermfg=Yellow
-hi Constant ctermfg=green guifg=green cterm=none
-hi Special ctermfg=White guifg=#FFFFFF cterm=none gui=none
-hi Identifier ctermfg=DarkRed guifg=#BDD094 cterm=none
-hi Statement ctermfg=LightCyan cterm=none guifg=#A9A900 gui=none
-hi PreProc ctermfg=DarkRed guifg=#ffffff gui=none cterm=none
-hi type ctermfg=LightCyan guifg=LightBlue gui=none cterm=none
-hi Underlined cterm=underline term=underline
-hi Ignore guifg=bg ctermfg=bg
-
-
diff --git a/.vim/colors/adrian.vim b/.vim/colors/adrian.vim
deleted file mode 100644
index ba830cd..0000000
--- a/.vim/colors/adrian.vim
+++ /dev/null
@@ -1,97 +0,0 @@
-" Vim colorscheme file
-" Maintainer: Adrian Nagle <vim@naglenet.org>
-" Last Change: 2001-09-25 07:48:15 Mountain Daylight Time
-" URL: http://www.naglenet.org/vim/syntax/adrian.vim
-" MAIN URL: http://www.naglenet.org/vim
-
-" This is my custom syntax file to override the defaults provided with Vim.
-" This file should be located in $HOME/vimfiles/colors.
-
-" This file should automatically be sourced by $RUNTIMEPATH.
-
-" NOTE(S):
-" *(1)
-" The color definitions assumes and is intended for a black or dark
-" background.
-
-" *(2)
-" This file is specifically in Unix style EOL format so that I can simply
-" copy this file between Windows and Unix systems. VIM can source files in
-" with the UNIX EOL format (only <NL> instead of <CR><NR> for DOS) in any
-" operating system if the 'fileformats' is not empty and there is no <CR>
-" just before the <NL> on the first line. See ':help :source_crnl' and
-" ':help fileformats'.
-"
-" *(3)
-" Move this file to adrian.vim for vim6.0aw.
-"
-
-
-
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "adrian"
-
-" Normal is for the normal (unhighlighted) text and background.
-" NonText is below the last line (~ lines).
-highlight Normal guibg=Black guifg=Green
-highlight Cursor guibg=Grey70 guifg=White
-highlight NonText guibg=Grey80
-highlight StatusLine gui=bold guibg=DarkGrey guifg=Orange
-highlight StatusLineNC guibg=DarkGrey guifg=Orange
-
-highlight Comment term=bold ctermfg=LightGrey guifg=#d1ddff
-highlight Constant term=underline ctermfg=White guifg=#ffa0a0
-"highlight Number term=underline ctermfg=Yellow guifg=Yellow
-highlight Identifier term=underline ctermfg=Cyan guifg=#40ffff
-highlight Statement term=bold ctermfg=Yellow gui=bold guifg=#ffff60
-highlight PreProc term=underline ctermfg=Blue guifg=#ff4500
-highlight Type term=underline ctermfg=DarkGrey gui=bold guifg=#7d96ff
-highlight Special term=bold ctermfg=Magenta guifg=Orange
-highlight Ignore ctermfg=black guifg=bg
-highlight Error ctermfg=White ctermbg=Red guifg=White guibg=Red
-highlight Todo ctermfg=Blue ctermbg=Yellow guifg=Blue guibg=Yellow
-
-" Change the highlight of search matches (for use with :set hls).
-highlight Search ctermfg=Black ctermbg=Yellow guifg=Black guibg=Yellow
-
-" Change the highlight of visual highlight.
-highlight Visual cterm=NONE ctermfg=Black ctermbg=LightGrey gui=NONE guifg=Black guibg=Grey70
-
-highlight Float ctermfg=Blue guifg=#88AAEE
-highlight Exception ctermfg=Red ctermbg=White guifg=Red guibg=White
-highlight Typedef ctermfg=White ctermbg=Blue gui=bold guifg=White guibg=Blue
-highlight SpecialChar ctermfg=Black ctermbg=White guifg=Black guibg=White
-highlight Delimiter ctermfg=White ctermbg=Black guifg=White guibg=Black
-highlight SpecialComment ctermfg=Black ctermbg=Green guifg=Black guibg=Green
-
-" Common groups that link to default highlighting.
-" You can specify other highlighting easily.
-highlight link String Constant
-highlight link Character Constant
-highlight link Number Constant
-highlight link Boolean Statement
-"highlight link Float Number
-highlight link Function Identifier
-highlight link Conditional Type
-highlight link Repeat Type
-highlight link Label Type
-highlight link Operator Type
-highlight link Keyword Type
-"highlight link Exception Type
-highlight link Include PreProc
-highlight link Define PreProc
-highlight link Macro PreProc
-highlight link PreCondit PreProc
-highlight link StorageClass Type
-highlight link Structure Type
-"highlight link Typedef Type
-"highlight link SpecialChar Special
-highlight link Tag Special
-"highlight link Delimiter Special
-"highlight link SpecialComment Special
-highlight link Debug Special
-
diff --git a/.vim/colors/af.vim b/.vim/colors/af.vim
deleted file mode 100644
index d85e7d3..0000000
--- a/.vim/colors/af.vim
+++ /dev/null
@@ -1,99 +0,0 @@
-" Vim color file
-" Maintainer: Stanislav Lechev [AngelFire] <af@mis.bg>
-" Last Change: 2004/03/31
-" URL: http://af.mis.bg/vim/af.vim
-" ICQ: 2924004
-" Info: based on desert and a little bit of gothic
-" Version: 1.1
-
-set background=dark
-if version > 580
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-let g:colors_name="af"
-
-hi User1 guibg=darkblue guifg=yellow
-hi User2 guibg=darkblue guifg=lightblue
-hi User3 guibg=darkblue guifg=red
-hi User4 guibg=darkblue guifg=cyan
-hi User5 guibg=darkblue guifg=lightgreen
-set statusline=%<%1*===\ %5*%f%1*%(\ ===\ %4*%h%1*%)%(\ ===\ %4*%m%1*%)%(\ ===\ %4*%r%1*%)\ ===%====\ %2*%b(0x%B)%1*\ ===\ %3*%l,%c%V%1*\ ===\ %5*%P%1*\ ===%0* laststatus=2
-
-
-hi Normal guifg=#dfdfdf guibg=#000000
-"hi Normal guifg=#87dee0 guibg=#000000
-"hi Normal guifg=#98fb98 guibg=#000000
-hi Cursor guibg=khaki guifg=slategrey
-hi Comment guifg=#808080
-"hi Identifier guifg=#98FB98
-hi Identifier guifg=#87def0
-hi Constant guifg=#FF99FF
-"hi String guifg=#87cee0
-hi String guifg=lightred
-hi Character guifg=#87cee0
-hi Statement guifg=khaki
-hi PreProc guifg=red
-"hi Type guifg=#a0a0ff gui=none
-hi Type guifg=lightgreen gui=none
-hi Todo guifg=orangered guibg=yellow2
-hi Special guifg=Orange
-hi Visual guifg=SkyBlue guibg=grey60 gui=none
-hi IncSearch guifg=#ffff60 guibg=#0000ff gui=none
-hi Search guifg=khaki guibg=slategrey gui=none
-hi Ignore guifg=grey40
-
-hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none
-hi Folded guibg=grey30 guifg=gold
-hi FoldColumn guibg=grey30 guifg=tan
-hi ModeMsg guifg=goldenrod
-hi MoreMsg guifg=SeaGreen
-hi NonText guifg=LightBlue guibg=#000000
-hi Question guifg=springgreen
-hi SpecialKey guifg=yellowgreen
-hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none
-hi Title guifg=indianred
-hi WarningMsg guifg=salmon
-
-
-" these are from desert ... i didn't change it
-" color terminal definitions
-hi SpecialKey ctermfg=darkgreen
-hi NonText cterm=bold ctermfg=darkblue
-hi Directory ctermfg=darkcyan
-hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
-hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
-hi Search cterm=NONE ctermfg=grey ctermbg=blue
-hi MoreMsg ctermfg=darkgreen
-hi ModeMsg cterm=NONE ctermfg=brown
-hi LineNr ctermfg=3
-hi Question ctermfg=green
-hi StatusLine cterm=bold,reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=5
-hi Visual cterm=reverse
-hi VisualNOS cterm=bold,underline
-hi WarningMsg ctermfg=1
-hi WildMenu ctermfg=0 ctermbg=3
-hi Folded ctermfg=darkgrey ctermbg=NONE
-hi FoldColumn ctermfg=darkgrey ctermbg=NONE
-hi DiffAdd ctermbg=4
-hi DiffChange ctermbg=5
-hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-hi DiffText cterm=bold ctermbg=1
-hi Comment ctermfg=darkcyan
-hi Constant ctermfg=brown
-hi Special ctermfg=5
-hi Identifier ctermfg=6
-hi Statement ctermfg=3
-hi PreProc ctermfg=5
-hi Type ctermfg=2
-hi Underlined cterm=underline ctermfg=5
-hi Ignore cterm=bold ctermfg=7
-hi Error cterm=bold ctermfg=7 ctermbg=1
-
-
-"vim: sw=4
diff --git a/.vim/colors/aiseered.vim b/.vim/colors/aiseered.vim
deleted file mode 100644
index 7e71108..0000000
--- a/.vim/colors/aiseered.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-" gVim color file for working with files in GDL/VCG format.
-" Works nice in conjunction with gdl.vim
-" (see www.vim.org or www.aisee.com)
-" Works fine for C/C++, too.
-
-" Author : Alexander A. Evstyugov-Babaev <alex@absint.com>
-" Version: 0.2 for gVim/Linux,
-" tested with gVim 6.3.25 under Ubuntu Linux (Warty)
-" by Jo Vermeulen <jo@lumumba.luc.ac.be>
-" Date : January 25th 2005
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name="aiseered"
-
-hi Normal guifg=lightred guibg=#600000
-hi Cursor guifg=bg guibg=fg
-hi ErrorMsg guibg=red ctermfg=1
-hi Search term=reverse ctermfg=darkred ctermbg=lightred guibg=lightred guifg=#060000
-
-hi Comment guifg=#ffffff
-hi Constant guifg=#88ddee
-hi String guifg=#ffcc88
-hi Character guifg=#ffaa00
-hi Number guifg=#88ddee
-hi Identifier guifg=#cfcfcf
-hi Statement guifg=#eeff99 gui=bold
-hi PreProc guifg=firebrick1 gui=italic
-hi Type guifg=#88ffaa gui=none
-hi Special guifg=#ffaa00
-hi SpecialChar guifg=#ffaa00
-hi StorageClass guifg=#ddaacc
-hi Error guifg=red guibg=white
diff --git a/.vim/colors/aqua.vim b/.vim/colors/aqua.vim
deleted file mode 100644
index 483b6ac..0000000
--- a/.vim/colors/aqua.vim
+++ /dev/null
@@ -1,44 +0,0 @@
-" Vim color file
-" Maintainer: tranquility@portugalmail.pt
-" Last Change: 6 Apr 2002
-
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="aqua"
-
-hi Normal guibg=steelblue guifg=linen
-hi Cursor guibg=lightblue3 guifg=black gui=bold
-hi VertSplit guifg=white guibg=navyblue gui=none
-hi Folded guibg=darkblue guifg=white
-hi FoldColumn guibg=lightgray guifg=navyblue
-hi ModeMsg guifg=black guibg=steelblue1
-hi MoreMsg guifg=black guibg=steelblue1
-hi NonText guifg=white guibg=steelblue4 gui=none
-hi Question guifg=snow
-hi Search guibg=#FFFFFF guifg=midnightblue gui=bold
-hi SpecialKey guifg=navyblue
-hi StatusLine guibg=skyblue3 guifg=black gui=none
-hi StatusLineNC guibg=skyblue1 guifg=black gui=none
-hi Title guifg=bisque3
-hi Subtitle guifg=black
-hi Visual guifg=white guibg=royalblue4 gui=none
-hi WarningMsg guifg=salmon4 guibg=gray60 gui=bold
-hi Comment guifg=lightskyblue
-hi Constant guifg=turquoise gui=bold
-hi Identifier guifg=lightcyan
-hi Statement guifg=royalblue4
-hi PreProc guifg=black gui=bold
-hi Type guifg=lightgreen
-hi Special guifg=navajowhite
-hi Ignore guifg=grey29
-hi Todo guibg=black guifg=white
-hi WildMenu guibg=aquamarine
diff --git a/.vim/colors/astronaut.vim b/.vim/colors/astronaut.vim
deleted file mode 100644
index ae1dbf2..0000000
--- a/.vim/colors/astronaut.vim
+++ /dev/null
@@ -1,160 +0,0 @@
-" astronaut.vim: a colorscheme
-" Maintainer: Charles E. Campbell, Jr. <charles.e.campbell.1@gsfc.nasa.gov>
-" Date: Sep 01, 2004
-" Version: 6 NOT RELEASED
-"
-" Usage:
-" Put into your <.vimrc> file:
-" color astronaut
-"
-" Optional Modifiers:
-" let g:astronaut_bold=1 : term, cterm, and gui receive bold modifier
-" let g:astronaut_dark=1 : dark colors used (otherwise some terminals
-" make everything bold, which can be all one
-" color)
-" let g:astronaut_underline=1 : assume that underlining works on your terminal
-" let g:astronaut_italic=1 : allows italic to be used in gui
-" Examples:
-" iris : let astronaut_dark=1
-" Linux xterm: no modifiers needed
-"
-" GetLatestVimScripts: 122 1 :AutoInstall: astronaut.vim
-
-set background=dark
-hi clear
-if exists( "syntax_on" )
- syntax reset
-endif
-let g:colors_name = "astronaut"
-let g:loaded_astronaut = "v6"
-
-" ---------------------------------------------------------------------
-" Default option values
-if !exists("g:astronaut_bold")
- " on some machines, notably SGIs, a bold qualifier means everything is
- " one color (SGIs: yellow)
- let g:astronaut_bold= 0
-endif
-if !exists("g:astronaut_dark")
- " this option, if true, means darkcolor (ex. darkred, darkmagenta, etc)
- " is understood and wanted
- let g:astronaut_dark= 0
-endif
-if !exists("g:astronaut_underline")
- let g:astronaut_underline= 1
-endif
-if !exists("g:astronaut_italic")
- let g:astronaut_italic= 0
-endif
-
-" ---------------------------------------------------------------------
-" Settings based on options
-if g:astronaut_bold != 0
- let s:usebold=",bold"
-else
- let s:usebold=""
-endif
-
-if g:astronaut_italic != 0
- " only affects Alt* in gvim
- let s:useitalic= ",italic"
-else
- let s:useitalic= ""
-endif
-
-if g:astronaut_dark != 0
- let s:black = "black"
- let s:red = "darkred"
- let s:green = "darkgreen"
- let s:yellow = "darkyellow"
- let s:blue = "darkblue"
- let s:magenta = "darkmagenta"
- let s:cyan = "darkcyan"
- let s:white = "white"
-else
- let s:black = "black"
- let s:red = "red"
- let s:green = "green"
- let s:yellow = "yellow"
- let s:blue = "blue"
- let s:magenta = "magenta"
- let s:cyan = "cyan"
- let s:white = "white"
-endif
-
-if g:astronaut_underline != 0
- let s:underline= ",underline"
- let s:ulbg = ""
-else
- let s:underline= "none"
- if exists("g:astronaut_dark")
- let s:ulbg = "ctermbg=darkmagenta guibg=magenta4"
- else
- let s:ulbg = "ctermbg=magenta guibg=magenta"
- endif
-endif
-
-" ---------------------------------------------------------------------
-exe "hi Blue start= stop= ctermfg=".s:blue." guifg=blue guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Comment start= stop= ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Conceal ctermfg=".s:blue." ctermbg=".s:black." guifg=Blue guibg=Black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Constant start= stop= ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Cursor guifg=blue guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Cyan start= stop= ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Debug start= stop= ctermfg=".s:red." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Delimiter start= stop= ctermfg=".s:white." guifg=white guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi DiffAdd ctermfg=".s:white." ctermbg=".s:magenta." guifg=White guibg=Magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi DiffChange ctermfg=".s:black." ctermbg=".s:green." guifg=Black guibg=Green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi DiffDelete ctermfg=".s:white." ctermbg=".s:blue." guifg=White guibg=Blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi DiffText ctermfg=".s:white." ctermbg=".s:red." guifg=White guibg=Red term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Directory start= stop= ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Error start= stop= ctermfg=".s:white." ctermbg=".s:red." guifg=white guibg=red term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi ErrorMsg ctermfg=".s:white." ctermbg=".s:red." guifg=White guibg=Red term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi FoldColumn start= stop= ctermfg=".s:cyan." ctermbg=".s:black." guifg=Cyan guibg=Brown term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Folded start= stop= ctermfg=".s:magenta." ctermbg=".s:black." guifg=magenta guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Function start= stop= ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Green start= stop= ctermfg=".s:green." guifg=green guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Identifier start= stop= ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Ignore ctermfg=".s:black ." guifg=bg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi IncSearch start= stop= ctermfg=".s:black ." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi LineNr ctermfg=".s:yellow." ".s:ulbg." guifg=Yellow term=none".s:underline.s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Magenta start= stop= ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Menu guifg=black guibg=gray75 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi ModeMsg ctermfg=".s:green." guifg=SeaGreen term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi MoreMsg ctermfg=".s:green." guifg=SeaGreen term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi NonText ctermfg=".s:blue." guifg=Blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Normal start= stop= ctermfg=".s:green." guifg=green guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi PreProc start= stop= ctermfg=".s:white." ctermbg=".s:blue." guifg=white guibg=blue3 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Question start= stop= ctermfg=".s:yellow." guifg=yellow term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Red start= stop= ctermfg=".s:red." guifg=red guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Scrollbar guifg=gray80 guibg=gray70 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Search start= stop= ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Special start= stop= ctermfg=".s:green." ctermbg=".s:blue." guifg=green guibg=blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi SpecialKey start= stop= ctermfg=".s:black." ctermbg=".s:magenta." guifg=black guibg=magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Statement start= stop= ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi StatusLine start= stop= ctermfg=".s:black." ctermbg=".s:cyan." guifg=black guibg=cyan term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi StatusLineNC start= stop= ctermfg=".s:black." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi String start= stop= ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Subtitle start= stop= ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Tags start= stop= ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue3 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Title start= stop= ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Todo start= stop= ctermfg=".s:white." ctermbg=".s:magenta." guifg=white guibg=magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Type start= stop= ctermfg=".s:green." ".s:ulbg." guifg=seagreen1 term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline
-exe "hi Underlined ctermfg=".s:green." ".s:ulbg." guifg=green term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline
-exe "hi Unique start= stop= ctermfg=".s:blue." ctermbg=".s:white." guifg=blue3 guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi AltUnique start= stop= ctermfg=".s:magenta." ctermbg=".s:white." guifg=magenta guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi AltAltUnique start= stop= ctermfg=".s:black." ctermbg=".s:white." guifg=black guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi VertSplit start= stop= ctermfg=".s:black." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Visual start= stop= ctermfg=black ctermbg=green guifg=Grey guibg=fg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi VisualNOS ".s:ulbg." term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline
-exe "hi WarningMsg start= stop= ctermfg=".s:black." ctermbg=".s:yellow." guifg=black guibg=yellow term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi White start= stop= ctermfg=".s:white." guifg=white guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi WildMenu ctermfg=".s:black." ctermbg=".s:yellow." guifg=Black guibg=Yellow term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi Yellow start= stop= ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi lCursor guifg=bg guibg=fg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold
-exe "hi AltConstant start= stop= ctermfg=".s:yellow." ctermbg=".s:black." guifg=yellow guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold.s:useitalic
-exe "hi AltFunction start= stop= ctermfg=".s:green." ctermbg=".s:black." guifg=green guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold.s:useitalic
-exe "hi AltType start= stop= ctermfg=".s:green." ctermbg=".s:black." guifg=seagreen1 guibg=black term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline.s:useitalic
-exe "hi User1 ctermfg=".s:white." ctermbg=".s:blue." guifg=white guibg=blue"
-exe "hi User2 ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue"
-" vim: nowrap
diff --git a/.vim/colors/asu1dark.vim b/.vim/colors/asu1dark.vim
deleted file mode 100644
index ce5f90f..0000000
--- a/.vim/colors/asu1dark.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" Vim color file
-" Maintainer: A. Sinan Unur
-" Last Change: 2001/10/04
-
-" Dark color scheme
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="asu1dark"
-
-" Console Color Scheme
-hi Normal term=NONE cterm=NONE ctermfg=LightGray ctermbg=Black
-hi NonText term=NONE cterm=NONE ctermfg=Brown ctermbg=Black
-hi Function term=NONE cterm=NONE ctermfg=DarkCyan ctermbg=Black
-hi Statement term=BOLD cterm=BOLD ctermfg=DarkBlue ctermbg=Black
-hi Special term=NONE cterm=NONE ctermfg=DarkGreen ctermbg=Black
-hi SpecialChar term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black
-hi Constant term=NONE cterm=NONE ctermfg=Blue ctermbg=Black
-hi Comment term=NONE cterm=NONE ctermfg=DarkGray ctermbg=Black
-hi Preproc term=NONE cterm=NONE ctermfg=DarkGreen ctermbg=Black
-hi Type term=NONE cterm=NONE ctermfg=DarkMagenta ctermbg=Black
-hi Identifier term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black
-hi StatusLine term=BOLD cterm=NONE ctermfg=Yellow ctermbg=DarkBlue
-hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=Gray
-hi Visual term=NONE cterm=NONE ctermfg=White ctermbg=DarkCyan
-hi Search term=NONE cterm=NONE ctermbg=Yellow ctermfg=DarkBlue
-hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=Gray
-hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=Black
-hi WarningMsg term=NONE cterm=NONE ctermfg=Blue ctermbg=Yellow
-hi Error term=NONE cterm=NONE ctermfg=DarkRed ctermbg=Gray
-hi Cursor ctermfg=Black ctermbg=Cyan
-hi LineNr term=NONE cterm=NONE ctermfg=Red ctermbg=Black
-
-" GUI Color Scheme
-hi Normal gui=NONE guifg=White guibg=#110022
-hi NonText gui=NONE guifg=#ff9999 guibg=#444444
-hi Function gui=NONE guifg=#7788ff guibg=#110022
-hi Statement gui=BOLD guifg=Yellow guibg=#110022
-hi Special gui=NONE guifg=Cyan guibg=#110022
-hi Constant gui=NONE guifg=#ff9900 guibg=#110022
-hi Comment gui=NONE guifg=#99cc99 guibg=#110022
-hi Preproc gui=NONE guifg=#33ff66 guibg=#110022
-hi Type gui=NONE guifg=#ff5577 guibg=#110022
-hi Identifier gui=NONE guifg=Cyan guibg=#110022
-hi StatusLine gui=BOLD guifg=White guibg=#336600
-hi StatusLineNC gui=NONE guifg=Black guibg=#cccccc
-hi Visual gui=NONE guifg=White guibg=#00aa33
-hi Search gui=BOLD guibg=Yellow guifg=DarkBlue
-hi VertSplit gui=NONE guifg=White guibg=#666666
-hi Directory gui=NONE guifg=Green guibg=#110022
-hi WarningMsg gui=STANDOUT guifg=#0000cc guibg=Yellow
-hi Error gui=NONE guifg=White guibg=Red
-hi Cursor guifg=White guibg=#00ff33
-hi LineNr gui=NONE guifg=#cccccc guibg=#334444
-hi ModeMsg gui=NONE guifg=Blue guibg=White
-hi Question gui=NONE guifg=#66ff99 guibg=#110022
diff --git a/.vim/colors/automation.vim b/.vim/colors/automation.vim
deleted file mode 100644
index b449145..0000000
--- a/.vim/colors/automation.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" Vim color file (automation.vim)
-" Maintainer: Ken McConnell <nacer@yahoo.com>
-" Last Change: 2004 Jan 15
-"
-" This color scheme uses a light grey background. It was created to simulate
-" the look of an IDE. It is named after the MFP Automation Team at HP Boise.
-"
-
-" First remove all existing highlighting.
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "automation"
-
-hi Normal ctermbg=Black ctermfg=LightGrey guifg=Black guibg=Grey96
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=bold gui=bold
-hi ModeMsg term=bold cterm=bold gui=bold
-hi StatusLine term=bold cterm=bold gui=bold
-hi StatusLineNC term=bold cterm=bold gui=bold
-hi VertSplit term=bold cterm=bold gui=bold
-hi Visual term=bold cterm=bold gui=bold guifg=Grey guibg=fg
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Black guifg=Black
-hi lCursor guibg=Cyan guifg=Black
-hi Directory term=bold ctermfg=LightCyan guifg=DarkBlue
-hi LineNr term=underline ctermfg=DarkGrey guifg=DarkGrey guibg=LightGrey
-hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=LightBlue gui=bold guifg=DarkGreen guibg=grey80
-hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green
-hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=DarkBlue
-hi Title term=bold ctermfg=LightMagenta gui=bold guifg=DarkBlue
-hi WarningMsg term=standout ctermfg=LightRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
-hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
-hi Comment guifg=Blue guibg=Grey90 ctermfg=DarkGreen
-hi String guifg=DarkGreen ctermfg=DarkGreen
-hi Statement guifg=DarkBlue ctermfg=Blue
-hi Label gui=bold guifg=DarkBlue
-" Groups for syntax highlighting
-hi Constant term=underline ctermfg=DarkBlue guifg=DarkBlue guibg=Grey96
-hi Special term=bold ctermfg=LightRed guifg=DarkBlue guibg=Grey96
-if &t_Co > 8
- hi Statement term=bold cterm=bold ctermfg=DarkBlue guifg=DarkBlue
-endif
-hi Ignore ctermfg=LightGrey guifg=grey90
-
-" vim: sw=2
diff --git a/.vim/colors/autumn.vim b/.vim/colors/autumn.vim
deleted file mode 100644
index f269b35..0000000
--- a/.vim/colors/autumn.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/14 Mon 16:41.
-" version: 1.0
-" This color scheme uses a light background.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "autumn"
-
-hi Normal guifg=#404040 guibg=#fff4e8
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#e0e040
-hi Search gui=NONE guifg=#544060 guibg=#f0c0ff
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi WarningMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi ModeMsg gui=NONE guifg=#d06000 guibg=NONE
-hi MoreMsg gui=NONE guifg=#0090a0 guibg=NONE
-hi Question gui=NONE guifg=#8000ff guibg=NONE
-
-" Split area
-hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#904838
-hi StatusLineNC gui=BOLD guifg=#c0b0a0 guibg=#904838
-hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#904838
-hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff3030
-
-" Diff
-hi DiffText gui=NONE guifg=#2850a0 guibg=#c0d0f0
-hi DiffChange gui=NONE guifg=#208040 guibg=#c0f0d0
-hi DiffDelete gui=NONE guifg=#ff2020 guibg=#eaf2b0
-hi DiffAdd gui=NONE guifg=#ff2020 guibg=#eaf2b0
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#0080f0
-hi lCursor gui=NONE guifg=#ffffff guibg=#8040ff
-hi CursorIM gui=NONE guifg=#ffffff guibg=#8040ff
-
-" Fold
-hi Folded gui=NONE guifg=#804030 guibg=#ffc0a0
-hi FoldColumn gui=NONE guifg=#a05040 guibg=#f8d8c4
-
-" Other
-hi Directory gui=NONE guifg=#7050ff guibg=NONE
-hi LineNr gui=NONE guifg=#e0b090 guibg=NONE
-hi NonText gui=BOLD guifg=#a05040 guibg=#ffe4d4
-hi SpecialKey gui=NONE guifg=#0080ff guibg=NONE
-hi Title gui=BOLD guifg=fg guibg=NONE
-hi Visual gui=NONE guifg=#804020 guibg=#ffc0a0
-" hi VisualNOS gui=NONE guifg=#604040 guibg=#e8dddd
-
-" Syntax group
-hi Comment gui=NONE guifg=#ff5050 guibg=NONE
-hi Constant gui=NONE guifg=#00884c guibg=NONE
-hi Error gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi Identifier gui=NONE guifg=#b07800 guibg=NONE
-hi Ignore gui=NONE guifg=bg guibg=NONE
-hi PreProc gui=NONE guifg=#0090a0 guibg=NONE
-hi Special gui=NONE guifg=#8040f0 guibg=NONE
-hi Statement gui=BOLD guifg=#80a030 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#0080f0 guibg=NONE
-hi Type gui=BOLD guifg=#b06c58 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=blue guibg=NONE
diff --git a/.vim/colors/autumn2.vim b/.vim/colors/autumn2.vim
deleted file mode 100644
index f269b35..0000000
--- a/.vim/colors/autumn2.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/14 Mon 16:41.
-" version: 1.0
-" This color scheme uses a light background.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "autumn"
-
-hi Normal guifg=#404040 guibg=#fff4e8
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#e0e040
-hi Search gui=NONE guifg=#544060 guibg=#f0c0ff
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi WarningMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi ModeMsg gui=NONE guifg=#d06000 guibg=NONE
-hi MoreMsg gui=NONE guifg=#0090a0 guibg=NONE
-hi Question gui=NONE guifg=#8000ff guibg=NONE
-
-" Split area
-hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#904838
-hi StatusLineNC gui=BOLD guifg=#c0b0a0 guibg=#904838
-hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#904838
-hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff3030
-
-" Diff
-hi DiffText gui=NONE guifg=#2850a0 guibg=#c0d0f0
-hi DiffChange gui=NONE guifg=#208040 guibg=#c0f0d0
-hi DiffDelete gui=NONE guifg=#ff2020 guibg=#eaf2b0
-hi DiffAdd gui=NONE guifg=#ff2020 guibg=#eaf2b0
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#0080f0
-hi lCursor gui=NONE guifg=#ffffff guibg=#8040ff
-hi CursorIM gui=NONE guifg=#ffffff guibg=#8040ff
-
-" Fold
-hi Folded gui=NONE guifg=#804030 guibg=#ffc0a0
-hi FoldColumn gui=NONE guifg=#a05040 guibg=#f8d8c4
-
-" Other
-hi Directory gui=NONE guifg=#7050ff guibg=NONE
-hi LineNr gui=NONE guifg=#e0b090 guibg=NONE
-hi NonText gui=BOLD guifg=#a05040 guibg=#ffe4d4
-hi SpecialKey gui=NONE guifg=#0080ff guibg=NONE
-hi Title gui=BOLD guifg=fg guibg=NONE
-hi Visual gui=NONE guifg=#804020 guibg=#ffc0a0
-" hi VisualNOS gui=NONE guifg=#604040 guibg=#e8dddd
-
-" Syntax group
-hi Comment gui=NONE guifg=#ff5050 guibg=NONE
-hi Constant gui=NONE guifg=#00884c guibg=NONE
-hi Error gui=BOLD guifg=#f8f8f8 guibg=#4040ff
-hi Identifier gui=NONE guifg=#b07800 guibg=NONE
-hi Ignore gui=NONE guifg=bg guibg=NONE
-hi PreProc gui=NONE guifg=#0090a0 guibg=NONE
-hi Special gui=NONE guifg=#8040f0 guibg=NONE
-hi Statement gui=BOLD guifg=#80a030 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#0080f0 guibg=NONE
-hi Type gui=BOLD guifg=#b06c58 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=blue guibg=NONE
diff --git a/.vim/colors/autumnleaf.vim b/.vim/colors/autumnleaf.vim
deleted file mode 100644
index f7af59f..0000000
--- a/.vim/colors/autumnleaf.vim
+++ /dev/null
@@ -1,154 +0,0 @@
-" Vim color file
-" Maintainer: Anders Korte
-" Last Change: 17 Oct 2004
-
-" AutumnLeaf color scheme 1.0
-
-set background=light
-
-hi clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name="AutumnLeaf"
-
-
-" Colors for the User Interface.
-
-hi Cursor guibg=#aa7733 guifg=#ffeebb gui=bold
-hi Normal guibg=#fffdfa guifg=black gui=none
-hi NonText guibg=#eafaea guifg=#000099 gui=bold
-hi Visual guibg=#fff8cc guifg=black gui=none
-" hi VisualNOS
-
-hi Linenr guibg=bg guifg=#999999 gui=none
-
-" Uncomment these if you use Diff...??
-" hi DiffText guibg=#cc0000 guifg=white gui=none
-" hi DiffAdd guibg=#0000cc guifg=white gui=none
-" hi DiffChange guibg=#990099 guifg=white gui=none
-" hi DiffDelete guibg=#888888 guifg=#333333 gui=none
-
-hi Directory guibg=bg guifg=#337700 gui=none
-
-hi IncSearch guibg=#c8e8ff guifg=black gui=none
-hi Search guibg=#c8e8ff guifg=black gui=none
-hi SpecialKey guibg=bg guifg=fg gui=none
-hi Titled guibg=bg guifg=fg gui=none
-
-hi ErrorMsg guibg=bg guifg=#cc0000 gui=bold
-hi ModeMsg guibg=bg guifg=#003399 gui=none
-hi link MoreMsg ModeMsg
-hi link Question ModeMsg
-hi WarningMsg guibg=bg guifg=#cc0000 gui=bold
-
-hi StatusLine guibg=#ffeebb guifg=black gui=bold
-hi StatusLineNC guibg=#aa8866 guifg=#f8e8cc gui=none
-hi VertSplit guibg=#aa8866 guifg=#ffe0bb gui=none
-
-" hi Folded
-" hi FoldColumn
-" hi SignColumn
-
-
-" Colors for Syntax Highlighting.
-
-hi Comment guibg=#ddeedd guifg=#002200 gui=none
-
-hi Constant guibg=bg guifg=#003399 gui=bold
-hi String guibg=bg guifg=#003399 gui=italic
-hi Character guibg=bg guifg=#003399 gui=italic
-hi Number guibg=bg guifg=#003399 gui=bold
-hi Boolean guibg=bg guifg=#003399 gui=bold
-hi Float guibg=bg guifg=#003399 gui=bold
-
-hi Identifier guibg=bg guifg=#003399 gui=none
-hi Function guibg=bg guifg=#0055aa gui=bold
-hi Statement guibg=bg guifg=#003399 gui=none
-
-hi Conditional guibg=bg guifg=#aa7733 gui=bold
-hi Repeat guibg=bg guifg=#aa5544 gui=bold
-hi link Label Conditional
-hi Operator guibg=bg guifg=#aa7733 gui=bold
-hi link Keyword Statement
-hi Exception guibg=bg guifg=#228877 gui=bold
-
-hi PreProc guibg=bg guifg=#aa7733 gui=bold
-hi Include guibg=bg guifg=#558811 gui=bold
-hi link Define Include
-hi link Macro Include
-hi link PreCondit Include
-
-hi Type guibg=bg guifg=#007700 gui=bold
-hi link StorageClass Type
-hi link Structure Type
-hi Typedef guibg=bg guifg=#009900 gui=italic
-
-hi Special guibg=bg guifg=fg gui=none
-hi SpecialChar guibg=bg guifg=fg gui=bold
-hi Tag guibg=bg guifg=#003399 gui=bold
-hi link Delimiter Special
-hi SpecialComment guibg=#dddddd guifg=#aa0000 gui=none
-hi link Debug Special
-
-hi Underlined guibg=bg guifg=blue gui=underline
-
-hi Title guibg=bg guifg=fg gui=bold
-hi Ignore guibg=bg guifg=#999999 gui=none
-hi Error guibg=red guifg=white gui=none
-hi Todo guibg=bg guifg=#aa0000 gui=none
-
-
-
-" The same in cterm colors.
-hi Cursor ctermbg=6 ctermfg=14
-hi Normal ctermbg=15 ctermfg=0
-hi NonText ctermbg=10 ctermfg=1
-hi Visual ctermbg=14 ctermfg=0
-" hi VisualNOS
-hi Linenr ctermbg=bg ctermfg=7
-" hi DiffText ctermbg=4 ctermfg=15
-" hi DiffAdd ctermbg=1 ctermfg=15
-" hi DiffChange ctermbg=5 ctermfg=15
-" hi DiffDelete ctermbg=7 ctermfg=8
-hi Directory ctermbg=bg ctermfg=2
-hi IncSearch ctermbg=9 ctermfg=0
-hi Search ctermbg=9 ctermfg=0
-hi SpecialKey ctermbg=bg ctermfg=fg
-hi Titled ctermbg=bg ctermfg=fg
-hi ErrorMsg ctermbg=bg ctermfg=12
-hi ModeMsg ctermbg=bg ctermfg=9
-hi WarningMsg ctermbg=bg ctermfg=12
-hi StatusLine ctermbg=14 ctermfg=0
-hi StatusLineNC ctermbg=6 ctermfg=14
-hi VertSplit ctermbg=6 ctermfg=14
-" hi Folded
-" hi FoldColumn
-" hi SignColumn
-hi Comment ctermbg=10 ctermfg=2
-hi Constant ctermbg=bg ctermfg=9
-hi String ctermbg=bg ctermfg=9 cterm=italic
-hi Character ctermbg=bg ctermfg=9 cterm=italic
-hi Number ctermbg=bg ctermfg=9 cterm=bold
-hi Boolean ctermbg=bg ctermfg=9 cterm=bold
-hi Float ctermbg=bg ctermfg=9 cterm=bold
-hi Function ctermbg=bg ctermfg=9 cterm=bold
-hi Statement ctermbg=bg ctermfg=9 cterm=bold
-hi Conditional ctermbg=bg ctermfg=6 cterm=bold
-hi Repeat ctermbg=bg ctermfg=6 cterm=bold
-hi Operator ctermbg=bg ctermfg=6 cterm=bold
-hi Exception ctermbg=bg ctermfg=2 cterm=bold
-hi PreProc ctermbg=bg ctermfg=6
-hi Include ctermbg=bg ctermfg=2 cterm=bold
-hi Type ctermbg=bg ctermfg=2 cterm=bold
-hi Typedef ctermbg=bg ctermfg=2 cterm=italic
-hi Special ctermbg=bg ctermfg=fg cterm=bold
-hi Tag ctermbg=bg ctermfg=9 cterm=bold
-hi SpecialComment ctermbg=7 ctermfg=4
-hi Underlined ctermbg=bg ctermfg=9 cterm=underline
-hi Title ctermbg=bg ctermfg=fg cterm=bold
-hi Ignore ctermbg=bg ctermfg=7
-hi Error ctermbg=12 ctermfg=15
-hi Todo ctermbg=bg ctermfg=15
diff --git a/.vim/colors/billw.vim b/.vim/colors/billw.vim
deleted file mode 100644
index 740642f..0000000
--- a/.vim/colors/billw.vim
+++ /dev/null
@@ -1,99 +0,0 @@
-" vim: set tw=0 sw=4 sts=4 et:
-
-" Vim color file
-" Maintainer: Datila Carvalho <datila@saci.homeip.net>
-" Last Change: November, 3, 2003
-" Version: 0.1
-
-" This is a VIM's version of the emacs color theme
-" _Billw_ created by Bill White.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "billw"
-
-
-""" Colors
-
-" GUI colors
-hi Cursor guifg=fg guibg=cornsilk
-hi CursorIM guifg=NONE guibg=cornsilk
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg gui=bold guifg=White guibg=Red
-"hi VertSplit
-"hi Folded
-"hi FoldColumn
-"hi IncSearch
-"hi LineNr
-hi ModeMsg gui=bold
-"hi MoreMsg
-"hi NonText
-hi Normal guibg=black guifg=cornsilk
-"hi Question
-hi Search gui=bold guifg=Black guibg=cornsilk
-"hi SpecialKey
-hi StatusLine guifg=orange1
-hi StatusLineNC guifg=yellow4
-"hi Title
-hi Visual guifg=gray35 guibg=fg
-hi VisualNOS gui=bold guifg=black guibg=fg
-hi WarningMsg guifg=White guibg=Tomato
-"hi WildMenu
-
-" Colors for syntax highlighting
-hi Comment guifg=gold
-
-hi Constant guifg=mediumspringgreen
- hi String guifg=orange
- hi Character guifg=orange
- hi Number guifg=mediumspringgreen
- hi Boolean guifg=mediumspringgreen
- hi Float guifg=mediumspringgreen
-
-hi Identifier guifg=yellow
- hi Function guifg=mediumspringgreen
-
-hi Statement gui=bold guifg=cyan1
- hi Conditional gui=bold guifg=cyan1
- hi Repeat gui=bold guifg=cyan1
- hi Label guifg=cyan1
- hi Operator guifg=cyan1
- "hi Keyword
- "hi Exception
-
-hi PreProc guifg=LightSteelBlue
- hi Include guifg=LightSteelBlue
- hi Define guifg=LightSteelBlue
- hi Macro guifg=LightSteelBlue
- hi PreCondit guifg=LightSteelBlue
-
-hi Type guifg=yellow
- hi StorageClass guifg=cyan1
- hi Structure gui=bold guifg=cyan1
- hi Typedef guifg=cyan1
-
-"hi Special
- ""Underline Character
- "hi SpecialChar gui=underline
- "hi Tag gui=bold,underline
- ""Statement
- "hi Delimiter gui=bold
- ""Bold comment (in Java at least)
- "hi SpecialComment gui=bold
- "hi Debug gui=bold
-
-hi Underlined gui=underline
-
-hi Ignore guifg=bg
-
-hi Error gui=bold guifg=White guibg=Red
-
-"hi Todo
diff --git a/.vim/colors/biogoo.vim b/.vim/colors/biogoo.vim
deleted file mode 100644
index cec72b1..0000000
--- a/.vim/colors/biogoo.vim
+++ /dev/null
@@ -1,85 +0,0 @@
-" Vim color File
-" Name: biogoo
-" Maintainer: Benjamin Esham <bdesham@iname.com>
-" Last Change: 2004-02-03
-" Version: 1.2
-"
-" A fairly simple gray-background scheme. Feedback is greatly appreciated!
-"
-" Installation:
-" Copy to ~/.vim/colors; do :color biogoo
-"
-" Customization Options:
-" Use a 'normal' cursor color:
-" let g:biogoo_normal_cursor = 1
-"
-" Props:
-" Jani Nurminen's zenburn.vim as an example file.
-" Scott and Matt for feature suggestions.
-"
-" Version History:
-" 1.2: added `SpellErrors' group for use with vimspell.
-" 1.1: added `IncSearch' group for improved visibility in incremental searches.
-" 1.0: minor tweaks
-" 0.95: initial release
-"
-" TODO: Possibly add some more groups -- please email me if I've left any out.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "biogoo"
-
-hi Comment guifg=#0000c3
-hi Constant guifg=#0000ff
-hi Delimiter guifg=#00007f
-hi DiffAdd guifg=#007f00 guibg=#e5e5e5
-hi DiffChange guifg=#00007f guibg=#e5e5e5
-hi DiffDelete guifg=#7f0000 guibg=#e5e5e5
-hi DiffText guifg=#ee0000 guibg=#e5e5e5
-hi Directory guifg=#b85d00
-hi Error guifg=#d6d6d6 guibg=#7f0000
-hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=bold
-hi Float guifg=#b85d00
-hi FoldColumn guifg=#00007f guibg=#e5e5e5
-hi Folded guifg=#00007f guibg=#e5e5e5
-hi Function guifg=#7f0000
-hi Identifier guifg=#004000
-hi Include guifg=#295498 gui=bold
-hi IncSearch guifg=#ffffff guibg=#0000ff gui=bold
-hi LineNr guifg=#303030 guibg=#e5e5e5 gui=underline
-hi Keyword guifg=#00007f
-hi Macro guifg=#295498
-hi ModeMsg guifg=#00007f
-hi MoreMsg guifg=#00007f
-hi NonText guifg=#007f00
-hi Normal guifg=#000000 guibg=#d6d6d6
-hi Number guifg=#b85d00
-hi Operator guifg=#00007f
-hi PreCondit guifg=#295498 gui=bold
-hi PreProc guifg=#0c3b6b gui=bold
-hi Question guifg=#00007f
-hi Search guibg=#ffff00
-hi Special guifg=#007f00
-hi SpecialKey guifg=#00007f
-hi SpellErrors guifg=#7f0000 gui=underline
-hi Statement guifg=#00007f gui=none
-hi StatusLine guifg=#00007f guibg=#ffffff
-hi StatusLineNC guifg=#676767 guibg=#ffffff
-hi String guifg=#d10000
-hi Title guifg=#404040 gui=bold
-hi Todo guifg=#00007f guibg=#e5e5e5 gui=underline
-hi Type guifg=#540054 gui=bold
-hi Underlined guifg=#b85d00
-hi VertSplit guifg=#676767 guibg=#ffffff
-hi Visual guifg=#7f7f7f guibg=#ffffff
-hi VisualNOS guifg=#007f00 guibg=#e5e5e5
-hi WarningMsg guifg=#500000
-hi WildMenu guifg=#540054
-
-if !exists("g:biogoo_normal_cursor")
- " use a gray-on-blue cursor
- hi Cursor guifg=#ffffff guibg=#00007f
-endif
diff --git a/.vim/colors/black_angus.vim b/.vim/colors/black_angus.vim
deleted file mode 100644
index 145b639..0000000
--- a/.vim/colors/black_angus.vim
+++ /dev/null
@@ -1,115 +0,0 @@
-" Vim color file
-" Maintainer: Angus Salkeld
-" Last Change: 14 September 2004
-" Version: 1.0
-" mainly green on black
-
-set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "black_angus"
-
-" GUI
-" -----------------------------------------------------------------------
-highlight Normal guifg=Grey80 guibg=Black
-highlight Search guifg=brown gui=reverse
-highlight Visual guifg=Grey25 gui=bold
-highlight Cursor guifg=Yellow guibg=DarkGreen gui=bold
-highlight DiffAdd guibg=#000080 gui=NONE
-highlight DiffChange guibg=#800080 gui=NONE
-highlight DiffDelete guifg=#80c0e0 guibg=#404040 gui=NONE
-highlight DiffText guifg=Black guibg=#c0e080 gui=NONE
-
-" Console
-" -----------------------------------------------------------------------
-highlight Normal ctermfg=LightGrey ctermbg=Black
-highlight Search ctermfg=Brown cterm=reverse
-highlight Visual cterm=reverse
-highlight Cursor ctermfg=Yellow ctermbg=Green cterm=bold
-
-" both
-" -----------------------------------------------------------------------
-highlight StatusLine guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
-highlight VertSplit guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
-highlight Folded guifg=#aaDDaa guibg=#333333 gui=none ctermfg=LightGray ctermbg=DarkGray term=none
-highlight FoldColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
-highlight SignColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
-highlight WildMenu guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
-
-highlight LineNr guifg=DarkGreen guibg=Black gui=none ctermfg=DarkGreen ctermbg=Black term=none
-highlight Directory guifg=LightGreen ctermfg=LightGreen
-highlight Comment guifg=DarkGrey ctermfg=DarkGray
-
-highlight Special guifg=Orange ctermfg=Brown
-highlight Title guifg=Orange ctermfg=Brown
-highlight Tag guifg=DarkRed ctermfg=DarkRed
-highlight link Delimiter Special
-highlight link SpecialChar Special
-highlight link SpecialComment Special
-highlight link SpecialKey Special
-highlight link NonText Special
-
-highlight Error guifg=White guibg=DarkRed gui=none ctermfg=White ctermbg=DarkRed cterm=none
-highlight Debug guifg=White guibg=DarkGreen gui=none ctermfg=White ctermbg=DarkRed cterm=none
-highlight ErrorMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkRed cterm=none
-highlight WarningMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkBlue cterm=none
-highlight Todo guifg=White guibg=DarkYellow gui=none ctermfg=White ctermbg=DarkBlue cterm=none
-highlight link cCommentStartError WarningMsg
-highlight link cCommentError Debug
-
-" Preprocesor
-highlight PreCondit guifg=Cyan3 ctermfg=Cyan
-highlight PreProc guifg=Magenta ctermfg=Magenta
-highlight Include guifg=DarkCyan ctermfg=DarkCyan
-highlight ifdefIfOut guifg=DarkGray ctermfg=DarkGray
-highlight link Macro Include
-highlight link Define Include
-
-" lang
-highlight Function guifg=#AAEEAA gui=none ctermfg=LightGreen
-highlight Identifier guifg=#bbccbb gui=none ctermfg=Grey
-highlight Statement guifg=LightGreen gui=underline ctermfg=LightGreen
-highlight Operator guifg=Yellow gui=none ctermfg=Yellow
-highlight Conditional guifg=lightslateblue gui=none ctermfg=LightBlue
-
-highlight link Exception Statement
-highlight link Label Statement
-highlight link Repeat Conditional
-
-highlight link Keyword Label
-
-highlight Constant guifg=LightGreen ctermfg=LightGreen gui=none
-highlight link Character Constant
-highlight link Number Constant
-highlight link Boolean Constant
-highlight link String Constant
-highlight link Float Constant
-
-highlight Type guifg=DarkGreen ctermfg=DarkGreen gui=none
-highlight link StorageClass Type
-highlight link Structure Type
-highlight link Typedef Type
-
-" ------------------------------------------------------------------------------
-" Common groups that link to other highlighting definitions.
-highlight link Search IncSearch
-highlight link Question Statement
-highlight link VisualNOS Visual
-" ------------------------------------------------------------------------------
-
-" only for vim 5
-if has("unix")
- if v:version<600
- highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
- highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
- highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold
- highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue
- highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue
- endif
-endif
-
-
-
diff --git a/.vim/colors/blackbeauty.vim b/.vim/colors/blackbeauty.vim
deleted file mode 100644
index a824ea3..0000000
--- a/.vim/colors/blackbeauty.vim
+++ /dev/null
@@ -1,66 +0,0 @@
-" Vim color file
-" Maintainer: Surya
-" Last Change: 12/23/2003 10:32:41 .
-" version: 1.0
-" This color scheme uses a dark background.
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "koehler"
-hi Normal guifg=white guibg=black
-hi Scrollbar guibg=darkgray guifg=darkgray
-hi Menu guifg=black guibg=gray
-hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=Blue
-hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=Blue
-hi Directory term=bold cterm=bold ctermfg=brown guifg=Blue
-hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=blue gui=bold guifg=White guibg=brown
-hi Search term=reverse ctermfg=white ctermbg=red gui=bold guifg=#000000 guibg=Magenta
-hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=SeaGreen
-hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
-hi LineNr term=underline cterm=bold ctermfg=darkcyan guibg=brown guifg=white
-hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=Green
-hi StatusLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guibg=white guifg=brown
-hi StatusLineNC term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
-hi Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=Magenta
-hi Visual term=reverse cterm=reverse gui=reverse
-hi WarningMsg term=standout cterm=bold ctermfg=darkblue gui=bold guifg=cyan guibg=Black
-hi Cursor guifg=bg guibg=cyan
-hi Comment term=bold cterm=bold ctermfg=cyan guifg=#80a0ff
-hi Constant term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0
-hi String term=underline cterm=bold ctermfg=magenta gui=bold guifg=brown guibg=darkgray
-hi Number term=underline cterm=bold ctermfg=magenta guifg=#00ffff
-hi Special term=bold gui=bold cterm=bold ctermfg=red guifg=Orange
-hi Identifier term=underline ctermfg=brown guifg=#40ffff
-hi Statement term=bold cterm=bold ctermfg=yellow gui=bold guifg=#ffff60
-hi PreProc term=underline ctermfg=darkblue guifg=#ff80ff
-hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60
-hi Error gui=bold guifg=Yellow guibg=Black
-hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow
-"hi VertSplit guifg=#00FFFF guibg=#000000 gui=bold
-hi link IncSearch Visual
-hi link Character Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-
diff --git a/.vim/colors/blackdust.vim b/.vim/colors/blackdust.vim
deleted file mode 100644
index 0eb20a7..0000000
--- a/.vim/colors/blackdust.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-set background=dark
-hi clear
-
-hi Boolean guifg=#dca3a3 gui=bold
-hi Character guifg=#dca3a3 gui=bold
-hi Comment guifg=#7f7f7f
-hi Condtional guifg=#8fffff
-hi Constant guifg=#dca3a3 gui=bold
-hi Cursor guifg=#000000 guibg=#aeaeae
-hi Debug guifg=#dca3a3 gui=bold
-hi Define guifg=#ffcfaf gui=bold
-hi Delimiter guifg=#8f8f8f
-hi DiffAdd guibg=#613c46
-hi DiffChange guibg=#333333
-hi DiffDelete guifg=#333333 guibg=#464646 gui=none
-hi DiffText guifg=#ffffff guibg=#1f1f1f gui=bold
-hi Directory guifg=#ffffff gui=bold
-hi Error guifg=#000000 guibg=#00ffff
-hi ErrorMsg guifg=#000000 guibg=#00c0cf
-hi Exception guifg=#8fffff gui=underline
-hi Float guifg=#9c93b3
-hi FoldColumn guifg=#dca3a3 guibg=#464646
-hi Folded guifg=#dca3a3 guibg=#333333
-hi Function guifg=#ffff8f
-hi Identifier guifg=#ffffff
-hi Include guifg=#ffcfaf gui=bold
-hi IncSearch guifg=#000000 guibg=#c15c66
-hi Keyword guifg=#ffffff gui=bold
-hi Label guifg=#8fffff gui=underline
-hi LineNr guifg=#7f7f7f guibg=#464646
-hi Macro guifg=#ffcfaf gui=bold
-hi ModeMsg guifg=#dca3a3 gui=bold
-hi MoreMsg guifg=#ffffff gui=bold
-hi NonText guifg=#1f1f1f
-hi Normal guifg=#cccccc guibg=#3f3f3f
-hi Number guifg=#aca0a3
-hi Operator guifg=#ffffff
-hi PreCondit guifg=#dfaf8f gui=bold
-hi PreProc guifg=#ffcfaf gui=bold
-hi Question guifg=#ffffff gui=bold
-hi Repeat guifg=#8fffff gui=underline
-hi Search guifg=#000000 guibg=#c15c66
-hi SpecialChar guifg=#dca3a3 gui=bold
-hi SpecialComment guifg=#dca3a3 gui=bold
-hi Special guifg=#7f7f7f
-hi SpecialKey guifg=#7e7e7e
-hi Statement guifg=#8fffff
-hi StatusLine guifg=#333333 guibg=#f18c96
-hi StatusLineNC guifg=#333333 guibg=#cccccc
-hi StorageClass guifg=#ffffff gui=bold
-hi String guifg=#cc9393
-hi Structure guifg=#ffffff gui=bold,underline
-hi Tag guifg=#dca3a3 gui=bold
-hi Title guifg=#ffffff guibg=#333333 gui=bold
-hi Todo guifg=#ffffff guibg=#000000 gui=bold
-hi Typedef guifg=#ffffff gui=bold,underline
-hi Type guifg=#ffffff gui=bold
-hi VertSplit guifg=#333333 guibg=#cccccc
-hi Visual guifg=#333333 guibg=#f18c96 gui=reverse
-hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
-hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
-hi WildMenu guifg=#000000 guibg=#dca3a3
diff --git a/.vim/colors/blacksea.vim b/.vim/colors/blacksea.vim
deleted file mode 100644
index 5cd38a3..0000000
--- a/.vim/colors/blacksea.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Vim color file
-" Maintainer: Gerald S. Williams
-" Last Change: 2003 Mar 20
-
-" This is a dark version/opposite of "seashell". The cterm version of this is
-" very similar to "evening".
-"
-" Only values that differ from defaults are specified.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "BlackSea"
-
-hi Normal guibg=Black guifg=seashell ctermfg=White
-hi NonText guifg=LavenderBlush ctermfg=LightMagenta
-hi DiffDelete guibg=DarkRed guifg=Black ctermbg=DarkRed ctermfg=White
-hi DiffAdd guibg=DarkGreen ctermbg=DarkGreen ctermfg=White
-hi DiffChange guibg=Gray30 ctermbg=DarkCyan ctermfg=White
-hi DiffText gui=NONE guibg=DarkCyan ctermbg=DarkCyan ctermfg=Yellow
-hi Comment guifg=LightBlue
-hi Constant guifg=DeepPink
-hi PreProc guifg=Magenta ctermfg=Magenta
-hi StatusLine guibg=#1f001f guifg=DarkSeaGreen cterm=NONE ctermfg=White ctermbg=DarkGreen
-hi StatusLineNC guifg=Gray
-hi VertSplit guifg=Gray
-hi Type gui=NONE
-hi Identifier guifg=Cyan
-hi Statement guifg=brown3 ctermfg=DarkRed
-hi Search guibg=Gold3 ctermfg=White
diff --git a/.vim/colors/blue.vim b/.vim/colors/blue.vim
deleted file mode 100644
index 220700f..0000000
--- a/.vim/colors/blue.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" Vim color file
-" Maintainer: TaQ <taq@taq.cjb.net>
-" Last Change: 10 October 2001 - 0.2
-" URL: http://taq.cjb.net
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark " or light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="blue"
-
-hi Normal ctermfg=Gray ctermbg=Black guifg=#CCCCCC guibg=#000040
-hi NonText ctermfg=Gray ctermbg=Black guifg=#0050EE guibg=#000040
-
-hi Statement ctermfg=White ctermbg=Black guifg=#007FFF guibg=#000040 gui=BOLD
-hi Comment ctermfg=Blue ctermbg=Black guifg=#00A0FF guibg=#000090 gui=NONE
-hi Constant ctermfg=White ctermbg=Black guifg=#0050EE guibg=#000040 gui=NONE
-hi Identifier ctermfg=Cyan ctermbg=Black guifg=#FFFFFF guibg=#000040 gui=NONE
-hi Type ctermfg=Cyan ctermbg=Black guifg=#5050FF guibg=#000040 gui=NONE
-hi Folded ctermfg=White ctermbg=Blue guifg=#00A0FF guibg=#000050 gui=BOLD
-hi Special ctermfg=Blue ctermbg=Black guifg=#00A0FF guibg=#000090 gui=NONE
-hi PreProc ctermfg=Blue ctermbg=Black guifg=#00FF00 guibg=#000040 gui=BOLD
-hi Scrollbar ctermfg=Blue ctermbg=Black guifg=#00C0FF guibg=#000040
-hi Cursor ctermfg=white ctermbg=Black guifg=#FFFFFF guibg=#5050FF
-hi ErrorMsg ctermfg=white ctermbg=Red guifg=#FFFFFF guibg=#FF0000
-hi WarningMsg ctermfg=Black ctermbg=Yellow guifg=#000000 guibg=#FFFF00
-hi VertSplit ctermfg=White ctermbg=Blue guifg=#000090 guibg=#000090
-hi Directory ctermfg=Cyan ctermbg=DarkBlue guifg=#00A0F0 guibg=#000040
-hi Visual ctermfg=Black ctermbg=Cyan guifg=#5050FF guibg=#FFFFFF
-hi Title ctermfg=White ctermbg=Blue guifg=#FFFFFF guibg=#0050EE gui=NONE
-
-hi StatusLine term=bold cterm=bold ctermfg=White ctermbg=Blue gui=bold guifg=#FFFFFF guibg=#0050EE
-hi StatusLineNC term=bold cterm=bold ctermfg=Gray ctermbg=Blue gui=bold guifg=#AAAAAA guibg=#000090
-hi LineNr term=bold cterm=bold ctermfg=White ctermbg=DarkBlue gui=bold guifg=#00A0FF guibg=#000050
-
diff --git a/.vim/colors/bluegreen.vim b/.vim/colors/bluegreen.vim
deleted file mode 100644
index 0b23dcd..0000000
--- a/.vim/colors/bluegreen.vim
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-" Vim color file
-" Maintainer:
-" Last Change:
-" URL:
-
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="mine"
-
-hi Normal guifg=White guibg=#061A3E
-
-" highlight groups
-hi Cursor guibg=#D74141 guifg=#e3e3e3
-hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none
-hi Folded guibg=#FFC0C0 guifg=black
-hi FoldColumn guibg=#800080 guifg=tan
-"hi IncSearch cterm=none ctermbg=blue ctermfg=grey guifg=slategrey guibg=khaki
-hi ModeMsg guifg=#404040 guibg=#C0C0C0
-hi MoreMsg guifg=darkturquoise guibg=#188F90
-hi NonText guibg=#334C75 guifg=#9FADC5
-hi Question guifg=#F4BB7E
-hi Search guibg=fg guifg=bg
-hi SpecialKey guifg=#BF9261
-hi StatusLine guibg=#004443 guifg=#c0ffff gui=none
-hi StatusLineNC guibg=#067C7B guifg=#004443 gui=bold
-hi Title guifg=#8DB8C3
-hi Visual gui=bold guifg=black guibg=#C0FFC0
-hi WarningMsg guifg=#F60000 gui=underline
-
-" syntax highlighting groups
-hi Comment guifg=#DABEA2
-hi Constant guifg=#72A5E4 gui=bold
-hi Identifier guifg=#ADCBF1
-hi Statement guifg=#7E75B5
-hi PreProc guifg=#14F07C
-hi Type guifg=#A9EE8A
-hi Special guifg=#EEBABA
-hi Ignore guifg=grey60
-hi Todo guibg=#9C8C84 guifg=#244C0A
-
-"vim: ts=4
diff --git a/.vim/colors/blugrine.vim b/.vim/colors/blugrine.vim
deleted file mode 100644
index 6ba6330..0000000
--- a/.vim/colors/blugrine.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" author Helder Correia < helder (dot) correia (at) netcabo (dot) pt>
-" version 2004.0
-" based on bluegreen colorscheme by Joao Estevao
-" feel free to modify / redistribute this file
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="blugrine"
-
-hi Normal guifg=White guibg=#000000
-
-" highlight groups
-hi Cursor guibg=#D74141 guifg=#e3e3e3
-hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none
-hi Folded guibg=#FFC0C0 guifg=black
-hi FoldColumn guibg=#800080 guifg=tan
-hi ModeMsg guifg=#404040 guibg=#C0C0C0
-hi MoreMsg guifg=darkturquoise guibg=#188F90
-hi NonText guibg=#334C75 guifg=#9FADC5
-hi Question guifg=#F4BB7E
-hi Search guibg=fg guifg=bg
-hi SpecialKey guifg=#BF9261
-hi StatusLine guibg=#004443 guifg=#c0ffff gui=none
-hi StatusLineNC guibg=#067C7B guifg=#004443 gui=bold
-hi Title guifg=#8DB8C3
-hi Visual gui=bold guifg=black guibg=#C0FFC0
-hi WarningMsg guifg=#F60000 gui=underline
-
-" syntax highlighting groups
-hi Comment guifg=#DABEA2
-hi Constant guifg=#72A5E4 gui=bold
-hi Identifier guifg=#ADCBF1
-hi Statement guifg=#7E75B5
-hi PreProc guifg=#14F07C
-hi Type guifg=#A9EE8A
-hi Special guifg=#EEBABA
-hi Ignore guifg=grey60
-hi Todo guibg=#9C8C84 guifg=#244C0A
-
diff --git a/.vim/colors/bmichaelsen.vim b/.vim/colors/bmichaelsen.vim
deleted file mode 100644
index b63f65c..0000000
--- a/.vim/colors/bmichaelsen.vim
+++ /dev/null
@@ -1,55 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Björn Michaelsen <bmichaelsen@gmx.de>
-" based on: Zellner maintained by Ron Aaron <ronaharon@yahoo.com>
-" Last Change: 2003 Sep 09
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "bmichaelsen"
-
-hi Comment term=bold ctermfg=Red guifg=Red
-hi Normal guifg=black guibg=#dee2ee
-hi Constant term=underline ctermfg=Magenta guifg=Magenta
-hi Special term=bold ctermfg=Magenta guifg=Magenta
-hi Identifier term=underline ctermfg=Blue guifg=Blue
-hi Statement term=bold ctermfg=DarkRed gui=NONE guifg=Brown
-hi PreProc term=underline ctermfg=Magenta guifg=Purple
-hi Type term=underline ctermfg=Blue gui=NONE guifg=Blue
-hi Visual term=reverse ctermfg=Yellow ctermbg=Red gui=NONE guifg=Black guibg=#5a5d6a
-hi Search term=reverse ctermfg=Black ctermbg=Cyan gui=NONE guifg=Black guibg=Cyan
-hi Tag term=bold ctermfg=DarkGreen guifg=DarkGreen
-hi Error term=reverse ctermfg=15 ctermbg=9 guibg=Red guifg=White
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=#5a5d6a
-hi StatusLine term=bold,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=NONE guifg=Black guibg=#a4b2c5
-hi! link MoreMsg Comment
-hi! link ErrorMsg Visual
-hi! link WarningMsg ErrorMsg
-hi! link Question Comment
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
diff --git a/.vim/colors/bog.vim b/.vim/colors/bog.vim
deleted file mode 100644
index 542262d..0000000
--- a/.vim/colors/bog.vim
+++ /dev/null
@@ -1,87 +0,0 @@
-" Vim color file
-" Maintainer: [smeagol] <webmaster@quantumz.net>
-" Last Change:
-" URL:
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-" your pick:
-set background=light " or light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="bog"
-
-hi Normal guifg=#3a3a3d guibg=white ctermfg=darkgrey ctermbg=white
-
-" OR
-
-" highlight clear Normal
-" set background&
-" highlight clear
-" if &background == "light"
-" highlight Error ...
-" ...
-" else
-" highlight Error ...
-" ...
-" endif
-
-" A good way to see what your colorscheme does is to follow this procedure:
-" :w
-" :so %
-"
-" Then to see what the current setting is use the highlight command.
-" For example,
-" :hi Cursor
-" gives
-" Cursor xxx guifg=bg guibg=fg
-
-" Uncomment and complete the commands you want to change from the default.
-
-hi Cursor guifg=#04ae6c guibg=#0056a0 ctermfg=darkgreen ctermbg=darkblue
-"hi CursorIM
-hi Directory guifg=green ctermfg=green
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg guibg=#004a8a guifg=white ctermfg=white ctermbg=darkblue
-hi VertSplit guibg=#04ae6c guifg=#0056a0
-hi Folded guibg=#0a62c4 guifg=#60abff ctermfg=lightgrey ctermbg=blue
-hi FoldColumn guibg=#0a62c4 guifg=#60abff ctermfg=lightgrey ctermbg=blue
-hi IncSearch guifg=white guibg=#ffdc34 ctermfg=white ctermbg=lightred gui=underline
-hi LineNr guifg=#3669e8 guibg=white ctermfg=lightblue ctermbg=white
-hi ModeMsg guifg=orange guibg=white ctermfg=lightred ctermbg=white
-hi MoreMsg guifg=orange guibg=white ctermfg=lightred ctermbg=white
-hi NonText gui=bold
-hi Question guifg=white guibg=orange ctermfg=white ctermbg=lightred
-hi Search guifg=white guibg=#ffdc34 ctermfg=white ctermbg=lightred gui=underline
-"hi SpecialKey
-hi StatusLine guifg=#04ae6c guibg=white ctermfg=darkgreen ctermbg=white
-hi StatusLineNC guifg=#04ae6c guibg=white ctermfg=darkgreen ctermbg=white
-hi Title guifg=#02233f gui=bold
-hi Visual guifg=darkblue guibg=white ctermfg=darkblue ctermbg=white
-"hi VisualNOS
-hi WarningMsg guifg=white guibg=orange ctermfg=white ctermbg=lightblue
-hi WildMenu guifg=#75dc34 guibg=white ctermfg=lightgreen ctermbg=white
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=orange guibg=white ctermbg=white ctermfg=blue
-hi Constant guifg=#5b8f8d guibg=white ctermfg=grey ctermbg=white
-hi Identifier guifg=#aad2ff guibg=white ctermfg=grey ctermbg=white
-hi Statement guifg=#808283 guibg=white ctermfg=lightgrey ctermbg=white
-hi PreProc guifg=#023a6a gui=bold guibg=white ctermfg=darkblue ctermbg=white
-hi Type guifg=#0e9152 guibg=white ctermfg=darkgreen ctermbg=white
-hi Special guifg=white guibg=skyblue ctermfg=white ctermbg=blue
-hi Underlined guifg=#00d0e8 ctermbg=blue
-hi Ignore guifg=black guibg=white ctermfg=black ctermbg=white
-"hi Error
-hi Todo guibg=lightblue guifg=white ctermbg=lightblue ctermfg=white
diff --git a/.vim/colors/borland.vim b/.vim/colors/borland.vim
deleted file mode 100644
index c39c101..0000000
--- a/.vim/colors/borland.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim color file
-" Maintainer: Yegappan Lakshmanan
-" Last Change: 2001 Sep 9
-
-" Color settings similar to that used in Borland IDE's.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="borland"
-
-hi Normal term=NONE cterm=NONE ctermfg=Yellow ctermbg=DarkBlue
-hi Normal gui=NONE guifg=Yellow guibg=DarkBlue
-hi NonText term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi NonText gui=NONE guifg=White guibg=DarkBlue
-
-hi Statement term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi Statement gui=NONE guifg=White guibg=DarkBlue
-hi Special term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue
-hi Special gui=NONE guifg=Cyan guibg=DarkBlue
-hi Constant term=NONE cterm=NONE ctermfg=Magenta ctermbg=DarkBlue
-hi Constant gui=NONE guifg=Magenta guibg=DarkBlue
-hi Comment term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue
-hi Comment gui=NONE guifg=Gray guibg=DarkBlue
-hi Preproc term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue
-hi Preproc gui=NONE guifg=Green guibg=DarkBlue
-hi Type term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi Type gui=NONE guifg=White guibg=DarkBlue
-hi Identifier term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi Identifier gui=NONE guifg=White guibg=DarkBlue
-
-hi StatusLine term=bold cterm=bold ctermfg=Black ctermbg=White
-hi StatusLine gui=bold guifg=Black guibg=White
-
-hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=White
-hi StatusLineNC gui=NONE guifg=Black guibg=White
-
-hi Visual term=NONE cterm=NONE ctermfg=Black ctermbg=DarkCyan
-hi Visual gui=NONE guifg=Black guibg=DarkCyan
-
-hi Search term=NONE cterm=NONE ctermbg=Gray
-hi Search gui=NONE guibg=Gray
-
-hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=White
-hi VertSplit gui=NONE guifg=Black guibg=White
-
-hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue
-hi Directory gui=NONE guifg=Green guibg=DarkBlue
-
-hi WarningMsg term=standout cterm=NONE ctermfg=Red ctermbg=DarkBlue
-hi WarningMsg gui=standout guifg=Red guibg=DarkBlue
-
-hi Error term=NONE cterm=NONE ctermfg=White ctermbg=Red
-hi Error gui=NONE guifg=White guibg=Red
-
-hi Cursor ctermfg=Black ctermbg=Yellow
-hi Cursor guifg=Black guibg=Yellow
-
diff --git a/.vim/colors/breeze.vim b/.vim/colors/breeze.vim
deleted file mode 100644
index 21cf417..0000000
--- a/.vim/colors/breeze.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/30 Wed 00:08.
-" version: 1.0
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "breeze"
-
-hi Normal guifg=#ffffff guibg=#005c70
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#60ffff guibg=#6060ff
-hi Search gui=NONE guifg=#ffffff guibg=#6060ff
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi ModeMsg gui=NONE guifg=#60ffff guibg=NONE
-hi MoreMsg gui=NONE guifg=#ffc0ff guibg=NONE
-hi Question gui=NONE guifg=#ffff60 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0
-hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0
-hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0
-hi WildMenu gui=NONE guifg=#000000 guibg=#00c8f0
-
-" Diff
-hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000
-hi DiffChange gui=NONE guifg=#ffffff guibg=#000000
-hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000
-hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#d86020
-hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0
-hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0
-
-" Fold
-hi Folded gui=NONE guifg=#ffffff guibg=#0088c0
-" hi Folded gui=NONE guifg=#ffffff guibg=#2080d0
-hi FoldColumn gui=NONE guifg=#60e0e0 guibg=#006c7f
-
-" Other
-hi Directory gui=NONE guifg=#00e0ff guibg=NONE
-hi LineNr gui=NONE guifg=#60a8bc guibg=NONE
-hi NonText gui=BOLD guifg=#00c0c0 guibg=#006276
-hi SpecialKey gui=NONE guifg=#e0a0ff guibg=NONE
-hi Title gui=BOLD guifg=#ffffff guibg=NONE
-hi Visual gui=NONE guifg=#ffffff guibg=#6060d0
-" hi VisualNOS gui=NONE guifg=#ffffff guibg=#6060d0
-
-" Syntax group
-hi Comment gui=NONE guifg=#c8d0d0 guibg=NONE
-hi Constant gui=NONE guifg=#60ffff guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi Identifier gui=NONE guifg=#cacaff guibg=NONE
-hi Ignore gui=NONE guifg=#006074 guibg=NONE
-hi PreProc gui=NONE guifg=#ffc0ff guibg=NONE
-hi Special gui=NONE guifg=#ffd074 guibg=NONE
-hi Statement gui=NONE guifg=#ffff80 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#ffb0b0 guibg=NONE
-hi Type gui=NONE guifg=#80ffa0 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=#ffffff guibg=NONE
diff --git a/.vim/colors/brookstream.vim b/.vim/colors/brookstream.vim
deleted file mode 100644
index ee907c6..0000000
--- a/.vim/colors/brookstream.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-"--------------------------------------------------------------------
-" Name Of File: brookstream.vim.
-" Description: Gvim colorscheme, works best with version 6.1 GUI .
-" Maintainer: Peter Bäckström.
-" Creator: Peter Bäckström.
-" URL: http://www.brookstream.org (Swedish).
-" Credits: Inspiration from the darkdot scheme.
-" Last Change: Friday, April 13, 2003.
-" Installation: Drop this file in your $VIMRUNTIME/colors/ directory.
-"--------------------------------------------------------------------
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="brookstream"
-
-"--------------------------------------------------------------------
-
-hi Normal gui=none guibg=#000000 guifg=#bbbbbb
-hi Cursor guibg=#44ff44 guifg=#000000
-hi Directory guifg=#44ffff
-hi DiffAdd guibg=#080808 guifg=#ffff00
-hi DiffDelete guibg=#080808 guifg=#444444
-hi DiffChange guibg=#080808 guifg=#ffffff
-hi DiffText guibg=#080808 guifg=#bb0000
-hi ErrorMsg guibg=#880000 guifg=#ffffff
-hi Folded guifg=#000088
-hi IncSearch guibg=#000000 guifg=#bbcccc
-hi LineNr guibg=#050505 guifg=#4682b4
-hi ModeMsg guifg=#ffffff
-hi MoreMsg guifg=#44ff44
-hi NonText guifg=#4444ff
-hi Question guifg=#ffff00
-hi SpecialKey guifg=#4444ff
-hi StatusLine gui=none guibg=#2f4f4f guifg=#ffffff
-hi StatusLineNC gui=none guibg=#bbbbbb guifg=#000000
-hi Title guifg=#ffffff
-hi Visual gui=none guibg=#bbbbbb guifg=#000000
-hi WarningMsg guifg=#ffff00
-
-" syntax highlighting groups ----------------------------------------
-
-hi Comment guifg=#696969
-hi Constant guifg=#00aaaa
-hi Identifier guifg=#00e5ee
-hi Statement guifg=#00ffff
-hi PreProc guifg=#8470ff
-hi Type guifg=#ffffff
-hi Special gui=none guifg=#87cefa
-hi Underlined gui=bold guifg=#4444ff
-hi Ignore guifg=#444444
-hi Error guibg=#000000 guifg=#bb0000
-hi Todo guibg=#aa0006 guifg=#fff300
-hi Operator gui=none guifg=#00bfff
-hi Function guifg=#1e90ff
-hi String gui=None guifg=#4682b4
-hi Boolean guifg=#9bcd9b
-
-"hi link Character Constant
-"hi link Number Constant
-"hi link Boolean Constant
-"hi link Float Number
-"hi link Conditional Statement
-"hi link Label Statement
-"hi link Keyword Statement
-"hi link Exception Statement
-"hi link Repeat Statement
-"hi link Include PreProc
-"hi link Define PreProc
-"hi link Macro PreProc
-"hi link PreCondit PreProc
-"hi link StorageClass Type
-"hi link Structure Type
-"hi link Typedef Type
-"hi link Tag Special
-"hi link Delimiter Special
-"hi link SpecialComment Special
-"hi link Debug Special
-"hi link FoldColumn Folded
-
-"- end of colorscheme -----------------------------------------------
diff --git a/.vim/colors/brown.vim b/.vim/colors/brown.vim
deleted file mode 100644
index aecfe4e..0000000
--- a/.vim/colors/brown.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-hi comment guifg=#fef8ff ctermfg=red
-hi constant guifg=#aa712f ctermfg=white
-hi cursor guibg=#5e3807 guifg=#deb887
-hi diffadd ctermbg=green ctermfg=black
-hi diffchange ctermbg=green ctermfg=white
-hi diffdelete ctermbg=none ctermfg=darkyellow
-hi difftext ctermbg=black ctermfg=green
-hi directory guifg=#3e1807 ctermfg=green
-hi error guibg=#cc3807 guifg=#deb887
-hi errormsg guifg=#cc3807 guibg=#f9d7a6
-hi identifier guifg=#5e3807 ctermfg=green
-hi incsearch guifg=#f9d7a6 guibg=#8e6837
-hi modemsg guifg=#793807 ctermbg=none ctermfg=cyan gui=none
-hi moremsg guifg=#793807 gui=none
-hi nontext guifg=#ffffff ctermfg=darkgrey
-hi normal guibg=#deb887 guifg=#846037
-hi preproc guifg=#7e6f27 ctermfg=white
-hi question guifg=#793807 gui=none
-hi scrollbar guibg=#deb887 guifg=#ae8857
-hi search guifg=#f9d7a6 ctermbg=cyan ctermfg=yellow guibg=#8e6837
-hi special guifg=#000000 ctermfg=yellow
-hi specialkey guifg=#ffffff ctermfg=white
-hi statement guifg=#7e5827 ctermfg=cyan
-hi statusline guibg=#fee8b7 ctermbg=black ctermfg=darkgreen guifg=#793807 gui=none
-hi statuslinenc guibg=#ae8857 ctermbg=black ctermfg=darkcyan guifg=#deb887 gui=none
-hi title guifg=#793807 ctermfg=darkgreen gui=none
-hi todo guibg=#995827 guifg=#fed8a7
-hi type guifg=#7e5827 ctermfg=yellow gui=none
-hi vertsplit guibg=#ae8857 ctermbg=green ctermfg=black guifg=#ae8857 gui=none
-hi visual guifg=#f9d7a6 guibg=#8e6837 ctermbg=black ctermfg=darkcyan
-hi warningmsg guifg=#cc3807
-hi wildmenu guifg=#f9d7a6 guibg=#8e6837
diff --git a/.vim/colors/buttercream.vim b/.vim/colors/buttercream.vim
deleted file mode 100644
index 30fb10d..0000000
--- a/.vim/colors/buttercream.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" Vim color file
-" vim: tw=0 ts=8 sw=4
-" Scriptname: buttercream
-" Maintainer: Håkan Wikström <hakan@wikstrom.st>
-" Version: 1.0 (initial release)
-" Last Change: 20040126
-" As of now only gui is supported
-" Based on the theme fog theme by Thomas R. Kimpton <tomk@emcity.net>
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = "buttercream"
-
-" Highlight Foreground Background Extras
-
-hi Normal guifg=#213a58 guibg=#f3edbb
-hi NonText guifg=LightBlue guibg=#f4df8b gui=bold
-hi Comment guifg=#2f8e99
-hi Constant guifg=#7070a0
-hi Statement guifg=DarkGreen gui=bold
-hi identifier guifg=DarkGreen
-hi preproc guifg=#408040
-hi type guifg=DarkBlue
-hi label guifg=#c06000
-hi operator guifg=DarkGreen gui=bold
-hi StorageClass guifg=#a02060 gui=bold
-hi Number guifg=Blue
-hi Special guifg=#aa8822
-hi Cursor guifg=LightGrey guibg=#880088
-hi lCursor guifg=Black guibg=Cyan
-hi ErrorMsg guifg=White guibg=DarkRed
-hi DiffText guibg=DarkRed gui=bold
-hi Directory guifg=DarkGrey gui=underline
-hi LineNr guifg=#ccaa22
-hi MoreMsg guifg=SeaGreen gui=bold
-hi Question guifg=DarkGreen gui=bold
-hi Search guifg=Black guibg=#887722
-hi SpecialKey guifg=Blue
-hi SpecialChar guifg=DarkGrey gui=bold
-hi Title guifg=DarkMagenta gui=underline
-hi WarningMsg guifg=DarkBlue guibg=#9999cc
-hi WildMenu guifg=Black guibg=Yellow gui=underline
-hi Folded guifg=DarkBlue guibg=LightGrey
-hi FoldColumn guifg=DarkBLue guibg=Grey
-hi DiffAdd guibg=DarkBlue
-hi DiffChange guibg=DarkMagenta
-hi DiffDelete guifg=Blue guibg=DarkCyan gui=bold
-hi Ignore guifg=grey90
-hi IncSearch gui=reverse
-hi ModeMsg gui=bold
-hi StatusLine gui=reverse,bold
-hi StatusLineNC gui=reverse
-hi VertSplit gui=reverse
-hi Visual guifg=LightGrey gui=reverse
-hi VisualNOS gui=underline,bold
-hi Todo guibg=#ccaa22 gui=bold,underline
diff --git a/.vim/colors/bw.vim b/.vim/colors/bw.vim
deleted file mode 100644
index 4c97e57..0000000
--- a/.vim/colors/bw.vim
+++ /dev/null
@@ -1,55 +0,0 @@
-" Vim color file
-" Maintainer: Hans Fugal <hans@fugal.net>
-" Last Change: 5 Oct 2001
-" URL: http://fugal.net/vim/colors/bw.vim
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-"
-if version > 580
- " no guarantees for version 5.8 and below, but this makes it stop
- " complaining
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-let g:colors_name="bw"
-
-hi SpecialKey cterm=bold ctermfg=NONE
-hi NonText cterm=bold ctermfg=NONE
-hi Directory cterm=bold ctermfg=NONE
-hi ErrorMsg cterm=standout ctermfg=NONE
-hi IncSearch cterm=reverse ctermfg=NONE
-hi Search cterm=reverse ctermfg=NONE
-hi MoreMsg cterm=bold ctermfg=NONE
-hi ModeMsg cterm=bold ctermfg=NONE
-hi LineNr cterm=underline ctermfg=NONE
-hi Question cterm=standout ctermfg=NONE
-hi StatusLine cterm=bold,reverse ctermfg=NONE
-hi StatusLineNC cterm=reverse ctermfg=NONE
-hi VertSplit cterm=reverse ctermfg=NONE
-hi Title cterm=bold ctermfg=NONE
-hi Visual cterm=reverse ctermfg=NONE
-hi VisualNOS cterm=bold,underline ctermfg=NONE
-hi WarningMsg cterm=standout ctermfg=NONE
-hi WildMenu cterm=standout ctermfg=NONE
-hi Folded cterm=standout ctermfg=NONE
-hi FoldColumn cterm=standout ctermfg=NONE
-hi DiffAdd cterm=bold ctermfg=NONE
-hi DiffChange cterm=bold ctermfg=NONE
-hi DiffDelete cterm=bold ctermfg=NONE
-hi DiffText cterm=reverse ctermfg=NONE
-hi Comment cterm=bold ctermfg=NONE
-hi Constant cterm=underline ctermfg=NONE
-hi Special cterm=bold ctermfg=NONE
-hi Identifier cterm=underline ctermfg=NONE
-hi Statement cterm=bold ctermfg=NONE
-hi PreProc cterm=underline ctermfg=NONE
-hi Type cterm=underline ctermfg=NONE
-hi Underlined cterm=underline ctermfg=NONE
-hi Ignore cterm=bold ctermfg=NONE
-hi Error cterm=reverse ctermfg=NONE
-hi Todo cterm=standout ctermfg=NONE
diff --git a/.vim/colors/c.vim b/.vim/colors/c.vim
deleted file mode 100644
index 6109c22..0000000
--- a/.vim/colors/c.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Vim Syntax Highlighting File
-"
-" Language: C
-"
-" Extra: This is to copy the vi clone elvis on its
-" syntax highlighting.
-"
-" Maintainer: Dean Jones<dean@cleancode.org>
-"
-" Comment: This works well with the default c.vim
-" that comes with vim6.x. It basically
-" overrides the very bright colors it uses
-" and uses simple white for highlighting
-" key words and types in the C language.
-" If you're using Eterm, uncomment the
-" Normal line specified below.
-
-hi clear
-
-" Eterm users, uncomment the line below
-" hi Normal ctermfg=grey
-
-hi PreProc ctermfg=white
-hi Type ctermfg=white
-hi Statement ctermfg=white
-hi Comment ctermfg=grey
-hi Constant cterm=NONE ctermfg=NONE
-hi Number cterm=NONE ctermfg=NONE
-hi String cterm=NONE ctermfg=NONE
-hi Special cterm=NONE ctermfg=NONE
-
-" EOF for Dean's Elvis like highlighting
diff --git a/.vim/colors/camo.vim b/.vim/colors/camo.vim
deleted file mode 100644
index 059af42..0000000
--- a/.vim/colors/camo.vim
+++ /dev/null
@@ -1,76 +0,0 @@
-" Vim color file
-" Maintainer: Tim Aldrich <aldy0169@yahoo.com>
-" Last Change: 19 January 2002
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="camo"
-hi Normal guifg=bisque guibg=grey15
-hi Cursor guifg=snow guibg=bisque3
-hi CursorIM guifg=OliveDrab4 guibg=bisque
-hi Directory guifg=OliveDrab4 guibg=grey15
-hi DiffAdd guifg=DarkOliveGreen1 guibg=grey15
-hi DiffChange guifg=PaleGreen guibg=grey15
-hi DiffDelete guifg=red guibg=grey15
-hi DiffText guifg=grey15 guibg=red
-hi ErrorMsg guifg=snow guibg=red
-hi VertSplit guifg=bisque4 guibg=DarkOliveGreen1
-hi Folded guifg=DarkOliveGreen2 guibg=grey30
-hi FoldColumn guifg=DarkOliveGreen2 guibg=grey30
-hi IncSearch guifg=bisque guibg=red
-hi LineNr guifg=OliveDrab4 guibg=grey15
-hi ModeMsg guifg=khaki3 guibg=grey15
-hi MoreMsg guifg=khaki3 guibg=grey15
-hi NonText guifg=DarkSalmon guibg=grey10
-hi Question guifg=IndianRed guibg=grey10
-hi Search guifg=DarkSalmon guibg=grey15
-hi SpecialKey guifg=yellow guibg=grey15
-hi StatusLine guifg=bisque4 guibg=DarkOliveGreen1
-hi StatusLineNC guifg=bisque4 guibg=DarkOliveGreen3
-hi Title guifg=IndianRed guibg=grey15
-hi Visual guifg=OliveDrab4 guibg=bisque1
-hi WarningMsg guifg=bisque guibg=red
-hi WildMenu guifg=LightBlue guibg=DarkViolet
-
-
-"Syntax hilight groups
-
-hi Comment guifg=tan
-hi Constant guifg=khaki
-hi String guifg=moccasin
-hi Character guifg=chocolate
-hi Number guifg=chocolate
-hi Boolean guifg=OliveDrab3
-hi Float guifg=chocolate
-hi Identifier guifg=khaki4
-hi Function guifg=OliveDrab4
-hi Statement guifg=khaki
-hi Conditional guifg=khaki
-hi Repeat guifg=khaki
-hi Label guifg=khaki
-hi Operator guifg=DarkKhaki
-hi Keyword guifg=DarkKhaki
-hi Exception guifg=khaki
-hi PreProc guifg=khaki4
-hi Include guifg=khaki4
-hi Define guifg=khaki1
-hi Macro guifg=khaki2
-hi PreCondit guifg=khaki3
-hi Type guifg=khaki3
-hi StorageClass guifg=tan
-hi Structure guifg=DarkGoldenrod
-hi Typedef guifg=khaki3
-hi Special guifg=IndianRed
-hi SpecialChar guifg=DarkGoldenrod
-hi Tag guifg=DarkKhaki
-hi Delimiter guifg=DarkGoldenrod
-hi SpecialComment guifg=cornsilk
-hi Debug guifg=brown
-hi Underlined guifg=IndianRed
-hi Ignore guifg=grey30
-hi Error guifg=bisque guibg=red
-hi Todo guifg=red guibg=bisque
-
diff --git a/.vim/colors/campfire.vim b/.vim/colors/campfire.vim
deleted file mode 100644
index b77c3fc..0000000
--- a/.vim/colors/campfire.vim
+++ /dev/null
@@ -1,57 +0,0 @@
-" Vim color file
-" Maintainer: Alexander Timmermans <alexandertimmermans@orange.nl>
-" Last Change: 28 september 2006
-
-set bg=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "campfire"
-
-hi Normal guifg=#c0c0c0 guibg=#000040 ctermfg=gray ctermbg=black
-hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue
-hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
-hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
-hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline
-hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
-hi ModeMsg guifg=#22cce2 ctermfg=lightblue
-hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=#0030ff ctermfg=darkblue
-
-hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
-hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-
-hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi LineNr guifg=#90f020 ctermfg=green cterm=none
-
-hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
-hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
-
-hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen
-
-
-hi Comment guifg=#80a0ff ctermfg=darkred
-hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
-hi Special ctermfg=brown guifg=Orange cterm=none gui=none
-hi Identifier ctermfg=cyan guifg=seagreen1 cterm=none
-hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
-hi PreProc ctermfg=magenta guifg=gold gui=none cterm=none
-hi type ctermfg=green guifg=seagreen1 gui=none cterm=none
-hi Underlined cterm=underline term=underline
-hi Ignore guifg=bg ctermfg=bg
-hi String term=NONE cterm=NONE gui=NONE start=^[[m^[[33m stop=^[[m^[[32m ctermfg=3 guifg=LightGrey
-hi Constant term=NONE cterm=NONE gui=NONE start=^[[m^[[33m stop=^[[m^[[32m ctermfg=3 guifg=LightGrey
diff --git a/.vim/colors/candy.vim b/.vim/colors/candy.vim
deleted file mode 100644
index 545ff7c..0000000
--- a/.vim/colors/candy.vim
+++ /dev/null
@@ -1,78 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/04/28 Sun 19:35.
-" version: 1.0
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "candy"
-
-hi Normal guifg=#f0f0f8 guibg=#000000
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#80ffff guibg=#0060c0
-hi Search gui=NONE guifg=#f0f0f8 guibg=#0060c0
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffa0ff guibg=NONE
-hi WarningMsg gui=BOLD guifg=#ffa0ff guibg=NONE
-hi ModeMsg gui=BOLD guifg=#40f0d0 guibg=NONE
-hi MoreMsg gui=BOLD guifg=#00ffff guibg=#008070
-hi Question gui=BOLD guifg=#e8e800 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#c8c8d8
-hi StatusLineNC gui=NONE guifg=#707080 guibg=#c8c8d8
-hi VertSplit gui=NONE guifg=#606080 guibg=#c8c8d8
-hi WildMenu gui=NONE guifg=#000000 guibg=#a0a0ff
-
-" Diff
-hi DiffText gui=NONE guifg=#ff78f0 guibg=#a02860
-hi DiffChange gui=NONE guifg=#e03870 guibg=#601830
-hi DiffDelete gui=NONE guifg=#a0d0ff guibg=#0020a0
-hi DiffAdd gui=NONE guifg=#a0d0ff guibg=#0020a0
-
-" Cursor
-hi Cursor gui=NONE guifg=#00ffff guibg=#008070
-hi lCursor gui=NONE guifg=#ffffff guibg=#8800ff
-hi CursorIM gui=NONE guifg=#ffffff guibg=#8800ff
-
-" Fold
-hi Folded gui=NONE guifg=#40f0f0 guibg=#005080
-hi FoldColumn gui=NONE guifg=#40c0ff guibg=#00305c
-
-" Other
-hi Directory gui=NONE guifg=#40f0d0 guibg=NONE
-hi LineNr gui=NONE guifg=#9090a0 guibg=NONE
-hi NonText gui=BOLD guifg=#4080ff guibg=NONE
-hi SpecialKey gui=BOLD guifg=#8080ff guibg=NONE
-hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE
-hi Visual gui=NONE guifg=#e0e0f0 guibg=#707080
-
-" Syntax group
-hi Comment gui=NONE guifg=#c0c0d0 guibg=NONE
-hi Constant gui=NONE guifg=#90d0ff guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#ff0088
-hi Identifier gui=NONE guifg=#40f0f0 guibg=NONE
-hi Ignore gui=NONE guifg=#000000 guibg=NONE
-hi PreProc gui=NONE guifg=#40f0a0 guibg=NONE
-hi Special gui=NONE guifg=#e0e080 guibg=NONE
-hi Statement gui=NONE guifg=#ffa0ff guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#ffa0a0 guibg=NONE
-hi Type gui=NONE guifg=#ffc864 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=#f0f0f8 guibg=NONE
-
-" HTML
-hi htmlLink gui=UNDERLINE
-hi htmlBold gui=BOLD
-hi htmlBoldItalic gui=BOLD,ITALIC
-hi htmlBoldUnderline gui=BOLD,UNDERLINE
-hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC
-hi htmlItalic gui=ITALIC
-hi htmlUnderline gui=UNDERLINE
-hi htmlUnderlineItalic gui=UNDERLINE,ITALIC
diff --git a/.vim/colors/caramel.vim b/.vim/colors/caramel.vim
deleted file mode 100644
index 81f6fd5..0000000
--- a/.vim/colors/caramel.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Vim color file
-" Maintainer : Brian Gant
-" Email : gantbd@muohio.edu
-" Last Change : 2/15/03
-" Version : 0.1
-"
-" TODO : add colors for diff and other non-implemented
-" stuff
-"
-" LICENCE (heh) : Emailware. Basically it means use it,
-" abuse it, change it, love it, leave it, whatever! I
-" do however make the simple request that if you use the
-" scheme, drop me an email and let me know what you think
-" about it, especially if you modify it! I don't use
-" the non-implemented features on a regular enough basis
-" to get a feel for how they flesh out.
-"
-" Designed for use with COBOL, but looks pretty good with
-" Perl, PHP, and C/C++ too (at least I think so).
-"
-" Brian
-"
-" ---------------------------------------------------------
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="caramel"
-
-" ---------------------------------------------------------
-
-hi Normal guifg=#dca454 guibg=#5c5094
-
-" ---------------------------------------------------------
-
-hi Cursor guifg=#303030 guibg=#dca454
-hi CursorIM guifg=#303030 guibg=#dca454
-hi ErrorMsg guifg=#b4a8a8 guibg=bg
-hi IncSearch guifg=#e0d070 guibg=#303030
-hi LineNr guifg=#b4a8a8 guibg=#39325d
-hi ModeMsg guifg=#b4a8a8 guibg=bg
-hi MoreMsg guifg=#b4a8a8 guibg=bg
-hi NonText guifg=#b4a8a8 guibg=#39325d
-hi Question guifg=#b4a8a8 guibg=bg
-hi Search guifg=#303030 guibg=#e0d070
-hi StatusLine guifg=#e0d070 guibg=#303030
-hi StatusLineNC guifg=#dca454 guibg=#303030
-hi Title guifg=#b4a8a8 guibg=#39325d
-hi Visual guifg=#b4a8a8 guibg=#303030
-hi VisualNOS guifg=#b4a8a8 guibg=#303030
-hi WarningMsg guifg=#b4a8a8 guibg=#39325d
-
-" ---------------------------------------------------------
-
-hi Comment guifg=#b4a8a8 guibg=bg
-hi Constant guifg=#9cd464 guibg=bg
-hi Identifier guifg=#e8c47c guibg=bg
-hi Statement guifg=#8088bc guibg=bg
-hi PreProc guifg=#e0d070 guibg=bg
-hi Type guifg=#e0d070 guibg=bg
-hi Special guifg=#e0d070 guibg=bg
-hi Underlined guifg=#9cd464 guibg=bg
-hi Ignore guifg=fg guibg=bg
-hi Error guifg=#cc74a8 guibg=#9cd464
-hi Todo guifg=bg guibg=#e0d070
diff --git a/.vim/colors/chela_light.vim b/.vim/colors/chela_light.vim
deleted file mode 100644
index 3fd8d95..0000000
--- a/.vim/colors/chela_light.vim
+++ /dev/null
@@ -1,89 +0,0 @@
-" Vim color file
-"
-" Maintainer: Stefan Karlsson <stefan.74@comhem.se>
-" Last Change: 29 September 2004
-"
-
-set background=light
-
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name="chela_light"
-
-
-"= Syntax Groups =============================================
-
-hi comment guibg=#fafafa guifg=#339900 gui=none
-
-hi constant guibg=#fafafa guifg=#dd3333 gui=none
-hi specialchar guibg=#fafafa guifg=#ff3333 gui=underline
-
-hi identifier guibg=#fafafa guifg=#3333ff gui=none
-
-hi statement guibg=#fafafa guifg=#3333ff gui=none
-hi label guibg=#fafafa guifg=#3333ff gui=none
-
-hi preproc guibg=#fafafa guifg=#3333ff gui=none
-hi include guibg=#fafafa guifg=#3333ff gui=none
-hi precondit guibg=#fafafa guifg=#cc00cc gui=none
-
-hi type guibg=#fafafa guifg=#3333ff gui=none
-
-hi special guibg=#fafafa guifg=#cc00cc gui=none
-
-hi error guibg=#ff3333 guifg=#ffffff gui=none
-
-hi todo guibg=#339933 guifg=#ffffff gui=none
-
-
-"= General Groups ============================================
-
-hi cursor guibg=#000000 guifg=#ffffff gui=none
-
-hi directory guibg=#fafafa guifg=#3333ff gui=none
-
-hi diffadd guibg=#66ff66 guifg=#000000 gui=none
-hi diffdelete guibg=#ff6666 guifg=#ff6666 gui=none
-hi diffchange guibg=#ffff00 guifg=#cccc99 gui=none
-hi difftext guibg=#ffff00 guifg=#000000 gui=none
-
-hi errormsg guibg=#ff3333 guifg=#ffffff gui=none
-
-hi vertsplit guibg=#3333ff guifg=#3333ff gui=none
-
-hi folded guibg=#eeeeee guifg=#3333ff gui=none
-hi foldcolumn guibg=#eeeeee guifg=#999999 gui=none
-
-hi linenr guibg=#fafafa guifg=#bbbbbb gui=none
-
-hi modemsg guibg=#fafafa guifg=#999999 gui=none
-
-hi moremsg guibg=#339900 guifg=#ffffff gui=none
-hi question guibg=#339900 guifg=#ffffff gui=none
-
-hi nontext guibg=#fafafa guifg=#999999 gui=none
-
-hi normal guibg=#fafafa guifg=#000000 gui=none
-
-hi search guibg=#ffff00 guifg=#000000 gui=none
-hi incsearch guibg=#ffbb00 guifg=#000000 gui=none
-
-hi specialkey guibg=#fafafa guifg=#cc00cc gui=none
-
-hi statusline guibg=#3333ff guifg=#ffffff gui=none
-hi statuslinenc guibg=#3333ff guifg=#999999 gui=none
-
-hi title guibg=#fafafa guifg=#6666ff gui=none
-
-hi visual guibg=#bbbbbb guifg=#333333 gui=none
-
-hi warningmsg guibg=#fafafa guifg=#ff0000 gui=none
-
-hi wildmenu guibg=#339900 guifg=#ffffff gui=none
-
-
-" [eof]
-
diff --git a/.vim/colors/chocolateliquor.vim b/.vim/colors/chocolateliquor.vim
deleted file mode 100644
index c71bdf3..0000000
--- a/.vim/colors/chocolateliquor.vim
+++ /dev/null
@@ -1,34 +0,0 @@
-" Vim color file
-" Maintainer: Gerald S. Williams
-" Last Change: 2003 Apr 17
-
-" This started as a dark version (perhaps opposite is a better term) of
-" PapayaWhip, but took on a life of its own. Easy on the eyes, but still
-" has good contrast. Not bad on a color terminal, either (of course, on
-" my color terms, Black == #3f1f1f and White == PapayaWhip :-P ).
-"
-" Only values that differ from defaults are specified.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "ChocolateLiquor"
-
-hi Normal guibg=#3f1f1f guifg=PapayaWhip ctermfg=White
-hi NonText guibg=#1f0f0f guifg=Brown2 ctermfg=Brown
-hi LineNr guibg=#1f0f0f guifg=Brown2
-hi DiffDelete guibg=DarkRed guifg=White ctermbg=DarkRed ctermfg=White
-hi DiffAdd guibg=DarkGreen guifg=White ctermbg=DarkGreen ctermfg=White
-hi DiffText gui=NONE guibg=DarkCyan guifg=Yellow ctermbg=DarkCyan ctermfg=Yellow
-hi DiffChange guibg=DarkCyan guifg=White ctermbg=DarkCyan ctermfg=White
-hi Constant ctermfg=Red
-hi Comment guifg=LightBlue3
-hi PreProc guifg=Plum ctermfg=Magenta
-hi StatusLine guibg=White guifg=Sienna4 cterm=NONE ctermfg=Gray ctermbg=Brown
-hi StatusLineNC gui=NONE guifg=Black guibg=Gray ctermbg=Black ctermfg=Gray
-hi VertSplit guifg=Gray
-hi Search guibg=Gold3 ctermfg=White
-hi Type gui=NONE guifg=DarkSeaGreen2
-hi Statement gui=NONE guifg=Gold3
diff --git a/.vim/colors/cleanphp.vim b/.vim/colors/cleanphp.vim
deleted file mode 100644
index c0af691..0000000
--- a/.vim/colors/cleanphp.vim
+++ /dev/null
@@ -1,81 +0,0 @@
-" Vim color file
-" Maintainer: Billy McIntosh <billymcintosh@ntlworld.com>
-" Last Change: June 24, 2003
-" Licence: Public Domain
-
-" This package offers a eye-catching color scheme for PHP syntax
-
-" First remove all existing highlighting.
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "cleanphp"
-
-hi Normal guifg=#008000 guibg=#d3e4f8
-
-hi ErrorMsg guibg=#d3e4f8 guifg=Red
-hi IncSearch gui=reverse
-hi ModeMsg gui=bold
-hi StatusLine gui=reverse,bold
-hi StatusLineNC gui=reverse
-hi VertSplit gui=reverse
-hi Visual gui=reverse guifg=#c0c0c0 guibg=fg
-hi VisualNOS gui=underline,bold
-hi DiffText gui=bold guibg=Red
-hi Cursor guibg=Black guifg=NONE
-hi lCursor guibg=Black guifg=NONE
-hi Directory guifg=#ff8040
-hi LineNr guifg=#008000
-hi MoreMsg gui=bold guifg=SeaGreen
-hi NonText gui=bold guifg=#ff8040 guibg=#d3e4f8
-hi Question gui=bold guifg=Black
-hi Search guibg=#008000 guifg=NONE
-hi SpecialKey guifg=#ff8040
-hi Title gui=bold guifg=Magenta
-hi WarningMsg guifg=Red
-hi WildMenu guibg=Cyan guifg=#d3e4f8
-hi Folded guibg=White guifg=Darkblue
-hi FoldColumn guibg=#c0c0c0 guifg=Darkblue
-hi DiffAdd guibg=Lightblue
-hi DiffChange guibg=LightMagenta
-hi DiffDelete gui=bold guifg=#ff8040 guibg=LightCyan
-
-hi Comment guifg=#ff8040 guibg=#d3e4f8
-hi Constant guifg=#BB0000 guibg=#d3e4f8
-hi PreProc guifg=#008080 guibg=#d3e4f8
-hi Statement gui=NONE guifg=#008000 guibg=#d3e4f8
-hi Special guifg=#008080 guibg=#d3e4f8
-hi Ignore guifg=#c0c0c0
-hi Identifier guifg=#000080 guibg=#d3e4f8
-hi Type guifg=#00BB00 guibg=#d3e4f8
-
-hi link IncSearch Visual
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-
-" vim: sw=2 \ No newline at end of file
diff --git a/.vim/colors/coffee.vim b/.vim/colors/coffee.vim
deleted file mode 100644
index 284fb01..0000000
--- a/.vim/colors/coffee.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim color file
-" Maintainer: David Lazar <david#c7.campus.utcluj.ro>
-" Last Change: Fri Jan 31 01:08:13 UTC 2003
-" Version: 1.0
-" URL: http://c7.campus.utcluj.ro/~david/coffee.vim
-"
-" This colorscheme script was created using Hans Fugal's colorscheme template
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="coffee"
-
-hi Normal gui=none guibg= #514c44 guifg=#b0a594
-
-hi Cursor gui=none guibg=#ffffff guifg=bg
-hi link CursorIM Cursor
-hi Directory guifg=#ffffff
-hi DiffAdd guibg=#9e9485 guifg=bg
-hi DiffDelete guibg=#2e2b26 guifg=fg
-hi DiffChange guibg=#70695e guifg=fg
-hi DiffText guibg=#70695e guifg=#880000
-hi ErrorMsg guibg=#880000 guifg=#ffffff
-hi Folded guifg=#88c0c7
-hi FoldColumn guifg=#88c0c7
-hi IncSearch guifg=#fff0d6 guibg=#000000
-hi LineNr guibg=#000000 guifg=#ffff21
-hi ModeMsg guifg=#ffffff
-hi MoreMsg guifg=#00ff00
-hi NonText guifg=#61616d
-hi Question guifg=#ffff00
-hi link Search IncSearch
-hi SpecialKey guifg=#ffffff
-hi StatusLine guibg=#000000 guifg=#deefff
-hi StatusLineNC guibg=#395956 guifg=#a4b1bd
-hi VertSplit guibg=#395956 guifg=#a4b1bd
-hi Title guifg=#ffffff
-hi Visual guifg=#fff0d6 guibg=#000000
-hi VisualNOS guifg=#dddddd guibg=bg
-hi WarningMsg guifg=#ffff00
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=#1a1813
-hi Constant guifg=#cefece
-hi Identifier guifg=#cc7c3d
-hi Statement guifg=#effec5
-hi PreProc guifg=#85ff85
-hi Type guifg=#c6feeb
-hi Special guifg=#eeffee
-hi Underlined gui=underline guifg=#ffffff
-hi Ignore guifg=fg
-hi Error guibg=bg guifg=#ff4c4a
-hi Todo guibg=#aa0006 guifg=#fff300
-
diff --git a/.vim/colors/colorer.vim b/.vim/colors/colorer.vim
deleted file mode 100644
index 30e1277..0000000
--- a/.vim/colors/colorer.vim
+++ /dev/null
@@ -1,79 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Sergey V. Beduev <shaman@interdon.net>
-" Last Change: Sun Mar 28 11:19:38 EEST 2004
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "colorer"
-
-hi Normal ctermfg=Gray guifg=DarkGray guibg=black
-hi Visual ctermfg=DarkCyan guibg=black guifg=DarkCyan
-hi Comment ctermfg=Brown guifg=#B46918 gui=NONE
-hi PerlPOD ctermfg=Brown guifg=#B86A18 gui=NONE
-hi Constant ctermfg=White guifg=White gui=NONE
-hi Charachter ctermfg=Yellow guifg=Yellow gui=NONE
-hi String ctermfg=Yellow guifg=Yellow gui=NONE
-hi Number ctermfg=White guifg=White gui=NONE
-hi Boolean ctermfg=Cyan guifg=DarkGray gui=NONE
-hi Special ctermfg=DarkMagenta guifg=Red gui=NONE
-hi Define ctermfg=LightMagenta guifg=Magenta gui=NONE
-hi Identifier ctermfg=Green guifg=Green gui=NONE
-hi Exception ctermfg=White guifg=White gui=NONE
-hi Statement ctermfg=White guifg=White gui=NONE
-hi Label ctermfg=White guifg=White gui=NONE
-hi Keyword ctermfg=White guifg=White gui=NONE
-hi PreProc ctermfg=Green guifg=Green gui=NONE
-hi Type ctermfg=LightGreen guifg=Green gui=NONE
-hi Function ctermfg=White guifg=White gui=NONE
-hi Repeat ctermfg=White guifg=White gui=NONE
-hi Operator ctermfg=White guifg=White gui=NONE
-hi Ignore ctermfg=black guifg=bg
-hi Folded ctermbg=LightBlue ctermfg=Gray guibg=DarkBlue guifg=DarkGray gui=NONE
-hi Error term=reverse ctermbg=Red ctermfg=White guibg=darkRed guifg=White gui=NONE
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Black guibg=#AD5500 gui=NONE
-hi Done term=standout ctermbg=Gray ctermfg=White guifg=White guibg=Gray gui=NONE
-
-hi SpellErrors ctermfg=DarkRed guifg=Black gui=NONE
-
-hi MailQ ctermfg=darkcyan guibg=black gui=NONE
-hi MailQu ctermfg=darkgreen guibg=black gui=NONE
-hi MyDiffNew ctermfg=magenta guifg=red gui=NONE
-hi MyDiffCommLine ctermfg=white ctermbg=red guifg=white guibg=darkred gui=NONE
-hi MyDiffRemoved ctermfg=LightRed guifg=red gui=NONE
-hi MyDiffSubName ctermfg=DarkCyan guifg=Cyan gui=NONE
-hi MyDiffNormal ctermbg=White ctermfg=black guibg=White guifg=black gui=NONE
-hi MoreMsg gui=NONE
-hi ModeMsg gui=NONE
-hi Title gui=NONE
-hi NonText gui=NONE
-hi DiffDelete gui=NONE
-hi DiffText gui=NONE
-hi StatusLine guifg=black guibg=gray gui=NONE
-hi Question gui=NONE
-" Common groups that link to default highlighting.
-" You can specify other highlighting easily.
-"hi link String Constant
-"hi link Character Constant
-"hi link Number Constant
-"hi link Boolean Constant
-hi link Float Number
-hi link Conditional Repeat
-hi link Include PreProc
-hi link Structure Define
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Normal
-hi link SpecialComment Special
-hi link Debug Special
-
diff --git a/.vim/colors/cool.vim b/.vim/colors/cool.vim
deleted file mode 100644
index a7593d9..0000000
--- a/.vim/colors/cool.vim
+++ /dev/null
@@ -1,82 +0,0 @@
-" Vim color file
-" Maintainer: Gergely Kontra <kgergely@mcl.hu>
-" Last Change: 2002. 07. 03.
-" Based on scite colors.
-" I've changed my mind, and inverted the colors.
-" After an hour, this is the result.
-" Not resembles to scite's colors :-]
-" I'm a bit red-blind, so if you have suggestions, don't hesitate :)
-" ^^^^^^^^^ Sorry, I cannot speak English well, just want to say,
-" that in some rare cases I cannot distinguish between some colors
-" (I've just realized it, when I see some special tests)
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-"colorscheme default
-let g:colors_name = "cool"
-
-
-" GUI
-"highlight Normal guifg=#77BBFF guibg=#304060
-highlight Normal guifg=#77BBFF guibg=#102040
-highlight Normal ctermfg=LightBlue ctermbg=Black
-
-highlight Comment guifg=#EEEEEE guibg=#393939
-highlight Comment ctermfg=white ctermbg=DarkGrey
-
-highlight Constant gui=underline
-highlight Constant ctermfg=LightBlue cterm=bold,underline
-
-highlight Cursor guifg=#999999 guibg=#FFFFFF
-
-highlight Define guifg=#FFFF80 guibg=#000099 gui=bold
-highlight Define ctermfg=Yellow ctermbg=DarkBlue cterm=bold
-
-highlight Delimiter guifg=#FFFFFF guibg=#221F22 gui=bold
-
-highlight FoldColumn guifg=#FFFFFF guibg=#222222
-highlight FoldColumn ctermfg=White ctermbg=DarkGrey cterm=reverse
-
-highlight Folded guifg=#000000 guibg=#999999
-highlight Folded ctermfg=DarkGrey ctermbg=Black cterm=reverse
-
-highlight Function guifg=#dddddd guibg=#000099 gui=bold
-highlight Function ctermfg=White ctermbg=DarkBlue cterm=bold
-
-highlight IncSearch guifg=#000000 guibg=#ffffff gui=bold,underline
-
-highlight LineNr guifg=#FFFFFF guibg=#444444
-
-highlight Number guifg=#dddddd gui=bold
-highlight Number ctermfg=LightCyan
-
-highlight PreProc guibg=#000000 guifg=#77bbff gui=bold
-
-highlight Search guifg=#ffffff guibg=#335577
-highlight Search ctermfg=White ctermbg=Cyan cterm=reverse
-
-highlight Special guifg=#ccaa55 guibg=#102040 gui=none
-highlight Special ctermfg=Brown ctermbg=Black cterm=bold
-
-highlight Statement guifg=#FF8080 gui=bold
-highlight Statement ctermfg=Magenta cterm=bold
-
-highlight StatusLine guifg=#FFFFFF guibg=#553333
-highlight StatusLine ctermfg=white ctermbg=DarkRed
-
-highlight StatusLineNC guifg=#AA8888 guibg=#000000
-highlight StatusLineNC ctermfg=red ctermbg=black
-
-highlight String guifg=#99ffaa guibg=#000000
-highlight String ctermfg=White
-
-highlight Subtitle guifg=#FFFFFF guibg=#994444 gui=bold,underline
-
-highlight Type guifg=#FFFFFF gui=NONE
-highlight Type guifg=white gui=NONE
-
-highlight Visual guibg=#112233 guifg=#6688AA
-highlight Visual ctermbg=DarkBlue ctermfg=LightBlue
diff --git a/.vim/colors/dante.vim b/.vim/colors/dante.vim
deleted file mode 100644
index f584889..0000000
--- a/.vim/colors/dante.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" File: "/home/caciano/.vim/dante.vim"
-" Created: "Thu, 23 May 2002 00:12:20 -0300 (caciano)"
-" Updated: "Sat, 24 Aug 2002 14:04:21 -0300 (caciano)"
-" Copyright (C) 2002, Caciano Machado <caciano@inf.ufrgs.br>
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Colorscheme Option:
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-hi clear
-if exists("syntax on")
- syntax reset
-endif
-let g:colors_name = "dante"
-
-" General colors
-hi Normal ctermfg=gray guifg=peachpuff3 guibg=black
-hi Directory term=bold ctermfg=blue guifg=royalblue
-hi ErrorMsg term=standout ctermfg=white ctermbg=red guifg=white guibg=red3
-hi NonText term=bold ctermfg=darkgray guibg=gray3 guifg=gray20
-hi SpecialKey term=bold ctermfg=darkgray guifg=gray30
-hi LineNr term=underline ctermfg=darkgray guifg=ivory4 guibg=gray4
-hi IncSearch term=reverse cterm=reverse gui=reverse,bold guifg=darkgoldenrod2
-hi Search term=reverse ctermfg=black ctermbg=yellow guifg=gray10 guibg=gold2
-hi Visual term=bold,reverse cterm=bold,reverse ctermfg=gray ctermbg=black gui=bold,reverse guifg=gray40 guibg=black
-hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline
-hi MoreMsg term=bold ctermfg=green gui=bold guifg=olivedrab1
-hi ModeMsg term=bold cterm=bold gui=bold
-hi Question term=standout ctermfg=green gui=bold guifg=olivedrab1
-hi WarningMsg term=standout ctermfg=red gui=bold guifg=red3
-hi WildMenu term=standout ctermfg=black ctermbg=yellow guifg=black guibg=gold2
-hi Folded term=standout ctermfg=blue ctermbg=white guifg=royalblue1 guibg=white
-hi FoldColumn term=standout ctermfg=blue ctermbg=white guifg=royalblue3 guibg=white
-hi DiffAdd term=bold ctermbg=blue guibg=royalblue2
-hi DiffChange term=bold ctermbg=darkmagenta guibg=maroon
-hi DiffDelete term=bold cterm=bold ctermfg=lightblue ctermbg=cyan gui=bold guifg=lightblue guibg=cyan4
-hi DiffText term=reverse cterm=bold ctermbg=red gui=bold guibg=red3
-hi Cursor guifg=bg guibg=fg
-hi lCursor guifg=bg guibg=fg
-hi StatusLine term=reverse cterm=reverse gui=reverse guifg=gray60
-hi StatusLineNC term=reverse cterm=reverse gui=reverse guifg=gray40
-hi VertSplit term=reverse cterm=reverse gui=bold,reverse guifg=gray40
-hi Title term=bold ctermfg=magenta gui=bold guifg=aquamarine
-
-" syntax hi colors
-hi Comment term=bold ctermfg=darkcyan guifg=cyan4
-hi PreProc term=underline ctermfg=darkblue guifg=dodgerblue4
-hi Constant term=underline ctermfg=darkred guifg=firebrick3
-hi Type term=underline ctermfg=darkgreen gui=none guifg=chartreuse3
-hi Statement term=bold ctermfg=darkyellow gui=none guifg=gold3
-hi Identifier term=underline ctermfg=darkgreen guifg=darkolivegreen4
-hi Ignore term=bold ctermfg=darkgray guifg=gray45
-hi Special term=underline ctermfg=brown guifg=sienna
-hi Error term=reverse ctermfg=gray ctermbg=red guifg=gray guibg=red3
-hi Todo term=standout ctermfg=black ctermbg=yellow gui=bold guifg=gray10 guibg=yellow4
-hi Underlined term=underline cterm=underline ctermfg=darkblue gui=underline guifg=slateblue
-hi Number term=underline ctermfg=darkred guifg=red2
-" syntax hi links
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Number Constant
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Operator Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
diff --git a/.vim/colors/darkblack.vim b/.vim/colors/darkblack.vim
deleted file mode 100644
index 5dcd263..0000000
--- a/.vim/colors/darkblack.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim color file
-" Maintainer: Matthew Jimenez <mjimenez@ersnet.net>
-" Last Change: 2005 Feb 25
-
-" darkblack -- an alteration to the darkblue colorscheme by Bohdan Vlasyuk <bohdan@vstu.edu.ua>
-
-
-set bg=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "darkblack"
-
-hi Normal guifg=lightgrey guibg=black ctermfg=lightgray ctermbg=black
-hi ErrorMsg guifg=white guibg=lightblue ctermfg=white ctermbg=lightblue
-hi Visual guifg=lightblue guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
-hi VisualNOS guifg=lightblue guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-hi Todo guifg=red guibg=black ctermfg=red ctermbg=black
-hi Search guifg=white guibg=black ctermfg=white ctermbg=black cterm=underline term=underline
-hi IncSearch guifg=black guibg=gray ctermfg=black ctermbg=gray
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
-hi ModeMsg guifg=lightblue ctermfg=lightblue
-hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=lightcyan ctermfg=lightcyan
-
-hi StatusLine guifg=lightblue guibg=darkgray gui=none ctermfg=lightblue ctermbg=gray term=none cterm=none
-hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-
-hi Folded guifg=darkgrey guibg=black ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi FoldColumn guifg=darkgrey guibg=black ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi LineNr guifg=green ctermfg=green cterm=none
-
-hi DiffAdd guibg=black ctermbg=black term=none cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete ctermfg=lightblue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
-hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
-
-hi Cursor guifg=bg guibg=lightgrey ctermfg=bg ctermbg=lightgrey
-hi lCursor guifg=bg guibg=darkgreen ctermfg=bg ctermbg=darkgreen
-
-
-hi Comment guifg=lightblue ctermfg=lightblue
-hi Constant ctermfg=magenta guifg=magenta cterm=none
-hi Special ctermfg=brown guifg=Orange cterm=none gui=none
-hi Identifier ctermfg=cyan guifg=cyan cterm=none
-hi Statement ctermfg=yellow cterm=none guifg=yellow gui=none
-hi PreProc ctermfg=magenta guifg=magenta gui=none cterm=none
-hi type ctermfg=green guifg=green gui=none cterm=none
-hi Underlined cterm=underline term=underline
-hi Ignore guifg=bg ctermfg=bg
-
diff --git a/.vim/colors/darkblue2.vim b/.vim/colors/darkblue2.vim
deleted file mode 100644
index e31483b..0000000
--- a/.vim/colors/darkblue2.vim
+++ /dev/null
@@ -1,99 +0,0 @@
-" Vim color file
-" Maintainer: Datila Carvalho <datila@saci.homeip.net>
-" Last Change: November, 3, 2003
-" Version: 0.1
-
-" This is a VIM's version of the emacs color theme
-" _Dark Blue2_ created by Chris McMahan.
-
-""" Init stuff
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "darkblue2"
-
-
-""" Colors
-
-" GUI colors
-hi Cursor guifg=#233b5a guibg=Yellow
-hi CursorIM guifg=NONE guibg=Yellow
-hi Directory gui=bold guifg=cyan
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-hi DiffText guibg=grey50
-hi ErrorMsg gui=bold guifg=White guibg=gray85
-hi VertSplit gui=bold guifg=NONE guibg=gray80
-"hi Folded
-"hi FoldColumn
-"hi IncSearch
-"hi LineNr
-hi ModeMsg gui=bold
-"hi MoreMsg
-"hi NonText
-hi Normal guibg=#233b5a guifg=#fff8dc
-"hi Question
-hi Search gui=bold guifg=#233b5a guibg=lightgoldenrod
-"hi SpecialKey
-hi StatusLine guifg=aquamarine
-hi StatusLineNC guifg=steelblue3
-"hi Title
-hi Visual guifg=steelblue guibg=fg
-hi VisualNOS gui=bold guifg=steelblue guibg=fg
-hi WarningMsg guifg=White guibg=Tomato
-"hi WildMenu
-
-" Colors for syntax highlighting
-hi Comment gui=italic guifg=mediumaquamarine
-
-hi Constant gui=bold guifg=lightgoldenrod1
- hi String guifg=aquamarine
- hi Character guifg=aquamarine
- hi Number gui=bold guifg=lightgoldenrod1
- hi Boolean gui=bold guifg=lightgoldenrod1
- hi Float gui=bold guifg=lightgoldenrod1
-
-hi Identifier gui=bold guifg=palegreen
- hi Function guifg=lightskyblue
-
-hi Statement gui=bold guifg=cyan
- hi Conditional gui=bold guifg=cyan
- hi Repeat gui=bold guifg=cyan
- hi Label guifg=cyan
- hi Operator guifg=cyan
- "hi Keyword
- "hi Exception
-
-hi PreProc guifg=lightsteelblue
- hi Include gui=bold guifg=lightsteelblue
- hi Define guifg=lightsteelblue
- hi Macro guifg=lightsteelblue
- hi PreCondit guifg=lightsteelblue
-
-hi Type gui=bold guifg=palegreen
- hi StorageClass gui=bold guifg=lightgoldenrod1
- hi Structure gui=bold guifg=lightgoldenrod1
- hi Typedef gui=bold guifg=lightgoldenrod1
-
-"hi Special
- ""Underline Character
- "hi SpecialChar
- "hi Tag
- ""Statement
- "hi Delimiter
- ""Bold comment (in Java at least)
- "hi SpecialComment
- "hi Debug
-
-hi Underlined gui=underline
-
-hi Ignore guifg=bg
-
-hi Error gui=bold guifg=White guibg=Red
-
-"hi Todo
diff --git a/.vim/colors/darkdot.vim b/.vim/colors/darkdot.vim
deleted file mode 100644
index 0275896..0000000
--- a/.vim/colors/darkdot.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Vim color file
-" Maintainer: David Lazar <david#c7.campus.utcluj.ro>
-" Last Change: Thu May 20 16:27:13 EEST 2004
-" Version: 2.2
-" URL: http://www.c7obs.net/~david/stuff/darkdot.vim
-"
-" This colorscheme script was created using Hans Fugal's colorscheme template
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="darkdot"
-
-hi Normal cterm=none gui=none guibg=#101020 guifg=#a8aaaa
-hi Cursor cterm=none guibg=#44ff44 guifg=#000000
-hi link CursorIM Cursor
-hi Directory ctermfg=cyan guifg=#44ffff
-hi DiffAdd ctermbg=blue ctermfg=yellow guibg=#080888 guifg=#ffff00
-hi DiffDelete ctermbg=black ctermfg=darkgray guibg=#080808 guifg=#444444
-hi DiffChange ctermbg=black guibg=#080808 guifg=#ffffff
-hi DiffText ctermbg=black ctermfg=darkred guibg=#080808 guifg=#bb0000
-hi ErrorMsg ctermbg=darkred ctermfg=white guibg=#880000 guifg=#ffffff
-hi Folded ctermbg=black ctermfg=darkblue guibg=black guifg=#000088
-hi link FoldColumn Folded
-hi IncSearch ctermbg=black ctermfg=gray guibg=#000000 guifg=#bbcccc
-hi LineNr ctermfg=yellow guibg=#404040 guifg=#ffff00
-hi ModeMsg ctermfg=white guifg=#ffffff
-hi MoreMsg ctermfg=green guifg=#44ff44
-hi NonText ctermfg=blue guifg=#4444ff
-hi Question ctermfg=yellow guifg=#ffff00
-hi Search ctermbg=NONE ctermfg=green guibg=NONE guifg=green
-hi SpecialKey ctermfg=blue guifg=#4444ff
-hi StatusLine cterm=none ctermbg=darkcyan ctermfg=white gui=none guibg=#00aaaa guifg=#ffffff
-hi StatusLineNC cterm=none ctermbg=gray ctermfg=black gui=none guibg=#bbbbbb guifg=#000000
-hi link VertSplit StatusLineNC
-hi Title ctermfg=white guifg=#ffffff
-hi Visual cterm=none ctermbg=gray ctermfg=black gui=none guibg=#bbbbbb guifg=#000000
-hi link VisualNOS Visual
-hi WarningMsg ctermfg=yellow guifg=#ffff00
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment ctermfg=blue guifg=#4444ff
-hi Constant ctermfg=darkcyan guifg=#00aaaa
-hi Identifier ctermfg=white guifg=#ffffff
-hi Statement ctermfg=cyan guifg=#44ffff
-hi PreProc ctermfg=darkcyan guifg=#00aaaa
-hi Type ctermfg=white guifg=#ffffff
-hi Special ctermfg=blue cterm=bold guifg=#6666ff gui=bold
-hi Underlined ctermfg=blue guifg=#4444ff
-hi Ignore ctermfg=darkgray guifg=#444444
-hi Error ctermbg=black ctermfg=darkred guibg=#000000 guifg=#bb0000
-hi Todo ctermbg=darkred ctermfg=yellow guibg=#aa0006 guifg=#fff300
-
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Conditional Statement
-hi link Label Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Repeat Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-hi link FoldColumn Folded
diff --git a/.vim/colors/darkocean.vim b/.vim/colors/darkocean.vim
deleted file mode 100644
index 99d2ed3..0000000
--- a/.vim/colors/darkocean.vim
+++ /dev/null
@@ -1,52 +0,0 @@
-" Name Of File: darkocean.vim
-" Description: Gvim colorscheme, works best with version 6.0.
-" Maintainer: Naveen Chandra R <ncr AT iitbombay DOT org>
-" Last Change: Thursday, August 15, 2002
-" Installation: Drop this file in your $VIMRUNTIME/colors/ directory
-" or manually source this file using ':so darkocean.vim'.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="darkocean"
-
-hi Cursor gui=None guibg=#add8e6 guifg=#000000
-hi CursorIM gui=None guibg=#add8e6 guifg=#000000
-hi Directory gui=None guibg=bg guifg=#20b2aa
-hi DiffAdd gui=Bold guibg=#7e354d guifg=fg
-hi DiffChange gui=Bold guibg=#103040 guifg=#cc3300
-hi DiffDelete gui=Bold,Reverse guibg=#7e354d guifg=fg
-hi DiffText gui=Bold guibg=#d74141 guifg=fg
-hi ErrorMsg gui=None guibg=#b22222 guifg=#ffffe0
-hi VertSplit gui=None guibg=#999999 guifg=#000000
-hi Folded gui=Bold guibg=#003366 guifg=#999999
-hi FoldColumn gui=Bold guibg=#305070 guifg=#b0d0e0
-hi IncSearch gui=Bold guibg=#8db6cd guifg=fg
-hi LineNr gui=Bold guibg=#0f0f0f guifg=#8db6cd
-hi MoreMsg gui=Bold guibg=bg guifg=#bf9261
-hi ModeMsg gui=Bold guibg=bg guifg=#4682b4
-hi NonText gui=None guibg=#0f0f0f guifg=#87cefa
-hi Normal gui=None guibg=#000000 guifg=#e0ffff
-hi Question gui=Bold guibg=bg guifg=#f4bb7e
-hi Search gui=Bold guibg=#607b8b guifg=#000000
-hi SpecialKey gui=None guibg=bg guifg=#63b8ff
-hi StatusLine gui=Bold guibg=#8db6cd guifg=#000000
-hi StatusLineNC gui=None guibg=#607b8b guifg=#1a1a1a
-hi Title gui=Bold guibg=bg guifg=#5cacee
-hi Visual gui=Reverse guibg=#ffffff guifg=#36648b
-hi VisualNOS gui=Bold,Underline guibg=#4682b4 guifg=fg
-hi WarningMsg gui=Bold guibg=bg guifg=#b22222
-hi WildMenu gui=Bold guibg=#607b8b guifg=#000000
-hi Comment gui=None guibg=#102520 guifg=#8db6cd
-hi Constant gui=None guibg=bg guifg=#c34a2c
-hi Identifier gui=None guibg=bg guifg=#009acd
-hi Statement gui=None guibg=bg guifg=#72a5ee
-hi PreProc gui=None guibg=bg guifg=#c12869
-hi Include gui=None guibg=bg guifg=#ccccff
-hi Type gui=None guibg=bg guifg=#3b9c9c
-hi Error gui=None guibg=#b22222 guifg=#ffffe0
-hi Todo gui=None guibg=#507080 guifg=#3bcccc
-hi Ignore gui=None guibg=bg guifg=#777777
-hi TagName gui=None guibg=#660000 guifg=#a7a7a7
diff --git a/.vim/colors/darkslategray.vim b/.vim/colors/darkslategray.vim
deleted file mode 100644
index b36aef0..0000000
--- a/.vim/colors/darkslategray.vim
+++ /dev/null
@@ -1,117 +0,0 @@
-" vim: set tw=0 sw=4 sts=4 et:
-
-" Vim color file
-" Maintainer: Tuomas Susi <tsusi@cc.hut.fi>
-" Last Change: 2004 October 05
-" Version: 1.7
-
-" Emacs in RedHat Linux used to have (still does?) a kind of 'Wheat on
-" DarkSlateGray' color scheme by default. This color scheme is created in the
-" same spirit.
-"
-" Darkslategray is intended to be nice to your eyes (low contrast) and to take
-" advantage of syntax hilighting as much as possible.
-"
-" This color scheme is for the GUI only, I'm happy with default console colors.
-" Needs at least vim 6.0.
-
-
-" Init stuff
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "darkslategray"
-
-
-" GUI colors
-
-hi Cursor guifg=fg guibg=#da70d6
-hi CursorIM guifg=NONE guibg=#ff83fa
-hi Directory guifg=#e0ffff
-hi DiffAdd guibg=#528b8b
-hi DiffChange guibg=#8b636c
-hi DiffDelete gui=bold guifg=fg guibg=#000000
-hi DiffText gui=bold guibg=#6959cd
-hi ErrorMsg gui=bold guifg=#ffffff guibg=#ff0000
-hi VertSplit gui=bold guifg=#bdb76b guibg=#000000
-hi Folded guifg=#000000 guibg=#bdb76b
-hi FoldColumn guifg=#000000 guibg=#bdb76b
-hi SignColumn gui=bold guifg=#bdb76b guibg=#20b2aa
-hi IncSearch gui=bold guifg=#000000 guibg=#ffffff
-hi LineNr gui=bold guifg=#bdb76b guibg=#528b8b
-hi ModeMsg gui=bold
-hi MoreMsg gui=bold guifg=#20b2aa
-hi NonText gui=bold guifg=#ffffff
-hi Normal guibg=#2f4f4f guifg=#f5deb3
-hi Question gui=bold guifg=#ff6347
-hi Search gui=bold guifg=#000000 guibg=#ffd700
-hi SpecialKey guifg=#00ffff
-hi StatusLine gui=bold guifg=#f0e68c guibg=#000000
-hi StatusLineNC guibg=#bdb76b guifg=#404040
-hi Title gui=bold guifg=#ff6347
-hi Visual guifg=#000000 guibg=fg
-hi VisualNOS gui=bold guifg=#000000 guibg=fg
-hi WarningMsg guifg=#ffffff guibg=#ff6347
-hi WildMenu gui=bold guifg=#000000 guibg=#ffff00
-
-
-" I use GTK and don't wanna change these
-"hi Menu foobar
-"hi Scrollbar foobar
-"hi Tooltip foobar
-
-
-" Colors for syntax highlighting
-hi Comment guifg=#da70d6
-
-hi Constant guifg=#cdcd00
- hi String guifg=#7fffd4
- hi Character guifg=#7fffd4
- hi Number guifg=#ff6347
- hi Boolean guifg=#cdcd00
- hi Float guifg=#ff6347
-
-hi Identifier guifg=#afeeee
- hi Function guifg=#ffffff
-
-hi Statement gui=bold guifg=#4682b4
- hi Conditional gui=bold guifg=#4682b4
- hi Repeat gui=bold guifg=#4682b4
- hi Label gui=bold guifg=#4682b4
- hi Operator gui=bold guifg=#4682b4
- hi Keyword gui=bold guifg=#4682b4
- hi Exception gui=bold guifg=#4682b4
-
-hi PreProc guifg=#cdcd00
- hi Include guifg=#ffff00
- hi Define guifg=#cdcd00
- hi Macro guifg=#cdcd00
- hi PreCondit guifg=#cdcd00
-
-hi Type gui=bold guifg=#98fb98
- hi StorageClass guifg=#00ff00
- hi Structure guifg=#20b2aa
- hi Typedef guifg=#00ff7f
-
-hi Special guifg=#ff6347
- "Underline Character
- hi SpecialChar gui=underline guifg=#7fffd4
- hi Tag guifg=#ff6347
- "Statement
- hi Delimiter gui=bold guifg=#b0c4de
- "Bold comment (in Java at least)
- hi SpecialComment gui=bold guifg=#da70d6
- hi Debug gui=bold guifg=#ff0000
-
-hi Underlined gui=underline
-
-hi Ignore guifg=bg
-
-hi Error gui=bold guifg=#ffffff guibg=#ff0000
-
-hi Todo gui=bold guifg=#000000 guibg=#ff83fa
-
diff --git a/.vim/colors/dawn.vim b/.vim/colors/dawn.vim
deleted file mode 100644
index 5c65ca3..0000000
--- a/.vim/colors/dawn.vim
+++ /dev/null
@@ -1,65 +0,0 @@
-" Vim color file
-" Maintainer: Ajit J. Thakkar (ajit AT unb DOT ca)
-" Last Change: 2003 July 23
-" Version: 1.2
-" URL: http://www.unb.ca/chem/ajit/vim.htm
-
-" This GUI-only color scheme has a light grey background, and is a softer
-" variant of the default and morning color schemes.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "dawn"
-
-hi Normal guifg=Black guibg=grey90
-"hi Normal guifg=Black guibg=grey80
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg gui=NONE guifg=Red guibg=Linen
-hi IncSearch gui=NONE guifg=fg guibg=LightGreen
-hi ModeMsg gui=bold guifg=fg guibg=bg
-hi StatusLine gui=NONE guifg=DarkBlue guibg=grey70
-hi StatusLineNC gui=NONE guifg=grey90 guibg=grey70
-hi VertSplit gui=NONE guifg=grey70 guibg=grey70
-hi Visual gui=reverse guifg=Grey guibg=fg
-hi VisualNOS gui=underline,bold guifg=fg guibg=bg
-hi DiffText gui=bold guifg=Blue guibg=LightYellow
-hi Cursor guifg=NONE guibg=Green
-hi lCursor guifg=NONE guibg=Cyan
-hi Directory guifg=Blue guibg=bg
-hi LineNr guifg=Brown guibg=bg
-hi MoreMsg gui=bold guifg=SeaGreen guibg=bg
-hi NonText gui=bold guifg=Blue guibg=grey80
-hi Question gui=bold guifg=SeaGreen guibg=bg
-hi Search guifg=fg guibg=PeachPuff
-hi SpecialKey guifg=Blue guibg=bg
-hi Title gui=bold guifg=Magenta guibg=bg
-hi WarningMsg guifg=Red guibg=bg
-hi WildMenu guifg=fg guibg=PeachPuff
-hi Folded guifg=Grey40 guibg=bg " guifg=DarkBlue guibg=LightGrey
-hi FoldColumn guifg=DarkBlue guibg=Grey
-hi DiffAdd gui=bold guifg=Blue guibg=LightCyan
-hi DiffChange gui=bold guifg=fg guibg=MistyRose2
-hi DiffDelete gui=NONE guifg=LightBlue guibg=LightCyan
-
-" Colors for syntax highlighting
-hi Constant gui=NONE guifg=azure4 guibg=bg
-"hi Constant gui=NONE guifg=DeepSkyBlue4 guibg=bg
-hi String gui=NONE guifg=DarkOliveGreen4 guibg=bg
-hi Special gui=bold guifg=Cyan4 guibg=bg
-hi Statement gui=NONE guifg=SlateBlue4 guibg=bg
-hi Operator gui=NONE guifg=Purple guibg=bg
-hi Ignore gui=NONE guifg=bg guibg=bg
-hi ToDo gui=NONE guifg=DeepPink1 guibg=bg
-hi Error gui=NONE guifg=Red guibg=Linen
-hi Comment gui=NONE guifg=RoyalBlue guibg=NONE
-hi Identifier gui=NONE guifg=SteelBlue4 guibg=NONE
-hi PreProc gui=NONE guifg=Magenta4 guibg=NONE
-hi Type gui=NONE guifg=Brown guibg=NONE
-hi Underlined gui=underline guifg=SlateBlue guibg=bg
-
-" vim: sw=2
diff --git a/.vim/colors/delek.vim b/.vim/colors/delek.vim
deleted file mode 100644
index 32e4536..0000000
--- a/.vim/colors/delek.vim
+++ /dev/null
@@ -1,57 +0,0 @@
-" Vim color file
-" Maintainer: David Schweikert <dws@ee.ethz.ch>
-" Last Change: 2001 Mai 14
-
-" First remove all existing highlighting.
-hi clear
-
-let colors_name = "delek"
-
-hi Normal guifg=Black guibg=white
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Green guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory term=bold ctermfg=DarkBlue guifg=Blue
-hi LineNr term=underline ctermfg=Brown guifg=Brown
-hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
-hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
-hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-
-hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
-hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
-hi NonText term=bold ctermfg=Blue gui=bold guifg=gray guibg=white
-hi Cursor guibg=fg guifg=bg
-
-" syntax highlighting
-hi PreProc term=underline cterm=NONE ctermfg=darkmagenta gui=NONE guifg=magenta3
-hi Identifier term=underline cterm=NONE ctermfg=darkcyan gui=NONE guifg=cyan4
-hi Comment term=NONE cterm=NONE ctermfg=darkred gui=NONE guifg=red2
-hi Constant term=underline cterm=NONE ctermfg=darkgreen gui=NONE guifg=green3
-hi Special term=bold cterm=NONE ctermfg=lightred gui=NONE guifg=deeppink
-hi Statement term=bold cterm=bold ctermfg=blue gui=bold guifg=blue
-hi Type term=underline cterm=NONE ctermfg=blue gui=bold guifg=blue
-
-if exists("syntax_on")
- let syntax_cmd = "enable"
- runtime syntax/syncolor.vim
- unlet syntax_cmd
-endif
-
-" vim: sw=2
diff --git a/.vim/colors/denim.vim b/.vim/colors/denim.vim
deleted file mode 100644
index c41af9f..0000000
--- a/.vim/colors/denim.vim
+++ /dev/null
@@ -1,141 +0,0 @@
-" Maintainer: Tim Aldrich <aldy0169@yahoo.com>
-" Last Change: 19 November 2001
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="denim"
-" GUI colors {{{
-hi Normal guifg=#FFFFFF guibg=#000038
-hi Cursor guifg=#000038 guibg=#FFFFFF
-hi CursorIM guifg=#6699CC guibg=#99CCCC
-hi Directory guifg=#33CCFF guibg=#6699CC
-hi DiffAdd guifg=#FFFFCC guibg=#000038
-hi DiffChange guifg=#FF9900 guibg=#000038
-hi DiffDelete guifg=#999999 guibg=#000038
-hi DiffText guifg=#FFFFFF guibg=#000038
-hi ErrorMsg guifg=#FFFFFF guibg=#FF0000
-hi VertSplit guifg=#FFFFFF guibg=#000038
-hi Folded guifg=#999999 guibg=#003366
-hi FoldColumn guifg=#0000EE guibg=#6699CC
-hi IncSearch guifg=#FFFF00 guibg=#000038
-hi LineNr guifg=#FFFFEE guibg=#000038
-hi ModeMsg guifg=#FFFFFF guibg=#000038
-hi MoreMsg guifg=#FFFFFF guibg=#000038
-hi NonText guifg=#FFFFFF guibg=#00003D
-hi Question guifg=#FFFFFF guibg=#0000EE
-hi Search guifg=#993300 guibg=#6699CC
-hi SpecialKey guifg=#FFFF00 guibg=#000038
-hi StatusLine guifg=#FFFFFF guibg=#000038
-hi StatusLineNC guifg=#CCCCCC guibg=#000038
-hi Title guifg=#FFFFFF guibg=#FF9900
-hi Visual guifg=#003366 guibg=#6699FF
-hi WarningMsg guifg=#FF0000 guibg=#FFFFFF
-hi WildMenu guifg=#000038 guibg=#999999
-" }}}
-
-" cterm colors {{{
-hi Normal ctermfg=white ctermbg=darkblue
-hi Cursor ctermfg=darkblue ctermbg=white
-hi CursorIM ctermfg=lightcyan ctermbg=lightcyan
-hi Directory ctermfg=lightblue ctermbg=lightcyan
-hi DiffAdd ctermfg=LightYellow ctermbg=darkblue
-hi DiffChange ctermfg=darkred ctermbg=darkblue
-hi DiffDelete ctermfg=grey ctermbg=darkblue
-hi DiffText ctermfg=white ctermbg=darkblue
-hi ErrorMsg ctermfg=red ctermbg=lightcyan
-hi VertSplit ctermfg=white ctermbg=darkblue
-hi Folded ctermfg=grey ctermbg=darkblue
-hi FoldColumn ctermfg=darkred ctermbg=lightcyan
-hi IncSearch ctermfg=yellow ctermbg=darkblue
-hi LineNr ctermfg=lightyellow ctermbg=darkblue
-hi ModeMsg ctermfg=white ctermbg=darkblue
-hi MoreMsg ctermfg=white ctermbg=darkblue
-hi NonText ctermfg=white ctermbg=lightblue
-hi Question ctermfg=white ctermbg=darkblue
-hi Search ctermfg=darkred ctermbg=lightcyan
-hi SpecialKey ctermfg=yellow ctermbg=darkblue
-hi StatusLine ctermfg=white ctermbg=darkblue
-hi StatusLineNC ctermfg=lightgrey ctermbg=darkblue
-hi Title ctermfg=white ctermbg=yellow
-hi Visual ctermfg=lightblue ctermbg=cyan
-hi WarningMsg ctermfg=red ctermbg=white
-hi WildMenu ctermfg=darkblue ctermbg=grey
-" }}}
-
-" GUI hilight groups {{{
-
-hi Comment guifg=#999999
-hi Constant guifg=#33FF33
-hi String guifg=#CCCC99
-hi Character guifg=#33FF33
-hi Number guifg=#33FF33
-hi Boolean guifg=#33FF33
-hi Float guifg=#33FF33
-hi Identifier guifg=#33FFFF
-hi Function guifg=#33FFFF
-hi Statement guifg=#FFFFCC
-hi Conditional guifg=#FFFFCC
-hi Repeat guifg=#FFFFCC
-hi Label guifg=#33FF99
-hi Operator guifg=#FFFF00
-hi Keyword guifg=#FFFF00
-hi Exception guifg=#FFFFAA
-hi PreProc guifg=#66CCFF
-hi Include guifg=#66CCFF
-hi Define guifg=#66CCFF
-hi Macro guifg=#66CCFF
-hi PreCondit guifg=#66CCFF
-hi Type guifg=#33FF99
-hi StorageClass guifg=#33FF99
-hi Structure guifg=#33FF99
-hi Typedef guifg=#33FF99
-hi Special guifg=#00FF00
-hi SpecialChar guifg=#00FF00
-hi Tag guifg=#CCCCFF
-hi Delimiter guifg=#CCCCFF
-hi SpecialComment guifg=#FFFFCC
-hi Debug guifg=#CC3300
-hi Ignore guifg=#0066AA
-hi Error guifg=#FF0000 guibg=#FFFFFF
-hi Todo guifg=#999999 guibg=#FFFFFF
-" }}}
-
-" cterm hilight groups {{{
-hi Comment ctermfg=grey
-hi Constant ctermfg=lightgreen
-hi String ctermfg=brown
-hi Character ctermfg=lightgreen
-hi Number ctermfg=lightgreen
-hi Boolean ctermfg=lightgreen
-hi Float ctermfg=lightgreen
-hi Identifier ctermfg=lightcyan
-hi Function ctermfg=lightcyan
-hi Statement ctermfg=lightyellow
-hi Conditional ctermfg=lightyellow
-hi Repeat ctermfg=lightyellow
-hi Label ctermfg=lightcyan
-hi Operator ctermfg=yellow
-hi Keyword ctermfg=yellow
-hi Exception ctermfg=yellow
-hi PreProc ctermfg=darkcyan
-hi Include ctermfg=darkcyan
-hi Define ctermfg=darkcyan
-hi Macro ctermfg=darkcyan
-hi PreCondit ctermfg=darkcyan
-hi Type ctermfg=lightcyan
-hi StorageClass ctermfg=lightcyan
-hi Structure ctermfg=lightcyan
-hi Typedef ctermfg=lightcyan
-hi Special ctermfg=green
-hi SpecialChar ctermfg=green
-hi Tag ctermfg=brown
-hi Delimiter ctermfg=brown
-hi SpecialComment ctermfg=lightyellow
-hi Debug ctermfg=magenta
-hi Ignore ctermfg=lightblue
-hi Error ctermfg=red ctermbg=white
-hi Todo ctermfg=grey ctermbg=white
-" }}}
diff --git a/.vim/colors/desert.vim b/.vim/colors/desert.vim
deleted file mode 100644
index e43c61b..0000000
--- a/.vim/colors/desert.vim
+++ /dev/null
@@ -1,105 +0,0 @@
-" Vim color file
-" Maintainer: Hans Fugal <hans@fugal.net>
-" Last Change: $Date: 2003/06/02 19:28:15 $
-" URL: http://hans.fugal.net/vim/colors/desert.vim
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-if version > 580
- " no guarantees for version 5.8 and below, but this makes it stop
- " complaining
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-let g:colors_name="desert"
-
-hi Normal guifg=White guibg=grey20
-
-" highlight groups
-hi Cursor guibg=khaki guifg=slategrey
-"hi CursorIM
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-"hi ErrorMsg
-hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none
-hi Folded guibg=grey30 guifg=gold
-hi FoldColumn guibg=grey30 guifg=tan
-hi IncSearch guifg=slategrey guibg=khaki
-"hi LineNr
-hi ModeMsg guifg=goldenrod
-hi MoreMsg guifg=SeaGreen
-hi NonText guifg=LightBlue guibg=grey30
-hi Question guifg=springgreen
-hi Search guibg=peru guifg=wheat
-hi SpecialKey guifg=yellowgreen
-hi StatusLine guibg=#c2bfa5 guifg=black gui=none
-hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none
-hi Title guifg=indianred
-hi Visual gui=none guifg=khaki guibg=olivedrab
-"hi VisualNOS
-hi WarningMsg guifg=salmon
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=SkyBlue
-hi Constant guifg=#ffa0a0
-hi Identifier guifg=palegreen
-hi Statement guifg=khaki
-hi PreProc guifg=indianred
-hi Type guifg=darkkhaki
-hi Special guifg=navajowhite
-"hi Underlined
-hi Ignore guifg=grey40
-"hi Error
-hi Todo guifg=orangered guibg=yellow2
-
-" color terminal definitions
-hi SpecialKey ctermfg=darkgreen
-hi NonText cterm=bold ctermfg=darkblue
-hi Directory ctermfg=darkcyan
-hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
-hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
-hi Search cterm=NONE ctermfg=grey ctermbg=blue
-hi MoreMsg ctermfg=darkgreen
-hi ModeMsg cterm=NONE ctermfg=brown
-hi LineNr ctermfg=3
-hi Question ctermfg=green
-hi StatusLine cterm=bold,reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=5
-hi Visual cterm=reverse
-hi VisualNOS cterm=bold,underline
-hi WarningMsg ctermfg=1
-hi WildMenu ctermfg=0 ctermbg=3
-hi Folded ctermfg=darkgrey ctermbg=NONE
-hi FoldColumn ctermfg=darkgrey ctermbg=NONE
-hi DiffAdd ctermbg=4
-hi DiffChange ctermbg=5
-hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-hi DiffText cterm=bold ctermbg=1
-hi Comment ctermfg=darkcyan
-hi Constant ctermfg=brown
-hi Special ctermfg=5
-hi Identifier ctermfg=6
-hi Statement ctermfg=3
-hi PreProc ctermfg=5
-hi Type ctermfg=2
-hi Underlined cterm=underline ctermfg=5
-hi Ignore ctermfg=darkgrey
-hi Error cterm=bold ctermfg=7 ctermbg=1
-
-
-"vim: sw=4
diff --git a/.vim/colors/dusk.vim b/.vim/colors/dusk.vim
deleted file mode 100644
index fc7c8a5..0000000
--- a/.vim/colors/dusk.vim
+++ /dev/null
@@ -1,64 +0,0 @@
-" Vim color file
-" Maintainer: Ajit J. Thakkar (ajit AT unb DOT ca)
-" Last Change: 2003 Sep. 02
-" Version: 1.0
-" URL: http://www.unb.ca/chem/ajit/vim.htm
-
-" This GUI-only color scheme has a blue-black background
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "dusk"
-
-hi Normal guifg=ivory guibg=#1f3048
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg gui=NONE guifg=Red guibg=Linen
-hi IncSearch gui=NONE guibg=LightGreen guifg=Black
-hi ModeMsg gui=NONE guifg=fg guibg=bg
-hi StatusLine gui=NONE guifg=DarkBlue guibg=Grey
-hi StatusLineNC gui=NONE guifg=Grey50 guibg=Grey
-hi VertSplit gui=NONE guifg=Grey guibg=Grey
-hi Visual gui=reverse guifg=fg guibg=LightSkyBlue4
-hi VisualNOS gui=underline guifg=fg guibg=bg
-hi DiffText gui=NONE guifg=Yellow guibg=LightSkyBlue4
-hi Cursor guibg=Green guifg=Black
-hi lCursor guibg=Cyan guifg=Black
-hi Directory guifg=LightGreen guibg=bg
-hi LineNr guifg=MistyRose3 guibg=bg
-hi MoreMsg gui=NONE guifg=SeaGreen guibg=bg
-hi NonText gui=NONE guifg=Cyan4 guibg=#102848
-hi Question gui=NONE guifg=LimeGreen guibg=bg
-hi Search gui=NONE guifg=SkyBlue4 guibg=Bisque
-hi SpecialKey guifg=Cyan guibg=bg
-hi Title gui=NONE guifg=Yellow2 guibg=bg
-hi WarningMsg guifg=Tomato3 guibg=Linen
-hi WildMenu gui=NONE guifg=SkyBlue4 guibg=Bisque
-hi Folded guifg=MistyRose2 guibg=bg
-hi FoldColumn guifg=DarkBlue guibg=Grey
-hi DiffAdd gui=NONE guifg=Blue guibg=LightCyan
-hi DiffChange gui=NONE guifg=white guibg=LightCyan4
-hi DiffDelete gui=NONE guifg=LightBlue guibg=LightCyan
-
-" Colors for syntax highlighting
-hi Constant gui=NONE guifg=MistyRose3 guibg=bg
-hi String gui=NONE guifg=LightBlue3 guibg=bg
-hi Special gui=NONE guifg=GoldenRod guibg=bg
-hi Statement gui=NONE guifg=khaki guibg=bg
-"hi Statement gui=NONE guifg=#d7cd7b guibg=bg
-hi Operator gui=NONE guifg=Chartreuse guibg=bg
-hi Ignore gui=NONE guifg=bg guibg=bg
-hi ToDo gui=NONE guifg=DodgerBlue guibg=bg
-hi Error gui=NONE guifg=Red guibg=Linen
-hi Comment gui=NONE guifg=SlateGrey guibg=bg
-hi Comment gui=NONE guifg=Lavender guibg=bg
-hi Identifier gui=NONE guifg=BlanchedAlmond guibg=bg
-hi PreProc gui=NONE guifg=#ffa0a0 guibg=bg
-hi Type gui=NONE guifg=NavajoWhite guibg=bg
-hi Underlined gui=underline guifg=fg guibg=bg
-
-" vim: sw=2
diff --git a/.vim/colors/earth.vim b/.vim/colors/earth.vim
deleted file mode 100644
index 306529b..0000000
--- a/.vim/colors/earth.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Shrinath
-" Last Change: 2004/09/13 Mon 12:50.
-" version: 0.2
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "earth"
-
-hi Normal guifg=#000000 guibg=#99CC99
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#60ffff guibg=#6060ff
-hi Search gui=NONE guifg=#ffffff guibg=#6060ff
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi ModeMsg gui=NONE guifg=#60ffff guibg=NONE
-hi MoreMsg gui=NONE guifg=#ffc0ff guibg=NONE
-hi Question gui=NONE guifg=#ffff60 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0
-hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0
-hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0
-hi WildMenu gui=NONE guifg=#000000 guibg=#00c8f0
-
-" Diff
-hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000
-hi DiffChange gui=NONE guifg=#ffffff guibg=#000000
-hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000
-hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#d86020
-hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0
-hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0
-
-" Fold
-hi Folded gui=NONE guifg=#ffffff guibg=#0088c0
-" hi Folded gui=NONE guifg=#ffffff guibg=#2080d0
-hi FoldColumn gui=NONE guifg=#60e0e0 guibg=#006c7f
-
-" Other
-hi Directory gui=NONE guifg=#00e0ff guibg=NONE
-hi LineNr gui=BOLD guifg=#669966 guibg=NONE
-hi NonText gui=BOLD guifg=#00c0c0 guibg=#9999CC
-hi SpecialKey gui=NONE guifg=#e0a0ff guibg=NONE
-hi Title gui=BOLD guifg=#003300 guibg=NONE
-hi Visual gui=NONE guifg=#000000 guibg=#6060d0
-
-" Syntax group
-hi Comment gui=NONE guifg=#996666 guibg=NONE
-hi Constant gui=NONE guifg=#990066 guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#ff40a0
-hi Identifier gui=NONE guifg=#669966 guibg=NONE
-hi Ignore gui=NONE guifg=#993300 guibg=NONE
-hi PreProc gui=NONE guifg=#009900 guibg=NONE
-hi Special gui=NONE guifg=#FF0000 guibg=NONE
-hi Statement gui=NONE guifg=#CC9900 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#993300 guibg=NONE
-hi Type gui=NONE guifg=#993300 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=#663300 guibg=NONE
-
diff --git a/.vim/colors/edo_sea.vim b/.vim/colors/edo_sea.vim
deleted file mode 100644
index f03300a..0000000
--- a/.vim/colors/edo_sea.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/30 Wed 00:01.
-" version: 1.0
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "Edo_sea"
-
-hi Normal guifg=#f0f0f8 guibg=#303060
-
-" Search
-hi IncSearch gui=UNDERLINE,BOLD guifg=#f0f0f0 guibg=#c030f0
-hi Search gui=BOLD guifg=#f0e0f0 guibg=#b020f0
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#f0f0f0 guibg=#f000a0
-hi WarningMsg gui=BOLD guifg=#f0f0f0 guibg=#f000a0
-hi ModeMsg gui=BOLD guifg=#00e0f0 guibg=NONE
-hi MoreMsg gui=BOLD guifg=#00f0f0 guibg=#6060f0
-hi Question gui=BOLD guifg=#00f0d0 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0
-hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0
-hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0
-hi WildMenu gui=NONE guifg=#000000 guibg=#f090f0
-
-" Diff
-hi DiffText gui=UNDERLINE guifg=#f0f000 guibg=#000000
-hi DiffChange gui=NONE guifg=#f0f0f0 guibg=#000000
-hi DiffDelete gui=NONE guifg=#60f060 guibg=#000000
-hi DiffAdd gui=NONE guifg=#60f060 guibg=#000000
-
-" Cursor
-hi Cursor gui=NONE guifg=#f0f0f0 guibg=#d86020
-hi lCursor gui=NONE guifg=#f0f0f0 guibg=#e000b0
-hi CursorIM gui=NONE guifg=#f0f0f0 guibg=#e000b0
-
-" Fold
-hi Folded gui=NONE guifg=#f0f0f0 guibg=#0080a0
-hi FoldColumn gui=NONE guifg=#9090f0 guibg=#3c3c88
-
-" Other
-hi Directory gui=NONE guifg=#00f0f0 guibg=NONE
-hi LineNr gui=NONE guifg=#7070e8 guibg=NONE
-hi NonText gui=BOLD guifg=#8080f0 guibg=NONE
-hi SpecialKey gui=BOLD guifg=#60c0f0 guibg=NONE
-hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE
-hi Visual gui=NONE guifg=#f0f0f0 guibg=#6060f0
-" hi VisualNOS gui=NONE guifg=#f0f0f0 guibg=#6060f0
-
-" Syntax group
-hi Comment gui=NONE guifg=#b0b0b8 guibg=#343478
-hi Constant gui=NONE guifg=#50f0d0 guibg=NONE
-hi Error gui=NONE guifg=#f0f0f0 guibg=#c03030
-hi Identifier gui=NONE guifg=#d0c0f0 guibg=NONE
-hi Ignore gui=NONE guifg=#303070 guibg=NONE
-hi PreProc gui=NONE guifg=#f0b0f0 guibg=NONE
-hi Special gui=NONE guifg=#d0f050 guibg=NONE
-hi Statement gui=NONE guifg=#f0d050 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#f070e0 guibg=NONE
-hi Type gui=NONE guifg=#40f080 guibg=NONE
-hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE
diff --git a/.vim/colors/emacs.vim b/.vim/colors/emacs.vim
deleted file mode 100644
index 21f22f7..0000000
--- a/.vim/colors/emacs.vim
+++ /dev/null
@@ -1,63 +0,0 @@
-" Vim color file
-" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
-" Last Change: 2001 Aug 16
-" Licence: Public Domain
-
-" This color scheme uses a White background. It's based on Bram's
-" morning theme, but doesn't try to work for non-GUI editing.
-"
-" It's supposed to look like the Emacs standard colors, at least
-" for C. But Emacs has different categories, so it's not very good.
-
-" First remove all existing highlighting.
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "emacs"
-
-hi Normal guifg=Black guibg=White
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg guibg=Red guifg=White
-hi IncSearch gui=reverse
-hi ModeMsg gui=bold
-hi StatusLine gui=reverse,bold
-hi StatusLineNC gui=reverse
-hi VertSplit gui=reverse
-hi Visual gui=reverse guifg=Grey guibg=fg
-hi VisualNOS gui=underline,bold
-hi DiffText gui=bold guibg=Red
-hi Cursor guibg=Black guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory guifg=Blue
-hi LineNr guifg=Brown
-hi MoreMsg gui=bold guifg=SeaGreen
-hi NonText gui=bold guifg=Blue guibg=grey90
-hi Question gui=bold guifg=SeaGreen
-hi Search guibg=Yellow guifg=NONE
-hi SpecialKey guifg=Blue
-hi Title gui=bold guifg=Magenta
-hi WarningMsg guifg=Red
-hi WildMenu guibg=Yellow guifg=Black
-hi Folded guibg=White guifg=DarkBlue
-hi FoldColumn guibg=Grey guifg=DarkBlue
-hi DiffAdd guibg=LightBlue
-hi DiffChange guibg=LightMagenta
-hi DiffDelete gui=bold guifg=Blue guibg=LightCyan
-
-" Colors for syntax highlighting
-hi Comment guifg=#AC2020 guibg=White
-hi Constant guifg=#C28F8F guibg=White
-hi PreProc guifg=#D569D5 guibg=White
-hi Statement gui=NONE guifg=#9C20EE guibg=White
-hi Type guifg=#9C20EE guibg=White
-hi Special guifg=SlateBlue guibg=White
-hi Ignore guifg=White
-
-" Some specials (override hilinks)
-
-
-" vim: sw=2
diff --git a/.vim/colors/fine_blue.vim b/.vim/colors/fine_blue.vim
deleted file mode 100644
index 89c280c..0000000
--- a/.vim/colors/fine_blue.vim
+++ /dev/null
@@ -1,71 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/30 Wed 00:12.
-" version: 1.7
-" This color scheme uses a light background.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "fine_blue"
-
-hi Normal guifg=#404048 guibg=#f8f8f8
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#404054 guibg=#40ffff
-hi Search gui=NONE guifg=#404054 guibg=#ffffa0
-
-" Messages
-hi ErrorMsg gui=NONE guifg=#ff0070 guibg=#ffe0f4
-hi WarningMsg gui=NONE guifg=#ff0070 guibg=#ffe0f4
-hi ModeMsg gui=NONE guifg=#0070ff guibg=NONE
-hi MoreMsg gui=NONE guifg=#a800ff guibg=NONE
-hi Question gui=NONE guifg=#008050 guibg=NONE
-
-" Split area
-hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#404054
-hi StatusLineNC gui=NONE guifg=#b8b8c0 guibg=#404054
-hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#404054
-hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#00aacc
-
-" Diff
-hi DiffText gui=NONE guifg=#4040ff guibg=#c0c0ff
-hi DiffChange gui=NONE guifg=#5050ff guibg=#e0e0ff
-hi DiffDelete gui=NONE guifg=#4040ff guibg=#c8f2ea
-hi DiffAdd gui=NONE guifg=#4040ff guibg=#c8f2ea
-
-" Cursor
-hi Cursor gui=NONE guifg=#0000ff guibg=#00e0ff
-hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff
-hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff
-
-" Fold
-hi Folded gui=NONE guifg=#7820ff guibg=#e0d8ff
-hi FoldColumn gui=NONE guifg=#aa60ff guibg=#f0f0f4
-" hi Folded gui=NONE guifg=#58587c guibg=#e0e0e8
-" hi FoldColumn gui=NONE guifg=#9090b0 guibg=#f0f0f4
-
-" Other
-hi Directory gui=NONE guifg=#0070b8 guibg=NONE
-hi LineNr gui=NONE guifg=#a0a0b0 guibg=NONE
-hi NonText gui=BOLD guifg=#4000ff guibg=#ececf0
-hi SpecialKey gui=NONE guifg=#d87000 guibg=NONE
-hi Title gui=NONE guifg=#004060 guibg=#c8f0f8
-hi Visual gui=NONE guifg=#404060 guibg=#dddde8
-" hi VisualNOS gui=NONE guifg=#404060 guibg=#dddde8
-
-" Syntax group
-hi Comment gui=NONE guifg=#ff00c0 guibg=NONE
-hi Constant gui=NONE guifg=#2020ff guibg=#e8e8ff
-hi Error gui=BOLD guifg=#ffffff guibg=#ff4080
-hi Identifier gui=NONE guifg=#c800ff guibg=NONE
-hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE
-hi PreProc gui=NONE guifg=#0070e6 guibg=NONE
-hi Special gui=NONE guifg=#005858 guibg=#ccf7ee
-hi Statement gui=NONE guifg=#008858 guibg=NONE
-hi Todo gui=NONE guifg=#ff0070 guibg=#ffe0f4
-hi Type gui=NONE guifg=#7040ff guibg=NONE
-hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE
diff --git a/.vim/colors/fnaqevan.vim b/.vim/colors/fnaqevan.vim
deleted file mode 100644
index d936cee..0000000
--- a/.vim/colors/fnaqevan.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-" Vim color file
-" Maintainer: Rafal Sulejman <rms@poczta.onet.pl>
-" Last Change: 2002.06.18
-"
-" This color scheme uses a black (dark) background.
-
-" First remove all existing highlighting.
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "fnaqevan"
-
-hi Normal guibg=#000000 guifg=#C0C0C0 gui=NONE
-
-" Main colors
-hi Constant guibg=#000000 guifg=#00B8E0 gui=NONE
-hi Identifier guibg=#000000 guifg=#FFA850 gui=NONE
-hi Special guibg=#000000 guifg=#B899C8 gui=NONE
-hi Statement guibg=#000000 guifg=#EEE840 gui=NONE
-hi Preproc guibg=#000000 guifg=#00B098 gui=NONE
-hi Type guibg=#000000 guifg=#40D040 gui=NONE
-
-" Secondary colors
-hi Comment guibg=#000000 guifg=#006699 gui=NONE
-hi Visual guibg=#005900 guifg=#40C940 gui=NONE
-hi VisualNOS guibg=#005900 guifg=#40C940 gui=NONE
-hi Search guibg=#707000 guifg=#FFFF00 gui=NONE
-hi IncSearch guibg=#D05000 guifg=#FFE000 gui=NONE
-
-" Special colors
-hi WarningMsg guibg=#707000 guifg=#FFFF00 gui=NONE
-hi MoreMsg guibg=#000070 guifg=#00B8E0 gui=NONE
-hi ErrorMsg guibg=#CC0000 guifg=#FFEE00 gui=NONE
-hi ModeMsg guibg=#000000 guifg=#E8E8E8 gui=NONE
-hi WildMenu guibg=#5f5f5f guifg=#FFEE60 gui=NONE
-hi StatusLine guibg=#1f1f1f guifg=#F0F0F0 gui=NONE
-hi StatusLineNC guibg=#0f0f0f guifg=#eaea3a gui=NONE
-hi VertSplit guibg=#1f1f1f guifg=#F0F0F0 gui=NONE
-hi Error guibg=#EE0000 guifg=#FFDD60 gui=NONE
-hi Todo guibg=#EEE000 guifg=#000000 gui=NONE
-hi Title guibg=#000000 guifg=#ffffff gui=NONE
-hi Question guibg=#005900 guifg=#40E840 gui=NONE
-hi LineNr guibg=#000000 guifg=#F0B0E0 gui=NONE
-hi Directory guibg=#000000 guifg=#D0D0D0 gui=NONE
-hi NonText guibg=#000000 guifg=#FFDDAA gui=NONE
-hi SpecialKey guibg=#000000 guifg=#FFFFFF gui=NONE
-
-" Diff colors
-hi DiffAdd guibg=#505050 guifg=#D0D0D0 gui=NONE
-hi DiffChange guibg=#505050 guifg=#D0D0D0 gui=NONE
-hi DiffDelete guibg=#505050 guifg=#D0D0D0 gui=NONE
-hi DiffText guibg=#707070 guifg=#F0F0F0 gui=NONE
-
-" Folding colors
-hi Folded guibg=#703070 guifg=#DDB8DD gui=NONE
-hi FoldColumn guibg=#C4153B guifg=#F0F0F0 gui=NONE
-
-" Cursor colors
-hi Cursor guibg=#FFFFFF guifg=#000000 gui=NONE
-hi icursor guibg=#FFEE00 guifg=#000000 gui=NONE
-hi ncursor guibg=#FFFFFF guifg=#000000 gui=NONE
-hi rcursor guibg=#00CCFF guifg=#000000 gui=NONE
-hi lcursor guibg=#40D040 guifg=#000000 gui=NONE
-
diff --git a/.vim/colors/fog.vim b/.vim/colors/fog.vim
deleted file mode 100644
index ab263ab..0000000
--- a/.vim/colors/fog.vim
+++ /dev/null
@@ -1,170 +0,0 @@
-" Vim color file
-" vim: tw=0 ts=4 sw=4
-" Maintainer: Thomas R. Kimpton <tomk@emcity.net>
-" Last Change: 2001 Nov 8
-" This color scheme is meant for the person that spends hours
-" and hours and hours and... in vim and wants some contrast to
-" help pick things out in the files they edit, but doesn't want
-" **C**O**N**T**R**A**S**T**!
-
-set background=light
-
-hi clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "fog"
-
-hi Normal ctermbg=White ctermfg=Black
-" 660066 = darkish purple
-hi Normal guifg=#660066 guibg=grey80
-
-hi NonText term=bold
-hi NonText ctermfg=LightBlue
-hi NonText gui=bold guifg=LightBlue guibg=grey80
-
-hi Comment ctermfg=DarkGrey ctermbg=White
-" 444499 = darkish blue grey
-hi Comment guifg=#444499
-
-hi Constant term=underline
-hi Constant ctermfg=Magenta
-hi Constant guifg=#7070a0
-
-hi Statement term=bold
-hi Statement cterm=bold ctermfg=DarkGreen ctermbg=White
-hi Statement guifg=DarkGreen gui=bold
-
-hi identifier ctermfg=DarkGreen
-hi identifier guifg=DarkGreen
-
-hi preproc ctermfg=DarkGreen
-hi preproc guifg=#408040
-
-hi type ctermfg=DarkBlue
-hi type guifg=DarkBlue
-
-hi label ctermfg=yellow
-hi label guifg=#c06000
-
-hi operator ctermfg=darkYellow
-hi operator guifg=DarkGreen gui=bold
-
-hi StorageClass ctermfg=DarkRed ctermbg=White
-hi StorageClass guifg=#a02060 gui=bold
-
-hi Number ctermfg=Blue ctermbg=White
-hi Number guifg=Blue
-
-hi Special term=bold
-hi Special ctermfg=LightRed
-hi Special guifg=#aa8822
-
-hi Cursor ctermbg=DarkMagenta
-hi Cursor guibg=#880088 guifg=LightGrey
-
-hi lCursor guibg=Cyan guifg=Black
-
-hi ErrorMsg term=standout
-hi ErrorMsg ctermbg=DarkRed ctermfg=White
-hi ErrorMsg guibg=DarkRed guifg=White
-
-hi DiffText term=reverse
-hi DiffText cterm=bold ctermbg=DarkRed
-hi DiffText gui=bold guibg=DarkRed
-
-hi Directory term=bold
-hi Directory ctermfg=LightRed
-hi Directory guifg=Red gui=underline
-
-hi LineNr term=underline
-hi LineNr ctermfg=Yellow
-hi LineNr guifg=#ccaa22
-
-hi MoreMsg term=bold
-hi MoreMsg ctermfg=LightGreen
-hi MoreMsg gui=bold guifg=SeaGreen
-
-hi Question term=standout
-hi Question ctermfg=LightGreen
-hi Question gui=bold guifg=DarkGreen
-
-hi Search term=reverse
-hi Search ctermbg=DarkYellow ctermfg=Black
-hi Search guibg=#887722 guifg=Black
-
-hi SpecialKey term=bold
-hi SpecialKey ctermfg=LightBlue
-hi SpecialKey guifg=Blue
-
-hi SpecialChar ctermfg=DarkGrey ctermbg=White
-hi SpecialChar guifg=DarkGrey gui=bold
-
-hi Title term=bold
-hi Title ctermfg=LightMagenta
-hi Title gui=underline guifg=DarkMagenta
-
-hi WarningMsg term=standout
-hi WarningMsg ctermfg=LightRed
-hi WarningMsg guifg=DarkBlue guibg=#9999cc
-
-hi WildMenu term=standout
-hi WildMenu ctermbg=Yellow ctermfg=Black
-hi WildMenu guibg=Yellow guifg=Black gui=underline
-
-hi Folded term=standout
-hi Folded ctermbg=LightGrey ctermfg=DarkBlue
-hi Folded guibg=LightGrey guifg=DarkBlue
-
-hi FoldColumn term=standout
-hi FoldColumn ctermbg=LightGrey ctermfg=DarkBlue
-hi FoldColumn guibg=Grey guifg=DarkBlue
-
-hi DiffAdd term=bold
-hi DiffAdd ctermbg=DarkBlue
-hi DiffAdd guibg=DarkBlue
-
-hi DiffChange term=bold
-hi DiffChange ctermbg=DarkMagenta
-hi DiffChange guibg=DarkMagenta
-
-hi DiffDelete term=bold
-hi DiffDelete ctermfg=Blue ctermbg=DarkCyan
-hi DiffDelete gui=bold guifg=Blue guibg=DarkCyan
-
-hi Ignore ctermfg=LightGrey
-hi Ignore guifg=grey90
-
-hi IncSearch term=reverse
-hi IncSearch cterm=reverse
-hi IncSearch gui=reverse
-
-hi ModeMsg term=bold
-hi ModeMsg cterm=bold
-hi ModeMsg gui=bold
-
-hi StatusLine term=reverse,bold
-hi StatusLine cterm=reverse,bold
-hi StatusLine gui=reverse,bold
-
-hi StatusLineNC term=reverse
-hi StatusLineNC cterm=reverse
-hi StatusLineNC gui=reverse
-
-hi VertSplit term=reverse
-hi VertSplit cterm=reverse
-hi VertSplit gui=reverse
-
-hi Visual term=reverse
-hi Visual cterm=reverse
-hi Visual gui=reverse guifg=DarkGrey guibg=fg
-
-hi VisualNOS term=underline,bold
-hi VisualNOS cterm=underline,bold
-hi VisualNOS gui=underline,bold
-
-hi Todo gui=reverse
-
-" vim: sw=2
diff --git a/.vim/colors/fruit.vim b/.vim/colors/fruit.vim
deleted file mode 100644
index 624b90f..0000000
--- a/.vim/colors/fruit.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/08/28 Wed 00:28.
-" version: 1.3
-" This color scheme uses a light background.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "fruit"
-
-hi Normal guifg=#404040 guibg=#f8f8f8
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#40ffff
-hi Search gui=NONE guifg=#404040 guibg=#ffff60
-
-" Messages
-hi ErrorMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4
-hi WarningMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4
-hi ModeMsg gui=NONE guifg=#ff4080 guibg=NONE
-hi MoreMsg gui=NONE guifg=#009070 guibg=NONE
-hi Question gui=NONE guifg=#f030d0 guibg=NONE
-
-" Split area
-hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#404040
-hi StatusLineNC gui=NONE guifg=#a4a4a4 guibg=#404040
-hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#404040
-hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff4080
-
-" Diff
-hi DiffText gui=NONE guifg=#e04040 guibg=#ffd8d8
-hi DiffChange gui=NONE guifg=#408040 guibg=#d0f0d0
-hi DiffDelete gui=NONE guifg=#4848ff guibg=#ffd0ff
-hi DiffAdd gui=NONE guifg=#4848ff guibg=#ffd0ff
-
-" Cursor
-hi Cursor gui=NONE guifg=#0000ff guibg=#00e0ff
-hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff
-hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff
-
-" Fold
-hi Folded gui=NONE guifg=#20605c guibg=#b8e8dc
-hi FoldColumn gui=NONE guifg=#40a098 guibg=#f0f0f0
-
-" Other
-hi Directory gui=NONE guifg=#0070b8 guibg=NONE
-hi LineNr gui=NONE guifg=#acacac guibg=NONE
-hi NonText gui=BOLD guifg=#00a0c0 guibg=#ececec
-hi SpecialKey gui=NONE guifg=#4040ff guibg=NONE
-hi Title gui=NONE guifg=#0050a0 guibg=#c0e8ff
-hi Visual gui=NONE guifg=#484848 guibg=#e0e0e0
-" hi VisualNOS gui=NONE guifg=#484848 guibg=#e0e0e0
-
-" Syntax group
-hi Comment gui=NONE guifg=#ff4080 guibg=NONE
-hi Constant gui=NONE guifg=#8016ff guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#ff4080
-hi Identifier gui=NONE guifg=#008888 guibg=NONE
-hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE
-hi PreProc gui=NONE guifg=#e06800 guibg=NONE
-hi Special gui=NONE guifg=#4a9400 guibg=NONE
-hi Statement gui=NONE guifg=#f030d0 guibg=NONE
-hi Todo gui=UNDERLINE guifg=#ff0070 guibg=#ffe0f4
-hi Type gui=NONE guifg=#0070e6 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=fg guibg=NONE
diff --git a/.vim/colors/gobo.vim b/.vim/colors/gobo.vim
deleted file mode 100644
index 13a8cf5..0000000
--- a/.vim/colors/gobo.vim
+++ /dev/null
@@ -1,27 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-"
-" Created using ColorSchemeCreator
-" by Otávio Corrêa Cordeiro (cordeiro@exatas.unisinos.br) (2004 July)
-"
-" Maintainer: Otávio Corrêa Cordeiro
-" Last Change: 2004 July
-
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "ColorSchemeCreator"
-hi Normal guifg=#111111 guibg=#FFFFFF
-hi comment guifg=#33CC99 gui=italic
-hi constant guifg=#CC0099 gui=bold
-hi statement guifg=#3399FF gui=bold
-hi preproc guifg=#0066FF
-hi type guifg=#6600CC gui=bold
-hi special guifg=#6600CC
-hi operator guifg=#CC0099
-hi clear Visual
-hi Visual term=reverse cterm=reverse gui=reverse
diff --git a/.vim/colors/golden.vim b/.vim/colors/golden.vim
deleted file mode 100644
index 8cceaf7..0000000
--- a/.vim/colors/golden.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-"
-" Creator: Ryan Phillips <ryan@trolocsis.com>
-" Credits: This color scheme originated from the idea of
-" Jeffrey Bakker, the creator of webcpp (http://webcpp.sourceforge.net/).
-" URL: http://www.trolocsis.com/vim/golden.vim
-"
-
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "golden"
-hi Normal ctermfg=yellow guifg=#ddbb00 guibg=black
-hi Scrollbar ctermfg=Yellow guifg=#ddbb00 guibg=black
-hi Menu ctermfg=darkyellow guifg=#ffddaa guibg=black
-hi SpecialKey ctermfg=yellow term=bold cterm=bold guifg=#ffddaa
-hi NonText ctermfg=LightBlue term=bold cterm=bold gui=bold guifg=#DBCA98
-hi Directory ctermfg=DarkYellow term=bold cterm=bold guifg=#ffddaa
-hi ErrorMsg term=standout cterm=bold ctermfg=White ctermbg=Red guifg=White guibg=Red
-hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red
-hi MoreMsg term=bold cterm=bold ctermfg=Yellow gui=bold guifg=#ddbb00
-hi ModeMsg term=bold ctermfg=DarkYellow cterm=bold gui=bold guifg=Black guibg=#ddbb00
-hi LineNr term=underline ctermfg=Brown cterm=bold guifg=#978345
-hi Question term=standout cterm=bold ctermfg=Brown gui=bold guifg=#ffddaa
-hi StatusLine term=bold,reverse cterm=bold ctermfg=Black ctermbg=DarkGrey gui=bold guifg=#978345 guibg=#2E2E2E
-hi StatusLineNC term=reverse ctermfg=white ctermbg=black guifg=grey guibg=#3E3E3E
-hi Title term=bold cterm=bold ctermfg=brown gui=bold guifg=#DBCA98
-hi Visual term=reverse cterm=reverse gui=reverse
-hi WarningMsg term=standout cterm=bold ctermfg=darkblue guifg=Red
-hi Cursor guifg=bg guibg=#FF5E06 ctermbg=Brown
-hi Comment term=bold cterm=bold ctermfg=brown guifg=#978345
-hi Constant term=underline cterm=bold ctermfg=red guifg=Red
-hi Special term=bold cterm=bold ctermfg=red guifg=Orange
-hi Identifier term=underline ctermfg=lightgray guifg=#DBCA98
-hi Statement term=bold cterm=bold ctermfg=lightgreen gui=bold guifg=#ffff60
-hi PreProc term=underline ctermfg=brown guifg=#ffddaa
-hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#FFE13F
-hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black
-hi Todo term=standout ctermfg=black ctermbg=yellow guifg=#FFE13F guibg=#2E2E2E
-hi VertSplit guifg=#2E2E2E guibg=#978345 ctermfg=black ctermbg=darkgrey
-hi Folded guifg=orange guibg=#2E2E2E ctermfg=yellow
-
-hi link IncSearch Visual
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
diff --git a/.vim/colors/gor.vim b/.vim/colors/gor.vim
deleted file mode 100644
index b0584a1..0000000
--- a/.vim/colors/gor.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Jokes
-" Last Change:
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "gor"
-hi Normal guifg=white guibg=#005856
-hi NonText guifg=white guibg=#005856
-hi comment guifg=darkgrey
-hi constant guifg=orange
-hi identifier guifg=orange gui=NONE
-hi statement guifg=cyan gui=NONE
-"hi preproc guifg=#6063CD
-hi preproc guifg=cyan
-hi type guifg=green gui=NONE
-hi special guifg=yellow
-hi ErrorMsg guifg=Black guibg=Red
-hi WarningMsg guifg=Black guibg=Green
-hi Error guibg=Red
-hi Todo guifg=Black guibg=orange
-hi Cursor guibg=#ffffff guifg=#004f50
-"hi Cursor guibg=#603070 guifg=#0000ff
-hi Folded guifg=#999999 guibg=#006336
-hi Search guibg=orange
-hi IncSearch gui=NONE guibg=orange
-hi LineNr guifg=grey
-hi title guifg=grey
-"hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
-hi StatusLineNC gui=NONE guibg=red
-hi StatusLine guifg=black guibg=darkgreen
-hi label guifg=gold2
-hi operator guifg=orange
-hi clear Visual
-hi Visual guibg=orange guifg=#00932D
-hi DiffChange guibg=darkgreen
-hi DiffText guibg=olivedrab
-hi DiffAdd guibg=slateblue
-hi DiffDelete guibg=coral
-hi Folded guibg=gray30
-hi FoldColumn guibg=gray30 guifg=white
-hi cIf0 guifg=gray
diff --git a/.vim/colors/gothic.vim b/.vim/colors/gothic.vim
deleted file mode 100644
index a637914..0000000
--- a/.vim/colors/gothic.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" Vim color file
-" Maintainer: Stefano deFlorian - \Goth\ <stefano@junglebit.net>
-" Last Change: 2003 Dec 9
-" Light - Dark :-)
-" optimized for TFT panels
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-"colorscheme default
-let g:colors_name = "gothic"
-
-" hardcoded colors :
-
-" GUI
-highlight Normal guifg=#efefef guibg=#000000
-highlight Cursor guifg=#000000 guibg=#efefef gui=NONE
-highlight Search guifg=#ffff60 guibg=#0000ff gui=NONE
-highlight Visual guifg=Grey25 gui=NONE
-highlight Special guifg=Orange
-highlight Comment guifg=#3030ff
-highlight StatusLine guifg=blue guibg=white
-highlight Statement guifg=#ffff60 gui=NONE
-highlight PreProc guifg=#a0e0a0
-highlight Identifier guifg=#00ffff
-highlight Constant guifg=#a0a0a0
-highlight Type guifg=#a0a0ff gui=NONE
-
-" Console
-highlight Normal ctermfg=LightGrey ctermbg=Black
-highlight Cursor ctermfg=Black ctermbg=LightGrey cterm=NONE
-highlight Search ctermfg=Yellow ctermbg=Blue cterm=NONE
-highlight Visual cterm=reverse
-highlight Special ctermfg=Brown
-highlight Comment ctermfg=Blue
-highlight StatusLine ctermfg=blue ctermbg=white
-highlight Identifier ctermfg=Cyan
-highlight Statement ctermfg=Yellow cterm=NONE
-highlight Constant ctermfg=Grey cterm=NONE
-highlight Type ctermfg=LightBlue cterm=NONE
diff --git a/.vim/colors/greyblue.vim b/.vim/colors/greyblue.vim
deleted file mode 100644
index 1b3c233..0000000
--- a/.vim/colors/greyblue.vim
+++ /dev/null
@@ -1,75 +0,0 @@
-" Vim color file
-"
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "greyblue"
-
-hi Normal ctermfg=NONE ctermbg=NONE gui=NONE guifg=#b7af9f guibg=#090909
-
-" Search
-hi IncSearch ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7800ff guibg=#e0d8ff
-hi Search ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7800ff guibg=#e0d8ff
-
-" Messages
-hi ErrorMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE
-hi WarningMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE
-hi ModeMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE
-hi MoreMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE
-hi Question ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE
-
-" Split area
-hi StatusLine ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#070707 guibg=#cfcfbf
-hi StatusLineNC ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#5f5f4f guibg=#cfcfbf
-hi VertSplit ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#cfcfbf
-hi WildMenu ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#070707 guibg=#ff5533
-
-" Diff
-hi DiffText ctermfg=NONE ctermbg=NONE gui=NONE guifg=#07cfef guibg=#00151f
-hi DiffChange ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ff97ff guibg=#2f002f
-hi DiffDelete ctermfg=NONE ctermbg=NONE gui=NONE guifg=#dfdf00 guibg=#370d15
-hi DiffAdd ctermfg=NONE ctermbg=NONE gui=NONE guifg=#dfdf00 guibg=#370d15
-
-" Cursor
-hi Cursor ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffff00 guibg=#7fff00
-hi lCursor ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#7fff00
-hi CursorIM ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#7fff00
-
-" Fold
-hi Folded ctermfg=NONE ctermbg=NONE gui=NONE guifg=#87ff00 guibg=#1f2700
-hi FoldColumn ctermfg=NONE ctermbg=NONE gui=NONE guifg=#559f00 guibg=#0f0f0b
-
-" Other
-hi Directory ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aaaaba guibg=NONE
-hi LineNr ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7f7f5f guibg=NONE
-hi NonText ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#211d1a guibg=#211d1a
-hi SpecialKey ctermfg=NONE ctermbg=NONE gui=NONE guifg=#378fff guibg=NONE
-hi Title ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffbf9f guibg=#370f07
-hi Visual ctermfg=NONE ctermbg=NONE gui=reverse guifg=#a5a5a5 guibg=#353535
-
-" Syntax group
-hi Comment ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#555565 guibg=NONE
-hi Constant ctermfg=NONE ctermbg=NONE gui=NONE guifg=#d1bfb1 guibg=#151515
-hi Error ctermfg=NONE ctermbg=NONE gui=NONE guifg=#00ffff guibg=NONE
-hi Identifier ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aaaaba guibg=NONE
-hi Ignore ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE
-hi PreProc ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE
-hi Special ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aa1565 guibg=NONE
-hi Statement ctermfg=NONE ctermbg=NONE gui=bold guifg=#d1bfb1 guibg=NONE
-hi Todo ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE
-hi Type ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#d1bfb1 guibg=NONE
-hi Underlined ctermfg=NONE ctermbg=NONE gui=UNDERLINE guifg=NONE guibg=NONE
-
-" HTML
-hi htmlLink gui=UNDERLINE guifg=#ffff00 guibg=NONE
-hi htmlBold gui=BOLD
-hi htmlBoldItalic gui=BOLD,ITALIC
-hi htmlBoldUnderline gui=BOLD,UNDERLINE
-hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC
-hi htmlItalic gui=ITALIC
-hi htmlUnderline gui=UNDERLINE
-hi htmlUnderlineItalic gui=UNDERLINE,ITALIC
diff --git a/.vim/colors/hhazure.vim b/.vim/colors/hhazure.vim
deleted file mode 100644
index 9dfed35..0000000
--- a/.vim/colors/hhazure.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi VertSplit gui=underline guifg=bg guibg=#051525
-hi StatusLine gui=underline guifg=fg guibg=#051525
-hi StatusLineNC gui=underline guifg=#2c3c45 guibg=#051525
-hi LineNr gui=underline guifg=#54657d guibg=#051525
-hi Folded gui=none guifg=#54657d guibg=bg
-hi FoldColumn gui=none guifg=#54657d guibg=bg
-" title
-hi Title gui=underline guifg=fg guibg=#34455d
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#329858
-hi Question gui=underline guifg=bg guibg=#329858
-
-hi Normal gui=none guifg=#7990a4 guibg=#152535
-hi NonText gui=underline guifg=#1d2d30
-hi NonText guibg=#1d2d30
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#99ccb5
-hi Cursor gui=underline guifg=bg guibg=#99ccb5
-hi IncSearch gui=underline guifg=bg guibg=#99ccb5
-hi CursorIM gui=underline guifg=fg guibg=#006188
-hi Search gui=underline guifg=bg guibg=#33669a
-hi Visual gui=underline guifg=bg guibg=#667888
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#8cdd66
-hi WarningMsg gui=underline guifg=bg guibg=#66cc6a
-hi ModeMsg gui=underline guifg=bg guibg=#339599
-
-
-" inner {{{1
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#66cc6a
-hi Error gui=underline guifg=fg guibg=#884422
-hi Special gui=none guifg=#66bbb6 guibg=bg
-hi SpecialKey gui=none guifg=#6695cc guibg=bg
-hi Identifier gui=none guifg=#69be97 guibg=bg
-hi Constant gui=none guifg=#22887b guibg=bg
-hi Statement gui=none guifg=#74aa66 guibg=bg
-hi Comment gui=none guifg=#006188 guibg=bg
-hi Underlined gui=underline guifg=#826699 guibg=bg
-hi Directory gui=none guifg=#447760 guibg=bg
-hi PreProc gui=none guifg=#557767 guibg=bg
-hi Type gui=none guifg=#429999 guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#99ffd0
-hi DiffChange gui=underline guifg=bg guibg=#55aa83
-hi DiffDelete gui=none guifg=bg guibg=#22a5aa
-hi DiffAdd gui=underline guifg=bg guibg=#2ccc22
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#6696aa guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#74aa66
-hi htmlBoldUnderline gui=underline guifg=#74aa66 guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#44ccc0
-hi htmlUnderlineItalic gui=underline guifg=#44ccc0 guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#33aa40
-hi htmlBoldUnderlineItalic gui=underline guifg=#33aa40 guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdblue.vim b/.vim/colors/hhdblue.vim
deleted file mode 100644
index ebea8ba..0000000
--- a/.vim/colors/hhdblue.vim
+++ /dev/null
@@ -1,233 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:08.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkblue guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkblue ctermbg=black
-hi Folded gui=NONE guifg=blue guibg=black
-hi Folded cterm=NONE ctermfg=blue ctermbg=black
-hi FoldColumn gui=NONE guifg=blue guibg=black
-hi FoldColumn cterm=NONE ctermfg=blue ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=blue
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=blue
-hi LineNr gui=UNDERLINE guifg=black guibg=lightblue
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi VertSplit gui=NONE guifg=darkblue guibg=darkblue
-hi VertSplit cterm=NONE ctermfg=darkblue ctermbg=darkblue
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkblue
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkblue
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=blue
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=blue
-hi Question gui=UNDERLINE guifg=black guibg=blue
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=blue
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdblue", "linenr", "light")
-call s:SetOpt("cterm", "hhdblue", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightblue
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkblue
-else
- hi LineNr gui=NONE guifg=lightblue guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkblue
-else
- hi LineNr cterm=NONE ctermfg=lightblue ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdblue", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdblue", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkblue guibg=black
-else
- hi NonText gui=NONE guifg=darkblue guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkblue ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkblue ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkblue
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdcyan.vim b/.vim/colors/hhdcyan.vim
deleted file mode 100644
index be41f2f..0000000
--- a/.vim/colors/hhdcyan.vim
+++ /dev/null
@@ -1,233 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:10.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkcyan guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkcyan ctermbg=black
-hi Folded gui=NONE guifg=darkcyan guibg=black
-hi Folded cterm=NONE ctermfg=darkcyan ctermbg=black
-hi FoldColumn gui=NONE guifg=darkcyan guibg=black
-hi FoldColumn cterm=NONE ctermfg=darkcyan ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkcyan
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkcyan
-hi LineNr gui=UNDERLINE guifg=black guibg=lightcyan
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightcyan
-hi VertSplit gui=NONE guifg=darkcyan guibg=darkcyan
-hi VertSplit cterm=NONE ctermfg=darkcyan ctermbg=darkcyan
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkcyan
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkcyan
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkcyan
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkcyan
-hi Question gui=UNDERLINE guifg=black guibg=darkcyan
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkcyan
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdcyan", "linenr", "light")
-call s:SetOpt("cterm", "hhdcyan", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightcyan
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkcyan
-else
- hi LineNr gui=NONE guifg=lightcyan guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightcyan
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkcyan
-else
- hi LineNr cterm=NONE ctermfg=lightcyan ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdcyan", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdcyan", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkcyan guibg=black
-else
- hi NonText gui=NONE guifg=darkcyan guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkcyan ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkcyan ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkcyan
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdgray.vim b/.vim/colors/hhdgray.vim
deleted file mode 100644
index 39249fc..0000000
--- a/.vim/colors/hhdgray.vim
+++ /dev/null
@@ -1,233 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:11.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkgray guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkgray ctermbg=black
-hi Folded gui=NONE guifg=darkgray guibg=black
-hi Folded cterm=NONE ctermfg=darkgray ctermbg=black
-hi FoldColumn gui=NONE guifg=darkgray guibg=black
-hi FoldColumn cterm=NONE ctermfg=darkgray ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkgray
-hi StatusLineNC cterm=UNDERLINE ctermfg=black ctermbg=darkgray
-hi LineNr gui=UNDERLINE guifg=black guibg=lightgray
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi VertSplit gui=NONE guifg=darkgray guibg=darkgray
-hi VertSplit cterm=NONE ctermfg=darkgray ctermbg=darkgray
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkgray
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkgray
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkgray
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkgray
-hi Question gui=UNDERLINE guifg=black guibg=darkgray
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkgray
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdgray", "linenr", "light")
-call s:SetOpt("cterm", "hhdgray", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightgray
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkgray
-else
- hi LineNr gui=NONE guifg=lightgray guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkgray
-else
- hi LineNr cterm=NONE ctermfg=lightgray ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdgray", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdgray", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkgray guibg=black
-else
- hi NonText gui=NONE guifg=darkgray guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkgray ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkgray ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkgray
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdgreen.vim b/.vim/colors/hhdgreen.vim
deleted file mode 100644
index f64cfc1..0000000
--- a/.vim/colors/hhdgreen.vim
+++ /dev/null
@@ -1,233 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:11.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkgreen guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkgreen ctermbg=black
-hi Folded gui=NONE guifg=darkgreen guibg=black
-hi Folded cterm=NONE ctermfg=darkgreen ctermbg=black
-hi FoldColumn gui=NONE guifg=darkgreen guibg=black
-hi FoldColumn cterm=NONE ctermfg=darkgreen ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkgreen
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkgreen
-hi LineNr gui=UNDERLINE guifg=black guibg=lightgreen
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi VertSplit gui=NONE guifg=darkgreen guibg=darkgreen
-hi VertSplit cterm=NONE ctermfg=darkgreen ctermbg=darkgreen
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkgreen
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkgreen
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkgreen
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkgreen
-hi Question gui=UNDERLINE guifg=black guibg=darkgreen
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkgreen
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdgreen", "linenr", "light")
-call s:SetOpt("cterm", "hhdgreen", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightgreen
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkgreen
-else
- hi LineNr gui=NONE guifg=lightgreen guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkgreen
-else
- hi LineNr cterm=NONE ctermfg=lightgreen ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdgreen", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdgreen", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkgreen guibg=black
-else
- hi NonText gui=NONE guifg=darkgreen guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkgreen ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkgreen ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkgreen
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdmagenta.vim b/.vim/colors/hhdmagenta.vim
deleted file mode 100644
index ef91091..0000000
--- a/.vim/colors/hhdmagenta.vim
+++ /dev/null
@@ -1,233 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:12.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkmagenta guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkmagenta ctermbg=black
-hi Folded gui=NONE guifg=darkmagenta guibg=black
-hi Folded cterm=NONE ctermfg=darkmagenta ctermbg=black
-hi FoldColumn gui=NONE guifg=darkmagenta guibg=black
-hi FoldColumn cterm=NONE ctermfg=darkmagenta ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkmagenta
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkmagenta
-hi LineNr gui=UNDERLINE guifg=black guibg=lightmagenta
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightmagenta
-hi VertSplit gui=NONE guifg=darkmagenta guibg=darkmagenta
-hi VertSplit cterm=NONE ctermfg=darkmagenta ctermbg=darkmagenta
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkmagenta
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkmagenta
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkmagenta
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta
-hi Question gui=UNDERLINE guifg=black guibg=darkmagenta
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdmagenta", "linenr", "light")
-call s:SetOpt("cterm", "hhdmagenta", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightmagenta
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkmagenta
-else
- hi LineNr gui=NONE guifg=lightmagenta guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightmagenta
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta
-else
- hi LineNr cterm=NONE ctermfg=lightmagenta ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdmagenta", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdmagenta", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkmagenta guibg=black
-else
- hi NonText gui=NONE guifg=darkmagenta guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkmagenta ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkmagenta ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkmagenta
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdred.vim b/.vim/colors/hhdred.vim
deleted file mode 100644
index a8f41a3..0000000
--- a/.vim/colors/hhdred.vim
+++ /dev/null
@@ -1,234 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:14.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkred guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkred ctermbg=black
-hi Folded gui=NONE guifg=brown guibg=black
-hi Folded cterm=NONE ctermfg=brown ctermbg=black
-hi FoldColumn gui=NONE guifg=brown guibg=black
-hi FoldColumn cterm=NONE ctermfg=brown ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkred
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkred
-hi LineNr gui=UNDERLINE guifg=black guibg=lightred
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi VertSplit gui=NONE guifg=darkred guibg=darkred
-hi VertSplit cterm=NONE ctermfg=darkred ctermbg=darkred
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkred
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkred
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkred
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkred
-hi Question gui=UNDERLINE guifg=black guibg=darkred
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkred
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdred", "linenr", "light")
-call s:SetOpt("cterm", "hhdred", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightred
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkred
-else
- hi LineNr gui=NONE guifg=lightred guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightred
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkred
-else
- hi LineNr cterm=NONE ctermfg=lightred ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdred", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdred", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkred guibg=black
-else
- hi NonText gui=NONE guifg=darkred guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkred ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkred ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 brown
-" 4 cyan
-" 5 darkred
-" 6 gray
-" 7 green
-" 8 lightblue
-" 9 lightcyan
-" 10 lightgray
-" 11 lightgreen
-" 12 lightmagenta
-" 13 lightred
-" 14 lightyellow
-" 15 red
-" 16 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhdyellow.vim b/.vim/colors/hhdyellow.vim
deleted file mode 100644
index d8d1b33..0000000
--- a/.vim/colors/hhdyellow.vim
+++ /dev/null
@@ -1,235 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/08 (Sat) 15:09:19.
-" Version: 1.3
-" This color scheme uses a dark background.
-
-" Options
-" format:
-" hhcs_<gui|cterm|both>_<theme|all>_<target>="value"
-" target:
-" linenr
-" "light" : underline, fg=black, bg=light<theme>
-" "dark" : underline, fg=black, bg=dark<theme>
-" "normal" : none, fg=light<theme>, bg=black
-" nontext
-" "underlined" : underline, fg=dark<theme>, bg=black
-" "normal" : none, fg=dark<theme>, bg=black
-"
-" This is original settings.
-" :let hhcs_both_all_linenr ="light"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" This is prototype settings.
-" :let hhcs_both_all_linenr ="dark"
-" :let hhcs_both_all_nontext ="underlined"
-"
-" If you don't want to eccentric feature, try this.
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-"
-" Normal, except hhdgray(gui), hhdgreen(cterm).
-" :let hhcs_both_all_linenr ="normal"
-" :let hhcs_both_all_nontext ="normal"
-" :let hhcs_gui_hhdgray_linenr ="light"
-" :let hhcs_gui_hhdgray_nontext ="underlined"
-" :let hhcs_cterm_hhdgreen_linenr ="dark"
-" :let hhcs_cterm_hhdgreen_nontext ="underlined"
-"
-" For poor cterm
-" :let hhcs_cterm_all_linenr ="normal"
-
-" Happy Hacking color scheme ((DARK)) {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi NonText gui=UNDERLINE guifg=darkyellow guibg=black
-hi NonText cterm=UNDERLINE ctermfg=darkyellow ctermbg=black
-hi Folded gui=NONE guifg=darkyellow guibg=black
-hi Folded cterm=NONE ctermfg=darkyellow ctermbg=black
-hi FoldColumn gui=NONE guifg=darkyellow guibg=black
-hi FoldColumn cterm=NONE ctermfg=darkyellow ctermbg=black
-hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkyellow
-hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkyellow
-hi LineNr gui=NONE guifg=lightyellow guibg=black
-hi LineNr cterm=NONE ctermfg=lightyellow ctermbg=black
-hi LineNr gui=UNDERLINE guifg=black guibg=lightyellow
-hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightyellow
-hi VertSplit gui=NONE guifg=darkyellow guibg=darkyellow
-hi VertSplit cterm=NONE ctermfg=darkyellow ctermbg=darkyellow
-" title
-hi Title gui=UNDERLINE guifg=lightgray guibg=darkyellow
-hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkyellow
-" message
-hi MoreMsg gui=UNDERLINE guifg=black guibg=darkyellow
-hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkyellow
-hi Question gui=UNDERLINE guifg=black guibg=darkyellow
-hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkyellow
-
-
-" cursor {{{1
-hi StatusLine gui=UNDERLINE guifg=black guibg=gray
-hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray
-hi WildMenu gui=UNDERLINE guifg=black guibg=green
-hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Cursor gui=UNDERLINE guifg=black guibg=green
-hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green
-hi IncSearch gui=UNDERLINE guifg=black guibg=green
-hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green
-hi CursorIM gui=UNDERLINE guifg=black guibg=green
-hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green
-hi Search gui=UNDERLINE guifg=black guibg=yellow
-hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi Visual gui=UNDERLINE guifg=black guibg=gray
-hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray
-
-
-" message {{{1
-hi ErrorMsg gui=UNDERLINE guifg=black guibg=red
-hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red
-hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow
-hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow
-hi ModeMsg gui=UNDERLINE guifg=black guibg=green
-hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green
-
-
-" inner {{{1
-hi Normal gui=NONE guifg=lightgray guibg=black
-hi Normal cterm=NONE ctermfg=lightgray ctermbg=black
-hi Ignore gui=NONE guifg=black guibg=black
-hi Ignore cterm=NONE ctermfg=black ctermbg=black
-hi Todo gui=UNDERLINE guifg=black guibg=red
-hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red
-hi Error gui=UNDERLINE guifg=lightgray guibg=red
-hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red
-hi Special gui=NONE guifg=lightcyan guibg=black
-hi Special cterm=NONE ctermfg=lightcyan ctermbg=black
-hi SpecialKey gui=NONE guifg=cyan guibg=black
-hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black
-hi Identifier gui=NONE guifg=cyan guibg=black
-hi Identifier cterm=NONE ctermfg=cyan ctermbg=black
-hi Constant gui=NONE guifg=lightred guibg=black
-hi Constant cterm=NONE ctermfg=lightred ctermbg=black
-hi Statement gui=NONE guifg=lightyellow guibg=black
-hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black
-hi Comment gui=NONE guifg=lightblue guibg=black
-hi Comment cterm=NONE ctermfg=lightblue ctermbg=black
-hi Underlined gui=UNDERLINE guifg=lightblue guibg=black
-hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi Directory gui=NONE guifg=lightgreen guibg=black
-hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black
-hi PreProc gui=NONE guifg=lightmagenta guibg=black
-hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black
-hi Type gui=NONE guifg=lightgreen guibg=black
-hi Type cterm=NONE ctermfg=lightgreen ctermbg=black
-
-
-" option {{{1
-function! s:SetOpt(term, theme, target, default)
- let s:opt_{a:term}_{a:target}
- \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target)
- \ ? g:hhcs_{a:term}_{a:theme}_{a:target}
- \ : exists("g:hhcs_".a:term."_all_".a:target)
- \ ? g:hhcs_{a:term}_all_{a:target}
- \ : exists("g:hhcs_both_all_".a:target)
- \ ? g:hhcs_both_all_{a:target}
- \ : a:default
-endfunction
-
-
-" LineNr {{{2
-" light, dark, normal
-call s:SetOpt( "gui", "hhdyellow", "linenr", "light")
-call s:SetOpt("cterm", "hhdyellow", "linenr", "light")
-"echo "s:opt_gui_linenr=".s:opt_gui_linenr
-if s:opt_gui_linenr == "light"
- hi LineNr gui=UNDERLINE guifg=black guibg=lightyellow
-elseif s:opt_gui_linenr == "dark"
- hi LineNr gui=UNDERLINE guifg=black guibg=darkyellow
-else
- hi LineNr gui=NONE guifg=lightyellow guibg=black
-endif
-"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr
-if s:opt_cterm_linenr == "light"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightyellow
-elseif s:opt_gui_linenr == "dark"
- hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkyellow
-else
- hi LineNr cterm=NONE ctermfg=lightyellow ctermbg=black
-endif
-
-
-" NonText {{{2
-" underlined, normal
-call s:SetOpt( "gui", "hhdyellow", "nontext", "underlined")
-call s:SetOpt("cterm", "hhdyellow", "nontext", "underlined")
-"echo "s:opt_gui_nontext=".s:opt_gui_nontext
-if s:opt_gui_nontext == "underlined"
- hi NonText gui=UNDERLINE guifg=darkyellow guibg=black
-else
- hi NonText gui=NONE guifg=darkyellow guibg=black
-endif
-"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext
-if s:opt_cterm_nontext == "underlined"
- hi NonText cterm=UNDERLINE ctermfg=darkyellow ctermbg=black
-else
- hi NonText cterm=NONE ctermfg=darkyellow ctermbg=black
-endif
-
-
-" 2}}}
-" diff {{{1
-hi DiffText gui=UNDERLINE guifg=black guibg=red
-hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red
-hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray
-hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray
-hi DiffDelete gui=NONE guifg=black guibg=blue
-hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue
-hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan
-hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan
-
-
-" html {{{1
-hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-hi htmlBold gui=UNDERLINE guifg=black guibg=lightred
-hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred
-hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen
-hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen
-hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue
-hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue
-hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black
-hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black
-hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black
-hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black
-hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black
-hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black
-hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black
-hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black
-
-
-" colors{{{1
-" 1 black
-" 2 blue
-" 3 cyan
-" 4 darkyellow
-" 5 gray
-" 6 green
-" 7 lightblue
-" 8 lightcyan
-" 9 lightgray
-" 10 lightgreen
-" 11 lightmagenta
-" 12 lightred
-" 13 lightyellow
-" 14 red
-" 15 yellow
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhorange.vim b/.vim/colors/hhorange.vim
deleted file mode 100644
index a1de49d..0000000
--- a/.vim/colors/hhorange.vim
+++ /dev/null
@@ -1,82 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi LineNr gui=underline guifg=#756664 guibg=#1c1200
-hi Folded gui=none guifg=#756664 guibg=bg
-hi FoldColumn gui=none guifg=#756664 guibg=bg
-" title
-hi Title gui=underline guifg=fg guibg=#553614
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#983235
-hi Question gui=underline guifg=bg guibg=#983235
-
-hi NonText gui=underline guifg=#2c2210 guibg=#2c2210
-hi VertSplit gui=underline guifg=bg guibg=#1c1200
-hi StatusLine gui=underline guifg=fg guibg=#1c1200
-hi StatusLineNC gui=underline guifg=#3c2e2c guibg=#1c1200
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#cc9069
-hi Cursor gui=underline guifg=bg guibg=#cc9069
-hi IncSearch gui=underline guifg=bg guibg=#cc9069
-hi CursorIM gui=underline guifg=fg guibg=#887900
-hi Search gui=underline guifg=bg guibg=#994113
-hi Visual gui=underline guifg=bg guibg=#886b46
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#dd66bb
-hi WarningMsg gui=underline guifg=bg guibg=#cc668b
-hi ModeMsg gui=underline guifg=bg guibg=#997433
-
-
-" inner {{{1
-hi Normal gui=none guifg=#9b8f78 guibg=#332412
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#cc668b
-hi Error gui=underline guifg=fg guibg=#413399
-hi Special gui=none guifg=#bb9466 guibg=bg
-hi SpecialKey gui=none guifg=#becc66 guibg=bg
-hi Identifier gui=none guifg=#be7569 guibg=bg
-hi Constant gui=none guifg=#885222 guibg=bg
-hi Statement gui=none guifg=#aa668f guibg=bg
-hi Comment gui=none guifg=#887900 guibg=bg
-hi Underlined gui=underline guifg=#66996d guibg=bg
-hi Directory gui=none guifg=#774b44 guibg=bg
-hi PreProc gui=none guifg=#775a55 guibg=bg
-hi Type gui=none guifg=#bb7b22 guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#ffa799
-hi DiffChange gui=underline guifg=bg guibg=#aa6155
-hi DiffDelete gui=none guifg=bg guibg=#aa7922
-hi DiffAdd gui=underline guifg=bg guibg=#cc2270
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#aaa366 guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#aa668f
-hi htmlBoldUnderline gui=underline guifg=#aa668f guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#cc8a44
-hi htmlUnderlineItalic gui=underline guifg=#cc8a44 guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#aa3355
-hi htmlBoldUnderlineItalic gui=underline guifg=#aa3355 guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhpink.vim b/.vim/colors/hhpink.vim
deleted file mode 100644
index cffe418..0000000
--- a/.vim/colors/hhpink.vim
+++ /dev/null
@@ -1,85 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi Folded gui=none guifg=#855060 guibg=bg
-hi FoldColumn gui=none guifg=#855060 guibg=bg
-hi LineNr gui=underline guifg=#855060 guibg=#200510
-hi VertSplit gui=underline guifg=bg guibg=#200510
-hi StatusLine gui=underline guifg=fg guibg=#200510
-hi StatusLineNC gui=underline guifg=#3c2c31 guibg=#200510
-hi NonText gui=underline guifg=#3c2530
-hi NonText guibg=#3c2530
-" title
-hi Title gui=underline guifg=fg guibg=#653040
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#983266
-hi Question gui=underline guifg=bg guibg=#983266
-
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#cc7990
-hi Cursor gui=underline guifg=bg guibg=#cc7990
-hi IncSearch gui=underline guifg=bg guibg=#cc7990
-hi CursorIM gui=underline guifg=fg guibg=#884830
-hi Search gui=underline guifg=bg guibg=#993356
-hi Visual gui=underline guifg=bg guibg=#885672
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#c666dd
-hi WarningMsg gui=underline guifg=bg guibg=#cc66bc
-hi ModeMsg gui=underline guifg=bg guibg=#994333
-
-
-"TODO
-
-" inner {{{1
-hi Normal gui=none guifg=#bb7899 guibg=#40202a
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#cc568c
-hi Error gui=underline guifg=fg guibg=#335699
-hi Special gui=none guifg=#bb6b66 guibg=bg
-hi SpecialKey gui=none guifg=#cca966 guibg=bg
-hi Identifier gui=none guifg=#be6986 guibg=bg
-hi Constant gui=none guifg=#882223 guibg=bg
-hi Statement gui=none guifg=#a466aa guibg=bg
-hi Comment gui=none guifg=#884830 guibg=bg
-hi Underlined gui=underline guifg=#779966 guibg=bg
-hi Directory gui=none guifg=#774455 guibg=bg
-hi PreProc gui=none guifg=#775561 guibg=bg
-hi Type gui=none guifg=#aa3222 guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#ff99bc
-hi DiffChange gui=underline guifg=bg guibg=#aa5572
-hi DiffDelete gui=none guifg=bg guibg=#aa3822
-hi DiffAdd gui=underline guifg=bg guibg=#cc22c2
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#aa8266 guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#a466aa
-hi htmlBoldUnderline gui=underline guifg=#a466aa guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#cc4944
-hi htmlUnderlineItalic gui=underline guifg=#cc4944 guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#aa338e
-hi htmlBoldUnderlineItalic gui=underline guifg=#aa338e guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhspring.vim b/.vim/colors/hhspring.vim
deleted file mode 100644
index cee4174..0000000
--- a/.vim/colors/hhspring.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi LineNr gui=underline guifg=#757164 guibg=#1c1910
-hi Folded gui=none guifg=#757164 guibg=bg
-hi FoldColumn gui=none guifg=#757164 guibg=bg
-" title
-hi Title gui=underline guifg=fg guibg=#555144
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#986c32
-hi Question gui=underline guifg=bg guibg=#986c32
-
-hi NonText gui=underline guifg=#2c2920 guibg=#2c2920
-hi VertSplit gui=underline guifg=bg guibg=#1c1910
-hi StatusLine gui=underline guifg=fg guibg=#1c1910
-hi StatusLineNC gui=underline guifg=#3c382c guibg=#1c1910
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#ccbf99
-hi Cursor gui=underline guifg=bg guibg=#ccbf99
-hi IncSearch gui=underline guifg=bg guibg=#ccbf99
-hi CursorIM gui=underline guifg=fg guibg=#458800
-hi Search gui=underline guifg=bg guibg=#997e33
-hi Visual gui=underline guifg=bg guibg=#887f66
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#dd6674
-hi WarningMsg gui=underline guifg=bg guibg=#cc7e66
-hi ModeMsg gui=underline guifg=bg guibg=#819933
-
-
-"TODO
-" inner {{{1
-hi Normal gui=none guifg=#bbae88 guibg=#332f22
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#cc7e66
-hi Error gui=underline guifg=fg guibg=#7e3399
-hi Special gui=none guifg=#afbb66 guibg=bg
-hi SpecialKey gui=none guifg=#81cc66 guibg=bg
-hi Identifier gui=none guifg=#bea869 guibg=bg
-hi Constant gui=none guifg=#818822 guibg=bg
-hi Statement gui=none guifg=#aa6667 guibg=bg
-hi Comment gui=none guifg=#458800 guibg=bg
-hi Underlined gui=underline guifg=#66998c guibg=bg
-hi Directory gui=none guifg=#776a44 guibg=bg
-hi PreProc gui=none guifg=#776e55 guibg=bg
-hi Type gui=none guifg=#9fbb22 guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#ffe499
-hi DiffChange gui=underline guifg=bg guibg=#aa9455
-hi DiffDelete gui=none guifg=bg guibg=#89aa22
-hi DiffAdd gui=underline guifg=bg guibg=#cc3a22
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#89aa66 guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#aa6667
-hi htmlBoldUnderline gui=underline guifg=#aa6667 guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#bccc44
-hi htmlUnderlineItalic gui=underline guifg=#bccc44 guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#aa5833
-hi htmlBoldUnderlineItalic gui=underline guifg=#aa5833 guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhteal.vim b/.vim/colors/hhteal.vim
deleted file mode 100644
index 79dbb3c..0000000
--- a/.vim/colors/hhteal.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi LineNr gui=underline guifg=#647564 guibg=#101c10
-hi Folded gui=none guifg=#647564 guibg=bg
-hi FoldColumn gui=none guifg=#647564 guibg=bg
-" title
-hi Title gui=underline guifg=fg guibg=#445544
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#439832
-hi Question gui=underline guifg=bg guibg=#439832
-
-hi NonText gui=underline guifg=#202c20 guibg=#202c20
-hi VertSplit gui=underline guifg=bg guibg=#101c10
-hi StatusLine gui=underline guifg=fg guibg=#101c10
-hi StatusLineNC gui=underline guifg=#2c3c2c guibg=#101c10
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#99cc99
-hi Cursor gui=underline guifg=bg guibg=#99cc99
-hi IncSearch gui=underline guifg=bg guibg=#99cc99
-hi CursorIM gui=underline guifg=fg guibg=#008866
-hi Search gui=underline guifg=bg guibg=#339933
-hi Visual gui=underline guifg=bg guibg=#668866
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#ccdd66
-hi WarningMsg gui=underline guifg=bg guibg=#99cc66
-hi ModeMsg gui=underline guifg=bg guibg=#339966
-
-
-"TODO
-" inner {{{1
-hi Normal gui=none guifg=#88bb88 guibg=#223322
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#99cc66
-hi Error gui=underline guifg=fg guibg=#993333
-hi Special gui=none guifg=#66bb88 guibg=bg
-hi SpecialKey gui=none guifg=#66cccc guibg=bg
-hi Identifier gui=none guifg=#69be69 guibg=bg
-hi Constant gui=none guifg=#228844 guibg=bg
-hi Statement gui=none guifg=#99aa66 guibg=bg
-hi Comment gui=none guifg=#008866 guibg=bg
-hi Underlined gui=underline guifg=#666699 guibg=bg
-hi Directory gui=none guifg=#447744 guibg=bg
-hi PreProc gui=none guifg=#557755 guibg=bg
-hi Type gui=none guifg=#22bb66 guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#99ff99
-hi DiffChange gui=underline guifg=bg guibg=#55aa55
-hi DiffDelete gui=none guifg=bg guibg=#22aa66
-hi DiffAdd gui=underline guifg=bg guibg=#88cc22
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#66aa99 guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#99aa66
-hi htmlBoldUnderline gui=underline guifg=#99aa66 guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#44cc77
-hi htmlUnderlineItalic gui=underline guifg=#44cc77 guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#66aa33
-hi htmlBoldUnderlineItalic gui=underline guifg=#66aa33 guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/hhviolet.vim b/.vim/colors/hhviolet.vim
deleted file mode 100644
index b8fbf62..0000000
--- a/.vim/colors/hhviolet.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" Vim color file {{{1
-" Maintainer: hira@users.sourceforge.jp
-" Last Change: 2003/11/29 (Sat) 13:28:25.
-" Version: 1.2
-" This color scheme uses a dark background.
-
-" Happy Hacking color scheme {{{1
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = expand("<sfile>:t:r")
-let html_my_rendering = 1
-
-
-" frame & title & message (theme) {{{1
-hi LineNr gui=underline guifg=#686475 guibg=#13101c
-hi Folded gui=none guifg=#686475 guibg=bg
-hi FoldColumn gui=none guifg=#686475 guibg=bg
-" title
-hi Title gui=underline guifg=fg guibg=#484455
-" message
-hi MoreMsg gui=underline guifg=bg guibg=#373298
-hi Question gui=underline guifg=bg guibg=#373298
-
-hi NonText gui=underline guifg=#23202c guibg=#23202c
-hi VertSplit gui=underline guifg=bg guibg=#13101c
-hi StatusLine gui=underline guifg=fg guibg=#13101c
-hi StatusLineNC gui=underline guifg=#302c3c guibg=#13101c
-
-" cursor {{{1
-hi WildMenu gui=underline guifg=bg guibg=#a499cc
-hi Cursor gui=underline guifg=bg guibg=#a499cc
-hi IncSearch gui=underline guifg=bg guibg=#a499cc
-hi CursorIM gui=underline guifg=fg guibg=#662088
-hi Search gui=underline guifg=bg guibg=#493399
-hi Visual gui=underline guifg=bg guibg=#6d6688
-
-
-" message {{{1
-hi ErrorMsg gui=underline guifg=bg guibg=#66b2dd
-hi WarningMsg gui=underline guifg=bg guibg=#6683cc
-hi ModeMsg gui=underline guifg=bg guibg=#7c3399
-
-
-"TODO
-" inner {{{1
-hi Normal gui=none guifg=#9388bb guibg=#262233
-hi Ignore gui=none guifg=bg guibg=bg
-hi Todo gui=underline guifg=bg guibg=#6683cc
-hi Error gui=underline guifg=fg guibg=#335544
-hi Special gui=none guifg=#9b66bb guibg=bg
-hi SpecialKey gui=none guifg=#cc66b6 guibg=bg
-hi Identifier gui=none guifg=#7c69be guibg=bg
-hi Constant gui=none guifg=#774499 guibg=bg
-hi Statement gui=none guifg=#668aaa guibg=bg
-hi Comment gui=none guifg=#662088 guibg=bg
-hi Underlined gui=underline guifg=#997166 guibg=bg
-hi Directory gui=none guifg=#4f4477 guibg=bg
-hi PreProc gui=none guifg=#5c5577 guibg=bg
-hi Type gui=none guifg=#7733cc guibg=bg
-
-
-" diff {{{1
-hi DiffText gui=underline guifg=bg guibg=#af99ff
-hi DiffChange gui=underline guifg=bg guibg=#6855aa
-hi DiffDelete gui=none guifg=bg guibg=#8422aa
-hi DiffAdd gui=underline guifg=bg guibg=#2263cc
-
-
-" html {{{1
-hi htmlLink gui=underline guifg=#a866aa guibg=bg
-hi htmlBold gui=underline guifg=bg guibg=#668aaa
-hi htmlBoldUnderline gui=underline guifg=#668aaa guibg=bg
-hi htmlItalic gui=underline guifg=bg guibg=#9544cc
-hi htmlUnderlineItalic gui=underline guifg=#9544cc guibg=bg
-hi htmlBoldItalic gui=underline guifg=bg guibg=#334caa
-hi htmlBoldUnderlineItalic gui=underline guifg=#334caa guibg=bg
-hi htmlUnderline gui=underline guifg=fg guibg=bg
-
-"}}}1
-" vim:set nowrap foldmethod=marker expandtab:
diff --git a/.vim/colors/ibmedit.vim b/.vim/colors/ibmedit.vim
deleted file mode 100644
index 4b846c6..0000000
--- a/.vim/colors/ibmedit.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim color file
-" Maintainer: Maarten Slaets
-" Last Change: 2002 Aug 16
-
-" Color settings similar to that used in IBM Edit
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="ibmedit"
-
-hi Normal term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue
-hi Normal gui=NONE guifg=#CCCCCC guibg=DarkBlue
-hi NonText term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue
-hi NonText gui=NONE guifg=#CCCCCC guibg=DarkBlue
-
-hi Statement term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi Statement gui=NONE guifg=White guibg=DarkBlue
-hi Special term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue
-hi Special gui=NONE guifg=White guibg=DarkBlue
-hi Constant term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue
-hi Constant gui=NONE guifg=#99CCFF guibg=DarkBlue
-hi Comment term=NONE cterm=NONE ctermfg=Blue ctermbg=DarkBlue
-hi Comment gui=NONE guifg=#6666FF guibg=DarkBlue
-hi Preproc term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue
-hi Preproc gui=NONE guifg=#99CCFF guibg=DarkBlue
-hi Type term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue
-hi Type gui=NONE guifg=#CCCCCC guibg=DarkBlue
-hi Identifier term=NONE cterm=NONE ctermfg=Grey ctermbg=DarkBlue
-hi Identifier gui=NONE guifg=#CCCCCC guibg=DarkBlue
-
-hi StatusLine term=bold cterm=bold ctermfg=Black ctermbg=White
-hi StatusLine gui=bold guifg=Black guibg=White
-
-hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=White
-hi StatusLineNC gui=NONE guifg=Black guibg=White
-
-hi Visual term=NONE cterm=NONE ctermfg=Black ctermbg=DarkCyan
-hi Visual gui=NONE guifg=Black guibg=Gray
-
-hi Search term=NONE cterm=NONE ctermbg=Gray
-hi Search gui=NONE guibg=Gray
-
-hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=White
-hi VertSplit gui=NONE guifg=Black guibg=White
-
-hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue
-hi Directory gui=NONE guifg=Green guibg=DarkBlue
-
-hi WarningMsg term=standout cterm=NONE ctermfg=Red ctermbg=DarkBlue
-hi WarningMsg gui=standout guifg=Red guibg=DarkBlue
-
-hi Error term=NONE cterm=NONE ctermfg=White ctermbg=Red
-hi Error gui=NONE guifg=White guibg=Red
-
-hi Cursor ctermfg=Black ctermbg=Yellow
-hi Cursor guifg=Black guibg=Yellow
-
diff --git a/.vim/colors/inkpot.vim b/.vim/colors/inkpot.vim
deleted file mode 100644
index e70d992..0000000
--- a/.vim/colors/inkpot.vim
+++ /dev/null
@@ -1,138 +0,0 @@
-" Vim color file
-" Name: inkpot.vim
-" Maintainer: Ciaran McCreesh <ciaranm@gentoo.org>
-" This should work in the GUI, rxvt-unicode (88 colour mode) and xterm (256
-" colour mode). It won't work in 8/16 colour terminals.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "inkpot"
-
-" map a urxvt cube number to an xterm-256 cube number
-fun! <SID>M(a)
- return strpart("0135", a:a, 1) + 0
-endfun
-
-" map a urxvt colour to an xterm-256 colour
-fun! <SID>X(a)
- if &t_Co == 88
- return a:a
- else
- if a:a == 8
- return 237
- elseif a:a < 16
- return a:a
- elseif a:a > 79
- return 232 + (3 * (a:a - 80))
- else
- let l:b = a:a - 16
- let l:x = l:b % 4
- let l:y = (l:b / 4) % 4
- let l:z = (l:b / 16)
- return 16 + <SID>M(l:x) + (6 * <SID>M(l:y)) + (36 * <SID>M(l:z))
- endif
- endif
-endfun
-
-if has("gui_running")
- hi Normal gui=NONE guifg=#cfbfad guibg=#1e1e27
- hi IncSearch gui=BOLD guifg=#303030 guibg=#cd8b60
- hi Search gui=NONE guifg=#303030 guibg=#cd8b60
- hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff3300
- hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff6600
- hi ModeMsg gui=BOLD guifg=#7e7eae guibg=NONE
- hi MoreMsg gui=BOLD guifg=#7e7eae guibg=NONE
- hi Question gui=BOLD guifg=#ffcd00 guibg=NONE
- hi StatusLine gui=BOLD guifg=#b9b9b9 guibg=#3e3e5e
- hi StatusLineNC gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
- hi VertSplit gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
- hi WildMenu gui=BOLD guifg=#ffcd00 guibg=#1e1e2e
-
- hi DiffText gui=NONE guifg=#ffffcd guibg=#00cd00
- hi DiffChange gui=NONE guifg=#ffffcd guibg=#008bff
- hi DiffDelete gui=NONE guifg=#ffffcd guibg=#cd0000
- hi DiffAdd gui=NONE guifg=#ffffcd guibg=#00cd00
-
- hi Cursor gui=NONE guifg=#404040 guibg=#8b8bff
- hi lCursor gui=NONE guifg=#404040 guibg=#8b8bff
- hi CursorIM gui=NONE guifg=#404040 guibg=#8b8bff
-
- hi Folded gui=NONE guifg=#cfcfcd guibg=#4b208f
- hi FoldColumn gui=NONE guifg=#8b8bcd guibg=#2e2e2e
-
- hi Directory gui=NONE guifg=#00ff8b guibg=NONE
- hi LineNr gui=NONE guifg=#8b8bcd guibg=#2e2e2e
- hi NonText gui=BOLD guifg=#8b8bcd guibg=NONE
- hi SpecialKey gui=BOLD guifg=#8b00cd guibg=NONE
- hi Title gui=BOLD guifg=#af4f4b guibg=#1e1e27
- hi Visual gui=NONE guifg=#603030 guibg=#edab60
-
- hi Comment gui=NONE guifg=#cd8b00 guibg=NONE
- hi Constant gui=NONE guifg=#ffcd8b guibg=NONE
- hi String gui=NONE guifg=#ffcd8b guibg=#404040
- hi Error gui=NONE guifg=#ffffff guibg=#ff0000
- hi Identifier gui=NONE guifg=#ff8bff guibg=NONE
- hi Ignore gui=NONE guifg=#8b8bcd guibg=NONE
- hi Number gui=NONE guifg=#506dbd guibg=NONE
- hi PreProc gui=NONE guifg=#409090 guibg=NONE
- hi Special gui=NONE guifg=#c080d0 guibg=NONE
- hi Statement gui=NONE guifg=#808bed guibg=NONE
- hi Todo gui=BOLD guifg=#303030 guibg=#c080d0
- hi Type gui=NONE guifg=#ff8bff guibg=NONE
- hi Underlined gui=BOLD guifg=#ffffcd guibg=NONE
- hi TaglistTagName gui=BOLD guifg=#808bed guibg=NONE
-
-else
- exec "hi Normal cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(80) . ""
- exec "hi IncSearch cterm=BOLD ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . ""
- exec "hi Search cterm=NONE ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . ""
- exec "hi ErrorMsg cterm=BOLD ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(64) . ""
- exec "hi WarningMsg cterm=BOLD ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(68) . ""
- exec "hi ModeMsg cterm=BOLD ctermfg=" . <SID>X("39") . ""
- exec "hi MoreMsg cterm=BOLD ctermfg=" . <SID>X("39") . ""
- exec "hi Question cterm=BOLD ctermfg=" . <SID>X("72") . ""
- exec "hi StatusLine cterm=BOLD ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(81) . ""
- exec "hi StatusLineNC cterm=NONE ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(81) . ""
- exec "hi VertSplit cterm=NONE ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(82) . ""
- exec "hi WildMenu cterm=BOLD ctermfg=" . <SID>X("72") . " ctermbg=" . <SID>X(80) . ""
-
- exec "hi DiffText cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(24) . ""
- exec "hi DiffChange cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(23) . ""
- exec "hi DiffDelete cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(48) . ""
- exec "hi DiffAdd cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(24) . ""
-
- exec "hi Cursor cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . ""
- exec "hi lCursor cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . ""
- exec "hi CursorIM cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . ""
-
- exec "hi Folded cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(35) . ""
- exec "hi FoldColumn cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=" . <SID>X(80) . ""
-
- exec "hi Directory cterm=NONE ctermfg=" . <SID>X("29") . " ctermbg=NONE"
- exec "hi LineNr cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=" . <SID>X(80) . ""
- exec "hi NonText cterm=BOLD ctermfg=" . <SID>X("38") . " ctermbg=NONE"
- exec "hi SpecialKey cterm=BOLD ctermfg=" . <SID>X("34") . " ctermbg=NONE"
- exec "hi Title cterm=BOLD ctermfg=" . <SID>X("52") . " ctermbg=" . <SID>X(80) . ""
- exec "hi Visual cterm=NONE ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . ""
-
- exec "hi Comment cterm=NONE ctermfg=" . <SID>X("52") . " ctermbg=NONE"
- exec "hi Constant cterm=NONE ctermfg=" . <SID>X("73") . " ctermbg=NONE"
- exec "hi String cterm=NONE ctermfg=" . <SID>X("73") . " ctermbg=" . <SID>X(8) . ""
- exec "hi Error cterm=NONE ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(64) . ""
- exec "hi Identifier cterm=NONE ctermfg=" . <SID>X("71") . " ctermbg=NONE"
- exec "hi Ignore cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=NONE"
- exec "hi Number cterm=NONE ctermfg=" . <SID>X("22") . " ctermbg=NONE"
- exec "hi PreProc cterm=NONE ctermfg=" . <SID>X("10") . " ctermbg=NONE"
- exec "hi Special cterm=NONE ctermfg=" . <SID>X("39") . " ctermbg=NONE"
- exec "hi Statement cterm=NONE ctermfg=" . <SID>X("26") . " ctermbg=NONE"
- exec "hi Todo cterm=BOLD ctermfg=" . <SID>X("08") . " ctermbg=" . <SID>X(39) . ""
- exec "hi Type cterm=NONE ctermfg=" . <SID>X("71") . " ctermbg=NONE"
- exec "hi Underlined cterm=BOLD ctermfg=" . <SID>X("78") . " ctermbg=NONE"
- exec "hi TaglistTagName cterm=BOLD ctermfg=" . <SID>X("26") . " ctermbg=NONE"
-endif
-
-" vim: set et :
diff --git a/.vim/colors/ironman.vim b/.vim/colors/ironman.vim
deleted file mode 100644
index c82ce3d..0000000
--- a/.vim/colors/ironman.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Vim color file
-" Maintainer: Michael Boehler
-" Mail: michael@familie-boehler.de
-" Last Change: 2002-09-24
-" Version: 1.3
-" This color scheme uses a light background.
-" GUI only
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "ironman"
-
-hi Normal guifg=#333333 guibg=NONE
-
-" Search
-hi IncSearch gui=NONE guifg=#303040 guibg=#ffff00
-hi Search gui=NONE guifg=#303040 guibg=#ccff00
-
-" Messages
-hi ErrorMsg gui=NONE guifg=#FF0000 guibg=NONE
-hi WarningMsg gui=NONE guifg=#FF6600 guibg=NONE
-hi ModeMsg gui=NONE guifg=#0070ff guibg=NONE
-hi MoreMsg gui=NONE guifg=#a800ff guibg=NONE
-hi Question gui=NONE guifg=#008050 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#fffacd guibg=#DF6A6A
-hi StatusLineNC gui=NONE guifg=#fffacd guibg=#b2bbcc
-hi VertSplit gui=NONE guifg=#fffacd guibg=#b2bbcc
-hi WildMenu gui=NONE guifg=#ffffff guibg=#3399cc
-
-" Diff
-hi DiffText gui=NONE guifg=#f83010 guibg=#ffeae0
-hi DiffChange gui=NONE guifg=#006800 guibg=#d0ffd0
-hi DiffDelete gui=NONE guifg=#2020ff guibg=#c8f2ea
-hi DiffAdd gui=NONE guifg=#2020ff guibg=#c8f2ea
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#DF6A6A
-hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff
-hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff
-
-" Fold
-hi Folded gui=NONE guifg=#3399ff guibg=#EAF5FF
-hi FoldColumn gui=NONE guifg=#3399ff guibg=#EAF5FF
-
-" Other
-hi Directory gui=NONE guifg=#0000ff guibg=NONE
-hi LineNr gui=NONE guifg=#cccccc guibg=NONE
-hi NonText gui=NONE guifg=#cccccc guibg=NONE
-hi SpecialKey gui=NONE guifg=#66cccc guibg=NONE
-hi Title gui=NONE guifg=#004060 guibg=#c8f0f8
-hi Visual gui=NONE guifg=#ffffff guibg=#6889de
-
-" Syntax group
-hi Comment gui=NONE guifg=#ff5050 guibg=#ffebeb
-hi Constant gui=NONE guifg=#333333 guibg=#ededed
-hi Error gui=BOLD guifg=#ffffff guibg=#ff4080
-hi Identifier gui=NONE guifg=#339933 guibg=NONE
-hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE
-hi PreProc gui=NONE guifg=#0070e6 guibg=NONE
-hi Special gui=NONE guifg=#0000ff guibg=#ccf7ee
-hi Statement gui=NONE guifg=#0000FF guibg=NONE
-hi Todo gui=NONE guifg=#ff0070 guibg=#ffe0f4
-hi Type gui=NONE guifg=#eb7950 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE
-
-" HTML
-hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE
-hi htmlBold gui=BOLD
-hi htmlBoldItalic gui=BOLD,ITALIC
-hi htmlBoldUnderline gui=BOLD,UNDERLINE
-hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC
-hi htmlItalic gui=ITALIC
-hi htmlUnderline gui=UNDERLINE
-hi htmlUnderlineItalic gui=UNDERLINE,ITALIC
diff --git a/.vim/colors/jhdark.vim b/.vim/colors/jhdark.vim
deleted file mode 100644
index 22e5494..0000000
--- a/.vim/colors/jhdark.vim
+++ /dev/null
@@ -1,72 +0,0 @@
-" Vim color file by Jörn Horstmann <joern_h@gmx.net>
-" Light background in GUI, dark background in Console
-" Last change 16.07.2004
-" TODO
-
-set bg=dark
-
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "jhdark"
-
-hi Normal guifg=#999999 guibg=#000000 gui=none ctermfg=gray ctermbg=black cterm=none
-
-hi ErrorMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none
-hi Visual guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none
-hi VisualNOS guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none
-hi Todo guifg=bg guibg=#aaaa00 gui=none ctermfg=bg ctermbg=yellow cterm=none
-"hi Todo guifg=#884400 guibg=bg gui=none ctermfg=bg ctermbg=yellow cterm=none
-hi Search guifg=bg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none
-hi IncSearch guifg=bg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none
-
-hi SpecialKey guifg=#775522 guibg=bg gui=none ctermfg=magenta ctermbg=bg cterm=none
-hi Directory guifg=#000088 guibg=bg gui=none ctermfg=blue ctermbg=bg cterm=none
-hi WarningMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none
-hi WildMenu guifg=bg guibg=#ffff00 gui=none ctermfg=bg ctermbg=yellow cterm=none
-hi ModeMsg guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi Title guifg=fg guibg=#cccccc gui=none ctermfg=bg ctermbg=fg cterm=none
-hi MoreMsg guifg=fg guibg=bg gui=none ctermfg=bg ctermbg=fg cterm=none
-hi Question guifg=fg guibg=bg gui=none ctermfg=bg ctermbg=fg cterm=none
-hi NonText guifg=#666666 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-
-hi StatusLine guifg=#dddddd guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none
-hi StatusLineNC guifg=#dddddd guibg=#333333 gui=none ctermfg=bg ctermbg=darkgray cterm=none
-hi VertSplit guifg=#dddddd guibg=#333333 gui=none ctermfg=bg ctermbg=darkgray cterm=none
-
-hi Folded guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-hi FoldColumn guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-hi SignColumn guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-hi LineNr guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-
-"hi Folded guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi FoldColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi SignColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi LineNr guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-
-hi DiffChange guifg=bg guibg=#888800 gui=none ctermfg=bg ctermbg=brown cterm=none
-hi DiffAdd guifg=bg guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none
-hi DiffDelete guifg=bg guibg=#880000 gui=none ctermfg=bg ctermbg=darkred cterm=none
-hi DiffText guifg=fg guibg=#dd0000 gui=none ctermfg=fg ctermbg=red cterm=none
-
-hi Cursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none
-hi lCursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none
-
-hi Comment guifg=#008800 guibg=bg gui=none ctermfg=darkgreen ctermbg=bg cterm=none
-hi Operator guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi Constant guifg=#aa0000 guibg=bg gui=none ctermfg=darkred ctermbg=bg cterm=none
-hi Special guifg=#997700 guibg=bg gui=none ctermfg=brown ctermbg=bg cterm=none
-
-hi Identifier guifg=#dddddd guibg=bg gui=none ctermfg=white ctermbg=bg cterm=none
-
-hi Type guifg=#6666dd guibg=bg gui=none ctermfg=cyan ctermbg=bg cterm=none
-hi Statement guifg=#dddddd guibg=bg gui=none ctermfg=white ctermbg=bg cterm=none
-
-hi PreProc guifg=#008888 guibg=bg gui=none ctermfg=darkcyan ctermbg=bg cterm=none
-
-hi Error guifg=fg guibg=#ff0000 gui=none ctermfg=bg ctermbg=red cterm=none
-
-hi Ignore guifg=bg ctermfg=bg
-hi Underlined guifg=fg guibg=bg ctermfg=fg ctermbg=bg cterm=underline term=underline gui=underline
diff --git a/.vim/colors/jhlight.vim b/.vim/colors/jhlight.vim
deleted file mode 100644
index 753232e..0000000
--- a/.vim/colors/jhlight.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Vim color file by Jörn Horstmann <joern_h@gmx.net>
-" Light background, works in GUI and cobnsole
-" Last change 08.09.2004
-" TODO
-
-set bg=light
-
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "jhlight"
-
-hi Normal guifg=#000000 guibg=#dddddd gui=none ctermfg=black ctermbg=grey cterm=none
-
-hi ErrorMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none
-hi Visual guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none
-hi VisualNOS guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none
-hi Todo guifg=fg guibg=#bbbb77 gui=none ctermfg=bg ctermbg=brown cterm=none
-"hi Todo guifg=#884400 guibg=bg gui=none ctermfg=bg ctermbg=yellow cterm=none
-hi Search guifg=fg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none
-hi IncSearch guifg=fg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none
-
-hi SpecialKey guifg=#553300 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-hi Directory guifg=#000088 guibg=bg gui=none ctermfg=blue ctermbg=bg cterm=none
-hi WarningMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none
-hi WildMenu guifg=fg guibg=#ffff00 gui=none ctermfg=bg ctermbg=brown cterm=none
-hi ModeMsg guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi Title guifg=#000088 guibg=#cccccc gui=none ctermfg=fg ctermbg=bg cterm=none
-hi MoreMsg guifg=#000088 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi Question guifg=#000088 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi NonText guifg=#444444 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-
-hi StatusLine guifg=#dddddd guibg=#000088 gui=none ctermfg=white ctermbg=darkblue cterm=none
-hi StatusLineNC guifg=#dddddd guibg=#333333 gui=none ctermfg=grey ctermbg=black cterm=none
-hi VertSplit guifg=#dddddd guibg=#333333 gui=none ctermfg=white ctermbg=black cterm=none
-
-hi Folded guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none
-hi FoldColumn guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none
-hi SignColumn guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none
-hi LineNr guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none
-
-"hi Folded guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi FoldColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi SignColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-"hi LineNr guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-
-hi DiffChange guifg=bg guibg=#888800 gui=none ctermfg=bg ctermbg=brown cterm=none
-hi DiffAdd guifg=bg guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none
-hi DiffDelete guifg=bg guibg=#880000 gui=none ctermfg=bg ctermbg=darkred cterm=none
-hi DiffText guifg=fg guibg=#dd0000 gui=none ctermfg=fg ctermbg=red cterm=none
-
-hi Cursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none
-hi lCursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none
-
-hi Comment guifg=#005500 guibg=bg gui=none ctermfg=darkgreen ctermbg=bg cterm=none
-hi Operator guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none
-hi Constant guifg=#880000 guibg=bg gui=none ctermfg=darkred ctermbg=bg cterm=none
-hi Special guifg=#553300 guibg=bg gui=none ctermfg=brown ctermbg=bg cterm=none
-
-hi Identifier guifg=#000088 guibg=bg gui=none ctermfg=darkblue ctermbg=bg cterm=none
-"hi Function guifg=#000044 gui=none
-
-"hi Keyword guifg=#000088 gui=none
-
-if exists("g:jh_hi_use_bold")
- hi Type guifg=#660044 guibg=bg gui=bold ctermfg=darkmagenta ctermbg=bg cterm=none
- hi Statement guifg=#440066 guibg=bg gui=bold ctermfg=darkmagenta ctermbg=bg cterm=none
-else
- hi Type guifg=#660044 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
- hi Statement guifg=#440066 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none
-endif
-
-hi PreProc guifg=#004466 guibg=bg gui=none ctermfg=darkcyan ctermbg=bg cterm=none
-
-hi Error guifg=fg guibg=#880000 gui=none ctermfg=bg ctermbg=red cterm=none
-
-hi Ignore guifg=bg ctermfg=bg
-hi Underlined guifg=fg guibg=bg ctermfg=fg ctermbg=bg cterm=underline term=underline gui=underline
diff --git a/.vim/colors/less.vim b/.vim/colors/less.vim
deleted file mode 100644
index c874913..0000000
--- a/.vim/colors/less.vim
+++ /dev/null
@@ -1,54 +0,0 @@
-" vim color file
-" Maintainer: Brian Nelson <nelsonbc@gmail.com>
-" Last Change: $Revision: 1.1 $ $Date: 2003/12/15 17:25:08 $
-"
-" Less is More - A minimal color scheme.
-" Disigned to work equally well on 8 or 16 colors, terminal or gui.
-
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "less"
-
-hi Normal term=none ctermfg=7 ctermbg=0 gui=none guifg=LightGray guibg=black
-hi Directory term=bold cterm=bold ctermfg=blue guifg=Blue
-hi Search term=reverse ctermfg=white ctermbg=blue guifg=white guibg=Blue
-hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen
-hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
-hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=DarkCyan
-hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen
-hi Comment term=bold cterm=bold ctermfg=0 gui=none guifg=DarkGray
-hi Constant term=bold cterm=none ctermfg=7 gui=none guifg=LightGray
-hi Special term=bold cterm=none ctermfg=3 gui=none guifg=Orange
-hi Identifier term=none cterm=none ctermfg=7 gui=none guifg=LightGray
-hi PreProc term=underline cterm=bold ctermfg=7 gui=bold guifg=White
-hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=Black guibg=Red
-hi Todo term=standout cterm=none ctermfg=0 ctermbg=7 guifg=Black guibg=White
-hi String term=none cterm=none ctermfg=3 gui=none guifg=LightYellow
-hi Function term=bold cterm=bold ctermfg=3 gui=none guifg=Yellow
-hi Statement term=bold cterm=bold ctermfg=7 gui=bold guifg=White
-hi Include term=bold cterm=bold ctermfg=4 gui=none guifg=LightBlue
-hi StorageClass term=bold cterm=bold ctermfg=5 gui=none guifg=LightMagenta
-hi Type term=none cterm=none ctermfg=7 gui=none guifg=LightGray
-hi Defined term=bold cterm=bold ctermfg=6 gui=none guifg=LightCyan
-hi link Character String
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Macro Include
-hi link PreCondit PreProc
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
diff --git a/.vim/colors/lilac.vim b/.vim/colors/lilac.vim
deleted file mode 100644
index ef825fa..0000000
--- a/.vim/colors/lilac.vim
+++ /dev/null
@@ -1,75 +0,0 @@
-" GUI-only vim color file
-" Author: Christian MICHON
-" Version: 1.0
-" Last Change: 10 Oct 2002
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "lilac"
-
-hi Boolean guifg=#00f080 guibg=#503040 gui=none
-hi Character guifg=#00f080 guibg=#503040 gui=none
-hi Comment guifg=#c0c0c0 guibg=#503040 gui=underline
-hi Conditional guifg=#60d0d0 guibg=#503040 gui=bold
-hi Constant guifg=#00f080 guibg=#503040 gui=none
-hi Cursor guifg=#000000 guibg=#f0f000 gui=none
-hi Debug guifg=#b0d0f0 guibg=#503040 gui=none
-hi Define guifg=#f0f000 guibg=#503040 gui=none
-hi Delimiter guifg=#b0d0f0 guibg=#503040 gui=none
-hi DiffAdd guifg=#f0f000 guibg=#805070 gui=bold
-hi DiffChange guifg=#f0f0f0 guibg=#805070 gui=none
-hi DiffDelete guifg=#503040 guibg=#805070 gui=none
-hi DiffText guifg=#000000 guibg=#f0f000 gui=bold
-hi Directory guifg=#f0f000 guibg=#503040 gui=underline
-hi Error guifg=#000000 guibg=#b0d0f0 gui=bold
-hi ErrorMsg guifg=#000000 guibg=#b0d0f0 gui=bold
-hi Exception guifg=#60d0d0 guibg=#503040 gui=bold
-hi Float guifg=#00f080 guibg=#503040 gui=none
-hi FoldColumn guifg=#b0d0f0 guibg=#805070 gui=bold
-hi Folded guifg=#b0d0f0 guibg=#805070 gui=bold
-hi Function guifg=#f0a070 guibg=#503040 gui=none
-hi Identifier guifg=#f0a070 guibg=#503040 gui=none
-hi Ignore guifg=#503040 guibg=#503040 gui=none
-hi Include guifg=#f0f000 guibg=#503040 gui=none
-hi IncSearch guifg=#000000 guibg=#b0d0f0 gui=bold
-hi Keyword guifg=#60d0d0 guibg=#503040 gui=bold
-hi Label guifg=#60d0d0 guibg=#503040 gui=bold
-hi lCursor guifg=#f0f0f0 guibg=#503040 gui=none
-hi LineNr guifg=#c0c0c0 guibg=#805070 gui=bold
-hi Macro guifg=#f0f000 guibg=#503040 gui=none
-hi ModeMsg guifg=#f0f0f0 guibg=#503040 gui=bold
-hi MoreMsg guifg=#f070a0 guibg=#503040 gui=bold
-hi NonText guifg=#c0c0c0 guibg=#503040 gui=bold
-hi Normal guifg=#f0f0f0 guibg=#503040 gui=none
-hi Number guifg=#00f080 guibg=#503040 gui=none
-hi Operator guifg=#60d0d0 guibg=#503040 gui=bold
-hi PreCondit guifg=#f0f000 guibg=#503040 gui=none
-hi PreProc guifg=#f0f000 guibg=#503040 gui=none
-hi Question guifg=#f070a0 guibg=#503040 gui=bold
-hi Repeat guifg=#60d0d0 guibg=#503040 gui=bold
-hi Search guifg=#000000 guibg=#b0d0f0 gui=bold
-hi Special guifg=#b0d0f0 guibg=#503040 gui=none
-hi SpecialChar guifg=#b0d0f0 guibg=#503040 gui=none
-hi SpecialComment guifg=#b0d0f0 guibg=#503040 gui=none
-hi SpecialKey guifg=#f0f000 guibg=#503040 gui=none
-hi Statement guifg=#60d0d0 guibg=#503040 gui=bold
-hi StatusLine guifg=#000000 guibg=#f0f0f0 gui=bold
-hi StatusLineNC guifg=#c0c0c0 guibg=#805070 gui=bold
-hi StorageClass guifg=#f070a0 guibg=#503040 gui=bold
-hi String guifg=#00f080 guibg=#503040 gui=none
-hi Structure guifg=#f070a0 guibg=#503040 gui=bold
-hi Tag guifg=#b0d0f0 guibg=#503040 gui=none
-hi Title guifg=#00f080 guibg=#503040 gui=bold
-hi Todo guifg=#f0f000 guibg=#0000f0 gui=none
-hi Type guifg=#f070a0 guibg=#503040 gui=bold
-hi Typedef guifg=#f070a0 guibg=#503040 gui=bold
-hi Underlined guifg=#b0d0f0 guibg=#503040 gui=underline
-hi VertSplit guifg=#000000 guibg=#b0d0f0 gui=bold
-hi Visual guifg=#000000 guibg=#b0d0f0 gui=underline
-hi VisualNOS guifg=#f0f0f0 guibg=#503040 gui=underline
-hi WarningMsg guifg=#000000 guibg=#b0d0f0 gui=bold
-hi WildMenu guifg=#f0f0f0 guibg=#0000f0 gui=none
diff --git a/.vim/colors/lingodirector.vim b/.vim/colors/lingodirector.vim
deleted file mode 100644
index 57f2b3c..0000000
--- a/.vim/colors/lingodirector.vim
+++ /dev/null
@@ -1,44 +0,0 @@
-" Vim color file
-" Maintainer: Thomas Schmall <ts_nowhere@yahoo.com>
-" Last Change: 2004 June 16
-" Version:1.0
-" URL: http://www.oxpal.com/index.php?o=dev_vim&lan=en
-"
-" Note: you can type :set number! to activate or deactivate the line numbering, wich also
-" looks similar to Director
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="lingodirector"
-
-hi Normal guifg=black guibg=white ctermfg=Black ctermbg=white
-hi Title guifg=black guibg=white ctermfg=Black ctermbg=white gui=BOLD
-hi lCursor guibg=Cyan guifg=NONE
-
-hi LineNr guifg=white guibg=#8c9bfa
-
-
-
-" syntax highlighting groups
-hi Comment ctermfg=Red guifg=#c80000 gui=NONE
-hi Operator term=None cterm=None gui=None
-
-hi Identifier ctermfg=Green guifg=#008000 gui=NONE
-
-hi Statement ctermfg=Blue guifg=#0000c8 gui=NONE
-hi TypeDef ctermfg=Blue guifg=#0000c8 gui=NONE
-hi Type ctermfg=Blue guifg=#0000c8 gui=NONE
-hi Boolean ctermfg=Blue guifg=#0000c8 gui=NONE
-
-hi String ctermfg=Gray guifg=#808080 gui=NONE
-hi Number ctermfg=Gray guifg=#808080 gui=NONE
-hi Constant ctermfg=Gray guifg=#808080 gui=NONE
-
-hi Function ctermfg=Green guifg=#008040 gui=NONE
-hi PreProc ctermfg=Green guifg=#008040 gui=NONE
-hi Keyword ctermfg=Green guifg=#008040 gui=NONE
-
-"set number
diff --git a/.vim/colors/manxome.vim b/.vim/colors/manxome.vim
deleted file mode 100644
index 0db38ea..0000000
--- a/.vim/colors/manxome.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-""" local syntax file - set colors on a per-machine basis:
-""" Vim color file
-""" Title: Manxome Foes Color Scheme
-""" Maintainer: Ricardo SIGNES <rjbs-vim@lists.manxome.org>
-""" This Version: R2v2 [2003-07-16]
-""" suggested vim editing options: tw=0 ts=4 sw=4
-
-"" clear and re-initialize global variables
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "manxome"
-
-"" set highlight groups
-"" you'll notice that the ctermbg is often 'none'; this is so that when
-"" console vim runs in a terminal, transparency (if any) is not broken
-
-highlight Title ctermfg=3 ctermbg=none cterm=bold guifg=#ffff00 guibg=#000000 gui=none
-highlight Directory ctermfg=4 ctermbg=none cterm=bold guifg=#0000ff guibg=#000000 gui=none
-highlight StatusLine ctermfg=7 ctermbg=4 cterm=bold guifg=#ffffff guibg=#0000ff gui=none
-highlight StatusLineNC ctermfg=0 ctermbg=4 cterm=bold guifg=#000000 guibg=#0000ff gui=none
-highlight Normal ctermfg=7 ctermbg=none cterm=none guifg=#cccccc guibg=#000000 gui=none
-highlight Search ctermfg=7 ctermbg=4 cterm=bold guifg=#ffffff guibg=#0000ff gui=none
-highlight Visual ctermfg=7 ctermbg=6 cterm=bold guifg=#ffffff guibg=#00aaaa gui=none
-
-"" set major preferred groups
-
-highlight Comment ctermfg=2 ctermbg=none cterm=bold guifg=#00ff00 guibg=#000000 gui=none
-highlight Constant ctermfg=6 ctermbg=none cterm=bold guifg=#00ffff guibg=#000000 gui=none
-highlight Identifier ctermfg=4 ctermbg=none cterm=bold guifg=#0000ee guibg=#000000 gui=none
-highlight Statement ctermfg=6 ctermbg=none cterm=none guifg=#00aaaa guibg=#000000 gui=none
-highlight PreProc ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none
-highlight Type ctermfg=6 ctermbg=none cterm=none guifg=#00aaaa guibg=#000000 gui=none
-highlight Special ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none
-highlight Underlined ctermfg=2 ctermbg=none cterm=none guifg=#00aa00 guibg=#000000 gui=none
-highlight Ignore ctermfg=0 ctermbg=none cterm=bold guifg=#aaaaaa guibg=#000000 gui=none
-highlight Error ctermfg=1 ctermbg=none cterm=bold guibg=#ff0000 guibg=#000000 gui=none
-highlight Todo ctermfg=3 ctermbg=none cterm=none guifg=#aaaa00 guibg=#000000 gui=none
-
-" set syntax-specific groups
-" I'd like to avoid using these, but the default settings for these two are
-" just no good. Seeing italic text in Vim is just plain wrong.
-
-highlight htmlBold ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none
-highlight htmlItalic ctermfg=5 ctermbg=none cterm=bold guifg=#ff00ff guibg=#000000 gui=none
diff --git a/.vim/colors/mars.vim b/.vim/colors/mars.vim
deleted file mode 100644
index 408ae79..0000000
--- a/.vim/colors/mars.vim
+++ /dev/null
@@ -1,142 +0,0 @@
-" Maintainer: Tim Aldrich <aldy0169@yahoo.com>
-" Last Change: 19 November 2003
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="mars"
-" GUI colors {{{
-"hi Normal guifg=#FFFFFF guibg=#961E00
-hi Normal guifg=#FFFFFF guibg=#961E00
-hi Cursor guifg=#A0963C guibg=#FFFFFF
-hi CursorIM guifg=#6699CC guibg=#99CCCC
-hi Directory guifg=#B45000 guibg=#961E00
-hi DiffAdd guifg=#FFFFCC guibg=#961E00
-hi DiffChange guifg=#FF9900 guibg=#961E00
-hi DiffDelete guifg=#999999 guibg=#961E00
-hi DiffText guifg=#FFFFFF guibg=#961E00
-hi ErrorMsg guifg=#FFFFFF guibg=#FF0000
-hi VertSplit guifg=#FFFFFF guibg=#961E00
-hi Folded guifg=#999999 guibg=#BE1E00 gui=italic
-hi FoldColumn guifg=#CC0000 guibg=#999999
-hi IncSearch guifg=#FFFF00 guibg=#961E00
-hi LineNr guifg=#999999 guibg=#BE1E00
-hi ModeMsg guifg=#FFFFFF guibg=#961E00
-hi MoreMsg guifg=#FFFFFF guibg=#961E00
-hi NonText guifg=#FFFFFF guibg=#A0141E
-hi Question guifg=#FFFFFF guibg=#EE0000
-hi Search guifg=#A0142B guibg=#FFFF00 gui=underline
-hi SpecialKey guifg=#FFFF00 guibg=#961E00
-hi StatusLine guifg=#FFFFFF guibg=#961E00
-hi StatusLineNC guifg=#CCCCCC guibg=#961E00
-hi Title guifg=#FFFFFF guibg=#FF9900
-hi Visual guifg=#B45000 guibg=#961E00
-hi WarningMsg guifg=#FF0000 guibg=#FFFFFF
-hi WildMenu guifg=#961E00 guibg=#999999
-" }}}
-
-" cterm colors {{{
-hi Normal ctermfg=white ctermbg=darkblue
-hi Cursor ctermfg=darkblue ctermbg=white
-hi CursorIM ctermfg=lightcyan ctermbg=lightcyan
-hi Directory ctermfg=lightblue ctermbg=lightcyan
-hi DiffAdd ctermfg=LightYellow ctermbg=darkblue
-hi DiffChange ctermfg=darkred ctermbg=darkblue
-hi DiffDelete ctermfg=grey ctermbg=darkblue
-hi DiffText ctermfg=white ctermbg=darkblue
-hi ErrorMsg ctermfg=red ctermbg=lightcyan
-hi VertSplit ctermfg=white ctermbg=darkblue
-hi Folded ctermfg=grey ctermbg=darkblue
-hi FoldColumn ctermfg=darkred ctermbg=lightcyan
-hi IncSearch ctermfg=yellow ctermbg=darkblue
-hi LineNr ctermfg=lightyellow ctermbg=darkblue
-hi ModeMsg ctermfg=white ctermbg=darkblue
-hi MoreMsg ctermfg=white ctermbg=darkblue
-hi NonText ctermfg=white ctermbg=lightblue
-hi Question ctermfg=white ctermbg=darkblue
-hi Search ctermfg=darkred ctermbg=lightcyan
-hi SpecialKey ctermfg=yellow ctermbg=darkblue
-hi StatusLine ctermfg=white ctermbg=darkblue
-hi StatusLineNC ctermfg=lightgrey ctermbg=darkblue
-hi Title ctermfg=white ctermbg=yellow
-hi Visual ctermfg=lightblue ctermbg=cyan
-hi WarningMsg ctermfg=red ctermbg=white
-hi WildMenu ctermfg=darkblue ctermbg=grey
-" }}}
-
-" GUI hilight groups {{{
-
-hi Comment guifg=#999999
-hi Constant guifg=#FFFF00
-hi String guifg=#CCCC99
-hi Character guifg=#A0963C
-hi Number guifg=#A0963C
-hi Boolean guifg=#A0963C
-hi Float guifg=#A0963C
-hi Identifier guifg=#E6fA46
-hi Function guifg=#E6fA46
-hi Statement guifg=#FFFFCC
-hi Conditional guifg=#FFFFCC
-hi Repeat guifg=#FFFFCC
-hi Label guifg=#E66E46
-hi Operator guifg=#FFFF00
-hi Keyword guifg=#FFFF00
-hi Exception guifg=#FFFFAA
-hi PreProc guifg=#C8783C
-hi Include guifg=#C8783C
-hi Define guifg=#C8783C
-hi Macro guifg=#C8783C
-hi PreCondit guifg=#C8783C
-hi Type guifg=#E6641E
-hi StorageClass guifg=#E66E46
-hi Structure guifg=#E66E46
-hi Typedef guifg=#E66E46
-hi Special guifg=#00FF00
-hi SpecialChar guifg=#00FF00
-hi Tag guifg=#CCCCFF
-hi Delimiter guifg=#CCCCFF
-hi SpecialComment guifg=#FFFFCC
-hi Debug guifg=#CC3300
-hi Ignore guifg=#961E00
-hi Error guifg=#FF0000 guibg=#FFFFFF
-hi Todo guifg=#FFFF00 guibg=#961E00
-" }}}
-
-" cterm hilight groups {{{
-hi Comment ctermfg=grey
-hi Constant ctermfg=lightgreen
-hi String ctermfg=brown
-hi Character ctermfg=lightgreen
-hi Number ctermfg=lightgreen
-hi Boolean ctermfg=lightgreen
-hi Float ctermfg=lightgreen
-hi Identifier ctermfg=lightcyan
-hi Function ctermfg=lightcyan
-hi Statement ctermfg=lightyellow
-hi Conditional ctermfg=lightyellow
-hi Repeat ctermfg=lightyellow
-hi Label ctermfg=lightcyan
-hi Operator ctermfg=yellow
-hi Keyword ctermfg=yellow
-hi Exception ctermfg=yellow
-hi PreProc ctermfg=darkcyan
-hi Include ctermfg=darkcyan
-hi Define ctermfg=darkcyan
-hi Macro ctermfg=darkcyan
-hi PreCondit ctermfg=darkcyan
-hi Type ctermfg=lightcyan
-hi StorageClass ctermfg=lightcyan
-hi Structure ctermfg=lightcyan
-hi Typedef ctermfg=lightcyan
-hi Special ctermfg=green
-hi SpecialChar ctermfg=green
-hi Tag ctermfg=brown
-hi Delimiter ctermfg=brown
-hi SpecialComment ctermfg=lightyellow
-hi Debug ctermfg=magenta
-hi Ignore ctermfg=lightblue
-hi Error ctermfg=red ctermbg=white
-hi Todo ctermfg=grey ctermbg=white
-" }}}
diff --git a/.vim/colors/matrix.vim b/.vim/colors/matrix.vim
deleted file mode 100644
index da5c687..0000000
--- a/.vim/colors/matrix.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" vim:set ts=8 sts=2 sw=2 tw=0:
-"
-" matrix.vim - MATRIX like colorscheme.
-"
-" Maintainer: MURAOKA Taro <koron@tka.att.ne.jp>
-" Last Change: 10-Jun-2003.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = 'matrix'
-
-" the character under the cursor
-hi Cursor guifg=#226622 guibg=#55ff55
-hi lCursor guifg=#226622 guibg=#55ff55
-" like Cursor, but used when in IME mode |CursorIM|
-hi CursorIM guifg=#226622 guibg=#55ff55
-" directory names (and other special names in listings)
-hi Directory guifg=#55ff55 guibg=#000000
-" diff mode: Added line |diff.txt|
-hi DiffAdd guifg=#55ff55 guibg=#226622 gui=none
-" diff mode: Changed line |diff.txt|
-hi DiffChange guifg=#55ff55 guibg=#226622 gui=none
-" diff mode: Deleted line |diff.txt|
-hi DiffDelete guifg=#113311 guibg=#113311 gui=none
-" diff mode: Changed text within a changed line |diff.txt|
-hi DiffText guifg=#55ff55 guibg=#339933 gui=bold
-" error messages on the command line
-hi ErrorMsg guifg=#55ff55 guibg=#339933
-" the column separating vertically split windows
-hi VertSplit guifg=#339933 guibg=#339933
-" line used for closed folds
-hi Folded guifg=#44cc44 guibg=#113311
-" 'foldcolumn'
-hi FoldColumn guifg=#44cc44 guibg=#226622
-" 'incsearch' highlighting; also used for the text replaced with
-hi IncSearch guifg=#226622 guibg=#55ff55 gui=none
-" line number for ":number" and ":#" commands, and when 'number'
-hi LineNr guifg=#44cc44 guibg=#000000
-" 'showmode' message (e.g., "-- INSERT --")
-hi ModeMsg guifg=#44cc44 guibg=#000000
-" |more-prompt|
-hi MoreMsg guifg=#44cc44 guibg=#000000
-" '~' and '@' at the end of the window, characters from
-hi NonText guifg=#44cc44 guibg=#113311
-" normal text
-hi Normal guifg=#44cc44 guibg=#000000
-" |hit-enter| prompt and yes/no questions
-hi Question guifg=#44cc44 guibg=#000000
-" Last search pattern highlighting (see 'hlsearch').
-hi Search guifg=#113311 guibg=#44cc44 gui=none
-" Meta and special keys listed with ":map", also for text used
-hi SpecialKey guifg=#44cc44 guibg=#000000
-" status line of current window
-hi StatusLine guifg=#55ff55 guibg=#339933 gui=none
-" status lines of not-current windows
-hi StatusLineNC guifg=#113311 guibg=#339933 gui=none
-" titles for output from ":set all", ":autocmd" etc.
-hi Title guifg=#55ff55 guibg=#113311 gui=bold
-" Visual mode selection
-hi Visual guifg=#55ff55 guibg=#339933 gui=none
-" Visual mode selection when vim is "Not Owning the Selection".
-hi VisualNOS guifg=#44cc44 guibg=#000000
-" warning messages
-hi WarningMsg guifg=#55ff55 guibg=#000000
-" current match in 'wildmenu' completion
-hi WildMenu guifg=#226622 guibg=#55ff55
-
-hi Comment guifg=#226622 guibg=#000000
-hi Constant guifg=#55ff55 guibg=#226622
-hi Special guifg=#44cc44 guibg=#226622
-hi Identifier guifg=#55ff55 guibg=#000000
-hi Statement guifg=#55ff55 guibg=#000000 gui=bold
-hi PreProc guifg=#339933 guibg=#000000
-hi Type guifg=#55ff55 guibg=#000000 gui=bold
-hi Underlined guifg=#55ff55 guibg=#000000 gui=underline
-hi Error guifg=#55ff55 guibg=#339933
-hi Todo guifg=#113311 guibg=#44cc44 gui=none
diff --git a/.vim/colors/metacosm.vim b/.vim/colors/metacosm.vim
deleted file mode 100644
index e5eaa5f..0000000
--- a/.vim/colors/metacosm.vim
+++ /dev/null
@@ -1,132 +0,0 @@
-" Vim color file
-" Maintainer: Robert Melton ( vim at metacosm dot dhs dot org )
-" Last Change: 2004 June 19th
-
-
-" -----------------------------------------------------------------------------
-" This color scheme uses a dark grey background.
-" This theme, based on evening (with some input from Torte) is designed to
-" seperate active text (code) from background/line numbers/folds/listchars by
-" having different background colors on the non-code and the code (just
-" slightly). If you look at the screenshot below, you will get the idea.
-" All non-code(include indents) and string literals have a black background
-" while code has a very dark grey background.
-" -----------------------------------------------------------------------------
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "metacosm"
-
-
-" -----------------------------------------------------------------------------
-" Primary (hyper/selected/colored background)
-" -----------------------------------------------------------------------------
-" Search
-hi IncSearch guibg=black guifg=cyan
-hi Search guibg=black guifg=cyan
-
-" Visual
-hi Visual guibg=black guifg=yellow
-hi VisualNOS guibg=black guifg=yellow gui=underline
-
-" Borders
-hi StatusLine guibg=black guifg=white
-hi StatusLineNC guibg=grey22 guifg=grey45
-hi VertSplit guibg=black guifg=grey45
-
-" Cursors
-hi Cursor guibg=white guifg=black
-hi lCursor guibg=white guifg=black
-
-" Diff
-hi DiffText guibg=red guifg=white gui=bold
-hi DiffAdd guibg=darkblue guifg=white
-hi DiffChange guibg=darkmagenta guifg=white
-hi DiffDelete guibg=darkcyan guifg=blue gui=bold
-
-" Misc
-hi Title guifg=magenta gui=bold
-hi Question guibg=black guifg=green gui=bold
-hi Todo guibg=black guifg=cyan
-hi Error guibg=red guifg=white
-hi WildMenu guibg=cyan guifg=black
-
-
-" -----------------------------------------------------------------------------
-" Primary (active/code/text/grey background)
-" -----------------------------------------------------------------------------
-" Normal
-hi Normal guibg=grey22 guifg=white
-
-" Constants
-hi Constant guibg=grey22 guifg=#ffa0a0
-hi String guibg=grey22 guifg=#ffa0a0
-hi Character guibg=grey22 guifg=#ffa0a0
-hi Number guibg=grey22 guifg=#ffa0a0
-hi Boolean guibg=grey22 guifg=#ffa0a0
-hi Float guibg=grey22 guifg=#ffa0a0
-
-" Identifier
-hi Identifier guibg=grey22 guifg=#40ffff
-hi Function guibg=grey22 guifg=#40ffff
-
-" Statement
-hi Statement guibg=grey22 guifg=#ffff60
-hi Conditional guibg=grey22 guifg=#ffff60
-hi Repeat guibg=grey22 guifg=#ffff60
-hi Label guibg=grey22 guifg=#ffff60
-hi Operator guibg=grey22 guifg=#ffff60
-hi Keyword guibg=grey22 guifg=#ffff60
-hi Exception guibg=grey22 guifg=#ffff60
-
-" PreProc
-hi PreProc guibg=grey22 guifg=#ff80ff
-hi Include guibg=grey22 guifg=#ff80ff
-hi Define guibg=grey22 guifg=#ff80ff
-hi Macro guibg=grey22 guifg=#ff80ff
-hi PreCondit guibg=grey22 guifg=#ff80ff
-
-" Type
-hi Type guibg=grey22 guifg=#60ff60
-hi StorageClass guibg=grey22 guifg=#60ff60
-hi Structure guibg=grey22 guifg=#60ff60
-hi Typedef guibg=grey22 guifg=#60ff60
-
-" Special
-hi Special guibg=grey22 guifg=orange
-hi SpecialChar guibg=grey22 guifg=orange
-hi Tag guibg=grey22 guifg=orange
-hi Delimiter guibg=grey22 guifg=orange
-hi Debug guibg=grey22 guifg=orange
-
-" Misc
-hi Underlined guibg=grey22 guifg=#ffff60 gui=underline
-
-
-" -----------------------------------------------------------------------------
-" Secondary (inactive/black background)
-" -----------------------------------------------------------------------------
-" Comments
-hi Comment guibg=black guifg=#80a0ff
-hi SpecialComment guibg=black guifg=#80a0ff gui=underline
-
-" Messages
-hi ModeMsg guibg=black guifg=white gui=bold
-hi MoreMsg guibg=black guifg=seagreen gui=bold
-hi WarningMsg guibg=black guifg=blue gui=bold
-hi ErrorMsg guibg=black guifg=red gui=bold
-
-" Folding
-hi Folded guibg=black guifg=grey45
-hi FoldColumn guibg=black guifg=grey45
-
-" Misc
-hi Ignore guibg=black guifg=grey45
-hi NonText guibg=black guifg=grey45
-hi LineNr guibg=black guifg=grey45
-hi SpecialKey guibg=black guifg=grey45
-hi SignColumn guibg=black guifg=grey45
-hi Directory guibg=black guifg=cyan
diff --git a/.vim/colors/midnight.vim b/.vim/colors/midnight.vim
deleted file mode 100644
index 5fab610..0000000
--- a/.vim/colors/midnight.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Vim color file
-" Maintainer: Michael Brailsford <brailsmt@yahoo.com>
-" Date: $Date: 2002/04/11 03:29:51 $
-" Version: $Revision: 1.4 $
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-" your pick:
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="midnight"
-
-hi Normal guifg=lightsteelblue guibg=#00006f ctermfg=14
-
-"Toggle semicolon matching at the end of lines
-nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr>
-"{{{
-function! ToggleSemicolonHighlighting()
- if exists("b:semicolon")
- unlet b:semicolon
- hi semicolon guifg=NONE gui=NONE ctermfg=NONE
- else
- syn match semicolon #;$#
- hi semicolon guifg=red gui=bold ctermfg=1
- let b:semicolon = 1
- endif
-endfunction
-"}}}
-
-hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11
-"hi CursorIM
-hi Directory gui=bold
-hi DiffAdd guifg=yellow guibg=darkgreen ctermbg=0
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg guibg=red ctermfg=1
-"hi VertSplit
-hi Folded guibg=#000047 ctermbg=4 guifg=yellow ctermfg=11 gui=bold
-hi FoldColumn guibg=steelblue3 ctermbg=14 guifg=darkblue ctermfg=11 gui=bold
-"hi IncSearch
-hi LineNr guifg=yellow ctermfg=11
-hi ModeMsg guifg=yellow gui=bold
-"hi MoreMsg
-"hi NonText
-"hi Question
-hi Search guibg=yellow guifg=bg
-"hi SpecialKey
-hi StatusLine guifg=steelblue1
-hi StatusLineNC guifg=steelblue3
-"hi Title
-hi Visual guifg=fg guibg=bg
-"hi VisualNOS
-"hi WarningMsg
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=green ctermfg=10
-hi Constant guifg=lightmagenta gui=bold ctermfg=13
-hi String guifg=indianred1 ctermfg=5
-hi Character guifg=violet ctermfg=5
-hi Number guifg=turquoise1 ctermfg=5
-"hi Identifier
-hi Statement guifg=khaki1 gui=bold ctermfg=15 cterm=underline
-hi PreProc guifg=firebrick1 gui=italic ctermfg=9
-hi Type guifg=gold gui=bold ctermfg=3
-"hi Special
-"hi Underlined
-"hi Ignore
-"hi Error
-hi Todo guifg=yellow guibg=blue gui=bold
diff --git a/.vim/colors/midnight2.vim b/.vim/colors/midnight2.vim
deleted file mode 100644
index da99d00..0000000
--- a/.vim/colors/midnight2.vim
+++ /dev/null
@@ -1,86 +0,0 @@
-" Vim color file
-" Maintainer: Michael Brailsford <brailsmt@yahoo.com>
-" Date: $Date: 2002/04/11 03:29:51 $
-" Version: $Revision: 1.4 $
-" Inspiration: This colorscheme was inspired by midnight.vim. It is a darker
-" version of it. With some colors tweaked.
-" Thanks: Thanks go to Hans Fugal for creating the colorscheme template.
-" Without it I would have been lost creating the original midnight.vim
-" Note: If you do not like the dark look of the colorscheme, you can
-" easily lighten things up with the following line:
-" :%s/\(\w\)3/\12/g
-" It is easily pasteable into the command line. you can also
-" change "\12" to "\11", "\1" or "\14" (if you want things even
-" darker). If you do use the "\14" replacement, then it looks
-" like your monitor in a fog bank. :)
-
-" your pick:
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="midnight2"
-
-hi Normal guifg=slategray3 guibg=#000029 ctermfg=14
-
-"Toggle semicolon matching at the end of lines
-nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr>
-"{{{
-function! ToggleSemicolonHighlighting()
- if exists("b:semicolon")
- unlet b:semicolon
- hi semicolon guifg=NONE gui=NONE ctermfg=NONE
- else
- syn match semicolon #;$#
- hi semicolon guifg=red3 gui=bold ctermfg=1
- let b:semicolon = 1
- endif
-endfunction
-"}}}
-
-hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11
-"hi CursorIM
-hi Directory gui=bold
-hi DiffAdd guifg=yellow3 guibg=darkgreen ctermbg=0
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg guibg=red3 ctermfg=1
-"hi VertSplit
-hi Folded guibg=#00001a ctermbg=4 guifg=yellow3 ctermfg=11 gui=NONE
-hi FoldColumn guibg=steelblue3 ctermbg=14 guifg=navyblue ctermfg=11 gui=bold
-"hi IncSearch
-hi LineNr guifg=yellow3 ctermfg=11
-hi ModeMsg guifg=yellow3 gui=bold
-"hi MoreMsg
-"hi NonText
-"hi Question
-hi Search guibg=yellow3 guifg=bg
-"hi SpecialKey
-hi StatusLine guifg=steelblue3
-hi StatusLineNC guifg=steelblue4
-"hi Title
-hi Visual guifg=fg guibg=bg
-"hi VisualNOS
-"hi WarningMsg
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=chartreuse3 ctermfg=10
-hi Constant guifg=plum3 gui=bold ctermfg=13
-hi String guifg=indianred3 ctermfg=5
-hi Character guifg=mediumpurple3 ctermfg=5
-hi Number guifg=turquoise3 ctermfg=5
-"hi Identifier
-hi Statement guifg=khaki3 gui=bold ctermfg=15 cterm=underline
-hi PreProc guifg=firebrick3 gui=italic ctermfg=9
-hi Type guifg=gold3 gui=bold ctermfg=3
-"hi Special
-"hi Underlined
-"hi Ignore
-"hi Error
-hi Todo guifg=yellow3 guibg=blue3 gui=bold
diff --git a/.vim/colors/mod_tcsoft.vim b/.vim/colors/mod_tcsoft.vim
deleted file mode 100644
index b36dab2..0000000
--- a/.vim/colors/mod_tcsoft.vim
+++ /dev/null
@@ -1,68 +0,0 @@
-"mod_tcsoft is based on the tcsoft-color scheme
-"(http://www.vim.org/scripts/script.php?script_id=641), made by Ingo Fabbri
-"<vim@tcsoft.net>
-"
-"I changed the cursor and the background-colors. Hope you like it.
-
-" Author: André Kelpe <fs111 at web dot de>
-" Last Change: Jan 13 10:33:46 CET 2005
-"
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = "mod_tcsoft"
-
-hi Normal guifg=#000000 guibg=floralwhite
-hi Ignore guifg=bg
-hi Comment guifg=#1050ff gui=italic
-hi Folded guifg=black guibg=#d1cdc5
-hi FoldColumn guifg=black guibg=#d1cdc5
-hi Constant guifg=#666666 gui=NONE "grau
-hi Special guifg=#FF0000 gui=NONE "rot
-hi Identifier guifg=#993300 gui=NONE "rostfarbig
-hi Statement guifg=#FF9900 gui=NONE "orange
-hi PreProc guifg=#009900 gui=NONE "dunkelgrün
-hi Type guifg=#FF9900 gui=bold "orange
-hi Cursor guifg=#FFFFFF guibg=#000000 "schwarz
-hi LineNr guifg=#000000 gui=NONE "schwarz
-hi StatusLine guifg=#000000 gui=reverse,bold "schwarz
-hi Title guifg=#1050ff gui=bold
-hi Todo guibg=#1050ff guifg=floralwhite gui=bold
-hi Search guifg=white guibg=#1050ff
-
-
-hi link Function PreProc
-hi link String Constant
-hi link Character Constant
-
-hi! link MoreMsg Comment
-hi! link ErrorMsg Visual
-hi! link WarningMsg ErrorMsg
-hi! link Question Comment
-
-hi link Number Special
-hi link Boolean Constant
-hi link Float Number
-
-hi link Operator Identifier
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Comment
-hi link Debug Special
diff --git a/.vim/colors/navajo-night.vim b/.vim/colors/navajo-night.vim
deleted file mode 100644
index f0c27f0..0000000
--- a/.vim/colors/navajo-night.vim
+++ /dev/null
@@ -1,119 +0,0 @@
-" Vim colour file
-" Maintainer: Matthew Hawkins <matt@mh.dropbear.id.au>
-" Last Change: Mon, 22 Apr 2002 15:28:04 +1000
-" URI: http://mh.dropbear.id.au/vim/navajo-night.png
-"
-" This colour scheme uses a "navajo-black" background
-" I have added colours for the statusbar and for spell checking
-" as taken from Cream (http://cream.sf.net/)
-
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "navajo-night"
-
-" This is the list of colour changes from Navajo that
-" weren't a simple mathematical subtraction from 0xffffff
-" DarkBlue -> #ffff74
-" DarkRed -> #74ffff
-" DarkGreen -> #ff9bff
-" DarkCyan -> #ff7474
-" DarkMagenta -> #74ff74
-" DarkYellow -> #7474ff
-" DarkGray -> #565656
-" Blue -> Yellow
-" Red -> Cyan
-" Yellow -> Blue
-" Gray -> #414141
-" Brown -> #5ad5d5
-" #ff8060 -> #007f9f
-" #f6e8d0 -> #09172f
-" #edb5cd -> #124a32
-" #c0c0c0 -> #3f3f3f
-" #907050 -> #6f8faf
-" #808080 -> #7f7f7f
-" #707070 -> #8f8f8f
-" SeaGreen -> #d174a8
-" LightRed (assuming #ee9090) -> #116f6f
-" LightBlue -> #522719
-
-hi Normal ctermfg=White guifg=White guibg=#35536f
-
-hi SpecialKey term=bold ctermfg=darkblue guifg=Yellow
-hi NonText term=bold ctermfg=darkblue cterm=bold gui=bold guifg=#7f7f7f
-hi Directory term=bold ctermfg=darkblue guifg=Yellow
-hi ErrorMsg term=standout ctermfg=grey ctermbg=darkred cterm=bold gui=bold guifg=Black guibg=Cyan
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi Search term=reverse ctermbg=White ctermfg=Black cterm=reverse guibg=Black guifg=Yellow
-hi MoreMsg term=bold ctermfg=green gui=bold guifg=#d174a8
-hi ModeMsg term=bold cterm=bold gui=bold
-hi LineNr term=underline ctermfg=darkcyan ctermbg=grey guibg=#7f7f7f gui=bold guifg=White
-hi Question term=standout ctermfg=darkgreen gui=bold guifg=#d174a8
-hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=Black guibg=White
-hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=#116f6f guibg=#8f8f8f
-hi VertSplit term=reverse cterm=reverse gui=bold guifg=Black guibg=#8f8f8f
-hi Title term=bold ctermfg=green gui=bold guifg=#74ff74
-"+++ Cream:
-"hi Visual term=reverse cterm=reverse gui=reverse guifg=#3f3f3f guibg=White
-"+++
-hi VisualNOS term=bold,underline cterm=bold,underline gui=reverse guifg=#414141 guibg=Black
-hi WarningMsg term=standout ctermfg=darkred gui=bold guifg=Cyan
-hi WildMenu term=standout ctermfg=White ctermbg=darkyellow guifg=White guibg=Blue
-hi Folded term=standout ctermfg=darkblue ctermbg=grey guifg=White guibg=NONE guifg=#afcfef
-hi FoldColumn term=standout ctermfg=darkblue ctermbg=grey guifg=#ffff74 guibg=#3f3f3f
-hi DiffAdd term=bold ctermbg=darkblue guibg=Black
-hi DiffChange term=bold ctermbg=darkmagenta guibg=#124a32
-hi DiffDelete term=bold ctermfg=darkblue ctermbg=blue cterm=bold gui=bold guifg=#522719 guibg=#09172f
-hi DiffText term=reverse ctermbg=darkblue cterm=bold gui=bold guibg=#007f9f
-hi Cursor gui=reverse guifg=#bfbfef guibg=Black
-hi lCursor guifg=fg guibg=bg
-hi Match term=bold,reverse ctermbg=Blue ctermfg=Yellow cterm=bold,reverse gui=bold,reverse guifg=Blue guibg=Yellow
-
-
-" Colours for syntax highlighting
-hi Comment term=bold ctermfg=darkblue guifg=#e7e77f
-hi Constant term=underline ctermfg=darkred guifg=#3fffa7
-hi Special term=bold ctermfg=darkgreen guifg=#bfbfef
-hi Identifier term=underline ctermfg=darkcyan cterm=NONE guifg=#ef9f9f
-hi Statement term=bold ctermfg=darkred cterm=bold gui=bold guifg=#5ad5d5
-hi PreProc term=underline ctermfg=darkmagenta guifg=#74ff74
-hi Type term=underline ctermfg=green gui=bold guifg=#d174a8
-hi Ignore ctermfg=grey cterm=bold guifg=bg
-
-hi Error term=reverse ctermfg=grey ctermbg=darkred cterm=bold gui=bold guifg=Black guibg=Cyan
-hi Todo term=standout ctermfg=darkblue ctermbg=Blue guifg=Yellow guibg=Blue
-
-"+++ Cream: statusbar
-" Colours for statusbar
-"hi User1 gui=bold guifg=#565656 guibg=#0c0c0c
-"hi User2 gui=bold guifg=White guibg=#0c0c0c
-"hi User3 gui=bold guifg=Yellow guibg=#0c0c0c
-"hi User4 gui=bold guifg=Cyan guibg=#0c0c0c
-highlight User1 gui=bold guifg=#999933 guibg=#45637f
-highlight User2 gui=bold guifg=#e7e77f guibg=#45637f
-highlight User3 gui=bold guifg=Black guibg=#45637f
-highlight User4 gui=bold guifg=#33cc99 guibg=#45637f
-"+++
-
-"+++ Cream: selection
-highlight Visual gui=bold guifg=Black guibg=#aacc77
-"+++
-
-"+++ Cream: bookmarks
-highlight Cream_ShowMarksHL ctermfg=blue ctermbg=lightblue cterm=bold guifg=Black guibg=#aacc77 gui=bold
-"+++
-
-"+++ Cream: spell check
-" Colour misspelt words
-"hi BadWord ctermfg=White ctermbg=darkred cterm=bold guifg=Yellow guibg=#522719 gui=bold
-" mathematically correct:
-"highlight BadWord ctermfg=black ctermbg=lightblue gui=NONE guifg=White guibg=#003333
-" adjusted:
-highlight BadWord ctermfg=black ctermbg=lightblue gui=NONE guifg=#ff9999 guibg=#003333
-"+++
-
-
diff --git a/.vim/colors/navajo.vim b/.vim/colors/navajo.vim
deleted file mode 100644
index e7eebe7..0000000
--- a/.vim/colors/navajo.vim
+++ /dev/null
@@ -1,65 +0,0 @@
-" Vim color file
-" Maintainer: R. Edward Ralston <eralston@techsan.org>
-" Last Change: 2002-01-24 09:56:48
-" URI: http://eralston.tripod.com/navajo.png
-"
-" This color scheme uses a "navajo-white" background
-"
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "navajo"
-
-" looks good on Linux
-"hi Normal ctermfg=Black guifg=Black guibg=#b39674
-"hi Normal ctermfg=Black guifg=Black guibg=NavajoWhite3
-
-" slightly brighter for w32
-hi Normal ctermfg=Black guifg=Black guibg=#ba9c80
-
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
-hi NonText term=bold ctermfg=DarkBlue cterm=bold gui=bold guifg=#808080
-hi Directory term=bold ctermfg=DarkBlue guifg=Blue
-hi ErrorMsg term=standout ctermfg=Gray ctermbg=DarkRed cterm=bold gui=bold guifg=White guibg=Red
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi Search term=reverse ctermbg=Black ctermfg=White cterm=reverse guibg=White
-hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi ModeMsg term=bold cterm=bold gui=bold
-hi LineNr term=underline ctermfg=DarkCyan ctermbg=Gray guibg=#808080 gui=bold guifg=black
-hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=White guibg=Black
-hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=LightRed guibg=#707070
-hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=#707070
-hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=DarkMagenta
-hi Visual term=reverse cterm=reverse gui=reverse guifg=#c0c0c0 guibg=black
-hi VisualNOS term=bold,underline cterm=bold,underline gui=reverse guifg=Grey guibg=white
-hi WarningMsg term=standout ctermfg=DarkRed gui=bold guifg=Red
-hi WildMenu term=standout ctermfg=Black ctermbg=DarkYellow guifg=Black guibg=Yellow
-hi Folded term=standout ctermfg=DarkBlue ctermbg=Gray guifg=Black guibg=NONE guifg=#907050
-hi FoldColumn term=standout ctermfg=DarkBlue ctermbg=Gray guifg=DarkBlue guibg=#c0c0c0
-hi DiffAdd term=bold ctermbg=DarkBlue guibg=White
-hi DiffChange term=bold ctermbg=DarkMagenta guibg=#edb5cd
-hi DiffDelete term=bold ctermfg=DarkBlue ctermbg=6 cterm=bold gui=bold guifg=LightBlue guibg=#f6e8d0
-hi DiffText term=reverse ctermbg=DarkRed cterm=bold gui=bold guibg=#ff8060
-hi Cursor gui=reverse guifg=#404010 guibg=white
-hi lCursor guifg=bg guibg=fg
-hi Match term=bold,reverse ctermbg=Yellow ctermfg=Blue cterm=bold,reverse gui=bold,reverse guifg=yellow guibg=blue
-
-
-" Colors for syntax highlighting
-hi Comment term=bold ctermfg=DarkBlue guifg=#181880
-hi Constant term=underline ctermfg=DarkRed guifg=#c00058
-hi Special term=bold ctermfg=DarkMagenta guifg=#404010
-hi Identifier term=underline ctermfg=DarkCyan cterm=NONE guifg=#106060
-hi Statement term=bold ctermfg=DarkRed cterm=bold gui=bold guifg=Brown
-hi PreProc term=underline ctermfg=DarkMagenta guifg=DarkMagenta
-hi Type term=underline ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Ignore ctermfg=Gray cterm=bold guifg=bg
-hi Error term=reverse ctermfg=Gray ctermbg=DarkRed cterm=bold gui=bold guifg=White guibg=Red
-hi Todo term=standout ctermfg=DarkBlue ctermbg=Yellow guifg=Blue guibg=Yellow
-
-" vim:set list et:
diff --git a/.vim/colors/nedit.vim b/.vim/colors/nedit.vim
deleted file mode 100644
index 652891f..0000000
--- a/.vim/colors/nedit.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-" Vim color file
-" Maintainer: Vladimir Vrzic <random@bsd.org.yu>
-" Last Change: 28. june 2003.
-" URL: http://galeb.etf.bg.ac.yu/~random/pub/vim/
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="nedit"
-
-hi Normal guifg=Black guibg=grey90
-
-hi Comment gui=italic guifg=gray20 guibg=NONE
-hi Constant gui=NONE guifg=darkGreen guibg=NONE
-hi Identifier gui=bold guifg=red guibg=NONE
-hi Statement gui=bold guifg=black guibg=NONE
-hi PreProc gui=NONE guifg=RoyalBlue4 guibg=NONE
-hi Type gui=bold guifg=brown guibg=NONE
-hi Special gui=NONE guifg=darkGreen guibg=NONE
-"hi Underlined
-"hi Ignore
-"hi Error
-"hi Todo
-
diff --git a/.vim/colors/nedit2.vim b/.vim/colors/nedit2.vim
deleted file mode 100644
index 54811f0..0000000
--- a/.vim/colors/nedit2.vim
+++ /dev/null
@@ -1,29 +0,0 @@
-" Vim color file based on nedit by Vladimir Vrzic <random@bsd.org.yu>
-" Maintainer: KraL <kral@paranoici.org>
-" Last Change: Friday 13 february 2004.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="nedit2"
-
-hi Normal guifg=Black guibg=grey90
-
-hi Cursor guifg=white guibg=black
-hi CursorIM guifg=black guibg=black
-
-hi Comment gui=italic guifg=Purple guibg=NONE
-hi Constant gui=NONE guifg=blue guibg=NONE
-hi Identifier gui=bold guifg=red guibg=NONE
-hi Statement gui=bold guifg=black guibg=NONE
-hi PreProc gui=NONE guifg=RoyalBlue4 guibg=NONE
-hi Type gui=bold guifg=brown guibg=NONE
-hi String gui=NONE guifg=RoyalBlue guibg=NONE
-hi Special gui=bold guifg=Magenta3 guibg=NONE
-"hi Underlined
-"hi Ignore
-"hi Error gui=NONE guifg=Red guibg=Linen
-"hi Todo
-
diff --git a/.vim/colors/neon.vim b/.vim/colors/neon.vim
deleted file mode 100644
index d0ba309..0000000
--- a/.vim/colors/neon.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/25 Fri 16:23.
-" version: 1.2
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "neon"
-
-hi Normal guifg=#f0f0f0 guibg=#303030
-
-" Search
-hi IncSearch gui=UNDERLINE guifg=#80ffff guibg=#0060c0
-hi Search gui=NONE guifg=#ffffa8 guibg=#808000
-" hi Search gui=NONE guifg=#b0ffb0 guibg=#008000
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffa0ff guibg=NONE
-hi WarningMsg gui=BOLD guifg=#ffa0ff guibg=NONE
-hi ModeMsg gui=BOLD guifg=#a0d0ff guibg=NONE
-hi MoreMsg gui=BOLD guifg=#70ffc0 guibg=#8040ff
-hi Question gui=BOLD guifg=#e8e800 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#c4c4c4
-hi StatusLineNC gui=NONE guifg=#707070 guibg=#c4c4c4
-hi VertSplit gui=NONE guifg=#707070 guibg=#c4c4c4
-hi WildMenu gui=NONE guifg=#000000 guibg=#ff80c0
-
-" Diff
-hi DiffText gui=NONE guifg=#ff78f0 guibg=#a02860
-hi DiffChange gui=NONE guifg=#e03870 guibg=#601830
-hi DiffDelete gui=NONE guifg=#a0d0ff guibg=#0020a0
-hi DiffAdd gui=NONE guifg=#a0d0ff guibg=#0020a0
-
-" Cursor
-hi Cursor gui=NONE guifg=#70ffc0 guibg=#8040ff
-hi lCursor gui=NONE guifg=#ffffff guibg=#8800ff
-hi CursorIM gui=NONE guifg=#ffffff guibg=#8800ff
-
-" Fold
-hi Folded gui=NONE guifg=#40f0f0 guibg=#006090
-hi FoldColumn gui=NONE guifg=#40c0ff guibg=#404040
-
-" Other
-hi Directory gui=NONE guifg=#c8c8ff guibg=NONE
-hi LineNr gui=NONE guifg=#707070 guibg=NONE
-hi NonText gui=BOLD guifg=#d84070 guibg=#383838
-hi SpecialKey gui=BOLD guifg=#8888ff guibg=NONE
-hi Title gui=BOLD guifg=fg guibg=NONE
-hi Visual gui=NONE guifg=#b0ffb0 guibg=#008000
-hi VisualNOS gui=NONE guifg=#ffe8c8 guibg=#c06800
-
-" Syntax group
-hi Comment gui=NONE guifg=#c0c0c0 guibg=NONE
-hi Constant gui=NONE guifg=#92d4ff guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#8000ff
-hi Identifier gui=NONE guifg=#40f8f8 guibg=NONE
-hi Ignore gui=NONE guifg=bg guibg=NONE
-hi PreProc gui=NONE guifg=#ffa8ff guibg=NONE
-hi Special gui=NONE guifg=#ffc890 guibg=NONE
-hi Statement gui=NONE guifg=#dcdc78 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#ff80d0 guibg=NONE
-hi Type gui=NONE guifg=#60f0a8 guibg=NONE
-hi Underlined gui=UNDERLINE guifg=fg guibg=NONE
diff --git a/.vim/colors/night.vim b/.vim/colors/night.vim
deleted file mode 100644
index 8fb7f56..0000000
--- a/.vim/colors/night.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/13 Sun 16:59.
-" version: 2.2
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "night"
-
-hi Normal guifg=#f0f0f8 guibg=#303040
-
-" Search
-hi IncSearch gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=#d000d0
-hi Search gui=BOLD guifg=#ffd0ff guibg=#c000c0
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#f00080
-hi WarningMsg gui=BOLD guifg=#ffffff guibg=#f00080
-hi ModeMsg gui=BOLD guifg=#00e0ff guibg=NONE
-hi MoreMsg gui=BOLD guifg=#00ffdd guibg=NONE
-hi Question gui=BOLD guifg=#d0d050 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#c8c8d8
-hi StatusLineNC gui=NONE guifg=#606080 guibg=#c8c8d8
-hi VertSplit gui=NONE guifg=#606080 guibg=#c8c8d8
-hi WildMenu gui=NONE guifg=#000000 guibg=#e0e078
-
-" Diff
-hi DiffText gui=NONE guifg=#ffffff guibg=#40a060
-hi DiffChange gui=NONE guifg=#ffffff guibg=#007070
-hi DiffDelete gui=NONE guifg=#ffffff guibg=#40a0c0
-hi DiffAdd gui=NONE guifg=#ffffff guibg=#40a0c0
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#d86020
-hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0
-hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0
-
-" Fold
-hi Folded gui=NONE guifg=#ffffff guibg=#9060c0
-hi FoldColumn gui=NONE guifg=#c0a0ff guibg=#404052
-
-" Other
-hi Directory gui=NONE guifg=#00ffff guibg=NONE
-hi LineNr gui=NONE guifg=#787894 guibg=NONE
-hi NonText gui=BOLD guifg=#8040ff guibg=#383848
-hi SpecialKey gui=BOLD guifg=#60a0ff guibg=NONE
-hi Title gui=BOLD guifg=#f0f0f8 guibg=#9000a0
-hi Visual gui=NONE guifg=#ffffff guibg=#c08040
-" hi VisualNOS gui=NONE guifg=#ffffff guibg=#c08040
-
-" Syntax group
-hi Comment gui=NONE guifg=#e0e070 guibg=NONE
-hi Constant gui=NONE guifg=#f0f0f8 guibg=#4830a0
-hi Error gui=BOLD guifg=#ffffff guibg=#f00080
-hi Identifier gui=NONE guifg=#ffa0ff guibg=NONE
-hi Ignore gui=NONE guifg=#303040 guibg=NONE
-hi Number gui=BOLD guifg=#b8b8c8 guibg=NONE
-hi PreProc gui=NONE guifg=#40ffa0 guibg=NONE
-hi Special gui=NONE guifg=#40f8f8 guibg=#4830a0
-hi Statement gui=BOLD guifg=#00d8f8 guibg=NONE
-hi Todo gui=BOLD guifg=#00ffe0 guibg=#0080a0
-hi Type gui=BOLD guifg=#bbaaff guibg=NONE
-hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE
diff --git a/.vim/colors/nightshimmer.vim b/.vim/colors/nightshimmer.vim
deleted file mode 100644
index 53dce84..0000000
--- a/.vim/colors/nightshimmer.vim
+++ /dev/null
@@ -1,111 +0,0 @@
-" Vim color file
-" Maintainer: Niklas Lindström <nlm@valtech.se>
-" Last Change: 2002-03-22
-" Version: 0.3
-" URI: http://localhost/
-
-
-""" Init
-set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "nightshimmer"
-
-
-""""""""\ Colors \""""""""
-
-
-"""" GUI Colors
-
-highlight Cursor gui=None guibg=Green guifg=White
-highlight CursorIM gui=bold guifg=white guibg=Green1
-highlight Directory guifg=LightSeaGreen guibg=bg
-highlight DiffAdd gui=None guifg=fg guibg=DarkCyan
-highlight DiffChange gui=None guifg=fg guibg=Green4
-highlight DiffDelete gui=None guifg=fg guibg=black
-highlight DiffText gui=bold guifg=fg guibg=bg
-highlight ErrorMsg guifg=LightYellow guibg=FireBrick
-" previously 'FillColumn':
-"highlight FillColumn gui=NONE guifg=black guibg=grey60
-highlight VertSplit gui=NONE guifg=black guibg=grey60
-highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0
-highlight FoldColumn gui=bold guibg=#305060 guifg=#b0d0e0
-highlight IncSearch gui=reverse guifg=fg guibg=bg
-highlight LineNr gui=bold guibg=grey6 guifg=Purple3
-highlight ModeMsg guibg=DarkGreen guifg=LightGreen
-highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg
-if version < 600
- " same as SpecialKey
- highlight NonText guibg=#123A4A guifg=#3D5D6D
-else
- " Bottom fill (use e.g. same as LineNr)
- highlight NonText gui=None guibg=grey6 guifg=Purple
-endif
-highlight Normal gui=None guibg=#103040 guifg=honeydew2
-highlight Question gui=bold guifg=SeaGreen2 guibg=bg
-highlight Search gui=NONE guibg=Purple4 guifg=NONE
-highlight SpecialKey guibg=#123A4A guifg=#426272
-highlight StatusLine gui=bold guibg=grey88 guifg=black
-highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10
-highlight Title gui=bold guifg=MediumOrchid1 guibg=bg
-highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen
-highlight VisualNOS gui=bold,underline guifg=fg guibg=bg
-highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg
-highlight WildMenu gui=bold guibg=Chartreuse guifg=Black
-
-
-"""" Syntax Colors
-
-highlight Comment gui=reverse guifg=#507080
-"highlight Comment gui=None guifg=#507080
-
-highlight Constant guifg=Cyan guibg=bg
- "hi String gui=None guifg=Cyan guibg=bg
- "hi Character gui=None guifg=Cyan guibg=bg
- highlight Number gui=None guifg=Cyan guibg=bg
- highlight Boolean gui=bold guifg=Cyan guibg=bg
- "hi Float gui=None guifg=Cyan guibg=bg
-
-highlight Identifier guifg=orchid1
- "hi Function gui=None guifg=orchid1 guibg=bg
-
-highlight Statement gui=NONE guifg=LightGreen
- highlight Conditional gui=None guifg=LightGreen guibg=bg
- highlight Repeat gui=None guifg=SeaGreen2 guibg=bg
- "hi Label gui=None guifg=LightGreen guibg=bg
- highlight Operator gui=None guifg=Chartreuse guibg=bg
- highlight Keyword gui=bold guifg=LightGreen guibg=bg
- highlight Exception gui=bold guifg=LightGreen guibg=bg
-
-highlight PreProc guifg=MediumPurple1
- "hi Include gui=None guifg=MediumPurple1 guibg=bg
- "hi Define gui=None guifg=MediumPurple1g guibg=bg
- "hi Macro gui=None guifg=MediumPurple1g guibg=bg
- "hi PreCondit gui=None guifg=MediumPurple1g guibg=bg
-
-highlight Type gui=NONE guifg=LightBlue
- "hi StorageClass gui=None guifg=LightBlue guibg=bg
- "hi Structure gui=None guifg=LightBlue guibg=bg
- "hi Typedef gui=None guifg=LightBlue guibg=bg
-
-highlight Special gui=bold guifg=White
- "hi SpecialChar gui=bold guifg=White guibg=bg
- "hi Tag gui=bold guifg=White guibg=bg
- "hi Delimiter gui=bold guifg=White guibg=bg
- "hi SpecialComment gui=bold guifg=White guibg=bg
- "hi Debug gui=bold guifg=White guibg=bg
-
-highlight Underlined gui=underline guifg=honeydew4 guibg=bg
-
-highlight Ignore guifg=#204050
-
-highlight Error guifg=LightYellow guibg=FireBrick
-
-highlight Todo guifg=Cyan guibg=#507080
-
-""" OLD COLORS
-
-
-
diff --git a/.vim/colors/nightwish.vim b/.vim/colors/nightwish.vim
deleted file mode 100644
index e9bfe55..0000000
--- a/.vim/colors/nightwish.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file, derived from colorscheme 'murphy'
-" Maintainer: Michael Muhler <muhler AT web.de>
-" Version: 1.0
-" URL: http://home.arcor.de/muhler
-" Last Change: 2003 Apr 15
-
-"help see colortest.vim
-
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "nightwish"
-
-
-hi Comment term=bold ctermfg=LightRed guifg=Orange
-hi Constant term=underline ctermfg=LightGreen guifg=White gui=NONE
-hi Directory term=bold ctermfg=LightCyan guifg=Cyan
-hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi Identifier term=underline ctermfg=LightCyan guifg=#00ffff
-hi Ignore ctermfg=black guifg=bg
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi LineNr term=underline ctermfg=Yellow guifg=Yellow
-hi ModeMsg term=bold cterm=bold gui=bold
-hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue
-hi PreProc term=underline ctermfg=LightBlue guifg=Wheat
-hi Question term=standout ctermfg=LightGreen gui=bold guifg=Cyan
-hi Search term=reverse guifg=white guibg=Blue
-hi Special term=bold ctermfg=LightRed guifg=magenta
-hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan
-hi Statement term=bold ctermfg=Yellow guifg=#ffff00 gui=NONE
-hi StatusLine term=reverse,bold cterm=reverse gui=NONE guifg=White guibg=darkblue
-hi StatusLineNC term=reverse cterm=reverse gui=NONE guifg=white guibg=#333333
-hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Pink
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
-hi Type ctermfg=LightGreen guifg=grey gui=none
-hi Visual term=reverse cterm=reverse gui=NONE guifg=white guibg=darkgreen
-hi WarningMsg term=standout ctermfg=LightRed guifg=Red
-
-hi Normal ctermbg=Black ctermfg=lightgreen guibg=Black guifg=#a0a0ff
-hi Cursor guifg=bg guibg=Green
-hi String term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0
-hi Repeat term=underline ctermfg=Magenta guifg=Red
-hi Delimiter term=standout ctermfg=Blue guifg=#00ff88
-hi Label term=standout ctermfg=DarkYellow guifg=DarkYellow
-hi Keyword term=standout ctermfg=Green guifg=Green
-hi Operator term=standout ctermfg=Yellow guifg=#ff5555
-hi Exception term=standout ctermfg=Magenta guifg=#ff0dd5
-hi Tag term=standout ctermfg=Green guifg=#55ff0d
-
-" missing items in murphy
-hi Scrollbar guifg=darkcyan guibg=cyan
-hi Menu guifg=black guibg=cyan
-hi link Conditional Repeat
diff --git a/.vim/colors/northsky.vim b/.vim/colors/northsky.vim
deleted file mode 100644
index e705ae4..0000000
--- a/.vim/colors/northsky.vim
+++ /dev/null
@@ -1,70 +0,0 @@
-" Vim color file based on bluegreen
-" Maintainer: Sergey Khorev
-" Last Change:
-" URL:
-
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="northsky"
-
-hi Normal guifg=white guibg=#061A3E
-
-" Search
-"hi Search guibg=#A28D68 guifg=bg gui=none
-"hi Search guibg=#4668A1 guifg=bg gui=none
-hi Search guibg=#3D5B8C guifg=yellow gui=none
-hi IncSearch guifg=bg guibg=cyan gui=bold
-
-" highlight groups
-hi Cursor guibg=#D74141 guifg=#e3e3e3
-hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none
-hi Folded guifg=plum1 guibg=#061A3E
-hi FoldColumn guibg=#800080 guifg=tan
-hi ModeMsg guifg=#404040 guibg=#C0C0C0
-hi MoreMsg guifg=darkturquoise guibg=#188F90
-hi NonText guibg=#334C75 guifg=#9FADC5
-hi Question guifg=#F4BB7E
-
-hi SpecialKey guifg=#BF9261
-hi StatusLine guibg=#067C7B guifg=cyan gui=none
-hi StatusLineNC guibg=#004443 guifg=DimGrey gui=none
-hi Title guifg=#8DB8C3
-"hi Visual gui=bold guifg=black guibg=#C0FFC0
-hi Visual gui=bold guifg=black guibg=#84AF84
-hi WarningMsg guifg=#F60000 gui=underline
-
-" syntax highlighting groups
-hi Comment guifg=DarkGray
-hi Constant guifg=#72A5E4 gui=bold
-hi Number guifg=chartreuse2 gui=bold
-hi Identifier guifg=#ADCBF1
-hi Statement guifg=yellow
-hi PreProc guifg=#14967C
-hi Type guifg=#FFAE66
-hi Special guifg=#EEBABA
-hi Ignore guifg=grey60
-hi Todo guibg=#9C8C84 guifg=#244C0A
-hi Label guifg=#ffc0c0
-
-" Vim defaults
-hi ErrorMsg guifg=White guibg=Red
-hi DiffAdd guibg=DarkBlue
-hi DiffChange guibg=aquamarine4
-hi DiffDelete gui=bold guifg=Yellow guibg=DarkBlue
-hi DiffText gui=bold guibg=firebrick3
-hi Directory guifg=Cyan
-hi LineNr guifg=DarkGreen
-hi WildMenu guifg=Black guibg=Yellow
-" hi lCursor guifg=bg guibg=fg
-hi lCursor guibg=SeaGreen1 guifg=NONE
-hi Underlined gui=underline guifg=#80a0ff
-hi Error guifg=White guibg=Red
diff --git a/.vim/colors/nuvola.vim b/.vim/colors/nuvola.vim
deleted file mode 100644
index f9a608a..0000000
--- a/.vim/colors/nuvola.vim
+++ /dev/null
@@ -1,107 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Dr. J. Pfefferl <johann.pfefferl@agfa.com>
-" Source: $Source: /MISC/projects/cvsroot/user/pfefferl/vim/colors/nuvola.vim,v $
-" Id: $Id: nuvola.vim,v 1.14 2003/08/11 14:03:28 pfefferl Exp $
-" Last Change: $Date: 2003/08/11 14:03:28 $
-
-" Intro {{{1
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "nuvola"
-
-" Normal {{{1
-hi Normal ctermfg=black ctermbg=NONE guifg=black guibg=#F9F5F9
-
-" Search {{{1
-hi IncSearch cterm=UNDERLINE ctermfg=Black ctermbg=brown gui=UNDERLINE guifg=Black guibg=#FFE568
-hi Search term=reverse cterm=UNDERLINE ctermfg=Black ctermbg=brown gui=NONE guifg=Black guibg=#FFE568
-
-" Messages {{{1
-hi ErrorMsg gui=BOLD guifg=#EB1513 guibg=NONE
-hi! link WarningMsg ErrorMsg
-hi ModeMsg gui=BOLD guifg=#0070ff guibg=NONE
-hi MoreMsg guibg=NONE guifg=seagreen
-hi! link Question MoreMsg
-
-" Split area {{{1
-hi StatusLine term=BOLD,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=BOLD guibg=#56A0EE guifg=white
-hi StatusLineNC gui=NONE guibg=#56A0EE guifg=#E9E9F4
-hi! link VertSplit StatusLineNC
-hi WildMenu gui=UNDERLINE guifg=#56A0EE guibg=#E9E9F4
-
-" Diff {{{1
-hi DiffText gui=NONE guifg=#f83010 guibg=#ffeae0
-hi DiffChange gui=NONE guifg=#006800 guibg=#d0ffd0
-hi DiffDelete gui=NONE guifg=#2020ff guibg=#c8f2ea
-hi! link DiffAdd DiffDelete
-
-" Cursor {{{1
-hi Cursor gui=none guifg=black guibg=orange
-"hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff
-hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff
-
-" Fold {{{1
-hi Folded gui=NONE guibg=#B5EEB5 guifg=black
-"hi FoldColumn gui=NONE guibg=#9FD29F guifg=black
-hi! link FoldColumn Folded
-
-" Other {{{1
-hi Directory gui=NONE guifg=#0000ff guibg=NONE
-hi LineNr gui=NONE guifg=#8080a0 guibg=NONE
-hi NonText gui=BOLD guifg=#4000ff guibg=#EFEFF7
-"hi SpecialKey gui=NONE guifg=#A35B00 guibg=NONE
-hi Title gui=BOLD guifg=#1014AD guibg=NONE
-hi Visual term=reverse ctermfg=yellow ctermbg=black gui=NONE guifg=Black guibg=#BDDFFF
-hi VisualNOS term=reverse ctermfg=yellow ctermbg=black gui=UNDERLINE guifg=Black guibg=#BDDFFF
-
-" Syntax group {{{1
-hi Comment term=BOLD ctermfg=darkgray guifg=#3F6B5B
-hi Constant term=UNDERLINE ctermfg=red guifg=#B91F49
-hi Error term=REVERSE ctermfg=15 ctermbg=9 guibg=Red guifg=White
-hi Identifier term=UNDERLINE ctermfg=Blue guifg=Blue
-hi Number term=UNDERLINE ctermfg=red gui=NONE guifg=#00C226
-hi PreProc term=UNDERLINE ctermfg=darkblue guifg=#1071CE
-hi Special term=BOLD ctermfg=darkmagenta guifg=red2
-hi Statement term=BOLD ctermfg=DarkRed gui=NONE guifg=#F06F00
-hi Tag term=BOLD ctermfg=DarkGreen guifg=DarkGreen
-hi Todo term=STANDOUT ctermbg=Yellow ctermfg=blue guifg=Blue guibg=Yellow
-hi Type term=UNDERLINE ctermfg=Blue gui=NONE guifg=Blue
-hi! link String Constant
-hi! link Character Constant
-hi! link Boolean Constant
-hi! link Float Number
-hi! link Function Identifier
-hi! link Conditional Statement
-hi! link Repeat Statement
-hi! link Label Statemengreen
-hi! link Operator Statement
-hi! link Keyword Statement
-hi! link Exception Statement
-hi! link Include PreProc
-hi! link Define PreProc
-hi! link Macro PreProc
-hi! link PreCondit PreProc
-hi! link StorageClass Type
-hi! link Structure Type
-hi! link Typedef Type
-hi! link SpecialChar Special
-hi! link Delimiter Special
-hi! link SpecialComment Special
-hi! link Debug Special
-
-" HTML {{{1
-hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE
-hi htmlBold gui=BOLD
-hi htmlBoldItalic gui=BOLD,ITALIC
-hi htmlBoldUnderline gui=BOLD,UNDERLINE
-hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC
-hi htmlItalic gui=ITALIC
-hi htmlUnderline gui=UNDERLINE
-hi htmlUnderlineItalic gui=UNDERLINE,ITALIC
-
-" vim600:foldmethod=marker
diff --git a/.vim/colors/oceanblack.vim b/.vim/colors/oceanblack.vim
deleted file mode 100644
index e6e6be3..0000000
--- a/.vim/colors/oceanblack.vim
+++ /dev/null
@@ -1,115 +0,0 @@
-" Vim color file
-" Maintainer: Chris Vertonghen <chris@vertonghen.org>
-" Last Change: 2003-03-25
-" Version: 0.1
-" based on Tom Regner's oceanblue.vim
-
-""" Init
-set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "oceanblack"
-
-
-""""""""\ Colors \""""""""
-
-
-"""" GUI Colors
-
-highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White
-highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3
-highlight Directory guifg=LightSeaGreen guibg=bg
-highlight DiffAdd gui=None guifg=fg guibg=DarkCyan
-highlight DiffChange gui=None guifg=fg guibg=Green4
-highlight DiffDelete gui=None guifg=fg guibg=black
-highlight DiffText gui=bold guifg=fg guibg=bg
-highlight ErrorMsg guifg=LightYellow guibg=FireBrick
-" previously 'FillColumn':
-"highlight FillColumn gui=NONE guifg=black guibg=grey60
-highlight VertSplit gui=NONE guifg=black guibg=grey60
-highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0
-highlight FoldColumn gui=None guibg=#305060 guifg=#b0d0e0
-highlight IncSearch gui=reverse guifg=fg guibg=bg
-"highlight LineNr guibg=grey6 guifg=LightSkyBlue3
-highlight LineNr guibg=grey6 guifg=#777777
-highlight ModeMsg guibg=DarkGreen guifg=LightGreen
-highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg
-if version < 600
- " same as SpecialKey
- highlight NonText guibg=#123A4A guifg=#3D5D6D
-else
- " Bottom fill (use e.g. same as LineNr)
- highlight NonText gui=None guibg=#000000 guifg=LightSkyBlue
-endif
-highlight Normal gui=None guibg=#000000 guifg=honeydew2
-highlight Question gui=bold guifg=SeaGreen2 guibg=bg
-highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE
-highlight SpecialKey guibg=#103040 guifg=#324262
-highlight StatusLine gui=bold guibg=grey88 guifg=black
-highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10
-highlight Title gui=bold guifg=MediumOrchid1 guibg=bg
-highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen
-highlight VisualNOS gui=bold,underline guifg=fg guibg=bg
-highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg
-highlight WildMenu gui=bold guibg=Chartreuse guifg=Black
-
-
-"""" Syntax Colors
-
-"highlight Comment gui=reverse guifg=#507080
-"highlight Comment gui=None guifg=#507080
-highlight Comment gui=None guifg=#7C7268
-
-highlight Constant guifg=cyan3 guibg=bg
-"hi String gui=None guifg=turquoise2 guibg=bg
-hi String gui=None guifg=#80a0ff guibg=bg
- "hi Character gui=None guifg=Cyan guibg=bg
- "highlight Number gui=None guifg=Cyan guibg=bg
- highlight Number gui=None guifg=Cyan guibg=black
- highlight Boolean gui=bold guifg=Cyan guibg=bg
- "hi Float gui=None guifg=Cyan guibg=bg
-
-highlight Identifier guifg=LightSkyBlue3
-hi Function gui=None guifg=DarkSeaGreen3 guibg=bg
-
-highlight Statement gui=NONE guifg=LightGreen
- highlight Conditional gui=None guifg=LightGreen guibg=bg
- highlight Repeat gui=None guifg=SeaGreen2 guibg=bg
- "hi Label gui=None guifg=LightGreen guibg=bg
- highlight Operator gui=None guifg=Chartreuse guibg=bg
- highlight Keyword gui=None guifg=LightGreen guibg=bg
- highlight Exception gui=None guifg=LightGreen guibg=bg
-
-highlight PreProc guifg=SkyBlue1
-hi Include gui=None guifg=LightSteelBlue3 guibg=bg
-hi Define gui=None guifg=LightSteelBlue2 guibg=bg
-hi Macro gui=None guifg=LightSkyBlue3 guibg=bg
-hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg
-
-highlight Type gui=NONE guifg=LightBlue
-hi StorageClass gui=None guifg=LightBlue guibg=bg
-hi Structure gui=None guifg=LightBlue guibg=bg
-hi Typedef gui=None guifg=LightBlue guibg=bg
-
-"highlight Special gui=bold guifg=aquamarine3
-highlight Special guifg=#999999
- "hi SpecialChar gui=bold guifg=White guibg=bg
- "hi Tag gui=bold guifg=White guibg=bg
- "hi Delimiter gui=bold guifg=White guibg=bg
- "hi SpecialComment gui=bold guifg=White guibg=bg
- "hi Debug gui=bold guifg=White guibg=bg
-
-highlight Underlined gui=underline guifg=honeydew4 guibg=bg
-
-highlight Ignore guifg=#204050
-
-highlight Error guifg=LightYellow guibg=FireBrick
-
-highlight Todo guifg=Cyan guibg=#507080
-
-""" OLD COLORS
-
-
-
diff --git a/.vim/colors/oceandeep.vim b/.vim/colors/oceandeep.vim
deleted file mode 100644
index c19b2c0..0000000
--- a/.vim/colors/oceandeep.vim
+++ /dev/null
@@ -1,111 +0,0 @@
-" Vim color file
-" Maintainer: Tom Regner <regner@dievision.de>
-" Last Change: 2002-12-05
-" Version: 1.1
-" URL: http://vim.sourceforge.net/script.php?script_id=368
-
-
-""" Init
-set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "oceandeep"
-
-
-""""""""\ Colors \""""""""
-
-
-"""" GUI Colors
-
-highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White
-highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3
-highlight Directory guifg=LightSeaGreen guibg=bg
-highlight DiffAdd gui=None guifg=fg guibg=DarkCyan
-highlight DiffChange gui=None guifg=fg guibg=Green4
-highlight DiffDelete gui=None guifg=fg guibg=black
-highlight DiffText gui=bold guifg=fg guibg=bg
-highlight ErrorMsg guifg=LightYellow guibg=FireBrick
-" previously 'FillColumn':
-"highlight FillColumn gui=NONE guifg=black guibg=grey60
-highlight VertSplit gui=NONE guifg=black guibg=grey60
-highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0
-highlight FoldColumn gui=bold guibg=#305060 guifg=#b0d0e0
-highlight IncSearch gui=reverse guifg=fg guibg=bg
-highlight LineNr gui=bold guibg=grey6 guifg=LightSkyBlue3
-highlight ModeMsg guibg=DarkGreen guifg=LightGreen
-highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg
-if version < 600
- " same as SpecialKey
- highlight NonText guibg=#123A4A guifg=#3D5D6D
-else
- " Bottom fill (use e.g. same as LineNr)
- highlight NonText gui=None guibg=#103040 guifg=LightSkyBlue
-endif
-highlight Normal gui=None guibg=#103040 guifg=honeydew2
-highlight Question gui=bold guifg=SeaGreen2 guibg=bg
-highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE
-highlight SpecialKey guibg=#103040 guifg=#324262
-highlight StatusLine gui=bold guibg=grey88 guifg=black
-highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10
-highlight Title gui=bold guifg=MediumOrchid1 guibg=bg
-highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen
-highlight VisualNOS gui=bold,underline guifg=fg guibg=bg
-highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg
-highlight WildMenu gui=bold guibg=Chartreuse guifg=Black
-
-
-"""" Syntax Colors
-
-"highlight Comment gui=reverse guifg=#507080
-highlight Comment gui=None guifg=#507080
-
-highlight Constant guifg=cyan3 guibg=bg
-hi String gui=None guifg=turquoise2 guibg=bg
- "hi Character gui=None guifg=Cyan guibg=bg
- highlight Number gui=None guifg=Cyan guibg=bg
- highlight Boolean gui=bold guifg=Cyan guibg=bg
- "hi Float gui=None guifg=Cyan guibg=bg
-
-highlight Identifier guifg=LightSkyBlue3
-hi Function gui=None guifg=DarkSeaGreen3 guibg=bg
-
-highlight Statement gui=NONE guifg=LightGreen
- highlight Conditional gui=None guifg=LightGreen guibg=bg
- highlight Repeat gui=None guifg=SeaGreen2 guibg=bg
- "hi Label gui=None guifg=LightGreen guibg=bg
- highlight Operator gui=None guifg=Chartreuse guibg=bg
- highlight Keyword gui=bold guifg=LightGreen guibg=bg
- highlight Exception gui=bold guifg=LightGreen guibg=bg
-
-highlight PreProc guifg=SkyBlue1
-hi Include gui=None guifg=LightSteelBlue3 guibg=bg
-hi Define gui=None guifg=LightSteelBlue2 guibg=bg
-hi Macro gui=None guifg=LightSkyBlue3 guibg=bg
-hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg
-
-highlight Type gui=NONE guifg=LightBlue
-hi StorageClass gui=None guifg=LightBlue guibg=bg
-hi Structure gui=None guifg=LightBlue guibg=bg
-hi Typedef gui=None guifg=LightBlue guibg=bg
-
-highlight Special gui=bold guifg=aquamarine3
- "hi SpecialChar gui=bold guifg=White guibg=bg
- "hi Tag gui=bold guifg=White guibg=bg
- "hi Delimiter gui=bold guifg=White guibg=bg
- "hi SpecialComment gui=bold guifg=White guibg=bg
- "hi Debug gui=bold guifg=White guibg=bg
-
-highlight Underlined gui=underline guifg=honeydew4 guibg=bg
-
-highlight Ignore guifg=#204050
-
-highlight Error guifg=LightYellow guibg=FireBrick
-
-highlight Todo guifg=Cyan guibg=#507080
-
-""" OLD COLORS
-
-
-
diff --git a/.vim/colors/oceanlight.vim b/.vim/colors/oceanlight.vim
deleted file mode 100644
index 08fb22e..0000000
--- a/.vim/colors/oceanlight.vim
+++ /dev/null
@@ -1,105 +0,0 @@
-" Vim color file
-" Maintainer: Håkan Wikström <hakan@wikstrom.st>
-" Last Change: 2005-01-06
-" Version: 0.1
-" URL:
-" Originally based on oceandeep by Tom Regner (Vim script #368)
-
-
-""" Init
-set background=light
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "oceanlight"
-
-
-""""""""\ Colors \""""""""
-
-
-"""" GUI Colors
-
-highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White
-highlight CursorIM gui=none guifg=white guibg=PaleTurquoise3
-highlight Directory guifg=SeaGreen guibg=bg
-highlight DiffAdd gui=None guifg=SteelBlue guibg=LightGray
-highlight DiffChange gui=None guifg=fg guibg=CadetBlue
-highlight DiffDelete gui=None guifg=LightGray guibg=SteelBlue
-highlight DiffText gui=none guifg=fg guibg=bg
-highlight ErrorMsg guifg=FireBrick guibg=bg
-highlight VertSplit gui=NONE guifg=black guibg=grey60
-highlight Folded gui=none guibg=LightSteelBlue guifg=SteelBlue
-highlight FoldColumn gui=none guibg=LightSteelBLue guifg=SteelBlue
-highlight IncSearch gui=reverse guifg=fg guibg=bg
-highlight LineNr gui=none guibg=#d3d3d3 guifg=#5daf83
-highlight ModeMsg guibg=CadetBlue guifg=LightGrey
-highlight MoreMsg gui=none guifg=CadetBlue guibg=bg
-if version < 600
- " same as SpecialKey
- highlight NonText guibg=#d3d3d3 guifg=#3D5D6D
-else
- " Bottom fill (use e.g. same as LineNr)
- highlight NonText gui=None guibg=#d3d3d3 guifg=#5daf83
-endif
-highlight Normal gui=None guibg=#f5f5f5 guifg=DimGray
-highlight Question gui=none guifg=SeaGreen2 guibg=bg
-highlight Search gui=NONE guibg=SlateGray2 guifg=NONE
-highlight SpecialKey guibg=LightGray guifg=CadetBlue
-highlight StatusLine gui=none guibg=SlateGrey guifg=LightGrey
-highlight StatusLineNC gui=NONE guibg=LightGrey guifg=SlateGrey
-highlight Title gui=none guifg=MediumOrchid1 guibg=bg
-highlight Visual gui=reverse guibg=slategray4 guifg=SlateGray2
-highlight VisualNOS gui=none,underline guifg=fg guibg=bg
-highlight WarningMsg gui=none guifg=FireBrick1 guibg=bg
-highlight WildMenu gui=none guibg=Chartreuse guifg=Black
-
-
-"""" Syntax Colors
-
-"highlight Comment gui=reverse guifg=#507080
-highlight Comment gui=None guifg=LightSteelBlue
-
-highlight Constant guifg=#483d8b guibg=bg
-hi String gui=None guifg=MediumAquamarine guibg=bg
- "hi Character gui=None guifg=Cyan guibg=bg
- highlight Number gui=None guifg=MediumSeaGreen guibg=bg
- highlight Boolean gui=none guifg=DarkSeaGreen guibg=bg
- "hi Float gui=None guifg=Cyan guibg=bg
-
-highlight Identifier guifg=CornflowerBlue
-hi Function gui=None guifg=DarkSeaGreen guibg=bg
-
-highlight Statement gui=NONE guifg=SeaGreen
- highlight Conditional gui=None guifg=#5daf83 guibg=bg
- highlight Repeat gui=None guifg=#5daf83 guibg=bg
- "hi Label gui=None guifg=seagreen guibg=bg
- highlight Operator gui=None guifg=LightSlateBlue guibg=bg
- highlight Keyword gui=none guifg=SeaGreen guibg=bg
- highlight Exception gui=none guifg=SeaGreen guibg=bg
-
-highlight PreProc guifg=SkyBlue1
-hi Include gui=None guifg=SteelBlue guibg=bg
-hi Define gui=None guifg=LightSteelBlue2 guibg=bg
-hi Macro gui=None guifg=LightSkyBlue3 guibg=bg
-hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg
-
-highlight Type gui=NONE guifg=SteelBlue
-hi StorageClass gui=None guifg=SteelBlue guibg=bg
-hi Structure gui=None guifg=SteelBlue guibg=bg
-hi Typedef gui=None guifg=SteelBlue guibg=bg
-
-highlight Special gui=none guifg=aquamarine3
- "hi SpecialChar gui=none guifg=White guibg=bg
- "hi Tag gui=none guifg=White guibg=bg
- "hi Delimiter gui=none guifg=White guibg=bg
- "hi SpecialComment gui=none guifg=White guibg=bg
- "hi Debug gui=none guifg=White guibg=bg
-
-highlight Underlined gui=underline guifg=honeydew4 guibg=bg
-
-highlight Ignore guifg=#204050
-
-highlight Error guifg=FireBrick gui=Bold guibg=bg
-
-highlight Todo guifg=LightSkyBlue guibg=SlateGray
diff --git a/.vim/colors/olive.vim b/.vim/colors/olive.vim
deleted file mode 100644
index 26dcd2c..0000000
--- a/.vim/colors/olive.vim
+++ /dev/null
@@ -1,119 +0,0 @@
-" Vim color file
-" Maintainer: Charles <cherry_avium@yahoo.com>
-" Last Change: 11 June 2004
-" URL: http://
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="olive"
-
-"=======================================================
-hi Normal guifg=#D9D9C3 guibg=#333300
-hi Cursor guifg=black guibg=white
-hi CursorIM guifg=black guibg=green
-hi Directory guifg=gold gui=underline
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg guibg=indianred
-"hi VertSplit guifg=gold
-hi Folded guifg=khaki guibg=darkolivegreen gui=underline
-hi FoldColumn guifg=khaki guibg=darkolivegreen gui=none
-hi IncSearch guifg=black guibg=khaki
-hi LineNr guifg=gray80
-hi ModeMsg guifg=greenyellow gui=bold
-hi MoreMsg guifg=greenyellow gui=bold
-"hi NonText guibg=black
-hi Question guifg=yellowgreen gui=NONE
-hi Search guifg=black guibg=khaki gui=NONE
-hi SpecialKey guifg=black guibg=darkkhaki
-hi StatusLine guifg=palegoldenrod guibg=#808000 gui=none
-hi StatusLineNC guifg=gray guibg=darkolivegreen gui=none
-hi Title guifg=gold gui=bold
-hi Visual guifg=black guibg=darkkhaki gui=NONE
-"hi VisualNOS
-hi WarningMsg guifg=palevioletred
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-
-" ============================================================
-" syntax highlighting groups
-" ============================================================
-hi Comment guifg=darkkhaki guibg=#4C4C00 gui=underline
-
-hi Constant guifg=navajowhite
-hi String guifg=greenyellow
-"hi Character
-"hi Number
-"hi Boolean
-"hi Float
-
-hi Identifier guifg=lightsteelblue
-" hi Function guibg=gray60
-
-hi Statement guifg=darkseagreen gui=bold
-"hi Conditional
-"hi Repeat
-"hi Label
-hi Operator guifg=gold
-"hi Keyword
-"hi Exception
-
-hi PreProc guifg=sandybrown gui=bold
-"hi Include
-"hi Define
-"hi Macro
-"hi PreCondit
-
-hi Type guifg=goldenrod
-"hi StorageClass
-"hi Structure
-"hi Typedef
-
-hi Special guifg=navajowhite gui=underline
-"hi SpecialChar
-"hi Tag
-"hi Delimiter
-"hi SpecialComment
-"hi Debug
-
-hi Underlined gui=underline
-
-hi Ignore guifg=black
-
-hi Error guifg=white
-
-hi Todo guifg=black guibg=gold gui=NONE
-
-" =================================================================
-" Language specific color
-" =================================================================
-
-" C / C++
-hi cIncluded guifg=yellowgreen
-
-" HTML
-hi Title guifg=palegoldenrod
-
-" VIM
-hi VimError guifg=red gui=bold
-hi VimOption guifg=gold
-
-" TeX / LaTeX
-hi texSection guifg=greenyellow
-" tex between { and }
-hi texMatcher guifg=yellowgreen gui=none
-hi texMath gui=none
-
diff --git a/.vim/colors/papayawhip.vim b/.vim/colors/papayawhip.vim
deleted file mode 100644
index 5f8725a..0000000
--- a/.vim/colors/papayawhip.vim
+++ /dev/null
@@ -1,31 +0,0 @@
-" Vim color file
-" Maintainer: Gerald S. Williams
-" Last Change: 2003 Apr 17
-
-" A nice light background (you guessed it, PapayaWhip) that's relatively easy
-" on the eyes yet very usable. Not nearly as "puffy" as peachpuff.
-"
-" Only values that differ from defaults are specified.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "PapayaWhip"
-
-hi Normal guifg=#3f1f1f guibg=PapayaWhip ctermbg=Gray ctermfg=Black
-hi NonText guibg=Moccasin guifg=Brown ctermfg=Brown
-hi LineNr guibg=Moccasin
-hi DiffDelete guibg=LightRed guifg=Black ctermbg=DarkRed ctermfg=White
-hi DiffAdd guibg=LightGreen ctermbg=DarkGreen ctermfg=White
-hi DiffChange guibg=LightCyan3 ctermbg=DarkCyan ctermfg=White
-hi DiffText gui=NONE guibg=Gray80 ctermbg=DarkCyan ctermfg=Yellow
-hi Comment guifg=MediumBlue
-hi Constant guifg=DeepPink
-hi PreProc guifg=DarkMagenta
-hi StatusLine guibg=White guifg=#5f3705 cterm=bold ctermbg=Brown ctermfg=White
-hi StatusLineNC gui=None guibg=Gray
-hi VertSplit gui=None guibg=Gray
-hi Identifier guifg=#005f5f
-hi Statement ctermfg=DarkRed
diff --git a/.vim/colors/potts.vim b/.vim/colors/potts.vim
deleted file mode 100644
index 79bc5e9..0000000
--- a/.vim/colors/potts.vim
+++ /dev/null
@@ -1,53 +0,0 @@
-" -*- vim -*-
-" FILE: "/home/dp/.vim/colors/potts2.vim" {{{
-" LAST MODIFICATION: "Fri, 08 Feb 2002 09:47:10 (dp)"
-" (C) 2001 by Douglas L. Potts, <dlpotts@spectral-sys.com>
-" $Id: potts2.vim,v 1.3 2002/02/18 20:25:27 dp Exp $ }}}
-
-set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="potts2"
-
-highlight SpecialKey term=bold ctermfg=9 guifg=Cyan
-highlight NonText term=bold ctermfg=9 gui=bold guifg=green
-highlight Directory term=bold ctermfg=11 guifg=Cyan
-highlight ErrorMsg term=standout ctermfg=15 ctermbg=4 guifg=White guibg=Red
-highlight IncSearch term=reverse cterm=reverse gui=reverse
-highlight Search term=reverse ctermfg=15 ctermbg=12 guifg=white guibg=Red
-highlight MoreMsg term=bold ctermfg=10 gui=bold guifg=SeaGreen
-highlight ModeMsg term=bold cterm=bold gui=bold
-highlight LineNr term=underline ctermfg=14 guifg=Yellow
-highlight Question term=standout ctermfg=10 gui=bold guifg=Green
-highlight StatusLine term=bold,reverse cterm=bold,reverse gui=bold,reverse
-highlight StatusLineNC term=reverse cterm=reverse gui=reverse
-highlight VertSplit term=reverse cterm=reverse gui=reverse
-highlight Title term=bold ctermfg=13 gui=bold guifg=Magenta
-highlight Visual term=reverse cterm=reverse gui=reverse guifg=gray guibg=black
-highlight VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline
-highlight WarningMsg term=standout ctermfg=12 guifg=Red
-highlight WildMenu term=standout ctermfg=0 ctermbg=14 guifg=Black guibg=Yellow
-highlight Folded term=standout cterm=bold ctermfg=11 guifg=cyan guibg=bg
-highlight FoldColumn term=standout cterm=bold ctermfg=11 guifg=cyan guibg=bg
-highlight DiffAdd term=bold ctermfg=10 ctermbg=9 guifg=Green guibg=Black
-highlight DiffChange term=bold ctermfg=15 ctermbg=9 guifg=White guibg=Blue
-highlight DiffDelete term=bold ctermfg=13 ctermbg=11 gui=bold guifg=Magenta guibg=Black
-highlight DiffText term=reverse cterm=bold ctermfg=15 ctermbg=12 gui=bold guifg=White guibg=Red
-highlight Cursor guifg=bg guibg=fg
-highlight lCursor guifg=bg guibg=fg
-highlight Normal guifg=gray guibg=black font='6x13'
-highlight Comment term=bold ctermfg=11 guifg=#80a0ff
-highlight Constant term=underline ctermfg=13 guifg=#ffa0a0
-highlight Special term=bold ctermfg=12 guifg=Orange
-highlight Identifier term=underline cterm=bold ctermfg=11 guifg=#40ffff
-highlight Statement term=bold ctermfg=14 gui=bold guifg=#ffff60
-highlight PreProc term=underline ctermfg=9 guifg=#ff80ff
-highlight Type term=underline ctermfg=10 gui=bold guifg=#60ff60
-highlight Underlined term=underline cterm=underline ctermfg=9 gui=underline guifg=#80a0ff
-highlight Ignore ctermfg=0 guifg=bg
-highlight Error term=reverse ctermfg=15 ctermbg=12 guifg=White guibg=Red
-highlight Todo term=standout ctermfg=0 ctermbg=14 guifg=Blue guibg=Yellow
-highlight DebugBreak ctermfg=15 ctermbg=4 guifg=white guibg=darkred
-highlight DebugStop ctermfg=15 ctermbg=10 guifg=white guibg=lightgreen
diff --git a/.vim/colors/print_bw.vim b/.vim/colors/print_bw.vim
deleted file mode 100644
index 4be35f4..0000000
--- a/.vim/colors/print_bw.vim
+++ /dev/null
@@ -1,65 +0,0 @@
-" Vim color file
-" Maintainer: Mike Williams <mrw@eandem.co.uk>
-" Last Change: 2nd June 2003
-" Version: 1.1
-
-" Remove all existing highlighting.
-set background=light
-
-hi clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "print_bw"
-
-highlight Normal cterm=NONE ctermfg=black ctermbg=white gui=NONE guifg=black guibg=white
-highlight NonText ctermfg=black ctermbg=white guifg=black guibg=white
-highlight LineNr cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white
-
-" Syntax highlighting scheme
-highlight Comment cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white
-
-highlight Constant ctermfg=black ctermbg=white guifg=black guibg=white
-highlight String ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Character ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Number ctermfg=black ctermbg=white guifg=black guibg=white
-" Boolean defaults to Constant
-highlight Float ctermfg=black ctermbg=white guifg=black guibg=white
-
-highlight Identifier ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Function ctermfg=black ctermbg=white guifg=black guibg=white
-
-highlight Statement ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Conditional ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Repeat ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Label ctermfg=black ctermbg=white guifg=black guibg=white
-highlight Operator ctermfg=black ctermbg=white guifg=black guibg=white
-" Keyword defaults to Statement
-" Exception defaults to Statement
-
-highlight PreProc cterm=bold ctermfg=black ctermbg=white gui=bold guifg=black guibg=white
-" Include defaults to PreProc
-" Define defaults to PreProc
-" Macro defaults to PreProc
-" PreCondit defaults to PreProc
-
-highlight Type cterm=bold ctermfg=black ctermbg=white gui=bold guifg=black guibg=white
-" StorageClass defaults to Type
-" Structure defaults to Type
-" Typedef defaults to Type
-
-highlight Special cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white
-" SpecialChar defaults to Special
-" Tag defaults to Special
-" Delimiter defaults to Special
-highlight SpecialComment cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white
-" Debug defaults to Special
-
-highlight Todo cterm=italic,bold ctermfg=black ctermbg=white gui=italic,bold guifg=black guibg=white
-" Ideally, the bg color would be white but VIM cannot print white on black!
-highlight Error cterm=bold,reverse ctermfg=black ctermbg=grey gui=bold,reverse guifg=black guibg=grey
-
-" vim:et:ff=unix:tw=0:ts=4:sw=4
-" EOF print_bw.vim
diff --git a/.vim/colors/ps_color.vim b/.vim/colors/ps_color.vim
deleted file mode 100644
index 909abcf..0000000
--- a/.vim/colors/ps_color.vim
+++ /dev/null
@@ -1,400 +0,0 @@
-" Vim colour file --- PSC
-" Maintainer: Pan Shizhu <dicpan@hotmail.com>
-" Last Change: 17 November 2004
-" Version: 2.82
-" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760
-"
-" Please prepend [VIM] in the title when writing e-mail to me, or it will
-" be automatically treated as spam and removed.
-"
-" See the help document for all details, the help document will be
-" installed after the script has been sourced once, do not open the
-" script when you source it for the first time.
-"
-
-" Initializations: {{{1
-"
-function! s:init_option(var, value)
- if !exists("g:psc_".a:var)
- execute "let s:".a:var." = ".a:value
- else
- let s:{a:var} = g:psc_{a:var}
- endif
-endfunction
-command! -nargs=+ InitOpt call s:init_option(<f-args>)
-
-function! s:multi_hi(setting, ...)
- let l:idx = a:0
- while l:idx > 0
- let l:hlgroup = a:{l:idx}
- execute "highlight ".l:hlgroup." ".a:setting
- let l:idx = l:idx - 1
- endwhile
-endfunction
-command! -nargs=+ MultiHi call s:multi_hi(<f-args>)
-
-InitOpt style 'cool'
-InitOpt inversed_todo 0
-InitOpt use_default_for_cterm 0
-InitOpt statement_different_from_type 0
-if s:style == 'warm'
- InitOpt fontface 'mixed'
-else
- InitOpt fontface 'plain'
-endif
-
-if !has("gui_running")
- call s:init_option("cterm_style", "'".s:style."'")
-
- " Forces 'cool' style when gui is not present Since the 'warm' style for
- " terminal isn't available now, and probably never will be.
- if s:cterm_style=='warm' | let s:cterm_style = 'cool'
- endif
- if s:use_default_for_cterm==1 | let s:cterm_style = 'default'
- elseif s:use_default_for_cterm==2 | let s:cterm_style = 'defdark'
- endif
-endif
-
-
-InitOpt other_style 0
-
-if has("gui_running")
- if s:style=='warm' || s:style=='default'
- set background=light
- elseif s:style=='cool' || s:style=='defdark'
- set background=dark
- else | let s:other_style = 1
- endif
-else
- if s:cterm_style=='cool' || s:cterm_style=='defdark'
- set background=dark
- elseif s:cterm_style=='default'
- set background=light
- else | let s:other_style = 1
- endif
-endif
-
-
-highlight clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let s:color_name = expand("<sfile>:t:r")
-
-if s:other_style==0 | let g:colors_name = s:color_name
- " Go from console version to gui, the color scheme should be sourced again
- execute "autocmd TermChanged * if g:colors_name == '".s:color_name."' | "
- \."colo ".s:color_name." | endif"
-else
- execute "runtime colors/".s:style.".vim"
-endif
-
-" Command to go different schemes easier.
-execute "command! -nargs=1 Colo if '".s:color_name."'!=\"<args>\" | "
- \'let g:psc_style = "<args>"| endif | colo '.s:color_name
-
-" Give control to 'reloaded' scheme if possible
-if s:style == 'reloaded'
- finish
-endif
-
-" }}}1
-
-" Relevant Help:
-" :h highlight-groups
-" :h psc-cterm-color-table
-" :ru syntax/hitest.vim
-"
-" Hardcoded Colors Comment:
-" #aabbcc = Red aa, Green bb, Blue cc
-" we must use hard-coded colours to get more 'tender' colours
-"
-
-
-" GUI:
-"
-" I don't want to abuse folding, but here folding is used to avoid confusion.
-if s:style=='warm'
- " Warm style for gui here {{{2
- " LIGHT COLOR DEFINE START
-
- highlight Normal guifg=#000000 guibg=#e0e0e0
- highlight Search guifg=#902000 guibg=#f8f8f8
- highlight Visual guifg=fg guibg=#a6caf0
- highlight Cursor guifg=#f0f0f0 guibg=#008000
- " The idea of CursorIM is pretty good, however, the feature is still buggy
- " in the current version (Vim 6.3).
- " The following line will be kept commented until the bug fixed.
- "
- " highlight CursorIM guifg=#f0f0f0 guibg=#800080
- highlight Special guifg=#907000 guibg=bg
- highlight Comment guifg=#505800 guibg=bg
- highlight Number guifg=#907000 guibg=bg
- highlight Constant guifg=#007068 guibg=bg
- highlight StatusLine guifg=fg guibg=#a6caf0
- highlight LineNr guifg=#686868 guibg=bg
- highlight Question guifg=fg guibg=#d0d090
- highlight PreProc guifg=#009030 guibg=bg
- if s:statement_different_from_type==1
- highlight Statement guifg=#4020a0 guibg=bg
- else
- highlight Statement guifg=#2060a8 guibg=bg
- endif
- highlight Type guifg=#0850a0 guibg=bg
- if s:inversed_todo==1
- highlight Todo guifg=#e0e090 guibg=#000080
- else
- highlight Todo guifg=#800000 guibg=#e0e090
- endif
- " NOTE THIS IS IN THE WARM SECTION
- highlight Error guifg=#c03000 guibg=bg
- highlight Identifier guifg=#a030a0 guibg=bg
- highlight ModeMsg guifg=fg guibg=#b0b0e0
- highlight VisualNOS guifg=fg guibg=#b0b0e0
- highlight SpecialKey guifg=#1050a0 guibg=bg
- highlight NonText guifg=#002090 guibg=#d0d0d0
- highlight Directory guifg=#a030a0 guibg=bg
- highlight ErrorMsg guifg=fg guibg=#f0b090
- highlight MoreMsg guifg=#489000 guibg=bg
- highlight Title guifg=#a030a0 guibg=bg
- highlight WarningMsg guifg=#b02000 guibg=bg
- highlight WildMenu guifg=fg guibg=#d0d090
- highlight Folded guifg=fg guibg=#b0e0b0
- highlight FoldColumn guifg=fg guibg=#90e090
- highlight DiffAdd guifg=fg guibg=#b0b0e0
- highlight DiffChange guifg=fg guibg=#e0b0e0
- highlight DiffDelete guifg=#002090 guibg=#d0d0d0
- highlight DiffText guifg=fg guibg=#c0e080
- highlight SignColumn guifg=fg guibg=#90e090
- highlight IncSearch guifg=#f0f0f0 guibg=#806060
- highlight StatusLineNC guifg=fg guibg=#c0c0c0
- highlight VertSplit guifg=fg guibg=#c0c0c0
- highlight Underlined guifg=#6a5acd guibg=bg gui=underline
- highlight Ignore guifg=bg guibg=bg
-
- " LIGHT COLOR DEFINE END
- " }}}2
-elseif s:style=='cool'
- " Cool style for gui here {{{2
- " DARK COLOR DEFINE START
-
- highlight Normal guifg=#d0d0d0 guibg=#202020
- highlight Comment guifg=#d0d090 guibg=bg
- highlight Constant guifg=#80c0e0 guibg=bg
- highlight Number guifg=#e0c060 guibg=bg
- highlight Identifier guifg=#f0c0f0 guibg=bg
- if s:statement_different_from_type==1
- highlight Statement guifg=#98a8f0 guibg=bg
- else
- highlight Statement guifg=#c0d8f8 guibg=bg
- endif
- highlight PreProc guifg=#60f080 guibg=bg
- highlight Type guifg=#b0d0f0 guibg=bg
- highlight Special guifg=#e0c060 guibg=bg
- highlight Error guifg=#f08060 guibg=bg
- if s:inversed_todo==1
- highlight Todo guifg=#d0d090 guibg=#000080
- else
- highlight Todo guifg=#800000 guibg=#d0d090
- endif
- highlight Search guifg=#e0e0e0 guibg=#800000
- highlight Visual guifg=#000000 guibg=#a6caf0
- highlight Cursor guifg=#000000 guibg=#00f000
- " NOTE THIS IS IN THE COOL SECTION
- " highlight CursorIM guifg=#000000 guibg=#f000f0
- highlight StatusLine guifg=#000000 guibg=#a6caf0
- highlight LineNr guifg=#b0b0b0 guibg=bg
- highlight Question guifg=#000000 guibg=#d0d090
- highlight ModeMsg guifg=fg guibg=#000080
- highlight VisualNOS guifg=fg guibg=#000080
- highlight SpecialKey guifg=#b0d0f0 guibg=bg
- highlight NonText guifg=#6080f0 guibg=#101010
- highlight Directory guifg=#80c0e0 guibg=bg
- highlight ErrorMsg guifg=#d0d090 guibg=#800000
- highlight MoreMsg guifg=#c0e080 guibg=bg
- highlight Title guifg=#f0c0f0 guibg=bg
- highlight WarningMsg guifg=#f08060 guibg=bg
- highlight WildMenu guifg=#000000 guibg=#d0d090
- highlight Folded guifg=#d0d0d0 guibg=#004000
- highlight FoldColumn guifg=#e0e0e0 guibg=#008000
- highlight DiffAdd guifg=fg guibg=#000080
- highlight DiffChange guifg=fg guibg=#800080
- highlight DiffDelete guifg=#6080f0 guibg=#202020
- highlight DiffText guifg=#000000 guibg=#c0e080
- highlight SignColumn guifg=#e0e0e0 guibg=#008000
- highlight IncSearch guifg=#000000 guibg=#d0d0d0
- highlight StatusLineNC guifg=#000000 guibg=#c0c0c0
- highlight VertSplit guifg=#000000 guibg=#c0c0c0
- highlight Underlined guifg=#80a0ff guibg=bg gui=underline
- highlight Ignore guifg=#000000 guibg=bg
-
- " DARK COLOR DEFINE END
- " }}}2
-elseif s:style=='defdark'
- highlight Normal guifg=#f0f0f0 guibg=#000000
-endif
-
-" Take NT gui for example, If you want to use a console font such as
-" Lucida_Console with font size larger than 14, the font looks already thick,
-" and the bold font for that will be too thick, you may not want it be bolded.
-" The following code does this.
-"
-" All of the bold font may be disabled, since continuously switching between
-" bold and plain font hurts consistency and will inevitably fatigue your eye!
-
-" Maximum 20 parameters for vim script function
-"
-MultiHi gui=NONE ModeMsg Search Cursor Special Comment Constant Number LineNr Question PreProc Statement Type Todo Error Identifier Normal
-
-MultiHi gui=NONE VisualNOS SpecialKey NonText Directory ErrorMsg MoreMsg Title WarningMsg WildMenu Folded FoldColumn DiffAdd DiffChange DiffDelete DiffText SignColumn
-
-" For reversed stuffs
-MultiHi gui=NONE IncSearch StatusLine StatusLineNC VertSplit Visual
-
-if s:style=="cool" || s:style=="warm"
- if s:fontface=="mixed"
- MultiHi gui=bold IncSearch StatusLine StatusLineNC VertSplit Visual
- endif
-else
- if s:fontface=="mixed"
- hi StatusLine gui=bold,reverse
- else
- hi StatusLine gui=reverse
- endif
- MultiHi gui=reverse IncSearch StatusLineNC VertSplit Visual
-endif
-
-" Enable the bold style
-if s:fontface=="mixed"
- MultiHi gui=bold Question DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete
-endif
-
-
-
-
-" Color Term:
-
-" It's not quite possible to support 'cool' and 'warm' simultaneously, since
-" we cannot expect a terminal to have more than 16 color names.
-"
-
-" I assume Vim will never go to cterm mode when has("gui_running") returns 1,
-" Please enlighten me if I am wrong.
-"
-if !has('gui_running')
- " cterm settings {{{1
- if s:cterm_style=='cool'
-
- highlight Normal ctermfg=LightGrey ctermbg=Black
- highlight Search ctermfg=White ctermbg=DarkRed
- highlight Visual ctermfg=Black ctermbg=DarkCyan
- highlight Cursor ctermfg=Black ctermbg=Green
- highlight Special ctermfg=Yellow ctermbg=Black
- highlight Comment ctermfg=DarkYellow ctermbg=Black
- highlight Constant ctermfg=Blue ctermbg=Black
- highlight Number ctermfg=Yellow ctermbg=Black
- highlight StatusLine ctermfg=Black ctermbg=DarkCyan
- highlight LineNr ctermfg=DarkGrey ctermbg=Black
- highlight Question ctermfg=Black ctermbg=DarkYellow
- highlight PreProc ctermfg=Green ctermbg=Black
- highlight Statement ctermfg=Cyan ctermbg=Black
- highlight Type ctermfg=Cyan ctermbg=Black
- if s:inversed_todo==0
- highlight Todo ctermfg=DarkRed ctermbg=DarkYellow
- else
- highlight Todo ctermfg=DarkYellow ctermbg=DarkBlue
- endif
- highlight Error ctermfg=Red ctermbg=Black
- highlight Identifier ctermfg=Magenta ctermbg=Black
- highlight Folded ctermfg=White ctermbg=DarkGreen
- highlight ModeMsg ctermfg=Grey ctermbg=DarkBlue
- highlight VisualNOS ctermfg=Grey ctermbg=DarkBlue
- highlight SpecialKey ctermfg=Cyan ctermbg=Black
- highlight NonText ctermfg=Blue ctermbg=Black
- highlight Directory ctermfg=Blue ctermbg=Black
- highlight ErrorMsg ctermfg=DarkYellow ctermbg=DarkRed
- highlight MoreMsg ctermfg=Green ctermbg=Black
- highlight Title ctermfg=Magenta ctermbg=Black
- highlight WarningMsg ctermfg=Red ctermbg=Black
- highlight WildMenu ctermfg=Black ctermbg=DarkYellow
- highlight FoldColumn ctermfg=White ctermbg=DarkGreen
- highlight SignColumn ctermfg=White ctermbg=DarkGreen
- highlight DiffText ctermfg=Black ctermbg=DarkYellow
- highlight DiffDelete ctermfg=Blue ctermbg=Black
-
- if &t_Co==8
- " 8 colour terminal support, this assumes 16 colour is available through
- " setting the 'bold' attribute, will get bright foreground colour.
- " However, the bright background color is not available for 8-color terms.
- "
- " You can manually set t_Co=16 in your .vimrc to see if your terminal
- " supports 16 colours,
- MultiHi cterm=none DiffText Visual Cursor Comment Todo StatusLine Question DiffChange ModeMsg VisualNOS ErrorMsg WildMenu DiffAdd Folded DiffDelete Normal
- MultiHi cterm=bold Search Special Constant Number LineNr PreProc Statement Type Error Identifier SpecialKey NonText MoreMsg Title WarningMsg FoldColumn SignColumn Directory DiffDelete
-
- else
- " Background > 7 is only available with 16 or more colors
-
- " Only use the s:fontface option when there is 16-colour(or more)
- " terminal support
-
- MultiHi cterm=none WarningMsg Search Visual Cursor Special Comment Constant Number LineNr PreProc Todo Error Identifier Folded SpecialKey Directory ErrorMsg Normal
- MultiHi cterm=none WildMenu FoldColumn SignColumn DiffAdd DiffChange Question StatusLine DiffText
- MultiHi cterm=reverse IncSearch StatusLineNC VertSplit
-
- " Well, well, bold font with color 0-7 is not possible.
- " So, the Question, StatusLine, DiffText cannot act as expected.
-
- call s:multi_hi("cterm=".((s:fontface=="plain") ? "none" : "bold"), "Statement", "Type", "MoreMsg", "ModeMsg", "NonText", "Title", "VisualNOS", "DiffDelete")
-
- endif
-
- elseif s:cterm_style=='defdark'
- highlight Normal ctermfg=LightGrey ctermbg=Black
- endif
- " }}}1
-endif
-
-
-" Term:
-" For console with only 4 colours (term, not cterm), we'll use the default.
-" ...
-" The default colorscheme is good enough for terms with no more than 4 colours
-"
-
-
-" Links:
-"
-if (s:style=='cool') || (s:style == 'warm')
- " COLOR LINKS DEFINE START
-
- highlight link String Constant
- " Character must be different from strings because in many languages
- " (especially C, C++) a 'char' variable is scalar while 'string' is pointer,
- " mistaken a 'char' for a 'string' will cause disaster!
- highlight link Character Number
- highlight link SpecialChar LineNr
- highlight link Tag Identifier
- " The following are not standard hi links,
- " these are used by DrChip
- highlight link Warning MoreMsg
- highlight link Notice Constant
- " these are used by Calendar
- highlight link CalToday PreProc
- " these are used by TagList
- highlight link MyTagListTagName IncSearch
- highlight link MyTagListTagScope Constant
-
- " COLOR LINKS DEFINE END
-endif
-
-
-" Clean:
-"
-delcommand InitOpt
-delcommand MultiHi
-
-" vim:et:nosta:sw=2:ts=8:
-" vim600:fdm=marker:fdl=1:
diff --git a/.vim/colors/putty.vim b/.vim/colors/putty.vim
deleted file mode 100644
index 4c86ad5..0000000
--- a/.vim/colors/putty.vim
+++ /dev/null
@@ -1,82 +0,0 @@
-" Vim color file
-" Maintainer: Prachya Boonkwan <kaamanita@hotmail.com>
-" Last Change: April 29, 2003
-" Licence: Public Domain
-
-" This package offers a eye-catching color scheme that resembles the
-" default color scheme of Putty telnet terminal.
-
-" First remove all existing highlighting.
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "putty"
-
-hi Normal guifg=Grey guibg=Black
-
-hi ErrorMsg guibg=Red guifg=White
-hi IncSearch gui=reverse
-hi ModeMsg gui=bold
-hi StatusLine gui=reverse,bold
-hi StatusLineNC gui=reverse
-hi VertSplit gui=reverse
-hi Visual gui=reverse guifg=Grey guibg=fg
-hi VisualNOS gui=underline,bold
-hi DiffText gui=bold guibg=Red
-hi Cursor guibg=Green guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory guifg=Blue
-hi LineNr guifg=#BBBB00
-hi MoreMsg gui=bold guifg=SeaGreen
-hi NonText gui=bold guifg=Blue guibg=Black
-hi Question gui=bold guifg=SeaGreen
-hi Search guibg=#BBBB00 guifg=NONE
-hi SpecialKey guifg=Blue
-hi Title gui=bold guifg=Magenta
-hi WarningMsg guifg=Red
-hi WildMenu guibg=Cyan guifg=Black
-hi Folded guibg=White guifg=DarkBlue
-hi FoldColumn guibg=Grey guifg=DarkBlue
-hi DiffAdd guibg=LightBlue
-hi DiffChange guibg=LightMagenta
-hi DiffDelete gui=bold guifg=Blue guibg=LightCyan
-
-hi Comment guifg=Blue guibg=Black
-hi Constant guifg=#BB0000 guibg=Black
-hi PreProc guifg=#BB00BB guibg=Black
-hi Statement gui=NONE guifg=#BBBB00 guibg=Black
-hi Special guifg=#BB00BB guibg=Black
-hi Ignore guifg=Grey
-hi Identifier guifg=#00BBBB guibg=Black
-hi Type guifg=#00BB00 guibg=Black
-
-hi link IncSearch Visual
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-
-" vim: sw=2
diff --git a/.vim/colors/python.vim b/.vim/colors/python.vim
deleted file mode 100644
index 6f4a765..0000000
--- a/.vim/colors/python.vim
+++ /dev/null
@@ -1,104 +0,0 @@
-""" Init
-set background=light
-highlight clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "python"
-
-
-""""""""\ Colors \""""""""
-
-
-"""" GUI Colors
-
-highlight Cursor gui=None guibg=Palegreen3 guifg=White
-highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3
-highlight Directory guifg=LightSeaGreen guibg=bg
-highlight DiffAdd gui=None guifg=fg guibg=DarkCyan
-highlight DiffChange gui=None guifg=fg guibg=Green4
-highlight DiffDelete gui=None guifg=fg guibg=black
-highlight DiffText gui=bold guifg=fg guibg=bg
-highlight ErrorMsg guifg=LightYellow guibg=FireBrick
-" previously 'FillColumn':
-"highlight FillColumn gui=NONE guifg=black guibg=grey60
-highlight VertSplit gui=NONE guifg=black guibg=#c8d6b3
-highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0
-highlight FoldColumn gui=bold guibg=#395602 guifg=#6f9b1f
-highlight IncSearch gui=reverse guifg=fg guibg=bg
-highlight LineNr gui=bold guibg=#395602 guifg=#6f9b1f
-highlight ModeMsg guibg=DarkGreen guifg=Green
-highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg
-if version < 600
- " same as SpecialKey
- highlight NonText guibg=#123A4A guifg=#3D5D6D
-else
- " Bottom fill (use e.g. same as LineNr)
- highlight NonText gui=None guibg=bg guifg=fg
-endif
-highlight Normal gui=None guibg=#f6ffe5 guifg=black
-highlight Question gui=bold guifg=SeaGreen2 guibg=bg
-highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE
-highlight SpecialKey guibg=#103040 guifg=#324262
-highlight StatusLine gui=bold guibg=#c8d6b3 guifg=black
-highlight StatusLineNC gui=NONE guibg=#c8d6b3 guifg=black
-highlight Title gui=bold guifg=MediumOrchid1 guibg=bg
-highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen
-highlight VisualNOS gui=bold,underline guifg=fg guibg=bg
-highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg
-highlight WildMenu gui=bold guibg=Chartreuse guifg=Black
-
-
-"""" Syntax Colors
-
-"highlight Comment gui=reverse guifg=#507080
-highlight Comment gui=italic guifg=#507080
-
-highlight Constant guifg=black guibg=bg
-hi String gui=None guifg=#ccab3f guibg=bg
- "hi Character gui=None guifg=#969248 guibg=bg
- highlight Number gui=None guifg=#969248 guibg=bg
- highlight Boolean gui=bold guifg=#969248 guibg=bg
- "hi Float gui=None guifg=#969248 guibg=bg
-
-highlight Identifier guifg=#6f9b1f
-hi Function gui=None guifg=#775d05 guibg=bg
-
-highlight Statement gui=NONE guifg=#669907
- highlight Conditional gui=None guifg=Green guibg=bg
- highlight Repeat gui=None guifg=SeaGreen2 guibg=bg
- "hi Label gui=None guifg=Green guibg=bg
- highlight Operator gui=None guifg=Chartreuse guibg=bg
- highlight Keyword gui=bold guifg=#6f9b1f guibg=bg
- highlight Exception gui=bold guifg=Green guibg=bg
-
-highlight PreProc guifg=SkyBlue1
-hi Include gui=None guifg=#725c05 guibg=bg
-hi Define gui=None guifg=#725c05 guibg=bg
-hi Macro gui=None guifg=#486610 guibg=bg
-hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg
-
-highlight Type gui=NONE guifg=#ccab3f
-hi StorageClass gui=None guifg=#ccab3f guibg=bg
-hi Structure gui=None guifg=#ccab3f guibg=bg
-hi Typedef gui=None guifg=#ccab3f guibg=bg
-
-highlight Special gui=bold guifg=#ddb100
- "hi SpecialChar gui=bold guifg=White guibg=bg
- "hi Tag gui=bold guifg=White guibg=bg
- "hi Delimiter gui=bold guifg=White guibg=bg
- "hi SpecialComment gui=bold guifg=White guibg=bg
- "hi Debug gui=bold guifg=White guibg=bg
-
-highlight Underlined gui=underline guifg=honeydew4 guibg=bg
-
-highlight Ignore guifg=#204050
-
-highlight Error guifg=LightYellow guibg=FireBrick
-
-highlight Todo guifg=#969248 guibg=#507080
-
-""" OLD COLORS
-
-
-
diff --git a/.vim/colors/redblack.vim b/.vim/colors/redblack.vim
deleted file mode 100644
index 793af52..0000000
--- a/.vim/colors/redblack.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-set background=dark
-hi clear
-
-hi Normal ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Boolean ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Character ctermbg=black guibg=black ctermfg=red guifg=red
-hi Comment ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold
-hi Condtional ctermbg=black guibg=black ctermfg=red guifg=red
-hi Constant ctermbg=black guibg=black ctermfg=red guifg=red
-hi Cursor ctermbg=black guibg=white ctermfg=grey guifg=grey
-hi Debug ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Define ctermbg=black guibg=black ctermfg=white guifg=white
-hi Delimiter ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi DiffAdd ctermbg=NONE guibg=NONE ctermfg=NONE guifg=NONE cterm=NONE gui=NONE
-hi DiffChange ctermbg=white guibg=white ctermfg=darkgrey guifg=#606060
-hi DiffDelete ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold
-hi DiffText ctermbg=red guibg=red ctermfg=white guifg=white
-hi Directory ctermbg=black guibg=black ctermfg=white guifg=white
-hi Error ctermbg=red guibg=red ctermfg=white guifg=white
-hi ErrorMsg ctermbg=red guibg=red ctermfg=white guifg=white
-hi Exception ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Float ctermbg=black guibg=black ctermfg=red guifg=red cterm=NONE gui=NONE
-hi FoldColumn ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Folded ctermbg=black guibg=black ctermfg=red guifg=red
-hi Function ctermbg=black guibg=black ctermfg=white guifg=white
-hi Identifier ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Include ctermbg=black guibg=black ctermfg=white guifg=white
-hi IncSearch ctermbg=green guibg=green ctermfg=darkgrey guifg=#606060
-hi Keyword ctermbg=black guibg=black ctermfg=red guifg=red
-hi Label ctermbg=black guibg=black ctermfg=white guifg=white
-hi LineNr ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold
-hi Macro ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi ModeMsg ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi MoreMsg ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi NonText ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold
-hi Number ctermbg=black guibg=black ctermfg=red guifg=red cterm=NONE gui=NONE
-hi Operator ctermbg=black guibg=black ctermfg=white guifg=white
-hi PreCondit ctermbg=black guibg=black ctermfg=white guifg=white
-hi PreProc ctermbg=black guibg=black ctermfg=white guifg=white
-hi Question ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Repeat ctermbg=black guibg=black ctermfg=white guifg=white
-hi Search ctermbg=black guibg=black ctermfg=green guifg=green
-hi SpecialChar ctermbg=black guibg=black ctermfg=white guifg=white
-hi SpecialComment ctermbg=black guibg=black ctermfg=white guifg=white
-hi Special ctermbg=black guibg=black ctermfg=white guifg=white
-hi SpecialKey ctermbg=white guibg=white ctermfg=black guifg=black
-hi Statement ctermbg=black guibg=black ctermfg=white guifg=white
-hi StatusLine ctermbg=white guibg=white ctermfg=red guifg=red
-hi StatusLineNC ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi StorageClass ctermbg=black guibg=black ctermfg=white guifg=white
-hi String ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Structure ctermbg=black guibg=black ctermfg=white guifg=white
-hi Tag ctermbg=black guibg=black ctermfg=red guifg=red
-hi Title ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Todo ctermbg=black guibg=black ctermfg=white guifg=white
-hi Typedef ctermbg=black guibg=black ctermfg=white guifg=white
-hi Type ctermbg=black guibg=black ctermfg=white guifg=white
-hi VertSplit ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi Visual ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi VisualNOS ctermbg=black guibg=black ctermfg=grey guifg=grey
-hi WarningMsg ctermbg=black guibg=black ctermfg=red guifg=red
-hi WildMenu ctermbg=white guibg=white ctermfg=darkgrey guifg=#606060
diff --git a/.vim/colors/relaxedgreen.vim b/.vim/colors/relaxedgreen.vim
deleted file mode 100644
index 6cc21df..0000000
--- a/.vim/colors/relaxedgreen.vim
+++ /dev/null
@@ -1,114 +0,0 @@
-" ----------------------------------------------------------------------------------------------------------------------------------
-" Filename: relaxedgreen.vim
-" Last Modified: 14 Aug 2006 02:24:33 PM by Dave V
-" Maintainer: Dave Vehrs (dvehrs at gmail.com)
-" Copyright: 2002,2003,2004,2005,2006 Dave Vehrs
-" This script is free software; you can redistribute it and/or
-" modify it under the terms of the GNU General Public License as
-" published by the Free Software Foundation; either version 2 of
-" the License, or (at your option) any later version.
-" Description: Vim colorscheme file.
-" Install: Put this file in the users colors directory (~/.vim/colors) or
-" in the shared colors directory (/usr/shared/vim/vim<version>/colors/),
-" then load it with :colorscheme relaxedgreen
-"
-"
-" ----------------------------------------------------------------------------------------------------------------------------------
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "relaxedgreen"
-highlight Cursor term=reverse ctermfg=green ctermbg=blue guifg=#000000 guibg=#559955
-highlight CursorIM term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#336633
-highlight CursorColumn term=none ctermbg=darkblue guibg=#333366
-highlight CursorColumn term=none ctermbg=darkblue guibg=#333366
-highlight Comment term=italic ctermfg=darkcyan ctermbg=black guifg=#00a594
-highlight Constant term=underline ctermfg=blue guifg=#0099dd
-highlight Debug term=bold ctermfg=red ctermbg=black guifg=#dc0000 guibg=#000000
-highlight DiffAdd term=reverse ctermfg=black ctermbg=cyan guifg=#000000 guibg=#007200
-highlight DiffChange term=underline cterm=reverse ctermfg=darkgreen ctermbg=black guifg=#000000 guibg=#006700
-highlight DiffDelete term=standout ctermfg=black ctermbg=cyan guifg=#000000 guibg=#007200
-highlight DiffText term=bold ctermfg=green ctermbg=black guifg=#00ac00 guibg=#000000
-highlight Directory term=underline ctermfg=green ctermbg=black guifg=#336633 guibg=#000000
-highlight Error term=reverse,bold ctermfg=black ctermbg=red guifg=#000000 guibg=#dc0000
-highlight ErrorMsg term=reverse,bold ctermfg=white ctermbg=red guifg=#ffffff guibg=#dc0000
-highlight Folded ctermfg=darkgreen ctermbg=black guifg=#20de20 guibg=#000000
-highlight FoldColumn ctermfg=darkgreen ctermbg=black guifg=#20de20 guibg=#000000
-highlight Function term=standout ctermfg=darkgreen guifg=#22bb22
-highlight Identifier term=underline ctermfg=darkcyan gui=underline guifg=#008800
-highlight Ignore ctermfg=lightgreen guifg=#33bb33
-highlight IncSearch term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#336633
-highlight LineNr term=bold ctermfg=green guifg=#00ff00
-highlight MatchParen term=bold ctermfg=black ctermbg=green guibg=#00ff00 guifg=#000000
-highlight ModeMsg term=bold cterm=bold gui=bold
-highlight MoreMsg term=bold cterm=bold gui=bold
-highlight NonText ctermfg=darkcyan guifg=#999999
-highlight Normal ctermfg=gray ctermbg=black guifg=#aaaaaa guibg=#000000
-highlight Pmenu term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#337733
-highlight PmenuSel term=bold ctermfg=black ctermbg=gray guifg=#000000 guibg=#999999
-highlight PmenuSbar term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#337733
-highlight PmenuThumb term=reverse ctermfg=gray ctermbg=black guifg=#999999 guibg=#000000
-highlight PreProc term=standout ctermfg=darkgreen guifg=#22bb22
-highlight Question term=standout ctermfg=red guifg=#ff0000
-highlight Search term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#228822
-highlight SignColumn ctermfg=darkgreen guifg=#20de20 guibg=#000000
-highlight Special term=bold ctermfg=green guifg=#00ff00
-highlight SpecialKey term=bold ctermfg=green guifg=#00ff00
-highlight SpellBad term=reverse cterm=underline ctermfg=red ctermbg=black gui=undercurl guisp=#ff0000
-highlight SpellCap term=reverse cterm=underline ctermfg=yellow ctermbg=black gui=undercurl guisp=#00ffff
-highlight SpellLocal term=reverse cterm=underline ctermfg=blue ctermbg=black gui=undercurl guisp=#0000ff
-highlight SpellRare term=reverse cterm=underline ctermfg=darkgreen ctermbg=black gui=undercurl guisp=#00ff00
-highlight Statement term=standout ctermfg=darkred guifg=#ac0000
-highlight StatusLine term=reverse ctermfg=darkgreen ctermbg=black gui=none guibg=#228822 guifg=#000000
-highlight StatusLineNC term=reverse ctermfg=darkgreen ctermbg=blue gui=none guibg=#336633 guifg=#000000
-highlight TabLine term=reverse cterm=reverse ctermfg=black ctermbg=green guibg=#222222 guifg=#228822
-highlight TabLineFill term=reverse cterm=reverse ctermfg=green ctermbg=black guibg=#222222 guifg=#226622
-highlight TabLineSel ctermfg=black ctermbg=green guibg=#228822 guifg=#222222
-highlight Title term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#00ff00
-highlight Todo term=reverse cterm=reverse ctermfg=darkgreen ctermbg=black guibg=#336633 guifg=#000000
-highlight Type term=standout ctermfg=green guifg=#559955
-highlight Visual term=reverse cterm=reverse ctermfg=darkgreen guifg=#000000 guibg=#336633
-highlight VisualNOS term=reverse,bold cterm=reverse ctermbg=darkgreen guifg=#000000 guibg=#228822
-highlight VertSplit term=reverse ctermfg=darkgreen guifg=#336633
-highlight User1 term=standout cterm=bold ctermbg=darkgreen ctermfg=red gui=bold guibg=#228822 guifg=#FF0000
-highlight WarningMsg term=reverse ctermfg=black ctermbg=yellow guifg=#000000 guibg=#007a7a
-highlight WildMenu term=reverse ctermfg=blue ctermbg=darkgreen guifg=#000099 guibg=#00ac00
-
-" ----------------------------------------------------------------------------------------------------------------------------------
-" Common groups that link to other highlight definitions.
-
-highlight link Constant Character
-highlight link Constant Number
-highlight link Constant Boolean
-highlight link Constant String
-
-highlight link LineNr Operator
-
-highlight link Number Float
-
-highlight link PreProc Define
-highlight link PreProc Include
-highlight link PreProc Macro
-highlight link PreProc PreCondit
-
-highlight link Question Repeat
-
-highlight link Repeat Conditional
-
-highlight link Special Delimiter
-highlight link Special SpecialChar
-highlight link Special SpecialComment
-highlight link Special Tag
-
-highlight link Statement Exception
-highlight link Statement Keyword
-highlight link Statement Label
-
-highlight link Type StorageClass
-highlight link Type Structure
-highlight link Type Typedef
-
-" ----------------------------------------------------------------------------------------------------------------------------------
-" vim:tw=132:ts=4:sw=4
diff --git a/.vim/colors/reloaded.vim b/.vim/colors/reloaded.vim
deleted file mode 100644
index 0c0c382..0000000
--- a/.vim/colors/reloaded.vim
+++ /dev/null
@@ -1,856 +0,0 @@
-" Vim colour file: The colorscheme reloaded.
-" Maintainer: Pan Shizhu <dicpan@hotmail.com>
-" Last Change: 16 July 2004
-" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760
-" Version: 0.6
-"
-" Please prepend [VIM] in the title when writing e-mail to me, or it will
-" be silently discarded.
-"
-" Description:
-"
-" See :h reloaded.txt for details
-"
-" Release Notes:
-"
-" v0.6 For default users it may be slow, Added :se lz to disable refresh
-" Changed some groups of the sample parameter
-" Use bracketed variable instead of the exe statement
-" Changed the order of most division calculation to improve accuracy
-" v0.5 Initial upload at 15 July 2004.
-"
-
-
-" minimal value of all the given numbers, maximum 20 parameters
-fu! s:min(num1,num2,...)
- let l:min = a:num1<a:num2 ? a:num1 : a:num2
-
- let l:idx = a:0
- wh l:idx > 0
- let l:var = a:{l:idx}
- if l:var < l:min
- let l:min = l:var
- en
- let l:idx = l:idx - 1
- endw
- retu l:min
-endf
-
-" same as above for maximal value
-fu! s:max(num1,num2,...)
- let l:max = a:num1>a:num2 ? a:num1 : a:num2
-
- let l:idx = a:0
- wh l:idx > 0
- let l:var = a:{l:idx}
- if l:var > l:max
- let l:max = l:var
- en
- let l:idx = l:idx - 1
- endw
- retu l:max
-endf
-
-" guard the var to be in the range between unity and base.
-" if base is omitted, treat like degrees.
-fu! s:guard(var,unity,...)
- if a:0
- if a:var < a:1
- retu a:1
- elsei a:var > a:unity
- retu a:unity
- en
- retu a:var
- en
- if a:var < 0
- retu a:unity + (a:var % a:unity)
- en
- retu a:var % a:unity
-endf
-
-" sub-function
- " 8-bit integer to 2 digit hexadecimal
- fu! s:to_hex(num)
- retu '0123456789abcdef' [a:num/16%16] . '0123456789abcdef' [a:num%16]
- endf
-
-" rgb to rgb color string
-fu! s:rgb2colors(red,green,blue)
- retu "#".s:to_hex(a:red+0).s:to_hex(a:green+0).s:to_hex(a:blue+0)
-endf
-
-" sub-functions
- fu! s:hue2rgb(v1, v2, hue)
- " trim to the first period
- let l:hue = s:guard(a:hue, 360)
-
- if l:hue < 60
- retu a:v1 + l:hue * (a:v2 - a:v1) / 60
- en
- if l:hue < 180
- retu a:v2
- en
- if l:hue < 240
- retu a:v1 + (240 - l:hue) * (a:v2 - a:v1) / 60
- en
- retu a:v1
- endf
-
-" hsl to rgb color string
-fu! s:hsb2colors(hue,sat,bri)
- " Hue: Any integer degree (modular 360)
- " Saturation: 0 to 1023/1023
- " Luminance: 0 to 1023/1023
- " RGB results = 0 to 255
-
- if a:sat == 0
- let l:lum = a:bri / 4
- retu s:rgb2colors(l:lum, l:lum, l:lum)
- en
-
- if a:bri < 512
- let l:v2 = a:bri * ( 1023 + a:sat )
- el
- let l:v2 = ( a:bri + a:sat ) * 1023 - ( a:sat * a:bri )
- en
-
- let l:v1 = 2 * 1023 * a:bri - l:v2
-
- let l:red = s:hue2rgb(l:v1, l:v2, a:hue + 120) / 4092
- let l:green = s:hue2rgb(l:v1, l:v2, a:hue) / 4092
- let l:blue = s:hue2rgb(l:v1, l:v2, a:hue - 120) / 4092
-
- retu s:rgb2colors(l:red, l:green, l:blue)
-
-endf
-
-" rgb color number to s:rgb
-fu! s:color2rgb(color)
- let s:red = a:color / 0x10000
- let s:green = (a:color / 0x100) % 0x100
- let s:blue = a:color % 0x100
-endf
-
-" rgb to s:hsl
-fu! s:rgb2hsb(red,green,blue)
-
- let l:red = a:red * 1023 / 255
- let l:green = a:green * 1023 / 255
- let l:blue = a:blue * 1023 / 255
-
- let l:min = s:min(l:red, l:green, l:blue)
- let l:max = s:max(l:red, l:green, l:blue)
- let l:delta = l:max - l:min
-
- let s:bri = (l:max + l:min) / 2
-
- if l:delta == 0
- let s:hue = 180 " When sat = 0, hue default to 180
- let s:sat = 0
- el
- if s:bri < 512
- let s:sat = l:delta * 1023 / (l:max + l:min)
- el
- let s:sat = l:delta * 1023 / (2*1023 - l:max - l:min)
- en
-
- let l:del_r = ( (l:max-l:red) + (l:delta*3) ) * 60 / l:delta
- let l:del_g = ( (l:max-l:green) + (l:delta*3) ) * 60 / l:delta
- let l:del_b = ( (l:max-l:blue) + (l:delta*3) ) * 60 / l:delta
-
- if l:red == l:max
- let s:hue = l:del_b - l:del_g
- elsei l:green == l:max
- let s:hue = 120 + l:del_r - l:del_b
- elsei l:blue == l:max
- let s:hue = 240 + l:del_g - l:del_r
- en
-
- let s:hue = s:guard(s:hue, 360)
- en
-endf
-
-" sub-functions
- if !exists("s:loaded") | let s:hue_range = 0 | let s:hue_phase = 0 | en
- fu! s:cast_hue(hue)
- retu a:hue * s:hue_range / 360 - s:hue_range / 2 + s:hue_phase
- endf
-
- if !exists("s:loaded") | let s:sat_base = 0 | let s:sat_modify = 0 | en
- fu! s:cast_sat(sat)
- let l:sat = a:sat * (1024 - s:sat_base) / 1024 + s:sat_base
- retu l:sat * s:sat_modify / 100
- endf
-
- if !exists("s:loaded") | let s:bri_base = 0 | let s:bri_modify = 0 | en
- fu! s:cast_bri(bri)
- let l:bri = a:bri * (1024 - s:bri_base) / 1024 + s:bri_base
- retu l:bri * s:bri_modify / 100
- endf
-
-" input hsl, do modification in HSL color space, output rgb color string
-fu! s:make_hsb(hue,sat,bri)
-
- let l:hue = s:guard(s:cast_hue(a:hue), 360)
- let l:sat = s:guard(s:cast_sat(a:sat), 1023, s:sat_base)
- let l:bri = s:guard(s:cast_bri(a:bri), 1023, s:bri_base)
-
- if s:verbose | ec "\"\tH=".l:hue."\tS=".l:sat."\tL=".l:bri | en
- retu s:hsb2colors(l:hue, l:sat, l:bri)
-
-endf
-
-" input rgb color number, transfer to HSL, then do <sid>make_hsb
-fu! s:make_color(color)
- cal s:color2rgb(a:color)
- cal s:rgb2hsb(s:red, s:green, s:blue)
- retu s:make_hsb(s:hue, s:sat, s:bri)
-endf
-
-" input color string, transfer in HSL, output rgb color string
-fu! s:parse_color(p)
- if a:p[6] == "#"
- let l:p = '0x'.strpart(a:p, 7, 6) + 0
- retu strpart(a:p, 0, 6).s:make_color(l:p)
- elsei a:p[6] == "@"
- let l:hue = s:guard(strpart(a:p, 7, 3) + 0, 360)
- let l:sat = s:guard(strpart(a:p, 10, 4) + 0, 1023, 0)
- let l:bri = s:guard(strpart(a:p, 14, 4) + 0, 1023, 0)
- retu strpart(a:p, 0, 6).s:make_hsb(l:hue, l:sat, l:bri)
- el
- retu a:p
- en
-endf
-
-if !exists("s:loaded") | let s:verbose = 0 | en
-fu! s:psc_hi(group, p1, p2, ...)
- if a:0 == 0
- let l:p3 = "gui=NONE"
- el
- let l:p3 = a:1
- en
- let l:p1 = s:parse_color(a:p1)
- let l:p2 = s:parse_color(a:p2)
- if s:verbose | ec "hi ".a:group." ".l:p1." ".l:p2." ".l:p3 | en
- exe "hi ".a:group." ".l:p1." ".l:p2." ".l:p3
-endf
-
-fu! s:multi_hi(setting, ...)
- let l:idx = a:0
- wh l:idx > 0
- let l:hlgroup = a:{l:idx}
- if s:verbose | ec "hi ".l:hlgroup." ".a:setting | en
- exe "hi ".l:hlgroup." ".a:setting
- let l:idx = l:idx - 1
- endw
-endf
-
-" Transfer global variable into script variable
-fu! s:init_option(var, value)
- if !exists("g:psc_".a:var)
- exe "let s:".a:var." = ".a:value
- el
- let s:{a:var} = g:psc_{a:var}
- en
-endf
-
-if !exists("loaded") | let s:file = expand("<sfile>") | en
-
-cal s:init_option("reload_prefix", "'".fnamemodify(s:file,":p:h")."/'")
-
-fu! s:psc_reload(...)
-
- " Only do color for GUI
- if !has("gui_running") | retu | en
-
- if a:0 > 10
- echoe "Too many parameters, ".'a:0 == '.a:0
- retu
- en
-
- com! -nargs=+ InitOpt cal s:init_option(<f-args>)
-
- if a:0 >= 6
- " Hue = phase +- (range/2)
- " Sat = sat * modify% then promoted from base to 1024
- " Bri = bri * modify% then promoted from base to 1024
-
- let s:hue_range = a:1
- let s:sat_modify = a:2
- let s:bri_modify = a:3
-
- let s:hue_phase = a:4
- let s:sat_base = a:5
- let s:bri_base = a:6
- el
- InitOpt hue_range 360
- InitOpt sat_modify 100
- InitOpt bri_modify 100
-
- InitOpt hue_phase 180
- InitOpt sat_base 0
- InitOpt bri_base 0
- en
-
- if a:0 >= 7
- let s:lightbg = a:7
- el
- InitOpt style 'cool'
- if s:style == 'warm'
- InitOpt lightbg 1
- el
- InitOpt lightbg 0
- en
- en
-
- if a:0 >= 8
- let s:plainfont = a:8
- el
- InitOpt fontface 'mixed'
- if s:fontface == 'mixed'
- InitOpt plainfont 0
- el
- InitOpt plainfont 1
- en
- en
-
- if a:0 >= 9
- let s:verbose = a:9
- el
- InitOpt verbose 0
- en
-
- if a:0 == 10
- let s:reload_filename = a:10
- el
- InitOpt reload_filename 'ps_color.vim'
- en
-
- delc InitOpt
-
- let s:reload_filename = s:reload_prefix.s:reload_filename
-
- if !filereadable(s:reload_filename)
- echoe "Color data file ".s:reload_filename." not found."
- retu
- en
-
- se lz
-
- if !s:lightbg | se bg=dark | el | se bg=light | en
-
- hi clear
-
- if exists("syntax_on") | sy reset | en
-
- " This is mandatory, personally I think it is a bug rather than a feature.
- let g:colors_name = expand("<sfile>:t:r")
-
-
- " GUI:
- "
- " Matrix Reloaded style for gui
- "
- let s:tempfile = '__Temp_Colors__'
-
- exe "sil! 1new ".s:tempfile
- sil! %d
- exe "sil! 0r ".s:reload_filename
- if s:verbose
- ec '" Reloaded color scheme from '.s:reload_filename
- ec '" with param ' s:hue_range s:sat_modify s:bri_modify
- \s:hue_phase s:sat_base s:bri_base s:lightbg s:plainfont
- ec '" '
- en
-
- if !s:lightbg
- sil! 1,/^\s*" DARK COLOR DEFINE START$/d
- sil! /^\s*" DARK COLOR DEFINE END$/,$d
- el
- sil! 1,/^\s*" LIGHT COLOR DEFINE START$/d
- sil! /^\s*" LIGHT COLOR DEFINE END$/,$d
- en
-
- sil! 0
- let s:nnb = 1
- com! -nargs=+ PscHi cal s:psc_hi(<f-args>)
- wh 1
- let s:nnb = nextnonblank(s:nnb)
- if !s:nnb | brea | en
-
- let s:line = getline(s:nnb)
-
- let s:nnb = s:nnb + 1
-
- " Skip invalid lines
- if s:line !~ '^\s*hi\%[ghlight]\s*.*' | con | en
-
- exe substitute(s:line, '\<hi\%[ghlight]\>', 'PscHi', '')
- endw
- sil! q!
- delc PscHi
-
- " Enable the bold style
- com! -nargs=+ MultiHi cal s:multi_hi(<f-args>)
- if !s:plainfont
- MultiHi gui=bold Question StatusLine DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete
- endif
- delc MultiHi
-
- " Color Term:
- " Are you crazy?
-
-
- " Term:
- " Don't be silly...
-
-
- " Links:
- " Something sensible
-
- exe "sil! 1new ".s:tempfile
- sil! %d
- exe "sil! 0r ".s:reload_filename
-
- sil! 1,/^\s*" COLOR LINKS DEFINE START$/d
- sil! /^\s*" COLOR LINKS DEFINE END$/,$d
-
- sil! 0
- let s:nnb = 1
- wh 1
- let s:nnb = nextnonblank(s:nnb)
- if !s:nnb
- brea
- en
- let s:line = getline(s:nnb)
-
- let s:nnb = s:nnb + 1
- " Skip invalid lines
- if s:line !~ '^\s*hi\%[ghlight]\s*.*' | con | en
-
- if s:verbose | ec s:line | en
-
- sil! exe s:line
- endw
- sil! q!
-
-endf
-
-" To flag the script variables are initialized
-let s:loaded = 1
-
-com! -nargs=* Reload cal <SID>psc_reload(<f-args>)
-
-" vim:et:nosta:sw=2:ts=8:
-" HelpExtractor:
-" The document {{{2
-fu! s:extract_help()
- se lz
- let docdir = substitute(s:file, '\<colors[/\\].*$', 'doc', '')
- if !isdirectory(docdir)
- if has("win32")
- echoe 'Please make '.docdir.' directory first'
- unl docdir
- return
- elsei !has("mac")
- exe "!mkdir ".docdir
- en
- en
-
- let curfile = fnamemodify(s:file, ":t:r")
- let docfile = substitute(fnamemodify(s:file, ":r").".txt",
- \'\<colors\>', 'doc', '')
- exe "silent! 1new ".docfile
- sil! %d
- exe "silent! 0r ".fnamemodify(s:file, ":p")
- sil! 1,/^" HelpExtractorDoc:$/d
- norm! GVkkd
- cal append(line('$'), '')
- cal append(line('$'), 'v' . 'im:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet:')
- sil! wq!
- exe "helptags ".substitute(docfile,'^\(.*doc.\).*$','\1','e')
-
- exe "silent! 1new ".fnamemodify(s:file, ":p")
- 1
- sil! /^" HelpExtractor:$/,$g/.*/d
- sil! wq!
-
- noh
-endf
-
-cal s:extract_help()
-fini
-
-" ---------------------------------------------------------------------
-" Put the help after the HelpExtractorDoc label...
-" HelpExtractorDoc:
-*reloaded.txt* Color Tuner and Reloader Last change: 16 July 2004
-
-
-PERSONAL COLOUR TUNER AND RELOADER *psc_reload*
-
-
-Author: Pan, Shizhu. <dicpan> at <hotmail o com> >
- (prepend '[VIM]' in the title or your mail may be silently removed.)
-<
-==============================================================================
-CONTENTS *pcr* *pcr-contents*
-
- 1. Contents.....................|pcr-contents|
- 2. PCR Overview.................|pcr-overview|
- 3. PCR Usage....................|pcr-usage|
- 4. PCR Options..................|pcr-options|
- 5. PCR FAQ .....................|pcr-faq|
- 6. PCR Todo List................|pcr-todo|
-
-For release notes, please see the header of reloaded.vim
-
-==============================================================================
-PCR FEATURES OVERVIEW *pcr-features* *pcr-overview*
-
- Features ~
-
- . PCR is a color scheme tuner and reloader.
- . PCR is an optional utility for ps_color as well as other schemes
- . It tunes the whole color scheme in HSL color space.
- . Thousands of color styles can be achieved by HSL tuning.
- . Tuned output can be saved to create new color schemes.
- . Can be configured to tune your own color scheme.
- . Works under GUI only, do not affect console version.
-
- Design Concern ~
-
- When I'm designing the color scheme |ps_color|, I realized it is
- extremely difficult to fine-tune the color, the whole step is not at
- all straight forward. What is more, RGB is not quite comprehensive
- for most average people. It would be much better if it is possible to
- tune the color scheme in HSL color space. Many color schemes in vim
- are actually similar, just some tune in the HSL color space.
-
- It is very easy to understand HSL color space even if one has NO
- previous knowledge. This may be another reason to use HSL color
- space.
-
- Portability ~
-
- Before playing the game of colors, you are strongly recommended to
- adjust your monitor to 6500k color temperature and proper gamma curve.
- This has been described in the |ps_color.txt| at the same
- "Portability" section. If you don't know how, just skip it.
-
- The only portability issue, for the obvious reason, this is GUI only.
- ;-)
-
-==============================================================================
-PSC USAGE *pcr-usage*
-
- For the impatient ~
-
- Make sure both ps_color.vim and reloaded.vim are in your
- [runtimepath]/colors and type in the following command >
-
- :colo reloaded
-<
- in your Vim or append to your |.vimrc|. The [runtimepath] can be any
- 'writable' directory listed in |vimfiles|, normally your $HOME/.vim in
- Unix or $HOME/vimfiles in Windows.
-
- Note that you don't need to remove your current :colo lines in .vimrc,
- since the :colo reloaded does nothing on color scheme, the
- reloaded.vim has to be a color scheme for some bizarre reason.
-
- Note if you do not want to have ps_color.vim, go to FAQ section to see
- how to create your own.
-
- Experiencing ~
-
- Normally, nothing will happen when you sourced the colorscheme
- reloaded, this only enables the command :Reload.
-
- The :Reload command will be available after you sourced the
- colorscheme reloaded. If not, type :colo reloaded now.
-
- Now try the following:
->
- :Reload 60 100 100 120 341 0 0 0 0
-<
- If you do as above, you will get a greenish feeling like "Matrix
- reloaded". You can run the Reload command in vim command line as well
- as in .vimrc. To see what the :Reload is capable of, try the
- following, one by one:
->
- :Reload 120 100 100 60 341 128
- :Reload 120 100 100 60 341 0 1
- :Reload 480 84 84 195 256 96 0
- :Reload 720 71 100 360 0 0 0
- :Reload 60 100 100 150 341 0 0
- :Reload 240 120 100 330 341 0 1
- :Reload 360 100 100 180 0 0 0 1
- :Reload 360 100 100 180 0 0 1 0
-<
- (Hint: choose a document which has as much highlight as possible to
- see what the come scheme looks like. Vim scripts or Vim help documents
- may be good samples.)
-
- . The first line will give you a golden feeling, followed by
- a reversed version.
- . Next comes a low contrast dark-cyan-background scheme.
- . Next comes a black background with decreased saturation.
- . The Hue can be changed anyway. This is a cyan-green style, call it
- "Matrix revolution"?
- . Be hot, lets try a reddish style.
- . The last two lines will give you the same as ps_color 'cool' and
- 'warm' style.
-
- Are you amazed? I guess so. And, of course all the above can be
- further fine-tuned.
-
- If you want to explore the mysteries inside this, see the next
- section.
-
-==============================================================================
-PCR OPTIONS *pcr-options*
-
- Since it is much easier and straight forward to specify command line
- arguments, there are no need to create individual options. Here we
- describe the 10 parameters.
-
- Synopsis ~
-
- :Reload h_r s_m l_m h_p s_b l_b [ lbg [ pf [ vb [ cdf ] ] ] ]
-
- Scope ~
-
- Hue is the dominant parameter to a color, because the human eye is
- very sensitive to the changing of hue. Generally, the hue is
- expressed by angle, can be 0 to 360 degrees, where 359 degree is equal
- to -1 degree, 360 degree is equal to 0 degree, 361 degree is equal to
- 1 degree, etc.
-
- The human eye is less sensitive to Saturation, the Black, Grey, and
- White has saturation=0, The pure Red, Green, and Blue has
- saturation=max, usually, saturation is defined to be between 0 and 1.
- But Vim is not capable of handling floating points, so I defined the
- saturation to be between 0 and 1023.
-
- The saturation is the amount the different color elements differs, if
- the red, green, blue are similar, the saturation is low.
-
- The human eye is least sensitive to Luminance, since the dynamic range
- of human eye can be changed on the fly. The luminance, or to say
- brightness, needs no explanation, since the meaning is quite obvious.
-
- The Luminance is also defined to be 0 to 1023, for the same reason.
-
- Parameter h_r and h_p ~
-
- This refers to hue range and hue phase.
-
- set the hue range to any positive value, the hue will be in the range
- of hue_phase-(hue_range/2) to hue_phase-(hue_range/2)
-
- The normal hue is from 0 to 360, let hue_range=360 and hue_phase=180
- will have the range 0 to 360, hence the hue of original color scheme
- will be retained.
-
- Set the hue range to between 0 and 360 will have the hue range
- compressed, or to say a color-filtered look. Set the hue range to
- 0 will force all colors in the color scheme to have the same hue value
- as hue_phase. You may not want it to be that low, since the
- hue_range=60 will in most cases enough to give the whole color scheme
- a color-filtered look.
-
- Set the hue range to >360 will have the color changed without compress
- the hue range, the behavior is not easy to describe, you need to do
- more experiments to understand what it does.
-
- Set the hue range to <0 is illegal.
-
- The hue_phase is the base value the whole color scheme designed
- around. Usually, the Hue=0 is Red, Hue=60 is Yellow, Hue=120 is
- Green, Hue=180 is Cyan, Hue=240 is Blue, Hue=300 is Magenta, any other
- value is between two color, for example, Hue=30 is Orange color.
-
- It would be very interesting to see how a color scheme changes when
- change the hue_phase.
-
- Parameter s_m and s_b ~
-
- This refers to saturation modify and saturation base
-
- The saturation modify is a percent value, 100 means no modify.
- If set to 50, all saturation will be decreased to 50%,
- If set to 0, the screen will be black and white (greyscale),
- If set to 200, all saturation will be increased to 200% times the
- original value.
-
- The saturation base is a linear value, it defines the minimum
- saturation.
- If set to 0, the saturation will not be modified.
- If set to 256, the minimum saturation will be 1/4.
- If set to 341, the minimum saturation will be 1/3.
- If set to 512, the minimum saturation will be 1/2.
-
- Oops, please _note_ that a too high value of saturation is not quite
- comfortable for most people.
-
- Parameter l_m and l_b ~
-
- This refers to luminance modify and luminance base
-
- The luminance modify is a percent value, 100 means no modify.
- If set to 50, all luminance will be decreased to 50%,
- If set to 0, the screen will be completely dark (can be possibly used
- for boss key?)
- If set to 200, all luminance will be increased to 200% times the
- original value.
-
- The luminance base is a linear value, it defines the minimum
- luminance.
-
- Main use of this is to tune the background for a dark background
- colorscheme.
- If set to 0, the background will be black.
- If set to 128, the background will be a 1/8 dark one, the color of
- background can be tuned by saturation_base and hue_phase.
- If set to 1023, the screen will be completely white.
-
- For light background, it is recommended to set luminance base to 0.
-
-
- Parameter lbg ~
-
- This refers to light background
-
- when set to 1, the reloader choose a light background scheme and set
- bg to light, otherwise, it is set to 0.
-
- This options is optional, if omitted, it checks the value of
- g:psc_style, if the style is 'warm', the light background is set to 1.
-
- Parameter pf ~
-
- This refers to plain font
-
- Optional, set to 1 will turn all bolded font to plain font.
- When not set, will check for g:psc_fontface, if non-exists,
- default to 0.
-
- Parameter vb ~
-
- This refers to 'verbose'
-
- When set to 1, some debug messages will be echoed when running the
- command.
-
- Parameter cdf ~
-
- This refers to custom data file
-
- The default data file is the ps_color.vim placed at the same directory
- as reloaded.vim. You can set it to any file you want.
-
- When present, it should be the file name of your data file.
- For example, if your data file is ~/.vim/colors/template.vim:
->
- :Reload 360 100 100 180 0 0 1 0 0 template.vim
-<
- will reload the light color scheme in template.vim
- *pcr-custom-data*
- Designing a data file ~
-
- The data file can be a normal color scheme script, such as
- ps_color.vim, You may need to know more if you want to do
- modifications.
-
- The ps_color.vim is fairly complicated, but only part of the file are
- imported as data. Mainly, you only need to see how it organizes
- statements in between "DEFINE START" and "DEFINE END" blocks.
-
- The data file should conform to some restrictions:
-
- . Must be in the same directory as reloaded.vim
-
- . ALL highlight group must be defined, do not accept any default
- value, this include the Underline and Ignore groups, this also hints
- that both foreground and background must be defined. Use :ru
- syntax/hitest.vim to check if all highlight groups are defined.
-
- . Color names like "SlateBlue" should not be used, only hardcoded color
- like #rrggbb is acceptable, the fg and bg can be used though, Since
- fg and bg comes from the group Normal, and Normal group must be
- defined with #rrggbb form of foreground and background.
-
- . The following should exist in the file
->
- " DARK COLOR DEFINE START
- " DARK COLOR DEFINE END
- " LIGHT COLOR DEFINE START
- " LIGHT COLOR DEFINE END
- " COLOR LINKS DEFINE START
- " COLOR LINKS DEFINE END
-<
- the highlight statement should be placed in between START and END.
- All statement other than the 'highlight' will be silently discarded.
-
- You can put dark color scheme defines in dark color define section,
- or light color scheme in light color section. It doesn't matter if
- you have nothing in the section, since the defaults are used.
- However, the defaults will not be tuned in the HSL color space,
- which may be you want, and may not!
-
- Further statements can be put in color links define section, you can
- put any 'highlight' statements in this section since the statements
- in this section will be execute unparsed, if you want to manually
- change some groups in a reloaded scheme, put something there.
-
-
-==============================================================================
-PCR FAQ AND TIPS *pcr-faq*
->
- Q: How to make my own color to be tunable?
-<
- A: Your own color scheme must conform to some restrictions,
- see |pcr-custom-data| for details.
->
- Q: How to run reloaded.vim without having ps_color.vim?
-<
- A: reloaded.vim is just a utility to reload colorscheme, it does not
- contain any colors. You must have a data file, or to say
- colorscheme, contains the 'highlight' statements like those in
- ps_color.vim, and tell the reloaded.vim to use that file.
- Instructions on creating custom data file is described in
- |pcr-custom-data|.
->
- Q: How to export the tuned output to create new color scheme?
-<
- A: This is still under construction, currently you can set verbose in
- the command line parameter and capture the output, but it is not
- working very well.
->
- Q: Why this should be a colorschme instead of a plugin utility?
-<
- A: This seems to be a Vim bug (or to say 'feature' if you prefer), the
- main function will hang up if run as a plugin and you will not be
- able to source the colorscheme in the current Vim session, so,
- please put reloaded.vim in ~/.vim/colors, do NOT put it in
- ~/.vim/plugin !
->
- Q: Why it is impossible to browse functions in reloaded.vim with
- taglist plugin?
-<
- A: The old versions of exuberant ctags utility do not cope with <sid>
- functions very well, please download and recompile the newest
- version of exuberant ctags utility.
-
-
-==============================================================================
-PCR TODO LIST *pcr-todo*
-
- o Fix the remaining bugs.
- o Try to be able to parse color names
- o Improve the output feature
-
-==============================================================================
-vim:et:nosta:sw=2:ts=8:
-}}}2 vim600:fdm=marker:fdl=1:
diff --git a/.vim/colors/revolutions.vim b/.vim/colors/revolutions.vim
deleted file mode 100644
index 15450c9..0000000
--- a/.vim/colors/revolutions.vim
+++ /dev/null
@@ -1,75 +0,0 @@
-" MATRIX-REVOLUTIONS colorscheme
-" Author: Christian MICHON
-" Version: 1.0
-" Last Change: 23 Jun 2004
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = 'revolutions'
-
-hi Boolean guifg=#e6fff3 guibg=#43705a gui=none
-hi Character guifg=#e6fff3 guibg=#43705a gui=none
-hi Comment guifg=#43705a guibg=#000000 gui=underline
-hi Conditional guifg=#e6fff3 guibg=#000000 gui=bold
-hi Constant guifg=#e6fff3 guibg=#43705a gui=none
-hi Cursor guifg=#43705a guibg=#e6fff3 gui=none
-hi Debug guifg=#61a181 guibg=#000000 gui=none
-hi Define guifg=#e6fff3 guibg=#000000 gui=none
-hi Delimiter guifg=#61a181 guibg=#000000 gui=none
-hi DiffAdd guifg=#e6fff3 guibg=#43705a gui=bold
-hi DiffChange guifg=#e6fff3 guibg=#43705a gui=none
-hi DiffDelete guifg=#e6fff3 guibg=#43705a gui=none
-hi DiffText guifg=#000000 guibg=#e6fff3 gui=bold
-hi Directory guifg=#e6fff3 guibg=#000000 gui=none
-hi Error guifg=#e6fff3 guibg=#61a181 gui=bold
-hi ErrorMsg guifg=#e6fff3 guibg=#61a181 gui=bold
-hi Exception guifg=#e6fff3 guibg=#000000 gui=bold
-hi Float guifg=#e6fff3 guibg=#43705a gui=none
-hi FoldColumn guifg=#9bcfb5 guibg=#43705a gui=bold
-hi Folded guifg=#9bcfb5 guibg=#43705a gui=bold
-hi Function guifg=#e6fff3 guibg=#000000 gui=none
-hi Identifier guifg=#e6fff3 guibg=#000000 gui=none
-hi Ignore guifg=#000000 guibg=#000000 gui=none
-hi Include guifg=#e6fff3 guibg=#000000 gui=none
-hi IncSearch guifg=#1d3026 guibg=#61a181 gui=bold
-hi Keyword guifg=#e6fff3 guibg=#000000 gui=bold
-hi Label guifg=#e6fff3 guibg=#000000 gui=bold
-hi lCursor guifg=#43705a guibg=#e6fff3 gui=none
-hi LineNr guifg=#9bcfb5 guibg=#000000 gui=bold
-hi Macro guifg=#e6fff3 guibg=#000000 gui=none
-hi ModeMsg guifg=#9bcfb5 guibg=#000000 gui=bold
-hi MoreMsg guifg=#9bcfb5 guibg=#000000 gui=bold
-hi NonText guifg=#9bcfb5 guibg=#1d3026 gui=bold
-hi Normal guifg=#9bcfb5 guibg=#000000 gui=none
-hi Number guifg=#e6fff3 guibg=#000000 gui=none
-hi Operator guifg=#e6fff3 guibg=#000000 gui=bold
-hi PreCondit guifg=#e6fff3 guibg=#000000 gui=none
-hi PreProc guifg=#61a181 guibg=#000000 gui=none
-hi Question guifg=#9bcfb5 guibg=#000000 gui=bold
-hi Repeat guifg=#e6fff3 guibg=#000000 gui=bold
-hi Search guifg=#1d3026 guibg=#61a181 gui=bold
-hi Special guifg=#61a181 guibg=#000000 gui=none
-hi SpecialChar guifg=#61a181 guibg=#000000 gui=none
-hi SpecialComment guifg=#61a181 guibg=#000000 gui=none
-hi SpecialKey guifg=#9bcfb5 guibg=#000000 gui=none
-hi Statement guifg=#e6fff3 guibg=#000000 gui=bold
-hi StatusLine guifg=#e6fff3 guibg=#61a181 gui=bold
-hi StatusLineNC guifg=#1d3026 guibg=#61a181 gui=bold
-hi StorageClass guifg=#f070a0 guibg=#000000 gui=bold
-hi String guifg=#e6fff3 guibg=#000000 gui=none
-hi Structure guifg=#f070a0 guibg=#000000 gui=bold
-hi Tag guifg=#61a181 guibg=#000000 gui=none
-hi Title guifg=#e6fff3 guibg=#1d3026 gui=bold
-hi Todo guifg=#1d3026 guibg=#9bcfb5 gui=none
-hi Type guifg=#e6fff3 guibg=#000000 gui=bold
-hi Typedef guifg=#f070a0 guibg=#000000 gui=bold
-hi Underlined guifg=#e6fff3 guibg=#000000 gui=underline
-hi VertSplit guifg=#61a181 guibg=#61a181 gui=none
-hi Visual guifg=#e6fff3 guibg=#61a181 gui=none
-hi VisualNOS guifg=#9bcfb5 guibg=#000000 gui=underline
-hi WarningMsg guifg=#1d3026 guibg=#61a181 gui=bold
-hi WildMenu guifg=#43705a guibg=#e6fff3 gui=none
diff --git a/.vim/colors/robinhood.vim b/.vim/colors/robinhood.vim
deleted file mode 100644
index b6eb1bd..0000000
--- a/.vim/colors/robinhood.vim
+++ /dev/null
@@ -1,99 +0,0 @@
-" vim: set tw=0 sw=4 sts=4 et:
-
-" Vim color file
-" Maintainer: Datila Carvalho <datila@saci.homeip.net>
-" Last Change: November, 3, 2003
-" Version: 0.1
-
-" This is a VIM's version of the emacs color theme
-" _Robin Hood_ created by Alex Schroede.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "robinhood"
-
-
-""" Colors
-
-" GUI colors
-hi Cursor guifg=fg guibg=gray
-hi CursorIM guifg=NONE guibg=gray
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg gui=bold guifg=White guibg=Red
-"hi VertSplit
-"hi Folded
-"hi FoldColumn
-"hi IncSearch
-"hi LineNr
-"hi ModeMsg
-"hi MoreMsg
-"hi NonText
-hi Normal guibg=#304020 guifg=navajowhite
-"hi Question
-hi Search gui=bold guifg=Black guibg=gray
-"hi SpecialKey
-hi StatusLine guifg=palegreen
-hi StatusLineNC guifg=yellowgreen
-"hi Title
-hi Visual guifg=darkslategrey guibg=fg
-hi VisualNOS gui=bold guifg=Black guibg=fg
-hi WarningMsg guifg=White guibg=Tomato
-"hi WildMenu
-
-" Colors for syntax highlighting
-hi Comment guifg=lightblue
-
-hi Constant gui=bold guifg=lightcyan
- hi String guifg=lightsalmon
- hi Character guifg=lightsalmon
- hi Number gui=bold guifg=lightcyan
- hi Boolean gui=bold guifg=lightcyan
- hi Float gui=bold guifg=lightcyan
-
-hi Identifier gui=bold guifg=palegreen
- hi Function guifg=yellowgreen
-
-hi Statement gui=bold guifg=salmon
- hi Conditional gui=bold guifg=salmon
- hi Repeat gui=bold guifg=salmon
- hi Label guifg=salmon
- hi Operator guifg=salmon
- "hi Keyword
- "hi Exception
-
-hi PreProc guifg=palegreen
- hi Include gui=bold guifg=palegreen
- hi Define guifg=palegreen
- hi Macro guifg=aquamarine
- hi PreCondit guifg=palegreen
-
-hi Type gui=bold guifg=palegreen
- hi StorageClass gui=bold guifg=aquamarine
- hi Structure gui=bold guifg=aquamarine
- hi Typedef gui=bold guifg=aquamarine
-
-"hi Special
- ""Underline Character
- "hi SpecialChar gui=underline
- "hi Tag gui=bold,underline
- ""Statement
- "hi Delimiter gui=bold
- ""Bold comment (in Java at least)
- "hi SpecialComment gui=bold
- "hi Debug gui=bold
-
-hi Underlined gui=underline
-
-hi Ignore guifg=bg
-
-hi Error gui=bold guifg=White guibg=Red
-
-"hi Todo
diff --git a/.vim/colors/sand.vim b/.vim/colors/sand.vim
deleted file mode 100644
index cc673df..0000000
--- a/.vim/colors/sand.vim
+++ /dev/null
@@ -1,30 +0,0 @@
-" Vim color file
-" Maintainer: Tim Alexeevsky <realtim@mail.ru>
-" Last Change: 2002-03-14
-" Version: 0.5
-" URL: http://sunsite.cs.msu.su/~tim/vim/sand.vim
-"
-" Thanx to Hans Fugal for his colorscheme_template.vim
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="sand"
-
-highlight Normal guibg=cornsilk guifg=NONE
-highlight PreProc guibg=NONE guifg=Maroon4
-highlight Comment guibg=NONE guifg=SteelBlue4
-highlight Constant guibg=NONE guifg=NavajoWhite4
-highlight Special guibg=NONE guifg=SlateBlue4
-highlight Identifier guibg=NONE guifg=SeaGreen
-highlight Statement guibg=NONE guifg=bisque4
-highlight Type guibg=NONE guifg=DarkOliveGreen
-highlight Todo guibg=LightYellow3 guifg=Blue4
-highlight NonText guibg=NONE guifg=DarkGreen
-highlight LineNr guibg=NONE guifg=Brown
-highlight StatusLineNC guifg=#8090a0
-highlight StatusLine guifg=#005070
-
-"vim: tw=0 sw=3 ts=3 sts=3 et
diff --git a/.vim/colors/scite.vim b/.vim/colors/scite.vim
deleted file mode 100644
index 609ad98..0000000
--- a/.vim/colors/scite.vim
+++ /dev/null
@@ -1,48 +0,0 @@
-" Vim color file
-" Maintainer: Gergely Kontra <kgergely@mcl.hu>
-" Last Change: 2002. 04. 09.
-
-" I'm a bit red-blind, so if you have suggestions, don't hesitate :)
-" ^^^^^^^^^ Sorry, I cannot speak English well, just want to say,
-" that in some rare cases I cannot distinguish between some colors
-" (I've just realized it, when I see some special tests)
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-"colorscheme default
-let g:colors_name = "scite"
-
-" hardcoded colors :
-
-" GUI
-"highlight Normal guifg=#7F6F5F guibg=#eeeeee
-highlight Normal guifg=#7F6F5F guibg=#ffffff
-highlight Search guibg=#bbbbbb gui=bold
-highlight Visual guifg=#DADADA
-highlight Folded guifg=#ffffff guibg=#666666
-highlight Cursor guifg=#666666 guibg=#000000 gui=bold
-highlight Special guifg=#7F007F guibg=#eeeeff gui=bold
-highlight Comment guifg=#007F00 guibg=#eeeeee
-highlight StatusLine guifg=#000000 guibg=#aacccc
-highlight StatusLineNC guifg=#557777 guibg=#ffffff
-highlight Statement guifg=#007F7F gui=bold
-highlight Type guifg=#0000ff gui=NONE
-highlight Function guifg=#007F7F gui=bold
-highlight LineNr guifg=#000000 guibg=#bbbbbb
-highlight FoldColumn guifg=#000000 guibg=#dddddd
-highlight Define guifg=#00007F guibg=#ddddff gui=bold
-highlight Number guifg=#000000 guibg=#eeffff gui=bold
-highlight Subtitle guifg=#000000 guibg=#66bbbb gui=bold,underline
-highlight String guifg=#7F007F guibg=#ffdddd
-highlight Delimiter guifg=#000000 guibg=#dde0dd gui=bold
-highlight PreProc guifg=#0000ff guibg=#ffffff gui=bold
-highlight Constant guifg=#000000 guibg=#aaaaaa gui=underline,bold
-
-"{{{
-
-"}}}
-
-
diff --git a/.vim/colors/sea.vim b/.vim/colors/sea.vim
deleted file mode 100644
index 0c79c47..0000000
--- a/.vim/colors/sea.vim
+++ /dev/null
@@ -1,69 +0,0 @@
-" Vim color file
-" Maintainer: Tiza
-" Last Change: 2002/10/30 Wed 00:01.
-" version: 1.0
-" This color scheme uses a dark background.
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "sea"
-
-hi Normal guifg=#f0f0f8 guibg=#343478
-
-" Search
-hi IncSearch gui=UNDERLINE,BOLD guifg=#ffffff guibg=#c030ff
-hi Search gui=BOLD guifg=#f0e0ff guibg=#b020ff
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#f000a0
-hi WarningMsg gui=BOLD guifg=#ffffff guibg=#f000a0
-hi ModeMsg gui=BOLD guifg=#00e0ff guibg=NONE
-hi MoreMsg gui=BOLD guifg=#00ffff guibg=#6060ff
-hi Question gui=BOLD guifg=#00f0d0 guibg=NONE
-
-" Split area
-hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0
-hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0
-hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0
-hi WildMenu gui=NONE guifg=#000000 guibg=#ff90ff
-
-" Diff
-hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000
-hi DiffChange gui=NONE guifg=#ffffff guibg=#000000
-hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000
-hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000
-
-" Cursor
-hi Cursor gui=NONE guifg=#ffffff guibg=#d86020
-hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0
-hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0
-
-" Fold
-hi Folded gui=NONE guifg=#ffffff guibg=#0080a0
-hi FoldColumn gui=NONE guifg=#9090ff guibg=#3c3c88
-
-" Other
-hi Directory gui=NONE guifg=#00ffff guibg=NONE
-hi LineNr gui=NONE guifg=#7070e8 guibg=NONE
-hi NonText gui=BOLD guifg=#8080ff guibg=#2c2c78
-hi SpecialKey gui=BOLD guifg=#60c0ff guibg=NONE
-hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE
-hi Visual gui=NONE guifg=#ffffff guibg=#6060ff
-" hi VisualNOS gui=NONE guifg=#ffffff guibg=#6060ff
-
-" Syntax group
-hi Comment gui=NONE guifg=#b0b0c8 guibg=NONE
-hi Constant gui=NONE guifg=#60ffff guibg=NONE
-hi Error gui=BOLD guifg=#ffffff guibg=#f000a0
-hi Identifier gui=NONE guifg=#c0c0ff guibg=NONE
-hi Ignore gui=NONE guifg=#303080 guibg=NONE
-hi PreProc gui=NONE guifg=#ffb0ff guibg=NONE
-hi Special gui=NONE guifg=#ffd858 guibg=NONE
-hi Statement gui=NONE guifg=#f0f060 guibg=NONE
-hi Todo gui=BOLD,UNDERLINE guifg=#ff70e0 guibg=NONE
-hi Type gui=NONE guifg=#40ff80 guibg=NONE
-hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE
diff --git a/.vim/colors/sean.vim b/.vim/colors/sean.vim
deleted file mode 100644
index 1aa2b1e..0000000
--- a/.vim/colors/sean.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer:Sean Richards
-" Last Change:Fri Aug 30 8:50 2002 NZST
-
-hi clear
-set background=dark
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "sean"
-hi Normal guifg=white guibg=black
-hi SpecialKey guifg=Blue
-hi NonText gui=bold guifg=Blue
-hi Directory guifg=Blue
-hi ErrorMsg guifg=White guibg=Red
-hi Search guifg=white guibg=Red
-hi MoreMsg gui=bold guifg=SeaGreen
-hi ModeMsg gui=bold guifg=White guibg=Blue
-hi LineNr ctermfg=Darkyellow guifg=Yellow
-hi Question gui=bold guifg=Green
-hi StatusLineNC cterm=none ctermfg=grey ctermbg=darkblue gui=NONE guifg=white guibg=darkblue
-hi StatusLine cterm=none ctermfg=white ctermbg=darkblue gui=bold guifg=white guibg=darkblue
-hi VertSplit gui=bold guifg=White guibg=darkblue
-hi Title gui=bold guifg=Magenta
-hi Visual cterm=none ctermfg=white ctermbg=darkgreen gui=NONE guifg=white guibg=darkgreen
-hi WarningMsg guifg=Red
-hi FoldColumn ctermfg=Black ctermbg=Grey guibg=DarkGrey guifg=Black
-hi Folded ctermfg=Black ctermbg=Grey guifg=Black
-hi Cursor guifg=bg guibg=Green
-hi Comment cterm=none ctermfg=darkgreen gui=italic guifg=green
-hi Constant ctermfg=darkcyan guifg=darkcyan
-hi Special ctermfg=darkyellow guifg=Orange
-hi Identifier ctermfg=cyan guifg=cyan
-hi Statement ctermfg=darkyellow gui=bold guifg=darkyellow
-hi Number ctermfg=Cyan guifg=Cyan
-hi PreProc ctermfg=darkmagenta guifg=darkmagenta
-hi String ctermfg=darkred guifg=Red
-hi Type ctermfg=darkblue guifg=blue
-hi Error ctermfg=red guifg=Red guibg=Black
-hi Todo ctermfg=blue ctermbg=yellow guifg=Blue guibg=Yellow
-hi link IncSearch Visual
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Function Identifier
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-hi link Operator Statement
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link Tag Special
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
-
-
-"Toggle semicolon matching at the end of lines, author unknown!
-nmap <silent> <leader>sc :call ToggleSemicolonHighlighting()<cr>
-"{{{
-function! ToggleSemicolonHighlighting()
- if exists("b:semicolon")
- unlet b:semicolon
- hi semicolon guifg=NONE gui=NONE ctermfg=NONE
- else
- syn match semicolon #;$#
- hi semicolon guifg=red gui=bold ctermfg=1
- let b:semicolon = 1
- endif
-endfunction
-"}}}
diff --git a/.vim/colors/seashell.vim b/.vim/colors/seashell.vim
deleted file mode 100644
index 130785d..0000000
--- a/.vim/colors/seashell.vim
+++ /dev/null
@@ -1,32 +0,0 @@
-" Vim color file
-" Maintainer: Gerald S. Williams
-" Last Change: 2003 Apr 17
-
-" This is very reminiscent of a seashell. Good contrast, yet not too hard on
-" the eyes. This is something of a cross between zellner and peachpuff, if
-" such a thing is possible...
-"
-" Only values that differ from defaults are specified.
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name = "seashell"
-
-hi Normal guibg=seashell ctermbg=Gray ctermfg=Black
-hi NonText guibg=LavenderBlush guifg=Gray30
-hi LineNr guibg=LavenderBlush guifg=Gray30
-hi DiffDelete guibg=LightRed guifg=Black ctermbg=DarkRed ctermfg=White
-hi DiffAdd guibg=LightGreen ctermbg=DarkGreen ctermfg=White
-hi DiffChange guibg=Gray90 ctermbg=DarkCyan ctermfg=White
-hi DiffText gui=NONE guibg=LightCyan2 ctermbg=DarkCyan ctermfg=Yellow
-hi Comment guifg=MediumBlue
-hi Constant guifg=DeepPink
-hi PreProc guifg=DarkMagenta
-hi StatusLine guibg=White guifg=DarkSeaGreen cterm=None ctermfg=White ctermbg=DarkGreen
-hi StatusLineNC gui=None guibg=Gray
-hi VertSplit gui=None guibg=Gray
-hi Identifier guifg=#006f6f
-hi Statement ctermfg=DarkRed
diff --git a/.vim/colors/sf.vim b/.vim/colors/sf.vim
deleted file mode 100644
index 5b3033f..0000000
--- a/.vim/colors/sf.vim
+++ /dev/null
@@ -1,76 +0,0 @@
-" GUI-only vim color file, based on colors from vim.sf.net
-" Author: Christian MICHON
-" Email: christian_michon@yahoo.fr
-" Version: 1.1
-" Last Change: 28 Jul 2004
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "sf"
-
-hi Boolean guifg=#007f00 guibg=#f0f0dd gui=none
-hi Character guifg=#007f00 guibg=#f0f0dd gui=none
-hi Comment guifg=#b0b0b0 guibg=#f0f0dd gui=underline
-hi Conditional guifg=#0000ee guibg=#f0f0dd gui=bold
-hi Constant guifg=#007f00 guibg=#f0f0dd gui=none
-hi Cursor guifg=#f0f0dd guibg=#cc0000 gui=none
-hi Debug guifg=#0000ee guibg=#f0f0dd gui=none
-hi Define guifg=#cc0000 guibg=#f0f0dd gui=none
-hi Delimiter guifg=#0000ee guibg=#f0f0dd gui=none
-hi DiffAdd guifg=#551a8b guibg=#007f00 gui=bold
-hi DiffChange guifg=#f0f0dd guibg=#007f00 gui=none
-hi DiffDelete guifg=#551a8b guibg=#007f00 gui=none
-hi DiffText guifg=#f0f0dd guibg=#551a8b gui=bold
-hi Directory guifg=#cc0000 guibg=#f0f0dd gui=underline
-hi Error guifg=#ffffff guibg=#cc0000 gui=bold
-hi ErrorMsg guifg=#ffffff guibg=#cc0000 gui=bold
-hi Exception guifg=#0000ee guibg=#f0f0dd gui=bold
-hi Float guifg=#007f00 guibg=#f0f0dd gui=none
-hi FoldColumn guifg=#f0f0dd guibg=#007f00 gui=bold
-hi Folded guifg=#f0f0dd guibg=#007f00 gui=bold
-hi Function guifg=#cc0000 guibg=#f0f0dd gui=none
-hi Identifier guifg=#cc0000 guibg=#f0f0dd gui=none
-hi Ignore guifg=#f0f0dd guibg=#f0f0dd gui=none
-hi Include guifg=#cc0000 guibg=#f0f0dd gui=none
-hi IncSearch guifg=#ffffff guibg=#38d878 gui=bold
-hi Keyword guifg=#0000ee guibg=#f0f0dd gui=bold
-hi Label guifg=#0000ee guibg=#f0f0dd gui=bold
-hi lCursor guifg=#000066 guibg=#f0f0dd gui=none
-hi LineNr guifg=#b0b0b0 guibg=#007f00 gui=bold
-hi Macro guifg=#cc0000 guibg=#f0f0dd gui=none
-hi ModeMsg guifg=#000066 guibg=#f0f0dd gui=bold
-hi MoreMsg guifg=#551a8b guibg=#f0f0dd gui=bold
-hi NonText guifg=#b0b0b0 guibg=#f0f0dd gui=bold
-hi Normal guifg=#000066 guibg=#f0f0dd gui=none
-hi Number guifg=#007f00 guibg=#f0f0dd gui=none
-hi Operator guifg=#0000ee guibg=#f0f0dd gui=bold
-hi PreCondit guifg=#cc0000 guibg=#f0f0dd gui=none
-hi PreProc guifg=#cc0000 guibg=#f0f0dd gui=none
-hi Question guifg=#551a8b guibg=#f0f0dd gui=bold
-hi Repeat guifg=#0000ee guibg=#f0f0dd gui=bold
-hi Search guifg=#ffffff guibg=#38d878 gui=bold
-hi Special guifg=#999973 guibg=#f0f0dd gui=none
-hi SpecialChar guifg=#0000ee guibg=#f0f0dd gui=none
-hi SpecialComment guifg=#0000ee guibg=#f0f0dd gui=none
-hi SpecialKey guifg=#cc0000 guibg=#f0f0dd gui=none
-hi Statement guifg=#0000ee guibg=#f0f0dd gui=bold
-hi StatusLine guifg=#f0f0dd guibg=#cc0000 gui=bold
-hi StatusLineNC guifg=#f0f0dd guibg=#000066 gui=bold
-hi StorageClass guifg=#551a8b guibg=#f0f0dd gui=bold
-hi String guifg=#007f00 guibg=#f0f0dd gui=none
-hi Structure guifg=#551a8b guibg=#f0f0dd gui=bold
-hi Tag guifg=#0000ee guibg=#f0f0dd gui=none
-hi Title guifg=#007f00 guibg=#f0f0dd gui=bold
-hi Todo guifg=#f0f0dd guibg=#0000ee gui=none
-hi Type guifg=#551a8b guibg=#f0f0dd gui=bold
-hi Typedef guifg=#551a8b guibg=#f0f0dd gui=bold
-hi Underlined guifg=#0000ee guibg=#f0f0dd gui=underline
-hi VertSplit guifg=#f0f0dd guibg=#000066 gui=bold
-hi Visual guifg=#ffffff guibg=#00009c gui=none
-hi VisualNOS guifg=#ffffff guibg=#b0b0b0 gui=none
-hi WarningMsg guifg=#ffffff guibg=#cc0000 gui=bold
-hi WildMenu guifg=#f0f0dd guibg=#0000ee gui=none
diff --git a/.vim/colors/simpleandfriendly.vim b/.vim/colors/simpleandfriendly.vim
deleted file mode 100644
index 6222e76..0000000
--- a/.vim/colors/simpleandfriendly.vim
+++ /dev/null
@@ -1,56 +0,0 @@
-" Vim color file
-" Maintainer: Thomas Schmall <ts_nowhere@NOSPAM_yahoo.com>
-" Last Change: 2004 Nov 20
-" URL: http://www.vim.org/scripts/script.php?script_id=792
-" Version: 1.3
-
-" This color scheme uses a light grey background.
-
-" Last Changes:
-" *line number colors changed
-
-
-" First remove all existing highlighting.
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "simpleandfriendly"
-
-"Set nice colors #DC6210
-"Cursor is Cyan when ":lmap" mappings are active
-hi lCursor guibg=Cyan guifg=NONE
-hi LineNr guifg=white guibg=#acbbff
-
-"Text below the last line is darker grey
-hi NonText guibg=grey80
-"Normal text is black background is grey
-hi Normal guifg=black guibg=grey89 ctermfg=Black ctermbg=LightGrey
-hi Comment guifg=Orange guibg=grey94 ctermfg=DarkCyan term=bold
-"Constants are not underlined but have a slightly lighter background
-hi Constant guifg=#8080a0 guibg=grey92 gui=NONE term=underline
-hi String guifg=#80a0ff guibg=grey93 gui=NONE term=underline
-hi Number guifg=#80a5ff guibg=grey91 gui=NONE ctermfg=Gray term=none
-"Words like _if_ or _else_ (Grey27)
-hi Statement guifg=#4A2B99 gui=NONE ctermfg=Blue
-
-hi Title guifg=red ctermfg=red gui=NONE term=BOLD
-"color for _NONE_ for instance:
-hi PreProc term=underline ctermfg=LightBlue guifg=#DC6210
-"color for _guifg_ for instance: (SlateBlue works here nice too)
-hi Type guifg=#008080 ctermfg=LightGreen gui=None term=underline
-hi Function guifg=#61577A term=bold
-"in lingo the defined functions. (alt: SlateBlue)
-hi Identifier guifg=Seagreen
-"hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff
-
-"hi Repeat term=underline ctermfg=White guifg=white
-"hi Ignore guifg=bg ctermfg=black
-hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
-"Special Characters
-hi Special guibg=grey90 guifg=Slateblue gui=UNDERLINE
-
-hi operator guifg=gray25 ctermfg=Black term=bold cterm=bold gui=bold
diff --git a/.vim/colors/taqua.vim b/.vim/colors/taqua.vim
deleted file mode 100644
index 947ebc9..0000000
--- a/.vim/colors/taqua.vim
+++ /dev/null
@@ -1,85 +0,0 @@
-" Vim color file
-" Maintainer: TaQ <eustaquiorangel@yahoo.com>
-" Last Change: 18 March 2003
-" URL: http://taq.cjb.net
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name="taqua"
-
-hi Normal gui=NONE guifg=#303030 guibg=#FFFFFF
-hi NonText gui=BOLD guifg=#303030 guibg=#FFFFFF
-
-" Search
-hi IncSearch gui=BOLD guifg=#008000 guibg=#CCFF00
-hi Search gui=BOLD guifg=#008000 guibg=#CCFF00
-
-" Messages
-hi ErrorMsg gui=BOLD guifg=#FFFFFF guibg=#FF0000
-hi WarningMsg gui=BOLD guifg=#008000 guibg=#CCFF00
-
-" Split area
-hi StatusLine gui=BOLD guifg=#FFFFFF guibg=#0E8ED3
-hi StatusLineNC gui=BOLD guifg=#FFFFFF guibg=#0A6799
-
-" Diff
-hi DiffText gui=BOLD guifg=#FF0000 guibg=#FFEAE0
-hi DiffChange gui=BOLD guifg=#303030 guibg=#FFFFFF
-hi DiffDelete gui=NONE guifg=#FFFFFF guibg=#FF0000
-hi DiffAdd gui=NONE guifg=#008000 guibg=#00FF00
-
-" Cursor
-hi Cursor gui=BOLD guifg=#FFFFFF guibg=#000000
-hi lCursor gui=BOLD guifg=#f8f8f8 guibg=#162CF7
-hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#162CF7
-
-" Fold
-hi Folded gui=BOLD guifg=#0E8ED3 guibg=#DBF2FF
-hi FoldColumn gui=NONE guifg=#0E8ED3 guibg=#DBF2FF
-
-" Other
-hi LineNr gui=BOLD guifg=#00A0FF guibg=#DBF2FF
-hi Directory gui=BOLD guifg=#0A6799 guibg=#FFFFFF
-hi NonText gui=BOLD guifg=#009999 guibg=#FFFFFF
-hi SpecialKey gui=BOLD guifg=#2020FF guibg=#FFFFFF
-hi Title gui=BOLD guifg=#0000A0 guibg=#FFFFFF
-hi Visual gui=NONE guifg=#404060 guibg=#dddde8
-
-" Syntax group
-" purple was #8000FF
-hi Comment gui=NONE guifg=#0E8ED3 guibg=#DBF2FF
-hi Constant gui=NONE guifg=#303030 guibg=#F5F5F5
-hi Error gui=BOLD guifg=#FF0000 guibg=#FFFFFF
-hi Identifier gui=NONE guifg=#1F89E0 guibg=#FFFFFF
-hi Ignore gui=NONE guifg=#f8f8f8 guibg=#FFFFFF
-hi PreProc gui=BOLD guifg=#0BBF20 guibg=#FFFFFF
-hi Special gui=NONE guifg=#0E8ED3 guibg=#DBF2FF
-hi Statement gui=BOLD guifg=#2E9BF4 guibg=#FFFFFF
-hi Todo gui=NONE guifg=#FF0070 guibg=#FFE0F4
-hi Type gui=BOLD guifg=#0971F9 guibg=#FFFFFF
-hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE
-
-" HTML
-hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE
-hi htmlBold gui=BOLD
-hi htmlBoldItalic gui=BOLD,ITALIC
-hi htmlBoldUnderline gui=BOLD,UNDERLINE
-hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC
-hi htmlItalic gui=ITALIC
-hi htmlUnderline gui=UNDERLINE
-hi htmlUnderlineItalic gui=UNDERLINE,ITALIC
-
-" Scrollbar
-hi Scrollbar gui=BOLD guifg=#00C0FF guibg=#FFFFFF
-hi VertSplit gui=BOLD guifg=#FFFFFF guibg=#0E8ED3
-hi Visual gui=BOLD guifg=#FFFFFF guibg=#1679F9
-
-
diff --git a/.vim/colors/tcsoft.vim b/.vim/colors/tcsoft.vim
deleted file mode 100644
index 072831e..0000000
--- a/.vim/colors/tcsoft.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-" Vim Farben-Datei
-" Ersteller: Ingo Fabbri <vim@tcsoft.net>
-" Letzte Änderung: 2003 May 13
-
-" Mein persönliches Farbschema. Es schont die Augen, da es keine grellen Farben verwendet.
-" Am Besten geignet für PHP
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let colors_name = "TCSoft"
-
-" Farb-Einstellungen für das GUI
-hi Normal guifg=#000000 guibg=#FFFFFF "Schwarze Schrift auf weißem Hintergrund
-
-hi Ignore guifg=bg
-
-hi Comment guifg=#000099 gui=italic "dunkelblau
-hi Constant guifg=#666666 gui=NONE "grau
-hi Special guifg=#FF0000 gui=NONE "rot
-hi Identifier guifg=#993300 gui=NONE "rostfarbig
-hi Statement guifg=#FF9900 gui=NONE "orange
-hi PreProc guifg=#009900 gui=NONE "dunkelgrün
-hi Type guifg=#FF9900 gui=bold "orange
-hi Cursor guifg=#000000 gui=reverse "schwarz
-hi LineNr guifg=#000000 gui=NONE "schwarz
-hi StatusLine guifg=#000000 gui=reverse,bold "schwarz
-
-hi link Function PreProc
-hi link String Constant
-hi link Character Constant
-
-hi! link MoreMsg Comment
-hi! link ErrorMsg Visual
-hi! link WarningMsg ErrorMsg
-hi! link Question Comment
-
-hi link Number Special
-hi link Boolean Constant
-hi link Float Number
-
-hi link Operator Identifier
-hi link Keyword Statement
-hi link Exception Statement
-hi link Include PreProc
-hi link Define PreProc
-hi link Macro PreProc
-
-hi link Conditional Statement
-hi link Repeat Statement
-hi link Label Statement
-
-hi link PreCondit PreProc
-hi link StorageClass Type
-hi link Structure Type
-hi link Typedef Type
-hi link SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Comment
-hi link Debug Special
diff --git a/.vim/colors/tibet.vim b/.vim/colors/tibet.vim
deleted file mode 100644
index 48807bf..0000000
--- a/.vim/colors/tibet.vim
+++ /dev/null
@@ -1,101 +0,0 @@
-" Vim color file
-" Maintainer: Miguel Figueiredo
-
-" /usr/X11R6/lib/X11
-set background=dark
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name="tibet"
-
-hi Normal guifg=ivory guibg=darkred
-
-" highlight groups
-"hi Cursor guibg=khaki guifg=slategrey
-hi Cursor guibg=blue4 guifg=white
-"hi CursorIM
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-"hi ErrorMsg
-"hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none
-hi VertSplit guibg=darkgreen guifg=white gui=none
-hi Folded guibg=darkred guifg=gold
-hi FoldColumn guibg=grey30 guifg=tan
-hi IncSearch guifg=slategrey guibg=khaki
-hi LineNr guifg=yellow guibg=darkred
-hi ModeMsg guifg=goldenrod
-hi MoreMsg guifg=SeaGreen
-hi NonText guifg=LightBlue guibg=darkred
-hi Question guifg=springgreen
-hi Search guibg=peru guifg=wheat
-hi SpecialKey guifg=yellowgreen
-hi StatusLine guibg=#c2bfa5 guifg=black gui=none
-hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none
-hi Title guifg=indianred
-"hi Visual gui=none guifg=khaki guibg=olivedrab
-hi Visual gui=none guifg=white guibg=#003300
-"hi VisualNOS
-hi WarningMsg guifg=salmon
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=goldenrod
-hi Constant guifg=#ffa0a0
-"hi String guifg=blue
-hi Identifier guifg=palegreen
-hi Statement guifg=khaki
-hi PreProc guifg=#ffa0a0
-"hi Type guifg=darkkhaki
-hi Type guifg=khaki
-hi Special guifg=navajowhite
-"hi Underlined
-hi Ignore guifg=grey40
-"hi Error
-hi Todo guifg=yellow guibg=#003300
-
-" color terminal definitions
-hi SpecialKey ctermfg=darkgreen
-hi NonText cterm=bold ctermfg=darkblue
-hi Directory ctermfg=darkcyan
-hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
-hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
-hi Search cterm=NONE ctermfg=grey ctermbg=blue
-hi MoreMsg ctermfg=darkgreen
-hi ModeMsg cterm=NONE ctermfg=brown
-hi LineNr ctermfg=3
-hi Question ctermfg=green
-hi StatusLine cterm=bold,reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=5
-hi Visual cterm=reverse
-hi VisualNOS cterm=bold,underline
-hi WarningMsg ctermfg=1
-hi WildMenu ctermfg=0 ctermbg=3
-hi Folded ctermfg=darkgrey ctermbg=NONE
-hi FoldColumn ctermfg=darkgrey ctermbg=NONE
-hi DiffAdd ctermbg=4
-hi DiffChange ctermbg=5
-hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-hi DiffText cterm=bold ctermbg=1
-hi Comment ctermfg=darkcyan
-hi Constant ctermfg=brown
-hi Special ctermfg=5
-hi Identifier ctermfg=6
-hi Statement ctermfg=3
-hi PreProc ctermfg=5
-hi Type ctermfg=2
-hi Underlined cterm=underline ctermfg=5
-hi Ignore ctermfg=darkgrey
-hi Error cterm=bold ctermfg=7 ctermbg=1
-
-
-"
diff --git a/.vim/colors/tolerable.vim b/.vim/colors/tolerable.vim
deleted file mode 100644
index 7b97b9a..0000000
--- a/.vim/colors/tolerable.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" Vim color file
-" Maintainer: Ian Langworth
-" Last Change: 2004 Dec 24
-" Email: <langworth.com>
-
-" Color settings inspired by BBEdit for Mac OS, plus I liked
-" the low-contrast comments from the 'oceandeep' colorscheme
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="tolerable"
-
-hi Cursor guifg=white guibg=darkgreen
-
-hi Normal gui=none guifg=black guibg=white
-hi NonText gui=none guifg=orange guibg=white
-
-hi Statement gui=none guifg=blue
-hi Special gui=none guifg=red
-hi Constant gui=none guifg=darkred
-hi Comment gui=none guifg=#555555
-hi Preproc gui=none guifg=darkcyan
-hi Type gui=none guifg=darkmagenta
-hi Identifier gui=none guifg=darkgreen
-hi Title gui=none guifg=black
-
-hi StatusLine gui=none guibg=#333333 guifg=white
-hi StatusLineNC gui=none guibg=#333333 guifg=white
-hi VertSplit gui=none guibg=#333333 guifg=white
-
-hi Visual gui=none guibg=green guifg=black
-hi Search gui=none guibg=yellow
-hi Directory gui=none guifg=darkblue
-hi WarningMsg gui=none guifg=red
-hi Error gui=none guifg=white guibg=red
-hi Todo gui=none guifg=black guibg=yellow
-
-hi MoreMsg gui=none
-hi ModeMsg gui=none
-
diff --git a/.vim/colors/tomatosoup.vim b/.vim/colors/tomatosoup.vim
deleted file mode 100644
index 7864aed..0000000
--- a/.vim/colors/tomatosoup.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Vim color file
-" Maintainer: Michael Brailsford <brailsmt@yahoo.com>
-" Date: $Date: 2002/04/11 03:29:51 $
-" Version: $Revision: 1.4 $
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-" your pick:
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="tomatosoup"
-
-hi Normal guifg=black guibg=tomato1 ctermfg=14
-
-"Toggle semicolon matching at the end of lines
-nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr>
-"{{{
-function! ToggleSemicolonHighlighting()
- if exists("b:semicolon")
- unlet b:semicolon
- hi semicolon guifg=NONE gui=NONE ctermfg=NONE
- else
- syn match semicolon #;$#
- hi semicolon guifg=red gui=bold ctermfg=1
- let b:semicolon = 1
- endif
-endfunction
-"}}}
-
-hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11
-"hi CursorIM
-hi Directory gui=bold
-hi DiffAdd guifg=yellow guibg=darkgreen ctermbg=0
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-hi ErrorMsg guibg=red ctermfg=1
-"hi VertSplit
-hi Folded guibg=darkred ctermbg=4 guifg=gold ctermfg=11 gui=bold
-hi FoldColumn guibg=darkred ctermbg=14 guifg=gold ctermfg=11 gui=bold
-"hi IncSearch
-hi LineNr guifg=yellow ctermfg=11
-hi ModeMsg guifg=yellow gui=bold
-"hi MoreMsg
-"hi NonText
-"hi Question
-hi Search guibg=yellow guifg=bg
-"hi SpecialKey
-hi StatusLine guifg=brown
-hi StatusLineNC guifg=darkred
-"hi Title
-hi Visual guifg=fg guibg=bg
-"hi VisualNOS
-"hi WarningMsg
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment guifg=pink ctermfg=10
-hi Constant guifg=lightmagenta gui=bold ctermfg=13
-hi String guifg=grey85 ctermfg=5
-hi Character guifg=violet ctermfg=5
-hi Number guifg=red ctermfg=5
-"hi Identifier
-hi Statement guifg=khaki1 gui=bold ctermfg=15 cterm=underline
-hi PreProc guifg=white gui=italic ctermfg=9
-hi Type guifg=yellow gui=bold ctermfg=3
-hi Special guifg=red gui=bold
-"hi Underlined
-"hi Ignore
-"hi Error
-hi Todo guifg=yellow guibg=blue gui=bold
diff --git a/.vim/colors/toothpik.vim b/.vim/colors/toothpik.vim
deleted file mode 100644
index 22e07a1..0000000
--- a/.vim/colors/toothpik.vim
+++ /dev/null
@@ -1,45 +0,0 @@
-set background=light
-highlight clear
-if exists( "syntax_on" )
- syntax reset
-endif
-let g:colors_name="toothpik"
-
-highlight Comment term=bold guifg=Yellow
-highlight Constant term=underline guifg=Blue guibg=grey
-highlight Cursor gui=reverse guifg=red guibg=white
-highlight lCursor guifg=black guibg=green
-highlight DiffAdd term=bold guibg=LightBlue
-highlight DiffChange term=bold guibg=LightMagenta
-highlight DiffDelete term=bold gui=bold guifg=Blue guibg=LightCyan
-highlight DiffText term=reverse gui=bold guibg=Red
-highlight Directory term=bold guifg=Blue
-highlight Error term=reverse guifg=White guibg=Red
-highlight ErrorMsg term=standout guifg=White guibg=Red
-highlight Folded term=standout guifg=DarkBlue guibg=LightGrey
-highlight FoldColumn term=standout guifg=DarkBlue guibg=Grey
-highlight Identifier term=underline guifg=DarkCyan
-highlight Ignore guifg=bg
-highlight IncSearch term=reverse gui=reverse
-highlight LineNr term=underline guifg=Brown
-highlight MoreMsg term=bold gui=bold guifg=SeaGreen
-highlight ModeMsg term=bold gui=bold
-highlight NonText term=bold gui=bold guifg=Blue guibg=grey
-highlight Normal guibg=grey font='Fixedsys'
-highlight Question term=standout gui=bold guifg=SeaGreen
-highlight PreProc term=underline guifg=Purple
-highlight Search term=reverse guibg=Yellow
-highlight Special term=bold guifg=darkred guibg=grey
-highlight SpecialKey term=bold guifg=Blue
-highlight Statement term=bold gui=bold guifg=Brown
-highlight StatusLine term=bold,reverse gui=bold,reverse
-highlight StatusLineNC term=reverse gui=reverse
-highlight Title term=bold gui=bold guifg=Magenta
-highlight Todo term=standout guifg=Blue guibg=Yellow
-highlight Type term=underline gui=bold guifg=DarkGreen
-highlight Underlined term=underline gui=underline guifg=SlateBlue
-highlight VertSplit term=reverse gui=reverse
-highlight Visual term=reverse gui=reverse guifg=Yellow guibg=Black
-highlight VisualNOS term=bold,underline gui=bold,underline
-highlight WarningMsg term=standout guifg=Red
-highlight WildMenu term=standout guifg=Black guibg=Yellow
diff --git a/.vim/colors/torte.vim b/.vim/colors/torte.vim
deleted file mode 100644
index f28ed60..0000000
--- a/.vim/colors/torte.vim
+++ /dev/null
@@ -1,51 +0,0 @@
-" Vim color file
-" Maintainer: Thorsten Maerz <info@netztorte.de>
-" Last Change: 2001 Jul 23
-" grey on black
-" optimized for TFT panels
-" $Revision: 1.1 $
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-"colorscheme default
-let g:colors_name = "torte"
-
-" hardcoded colors :
-" GUI Comment : #80a0ff = Light blue
-
-" GUI
-highlight Normal guifg=Grey80 guibg=Black
-highlight Search guifg=Black guibg=Red gui=bold
-highlight Visual guifg=Grey25 gui=bold
-highlight Cursor guifg=Black guibg=Green gui=bold
-highlight Special guifg=Orange
-highlight Comment guifg=#80a0ff
-highlight StatusLine guifg=blue guibg=white
-highlight Statement guifg=Yellow gui=NONE
-highlight Type gui=NONE
-
-" Console
-highlight Normal ctermfg=LightGrey ctermbg=Black
-highlight Search ctermfg=Black ctermbg=Red cterm=NONE
-highlight Visual cterm=reverse
-highlight Cursor ctermfg=Black ctermbg=Green cterm=bold
-highlight Special ctermfg=Brown
-highlight Comment ctermfg=Blue
-highlight StatusLine ctermfg=blue ctermbg=white
-highlight Statement ctermfg=Yellow cterm=NONE
-highlight Type cterm=NONE
-
-" only for vim 5
-if has("unix")
- if v:version<600
- highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
- highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
- highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold
- highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE
- highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
- endif
-endif
-
diff --git a/.vim/colors/transparent.vim b/.vim/colors/transparent.vim
deleted file mode 100644
index 274cd8e..0000000
--- a/.vim/colors/transparent.vim
+++ /dev/null
@@ -1,97 +0,0 @@
-" Vim color file
-" Maintainer: Sir Raorn <raorn@altlinux.ru>
-" Last Change: Nov 10, 2002
-" URL: http://hell.binec.ru/
-
-" This color scheme uses "transparent" background (dark dark blue in gvim)
-" Looks really nice when vim (console) started in transparent aterm
-" But gvim is good either
-set background=dark
-
-" First remove all existing highlighting.
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="transparent"
-
-" default groups
-hi Normal ctermfg=Gray ctermbg=NONE guifg=Gray guibg=#00002A
-
-hi Cursor guifg=Black guibg=Green
-"hi CursorIM NONE guifg=Black guibg=Purple
-hi Directory ctermfg=White guifg=White
-hi DiffAdd ctermfg=White ctermbg=DarkCyan guifg=White guibg=DarkCyan
-hi DiffChange ctermfg=Black ctermbg=Gray guifg=Black guibg=DarkGray
-hi DiffDelete ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed
-hi DiffText cterm=bold ctermfg=White ctermbg=Gray gui=bold guifg=White guibg=DarkGray
-hi ErrorMsg ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed
-hi VertSplit cterm=reverse gui=reverse
-hi Folded cterm=bold ctermfg=Cyan ctermbg=NONE gui=bold guifg=Cyan guibg=DarkCyan
-hi FoldColumn ctermfg=Green ctermbg=NONE guifg=Green guibg=#00002A
-hi IncSearch ctermfg=White ctermbg=Black guifg=White guibg=Black
-hi LineNr ctermfg=Yellow guifg=DarkCyan
-hi ModeMsg cterm=bold ctermfg=White gui=bold guifg=White
-hi MoreMsg cterm=bold ctermfg=White gui=bold guifg=White
-hi NonText ctermfg=NONE guifg=NONE
-hi Question ctermfg=Green guifg=Green
-hi Search cterm=reverse ctermfg=fg ctermbg=NONE gui=reverse guifg=fg guibg=bg
-hi SpecialKey ctermfg=LightRed guifg=Red
-hi StatusLine cterm=bold,reverse ctermfg=White ctermbg=Black gui=bold,reverse guifg=White guibg=Black
-hi StatusLineNC cterm=reverse ctermfg=Gray ctermbg=Black gui=reverse guifg=DarkGray guibg=Black
-hi Title ctermfg=LightGreen gui=bold guifg=Green
-hi Visual cterm=inverse ctermfg=White ctermbg=DarkGray gui=inverse guifg=DarkGray guibg=Black
-hi VisualNOS cterm=bold,underline gui=bold,underline
-hi WarningMsg ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed
-hi WildMenu cterm=bold ctermfg=Black ctermbg=Yellow gui=bold guifg=Black guibg=Yellow
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment ctermfg=DarkCyan guifg=DarkCyan
-
-hi Constant ctermfg=LightGreen guifg=LightGreen
-hi String ctermfg=Yellow guifg=Yellow
-hi Character ctermfg=Yellow guifg=Yellow
-"hi Number
-"hi Boolean
-"hi Float
-
-hi Identifier ctermfg=LightCyan guifg=LightCyan
-hi Function ctermfg=White guifg=White
-
-hi Statement ctermfg=Yellow guifg=Yellow
-"hi Conditional
-"hi Repeat
-hi Label ctermfg=White guifg=White
-hi Operator ctermfg=Green guifg=Green
-"hi Keyword
-hi Exception ctermfg=Black ctermbg=DarkRed guifg=Black guibg=DarkRed
-
-hi PreProc ctermfg=DarkGreen guifg=DarkGreen
-"hi Include
-"hi Define
-"hi Macro
-"hi PreCondit
-
-hi Type ctermfg=Green guifg=Green
-"hi StorageClass
-"hi Structure
-hi Typedef ctermfg=Red guifg=Red
-
-hi Special ctermfg=Red guifg=Red
-"hi SpecialChar
-hi Tag ctermfg=LightGreen guifg=LightGreen
-hi Delimiter ctermfg=Green guifg=Green
-"hi SpecialComment
-hi Debug ctermfg=White ctermbg=Black guifg=White guibg=Black
-
-hi Underlined cterm=underline gui=underline
-
-hi Ignore ctermfg=DarkBlue guifg=DarkBlue
-
-hi Error ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed
-
-hi Todo ctermfg=Black ctermbg=Gray guifg=Black guibg=Gray
-
diff --git a/.vim/colors/turbo.vim b/.vim/colors/turbo.vim
deleted file mode 100644
index c6fda54..0000000
--- a/.vim/colors/turbo.vim
+++ /dev/null
@@ -1,68 +0,0 @@
-" Vim color file
-" Maintainer: Bryant Casteel
-" Web Site: http://bethings.provoplatinum.com
-" Last Change: 2004 Jan. 22
-
-" turbo -- Intended to look like the color scheme
-" from Borland's Turbo C++ and Turbo Pascal.
-
-set bg=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "turbo"
-
-
-hi Normal guifg=yellow guibg=#000040 ctermfg=yellow ctermbg=black
-hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue
-hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
-hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
-hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline
-hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
-
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none
-hi ModeMsg guifg=#22cce2 ctermfg=lightblue
-hi MoreMsg guifg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=#0030ff ctermfg=darkblue
-
-" Split window status bar
-hi StatusLine guifg=blue guibg=yellow gui=none ctermfg=blue ctermbg=gray cterm=none
-hi StatusLineNC guifg=black guibg=green gui=none ctermfg=black ctermbg=gray cterm=none
-hi VertSplit guifg=black guibg=orange gui=none ctermfg=black ctermbg=gray cterm=none
-
-" Folded code
-hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold
-hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold
-hi LineNr guifg=#90f020 ctermfg=green cterm=none
-
-
-hi DiffAdd guibg=darkblue ctermbg=darkblue cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete guifg=Blue guibg=DarkCyan gui=bold ctermfg=blue ctermbg=cyan
-hi DiffText guibg=Red gui=bold ctermbg=red cterm=bold
-
-" Cursor
-hi Cursor guifg=#000020 guibg=#ffaf38 ctermfg=bg ctermbg=brown
-hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen
-
-" Syntax highlighting:
-hi Comment guifg=darkcyan ctermfg=darkcyan
-hi Constant guifg=darkred ctermfg=darkred cterm=none
-hi Special guifg=magenta gui=none ctermfg=magenta cterm=none
-hi Identifier guifg=green ctermfg=green cterm=none
-hi Statement guifg=white gui=bold ctermfg=white cterm=bold
-hi PreProc guifg=darkgreen gui=none ctermfg=darkgreen cterm=none
-hi type guifg=grey gui=bold ctermfg=grey cterm=bold
-hi Underlined gui=underline cterm=underline
-hi Ignore guifg=bg ctermfg=bg
-
-
diff --git a/.vim/colors/umber-green.vim b/.vim/colors/umber-green.vim
deleted file mode 100644
index d1743a1..0000000
--- a/.vim/colors/umber-green.vim
+++ /dev/null
@@ -1,89 +0,0 @@
-" Vim color file
-" Maintainer: horrorvacui-at-gmx.net
-" Last Change: today... oh yes, it's 16.9.03
-" URL:
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-" your pick:
-set background=dark " or light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="umber-green"
-
-"hi Normal
-
-" OR
-
-" highlight clear Normal
-" set background&
-" highlight clear
-" if &background == "light"
-" highlight Error ...
-" ...
-" else
-" highlight Error ...
-" ...
-" endif
-
-" A good way to see what your colorscheme does is to follow this procedure:
-" :w
-" :so %
-"
-" Then to see what the current setting is use the highlight command.
-" For example,
-" :hi Cursor
-" gives
-" Cursor xxx guifg=bg guibg=fg
-
-" Uncomment and complete the commands you want to change from the default.
-
-hi Cursor guibg=#ffffff
-"hi CursorIM
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-"hi ErrorMsg
-"hi VertSplit
-"hi Folded
-"hi FoldColumn
-"hi IncSearch
-hi LineNr guifg=#e2844d guibg=#000000
-"hi ModeMsg
-"hi MoreMsg
-"hi NonText
-"hi Question
-"hi Search
-"hi SpecialKey
-hi StatusLine guifg=#ffffff
-hi StatusLineNC guifg=#ffffff
-"hi Title
-"hi Visual
-"hi VisualNOS
-"hi WarningMsg
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Normal guifg=#eeaa11 guibg=#333333
-hi Comment guifg=#ff5555
-hi Constant guifg=#eeaa11
-hi Identifier guifg=#0000ff
-hi Statement guifg=#77ee44
-hi PreProc guifg=#ff0000
-hi Type guifg=#eecc88
-hi Special guifg=#ddffcc
-"hi Underlined
-"hi Ignore
-"hi Error
-"hi Todo
-
diff --git a/.vim/colors/vc.vim b/.vim/colors/vc.vim
deleted file mode 100644
index 53ecc22..0000000
--- a/.vim/colors/vc.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" Vim color file
-" Maintainer: Vladimir Vrzic <random@bsd.org.yu>
-" Last Change: 28. june 2003.
-" URL: http://galeb.etf.bg.ac.yu/~random/pub/vim/
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="vc"
-
-hi Comment gui=NONE guifg=SeaGreen guibg=NONE
-hi Constant gui=NONE guifg=#004488 guibg=NONE
-"hi Identifier gui=NONE guifg=Blue guibg=NONE
-hi Statement gui=NONE guifg=Blue guibg=NONE
-hi PreProc gui=NONE guifg=Blue guibg=NONE
-hi Type gui=NONE guifg=Blue guibg=NONE
-hi Special gui=NONE guifg=SteelBlue guibg=NONE
-"hi Underlined
-"hi Ignore
-"hi Error
-"hi Todo
-
diff --git a/.vim/colors/vcbc.vim b/.vim/colors/vcbc.vim
deleted file mode 100644
index 07777c3..0000000
--- a/.vim/colors/vcbc.vim
+++ /dev/null
@@ -1,31 +0,0 @@
-" Vim color file
-" Maintainer: Rajas Sambhare <rajas dot sambhare squigglylittleA gmail dot com>
-" Last Change: Nov 18, 2004
-" Version: 1.0
-" Based on the colors for Visual C++ 6.0 and Beyond Compare for diffs.
-" Inspired by vc.vim by Vladimir Vrzic
-
-set background=light
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="vcbc"
-
-hi Normal cterm=NONE ctermfg=Black ctermbg=White gui=NONE guifg=NONE guibg=NONE
-hi NonText cterm=NONE ctermfg=Black ctermbg=Grey gui=NONE guifg=NONE guibg=LightGrey
-hi LineNr cterm=NONE ctermfg=Black ctermbg=LightGrey gui=NONE guifg=NONE guibg=LightGrey
-hi Comment cterm=NONE ctermfg=DarkGreen ctermbg=White gui=italic guifg=DarkGreen guibg=NONE
-hi Constant cterm=NONE ctermfg=Red ctermbg=White gui=NONE guifg=Red guibg=NONE
-hi Identifier cterm=NONE ctermfg=LightBlue ctermbg=White gui=NONE guifg=LightBlue guibg=NONE
-hi Statement cterm=bold ctermfg=Blue ctermbg=White gui=bold guifg=Blue guibg=NONE
-hi PreProc cterm=NONE ctermfg=DarkRed ctermbg=White gui=NONE guifg=DarkRed guibg=NONE
-hi Type cterm=NONE ctermfg=Blue ctermbg=White gui=NONE guifg=Blue guibg=NONE
-hi Underlined cterm=NONE ctermfg=Black ctermbg=White gui=underline guifg=NONE guibg=NONE
-hi Error cterm=NONE ctermfg=Yellow ctermbg=Red gui=NONE guifg=Yellow guibg=Red
-hi Todo cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=NONE guibg=LightYellow
-"Diff colors
-hi DiffAdd cterm=NONE ctermfg=Red ctermbg=LightGrey gui=NONE guifg=Red guibg=#fff0f0
-hi DiffChange cterm=NONE ctermfg=Red ctermbg=LightGrey gui=NONE guifg=Red guibg=#fff0f0
-hi DiffText cterm=NONE ctermfg=White ctermbg=DarkRed gui=bold,italic guifg=Red guibg=#fff0f0
-hi DiffDelete cterm=NONE ctermfg=White ctermbg=LightGrey gui=NONE guifg=DarkGrey guibg=#f0f0f0
diff --git a/.vim/colors/white.vim b/.vim/colors/white.vim
deleted file mode 100644
index 25d055b..0000000
--- a/.vim/colors/white.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-" Vim color file
-" created by mksa on 30.10.2003 10:58:20
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-
-
-set background=light
-" First remove all existing highlighting.
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name="white"
-
-" color terminal definitions
-hi Normal ctermfg=black ctermbg=white guifg=black guibg=white
-hi SpecialKey ctermfg=darkgreen guifg=darkgreen
-hi NonText ctermfg=black ctermbg=white guifg=black guibg=white
-hi Directory ctermfg=darkcyan guifg=darkcyan
-hi ErrorMsg ctermfg=lightred ctermbg=yellow guifg=lightred guibg=yellow
-hi IncSearch ctermfg=white ctermbg=black guifg=white guibg=black
-hi Search ctermfg=white ctermbg=black guifg=white guibg=black
-hi MoreMsg ctermfg=darkgreen guifg=darkgreen
-hi ModeMsg ctermfg=red guifg=red
-hi LineNr ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey
-hi Question ctermfg=darkgreen guifg=darkgreen
-"hi StatusLine cterm=reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=lightred ctermbg=yellow guifg=red
-hi Visual cterm=reverse
-hi VisualNOS cterm=reverse
-hi WarningMsg ctermfg=darkblue guifg=darkblue
-hi WildMenu ctermfg=black ctermbg=darkcyan guifg=black guibg=darkcyan
-hi Folded ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey
-hi FoldColumn ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey
-hi DiffAdd ctermfg=white ctermbg=red guifg=white guifg=red
-hi DiffChange ctermfg=yellow ctermbg=magenta guifg=yellow guifg=magenta
-hi DiffDelete ctermfg=red ctermbg=brown guifg=red guibg=brown
-hi DiffText ctermbg=blue guibg=blue
-
-hi Comment ctermfg=white ctermbg=darkgrey guifg=white guibg=darkgrey
-hi Constant ctermfg=darkblue guifg=darkblue
-hi Special ctermfg=darkred guifg=darkred
-hi Identifier ctermfg=darkmagenta guifg=darkmagenta
-hi Statement ctermfg=blue guifg=blue
-hi Operator ctermfg=blue guifg=blue
-hi PreProc ctermfg=darkmagenta guifg=darkmagenta
-hi Type ctermfg=blue guifg=blue
-hi Underlined ctermbg=Yellow ctermfg=blue guifg=blue
-hi Ignore ctermfg=grey guifg=grey
-hi Error ctermfg=white ctermbg=red guifg=white guibg=red
-hi Todo ctermfg=white ctermbg=darkgreen guifg=white guibg=darkgreen
-hi String ctermfg=darkgreen guifg=darkgreen
-hi Number ctermfg=magenta guifg=magenta
-
-
-"vim: sw=4
diff --git a/.vim/colors/whitedust.vim b/.vim/colors/whitedust.vim
deleted file mode 100644
index a12dc7d..0000000
--- a/.vim/colors/whitedust.vim
+++ /dev/null
@@ -1,62 +0,0 @@
-set background=light
-hi clear
-
-hi Boolean guifg=#235C5C gui=bold
-hi Character guifg=#235C5C gui=bold
-hi Comment guifg=#808080
-hi Condtional guifg=#700000
-hi Constant guifg=#235C5C gui=bold
-hi Cursor guifg=#FFFFFF guibg=#515151
-hi Debug guifg=#235C5C gui=bold
-hi Define guifg=#003050 gui=bold
-hi Delimiter guifg=#707070
-hi DiffAdd guibg=#9EC3B9
-hi DiffChange guibg=#CCCCCC
-hi DiffDelete guifg=#CCCCCC guibg=#B9B9B9 gui=none
-hi DiffText guifg=#000000 guibg=#E0E0E0 gui=bold
-hi Directory guifg=#000000 gui=bold
-hi Error guifg=#FFFFFF guibg=#FF0000
-hi ErrorMsg guifg=#FFFFFF guibg=#FF3F30
-hi Exception guifg=#700000 gui=underline
-hi Float guifg=#636C4C
-hi FoldColumn guifg=#235C5C guibg=#B9B9B9
-hi Folded guifg=#235C5C guibg=#CCCCCC
-hi Function guifg=#000070
-hi Identifier guifg=#000000
-hi Include guifg=#003050 gui=bold
-hi IncSearch guifg=#FFFFFF guibg=#3EA399
-hi Keyword guifg=#000000 gui=bold
-hi Label guifg=#700000 gui=underline
-hi LineNr guifg=#808080 guibg=#B9B9B9
-hi Macro guifg=#003050 gui=bold
-hi ModeMsg guifg=#235C5C gui=bold
-hi MoreMsg guifg=#000000 gui=bold
-hi NonText guifg=#E0E0E0
-hi Normal guifg=#333333 guibg=#C0C0C0
-hi Number guifg=#535F5C
-hi Operator guifg=#000000
-hi PreCondit guifg=#205070 gui=bold
-hi PreProc guifg=#003050 gui=bold
-hi Question guifg=#000000 gui=bold
-hi Repeat guifg=#700000 gui=underline
-hi Search guifg=#FFFFFF guibg=#3EA399
-hi SpecialChar guifg=#235C5C gui=bold
-hi SpecialComment guifg=#235C5C gui=bold
-hi Special guifg=#808080
-hi SpecialKey guifg=#818181
-hi Statement guifg=#700000
-hi StatusLine guifg=#CCCCCC guibg=#0E7369
-hi StatusLineNC guifg=#CCCCCC guibg=#333333
-hi StorageClass guifg=#000000 gui=bold
-hi String guifg=#336C6C
-hi Structure guifg=#000000 gui=bold,underline
-hi Tag guifg=#235C5C gui=bold
-hi Title guifg=#000000 guibg=#CCCCCC gui=bold
-hi Todo guifg=#000000 guibg=#FFFFFF gui=bold
-hi Typedef guifg=#000000 gui=bold,underline
-hi Type guifg=#000000 gui=bold
-hi VertSplit guifg=#CCCCCC guibg=#333333
-hi Visual guifg=#CCCCCC guibg=#0E7369 gui=reverse
-hi VisualNOS guifg=#CCCCCC guibg=#0E7369 gui=bold,underline
-hi WarningMsg guifg=#000000 guibg=#CCCCCC gui=bold
-hi WildMenu guifg=#FFFFFF guibg=#235C5C
diff --git a/.vim/colors/wintersday.vim b/.vim/colors/wintersday.vim
deleted file mode 100644
index 9a77f7e..0000000
--- a/.vim/colors/wintersday.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim color file
-" Mark Thomas <mark.thomas@bigswamp.org>
-" Sun Feb 16, 2003
-
-" This color scheme uses a dark background.
-
-" First remove all existing highlighting.
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "wintersday"
-
-hi Normal guifg=#CCCCCC guibg=#000000
-
-hi Cursor gui=NONE guifg=#B9D3EE guibg=#8B8878
-"hi CursorIM
-hi Directory gui=NONE guifg=#FFFFFF guibg=#000000
-hi DiffAdd gui=NONE guifg=#A0D0FF guibg=#0020A0
-hi DiffChange gui=NONE guifg=#E03870 guibg=#601830
-hi DiffDelete gui=NONE guifg=#A0D0FF guibg=#0020A0
-hi DiffText gui=NONE guifg=#FF9933 guibg=#A02860
-hi ErrorMsg gui=BOLD guifg=#FF6347 guibg=NONE
-hi VertSplit gui=BOLD guifg=#FFFFFF guibg=#8B4513
-hi Folded gui=NONE guifg=#40F0F0 guibg=#005080
-hi FoldColumn gui=NONE guifg=#40C0FF guibg=#00305C
-hi IncSearch gui=UNDERLINE guifg=#FFD700 guibg=#778899
-hi LineNr gui=NONE guifg=#696969
-hi ModeMsg gui=BOLD guifg=#990000 guibg=NONE
-hi MoreMsg gui=BOLD guifg=#CC6666 guibg=NONE
-hi NonText gui=BOLD guifg=#CC00FF guibg=NONE
-hi Question gui=BOLD guifg=#CC00FF guibg=NONE
-hi Search gui=NONE guifg=#FFD700 guibg=#778899
-hi SpecialKey gui=BOLD guifg=#CCCCCC guibg=NONE
-hi StatusLine gui=BOLD guifg=#FFFFFF guibg=#8B4513
-hi StatusLineNC gui=BOLD guifg=#8B4513 guibg=#FFFFFF
-hi Title gui=BOLD guifg=#CCCCCC guibg=NONE
-hi Visual gui=NONE guifg=#B9D3EE guibg=#8B8878
-"hi VisualNOS
-hi WarningMsg gui=BOLD guifg=#FFA0FF guibg=NONE
-hi WildMenu gui=NONE guifg=#000000 guibg=#a0a0ff
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
-
-" syntax highlighting groups
-hi Comment gui=NONE guifg=#6699CC guibg=NONE
-hi Constant gui=NONE guifg=#99CCFF guibg=NONE
-hi Identifier gui=NONE guifg=#FFD700 guibg=NONE
-hi Statement gui=NONE guifg=#CC6666 guibg=NONE
-hi PreProc gui=NONE guifg=#40F0A0 guibg=NONE
-hi Type gui=NONE guifg=#B0C4DE guibg=NONE
-hi Special gui=NONE guifg=#00FFCC guibg=NONE
-hi Underlined gui=NONE guifg=#FFFFFF guibg=NONE
-hi Ignore gui=NONE guifg=#000000 guibg=NONE
-hi Error gui=NONE guifg=#FFFFFF guibg=#FF0088
-hi Todo gui=BOLD guifg=#FFA0A0 guibg=NONE
-hi Number gui=NONE guifg=#FFCCCC guibg=NONE
diff --git a/.vim/colors/wombat.vim b/.vim/colors/wombat.vim
deleted file mode 100644
index 9ad1e56..0000000
--- a/.vim/colors/wombat.vim
+++ /dev/null
@@ -1,51 +0,0 @@
-" Maintainer: Lars H. Nielsen (dengmao@gmail.com)
-" Last Change: January 22 2007
-
-set background=dark
-
-hi clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "wombat"
-
-
-" Vim >= 7.0 specific colors
-if version >= 700
- hi CursorLine guibg=#2d2d2d
- hi CursorColumn guibg=#2d2d2d
- hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=bold
- hi Pmenu guifg=#f6f3e8 guibg=#444444
- hi PmenuSel guifg=#000000 guibg=#cae682
-endif
-
-" General colors
-hi Cursor guifg=NONE guibg=#656565 gui=none
-hi Normal guifg=#f6f3e8 guibg=#242424 gui=none
-hi NonText guifg=#808080 guibg=#303030 gui=none
-hi LineNr guifg=#857b6f guibg=#000000 gui=none
-hi StatusLine guifg=#f6f3e8 guibg=#444444 gui=italic
-hi StatusLineNC guifg=#857b6f guibg=#444444 gui=none
-hi VertSplit guifg=#444444 guibg=#444444 gui=none
-hi Folded guibg=#384048 guifg=#a0a8b0 gui=none
-hi Title guifg=#f6f3e8 guibg=NONE gui=bold
-hi Visual guifg=#f6f3e8 guibg=#444444 gui=none
-hi SpecialKey guifg=#808080 guibg=#343434 gui=none
-
-" Syntax highlighting
-hi Comment guifg=#99968b gui=italic
-hi Todo guifg=#8f8f8f gui=italic
-hi Constant guifg=#e5786d gui=none
-hi String guifg=#95e454 gui=italic
-hi Identifier guifg=#cae682 gui=none
-hi Function guifg=#cae682 gui=none
-hi Type guifg=#cae682 gui=none
-hi Statement guifg=#8ac6f2 gui=none
-hi Keyword guifg=#8ac6f2 gui=none
-hi PreProc guifg=#e5786d gui=none
-hi Number guifg=#e5786d gui=none
-hi Special guifg=#e7f6da gui=none
-
-
diff --git a/.vim/colors/xemacs.vim b/.vim/colors/xemacs.vim
deleted file mode 100644
index c47607c..0000000
--- a/.vim/colors/xemacs.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-
-" Vim color file
-" Maintainer: tranquility@portugalmail.pt
-" Last Change: 5 June 2002
-
-
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="xemacs"
-
-hi Normal guibg=#cdcecd guifg=black
-hi Cursor guibg=red guifg=grey gui=bold
-hi VertSplit guibg=grey60 guifg=black gui=none
-hi Folded guibg=royalblue3 guifg=white
-hi FoldColumn guibg=royalblue4 guifg=white
-hi ModeMsg guifg=#cdcecd guibg=black
-hi MoreMsg guifg=#cdcecd guibg=black
-hi NonText guifg=black guibg=#cdcecd gui=none
-hi Question guifg=black
-hi Search guibg=#aceeee
-hi SpecialKey guifg=navyblue
-hi Special guifg=navyblue
-hi StatusLine guibg=#b7b7b7 guifg=black gui=none
-hi StatusLineNC guibg=#a6b7b7 guifg=black gui=none
-hi Title guifg=bisque3
-hi Subtitle guifg=black
-hi Visual guibg=#a4a5a3 guifg=black gui=none
-hi WarningMsg guibg=#cdcecd guifg=black gui=bold
-hi Comment guifg=#00008b
-hi Constant guifg=#008900
-hi Identifier guibg=#cdcecd guifg=black
-hi Statement guifg=royalblue4
-hi PreProc guifg=#0000cd
-hi Type guifg=#4a81b4 gui=NONE
-hi Ignore guifg=grey29
-hi Todo guibg=gold guifg=black
-hi WildMenu guibg=#b7b7b7 guibg=grey91
-hi Directory guibg=#cdcecd guifg=navyblue
diff --git a/.vim/colors/xian.vim b/.vim/colors/xian.vim
deleted file mode 100644
index 3cc02d8..0000000
--- a/.vim/colors/xian.vim
+++ /dev/null
@@ -1,50 +0,0 @@
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let g:colors_name = "xian"
-
-hi Comment guifg=#C0C0C0 guibg=#946464 gui=underline
-hi Constant guifg=#00FF80 guibg=#946464 gui=none
-hi Cursor guifg=#00FFFF guibg=#000000 gui=reverse
-hi DiffAdd guifg=#00FFFF guibg=#754F4F gui=bold,underline
-hi DiffChange guibg=#754F4F
-hi DiffDelete guifg=#C0C0C0 guibg=#754F4F gui=bold
-hi DiffText guifg=#000000 guibg=#FF0000 gui=bold,underline
-hi Directory guifg=#FFFF00 guibg=#946464 gui=underline
-hi Error guifg=#000000 guibg=#FF0000 gui=bold,underline
-hi ErrorMsg guifg=#000000 guibg=#FF0000 gui=bold,underline
-hi FoldColumn guifg=#ffff74 guibg=#754F4F gui=bold
-hi Folded guifg=#ffff74 guibg=#754F4F gui=underline
-hi Identifier guifg=#EEAA73 guibg=#946464 gui=none
-hi Ignore guifg=#946464 guibg=#946464 gui=none
-hi IncSearch guifg=#FFFFFF guibg=#946464 gui=reverse
-hi lCursor guifg=#FFFFFF guibg=#946464 gui=none
-hi LineNr guifg=#C0C0C0 guibg=#754F4F gui=bold
-hi Match guifg=#0000FF guibg=#FFFF00 gui=bold,reverse
-hi ModeMsg guifg=#FFFFFF guibg=#946464 gui=bold
-hi MoreMsg guifg=#d174a8 guibg=#946464 gui=bold
-hi NonText guifg=#C0C0C0 guibg=#946464 gui=none
-hi Normal guifg=#FFFFFF guibg=#946464 gui=none
-hi PreProc guifg=#FFFF00 guibg=#946464 gui=none
-hi Question guifg=#d174a8 guibg=#946464 gui=bold
-hi Search guifg=#FFFF00 guibg=#FF8500 gui=underline
-hi Special guifg=#bfbfef guibg=#946464 gui=none
-hi SpecialKey guifg=#FFFF00 guibg=#946464 gui=none
-hi Statement guifg=#5ad5d5 guibg=#946464 gui=bold
-hi StatusLine guifg=#000000 guibg=#FFFFFF gui=bold
-hi StatusLineNC guifg=#C0C0C0 guibg=#754F4F gui=bold
-hi Title guifg=#74FF74 guibg=#946464 gui=bold
-hi Todo guifg=#FFFF00 guibg=#0000FF gui=none
-hi Type guifg=#FF74A8 guibg=#946464 gui=bold
-hi User1 guifg=#999933 guibg=#45637F gui=bold
-hi User2 guifg=#E7E77F guibg=#45637F gui=bold
-hi User3 guifg=#000000 guibg=#45637F gui=bold
-hi User4 guifg=#33CC99 guibg=#45637F gui=bold
-hi VertSplit guifg=#FFFF00 guibg=#000000 gui=bold
-hi Visual guifg=#FFFF00 guibg=#6B959B gui=none
-hi VisualNOS guifg=#FFFFFF guibg=#946464 gui=underline
-hi WarningMsg guifg=#000000 guibg=#FF0000 gui=bold,underline
-hi WildMenu guifg=#FFFFFF guibg=#0000FF gui=none
diff --git a/.vim/colors/zenburn.vim b/.vim/colors/zenburn.vim
deleted file mode 100644
index af9c07f..0000000
--- a/.vim/colors/zenburn.vim
+++ /dev/null
@@ -1,133 +0,0 @@
-" Vim color file
-" Maintainer: Jani Nurminen <jani.nurminen@intellitel.com>
-" Last Change: $Id: zenburn.vim,v 1.13 2002/09/16 18:03:49 jnurmine Exp $
-" URL: Not yet...
-" License: GPL
-"
-" Nothing too fancy, just some alien fruit salad to keep you in the zone.
-" This syntax file was designed to be used with dark environments and
-" low light situations. Of course, if it works during a daybright office, go
-" ahead :)
-"
-" Owes heavily to other Vim color files! With special mentions
-" to "BlackDust", "Camo" and "Desert".
-"
-" To install, copy to ~/.vim/colors directory. Then :colorscheme zenburn.
-" See also :help syntax
-"
-" CONFIGURABLE PARAMETERS:
-"
-" You can use the default (don't set any parameters), or you can
-" set some parameters to tweak the Zenlook colours.
-"
-" * To get more contrast to the Visual selection, use
-"
-" let g:zenburn_alternate_Visual = 1
-"
-" * To use alternate colouring for Error message, use
-"
-" let g:zenburn_alternate_Error = 1
-"
-" * The new default for Include is a duller orang.e To use the original
-" colouring for Include, use
-"
-" let g:zenburn_alternate_Include = 1
-"
-" * To turn the parameter(s) back to defaults, use unlet.
-"
-" That's it, enjoy!
-"
-" TODO
-" - IME colouring (CursorIM)
-" - obscure syntax groups: check and colourize
-" - add more groups if necessary
-
-set background=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-let g:colors_name="zenburn"
-
-hi Boolean guifg=#dca3a3
-hi Character guifg=#dca3a3 gui=bold
-hi Comment guifg=#7f9f7f
-hi Conditional guifg=#f0dfaf gui=bold
-hi Constant guifg=#dca3a3 gui=bold
-hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold
-hi Debug guifg=#dca3a3 gui=bold
-hi Define guifg=#ffcfaf gui=bold
-hi Delimiter guifg=#8f8f8f
-hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold
-hi DiffChange guibg=#333333
-hi DiffDelete guifg=#333333 guibg=#464646
-hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold
-hi Directory guifg=#dcdccc gui=bold
-hi ErrorMsg guifg=#60b48a guibg=#3f3f3f gui=bold
-hi Exception guifg=#c3bf9f gui=bold
-hi Float guifg=#c0bed1
-hi FoldColumn guifg=#93b3a3 guibg=#3f4040
-hi Folded guifg=#93b3a3 guibg=#3f4040
-hi Function guifg=#efef8f
-hi Identifier guifg=#efdcbc
-hi IncSearch guibg=#f8f893 guifg=#385f38
-hi Keyword guifg=#f0dfaf gui=bold
-hi Label guifg=#dfcfaf gui=underline
-hi LineNr guifg=#7f8f8f guibg=#464646
-hi Macro guifg=#ffcfaf gui=bold
-hi ModeMsg guifg=#ffcfaf gui=none
-hi MoreMsg guifg=#ffffff gui=bold
-hi NonText guifg=#404040
-hi Normal guifg=#dcdccc guibg=#3f3f3f
-hi Number guifg=#8cd0d3
-hi Operator guifg=#f0efd0
-hi PreCondit guifg=#dfaf8f gui=bold
-hi PreProc guifg=#ffcfaf gui=bold
-hi Question guifg=#ffffff gui=bold
-hi Repeat guifg=#ffd7a7 gui=bold
-hi Search guifg=#ffffe0 guibg=#385f38
-hi SpecialChar guifg=#dca3a3 gui=bold
-hi SpecialComment guifg=#82a282 gui=bold
-hi Special guifg=#cfbfaf
-hi SpecialKey guifg=#9ece9e
-hi Statement guifg=#e3ceab guibg=#3f3f3f gui=none
-hi StatusLine guifg=#1e2320 guibg=#acbc90
-hi StatusLineNC guifg=#2e3330 guibg=#88b090
-hi StorageClass guifg=#c3bf9f gui=bold
-hi String guifg=#cc9393
-hi Structure guifg=#efefaf gui=bold
-hi Tag guifg=#dca3a3 gui=bold
-hi Title guifg=#efefef guibg=#3f3f3f gui=bold
-hi Todo guifg=#7faf8f guibg=#3f3f3f gui=bold
-hi Typedef guifg=#dfe4cf gui=bold
-hi Type guifg=#dfdfbf gui=bold
-hi Underlined guifg=#dcdccc guibg=#3f3f3f gui=underline
-hi VertSplit guifg=#303030 guibg=#688060
-hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
-hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
-hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline
-
-if exists("g:zenburn_alternate_Visual")
- " Visual with more contrast, thanks to Steve Hall & Cream posse
- hi Visual guifg=#000000 guibg=#71d3b4
-else
- " use default visual
- hi Visual guifg=#233323 guibg=#71d3b4
-endif
-
-if exists("g:zenburn_alternate_Error")
- " use a bit different Error
- hi Error guifg=#ef9f9f guibg=#201010 gui=bold
-else
- " default
- hi Error guifg=#e37170 guibg=#332323 gui=none
-endif
-
-if exists("g:zenburn_alternate_Include")
- " original setting
- hi Include guifg=#ffcfaf gui=bold
-else
- " new, less contrasted one
- hi Include guifg=#dfaf8f gui=bold
-endif
- " TODO check every syntax group that they're ok
diff --git a/.vim/compiler/ghc.vim b/.vim/compiler/ghc.vim
deleted file mode 100644
index 77a36ce..0000000
--- a/.vim/compiler/ghc.vim
+++ /dev/null
@@ -1,470 +0,0 @@
-
-" Vim Compiler File
-" Compiler: GHC
-" Maintainer: Claus Reinke <claus.reinke@talk21.com>
-" Last Change: 21/04/2009
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-
-" ------------------------------ paths & quickfix settings first
-"
-
-if exists("current_compiler") && current_compiler == "ghc"
- finish
-endif
-let current_compiler = "ghc"
-
-let s:scriptname = "ghc.vim"
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
-if (!exists("b:ghc_staticoptions"))
- let b:ghc_staticoptions = ''
-endif
-
-" set makeprg (for quickfix mode)
-execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %'
-"execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %'
-"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %'
-
-" quickfix mode:
-" fetch file/line-info from error message
-" TODO: how to distinguish multiline errors from warnings?
-" (both have the same header, and errors have no common id-tag)
-" how to get rid of first empty message in result list?
-setlocal errorformat=
- \%-Z\ %#,
- \%W%f:%l:%c:\ Warning:\ %m,
- \%E%f:%l:%c:\ %m,
- \%E%>%f:%l:%c:,
- \%+C\ \ %#%m,
- \%W%>%f:%l:%c:,
- \%+C\ \ %#%tarning:\ %m,
-
-" oh, wouldn't you guess it - ghc reports (partially) to stderr..
-setlocal shellpipe=2>
-
-" ------------------------- but ghc can do a lot more for us..
-"
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-" initialize map of identifiers to their types
-" associate type map updates to changedtick
-if !exists("b:ghc_types")
- let b:ghc_types = {}
- let b:my_changedtick = b:changedtick
-endif
-
-if exists("g:haskell_functions")
- finish
-endif
-let g:haskell_functions = "ghc"
-
-" avoid hit-enter prompts
-set cmdheight=3
-
-" edit static GHC options
-" TODO: add completion for options/packages?
-command! GHCStaticOptions call GHC_StaticOptions()
-function! GHC_StaticOptions()
- let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions)
- execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %'
- let b:my_changedtick -=1
-endfunction
-
-map <LocalLeader>T :call GHC_ShowType(1)<cr>
-map <LocalLeader>t :call GHC_ShowType(0)<cr>
-function! GHC_ShowType(addTypeDecl)
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = ( symb ? '('.name.')' : name )
- call GHC_HaveTypes()
- if !has_key(b:ghc_types,name)
- redraw
- echo pname "type not known"
- else
- redraw
- for type in split(b:ghc_types[name],' -- ')
- echo pname "::" type
- if a:addTypeDecl
- call append( line(".")-1, pname . " :: " . type )
- endif
- endfor
- endif
-endfunction
-
-" show type of identifier under mouse pointer in balloon
-if has("balloon_eval")
- set ballooneval
- set balloondelay=600
- set balloonexpr=GHC_TypeBalloon()
- function! GHC_TypeBalloon()
- if exists("b:current_compiler") && b:current_compiler=="ghc"
- let [line] = getbufline(v:beval_bufnr,v:beval_lnum)
- let namsym = haskellmode#GetNameSymbol(line,v:beval_col,0)
- if namsym==[]
- return ''
- endif
- let [start,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = name " ( symb ? '('.name.')' : name )
- silent call GHC_HaveTypes()
- if has("balloon_multiline")
- return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '')
- else
- return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '')
- endif
- else
- return ''
- endif
- endfunction
-endif
-
-map <LocalLeader>si :call GHC_ShowInfo()<cr>
-function! GHC_ShowInfo()
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : (qual.'.'.unqual)
- let output = GHC_Info(name)
- pclose | new
- setlocal previewwindow
- setlocal buftype=nofile
- setlocal noswapfile
- put =output
- wincmd w
- "redraw
- "echo output
-endfunction
-
-" fill the type map, unless nothing has changed since the last attempt
-function! GHC_HaveTypes()
- if b:ghc_types == {} && (b:my_changedtick != b:changedtick)
- let b:my_changedtick = b:changedtick
- return GHC_BrowseAll()
- endif
-endfunction
-
-" update b:ghc_types after successful make
-au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif
-
-" count only error entries in quickfix list, ignoring warnings
-function! GHC_CountErrors()
- let c=0
- for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor
- return c
-endfunction
-
-command! GHCReload call GHC_BrowseAll()
-function! GHC_BrowseAll()
- " let imports = haskellmode#GatherImports()
- " let modules = keys(imports[0]) + keys(imports[1])
- let imports = {} " no need for them at the moment
- let current = GHC_NameCurrent()
- let module = current==[] ? 'Main' : current[0]
- if GHC_VersionGE([6,8,1])
- return GHC_BrowseBangStar(module)
- else
- return GHC_BrowseMultiple(imports,['*'.module])
- endif
-endfunction
-
-function! GHC_VersionGE(target)
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>target[0]))
- return 1
- elseif (i==target[0])
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
-
-function! GHC_NameCurrent()
- let last = line("$")
- let l = 1
- while l<last
- let ml = matchlist( getline(l), '^module\s*\([^ (]*\)')
- if ml != []
- let [_,module;x] = ml
- return [module]
- endif
- let l += 1
- endwhile
- redraw
- echo "cannot find module header for file " . expand("%")
- return []
-endfunction
-
-function! GHC_BrowseBangStar(module)
- redraw
- echo "browsing module " a:module
- let command = ":browse! *" . a:module
- let orig_shellredir = &shellredir
- let &shellredir = ">" " ignore error/warning messages, only output or lack of it
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- let &shellredir = orig_shellredir
- return GHC_ProcessBang(a:module,output)
-endfunction
-
-function! GHC_BrowseMultiple(imports,modules)
- redraw
- echo "browsing modules " a:modules
- let command = ":browse " . join( a:modules, " \n :browse ")
- let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g')
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- return GHC_Process(a:imports,output)
-endfunction
-
-function! GHC_Info(what)
- " call GHC_HaveTypes()
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what)
- return output
-endfunction
-
-function! GHC_ProcessBang(module,output)
- let module = a:module
- let b = a:output
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\)\(\S*\)\s*::\(.*\)'
- let commentPat = '^-- \(\S*\)'
- let definedPat = '^-- defined locally'
- let importedPat = '^-- imported via \(.*\)'
- if !(b=~commentPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute( id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse! *<current>, we get both unqualified and qualified ids
- let qualified = (id =~ '\.') && (id =~ '[A-Z]')
- let b:ghc_types[id] = type
- if !qualified
- for qual in qualifiers
- let b:ghc_types[qual.'.'.id] = type
- endfor
- endif
- else
- let mlImported = matchlist( l, importedPat )
- let mlDefined = matchlist( l, definedPat )
- if mlImported != []
- let [_,modules;x] = mlImported
- let qualifiers = split( modules, ', ' )
- elseif mlDefined != []
- let qualifiers = [module]
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-function! GHC_Process(imports,output)
- let b = a:output
- let imports = a:imports
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)'
- let modPat = '^-- \(\S*\)'
- " add '-- defined locally' and '-- imported via ..'
- if !(b=~modPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute(id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse *<current>, we get both unqualified and qualified ids
- if current_module " || has_key(imports[0],module)
- if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type)
- let b:ghc_types[id] .= ' -- '.type
- else
- let b:ghc_types[id] = type
- endif
- endif
- if 0 " has_key(imports[1],module)
- let qualid = module.'.'.id
- let b:ghc_types[qualid] = type
- endif
- else
- let mlMod = matchlist( l, modPat )
- if mlMod != []
- let [_,module;x] = mlMod
- let current_module = module[0]=='*'
- let module = current_module ? module[1:] : module
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "]
-
-" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O)
-function! GHC_CompleteImports(findstart, base)
- if a:findstart
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- call GHC_HaveTypes()
- for key in keys(b:ghc_types)
- if key[0 : l]==a:base
- let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}]
- endif
- endfor
- return res
- endif
-endfunction
-set omnifunc=GHC_CompleteImports
-set completeopt=menu,menuone,longest
-
-map <LocalLeader>ct :call GHC_CreateTagfile()<cr>
-function! GHC_CreateTagfile()
- redraw
- echo "creating tags file"
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%"))
- " for ghcs older than 6.6, you would need to call another program
- " here, such as hasktags
- echo output
-endfunction
-
-command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e "'.escape(<f-args>,'"').'"')
-
-" use :make 'not in scope' errors to explicitly list imported ids
-" cursor needs to be on import line, in correctly loadable module
-map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr>
-function! GHC_MkImportsExplicit()
- let save_cursor = getpos(".")
- let line = getline('.')
- let lineno = line('.')
- let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)')
- if ml!=[]
- let [_,q,mod;x] = ml
- silent make
- if getqflist()==[]
- if line=~"import[^(]*Prelude"
- call setline(lineno,substitute(line,"(.*","","").'()')
- else
- call setline(lineno,'-- '.line)
- endif
- silent write
- silent make
- let qflist = getqflist()
- call setline(lineno,line)
- silent write
- let ids = {}
- for d in qflist
- let ml = matchlist(d.text,'Not in scope: \([^`]*\)`\([^'']*\)''')
- if ml!=[]
- let [_,what,qid;x] = ml
- let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid )
- let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' )
- if what =~ "data"
- call GHC_HaveTypes()
- if has_key(b:ghc_types,id)
- let pid = substitute(b:ghc_types[id],'^.*->\s*\(\S*\).*$','\1','').'('.pid.')'
- else
- let pid = '???('.pid.')'
- endif
- endif
- let ids[pid] = 1
- endif
- endfor
- call setline(lineno,'import'.q.' '.mod.'('.join(keys(ids),',').')')
- else
- copen
- endif
- endif
- call setpos('.', save_cursor)
-endfunction
-
-if GHC_VersionGE([6,8,2])
- let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"')
-else
- let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"]
-endif
-
-amenu ]OPTIONS_GHC.- :echo '-'<cr>
-aunmenu ]OPTIONS_GHC
-for o in opts
- exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>'
-endfor
-if has("gui_running")
- map <LocalLeader>opt :popup ]OPTIONS_GHC<cr>
-else
- map <LocalLeader>opt :emenu ]OPTIONS_GHC.
-endif
-
-amenu ]LANGUAGES_GHC.- :echo '-'<cr>
-aunmenu ]LANGUAGES_GHC
-if GHC_VersionGE([6,8])
- let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n')
- for l in ghc_supported_languages
- exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>'
- endfor
- if has("gui_running")
- map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr>
- else
- map <LocalLeader>lang :emenu ]LANGUAGES_GHC.
- endif
-endif
diff --git a/.vim/compiler/tex.vim b/.vim/compiler/tex.vim
deleted file mode 100644
index 993ecfe..0000000
--- a/.vim/compiler/tex.vim
+++ /dev/null
@@ -1,293 +0,0 @@
-" File: tex.vim
-" Type: compiler plugin for LaTeX
-" Original Author: Artem Chuprina <ran@ran.pp.ru>
-" Customization: Srinath Avadhanula <srinath@fastmail.fm>
-" CVS: $Id: tex.vim 997 2006-03-20 09:45:45Z srinathava $
-" Description: {{{
-" This file sets the 'makeprg' and 'errorformat' options for the LaTeX
-" compiler. It is customizable to optionally ignore certain warnings and
-" provides the ability to set a dynamic 'ignore-warning' level.
-"
-" By default it is set up in a 'non-verbose', 'ignore-common-warnings' mode,
-" which means that irrelevant lines from the compilers output will be
-" ignored and also some very common warnings are ignored.
-"
-" Depending on the 'ignore-level', the following kinds of messages are
-" ignored. An ignore level of 3 for instance means that messages 1-3 will be
-" ignored. By default, the ignore level is set to 4.
-"
-" 1. LaTeX Warning: Specifier 'h' changed to 't'.
-" This errors occurs when TeX is not able to correctly place a floating
-" object at a specified location, because of which it defaulted to the
-" top of the page.
-" 2. LaTeX Warning: Underfull box ...
-" 3. LaTeX Warning: Overfull box ...
-" both these warnings (very common) are due to \hbox settings not being
-" satisfied nicely.
-" 4. LaTeX Warning: You have requested ...,
-" This warning occurs in slitex when using the xypic package.
-" 5. Missing number error:
-" Usually, when the name of an included eps file is spelled incorrectly,
-" then the \bb-error message is accompanied by a bunch of "missing
-" number, treated as zero" error messages. This level ignores these
-" warnings.
-" NOTE: number 5 is actually a latex error, not a warning!
-"
-" Use
-" TCLevel <level>
-" where level is a number to set the ignore level dynamically.
-"
-" When TCLevel is called with the unquoted string strict
-" TClevel strict
-" then the 'efm' switches to a 'verbose', 'no-lines-ignored' mode which is
-" useful when you want to make final checks of your document and want to be
-" careful not to let things slip by.
-"
-" TIP: MikTeX has a bug where it sometimes erroneously splits a line number
-" into multiple lines. i.e, if the warning is on line 1234. the compiler
-" output is:
-" LaTeX Warning: ... on input line 123
-" 4.
-" In this case, vim will wrongly interpret the line-number as 123 instead
-" of 1234. If you have cygwin, a simple remedy around this is to first
-" copy the file vimlatex (provided) into your $PATH, make sure its
-" executable and then set the variable g:tex_flavor to vimlatex in your
-" ~/.vimrc (i.e putting let "g:tex_flavor = 'vimlatex'" in your .vimrc).
-" This problem occurs rarely enough that its not a botheration for most
-" people.
-"
-" TODO:
-" 1. menu items for dynamically selecting a ignore warning level.
-" }}}
-
-" avoid reinclusion for the same buffer. keep it buffer local so it can be
-" externally reset in case of emergency re-sourcing.
-if exists('b:doneTexCompiler') && !exists('b:forceRedoTexCompiler')
- finish
-endif
-let b:doneTexCompiler = 1
-
-" ==============================================================================
-" Customization of 'efm': {{{
-" This section contains the customization variables which the user can set.
-" g:Tex_IgnoredWarnings: This variable contains a ¡ seperated list of
-" patterns which will be ignored in the TeX compiler's output. Use this
-" carefully, otherwise you might end up losing valuable information.
-if !exists('g:Tex_IgnoredWarnings')
- let g:Tex_IgnoredWarnings =
- \'Underfull'."\n".
- \'Overfull'."\n".
- \'specifier changed to'."\n".
- \'You have requested'."\n".
- \'Missing number, treated as zero.'."\n".
- \'There were undefined references'."\n".
- \'Citation %.%# undefined'
-endif
-" This is the number of warnings in the g:Tex_IgnoredWarnings string which
-" will be ignored.
-if !exists('g:Tex_IgnoreLevel')
- let g:Tex_IgnoreLevel = 7
-endif
-" There will be lots of stuff in a typical compiler output which will
-" completely fall through the 'efm' parsing. This options sets whether or not
-" you will be shown those lines.
-if !exists('g:Tex_IgnoreUnmatched')
- let g:Tex_IgnoreUnmatched = 1
-endif
-" With all this customization, there is a slight risk that you might be
-" ignoring valid warnings or errors. Therefore before getting the final copy
-" of your work, you might want to reset the 'efm' with this variable set to 1.
-" With that value, all the lines from the compiler are shown irrespective of
-" whether they match the error or warning patterns.
-" NOTE: An easier way of resetting the 'efm' to show everything is to do
-" TCLevel strict
-if !exists('g:Tex_ShowallLines')
- let g:Tex_ShowallLines = 0
-endif
-
-" }}}
-" ==============================================================================
-" Customization of 'makeprg': {{{
-
-" There are several alternate ways in which 'makeprg' is set up.
-"
-" Case 1
-" ------
-" The first is when this file is a part of latex-suite. In this case, a
-" variable called g:Tex_DefaultTargetFormat exists, which gives the default
-" format .tex files should be compiled into. In this case, we use the TTarget
-" command provided by latex-suite.
-"
-" Case 2
-" ------
-" The user is using this file without latex-suite AND he wants to directly
-" specify the complete 'makeprg'. Then he should set the g:Tex_CompileRule_dvi
-" variable. This is a string which should be directly be able to be cast into
-" &makeprg. An example of one such string is:
-"
-" g:Tex_CompileRule_dvi = 'pdflatex \\nonstopmode \\input\{$*\}'
-"
-" NOTE: You will need to escape back-slashes, {'s etc yourself if you are
-" using this file independently of latex-suite.
-" TODO: Should we also have a check for backslash escaping here based on
-" platform?
-"
-" Case 3
-" ------
-" The use is using this file without latex-suite and he doesnt want any
-" customization. In this case, this file makes some intelligent guesses based
-" on the platform. If he doesn't want to specify the complete 'makeprg' but
-" only the name of the compiler program (for example 'pdflatex' or 'latex'),
-" then he sets b:tex_flavor or g:tex_flavor.
-
-if exists('g:Tex_DefaultTargetFormat')
- exec 'TTarget '.g:Tex_DefaultTargetFormat
-elseif exists('g:Tex_CompileRule_dvi')
- let &l:makeprg = g:Tex_CompileRule_dvi
-else
- " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
- " otherwize the same for global variable with same name, else it will be LaTeX
- if exists("b:tex_flavor")
- let current_compiler = b:tex_flavor
- elseif exists("g:tex_flavor")
- let current_compiler = g:tex_flavor
- else
- let current_compiler = "latex"
- end
- if has('win32')
- let escChars = ''
- else
- let escChars = '{}\'
- endif
- " Furthermore, if 'win32' is detected, then we want to set the arguments up so
- " that miktex can handle it.
- if has('win32')
- let options = '--src-specials'
- else
- let options = ''
- endif
- let &l:makeprg = current_compiler . ' ' . options .
- \ escape(' \nonstopmode \input{$*}', escChars)
-endif
-
-" }}}
-" ==============================================================================
-" Functions for setting up a customized 'efm' {{{
-
-" IgnoreWarnings: parses g:Tex_IgnoredWarnings for message customization {{{
-" Description:
-function! <SID>IgnoreWarnings()
- let i = 1
- while s:Strntok(g:Tex_IgnoredWarnings, "\n", i) != '' &&
- \ i <= g:Tex_IgnoreLevel
- let warningPat = s:Strntok(g:Tex_IgnoredWarnings, "\n", i)
- let warningPat = escape(substitute(warningPat, '[\,]', '%\\\\&', 'g'), ' ')
- exe 'setlocal efm+=%-G%.%#'.warningPat.'%.%#'
- let i = i + 1
- endwhile
-endfunction
-
-" }}}
-" SetLatexEfm: sets the 'efm' for the latex compiler {{{
-" Description:
-function! <SID>SetLatexEfm()
-
- let pm = ( g:Tex_ShowallLines == 1 ? '+' : '-' )
-
- set efm=
-
- if !g:Tex_ShowallLines
- call s:IgnoreWarnings()
- endif
-
- setlocal efm+=%E!\ LaTeX\ %trror:\ %m
- setlocal efm+=%E!\ %m
-
- setlocal efm+=%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#
- setlocal efm+=%+W%.%#\ at\ lines\ %l--%*\\d
- setlocal efm+=%+WLaTeX\ %.%#Warning:\ %m
-
- exec 'setlocal efm+=%'.pm.'Cl.%l\ %m'
- exec 'setlocal efm+=%'.pm.'Cl.%l\ '
- exec 'setlocal efm+=%'.pm.'C\ \ %m'
- exec 'setlocal efm+=%'.pm.'C%.%#-%.%#'
- exec 'setlocal efm+=%'.pm.'C%.%#[]%.%#'
- exec 'setlocal efm+=%'.pm.'C[]%.%#'
- exec 'setlocal efm+=%'.pm.'C%.%#%[{}\\]%.%#'
- exec 'setlocal efm+=%'.pm.'C<%.%#>%m'
- exec 'setlocal efm+=%'.pm.'C\ \ %m'
- exec 'setlocal efm+=%'.pm.'GSee\ the\ LaTeX%m'
- exec 'setlocal efm+=%'.pm.'GType\ \ H\ <return>%m'
- exec 'setlocal efm+=%'.pm.'G\ ...%.%#'
- exec 'setlocal efm+=%'.pm.'G%.%#\ (C)\ %.%#'
- exec 'setlocal efm+=%'.pm.'G(see\ the\ transcript%.%#)'
- exec 'setlocal efm+=%'.pm.'G\\s%#'
- exec 'setlocal efm+=%'.pm.'O(%*[^()])%r'
- exec 'setlocal efm+=%'.pm.'P(%f%r'
- exec 'setlocal efm+=%'.pm.'P\ %\\=(%f%r'
- exec 'setlocal efm+=%'.pm.'P%*[^()](%f%r'
- exec 'setlocal efm+=%'.pm.'P(%f%*[^()]'
- exec 'setlocal efm+=%'.pm.'P[%\\d%[^()]%#(%f%r'
- if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
- setlocal efm+=%-P%*[^()]
- endif
- exec 'setlocal efm+=%'.pm.'Q)%r'
- exec 'setlocal efm+=%'.pm.'Q%*[^()])%r'
- exec 'setlocal efm+=%'.pm.'Q[%\\d%*[^()])%r'
- if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
- setlocal efm+=%-Q%*[^()]
- endif
- if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
- setlocal efm+=%-G%.%#
- endif
-
-endfunction
-
-" }}}
-" Strntok: extract the n^th token from a list {{{
-" example: Strntok('1,23,3', ',', 2) = 23
-fun! <SID>Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun
-
-" }}}
-" SetTexCompilerLevel: sets the "level" for the latex compiler {{{
-function! <SID>SetTexCompilerLevel(...)
- if a:0 > 0
- let level = a:1
- else
- call Tex_ResetIncrementNumber(0)
- echo substitute(g:Tex_IgnoredWarnings,
- \ '^\|\n\zs\S', '\=Tex_IncrementNumber(1)." ".submatch(0)', 'g')
- let level = input("\nChoose an ignore level: ")
- if level == ''
- return
- endif
- endif
- if level == 'strict'
- let g:Tex_ShowallLines = 1
- elseif level =~ '^\d\+$'
- let g:Tex_ShowallLines = 0
- let g:Tex_IgnoreLevel = level
- else
- echoerr "SetTexCompilerLevel: Unkwown option [".level."]"
- end
- call s:SetLatexEfm()
-endfunction
-
-com! -nargs=? TCLevel :call <SID>SetTexCompilerLevel(<f-args>)
-" }}}
-
-" }}}
-" ==============================================================================
-
-call s:SetLatexEfm()
-
-if !exists('*Tex_Debug')
- function! Tex_Debug(...)
- endfunction
-endif
-
-call Tex_Debug("compiler/tex.vim: sourcing this file", "comp")
-
-" vim: fdm=marker:commentstring=\ \"\ %s
diff --git a/.vim/doc/csupport.txt b/.vim/doc/csupport.txt
deleted file mode 100644
index 266b8db..0000000
--- a/.vim/doc/csupport.txt
+++ /dev/null
@@ -1,1577 +0,0 @@
-*csupport.txt* C/C++ Support November 21 2007
-
-C/C++ Support *c-support* *csupport*
- Plugin version 5.0.5
- for Vim version 6.0 and above
- Fritz Mehner <mehner@fh-swf.de>
-
-C/C++-IDE for Vim/gVim. It is written to considerably speed up writing code in
-a consistent style. This is done by inserting complete statements,idioms, code
-snippets, templates, and comments. Syntax checking, compiling, running a
-program, running a code checker or indent can be done with a keystroke.
-
-
- 1. Usage |csupport-usage-gvim|
- 1.1 Menu 'Comments' |csupport-comm|
- 1.1.1 Append aligned comments |csupport-comm-aligned|
- 1.1.2 Adjust end-of-line comments |csupport-comm-realign|
- 1.1.3 Code to comment |csupport-code-to-comm|
- 1.1.4 Comment to code |csupport-comm-to-code|
- 1.1.5 Frame comments, file header, ... |csupport-comm-frame|
- 1.1.6 KEYWORD + comment |csupport-comm-keywords|
- 1.1.7 C to C++ comments and vice versa |csupport-comm-c-cpp|
- 1.1.8 Date and date+time |csupport-comm-date|
- 1.2 Menu 'Statements' |csupport-stat|
- 1.2.1 Normal mode, insert mode. |csupport-stat-normal-mode|
- 1.2.2 Visual mode. |csupport-stat-visual-mode|
- 1.3 Menu 'Preprocessor' |csupport-prep|
- 1.3.1 Normal mode, insert mode. |csupport-prep-normal-mode|
- 1.3.2 Visual mode. |csupport-prep-visual-mode|
- 1.3.3 Block out code with #if 0 .. #endif |csupport-prep-if0|
- 1.4 Menu 'Idioms' |csupport-idioms|
- 1.5 Menu 'Snippets' |csupport-snippets|
- 1.5.1 Code snippets |csupport-snippets|
- 1.5.2 Picking up prototypes |csupport-proto|
- 1.6 Menu 'C++' |csupport-c++|
- 1.6.1 Normal mode, insert mode. |csupport-c++-normal-mode|
- 1.6.2 Visual mode. |csupport-c++-visual-mode|
- 1.6.3 Method implementation |csupport-c++-method-impl|
- 1.7 Menu 'Run' |csupport-run|
- 1.7.1 Minimal make functionality |csupport-run-buffer|
- 1.7.2 Command line arguments |csupport-run-cmdline-args|
- 1.7.3 Run make |csupport-run-make|
- 1.7.4 Command line arguments for make |csupport-run-make-args|
- 1.7.5 Splint |csupport-run-splint|
- 1.7.6 CodeCheck |csupport-run-codecheck|
- 1.7.7 Indent |csupport-run-indent|
- 1.7.8 Hardcopy |csupport-run-hardcopy|
- 1.7.9 Rebuild templates |csupport-run-templates|
- 1.7.10 Xterm size |csupport-run-xterm|
- 1.7.11 Output redirection |csupport-run-output|
- 1.8 Help |csupport-help|
-
- 2. Usage without GUI |csupport-usage-vim|
- 3. Hotkeys |csupport-hotkeys|
- 4. Customization and configuration |csupport-custom|
- 4.1 Global variables |csupport-custom-glob-vars|
- 4.2 The root menu |csupport-custom-root-menu|
- 4.3 System-wide installation |csupport-system-wide|
- 5. Template files and tags |csupport-templates|
- 5.1 Template files |csupport-templates-files|
- 5.2 Macros |csupport-templates-macros|
- 5.3 Templates |csupport-templates-names|
- 5.3.1 Template names |csupport-templates-names|
- 5.3.2 Template definition |csupport-templates-definition|
- 5.3.3 Template expansion |csupport-templates-expansion|
- 6. C/C++ Dictionaries |csupport-dictionary|
- 7. Extend taglist.vim for make and qmake |csupport-taglist|
- 8. Syntax based folding |csupport-folding|
- 9. Windows particularities |csupport-windows|
-10. Troubleshooting |csupport-troubleshooting|
-11. Release Notes /Change Log |csupport-release-notes|
-
- How to add this help file to Vim's help |add-local-help|
-
-
-==============================================================================
-1. USAGE WITH GUI (gVim) *csupport-usage-gvim*
-==============================================================================
-
-If the root menu 'C/C++' is not visible call it with the item "Load C Support"
-from the standard Tools-menu.
-The item "Load C Support" can also be used to unload the C/C++-root menu.
-
-Nearly all menu entries insert code snippets or comments. All these stuff is
-taken from template files and can be changed by the user to meet his
-requirements (see|csupport-templates|).
-
-------------------------------------------------------------------------------
-1.1 MENU 'Comments' *csupport-comm*
-------------------------------------------------------------------------------
-
-1.1.1 APPEND ALIGNED COMMENTS TO CONSECUTIVE LINES *csupport-comm-aligned*
-
-In NORMAL MODE the menu items 'end-of-line comment' will append an comment to
-the current line.
-In VISUAL MODE these item will append aligned comments to all marked lines.
-Marking the first 4 lines
-
- print_double_array ( double array[],
- int n,
- int columns,
- char* arrayname
- )
-
-and choosing 'end-of-line com. /**/' will yield.
-
- print_double_array ( double array[], /* */
- int n, /* */
- int columns, /* */
- char* arrayname /* */
- ) /* */
-
-If one ore more lines go beyond the starting column (s.below) the comments
-will start at the 2. column after the longest line. The cursor will be
-positioned inside the first comment.
-
-The default starting column is 49 ( = (multiple of 2,4, or 8) + 1 ). This can
-be changed by setting a global variable in the file ~/.vimrc , e.g. :
-
- let g:C_LineEndCommColDefault = 45
-
-The starting column can also be set by the menu item
-'Comments->set end-of-line com. col' . Just position the cursor in an
-arbitrary column (column number is shown in the Vim status line) and choose
-this menu item. This setting is buffer related.
-
-If the cursor was at the end of a line you will be asked for a column number
-because this position is most likely not the desired starting column.
-Your choice will be confirmed.
-
-------------------------------------------------------------------------------
-
-1.1.2 ADJUST END-OF-LINE COMMENTS *csupport-comm-realign*
-
-After some changes end-of-line comments may be no longer aligned:
-
- print_double_array ( double array[], /* */
- long int n, /* */
- unsigned int columns, /* */
- char* a_name /* */
- ) /* */
-
-Realignment can be achieved with the menu item 'adjust end-of-line com.' In
-normal mode the comment (if any) in the current line will be aligned to the
-end-of-line comment column (see above) if possible. In visual mode the
-comments in the marked block will be aligned:
-
- print_double_array ( double array[], /* */
- long int n, /* */
- unsigned int columns, /* */
- char* a_name /* */
- ) /* */
-
-------------------------------------------------------------------------------
-
-1.1.3 CODE TO COMMENT *csupport-code-to-comm*
-
-The marked block
-
-xxxxxxxx
-xxxxxxxx
-xxxxxxxx
-
-will be changed by the menu item 'code->comment /**/' into the multiline
-comment (all (partially) marked lines):
-
-/* xxxxxxxx
- * xxxxxxxx
- * xxxxxxxx
- */
-
-The marked block will be changed by the menu item 'code->comment //' into the
-multiline comment
-
-//xxxxxxxx
-//xxxxxxxx
-//xxxxxxxx
-
-The menu items works also for a single line. A single line needs not to be
-marked.
-
-------------------------------------------------------------------------------
-
-1.1.4 COMMENT TO CODE *csupport-comm-to-code*
-
-If one (or more) complete comment (i.e. all lines belonging to the comment) is
-marked the item 'comment->code' will uncomment it. If the following lines
-are marked
-
- * printf ("\n");
- */
-
- printf ("\n");
-
- // printf ("\n");
- //
-
- /*
- * printf ("\n");
- */
-
-uncommenting will yield
-
- * printf ("\n");
- */
-
- printf ("\n");
-
- printf ("\n");
-
-
-
- printf ("\n");
-
-The first 2 lines are only a part of a C-comment and remain unchanged.
-A C-comment can start with /* , /** or /*! .
-
-The menu item works also for a single line with a leading // . A single line
-needs not to be marked.
-
-------------------------------------------------------------------------------
-
-1.1.5 FRAME COMMENTS, FILE HEADER, ... *csupport-comm-frame*
-
-Frame comments, file header comments and function, methods, class descriptions
-are read as templates from the appropriate files (see |csupport-templates|).
-
-------------------------------------------------------------------------------
-
-1.1.6 KEYWORD+comment *csupport-comm-keywords*
-
-Preliminary comments to document (and find again) places where works will be
-resumed shortly. Usually not meant for the final documentation.
-
-------------------------------------------------------------------------------
-
-1.1.7 C TO C++ COMMENTS AND VICE VERSA *csupport-comm-c-cpp*
-
-The menu item '// xxx -> /* xxx */' changes a C++ comment into an C comment.
-This is done for the current line in normal or insert mode and for a marked
-area of lines in visual mode.
-If there are multiple C comments only the first one will be changed:
- printf ("\n"); /* one */ /* two */ /* three */
-will be changed into
- printf ("\n"); // one /* two */ /* three */
-
-The menu item '/* xxx */ -> // xxx' changes a C comment into an C++ comment.
-
-------------------------------------------------------------------------------
-
-1.1.8 DATE AND DATE+TIME *csupport-comm-date*
-
-The format for 'date' and 'date time' can be defined by the user (see
-|csupport-templates-date|).
-
-------------------------------------------------------------------------------
-1.2 MENU 'Statements' *csupport-stat*
-------------------------------------------------------------------------------
-
-1.2.1 NORMAL MODE, INSERT MODE. *csupport-stat-normal-mode*
-
-An empty statement will be inserted and properly indented. The item 'if{}'
-will insert an if-statement:
-
-if ( )
-{
-}
-
-
-1.2.2 VISUAL MODE. *csupport-stat-visual-mode*
-
-STATEMENTS WITH BLOCKS AND CASE LABEL.
---------------------------------------
-The highlighted area
-
-xxxxx
-xxxxx
-
-can be surrounded by one of the following statements:
-
- +----------------------------+-----------------------------+
- | if ( ) | if ( ) |
- | { | { |
- | xxxxx | xxxxx |
- | xxxxx | xxxxx |
- | } | } |
- | | else |
- | | { |
- | | } |
- +----------------------------+-----------------------------+
- | for ( ; ; ) | while ( ) |
- | { | { |
- | xxxxx | xxxxx |
- | xxxxx | xxxxx |
- | } | } |
- +----------------------------+-----------------------------+
- | do | |
- | { | { |
- | xxxxx | xxxxx |
- | xxxxx | xxxxx |
- | } | } |
- | while ( ); | |
- +----------------------------+-----------------------------+
- | switch ( ) { |
- | case : |
- | break; |
- | |
- | case : |
- | break; |
- | |
- | case : |
- | break; |
- | |
- | case : |
- | break; |
- | |
- | default: |
- | break; |
- | } |
- +----------------------------+-----------------------------+
-
-For 'switch' and 'case' see |csupport-stat-switch| and |csupport-stat-case|.
-
-The whole statement will be indented after insertion.
-
-
-STATEMENTS WITHOUT BLOCKS.
---------------------------
-One of the following statements can be inserted:
-
- +-------------------------------+--------------------------+
- | if ( ) | for ( ; ; ) |
- +-------------------------------+--------------------------+
- | if ( ) | while ( ) |
- | else | |
- +-------------------------------+--------------------------+
- | case : | |
- | break; | |
- +-------------------------------+--------------------------+
-
-
-------------------------------------------------------------------------------
-1.3 MENU 'Preprocessor' *csupport-prep*
-------------------------------------------------------------------------------
-
-1.3.1 NORMAL MODE, INSERT MODE. *csupport-prep-normal-mode*
-
-The preprocessor statements will be inserted and properly indented.
-
-1.3.2 VISUAL MODE. *csupport-prep-visual-mode*
-
-STATEMENTS WITH BLOCKS
-----------------------
-The highlighted area
-
-xxxxx
-xxxxx
-
-can be surrounded by one of the following statements:
-
- +----------------------------+-----------------------------+
- | #if CONDITION |
- | xxxxx |
- | xxxxx |
- | #else /* ----- #if CONDITION ----- */ |
- | |
- | #endif /* ----- #if CONDITION ----- */ |
- +----------------------------------------------------------+
- | #ifdef CONDITION |
- | xxxxx |
- | xxxxx |
- | #else /* ----- #ifdef CONDITION ----- */ |
- | |
- | #endif /* ----- #ifdef CONDITION ----- */ |
- +----------------------------------------------------------+
- | #ifndef CONDITION |
- | xxxxx |
- | xxxxx |
- | #else /* ----- #ifndef CONDITION ----- */ |
- | |
- | #endif /* ----- #ifndef CONDITION ----- */ |
- +----------------------------------------------------------+
- | #ifndef INC_TEST |
- | #define INC_TEST |
- | xxxxx |
- | xxxxx |
- | #endif /* ----- #ifndef INC_TEST ----- */ |
- +----------------------------------------------------------+
- | #if 0 /* ----- #if 0 : If0Label_1 ----- */ |
- | |
- | #endif /* ----- #if 0 : If0Label_1 ----- */ |
- +----------------------------------------------------------+
-
-The macro name for an include guard (e.g. INC_TEST above) will be derived as a
-suggestion from the file name.
-
-1.3.3 BLOCK OUT CODE WITH #if 0 ... #endif *csupport-prep-if0*
-
-The menu item #if 0 #endif inserts the lines
-
- #if 0 /* ----- #if 0 : If0Label_1 ----- */
-
- #endif /* ----- #if 0 : If0Label_1 ----- */
-
-In visual mode the marked block of lines will be surrounded by these lines.
-
-This is usually done to temporarily block out some code. The label names like
-If0Label_1 are automatically inserted into the comments. The trailing numbers
-are automatically incremented. These numbers can be changed by the user. The
-next number will be one above the highest number found in the current buffer.
-
-A corresponding label can be found by searching with the vim star command (*).
-All labels can be found with a global search like :g/If0Label_/ or
-:g/If0Label_\d\+/. All corresponding lines can be deleted with :g/If0Label_/d .
-
-
-REMOVE THE ENCLOSING #if 0 ... #endif -CONSTRUCT.
-
-The menu item 'remove #if #endif' removes such a construct if the cursor is
-in the middle of such a section or on one of the two enclosing lines. Nested
-constructs will be untouched.
-
-------------------------------------------------------------------------------
-1.4 MENU 'Idioms' *csupport-idioms*
-------------------------------------------------------------------------------
-
-1.4.1 ENTRY 'function'
-
-NORMAL MODE, INSERT MODE:
-The name of the function is asked for and the following lines (for function
-name "f") will be inserted:
-
- void
- f ( )
- {
- return ;
- } /* ---------- end of function f ---------- */
-
-VISUAL MODE:
-Main or [static] function: the highlighted lines will go inside the new
-function or main.
-for-loops: the highlighted lines will be set in braces.
-
-1.4.2 ENTRY 'open input file'
-
-The item 'open input file' will create the statements to open and close an
-input file (e.g. with the file pointer 'infile').
-
-1.4.3 ENTRY 'open output file'
-
-The item 'open output file' will create the statements to open and close an
-output file (e.g. with the file pointer 'outfile').
-
-------------------------------------------------------------------------------
-1.5 MENU 'Snippets' *csupport-snippets*
-------------------------------------------------------------------------------
-
-1.5.1 CODE SNIPPETS
-
-Code snippets are pieces of code which are kept in separate files in a special
-directory (e.g. a few lines of code or a complete template for a Makefile).
-File names are used to identify the snippets. The snippet directory will be
-created during the installation ( $HOME/.vim/codesnippets-c is the default).
-Snippets are managed with the 3 items
-
- C/C++ -> Snippets -> read code snippet
- C/C++ -> Snippets -> write code snippet
- C/C++ -> Snippets -> edit code snippet
-
-from the Snippets submenu.
-
-CREATING A NEW SNIPPET
-When nothing is marked, "write code snippet" will write the whole buffer
-to a snippet file, otherwise the marked area will be written to a file.
-
-INSERT A SNIPPET
-Select the appropriate file from the snippet directory ("read code snippet").
-The inserted lines will be indented.
-
-EDIT A SNIPPET
-This is a normal edit.
-
-INDENTATION / NO INDENTATION
-Code snippets are normally indented after insertion. To suppress indentation
-add the file extension "ni" or "noindent" to the snippet file name, e.g.
-
- parameter_handling.c.noindent
-
-
-1.5.2 PICKING UP PROTOTYPES *csupport-proto*
-
-PICK UP PROTOTYPES.
-To make a prototype from a function head mark the function head and choose
-'Snippets -> pick up prototype'. From the first six lines of
-
- void
- print_double_array ( double array[], /* array to print */
- int n, /* number of elements to print */
- int columns, /* number of elements per column */
- char* arrayname /* array name */
- )
- {
- ...
- } /* ---------- end of function print_double_array ---------- */
-
-the prototype
-
- void print_double_array ( double array[], int n, int columns, char* arrayname );
-
-is produced and put in an internal buffer.
-- Leading and trailing whitespaces are removed.
-- All inner whitespaces are squeezed.
-- All comments will be discarded.
-- Trailing parts of the function body (e.g a '{' ) will also be removed.
-- The class name and the scope resolution operator will be removed (C++ method
- implementations).
-Further prototypes can be picked up and gathered in the buffer.
-
-For C++ methods namespace names and class names will be removed
-(exception: 'std::' ). The first two lines of
-
- std::string
- ROBOT::Robot::get_name ( void )
- {
- return type_name;
- } /* ----- end of method Robot::get_name ----- */
-
-result in the prototype
-
- std::string get_name ( void );
-
-Folding may help picking up prototypes (see |csupport-folding|).
-
-
-INSERT PROTOTYPES
-With 'Snippets -> insert prototype(s)' all picked up prototypes currently in
-the buffer will be inserted below the cursor.
-The prototype buffer will be cleared after insertion.
-
-
-DISCARD PROTOTYPES
-The prototype buffer can be cleared with 'Snippets -> clear prototype(s)' .
-
-
-SHOW PROTOTYPES
-The list of gathered prototypes can be shown with
-'Snippets -> show prototype(s)'. The number and the filename are shown, e.g.
-
- (1) matrix.c # double** calloc_double_matrix ( int rows, int columns );
- (2) matrix.c # void free_double_matrix ( double **m );
- (3) foomain.c # void foo ( );
-
-
-REMARK. Generating prototypes this way is nice in a small project. You may
-want to use an extractor like cextract or something else.
-
-
-------------------------------------------------------------------------------
-1.6 MENU 'C++' *csupport-c++*
-------------------------------------------------------------------------------
-
-1.6.1 NORMAL MODE, INSERT MODE. *csupport-c++-normal-mode*
-
-An empty statement will be inserted and in some cases properly indented. The
-item 'try .. catch' will insert the following lines:
-
- try {
- }
- catch ( const &ExceptObj ) { // handle exception:
- }
- catch (...) { // handle exception: unspezified
- }
-
-The cursor will go into the try block.
-
-1.6.2 VISUAL MODE. *csupport-c++-visual-mode*
-
-The highlighted area can be surrounded by one of the following statements:
-
- try - catch
- catch
- catch(...)
- namespace { }
- extern "C" { }
-
-The whole statement will be indented after insertion.
-
-1.6.3 METHOD IMPLEMENTATION *csupport-c++-method-impl*
-
-The menu item 'method implement.' asks for a method name. If this item is
-called the first time you will see just an scope resolution operator. If you
-specify the scope this is used the next time you call this item. If you use
-one of the menu items to generate a class (see |csupport-templates|) the
-scope will be extracted and used for the next method.
-
-------------------------------------------------------------------------------
-1.7 MENU 'Run' *csupport-run*
-------------------------------------------------------------------------------
-
-1.7.1 MINIMAL MAKE FUNCTIONALITY *csupport-run-buffer*
-
-The 'Run' menu provides a minimal make functionality for single file projects
-(e.g. in education) :
-
-SAVE AND COMPILE
-'save and compile' saves the buffer and run the compiler with the given
-options (see |csupport-custom-glob-vars|).
-
-An error window will be opened if the compiler reports errors and/or warnings.
-Quickfix commands can now be used to jump to an error location.
-
-Consider using maps like
- map <silent> <F7> <Esc>:cp<CR>
- map <silent> <F8> <Esc>:cn<CR>
-in your ~/.vimrc file to jump over the error locations and make navigation
-easier. The error list and the error locations in your source buffer will be
-synchronized.
-
-
-LINK
-'link' makes an executable from the current buffer. If the buffer is not
-saved, or no object is available or the object is older then the source step
-'save and compile' is executed first.
-
-The behavior of the compiler / linker is determined by the options assigned to
-the variables described in |csupport-custom-glob-vars| (4.group).
-
-RUN
-'run' runs the executable with the same name (extension .e) as the current
-buffer. If the buffer is not saved, or no executable is available or the
-executable is older then the source steps 'save and compile' and 'link' are
-executed first.
-
-
-1.7.2 COMMAND LINE ARGUMENTS *csupport-run-cmdline-args*
-
-The item 'command line arguments' calls an input dialog which asks for command
-line arguments. These arguments are forwarded to the program which is run by
-the 'run' item. The arguments are kept until you change them.
-
-The arguments belong to the current buffer (that is, each buffer can have its
-own arguments).
-If the buffer gets a new name with "save as" the arguments will now belong to
-the buffer with the new name.
-
-The command line arguments can be followed by pipes and redirections:
-
- 11 22 | sort -rn | head -10 > out
-
-Caveat: If you look for the current arguments by calling this menu item again
-be sure to leave it with a CR (not Esc !). Due to a limitation of an internal
-Vim function CR will keep the arguments, Esc with discard them.
-
-
-1.7.3 RUN make *csupport-run-make*
-
-The item 'make' runs the external make program.
-
-
-1.7.4 COMMAND LINE ARGUMENTS FOR make *csupport-run-make-args*
-
-The item 'command line arguments for make' calls an input dialog which asks
-for command line arguments for make. These arguments are forwarded to make
-when called by the item 'make'.
-
-
-1.7.5 SPLINT *csupport-run-splint*
-
-Splint is a tool for statically checking C programs (see http://www.splint.org).
-Of course it has to be installed in order to be used within Vim. The menu
-item 'Run->splint' will run the current buffer through splint.
-
-An error window will be opened if splint has something to complain about.
-Quickfix commands can now be used to jump to an error location. For easier
-navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|.
-
-Splint has many options. Presumably the best way is to keep the options in an
-option file (~/.splintrc). For a quick try you can use the menu item
-'Run->cmd. line arg. for splint' to specify some buffer related options.
-
-When vim is started this plugin will check whether splint is executable. If
-not, the menu item will *NOT' be visible.
-
-
-1.7.6 CODECHECK *csupport-run-codecheck*
-
-CodeCheck (TM) is a commercial code analyzing tool produced by Abraxas
-Software, Inc. (www.abraxas-software.com).
-Of course it has to be installed in order to be used within Vim. The menu
-item 'Run->CodeCheck' will run the current buffer through CodeCheck.
-
-An error window will be opened if CodeCheck has something to complain about.
-Quickfix commands can now be used to jump to an error location. For easier
-navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|.
-
-CodeCheck has many options. For a quick try you can use the menu item
-'Run->cmd. line arg. for CodeCheck' to specify some buffer related options.
-
-CodeCheck will be run with default options (see |csupport-custom-glob-vars|).
-The default options can be overwritten by placing a global variable in
-~/.vimrc , e.g.
-
- let g:C_CodeCheckOptions = "-K13 -Rmeyers"
-
-The default name for the executable is 'check'. There are other names in use
-on different platforms. The name can be changed by placing a global variable
-in ~/.vimrc , e.g.
-
- let g:C_CodeCheckExeName = "chknt.exe"
-
-When vim is started this plugin will check whether CodeCheck is executable. If
-not, the menu item will *NOT' be visible.
-
-
-1.7.7 INDENT *csupport-run-indent*
-
-The formatter 'indent' can be run over the whole buffer or a marked region.
-Before formatting the whole buffer this buffer will be saved to disk and you
-will be asked for a confirmation.
-
-Indent has many options. These are kept in the file '.indent.pro' in your home
-directory. See the indent manual for more information.
-
-
-1.7.8 HARDCOPY *csupport-run-hardcopy*
-
-Generates a PostScript file from the whole buffer or from a marked region.
-On a Windows system a printer dialog is displayed.
-
-The print header contains date and time for the current locale. The definition
-used is
-
- let s:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} Page %N"
-
-The current locale can be overwritten by changing the language, e.g.
-
- :language C
-
-or by setting a global variable in the file ~/.vimrc , e.g. :
-
- let g:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} SEITE %N"
-
-See :h printheader and :h strftime() for more details.
-
-
-1.7.9 REBUILD TEMPLATES *csupport-run-templates*
-
-After editing one or more template files a click on this item rereads the
-template files and rebuilds all templates.
-
-
-1.7.10 XTERM SIZE *csupport-run-xterm*
-
-The size of the xterm used for running a program (below) can be set by this
-menu item. The default is 80 columns with 24 lines.
-This feature is not available under Windows.
-
-
-1.7.11 OUTPUT REDIRECTION *csupport-run-output*
-
-Running a program can be done in one of three ways:
-(1) Run the program from the gVim command line.
- This is for interactive programs with little input and output.
-(2) Run the program and direct the output into a window with name "C-Output".
- The buffer and its content will disappear when the window is closed and
- reused otherwise.
- This is for non-interactive programs with little to very much output.
- You have unlimited line length, regex search, navigation, ...
- The tabstop value will be set to 8 for "C-Output".
-(3) Run the program in an xterm.
-
-The output method can be chosen from the menu item 'Run->output: ...'.
-This menu has three states:
-
- output: VIM->buffer->xterm
- output: BUFFER->xterm->vim
- output: XTERM->vim->buffer
-
-The first (uppercase) item shows the current method. The default is 'vim'.
-This can be changed by setting the variable g:C_OutputGvim to another value.
-Possible values are 'vim', 'buffer' and 'xterm' .
-
-The xterm defaults can be set in ~/.vimrc by the variable g:C_XtermDefaults .
-The default is "-fa courier -fs 12 -geometry 80x24" :
- font name : -fa courier
- font size : -fs 12
- terminal size : -geometry 80x24
-See 'xterm -help' for more options. Xterms are not available under Windows.
-
-------------------------------------------------------------------------------
-1.8 'help' *csupport-help*
-------------------------------------------------------------------------------
-
-The root menu item 'help' shows this plugin help in a help window. The help
-tags must have been generated with
- :helptags ~/.vim/doc
-
-==============================================================================
-2. USAGE WITHOUT GUI (Vim) *csupport-usage-vim*
-==============================================================================
-
-The frequently used constructs can be inserted with key mappings. The
-mappings are also described in the document c-hot-keys.pdf (reference card,
-part of this package).
-Hint: Typing speed matters. The combination of a leader ('\') and the
-following character(s) will only be recognized for a short time.
-The insert mode mappings start with ` (backtick).
-
-Legend: (i) insert mode, (n) normal mode, (v) visual mode
-
- -- Load / Unload C/C++ Support ----------------------------------------
-
- \lcs Load C/C++ Support Menus (n, GUI only)}
- \ucs Unload C/C++ Support Menus (n, GUI only)}
-
- -- Comments -----------------------------------------------------------
-
- \cl end-of-line comment (n,v,i)
- \cj adjust end-of-line comment(s) (n,v,i)
- \cs set end-of-line comment column (n)
- \c* code -> comment /* */ (n,v)
- \c/ code -> comment // (n,v)
- \co comment -> code (n,v)
- \cfr frame comment (n,i)
- \cfu function comment (n,i)
- \cme method description (n,i)
- \cca class description (n,i)
- \cd date (n,i)
- \ct date \& time (n,i)
-
- -- Statements ---------------------------------------------------------
-
- \sd do { } while (n,v,i)
- \sf for (n,i)
- \sfo for { } (n,v,i)
- \si if (n,i)
- \sif if { } (n,v,i)
- \sie if else (n,v,i)
- \sife if { } else { } (n,v,i)
- \sw while (n,i)
- \swh while { } (n,v,i)
- \ss switch (n,v,i)
- \sc case (n,i)
- \s{ { } (n,v,i)
-
- -- Preprocessor -------------------------------------------------------
-
- \p< #include <> (n,i)
- \p" #include "" (n,i)
- \pd #define (n,i)
- \pu #undef (n,i)
- \pie #if #else #endif (n,v,i)
- \pid #ifdef #else #endif (n,v,i)
- \pin #ifndef #else #endif (n,v,i)
- \pind #ifndef #def #endif (n,v,i)
- \pi0 #if 0 #endif (n,v,i)
- \pr0 remove #if 0 #endif (n)
- -- Idioms -------------------------------------------------------------
-
- \if function (n,v,i)
- \isf static function (n,v,i)
- \im main() (n,v,i)
- \i0 for( x=0; x<n; x+=1 ) (n,v,i)
- \in for( x=n-1; x>=0; x-=1 ) (n,v,i)
- \ie enum + typedef (n,i)
- \is struct + typedef (n,i)
- \iu union + typedef (n,i)
- \ip printf() (n,i)
- \isc scanf() (n,i)
- \ica p=calloc() (n,i)
- \ima p=malloc() (n,i)
- \isi sizeof() (n,v,i)
- \ias assert() (n,v,i)
- \ii open input file (n,i)
- \io open output file (n,i)
-
- -- Snippets -----------------------------------------------------------
-
- \nr read code snippet (n)
- \nw write code snippet (n,v)
- \ne edit code snippet (n)
- \np pick up prototype (n,v)
- \ni insert prototype(s) (n)
- \nc clear prototype(s) (n)
- \ns show prototype(s) (n)
-
- -- C++ ----------------------------------------------------------------
-
- \+m method implementation (n,i)
- \+c class (n,i)
- \+cn class (using new) (n,i)
- \+tm template method implementation (n,i)
- \+tc template class (n,i)
- \+tcn template class (using new) (n,i)
- \+tf template function (n,i)
- \+ec error class (n,i)
- \+tr try ... catch (n,v,i)
- \+ca catch (n,v,i)
- \+c. catch(...) (n,v,i)
-
- -- Run ----------------------------------------------------------------
-
- \rc save and compile (n)
- \rl link (n)
- \rr run (n)
- \ra set comand line arguments (n)
- \rm run make (n)
- \rg cmd. line arg. for make (n)
- \rp run splint (n)
- \ri cmd. line arg. for splint (n)
- \rk run CodeCheck (TM) (n)
- \re cmd. line arg. for CodeCheck (TM) (n)
- \rd run indent (n,v)
- \rh hardcopy buffer (n,v)
- \rs show plugin settings (n)
- \rx set xterm size (n, only Linux/UNIX & GUI)
- \ro change output destination (n)
- \rt rebuild templates (n)
-
-The hotkeys are defined in the file type plugin c.vim (part of this csupport
-plugin package) and described in the document c-hot-keys.pdf
-
-==============================================================================
-3. HOTKEYS *csupport-hotkeys*
-==============================================================================
-
-The following hotkeys are defined in normal, visual and insert mode:
-
- F9 compile and link
- Alt-F9 write buffer and compile
- Ctrl-F9 run executable
- Shift-F9 set command line arguments
-
- Shift-F2 switch between source files and header files
-
-Shift-F2 can be used to switch between source files and header files if the
-plugin a.vim is present. To suppress the creation of a new header file when
-switching from a source file the file ~/.vimrc should contain a line
-
- let g:alternateNoDefaultAlternate = 1
-
-A header file will only be opened if it already exists.
-
-The hotkeys are defined in the file type plugin c.vim .
-
-All hotkeys from the non-GUI mode also work for gVim (see |csupport-usage-vim|).
-
-==============================================================================
-4. CUSTOMIZATION *csupport-custom*
-==============================================================================
-
-------------------------------------------------------------------------------
-4.1 GLOBAL VARIABLES *csupport-custom-glob-vars*
-------------------------------------------------------------------------------
-
-Several global variables are checked by the script to customize it:
-
- ----------------------------------------------------------------------------
- GLOBAL VARIABLE DEFAULT VALUE TAG (see below)
- ----------------------------------------------------------------------------
- g:C_GlobalTemplateFile plugin_dir.'c-support/templates/Templates'
- g:C_LocalTemplateFile $HOME.'/.vim/c-support/templates/Templates'
- g:C_TemplateOverwrittenMsg 'yes'
-
- g:C_CodeSnippets plugin_dir."/c-support/codesnippets/"
- g:C_Dictionary_File ""
- g:C_LoadMenus "yes"
- g:C_MenuHeader "yes"
- g:C_OutputGvim "vim"
- g:C_XtermDefaults "-fa courier -fs 12 -geometry 80x24"
- g:C_Printheader "%<%f%h%m%< %=%{strftime('%x %X')} Page %N"
-
- Linux/UNIX:
- g:C_ObjExtension ".o"
- g:C_ExeExtension ""
- g:C_CCompiler "gcc"
- g:C_CplusCompiler "g++"
- Windows:
- g:C_ObjExtension ".obj"
- g:C_ExeExtension ".exe"
- g:C_CCompiler "gcc.exe"
- g:C_CplusCompiler "g++.exe"
- g:C_CFlags "-Wall -g -O0 -c"
- g:C_LFlags "-Wall -g -O0"
- g:C_Libs "-lm"
- g:C_LineEndCommColDefault 49
- g:C_CExtension "c"
- g:C_TypeOfH "cpp"
-
- g:C_CodeCheckExeName "check"
- g:C_CodeCheckOptions "-K13"
-
-The variable plugin_dir will automatically be set to one of the following values:
- $HOME.'/.vim/' for Linux/Unix
- $VIM.'/vimfiles/' for Windows
-
- ----------------------------------------------------------------------------
-
-1. group: g:C_GlobalTemplateFile : Sets the master template file (see|csupport-templates|)
- g:C_LocalTemplateFile : Sets the local template file (see|csupport-templates|)
- g:C_TemplateOverwrittenMsg : message if template is overwritten
-
-2. group: g:C_CodeSnippets : The name of the code snippet directory
- (see |csupport-snippets|).
- g:C_Dictionary_File : The name(s) of the dictionary file(s) used for
- word completion (see also |csupport-dictionary|)
- g:C_Root : the name of the root menu of this plugin
- g:C_LoadMenus : Load menus and mappings ("yes", "no") at startup.
- g:C_MenuHeader : Switch the submenu header on/off.
- g:C_OutputGvim : when program is running output goes to the vim
- command line ("vim"), to a buffer ("buffer") or to
- an xterm ("xterm").
- g:C_XtermDefaults : the xterm defaults
- g:C_Printheader : hardcopy: definition of the page header
-
-3. group: g:C_CExtension : Extension of C files. Everything else is C++.
- g:C_TypeOfH : filetype of header files with extension 'h' (c,cpp)
- (see |csupport-comm-style|)
- g:C_CCompiler : The name of the C compiler.
- g:C_CplusCompiler : The name of the C++ compiler.
- g:C_CFlags : Compiler flags used for a compilation.
- g:C_LFlags : Compiler flags used for linkage.
- g:C_Libs : Libraries to link with.
- g:C_ObjExtension : C/C+ file extension for objects
- (leading point required if not empty)
- g:C_ExeExtension : C/C+ file extension for executables
- (leading point required if not empty)
- g:C_LineEndCommColDefault : Default starting column for end-of-line comments.
- g:C_CodeCheckExeName : The name of the CodeCheck (TM) executable
- (the default is 'check')
- g:C_CodeCheckOptions : Default options for CodeCheck (TM)
- (see |csupport-run-codecheck|).
-
-To override the default add appropriate assignments to ~/.vimrc .
-
-------------------------------------------------------------------------------
-4.2 THE ROOT MENU *csupport-custom-root-menu*
-------------------------------------------------------------------------------
-
-The variable g:C_Root, if set (in ~/.vimrc or in ~/.gvimrc), gives the name of
-the single Vim root menu item in which the C/C++ submenus will be put. The
-default is
- '&C\/C\+\+.'
-Note the terminating dot. A single root menu can be used if the screen is
-limited or several plugins are used in parallel.
-
-If set to "", this single root menu item will not appear. Now all submenus
-are put into the Vim root menu. This is nice for beginners in a lab
-installation or for C-only programmers.
-
-------------------------------------------------------------------------------
-4.3 SYSTEM-WIDE INSTALLATION *csupport-system-wide*
-------------------------------------------------------------------------------
-
-A system-wide installation (one installation for all users) is done as
-follows.
-
-As *** SUPERUSER *** :
-
-(1) Find the Vim installation directory.
-The Vim ex command ':echo $VIM' gives '/usr/local/share/vim' or something like
-that. Beyond this directory you will find the Vim installation, e.g. in
-'/usr/local/share/vim/vim71' if Vim version 7.1 has been installed.
-
-(2) Create a new subdirectory 'vimfiles', e.g. '/usr/local/share/vim/vimfiles'.
-
-(3) Install C/C++ Support
-Copy the archive cvim.zip to this new directory and unpack it:
- unzip cvim.zip
-
-(4) Generate the help tags:
- :helptags $VIM/vimfiles/doc
-
-
-As *** USER *** :
-
-Create your private snippet directory:
-
- mkdir --parents ~/.vim/c-support/codesnippets
-
-You may want to copy the snippets comming with this plugin (in
-$VIM/vimfiles/c-support/codesnippets) into the new directory or to set a
-link to the global directory.
-
-Create your private template directory:
-
- mkdir --parents ~/.vim/c-support/template
-
-Create a private template file 'Templates' in this directory to overwrite some
-macros, e.g.
-
- *|AUTHOR|* = your name
- *|AUTHORREF|* = ...
- *|EMAIL|* = ...
- *|COMPANY|* = ...
- *|COPYRIGHT|* = ...
-
-You can also have local templates which overwrite the global ones. To suppress
-the messages in this case set a global variable in '~/.vimrc' :
-
- let g:C_TemplateOverwrittenMsg= 'no'
-
-The default is 'yes'.
-
-==============================================================================
-5. TEMPLATE FILES AND TAGS *csupport-templates*
-==============================================================================
-
-------------------------------------------------------------------------------
-5.1 TEMPLATE FILES *csupport-templates-files*
-------------------------------------------------------------------------------
-
-Nearly all menu entries insert code snippets or comments. All these stuff is
-taken from template files and can be changed by the user to meet his
-requirements.
-
-The master template file is '$HOME/.vim/c-support/templates/Templates' for a
-user installation and '$VIM/vimfiles/c-support/templates/Templates' for a
-system-wide installation (see|csupport-system-wide|).
-
-The master template file starts with a macro section followed by templates for
-single menu items or better by including other template files grouping the
-templates according to the menu structure of this plugin. The master file
-could look like this:
-
- $
- $ =============================================================
- $ ========== USER MACROS ======================================
- $ =============================================================
- $
- *|AUTHOR|* = Dr. Fritz Mehner
- *|AUTHORREF|* = mn
- *|EMAIL|* = mehner@fh-swf.de
- *|COMPANY|* = FH Südwestfalen, Iserlohn
- *|COPYRIGHT|* = Copyright (c)*|YEAR|, |AUTHOR|*
- $
- $ =============================================================
- $ ========== FILE INCLUDES ====================================
- $ =============================================================
- $
- *|includefile|* = c.comments.template
- *|includefile|* = c.cpp.template
- *|includefile|* = c.idioms.template
- *|includefile|* = c.preprocessor.template
- *|includefile|* = c.statements.template
-
-Lines starting with a dollar sign are comments. The section starting
-with *|AUTHOR|* assigns values to predefined tags
-(see|csupport-templates-macros|) to personalize some templates. Other
-predefined tags with given default values can be used (e.g. *|YEAR|* ).
-
-User defined tags are possible. They have the following syntax:
-
- *|macroname|* = replacement
-
-A macroname starts with a letter (uppercase or lowercase) followed by zero or
-more letters, digits or underscores.
-
-------------------------------------------------------------------------------
-5.2 MACROS *csupport-templates-macros*
-------------------------------------------------------------------------------
-
-The following macro names are predefined. The first group is used to
-personalize templates.
-
- ----------------------------------------------------------------------------
- PREDEFINED MACROS DEFAULT VALUE
- ----------------------------------------------------------------------------
-*|AUTHOR|* ""
-*|AUTHORREF|* ""
-*|EMAIL|* ""
-*|COMPANY|* ""
-*|PROJECT|* ""
-*|COPYRIGHTHOLDER|* ""
-*|includefile|* ""
-
-*|BASENAME|* filename without path and suffix
-*|DATE|* the preferred date representation for the current locale
- without the time
-*|FILENAME|* filename without path
-*|PATH|* path without filename
-*|SUFFIX|* filename suffix
-*|TIME|* the preferred time representation for the current locale
- without the date and the time zone or name or abbreviation
-*|YEAR|* the year as a decimal number including the century
-
-*|includefile|* can be used to include an additional template file. A file
-will be included only once. Commenting and uncommenting include macros is a
-simple way to switch between several sets of templates (see also
-|csupport-run-templates|). Overwriting existing macros and templates is
-possible.
-
- ----------------------------------------------------------------------------
- PREDEFINED TAGS
- ----------------------------------------------------------------------------
- <CURSOR> The cursor position after insertion of a template
- <SPLIT> The split point when inserting in visual mode
- (see|csupport-templates-definition|)
-
-A dependent template file can start with its own macro section. There is no
-need to have all user defined macros in the master file.
-When the first template definition is found (see below) macro definitions are
-no longer recognized.
-
- ----------------------------------------------------------------------------
- USER DEFINED FORMATS FOR DATE AND TIME *csupport-templates-date*
- ----------------------------------------------------------------------------
-The format for *|DATE|* ,*|TIME|* , and*|YEAR|* can be set by the user. The
-defaults are
- *|DATE|* '%x'
- *|TIME|* '%X'
- *|YEAR|* '%Y'
-See the manual page of the C function strftime() for the format. The accepted
-format depends on your system, thus this is not portable! The maximum length
-of the result is 80 characters.
-
-User defined formats can be set using the following global variables in
-~/.vimrc , e.g.
- let g:C_FormatDate = '%D'
- let g:C_FormatTime = '%H:%M'
- let g:C_FormatYear = 'year %Y'
-
-------------------------------------------------------------------------------
-5.3 TEMPLATES *csupport-templates-names*
-------------------------------------------------------------------------------
-
-5.3.1 Template names
-
-The template behind a menu entry is identified by a given name. The first part
-of the name identifies the menu, the second part identifies the item. The
-modes are also hard coded (see|csupport-templates-definition|for the use of
-<SPLIT>).
-
- TEMPLATE NAME MODES
- --------------------------------------------------------------------------
- comment.end-of-line-comment normal visual
- comment.frame normal
- comment.function normal
- comment.method normal
- comment.class normal
- comment.file-description normal
- comment.keyword-bug normal
- comment.keyword-compiler normal
- comment.keyword-todo normal
- comment.keyword-tricky normal
- comment.keyword-warning normal
- comment.keyword-workaround normal
- comment.keyword-keyword normal
- comment.file-section-cpp-header-includes normal
- comment.file-section-cpp-macros normal
- comment.file-section-cpp-typedefs normal
- comment.file-section-cpp-data-types normal
- comment.file-section-cpp-class-defs normal
- comment.file-section-cpp-local-variables normal
- comment.file-section-cpp-prototypes normal
- comment.file-section-cpp-function-defs-exported normal
- comment.file-section-cpp-function-defs-local normal
- comment.file-section-cpp-class-implementations-exported normal
- comment.file-section-cpp-class-implementations-local normal
- comment.file-section-hpp-header-includes normal
- comment.file-section-hpp-macros normal
- comment.file-section-hpp-exported-typedefs normal
- comment.file-section-hpp-exported-data-types normal
- comment.file-section-hpp-exported-class-defs normal
- comment.file-section-hpp-exported-variables normal
- comment.file-section-hpp-exported-function-declarations normal
-
- cpp.method-implementation normal
- cpp.class normal
- cpp.class-using-new normal
- cpp.error-class normal
- cpp.template-method-implementation normal
- cpp.template-class normal
- cpp.template-class-using-new normal
- cpp.template-function normal
- cpp.operator-in normal
- cpp.operator-out normal
- cpp.try-catch normal visual
- cpp.catch normal visual
- cpp.catch-points normal visual
- cpp.extern normal visual
- cpp.open-input-file normal
- cpp.open-output-file normal
- cpp.namespace normal visual
-
- idioms.function normal visual
- idioms.function-static normal visual
- idioms.main normal visual
- idioms.enum normal visual
- idioms.struct normal visual
- idioms.union normal visual
- idioms.calloc normal
- idioms.malloc normal
- idioms.open-input-file normal
- idioms.open-output-file normal
- idioms.fprintf normal
- idioms.fscanf normal
-
- preprocessor.define normal
- preprocessor.undefine normal
- preprocessor.if-else-endif normal visual
- preprocessor.ifdef-else-endif normal visual
- preprocessor.ifndef-else-endif normal visual
- preprocessor.ifndef-def-endif normal visual
-
- statements.do-while normal visual
- statements.for normal
- statements.for-block normal visual
- statements.if normal
- statements.if-block normal visual
- statements.if-else normal visual
- statements.if-block-else normal visual
- statements.while normal
- statements.while-block normal visual
- statements.switch normal visual
- statements.case normal
- statements.block normal visual
-
-
-
-5.3.2 Template definition *csupport-templates-definition*
-
-A template definition starts with a template head line with the following
-syntax:
-
- == templatename == [ position == ]
-
-The templatename is one of the above template identifiers. The position
-attribute is optional. Possible attribute values are:
-
- above insert the template before the current line
- append append the template to the current line
- below insert the template below the current line
- insert insert the template at the cursor position
- start insert the template before the first line of the buffer
-
-An example:
-
- == comment.function ==
- /*
- * === FUNCTION =======================================================
- * Name: <CURSOR>
- * Description:
- * ======================================================================
- */
-
-The definition of a template ends at the next head line or at the end of the
-file.
-
-Templates for the visual mode can use <SPLIT>. The text before <SPLIT> will
-than be inserted above the marked area, the text after <SPLIT> will be
-inserted behind the marked area. An example:
-
- == statements.if-block-else ==
- if ( <CURSOR> ) {
- <SPLIT>} else {
- }
-
-If applied to the marked block
-
- xxxxxxxxxxx
- xxxxxxxxxxx
-
-this template yields
-
- if ( ) {
- xxxxxxxxxxx
- xxxxxxxxxxx
- } else {
- }
-
-The templates with a visual mode are shown in the table under
-|csupport-templates-names|.
-
-5.3.3 Template expansion *csupport-templates-expansion*
-
-There are additional ways to control the expansion of a template.
-
-USER INPUT
-----------
-If the usage of a yet undefined user macro starts with a question mark the
-user will be asked for the replacement first, e.g. with the following template
-
- == idioms.function ==
- void<CURSOR>
- *|?FUNCTION_NAME|* ( )
- {
- <SPLIT> return ;
- } /* ----- end of function*|FUNCTION_NAME|* ----- */
-
-The can specify the function name which then will be applied twice. If the
-macro was already in use the old value will be suggested as default.
-
-MACRO MANIPULATION
-------------------
-
-A macro expansion can be controlled by the following attributes
-
- :l change macro text to lowercase
- :u change macro text to uppercase
- :c capitalize macro text
- :L legalize name
-
-The include guard template is an example for the use of ':L' :
-
- == preprocessor.ifndef-def-endif ==
- #ifndef *|?BASENAME:L|_INC*
- #define *|BASENAME|_INC*
- <CURSOR><SPLIT>
- #endif // ----- #ifndef*|BASENAME|_INC* -----
-
-The base name of the file shall be used as part of the include guard name.
-The predefined macro*|BASENAME|* is used to ask for this part because this
-macro has already a defined value. That value can accepted or replaced by the
-user. For the filename 'test test++test.h' the legalized base name
-'TEST_TEST_TEST' will be suggested.
-
-Legalization means:
- - replace all whitespaces by underscores
- - replace all non-word characters by underscores
- - replace '+' and '-' by underscore
-
-
-==============================================================================
-6. C/C++ DICTIONARY *csupport-dictionary*
-==============================================================================
-
-The files
-
- c-c++-keywords.list
- k+r.list
- stl_index.list
-
-are a part of this plugin and can be used (together with your own lists) as
-dictionaries for automatic word completion. This feature is enabled by
-default. The default word lists are
-
- plugin_dir/c-support/wordlists/c-c++-keywords.list
- plugin_dir/c-support/wordlists/k+r.list
- plugin_dir/c-support/wordlists/stl_index.list
-
-The variable plugin_dir will automatically be set by the plugin to one of the
-following values:
- $HOME.'/.vim/' for Linux/Unix
- $VIM.'/vimfiles/' for Windows
-If you want to use an additional list MyC.list put the following lines into
- ~/.vimrc :
-
- let g:C_Dictionary_File = PLUGIN_DIR.'/c-support/wordlists/c-c++-keywords.list,'.
- \ PLUGIN_DIR.'/c-support/wordlists/k+r.list,'.
- \ PLUGIN_DIR.'/c-support/wordlists/stl_index.list,'.
- \ PLUGIN_DIR.'/c-support/wordlists/MyC.list'
-
-When in file ~/.vimrc the name PLUGIN_DIR has to be replaced by $HOME or
-$VIM (see above). Whitespaces in the pathnames have to be escaped with a
-backslash.
-The right side is a comma separated list of files. Note the point at the end
-of the first line (string concatenation) and the backslash in front of the
-second line (continuation line).
-You can use Vim's dictionary feature CTRL-X, CTRL-K (and CTRL-P, CTRL-N).
-
-
-==============================================================================
-7. EXTEND taglist.vim FOR make AND qmake *csupport-taglist*
-==============================================================================
-
-The use of the Vim plugin taglist.vim (Author: Yegappan Lakshmanan) is highly
-recommended. It uses the program ctags which generates tag files for 3 dozen
-languages (Exuberant Ctags, Darren Hiebert, http://ctags.sourceforge.net).
-With the following extensions the list of targets in a makefile can be shown
-in the taglist window.
-
-1) Append the file customization.ctags to the file $HOME/.ctags .
-
-2) Add the following lines (from customization.vimrc) to $HOME/.vimrc :
-
- "
- "-------------------------------------------------------------------
- " taglist.vim : toggle the taglist window
- " taglist.vim : define the title texts for make
- " taglist.vim : define the title texts for qmake
- "-------------------------------------------------------------------
- noremap <silent> <F11> <Esc><Esc>:Tlist<CR>
- inoremap <silent> <F11> <Esc><Esc>:Tlist<CR>
-
- let tlist_make_settings = 'make;m:makros;t:targets'
- let tlist_qmake_settings = 'qmake;t:SystemVariables'
-
- if has("autocmd")
- " ---------- qmake : set file type for *.pro ----------
- autocmd BufNewFile,BufRead *.pro set filetype=qmake
- endif " has("autocmd")
-
-3) restart vim/gvim
-
-The two maps will toggle the taglist window (hotkey F11) in all editing modes.
-The two assignments define the headings for the (q)make sections in the
-taglist window. The autocmd set the file type 'qmake' for the filename
-extension 'pro' (ctags needs this).
-
-==============================================================================
-8. SYNTAX BASED FOLDING *csupport-folding*
-==============================================================================
-
-Syntax based folding can be enabled by adding the following lines to the file
-'~/.vim/syntax/c.vim':
-
- syn region cBlock start="{" end="}" transparent fold
- set foldmethod=syntax
- " initially all folds open:
- set foldlevel=999
-
-You may have to create this file first. See |folding| for more information.
-
-==============================================================================
-9. WINDOWS PARTICULARITIES *csupport-windows*
-==============================================================================
-
-The plugin should go into the directory structure below the local
-installation directory $HOME/.vim/ for LINUX/UNIX and $VIM/vimfiles/ for
-Windows.
-The values of the two variables can be found from inside Vim:
- :echo $VIM
-or
- :echo $HOME
-
-Configuration files:
-
- LINUX/UNIX : $HOME/.vimrc and $HOME/.gvimrc
- Windows : $VIM/_vimrc and $VIM/_gvimrc
-
-Compiler settings:
-
-It could be necessary to add further settings for your compiler. To compile
-C++-programs using a Dev-C++ installation (http://www.bloodshed.net) the
-following item in $VIM/_vimrc is needed (depends on the Dev-C++ install
-directory):
-
- let g:C_CFlags = '-Wall -g -o0 -c -I c:\programs\dev-c++\include\g++'
-
-==============================================================================
-10. TROUBLESHOOTING *csupport-troubleshooting*
-==============================================================================
-
-* I do not see any new main menu item.
- - Was the archive extracted into the right directory?
-
-* How can I see what was loaded?
- - Use ':scriptnames' from the Vim command line.
-
-* No main menu item.
- - Loading of plugin files must be enabled. If not use
- :filetype plugin on
- This is the minimal content of the file '$HOME/.vimrc'. Create one if there
- is none, or better use customization.vimrc.
-
-* Most key mappings do not work.
- - They are defined in a filetype plugin in '$HOME/.vim/ftplugin/'. Use ':filetype'
- to check if filetype plugins are enabled. If not, add the line
- filetype plugin on
- to the file '~/.vimrc'.
-
-* Some hotkeys do not work.
- - The hotkeys might be in use by your graphical desktop environment.
- Under KDE Ctrl-F9 is the hotkey which let you switch to the 9. desktop.
- The key settings can usually be redefined.
-
-* Splint and/or CodeCheck menu item not visible.
- - The program is not installed or not found (path not set) or not executable.
-
-==============================================================================
-11. RELEASE NOTES *csupport-release-notes*
-==============================================================================
-See file c-support/doc/ChangeLog .
-
-==============================================================================
-vim:tw=78:noet:ts=2:ft=help:norl:
diff --git a/.vim/doc/haskellmode.txt b/.vim/doc/haskellmode.txt
deleted file mode 100644
index 905349c..0000000
--- a/.vim/doc/haskellmode.txt
+++ /dev/null
@@ -1,456 +0,0 @@
-*haskellmode.txt* Haskell Mode Plugins 23/04/2009
-
-Authors:
- Claus Reinke <claus.reinke@talk21.com> ~
-
-Homepage:
- http://projects.haskell.org/haskellmode-vim
-
-CONTENTS *haskellmode*
-
- 1. Overview |haskellmode-overview|
- 1.1 Runtime Requirements |haskellmode-requirements|
- 1.2 Quick Reference |haskellmode-quickref|
- 2. Settings |haskellmode-settings|
- 2.1 GHC and web browser |haskellmode-settings-main|
- 2.2 Fine tuning - more configuration options |haskellmode-settings-fine|
- 3. GHC Compiler Integration |haskellmode-compiler|
- 4. Haddock Integration |haskellmode-haddock|
- 4.1 Indexing |haskellmode-indexing|
- 4.2 Lookup |haskellmode-lookup|
- 4.3 Editing |haskellmode-editing|
- 5. Hpaste Integration |haskellmode-hpaste|
- 6. Additional Resources |haskellmode-resources|
-
-==============================================================================
- *haskellmode-overview*
-1. Overview ~
-
- The Haskell mode plugins provide advanced support for Haskell development
- using GHC/GHCi on Windows and Unix-like systems. The functionality is
- based on Haddock-generated library indices, on GHCi's interactive
- commands, or on simply activating (some of) Vim's built-in program editing
- support in Haskell-relevant fashion. These plugins live side-by-side with
- the pre-defined |syntax-highlighting| support for |haskell| sources, and
- any other Haskell-related plugins you might want to install (see
- |haskellmode-resources|).
-
- The Haskell mode plugins consist of three filetype plugins (haskell.vim,
- haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection
- mechanism will be auto-loaded whenever files with the extension '.hs' are
- opened, and one compiler plugin (ghc.vim) which you will need to load from
- your vimrc file (see |haskellmode-settings|).
-
-
- *haskellmode-requirements*
-1.1 Runtime Requirements ~
-
- The plugins require a recent installation of GHC/GHCi. The functionality
- derived from Haddock-generated library indices also requires a local
- installation of the Haddock documentation for GHC's libraries (if there is
- no documentation package for your system, you can download a tar-ball from
- haskell.org), as well as an HTML browser (see |haddock_browser|). If you
- want to use the experimental hpaste interface, you will also need Wget.
-
- * GHC/GHCi ~
- Provides core functionality. http://www.haskell.org/ghc
-
- * HTML library documentation files and indices generated by Haddock ~
- These usually come with your GHC installation, possibly as a separate
- package. If you cannot get them this way, you can download a tar-ball
- matching your GHC version from http://www.haskell.org/ghc/docs/
-
- * HTML browser with basic CSS support ~
- For browsing Haddock docs.
-
- * Wget ~
- For interfacing with http://hpaste.org.
-
- Wget is widely available for modern Unix-like operating systems. Several
- ports also exist for Windows, including:
-
- - Official GNU Wget (natively compiled for Win32)
- http://www.gnu.org/software/wget/#downloading
-
- - UnxUtils Wget (natively compiled for Win32, bundled with other ported
- Unix utilities)
- http://sourceforge.net/projects/unxutils/
-
- - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin)
- http://cygwin.com/packages/wget/
-
- *haskellmode-quickref*
-1.2 Quick Reference ~
-
-|:make| load into GHCi, show errors (|quickfix| |:copen|)
-|_ct| create |tags| file
-|_si| show info for id under cursor
-|_t| show type for id under cursor
-|_T| insert type declaration for id under cursor
-|balloon| show type for id under mouse pointer
-|_?| browse Haddock entry for id under cursor
-|_?1| search Hoogle for id under cursor
-|_?2| search Hayoo! for id under cursor
-|:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
-|:MDoc| {module} browse Haddock entry for {module}
-|:FlagReference| {s} browse Users Guide Flag Reference for section {s}
-|_.| qualify unqualified id under cursor
-|_i| add 'import <module>(<identifier>)' for id under cursor
-|_im| add 'import <module>' for id under cursor
-|_iq| add 'import qualified <module>(<identifier>)' for id under cursor
-|_iqm| add 'import qualified <module>' for id under cursor
-|_ie| make imports explit for import statement under cursor
-|_opt| add OPTIONS_GHC pragma
-|_lang| add LANGUAGE pragma
-|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|)
-|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|)
-|i_CTRL-N| insert-mode completion based on imported sources
-|:GHCi|{command/expr} run GHCi command/expr in current module
-
-|:GHCStaticOptions| edit static GHC options for this buffer
-|:DocSettings| show current Haddock-files-related plugin settings
-|:DocIndex| populate Haddock index
-|:ExportDocIndex| cache current Haddock index to a file
-|:HpasteIndex| Read index of most recent entries from hpaste.org
-|:HpastePostNew| Submit current buffer as a new hpaste
-
-
-==============================================================================
- *haskellmode-settings*
-2. Settings ~
-
- The plugins try to find their dependencies in standard locations, so if
- you're lucky, you will only need to set |compiler| to ghc, and configure
- the location of your favourite web browser. You will also want to make
- sure that |filetype| detection and |syntax| highlighting are on. Given the
- variety of things to guess, however, some dependencies might not be found
- correctly, or the defaults might not be to your liking, in which case you
- can do some more fine tuning. All of this configuration should happen in
- your |vimrc|.
->
- " enable syntax highlighting
- syntax on
-
- " enable filetype detection and plugin loading
- filetype plugin on
-<
-
- *haskellmode-settings-main*
-2.1 GHC and web browser ~
-
- *compiler-ghc* *ghc-compiler*
- To use the features provided by the GHC |compiler| plugin, use the
- following |autocommand| in your vimrc:
->
- au BufEnter *.hs compiler ghc
-<
- *g:ghc*
- If the compiler plugin can't locate your GHC binary, or if you have
- several versions of GHC installed and have a preference as to which binary
- is used, set |g:ghc|:
->
- :let g:ghc="/usr/bin/ghc-6.6.1"
-<
- *g:haddock_browser*
- The preferred HTML browser for viewing Haddock documentation can be set as
- follows:
->
- :let g:haddock_browser="/usr/bin/firefox"
-<
-
- *haskellmode-settings-fine*
-2.2 Fine tuning - more configuration options ~
-
- Most of the fine tuning is likely to happen for the haskellmode_doc.vim
- plugin, so you can check the current settings for this plugin via the
- command |:DocSettings|. If all the settings reported there are to your
- liking, you probably won't need to do any fine tuning.
-
- *g:haddock_browser_callformat*
- By default, the web browser|g:haddock_browser| will be started
- asynchronously (in the background) on Windows or when vim is running in a
- GUI, and synchronously (in the foreground) otherwise. These settings seem
- to work fine if you are using a console mode browser (eg, when editing in
- a remote session), or if you are starting a GUI browser that will launch
- itself in the background. But if these settings do not work for you, you
- can change the default browser launching behavior.
-
- This is controlled by |g:haddock_browser_callformat|. It specifies a
- format string which uses two '%s' parameters, the first representing the
- path of the browser to launch, and the second is the documentation URL
- (minus the protocol specifier, i.e. file://) passed to it by the Haddock
- plugin. For instance, to launch a GUI browser on Unix-like systems and
- force it to the background (see also |shellredir|):
->
- :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
-<
- *g:haddock_docdir*
- Your system's installed Haddock documentation for GHC and its libraries
- should be automatically detected. If the plugin can't locate them, you
- must point |g:haddock_docdir| to the path containing the master index.html
- file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.:
->
- :let g:haddock_docdir="/usr/local/share/doc/ghc/html/"
-<
- *g:haddock_indexfiledir*
- The information gathered from Haddock's index files will be stored in a
- file called 'haddock_index.vim' in a directory derived from the Haddock
- location, or in $HOME. To configure another directory for the index file,
- use:
->
- :let g:haddock_indexfiledir="~/.vim/"
-<
- *g:wget*
- If you also want to try the experimental hpaste functionality, you might
- you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget
- is in your PATH):
->
- :let g:wget="C:\Program Files\wget\wget.exe"
-<
-
- Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if
- you have to, you can redefine|maplocalleader|to something other than '_'.
- Just remember that the docs still refer to mappings starting with '_', to
- avoid confusing the majority of users!-)
-
-==============================================================================
- *haskellmode-compiler* *ghc*
-3. GHC Compiler Integration ~
-
- The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to
- enable |quickfix| mode using GHCi, and provides functionality for show
- info (|_si|), show type (|_t| or mouse |balloon|), add type declaration
- (|_T|), create tag file (|_ct|), and insert-mode completion
- (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported
- modules.
-
- To avoid frequent calls to GHCi, type information is cached in Vim. The
- cache will be populated the first time a command depends on it, and will
- be refreshed every time a |:make| goes through without generating errors
- (if the |:make| does not succeed, the old types will remain available in
- Vim). You can also unconditionally force reloading of type info using
- |:GHCReload| (if GHCi cannot load your file, the type info will be empty).
-
-
- In addition to the standard|quickfix| commands, the GHC compiler plugin
- provides:
-
- *:GHCReload*
-:GHCReload Reload modules and unconditionally refresh cache of
- type info. Usually, |:make| is prefered, as that will
- refresh the cache only if GHCi reports no errors, and
- show the errors otherwise.
-
- *:GHCStaticOptions*
-:GHCStaticOptions Edit the static GHC options for the current buffer.
- Useful for adding hidden packages (-package ghc).
-
- *:GHCi*
-:GHCi {command/expr} Run GHCi commands/expressions in the current module.
-
- *_ct*
-_ct Create |tags| file for the current Haskell source
- file. This uses GHCi's :ctags command, so it will work
- recursively, but will only list tags for exported
- entities.
-
- *_opt*
-_opt Shows a menu of frequently used GHC compiler options
- (selecting an entry adds the option as a pragma to the
- start of the file). Uses popup menu (GUI) or :emenu
- and command-line completion (CLI).
-
- *_lang*
-_lang Shows a menu of the LANGUAGE options supported by GHC
- (selecting an entry adds the language as a pragma to
- the start of the file). Uses popup menu (GUI) or
- :emenu and command-line completion (CLI).
-
- *_si*
-_si Show extended information for the name under the
- cursor. Uses GHCi's :info command. Output appears in
- |preview-window| (when done, close with |:pclose|).
-
- *_t*
-_t Show type for the name under the cursor. Uses cached
- info from GHCi's :browse command.
-
- *_T*
-_T Insert type declaration for the name under the cursor.
- Uses cached info from GHCi's :browse command.
-
- *haskellmode-XO* *haskellmode-omni-completion*
-CTRL-X CTRL-O Standard insert-mode omni-completion based on the
- cached type info from GHCi browsing current and
- imported modules. Only names from the current and from
- imported modules are included (the completion menu
- also show the type of each identifier).
-
-==============================================================================
- *haskellmode-haddock* *haddock*
-4. Haddock Integration ~
-
- Haskell mode integrates with Haddock-generated HTML documentation,
- providing features such as navigating to the Haddock entry for the
- identifier under the cursor (|_?|), completion for the identifier under
- the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im|
- |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the
- cursor.
-
- These commands operate on an internal Haddock index built from the
- platform's installed Haddock documentation for GHC's libraries. Since
- populating this index takes several seconds, it should be stored as a
- file called 'haddock_index.vim' in the directory specified by
- |g:haddock_indexfiledir|.
-
- Some commands present a different interface (popup menu or command-line
- completion) according to whether the current Vim instance is graphical or
- console-based (actually: whether or not the GUI is running). Such
- differences are marked below with the annotations (GUI) and (CLI),
- respectively.
-
- |:DocSettings| shows the settings for this plugin. If you are happy with
- them, you can call |:ExportDocIndex| to populate and write out the
- documentation index (should be called once for every new version of GHC).
-
- *:DocSettings*
-:DocSettings Show current Haddock-files-related plugin settings.
-
-
- *haskellmode-indexing*
-4.1 Indexing ~
-
- *:DocIndex*
-:DocIndex Populate the Haddock index from the GHC library
- documentation.
-
- *:ExportDocIndex*
-:ExportDocIndex Cache the current Haddock index to a file (populate
- index first, if empty).
-
-
- *haskellmode-lookup*
-4.2 Lookup ~
-
- *_?*
-_? Open the Haddock entry (in |haddock_browser|) for an
- identifier under the cursor, selecting full
- qualifications from a popup menu (GUI) or via
- command-line completion (CLI), if the identifier is
- not qualified.
-
- *_?1*
-_?1 Search Hoogle (using |haddock_browser|) for an
- identifier under the cursor.
-
-
- *_?2*
-_?2 Search Hayoo! (using |haddock_browser|) for an
- identifier under the cursor.
-
- *:IDoc*
-:IDoc {identifier} Open the Haddock entry for the unqualified
- {identifier} in |haddock_browser|, suggesting possible
- full qualifications.
-
- *:MDoc*
-:MDoc {module} Open the Haddock entry for {module} in
- |haddock_browser| (with command-line completion for
- the fully qualified module name).
-
- *:FlagReference*
-:FlagReference {s} Browse Users Guide Flag Reference for section {s}
- (with command-line completion for section headers).
-
-
- *haskellmode-editing*
-4.3 Editing ~
-
- *_.*
-_. Fully qualify the unqualified name under the cursor
- selecting full qualifications from a popup menu (GUI)
- or via command-line completion (CLI).
-
- *_iq* *_i*
-_i _iq Add 'import [qualified] <module>(<identifier>)'
- statement for the identifier under the cursor,
- selecting fully qualified modules from a popup menu
- (GUI) or via command-line completion (CLI), if the
- identifier is not qualified. This currently adds one
- import statement per call instead of merging into
- existing import statements.
-
- *_iqm* *_im*
-_im Add 'import [qualified] <module>' statement for the
- identifier under the cursor, selecting fully qualified
- modules from a popup menu (GUI) or via command-line
- completion (CLI), if the identifier is not qualified.
- This currently adds one import statement per call
- instead of merging into existing import statements.
-
- *_ie*
-_ie On an 'import <module>' line, in a correctly loadable
- module, temporarily comment out import and use :make
- 'not in scope' errors to explicitly list imported
- identifiers.
-
- *haskellmode-XU* *haskellmode-user-completion*
-CTRL-X CTRL-U User-defined insert mode name completion based on all
- names known to the Haddock index, including package
- names. Completions are presented in a popup menu which
- also displays the fully qualified module from which
- each entry may be imported.
-
- CamelCode shortcuts are supported, meaning that
- lower-case letters can be elided, using only
- upper-case letters and module qualifier separators (.)
- for disambiguation:
-
- pSL -> putStrLn
- C.E.t -> Control.Exception.t
- C.M.MP -> Control.Monad.MonadPlus
-
- To reduce unwanted matches, the first letter of such
- shortcuts and the first letter after each '.' have to
- match directly.
-
-==============================================================================
- *haskellmode-hpaste* *hpaste*
-5. Hpaste Integration ~
-
- This experimental feature allows browsing and posting to
- http://hpaste.org, a Web-based pastebin tailored for Haskell code.
-
-
- *:HpasteIndex*
-:HpasteIndex Read the most recent entries from hpaste.org. Show an
- index of the entries in a new buffer, where ',r' will
- open the current highlighted entry [and ',p' will
- annotate it with the current buffer].
-
- *:HpastePostNew*
-:HpastePostNew Submit current buffer as a new hpaste entry.
- [This, and ',p' above, are temporarily disabled,
- needs update to new hpaste.org layout]
-
-==============================================================================
- *haskellmode-resources*
-6. Additional Resources ~
-
- An quick screencast tour through of these plugins is available at:
-
- http://projects.haskell.org/haskellmode-vim/screencasts.html
-
- Other Haskell-related Vim plugins can be found here:
-
- http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
-
- Make sure to read about Vim's other program-editing features in its online
- |user-manual|. Also have a look at Vim tips and plugins at www.vim.org -
- two other plugins I tend to use when editing Haskell are AlignPlugin.vim
- (to line up regexps for definitions, keywords, comments, etc. in
- consecutive lines) and surround.vim (to surround text with quotes,
- brackets, parentheses, comments, etc.).
-
-==============================================================================
- vim:tw=78:ts=8:ft=help:
diff --git a/.vim/doc/imaps.txt b/.vim/doc/imaps.txt
deleted file mode 100644
index 087b3db..0000000
--- a/.vim/doc/imaps.txt
+++ /dev/null
@@ -1,116 +0,0 @@
- IMAP -- A fluid replacement for :imap
- *imaps.txt*
- Srinath Avadhanula <srinath AT fastmail DOT fm>
-
-
-
- Abstract
- ========
-This plugin provides a function IMAP() which emulates vims |:imap| function. The
-motivation for providing this plugin is that |:imap| suffers from problems
-which get increasingly annoying with a large number of mappings.
-
-Consider an example. If you do >
- imap lhs something
-
-
-then a mapping is set up. However, there will be the following problems:
-1. The 'ttimeout' option will generally limit how easily you can type the lhs.
- if you type the left hand side too slowly, then the mapping will not be
- activated.
-
-2. If you mistype one of the letters of the lhs, then the mapping is deactivated
- as soon as you backspace to correct the mistake.
-
-3. The characters in lhs are shown on top of each other. This is fairly
- distracting. This becomes a real annoyance when a lot of characters initiate
- mappings.
-
-This script provides a function IMAP() which does not suffer from these
-problems.
-
-
-
- *imaps.txt-toc*
-|im_1| Using IMAP
-
-================================================================================
-Viewing this file
-
-This file can be viewed with all the sections and subsections folded to ease
-navigation. By default, vim does not fold help documents. To create the folds,
-press za now. The folds are created via a foldexpr which can be seen in the
-last section of this file.
-
-See |usr_28.txt| for an introduction to folding and |fold-commands| for key
-sequences and commands to work with folds.
-
-================================================================================
-Using IMAP *im_1* *imaps-usage*
-
-
-
-Each call to IMAP is made using the syntax: >
- call IMAP (lhs, rhs, ft [, phs, phe])
-
-
-This is equivalent to having <lhs> map to <rhs> for all files of type <ft>.
-
-Some characters in the <rhs> have special meaning which help in cursor placement
-as described in |imaps-placeholders|. The optional arguments define these
-special characters.
-
-Example One: >
- call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex")
-
-
-This effectively sets up the map for "bit`" whenever you edit a latex file. When
-you type in this sequence of letters, the following text is inserted: >
- \begin{itemize}
- \item *
- \end{itemize}<++>
-
-where * shows the cursor position. The cursor position after inserting the text
-is decided by the position of the first "place-holder". Place holders are
-special characters which decide cursor placement and movement. In the example
-above, the place holder characters are <+ and +>. After you have typed in the
-item, press <C-j> and you will be taken to the next set of <++>'s. Therefore by
-placing the <++> characters appropriately, you can minimize the use of movement
-keys.
-
-Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether.
-
-Set g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd to something else if you
-want different place holder characters. Also, b:Imap_PlaceHolderStart and
-b:Imap_PlaceHolderEnd override the values of g:Imap_PlaceHolderStart and
-g:Imap_PlaceHolderEnd respectively. This is useful for setting buffer specific
-place holders.
-
-Example Two: You can use the <C-r> command to insert dynamic elements such as
-dates. >
- call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '')
-
-
-
-With this mapping, typing date` will insert the present date into the file.
-
-================================================================================
-About this file
-
-This file was created automatically from its XML variant using db2vim. db2vim is
-a python script which understands a very limited subset of the Docbook XML 4.2
-DTD and outputs a plain text file in vim help format.
-
-db2vim can be obtained via anonymous CVS from sourceforge.net. Use
-
-cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
-
-Or you can visit the web-interface to sourceforge CVS at:
-http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
-
-The following modelines should nicely fold up this help manual.
-
-vim:ft=help:fdm=expr:nowrap
-vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
-vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','--\ \ \ \ ','')
-================================================================================
diff --git a/.vim/doc/latex-suite-quickstart.txt b/.vim/doc/latex-suite-quickstart.txt
deleted file mode 100644
index 8c18b72..0000000
--- a/.vim/doc/latex-suite-quickstart.txt
+++ /dev/null
@@ -1,448 +0,0 @@
- A (very) quick introduction to Latex-Suite
- *latex-suite-quickstart.txt*
- Srinath Avadhanula <srinath AT fastmail DOT fm>
-
-
-
- Abstract
- ========
-Latex-Suite is a comprehensive set of scripts to aid in editing, compiling and
-viewing LaTeX documents. A thorough explanation of the full capabilities of
-Latex-Suite is described in the user manual. This guide on the other hand,
-provides a quick 30-45 minute running start to some of the more commonly used
-functionalities of Latex-Suite.
-
- *latex-suite-quickstart.txt-toc*
-|lq_1| Using this tutorial
-|lq_2| Inserting a template
-|lq_3| Inserting a package
-|lq_4| Inserting an Environment
-|lq_5| A few keyboard shortcuts
-|lq_6| Folding in Latex-Suite
-|lq_7| Inserting a Reference
-|lq_8| Compiling a document
- |lq_8_1| Debugging LaTeX source files
-|lq_9| Viewing DVI files
- |lq_9_1| Performing forward searches
- |lq_9_2| Performing inverse searches
-|lq_10| Conclusions
-
-================================================================================
-Viewing this file
-
-This file can be viewed with all the sections and subsections folded to ease
-navigation. By default, vim does not fold help documents. To create the folds,
-press za now. The folds are created via a foldexpr which can be seen in the
-last section of this file.
-
-See |usr_28.txt| for an introduction to folding and |fold-commands| for key
-sequences and commands to work with folds.
-
-================================================================================
-Using this tutorial *lq_1* *lq_a_bc*
- *lsq-using-tutorial*
-
-
-
-This tutorial assumes that you have vim version 6.1+ installed on your machine.
-To check, open vim and type >
- :ver
-You will see the version in the first line of the output. Get the latest vim
-version from http://vim.sf.net |lq_u_1|.
-
-Assuming you have Vim 6.1+ already up and running, follow the instructions here
-|lq_u_2| to set up Latex-Suite. Remember to make sure your 'grepprg' setting of
-Vim works.
-
-Good, now you are all set to start the tutorial. Since this tutorial aims to
-explain the newbie-friendly version of Latex-Suite, it needs some GUI
-functionality. Therefore, at least for this tutorial, open the gui version of
-vim. (On MS windows, this is the default). Open up this help file in either the
-same gvim session in a split window or in a different session and follow the
-(friendly) instructions.
-
-================================================================================
-Inserting a template *lq_2* *lq_a_bd*
- *lsq-inserting-template*
-
-
-
-Start up gvim and begin editing a new file. >
- e newfile.tex
-If the installation went well, you should see a new set of menus appear. Goto
-Tex-Suite > Templates. You will see a number of templates to choose from. For
-now, choose to insert a template for an article. You should get the following in
-the main vim window (after possibly a hit-enter prompt). >
-
- 1 % File: sample.tex
- 2 % Created: Sun Jun 22 04:00 PM 2003 P
- 3 % Last Change: Sun Jun 22 04:00 PM 2003 P
- 4 %
- 5 \documentclass[a4paper]{article}
- 6 \begin{document}
- 7
- 8 \end{document}
- 9
- 10 ~
- 11 ~
- 12 ~
- 13 ~
- -- INSERT -- 7,1 All
-
-
-
-The cursor is left on line 7 (just after the \begin{document} line) from where
-you can start typing straight away. Trying to lessen movement is a recurring
-theme in Latex-Suite.
-
-================================================================================
-Inserting a package *lq_3* *lq_a_be*
- *lsq-lsq-inserting-package*
-
-
-
-Assume that we are writing a mathematical paper and we want to use the popular
-amsmath package. We will use some functionality which Latex-Suite provides
-specifically for including LaTeX packages, providing options etc. Navigate to
-before the \begin{document} line (The portion of the document before the
-\begin{document} is called the _preamble_ in LaTeX). On an empty line in the
-preamble, type the single word amsmath and then press <F5> in normal mode. The
-line will change to >
- \usepackage[]{amsmath}<++>
-with the cursor positioned conviniently between the []'s. For now, do not worry
-about the trailing <++> at the end of this line. Assume we want to provide the
-sumlimits options to amsmath. You can either type in this option manually, or
-choose from a menu of package options which Latex-Suite automatically creates
-when you insert a package using <F5>. With the cursor still placed between the
-[], goto TeX-Suite > Packages > amsmath Options. Choose the sumlimits option.
-The package line should get converted to: >
- \usepackage[sumlimits,]{amsmath}<++>
-
-
-with the cursor before ]. Press <C-j> in insert mode. You will see the cursor
-jump to the end of the package line and the trailing <++> will dissapear. What
-just happened?! You had your first taste of _Placeholders_. Read more about them
-(later) here |lq_u_3|. In short, pressing <C-j> in insert mode takes you to the
-next <++> in the text.
-
-================================================================================
-Inserting an Environment *lq_4* *lq_a_bf*
- *lsq-insert-environment*
-
-
-
-Now let us type in a simple formula in LaTeX. Move back to the body of the
-document (The portion of the document between \begin{document} and
-\end{document} is called the body). Type in a few simple sentences and then on
-an empty line, type the single word eqnarray. Escape to normal mode and press
-<F5>. (Remember: <F5> is very useful!) This time, the line will change to: >
- \begin{eqnarray}
- \label{}<++>
- \end{eqnarray}<++>
-<with the cursor between the {}. Enter a label. We will use eqn:euler. After
-typing in eqn:euler, press <C-j>. This will take you outside the curly-braces.
-Another time you used a Placeholder!
-
-================================================================================
-A few keyboard shortcuts *lq_5* *lq_a_bg*
- *lsq-keyboard-shortcuts*
-
-
-
-Now to type in the famous Euler formula. Our aim is to type >
- e^{j\pi} + 1 &=& 0
-Instead of typing this blindly, let us use a few shortcuts to reduce movement.
-Start out by typing e^. Now instead of typing {, type another ^. You will see
-the e^^ change instantly to e^{}<++> with the cursor between {}'s. (The ^^
-changed to ^{}<++>.) Continue with the following sequence of letters: j`p. This
-will change instantly to j\pi. (The `p changed to \pi.) Having typed in all we
-need to type between the {}'s, press <C-j>. You will pop back out of the
-curly-braces. Continue typing the rest of the formula. You can use == as a
-shortcut for &=&. Latex-Suite provides a large number of such shortcuts which
-should making typing much more fun and fast if you get acquainted with them. A
-list is provided here |lq_u_4|. Definitely spend some time getting a feel for
-them. Most of them are pretty intuitive like `/ for \frac{}{}, `8 for \infty
-etc.
-
-In order to understand the next section better, it will be helpful to have one
-more \label. Lets use the handy <F5> key to insert another equation. This time
-something simple like the following will do: >
- \begin{eqnarray}
- \label{eqn:simple}
- 1 + 1 = 2
- \end{eqnarray}
-
-
-================================================================================
-Folding in Latex-Suite *lq_6* *lq_a_bh* *lsq-folding*
-
-
-
-Okay, we have typed enough. At this stage, hopefully, your file is looking
-something like this: >
-
- 1 % File: sample.tex
- 2 % Created: Sun Jun 22 04:00 PM 2003 P
- 3 % Last Change: Mon Dec 15 07:00 PM 2003
- 4 %
- 5 \documentclass[a4paper]{article}
- 6
- 7 \usepackage[sumlimits,]{amsmath}
- 8
- 9 \begin{document}
- 10 \begin{eqnarray}
- 11 \label{eqn:euler}
- 12 e^{j\pi} + 1 &=& 0
- 13 \end{eqnarray}
- 14 This is the famous euler equation. I
- 15 will type another equation, just as
- 16 true:
- 17 \begin{eqnarray}
- 18 \label{eqn:simple}
- 19 1 + 1 &=& 2
- 20 \end{eqnarray}
- 21 This is my contribution to mathematics.
- 22 \end{document}
-
-In normal mode, press \rf. This will fold up the entire file and you should see
-the file looking as below: >
-
- 1 % File: sample.tex
- 2 % Created: Sun Jun 22 04:00 PM 2003 P
- 3 % Last Change: Mon Dec 15 07:00 PM 2003
- 4 %
- 5 +-- 4 lines: Preamble: \documentclass[a4paper]{article} -----
- 9 \begin{document}
- 10 +-- 4 lines: eqnarray (eqn:euler) \label{eqn:euler} -----------
- 14 This is the famous euler equation. I
- 15 will type another equation, just as
- 16 true:
- 10 +-- 4 lines: eqnarray (eqn:simple) \label{eqn:simple} ---------
- 21 This is my contribution to mathematics.
- 22 \end{document}
-
-What has happened is that Latex-Suite folded away blocks of LaTeX code into
-folded regions. You can open and close folds by using the command za in normal
-mode.
-
-================================================================================
-Inserting a Reference *lq_7* *lq_a_bi*
- *lsq-inserting-reference*
-
-
-
-A necessary part of LaTeX editing is referencing equations, figures,
-bibliographic entries etc. This is done with the \ref and the \cite commands.
-Latex-Suite provides an easy way to do this. Somewhere in the body of the
-document, type in the following sentence >
- This is a reference to (\ref{}).
-With the cursor between the {} press <F9> in insert mode. Your vim session will
-sprout two new windows and it should look like below: >
-
- 9 \begin{document}
- 10 +-- 4 lines: eqnarray (eqn:euler) : \label{eqn:euler}-----------------------
- 14 This is the famous euler equation. I
- 15 will type another equation, just as
- 16 true:
- 17 +-- 4 lines: eqnarray (eqn:simple) : \label{eqn:simple}---------------------
- 21 This is my contribution to mathematics.
- 22 This is a reference to (\ref{}&lt;++&gt;)&lt;++&gt;
- 23 \end{document}
- ~
- ~
- ~
- test.tex [+] 22,29 Bot
- test.tex|11| \label{eqn:euler}
- test.tex|18| \label{eqn:simple}
- ~
- ~
- ~
- [Error List] 1,1 All
- 7 \usepackage[sumlimits,]{amsmath}
- 8
- 9 \begin{document}
- 10 \begin{eqnarray}
- 11 \label{eqn:euler}
- 12 e^{j\pi} + 1 &=& 0
- 13 \end{eqnarray}
- 14 This is the famous euler equation. I
- 15 will type another equation, just as
- 16 true:
- test.tex [Preview][+] 11,2-5 46%
-
-
-
-The cursor will relocate to the middle window which shows all \labels found in
-all the .tex file in the current directory. You can scroll up and down in the
-middle window till you reach the reference you want to insert. Notice how when
-you scroll in the middle window, the bottom "Preview" window scrolls
-automatically to show you the location of the current selection. This helps you
-identify the reference with greater ease because often times, \labels are not
-descriptive enough or there might be too many of them. To insert the reference,
-just position the cursor on the relevant line in the middle window and press
-<enter>. The line which you were editing will change to: >
- This is a reference to (\ref{eqn:euler})
-<and the bottom windows close automatically.
-
-The <F9> key also works for inserting \cite commands to reference bibliographich
-entries, inserting file names for the \inputgraphics command and just plain
-searching for words. Click here |lq_u_5| for more information.
-
-================================================================================
-Compiling a document *lq_8* *lq_a_bj*
- *lsq-compiling*
-
-|lq_8_1| Debugging LaTeX source files
-
-
-Great! We have just created a small latex file. The next step is to make the
-latex compiler create a .dvi file from it. Compiling via latex-suite is simple.
-Goto normal mode and press \ll (replace \ with whatever mapleader setting you
-have). This will call the latex compiler. If all goes well, then the focus
-should return to the vim window.
-
-Nothing happend? Ouch! You might need to do some additional settings as
-described here. |lq_u_6|
-
-
---------------------------------------------------------------------------------
-Debugging LaTeX source files *lq_8_1* *lq_a_bk*
- *lsq-debugging*
-
-To illustrate the debugging procedure, let's create a few mistakes in the file.
-Insert the following ``mistakes'' in the file: >
- This is a $\mistake$.
- And this is $\another$
-Now press \ll again. This time you will notice that after compilation finishes,
-the cursor automatically lands on $\mistake$. In addition, 2 new windows will
-appear as shown here:
-
-The middle window is an _Error List_ window showing you the errors which the
-latex compiler found. Th bottom window is a _Log Preview_ window, which shows
-you the context of the error made by displaying the relevant portion of the .log
-file created during the latex compilation procedure. Jump to the _Error List_
-window and try scrolling around in it using either the j, k keys or the arrow
-keys. You will notice that the _Log Preview_ window scrolls automatically to
-retain the context of the error you are currently located on. If you press
-<enter> on any line, you will see the cursor jump to the location of the error.
-Latex-Suite tries to guess the column location as best as it can so you can
-continue typing straight away.
-Having got a taste for compiling, proceed by deleting the erroneous lines and
-re-compiling.
-
-The Latex-Suite compiler is capable of much more including selectively filtering
-out common errors which you might want to ignore for the moment, compiling parts
-of a document, setting levels of verbosity in the compiler output etc. See here
-|lq_u_7| for more.
-
-================================================================================
-Viewing DVI files *lq_9* *lq_a_bl*
- *lsq-viewing-dvi*
-
-|lq_9_1| Performing forward searches
-|lq_9_2| Performing inverse searches
-
-
-Now that you have compiled your first latex source, its time to view it. Again,
-this should be pretty simple. Press \lv in normal mode. Depending on your
-platform, a DVI viewer program should open up and display the dvi file generated
-in compilation step previously.
-
-Nothing happend? Ouch! You might need to do some additional settings as
-described here. |lq_u_8|
-
-
---------------------------------------------------------------------------------
-Performing forward searches *lq_9_1* *lq_a_bm*
- *lsq-quick-forward-searching*
-
-If you are using a modern DVI viewer, then it is possible to do what is called
-forward and inverse searching. However, you will need to customize the standard
-Latex-Suite distribution in order to utilize this functionality. Type in the
-following on the command line: >
- :let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*'
- :TCTarget dvi
-
-
-Now recompile the latex file by pressing \ll. This time, instead of pressing \lv
-to view the file, press \ls from within the tex file. If the DVI viewer supports
-forward searching (most of them do), then the viewer will actually display the
-portion of the DVI file corresponding to the location where you were editing the
-tex file.
-
-NOTE: The reason Latex-Suite does not have this setting by default is that on
- some systems this causes unpredictable results in the DVI output. If you
- find the DVI output satisfactory, then you can insert the first of the 2
- lines above into your $VIM/ftplugin/tex.vim file. $VIM is ~/vimfiles for
- windows and ~/.vim for *nix machines.
-
-
-
---------------------------------------------------------------------------------
-Performing inverse searches *lq_9_2* *lq_a_bn*
- *lsq-quick-inverse-searching*
-
-Most DVI viewers also support inverse searching, whereby you can make the DVI
-viewer ask vim to display the tex source corresponding to the DVI file being
-shown. This is extremeley helpful while proofreading large documents.
-
-Simply double-click anywhere in the viewer window. If the viewer supports it,
-then it will attempt to open an editor window at the location corresponding to
-where you double-clicked. On *nix platforms, Latex-Suite attempts to start the
-viewer program in such a way that it already knows to use vim to open the tex
-source. Thus you should see a vim window open up showing the tex file. However,
-if there is an error, or some other program is used, you will need to tell the
-viewer program to use gvim as the editor. On windows platforms, if you use the
-commonly available yap viewer (available as part of the miktex distribution),
-then this option can be set from View > Options > Inverse Search. In the Command
-line: window, write >
- "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
-(Customize the path according to where you have installed gvim). If you double
-click in the view pane now, you will see gvim start up and take you to the
-relevant portion of the tex file.
-
-================================================================================
-Conclusions *lq_10* *lq_a_bo*
- *lsq-conclusions*
-
-
-
-Thats all folks! By now, you should know enough of the basic functions of
-latex-suite. Ofcourse, latex-suite is capable of much, much more such as
-compiling files multiple times to resolve changed labels, compiling
-dependencies, handling user packages and more. To get a feel for that, you will
-need to take a look at the Latex-Suite user manual. |lq_u_9|
-
-================================================================================
-URLs used in this file
-
-*lq_u_1* : http://vim.sf.net
-*lq_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download&title=Download
-*lq_u_3* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-macros.html
-*lq_u_4* : http://vim-latex.sourceforge.net/documentation/latex-suite/auc-tex-mappings.html
-*lq_u_5* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-completion.html
-*lq_u_6* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-2
-*lq_u_7* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-compiling.html
-*lq_u_8* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-3
-*lq_u_9* : http://vim-latex.sourceforge.net/index.php?subject=manual&title=Manual#user-manual
-
-================================================================================
-About this file
-
-This file was created automatically from its XML variant using db2vim. db2vim is
-a python script which understands a very limited subset of the Docbook XML 4.2
-DTD and outputs a plain text file in vim help format.
-
-db2vim can be obtained via anonymous CVS from sourceforge.net. Use
-
-cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
-
-Or you can visit the web-interface to sourceforge CVS at:
-http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
-
-The following modelines should nicely fold up this help manual.
-
-vim:ft=help:fdm=expr:nowrap
-vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
-vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
-================================================================================
diff --git a/.vim/doc/latex-suite.txt b/.vim/doc/latex-suite.txt
deleted file mode 100644
index a44cd9b..0000000
--- a/.vim/doc/latex-suite.txt
+++ /dev/null
@@ -1,3418 +0,0 @@
- Latex-Suite Reference
- *latex-suite.txt*
- Srinath Avadhanula <srinath AT fastmail DOT fm>
- Mikolaj Machowski <mikmach AT wp DOT pl>
-
-
-
- Abstract
- ========
-Latex-Suite attempts to provide a comprehensive set of tools to view, edit and
-compile LaTeX documents in Vim. Together, they provide tools starting from
-macros to speed up editing LaTeX documents to functions for forward searching
-.dvi documents. Latex-Suite has been possible because of the contributions of
-many people. Please see latex-suite-credits [|ls_a_dU|] for a list of people who
-have helped.
-
-Latex-Suite is released under the Vim charityware license. For license and
-conditions of use look at |copyright|. Replace all occurrences of ``Vim'' with
-``Latex-Suite''. The current copyright holders of Latex-Suite are Srinath
-Avadhanula and Mikolaj Machowski.
-
-Homepage: http://vim-latex.sourceforge.net |ls_u_1|
-
-
-
- *latex-suite.txt-toc*
-|ls_1| Installation and recommended Settings
-|ls_2| Inserting Templates
-|ls_3| Latex-Suite Macros
- |ls_3_1| Environment Mappings
- |ls_3_2| Command Mappings
- |ls_3_3| Font Mappings
- |ls_3_4| Section Mappings
- |ls_3_5| Greek Letter Mappings
- |ls_3_6| Auc-Tex Key Bindings
- |ls_3_7| Diacritics
- |ls_3_8| BibTeX Shortcuts
- |ls_3_9| Smart Key Mappings
- |ls_3_10| Alt Key Macros
- |ls_3_11| Custom Macros
- |ls_3_12| Making your own Macros via IMAP()
-|ls_4| Package Handling
- |ls_4_1| Inserting package commands
- |ls_4_2| Actions taken for supported packages
- |ls_4_3| Automatic Package detection
- |ls_4_4| Writing supporting for a package
-|ls_5| Latex Completion
- |ls_5_1| Latex-Suite completion example
- |ls_5_2| Latex-Suite \ref completion
- |ls_5_3| Latex-Suite \cite completion
- |ls_5_4| Latex-Suite filename completion
- |ls_5_5| Custom command completion
-|ls_6| LaTeX Compiling
- |ls_6_1| Setting Compilation rules
- |ls_6_2| Handling dependencies in compilation
- |ls_6_3| Compiling multiple times
- |ls_6_4| Customizing the compiler output
- |ls_6_5| Compiling parts of a file
-|ls_7| Latex Viewing and Searching
- |ls_7_1| Setting Viewing rules
- |ls_7_2| Forward Searching DVI documents
- |ls_7_3| Inverse Searching
-|ls_8| Latex Folding
- |ls_8_1| Default Folding Scheme in Latex-Suite
- |ls_8_2| Customizing what to fold
- |ls_8_3| Editing the folding.vim file directly
-|ls_9| Multiple file LaTeX projects
- |ls_9_1| Latex-Suite project settings
- |ls_9_2| Specifying which file to compile
-|ls_10| Latex-Suite Commands and Maps
- |ls_10_1| Latex-Suite Maps
- |ls_10_2| Latex Suite Commands
-|ls_11| Customizing Latex-Suite
- |ls_11_1| General Settings
- |ls_11_2| Place-Holder Customization
- |ls_11_3| Macro Customization
- |ls_11_4| Smart Key Customization
- |ls_11_5| Latex Completion Customization
- |ls_11_6| Compiler Customization
- |ls_11_7| Viewer Customization
- |ls_11_8| Menu Customization
- |ls_11_9| Folding Customization
- |ls_11_10| Package Handling Customization
-|ls_12| Credits
-
-================================================================================
-Viewing this file
-
-This file can be viewed with all the sections and subsections folded to ease
-navigation. By default, vim does not fold help documents. To create the folds,
-press za now. The folds are created via a foldexpr which can be seen in the
-last section of this file.
-
-See |usr_28.txt| for an introduction to folding and |fold-commands| for key
-sequences and commands to work with folds.
-
-================================================================================
-Installation and recommended Settings *ls_1* *ls_a_bc*
- *recommended-settings*
-
-
-
-If you are reading this, it most probably means that you have already installed
-Latex-Suite and the help files. If this is not the case, follow the detailed
-instructions on Latex-Suite's download page |ls_u_2|.
-
-Make sure that you create a few necessary settings in your ~/.vimrc. >
-
- " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file.
- filetype plugin on
-
- " IMPORTANT: win32 users will need to have 'shellslash' set so that latex
- " can be called correctly.
- set shellslash
-
- " IMPORTANT: grep will sometimes skip displaying the file name if you
- " search in a singe file. This will confuse Latex-Suite. Set your grep
- " program to always generate a file-name.
- set grepprg=grep\ -nH\ $*
-
- " OPTIONAL: This enables automatic indentation as you type.
- filetype indent on
-
-
-
-In addition, the following settings could go in your ~/.vim/ftplugin/tex.vim
-file: >
- " this is mostly a matter of taste. but LaTeX looks good with just a bit
- " of indentation.
- set sw=2
- " TIP: if you write your \label's as \label{fig:something}, then if you
- " type in \ref{fig: and press <C-n> you will automatically cycle through
- " all the figure labels. Very useful!
- set iskeyword+=:
-
-
-
-================================================================================
-Inserting Templates *ls_2* *ls_a_bd*
- *latex-suite-templates*
-
-
-
-This functionality is available via the TeX-Suite > Templates menu. This module
-provides a way to insert custom templates at the beginning of the current file.
-
-When Latex-Suite first starts up, it scans the
-$VIM/ftplugin/latex-suite/templates/ directory and creates menu items based on
-the files found there. When you select a template from this menu, the file will
-be read in above the first line of the current file.
-
-A template file can utilize placeholders for initializing the cursor position
-when the template is read in and subsequent movement. In addition, template
-files can contain dynamic elements such as the time of creation of a file etc,
-by using vim expressions.
-
-You can place your own templates in the $VIM/ftplugin/latex-suite/templates/
-directory in order for them to be available via the menu. Unless Latex-Suite
-releases a template with the same name, these files should not get over-written
-when you install a new release over an existing one.
-
-NOTE: Templates are also accessible for non-gui users with the command
- |:TTemplate|. The argument should be name of the corresponding template
- file. If the command is called without arguments (preferred usage), then a
- list of available templates is displayed and the user is asked to choose
- one of them.
-
-
-
-================================================================================
-Latex-Suite Macros *ls_3* *ls_a_be*
- *latex-macros*
-
-|ls_3_1| Environment Mappings
-|ls_3_2| Command Mappings
-|ls_3_3| Font Mappings
-|ls_3_4| Section Mappings
-|ls_3_5| Greek Letter Mappings
-|ls_3_6| Auc-Tex Key Bindings
-|ls_3_7| Diacritics
-|ls_3_8| BibTeX Shortcuts
-|ls_3_9| Smart Key Mappings
-|ls_3_10| Alt Key Macros
-|ls_3_11| Custom Macros
-|ls_3_12| Making your own Macros via IMAP()
-
-
-Latex-Suite ships with a very comprehensive set of insert mode and |visual-mode|
-mappings and menu items to typeset most of the LaTeX elements.
-
-NOTE: These mappings are are not standard mappings in the sense that only the
- last character is mapped. See plugin/imaps.vim for further documentation.
- For example, in the case of the mapping EFI provided by Latex-Suite you
- can press the characters 'E', 'F' and 'I' as slowly as you wish (unlike
- the normal imap command where timeout issues are involved). The characters
- are visible as you type them (unlike normal imaps) and you can use the
- movement or backspace key to correct yourself unlike normal mappings.
-
-
- *place-holder* *ls_a_dV*
- *place-holders* *ls_a_eD*
-NOTE: Place Holders
- -------------
- Almost all macros provided in Latex-Suite implement Stephen Riem's
- bracketing system and Gergely Kontra's JumpFunc() for handling
- place-holders. This consists of using "place-holders" to mark off
- locations where the next relevant editing has to be done. As an example,
- when you type EFI in |insert-mode|, you will get the following: >
- \begin{figure}[h]
- \centerline{\psfig{figure=<+eps file+>}}
- \caption{<+caption text+>}
- \label{fig:<+label+>}
- \end{figure}<++>
-< The text <+eps file+> will be selected and you will be left in
- |select-mode| so that you can continue typing straight away. After having
- typed in the file name, you can press <Ctrl-J> (while still in
- insert-mode). This will take you directly to the next "place-holder". i.e,
- <+caption text+> will be visually selected with Vim in select mode again
- for typing in the caption. This saves on a lot of key presses.
-
-
- *overriding-macros* *ls_a_eE*
-NOTE: Over-riding Latex-Suite Macros
- ------------------------------
- If you wish to change these macros from their default values, for example,
- if you wish to change `w to expand to \omega instead of its default
- expansion to \wedge, you should use the IMAP function as described in the
- Using IMAP() [|ls_a_bG|] section.
-
- An important thing to note is that if you wish to over-ride macros created
- by Latex-Suite rather than merely create new macros, you should place the
- IMAP() calls in a script which gets sourced after the files in
- Latex-Suite. A good place typically is as a file-type plugin file in the
- ~/.vim/after/ftplugin/ directory. (Use ~/vimfiles if you are using
- WINDOWS). For example to over-ride `w to \omega instead of \wedge, place
- the following line in (say) ~/.vim/after/ftplugin/tex_macros.vim: >
- call IMAP('`w', '\omega', 'tex')
-<
-
- NOTE: It is important to use a file-name which will get sourced on a
- FileType event. Therefore you must use a file-name which conforms to
- the standards as described in |ftplugin-name|.
-
-
-
- *pausing-imaps* *ls_a_eF*
-NOTE: Pausing Macro expansion
- -----------------------
- If you wish to temporarily suspend the imaps functionality, then you can
- set the Imap_FreezeImap to 1. If you set g:Imap_FreezeImap to 1, then it
- will be a system-wide setting. Setting b:Imap_FreezeImap will affect only
- the current buffer.
-
-
-The following sections describe the various editing macros provided by
-Latex-Suite.
-
-
---------------------------------------------------------------------------------
-Environment Mappings *ls_3_1* *ls_a_bf*
- *environment-mappings*
-
-Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX
-environments, i.e, \begin{...} ... \end{...} pairs.
-
-Inserting Environments *ls_3_1_1* *ls_a_bg*
- *inserting-environments*
-
-Latex-Suite provides the following ways to insert environments
-
-
-
-Method 1: Pressing <F5> *ls_3_1_1_1* *ls_a_bh*
- *inserting-env-f5*
-
-If you press <F5> in the insert or normal mode while on an empty line,
-Latex-Suite prompts you with a list of environments you might want to insert.
-You can either choose one from the list or type in a new environment name. If
-you press <F5> on a line which already has a word, then that word is used
-instead of prompting.
-
-See Tex_Env_name [|ls_a_cZ|] for a description of how Latex-Suite uses the word
-to form the expansion and how to modify Latex-Suite's behavior.
-
-The list of environments which Latex-Suite prompts you with (when <F5> is
-pressed on an empty line) is formed from the Tex_PromptedEnvironments
-[|ls_a_di|] setting.
-
-In addition to this setting, Latex-Suite also lists environments found in custom
-packages as described in the section Package actions. [|ls_a_bL|]
-
-
-Method 2: Using <S-F1>-<S-F4> *ls_3_1_1_2* *ls_a_bi*
- *inserting-env-shift-f1*
-
-The shifted function keys, <S-F1> to <S-F4> can be mapped to insert very
-commonly used environments. The environments mapped to each key can be
-customized via the g:Tex_HotKeyMappings [|ls_a_dj|] setting.
-
-
-Method 3: Using three letter sequences *ls_3_1_1_3* *ls_a_bj*
- *inserting-env-threeletter*
-
-Environments can also be inserted by pressing a 3 capital letter sequence
-starting with an E. The sequence of 3 letters generally tries to follow the
-following rules:
-
-
-1. All environment mappings begin with E
-
-2. If the environment can be broken up into 2 distinct words, such as flushright
- (flush + right), then the next 2 letters are the first letters of the 2
- words. Example: >
- flushleft (_f_lush + _l_eft) ---> EFL
- flushright (_f_lush + _r_ight) ---> EFR
- eqnarray (_e_qn + _a_rray) ---> EEA
-< If on the other hand, the environment name cannot be broken up into 2
- distinct words, then the next 2 letters are the first 2 letters of the name
- of the environment. Example: >
- equation (_eq_uation) ---> EEQ
-<
-Unfortunately there are some environments that cannot be split in two words and
-first two letters in name are identical. In this case shortcut is created from
-E, first and last letter. Example: >
- quote (_q_uot_e_) ---> EQE
- quotation (_q_uotatio_n_) ---> EQN
-Of course, not every last one of the environments can follow this rule because
-of ambiguities. In case of doubt, pull down the Tex-Environments menu. The menu
-item should give the hint for the map.
-
-
-Enclosing in Environments *ls_3_1_2* *ls_a_bk*
- *enclosing-environments*
-
-Latex-Suite provides visual-mode mappings which enclose visually selected
-portions of text in environments. There are two ways provided to do this.
-
-
-
-Method 1: Pressing <F5> *ls_3_1_2_1* *ls_a_bl*
- *enclosing-env-f5*
-
-You can also select a portion of text visually and press <F5> while still in
-visual mode. This will prompt you with a list of environments. (This list can be
-customized via the g:Tex_PromptedEnvironments [|ls_a_di|] setting). You can
-either choose from this list or type in a new environment name. Once the
-selection is done, Latex-Suite encloses the visually selected portion in the
-chosen environment.
-
-
-Method 2: Using three letter mappings *ls_3_1_2_2* *ls_a_bm*
- *enclosing-env-threeletter*
-
-You can also select text visually and press a sequence of three characters
-beginning with , (the single comma character) and the selected text will be
-enclosed in the chosen environment. The three letter sequence follows directly
-from the three letter sequence used to insert environments as described here
-[|ls_a_bj|]. The following example describes the rule used:
-
-If ECE inserts a \begin{center}...\end{center} environment, then to enclose a
-block of selected text in \begin{center}...\end{center}, simply select the text
-and press ,ce. The rule simply says that the leading E is converted to , and the
-next 2 letters are small case.
-Some of the visual mode mappings are sensitive to whether you choose line-wise
-or character-wise. For example, if you choose a word and press ,ce, then you get
-\centerline{word}, whereas if you press ,ce on a line-wise selection, you get: >
- \begin{center}
- line
- \end{center}
-
-
-
-Changing Environments *ls_3_1_3* *ls_a_bn*
- *changing-environments*
-
-Pressing <S-F5> in normal mode detects which environment the cursor is presently
-located in and prompts you to replace it with a new one. The innermost
-environment is detected. For example, in the following source: >
- \begin{eqnarray}
- \begin{array}{ccc}
- 2 & 3 & 4
- \end{array}
- \end{eqnarray}
-if you are located in the middle "2 & 3 & 4" line, then pressing <S-F5> will
-prompt you to change the array environment, not the eqnarray environment. In
-addition, Latex-Suite will also try to change lines within the environment to be
-consistent with the new environment. For example, if the original environment
-was an eqnarray environment with a \label command, then changing it to an
-eqnarray* environment will delete the \label.
-
-Pressing <F5> in normal mode has the same effect as pressing <F5> in
-insert-mode, namely you will be prompted to choose an environment to insert.
-
---------------------------------------------------------------------------------
-Command Mappings *ls_3_2* *ls_a_bo*
- *latex-command-maps*
-
-Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX
-commands.
-
-Inserting LaTeX commands *ls_3_2_1* *ls_a_bp*
- *inserting-commands*
-
- *ls-imap-f7* *ls_a_dW*
- *ls-imap-s-f7* *ls_a_dX*
-Pressing <F7> in insert or normal mode while the cursor is touching a word will
-insert a command formed from the word touching the cursor.
-
-For certain common commands, Latex-Suite will expand them to include additional
-arguments as needed. For example, frac becomes \frac{<++>}{<++>}<++>. Otherwise,
-it will simply change the word under the cursor as follows >
- word --> \word{<++>}<++>
-You can define custom expansions of commands using the Tex_Com_{name} setting as
-described in here [|ls_a_da|].
-
-If <F7> is pressed when the cursor is on white-space, then Latex-Suite will
-prompt you to choose a command and insert that instead.The list of commands is
-constructed from the g:Tex_PromptedCommands [|ls_a_dk|] setting and also from
-commands which Latex-Suite finds while scanning custom packages which
-Latex-Suite finds. See the Package actions [|ls_a_bL|] section for details on
-which files are scanned etc.
-
-
-Enclosing in a command *ls_3_2_2* *ls_a_bq*
- *enclosing-commands*
-
-You can select a portion of text visually and press <F7> while still in visual
-mode. This will prompt you with a list of commands. (This list can be customized
-via the g:Tex_PromptedCommands [|ls_a_dk|] setting). You can either choose from
-this list or type in a new command name. Once the selection is done, Latex-Suite
-encloses the visually selected portion in the chosen command.
-
-
-Changing commands *ls_3_2_3* *ls_a_br*
- *changing-commands*
-
- *ls-vmap-f7* *ls_a_dY*
-In both insert and normal mode <S-F7> will find out if you are presently within
-an environment and then prompt you with a list of commands to change it to.
-
---------------------------------------------------------------------------------
-Font Mappings *ls_3_3* *ls_a_bs* *font-maps*
-
-These mappings insert font descriptions such as: \textsf{<++>}<++> with the
-cursor left in place of the first placeholder [|ls_a_eD|] (the <++> characters).
-
-Mnemonic:
-1. first letter is always F (F for font)
-
-2. next 2 letters are the 2 letters describing the font.
-
-Example: Typing FEM in insert-mode expands to \emph{<++>}<++>.
-
-Just like environment mappings, you can visually select an area and press `sf to
-have it enclosed in: \textsf{word} or >
- {\sffamily
- line
- }
-depending on character-wise or line-wise selection.
-
---------------------------------------------------------------------------------
-Section Mappings *ls_3_4* *ls_a_bt*
- *section-mappings*
-
-These maps insert LaTeX sections such as: >
- \section{<++>}<++>
-etc. Just as in the case of environments and fonts, can be enclosed with a
-visual selection. The enclosing is not sensitive to character or line-wise
-selection.
-
-Mnemonic: (make your own!) >
- SPA for part
- SCH for chapter
- SSE for section
- SSS for subsection
- SS2 for subsubsection
- SPG for paragraph
- SSP for subparagraph
-
-
-Example: SSE in insert mode inserts >
- \section{<++>}<++>
-If you select a word or line and press ,se, then you get >
- \section{section name}
-The menu item in Tex-Environments.Sections have a sub-menu called 'Advanced'.
-Choosing an item from this sub-menu asks a couple of questions (whether you want
-to include the section in the table of contents, whether there is a shorter name
-for the table of contents) and then creates a more intelligent template.
-
---------------------------------------------------------------------------------
-Greek Letter Mappings *ls_3_5* *ls_a_bu*
- *greek-letter-mappings*
-
-Lower case
-
-`a through `z expand to \alpha through \zeta.Upper case:
-
- >
- `D = \Delta
- `F = \Phi
- `G = \Gamma
- `Q = \Theta
- `L = \Lambda
- `X = \Xi
- `Y = \Psi
- `S = \Sigma
- `U = \Upsilon
- `W = \Omega
-NOTE: LaTeX does not support upper case for all greek alphabets.
-
-
-Just like other Latex-Suite mappings, these mappings are not created using the
-standard imap command. Thus you can type slowly, correct using <BS> etc.
-
---------------------------------------------------------------------------------
-Auc-Tex Key Bindings *ls_3_6* *ls_a_bv*
- *auc-tex-mappings*
-
-These are simple 2 key expansions for some very commonly used LaTeX elements:
-
- >
- `^ Expands To \Hat{<++>}<++>
- `_ expands to \bar{<++>}<++>
- `6 expands to \partial
- `8 expands to \infty
- `/ expands to \frac{<++>}{<++>}<++>
- `% expands to \frac{<++>}{<++>}<++>
- `@ expands to \circ
- `0 expands to ^\circ
- `= expands to \equiv
- `\ expands to \setminus
- `. expands to \cdot
- `* expands to \times
- `& expands to \wedge
- `- expands to \bigcap
- `+ expands to \bigcup
- `( expands to \subset
- `) expands to \supset
- `< expands to \le
- `> expands to \ge
- `, expands to \nonumber
- `~ expands to \tilde{<++>}<++>
- `; expands to \dot{<++>}<++>
- `: expands to \ddot{<++>}<++>
- `2 expands to \sqrt{<++>}<++>
- `| expands to \Big|
- `I expands to \int_{<++>}^{<++>}<++>
-(again, notice the convenient place-holders)
-
-In addition the visual mode macros are provided:
-
- >
- `( encloses selection in \left( and \right)
- `[ encloses selection in \left[ and \right]
- `{ encloses selection in \left\{ and \right\}
- `$ encloses selection in $$ or \[ \] depending on characterwise or
- linewise selection
-
-
---------------------------------------------------------------------------------
-Diacritics *ls_3_7* *ls_a_bw*
- *diacritic-mappings*
-
-These mappings speed up typing European languages which contain diacritic
-characters such as a-umlaut etc. >
- +<l> expands to \v{<l>}
- =<l> expands to \'{<l>}
-where <l> is an alphabet.
-
- >
- +} expands to \"{a}
- +: expands to \^{o}
-Latex-Suite also ships with smart backspacing [|ls_a_dZ|] functionality which
-provides another convenience while editing languages with diacritics.
-
-NOTE: Diacritics are disabled by default in Latex-Suite because they can
- sometimes be a little too intrusive. Moreover, most European users can
- nowadays use font encodings which display diacritic characters directly
- instead of having to rely on Latex-Suite's method of displaying
- diacritics.
-
- Set the g:Tex_Diacritics [|ls_a_df|] variable to enable diacritics.
-
-
-
---------------------------------------------------------------------------------
-BibTeX Shortcuts *ls_3_8* *ls_a_bx*
- *bibtex-bindings*
-
-Latex-Suite provides an easy way of entering bibliographic entries. Four
-insert-mode mappings: BBB, BBL, BBH and BBX are provided, all of which
-essentially act in the same manner. When you type any of these in insert-mode,
-you will get a prompt asking you to choose a entry type for the bibliographic
-entry.
-
-When you choose an entry type, a bibliographic entry template will be inserted.
-For example, if you choose the option 'book' via the map BBB, then the following
-template will be inserted: >
- @BOOK{<+key+>,
- author = {<++>},
- editor = {<++>},
- title = {<++>},
- publisher = {<++>},
- year = {<++>},
- otherinfo = {<++>}
- }<++>
-
-
-<+key+> will be highlighted in select-mode and you can type in the bib-key.
-After that you can use <Ctrl-J> to navigate to successive locations in the
-template and enter new values.
-
-BBB inserts a template with only the fields mandatorily required for a given
-entry type. BBL inserts a template with commonly used extra options. BBH inserts
-a template with more options which are not as commonly used. BBX inserts a
-template with all the fields which the entry type supports.
-
-NOTE: Mnemonic
- --------
- B for Bibliographic entry, L for Large entry, H for Huge entry, and X
- stands for all eXtras.
-
-
-
-
-Customizing Bib-TeX fields *ls_3_8_1* *ls_a_by*
- *adding-bib-options*
-
-If you wish the BBB command to insert a few additional fields in addition to the
-fields it creates, then you will need to define global variables of the form >
- g:Bib_{type}_options
-in you $VIM/ftplugin/bib.vim file, where {type} is a string like 'article',
-'book' etc. This variable should contain one of the letters defined in the
-following table
-
-Character Field Type~
-w address
-a author
-b booktitle
-c chapter
-d edition
-e editor
-h howpublished
-i institution
-k isbn
-j journal
-m month
-z note
-n number
-o organization
-p pages
-q publisher
-r school
-s series
-t title
-u type
-v volume
-y year
-
-For example, by default, choosing 'article' via BBB inserts the following
-template by default >
- @ARTICLE{<+key+>,
- author = {<++>},
- title = {<++>},
- journal = {<++>},
- year = {<++>},
- otherinfo = {<++>}
- }<++>
-However, if g:Bib_article_options is defined as 'mnp', then 'article' will
-insert the following template >
- @ARTICLE{<+key+>,
- author = {<++>},
- title = {<++>},
- journal = {<++>},
- year = {<++>},
- month = {<++>},
- number = {<++>},
- pages = {<++>},
- otherinfo = {<++>}
- }<++>
-
-
-If you have some other fields you wish to associate with an article which are
-not listed above, then you will have to use the Bib_{type}_extrafields option.
-This is a newline separated string of complete field names which will be
-included in the template. For example, if you define >
- let g:Bib_article_extrafields = "crossref\nabstract"
-then the article template will include the lines >
- crossref = {<++>},
- abstract = {<++>},
-
-
-NOTE: You will need to define Bib_* settings in your
- $VIMRUNTIME/ftplugin/bib.vim file.
-
-
-
---------------------------------------------------------------------------------
-Smart Key Mappings *ls_3_9* *ls_a_bz*
- *smart-keys*
-
-Latex-Suite ships with the following smart keys:
-
-Smart Backspace
----------------
- *smart-backspace* *ls_a_dZ*
-Pressing <BS> in insert mode checks to see whether we are just after something
-like \'{a} and if so, deletes all of it. i.e, diacritics are treated as single
-characters for backspacing.
-
-Smart Quotes
-------------
-Pressing " (English double quote) will insert `` or '' by making an intelligent
-guess about whether we intended to open or close a quote.
-
-Smart Space
------------
-Latex-Suite maps the <space> key in such a way that $ characters are not broken
-across lines. It does this by first setting tw=0 so that Vim will not
-automatically break lines and then maps the <space> key to insert newlines
-keeping $$'s on the same line.
-
-Smart Dots
-----------
-Pressing ... (3 dots) results in \ldots outside math mode and \cdots in math
-mode.
-
---------------------------------------------------------------------------------
-Alt Key Macros *ls_3_10* *ls_a_bA*
- *altkey-mappings*
-
-Latex-Suite utilizes a set of macros originally created by Carl Mueller in
-auctex.vim to make inserting all the \left ... \right stuff very easy and to
-also make some use of the heavily under-utilized <Alt> key.
-
-NOTE: By default, typing Alt-<key> in Vim takes focus to the menu bar if a menu
- with the hotkey <key> exists. If in your case, there are conflicts due to
- this behavior, you will need to set >
- set winaltkeys=no
-< in your $VIM/ftplugin/tex.vim in order to use these maps.
-
-
-NOTE: Customizing the maps
- --------------------
- If for some reason, you wish to not map the <Alt> keys, (some European
- users need to use the <Alt> key to enter diacritics), you can change these
- maps to other keys as described in the section Customizing Alt-key maps
- [|ls_a_cx|].
-
-
-
-
-<Alt-L> *ls_3_10_1* *ls_a_bB* *Alt-L*
-
-This is a polymorphic insert-mode mapping which expands to one of the following
-depending on the character just before the cursor location.
-
-Character before cursor Expansion~
-( \left( <++> \right)
-[ \left[ <++> \right]
-| \left| <++> \right|
-{ \left\{ <++> \right\}
-< \langle <++> \rangle
-q \lefteqn{<++>}<++>
-
-If the character before the cursor is none of the above, then it will simply
-insert a \label{<++>}<++>.
-
-
-<Alt-B> *ls_3_10_2* *ls_a_bC* *Alt-B*
-
-This insert-mode mapping encloses the previous character in \mathbf{}.
-
-
-<Alt-C> *ls_3_10_3* *ls_a_bD* *Alt-C*
-
-In insert mode, this key is polymorphic as follows:
-
-
-1. If the previous character is a letter or number, then capitalize it and
- enclose it in \mathcal{}.
-
-2. otherwise insert \cite{}.
-In visual mode, it will simply enclose the selection in \mathcal{}
-
-
-<Alt-I> *ls_3_10_4* *ls_a_bE* *Alt-I*
-
-This mapping inserts an \item command at the current cursor location depending
-on which environment the cursor is enclosed in. The style of the \item command
-is dependent on the enclosing environment. By default, <Alt-I> has styles
-defined forthe following environments:
-
-Environment Style~
-itemize \item
-enumerate \item
-theindex \item
-thebibliography \item[<+biblabel+>]{<+bibkey+>} <++>
-description \item[<+label+>] <++>
-
-<Alt-I> is intelligent enough to account for nested environments. For example, >
- \begin{itemize}
- \item first item
- \item second item
- \begin{description}
- \item[label1] first desc
- \item[label2] second
- % <Alt-I> will insert "\item[<+label+>] <++>" if
- % used here
- \end{description}
- \item third item
- % <Alt-I> will insert "\item " when if used here.
- \end{itemize}
- % <Alt-I> will insert nothing ("") if used here
-<
-
-The style used by <Alt-I> can be customized using the
-g:Tex_ItemStyle_environment [|ls_a_dl|] variable.
-
---------------------------------------------------------------------------------
-Custom Macros *ls_3_11* *ls_a_bF*
- *custom-macros-menu*
-
-This functionality available via the TeX-Suite.Macros menu, provides a way of
-inserting customized macros into the current file via the menu.
-
-When Latex-Suite starts up, it scans the $VIM/ftplugin/latex-suite/macros/
-directory and creates a menu from the files found there. Each file is considered
-as a single macro. You can place your own macros in this directory, using
-placeholders [|ls_a_eD|] if wanted.
-
-When you choose a macro from the menu, the corresponding file is read into the
-current buffer after the current cursor position. In non-gui mode, you can use
-the |TMacro| command instead of choosing from the menu. This command takes the
-macro file name as an argument. When called without arguments (preferred usage),
-then a list of available macro files is displayed and the user is prompted to
-choose one of them).
-
-There are some other tools provided in this menu, namely:
-
-
-{New} Creates a new (unnamed) buffer in the latex-suite/macros/ directory.
- Use the command :TexMacroNew in non-gui mode.
-{Edit} Opens up the corresponding macro file for editing. Use |:TexMacroEdit|
- in non-gui mode. When you try to edit {macro} not from local directory
- Latex-Suite will copy it to your local directory with suffix "-local".
- If local copy already exists Latex-Suite prompt for overwriting it.
-{Delete} Deletes the corresponding macro. Use the prefixed numbers for fast
- navigation of menus. Use |:TexMacroDelete| in non-gui mode. When you
- choose to delete {macro} which is not in your local directory
- Latex-Suite will refuse to delete it.
-{Redraw} Rescans the macros/ directories and refreshes the macros list.
-
---------------------------------------------------------------------------------
-Making your own Macros via IMAP() *ls_3_12* *ls_a_bG*
- *ls-new-macros*
-
-If you find the need to create your own macros, then you can use the IMAP()
-function provided with Latex-Suite. See [|ls_a_bH|] for a short explanation of
-why you might prefer IMAP() over Vim's standard :imap command. An example best
-explains the usage: >
- :call IMAP('NOM', '\nomenclature{<++>}<++>', 'tex')
-This will create a Latex-Suite-style mapping, where if you type NOM in insert
-mode, you will get \nomenclature{<++>}<++> with the cursor left in place of the
-first <++> characters. See [|ls_a_bI|] for a detailed explanation of the IMAP()
-command.
-
-For maps which are triggered for a given filetype, the IMAP() command above
-should be put in the filetype plugin script for that file. For example, for
-tex-specific mappings, the IMAP() calls should go in $VIM/ftplugin/tex.vim. For
-globally visible maps, you will need to use the following in either your
-~/.vimrc or a file in your $VIM/plugin directory. >
- augroup MyIMAPs
- au!
- au VimEnter * call IMAP('Foo', 'foo', '')
- augroup END
-
-
-
-
-Why use IMAP() *ls_3_12_1* *ls_a_bH*
- *why-IMAP*
-
-Using IMAP instead of Vim's built-in :imap command has a couple of advantages:
-1. The 'ttimeout' option will generally limit how easily you can type the left
- hand side for a normal :imap. if you type the left hand side too slowly, then
- the mapping will not be activated.
-
-2. If you mistype one of the letters of the lhs, then the mapping is deactivated
- as soon as you backspace to correct the mistake.
-
-3. The characters in lhs are shown on top of each other. This is fairly
- distracting. This becomes a real annoyance when a lot of characters initiate
- mappings.
-
-
-IMAP() syntax *ls_3_12_2* *ls_a_bI*
- *ls-imaps-syntax*
-
-Formally, the syntax which is used for the IMAP function is: >
- call IMAP (lhs, rhs, ft [, phs, phe])
-
-
-Argument Explanation~
-lhs This is the "left-hand-side" of the mapping. When you use IMAP, only
- the last character of this word is actually mapped, although the
- effect is that the whole word is mapped.
-
- If you have two mappings which end in a common lhs, then the mapping
- with the longer lhs is used. For example, if you do >
- call IMAP('BarFoo', 'something', 'tex')
- call IMAP('Foo', 'something else', 'tex')
-< Then typing BarFoo inserts "something", whereas Foo by itself inserts
- "something else".
-
- Also, the nature of IMAP() makes creating certain combination of
- mappings impossible. For example if you have >
- call IMAP('foo', 'something', 'tex')
- call IMAP('foobar', 'something else', 'tex')
-< Then you will never be able to trigger "foobar" because typing "foo"
- will immediately insert "something". This is the "cost" which you
- incur over the normal :imap command for the convenience of no
- 'timeout' problems, the ability to correct lhs etc.
-
-
-rhs The "right-hand-side" of the mapping. This is the expansion you will
- get when you type lhs.
-
- This string can also contain special characters such as <enter> etc.
- To do this, you will need to specify the second argument in
- double-quotes as follows: >
- :call IMAP('EFE', "\\begin{figure}\<CR><++>\\end{figure}<++>", 'tex')
-< With this, typing EFE is equivalent to typing in the right-hand side
- with all the special characters in insert-mode. This has the advantage
- that if you have filetype indentation set up, then the right hand side
- will also be indented just as if you had typed it in normally.
-
- *IMAP_PutTextWithMovement* *ls_a_ea*
- You can also set up a Latex-Suite style mapping which calls a custom
- function as follows: >
- :call IMAP('FOO', "\<C-r>=MyFoonction()\<CR>", 'tex')
-< where MyFoonction is a custom function you have written. If
- MyFoonction also has to return a string containing <++> characters,
- then you will need to use the function IMAP_PutTextWithMovement(). An
- example best explains the usage:
-
- >
- call IMAP('FOO', "\<C-r>=AskVimFunc()\<CR>", 'vim')
- " Askvimfunc: Asks For Function Name And Sets Up Template
- " Description:
- function! AskVimFunc()
- let name = input('Name of the function : ')
- if name == ''
- let name = "<+Function Name+>"
- end
- let islocal = input('Is this function scriptlocal ? [y]/n : ', 'y')
- if islocal == 'y'
- let sidstr = '<SID>'
- else
- let sidstr = ''
- endif
- return IMAP_PutTextWithMovement(
- \ "\" ".name.": <+short description+> \<cr>" .
- \ "Description: <+long description+>\<cr>" .
- \ "\<C-u>function! ".name."(<+arguments+>)<++>\<cr>" .
- \ "<+function body+>\<cr>" .
- \ "endfunction \" "
- \ )
- endfunction
-<
-
-
-ft The file type for which this mapping is active. When this string is
- left empty, the mapping applies for all file-types. A filetype
- specific mapping will always take precedence.
-
-
-phs, phe If you prefer to write the rhs with characters other than <+ and +> to
- denote place-holders, you can use the last 2 arguments to specify
- which characters in the rhs specify place-holders. By default, these
- are <+ and +> respectively.
-
- Note that the phs and phe arguments do not control what characters
- will be displayed for the placeholders when the mapping is actually
- triggered. What characters are used to display place-holders when you
- trigger an IMAP are controlled by the Imap_PlaceHolderStart
- [|ls_a_cV|] and Imap_PlaceHolderEnd [|ls_a_er|] settings.
-
-
-
-================================================================================
-Package Handling *ls_4* *ls_a_bJ*
- *latex-packages*
-
-|ls_4_1| Inserting package commands
-|ls_4_2| Actions taken for supported packages
-|ls_4_3| Automatic Package detection
-|ls_4_4| Writing supporting for a package
-
-
-Latex-Suite has a lot of functionality written to ease working with packages.
-Packages here refers to files which you include into the LaTeX document using
-the \usepackage command.
-
-
---------------------------------------------------------------------------------
-Inserting package commands *ls_4_1* *ls_a_bK*
- *inserting-packages*
-
-When you first invoke Latex-Suite, it scans the
-$VIM/ftplugin/latex-suite/packages directory for package script files and
-creates a menu from all the files found there. This menu is created under
-TeX-Suite > Packages > Supported. This menu contains a list of packages
-"supported" by Latex-Suite. When you choose one of the packages from this menu
-(for example the amsmath package), then a line of the form >
- \usepackage[<++>]{amsmath}<++>
-will be inserted into the current file.
-
-The \usepackage line can also be inserted in an easy manner in the current file
-by pressing <F5> while in the preamble of the current document. This will set up
-a prompt from the supported packages and ask you to choose from one of them. If
-you do not find the package you want to insert in the list, you can type in a
-package-name and it will use that. Pressing <F5> in the preamble on a line
-containing a single word will construct a \usepackage line from that word.
-
-You can also use the TPackage [|ls_a_cD|] to insert the \usepackage line.
-
-Once you have inserted a \usepackage line, for supported packages, you can use
-the Options and Commands menus described in the next section [|ls_a_bL|].
-
---------------------------------------------------------------------------------
-Actions taken for supported packages *ls_4_2* *ls_a_bL*
- *package-actions*
-
-Latex-Suite takes the following actions for packages detected when a file is
-loaded, or a new \usepackage line is inserted using one of the methods described
-in the previous section [|ls_a_bK|].
-
-If you are using the GUI and you have g:Tex_Menus [|ls_a_dI|] set to 1,
-Latex-Suite will create the following sub-menus
-TeX-Suite > Packages > <package> Options
-
-TeX-Suite > Packages > <package> Commands
-
-where <package> is the package you just inserted (or was detected). You can use
-these menus to insert commands, environments and options which Latex-Suite
-recognizes as belonging to this package.
-
-NOTE: While inserting an option, you need to position yourself in the
- appropriate place in the document, most commonly inside the square braces
- in the \usepackage[]{packname} command. Latex-Suite will not navigate to
- that location.
-
-
-In addition to creating these sub-menus, Latex-Suite will also scan the
-$VIM/ftplugin/latex-suite/dictionaries directory and if a dictionary file
-corresponding to the package file is found, then it will add the file to the
-'dict' setting in Vim so you can use the <C-X><C-K> command to complete words
-from that file.
-
-For example, the SIUnits package has a custom dictionary.
-
- *latex-package-scanning* *ls_a_eb*
-If a package detected at startup is found by Latex-Suite in the current
-directory or in a location specified by the g:Tex_TEXINPUTS [|ls_a_dT|]
-variable, Latex-Suite will scan the package for \newenvironment and newcommand
-lines and also append any commands and environments found to the list of
-commands and environments which you are prompted with when you press <F5>
-[|ls_a_bh|] or <F7> [|ls_a_dW|] in insert mode.
-In addition, the TeX-Suite > Packages menu also contains the following submenus
-
-Update
-------
-This command is to be invoked with the cursor placed on the package name. If the
-corresponding package is found, then a sub-menu with the supported commands and
-options is created.
-
-Update All
-----------
-This function reads the preamble of the document for \usepackage lines and if
-Latex-Suite supports the detected packages, then sub-menus containing the
-package options and commands are created.
-
-
---------------------------------------------------------------------------------
-Automatic Package detection *ls_4_3* *ls_a_bM*
- *automatic-package-detection*
-
-Whenever Latex-Suite begins editing a new LaTeX file, it scans it for
-\usepackage{name} lines, and if a supported package is found, then it will
-create sub-menus and add to the 'dict' setting as described above.
-
-If a master-file [|ls_a_ct|] has been specified, then it will scan that file
-instead of the current file. See the section Custom Packages [|ls_a_bN|] to see
-which files Latex-Suite will scan in more detail.
-
-For all the packages detected in this manner, Latex-Suite will take certain
-actions as described in the section package support. [|ls_a_bL|].
-
-
-
-Custom Packages *ls_4_3_1* *ls_a_bN*
- *custom-packages*
-
-Often times, the preamble can become too long, and some people prefer to put
-most of their personalization in a custom package and include that using a
-\usepackage line. Latex-Suite tries to search such customs package for other
-\usepackage lines, so that supported packages included in this indirect manner
-can also be used to create sub-menus, extend the 'dict' setting etc. The most
-obvious place to place such custom packages is in the same directory as the
-edited file. In addition, LaTeX also supports placing custom packages in places
-pointed to by the $TEXINPUTS environment variable.
-
-If you use the $TEXINPUTS variable in LaTeX, and you wish Latex-Suite to search
-these custom packages for \usepackage lines, then you need to initialize the
-g:Tex_TEXINPUTS [|ls_a_dT|] variable.
-
-The g:Tex_TEXINPUTS variable needs to be set in the same format which Vim uses
-for the 'path' setting. This format is explained in detail if you do >
- :help file-searching
-from within Vim.
-
-Therefore the value of g:Tex_TEXINPUTS will most probably be different from
-$TEXINPUTS which your native LaTeX distribution uses.
-
-Example: >
- let g:Tex_TEXINPUTS = '~/texmf/mypackages/**,./**'
-The ** indicates that all directories below the directory ~/texmf/mypackages and
-./ are to be scanned for custom packages.
-
-NOTE: The present directory '.' is always searched. You need not include that in
- g:Tex_TEXINPUTS.
-
-
-
---------------------------------------------------------------------------------
-Writing supporting for a package *ls_4_4* *ls_a_bO*
- *supporting-packages*
-
-Supporting a package is easy and consists of writing a vim script with the same
-name as the package and placing it in the $VIM/ftplugin/latex-suite/packages
-directory. A package script should define two variables as described in the next
-two sections. In addition to these two variables, you can also define any
-functions, environment definitions etc. in this file.
-
-
-
-g:Tex_package_option_<package> *ls_4_4_1* *ls_a_bP*
-
-This setting is a string containing a comma separated list of options supported
-by this package.
-
-Example: >
- g:Tex_package_option_mypack = 'opt1,opt2=,sbr:group1,opt3,opt4'
-The = suffix means that the option takes a value. Use sbr:group name to separate
-options into sub-menus. All successive options will be clubbed into the group1
-sub-menu till the next sbr: option is encountered.
-
-
-g:Tex_package_<package> *ls_4_4_2* *ls_a_bQ*
-
- >
-
- g:TeX_package_<package> = "pre:Command,pre:Command1"
- More detailed example is in latex-suite/packages/exmpl file (slightly
- outdated).
- Here is short summary of prefixes which can be used in package files:
- (x - place with cursor, <++> - |placeholder|)
-
- {env:command} Environment: creates simple environment template
- \begin{command}
- x
- \end{command}<++>
- {eno:command} Environment with option:
- \begin[x]{command}
- <++>
- \end{command}<++>
- {ens:command[<<option>>]...} Environment special:
- \begin[<<option>>]...{command}
- <++>
- \end{command}<++>
- {bra:command} Brackets:
- \command{x}<++>
- {brd:command} Brackets double:
- \command{x}{<++>}<++>
- {brs:command[<<option>>]...} Brackets special (as environment special:
- \command[<+x+>]{<++>}{<++>}<++>
- {nor:command} Normal:
- \command<Space
- {noo:command} Normal with option:
- \command[x]<++>
- {nob:command} Normal with option and brackets:
- \command[x]{<++>}<++>
- {pla:command} Plain:
- command<Space
- {spe:command} Special:
- command <-literal insertion of command
- {sep:command} creates separator. Good for aesthetics and usability :)
- {sbr:command} Breaks menu into submenus. <command> will be title of submenu.
- Can be used also in package variable.
-
- Command can be also given without prefix:. The result is
- \command
-
-
-
-================================================================================
-Latex Completion *ls_5* *ls_a_bR*
- *latex-completion*
-
-|ls_5_1| Latex-Suite completion example
-|ls_5_2| Latex-Suite \ref completion
-|ls_5_3| Latex-Suite \cite completion
-|ls_5_4| Latex-Suite filename completion
-|ls_5_5| Custom command completion
-
-
-Latex-Suite provides an easy way to insert references to labels and
-bibliographic entries and also provide filename arguments to commands such as
-\includegraphics. Although the completion capabilities are very diverse,
-Latex-Suite only uses a single key (<F9> by default) to do all of it. Pressing
-the <F9> key does different things based on where you are located. Latex-Suite
-tries to guess what you might be trying to complete at the location where you
-pressed <F9>. For example, pressing <F9> when you are within a \ref command will
-try to list the \label's in the present directory. Pressing it when you are in a
-\cite command will list bibliography keys. Latex-Suite also recognizes commands
-which need a file name argument and will put up an explorer window for you to
-choose a filename.
-
- *ls-set-grepprg* *ls_a_eG*
-NOTE: Before you start with Latex-Suite's completion function...
- ----------------------------------------------------------
- All of Latex-Suite's completion capabilities depend on a external program
- being available on your system which can search through a number of files
- for a reg-exp pattern. On *nix systems, the pre-installed grep utility is
- more than adequate. Most windows systems come with a utility findstr, but
- that has proven to be very inadequate (for one, it does not have an option
- to force the file name to be displayed when searching through a single
- file). Your best bet is to install cygwin |ls_u_3|, but if you think
- that's overkill, you can search for |ls_u_4| a windows implementation of
- GNU grep. (Latex-Suite testing on windows has been done with cygwin's port
- of GNU grep).
-
- Once you have a grep program installed, you need to set the 'grepprg'
- option for vim. Make sure you use a setting which forces the program to
- display file names even when you are searching through a single file. For
- GNU grep, the syntax is >
- set grepprg=grep\ -nH\ $*
-<
-
-
-
---------------------------------------------------------------------------------
-Latex-Suite completion example *ls_5_1* *ls_a_bS*
- *ls-completion-usage*
-
-Consider the situation where you are editing a file with two equations labelled
-eqn:euler and eqn:einstein. Now you want to insert a reference to one of these
-equations. To do this, you type the \ref{eqn:} command and with the cursor
-placed after eqn:, press <F9>. This will bring up two new windows beneath the
-main window you were working in as shown in the figure below. >
-
- 8 These are a couple of equations:
- 9 +-- 4 lines: eqnarray (eqn:euler) : e^{j\pi} + 1 &=& 0---------------
- 13 +-- 4 lines: equation (eqn:einstein) : E = m c^2---------------------
- 17
- 18 These are a couple of figures:
- 19 +-- 7 lines: figure (fig:monkeys) : Monkeys can Type-------------------
- 26 +-- 7 lines: figure (fig:shakespeare) : Shakespeare could not type-----
- 33
- 34 This is a reference to \ref{eqn:}<++>
- 35
- 36
- 37 \end{document}
- 38
- ~
- ~
- ~
- newfile.tex 34,32 Bot
- newfile.tex|11| \label{eqn:euler}
- newfile.tex|15| \label{eqn:einstein}
- ~
- [Error List] 1,1 All
- 7
- 8 These are a couple of equations:
- 9 \begin{eqnarray}
- 10 e^{j\pi} + 1 &=& 0
- 11 \label{eqn:euler}
- 12 \end{eqnarray}
- 13 \begin{equation}
- 14 E = m c^2
- 15 \label{eqn:einstein}
- 16 \end{equation}
- newfile.tex [Preview] 11,3 21%
-
-
-
-The first window (shown as [ErrorList] above) is a |cwindow| containing a list
-of possible matches for the reference. The cursor will be located in the first
-line of this window. The bottom window is a preview-window showing the context
-of the \label. Moving around in the [ErrorList] window automatically scrolls the
-preview window so as to always keep showing the context of the \label being
-viewed in the [ErrorList] window. You can also press J and K in the [ErrorList]
-window to scroll the preview window up and down.
-
-To insert one of the labels, simply position the cursor in the correct line in
-the [ErrorList] window and press <enter>. This will immediately close the two
-newly opened windows, get back to the correct location in the original file
-being edited and insert the label into the \ref command.
-
-If you notice carefully in the example above, the [ErrorList] window only showed
-the matches for the equations and did not list any of the figure labels. This is
-because we pressed <F9> after \ref{eqn: instead of simply after \ref{. This
-caused Latex-Suite to search only for those labels which started with the string
-eqn:. If you had pressed <F9> after a \ref{, you would have been shown matches
-from _all_ labels, not just those starting with eqn:.
-
-Thus prefixing all your labels with eqn:, fig:, tab: etc. depending on what you
-are labelling will lead to an easier time completing references.
-
---------------------------------------------------------------------------------
-Latex-Suite \ref completion *ls_5_2* *ls_a_bT*
- *ls-completion-ref*
-
-Pressing <F9> when you are within a partially completed \ref command will split
-open a window (named __OUTLINE__) which contains a nicely formatted list of all
-the \labels found in the present project. The \labels are heirarchically
-arranged according to which \section, \subsection etc of the overall document
-structure they are present in. For example, when you first press <F9> after
-typing \ref{, you should see something like: >
-
- +-- 54 lines: 2. Kinematics--------------------------------
- +-- 98 lines: 3. Aerodynamics of the MFI thorax------------
- +-- 40 lines: 4. Jump Resonance in Fourbar Mechanisms------
- +-- 28 lines: 5. Design and Fabrication Issues-------------
-
-Each chapter is |fold|ed away so that you can quickly jump to the correct
-section/subsection in which the relevant equation is defined. This makes
-inserting references significantly faster for large projects with hundreds of
-equations. You can then open some of the folds to see for example: >
-
- +-- 54 lines: 2. Kinematics--------------------------------
- 3. Aerodynamics of the MFI thorax
- 3.1. Aerodynamic modeling of the MFI wing forces
- 3.1.1. Geometric Specification
- eqn:wingnormal-pos
- \nhat = T_z(\theta_2) T_y(\theta_y)T_x(\theta_x)\nhat_0,
- eqn:T-1
- T_1(\theta_2) &=& T_z(\theta_2)
-
-The <Tab> key is mapped in this window to toggle folds so that you can quickly
-open/close folds in order to navigate the heirarchy faster. Once you are
-positioned on a label, press <Enter>. This closes the __OUTLINE__ window,
-returns to the window in which you pressed <F9> and inserts the reference at the
-current cursor position.
-
-NOTE: Filtering labels by prefix
- --------------------------
- You can press <F9> after typing part of the \label. In this case,
- Latex-Suite only presents \labels which begin with the already filled
- characters. You can use this to choose between equations, figures, tables
- etc. if you consistently label equations to begin with eqn:, figures to
- begin with fig: etc. For example, with this scheme, pressing <F9> after
- typing \ref{eqn: will only list equations.
-
-
-NOTE: Latex-Suite works the same way if you press <F9> after any command which
- contains the letters ref. Thus you can complete \eqref in exactly the same
- manner.
-
-
-NOTE: Requirements
- ------------
- This method of preseting the \labels depends on Vim being compiled with
- python support. To check if you have this, see the output of the :ver
- command. If you see something like +python, you are all set. Failing this,
- you will need to have python somewhere in your $PATH.
-
-
-
---------------------------------------------------------------------------------
-Latex-Suite \cite completion *ls_5_3* *ls_a_bU*
- *latex-completion-cite*
-
-Latex-Suite provides an easy way to insert references to bibliographic entries.
-Pressing <F9> when the cursor is placed inside a partially completed \cite
-command will split open a new window (named __OUTLINE__) which contains a
-formatted and syntax highlighted list of all bibtex entries found. For example,
-pressing <F9> after typing \ref{ should present you with a window which looks
-something like this: >
-
- Article [dickinson:science:99]
- "Wing rotation and aerodynamic basis of insect flight"
- M. H. Dickinson and F-O. Lehman and S. P. Sane
- In Science, 1999
-
- Article [ellington:84:part1]
- "The Aerodynamics of Hovering Insect Flight. I. The Quasi-Steady Analysis"
- Ellington, C P
- In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984
-
- Article [ellington:84:part2]
- "The Aerodynamics of Hovering Insect Flight. II. Morphological Parameters"
- Ellington, C P
- In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984
-
-
-
-You can easily jump from one entry to another using the 'n' and 'p' keys (to go
-to the next / previous entry respectively).
-
-You can also filter out a subset of the bibtex entries by pressing 'f' while in
-this window. Doing this presents the following prompt: >
-
- Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)
- [t] title [a] author [b] booktitle
- [j] journal [y] year [p] bibtype
- (you can also enter the complete field name)
- Enter filter criterion [field<space>value]:
-
-At the prompt, type >
- a ellington
-Notice that the letter a is an acronym for author according to the prompt above.
-Therefore this filter only shows those bibtex entries whose author field
-contains the text ellington. You can keep narrowing your selection by repeatedly
-filtering the results. If you would like to remove all the filters and see all
-entries again, press 'a', which removes all the filters.
-
-You can also sort the bibtex entries based on a field. To do this, press 's'.
-This will present you with a prompt like in the case of the filter and you are
-asked to choose a field. In this case, you would type in a single character.
-This sorts the entries according to that field.
-
-NOTE: <F9> will also work in a similar way after any command which contains the
- word cite in it. For example, pressing <F9> will also work with \citenum
- etc.
-
-
-The following logic is applied to find out which bibliographic entries are
-included in the completion.
-
-
-1. Firstly, if the present file has a master-file [|ls_a_ct|] defined for it,
- then Latex-Suite will perform the following steps on that file instead of on
- the current file.
-
-2. First, the file is scanned for a \bibliography command. To explain better,
- assume that a command >
- \bibliography{file1,file2}
-< is found in the present file. For each bibliography file, say file1,
- Latex-Suite first tries to see if a .bib file, file1.bib can be found. If so,
- it will scan it for bib-keys of the form @BOOK{ etc., and add these searches
- to the completion list. If a .bib file cannot be found, then it will try to
- see if file1.bbl can be found. If so, Latex-Suite will search it for bib-keys
- of the form \bibitem and add these to the completion list.
-
- You can set the location where Latex-Suite will search for .bib and .bbl
- files using the |Tex_BIBINPUTS| [|ls_a_dr|] variable.
-
-3. If a \bibliography command is not found, then Latex-Suite tries to scan the
- present file for a \begin{thebibliography} environment. If found, Latex-Suite
- searches the present file for bib-keys of the form \bibitem.
-
-4. Finally, it will try to see if this file includes other files via the \input
- command. For each such file found, Latex-Suite will repeat the previous two
- steps stopping at the first file which has either a \bibliography command or
- a thebibliography environment.
-
-
-Caching the \cite completion results *ls_5_3_1* *ls_a_bV*
- *cite-search-caching*
-
- *TClearCiteHist* *ls_a_ec*
-Often times, the editing cycle proceeds by first laying out a comprehensive
-bibliography and then completing all the \cite commands in one session. In such
-situations, it is inefficient to scan the whole list of bibliography files for
-bib-keys each time. Latex-Suite provides a way to cache the results of the cite
-completion search using the Tex_RememberCiteSearch [|ls_a_du|] variable. If set,
-Latex-Suite will perform the search only the first time <F9> is used. Next time
-on, it will reuse the search results. If you wish to redo the search results,
-issue the command >
- TClearCiteHist
-This will redo the completion list next time you use <F9>.
-
---------------------------------------------------------------------------------
-Latex-Suite filename completion *ls_5_4* *ls_a_bW*
- *ls-filename-completion*
-
-When you press <F9> at a location where Latex-Suite guesses a filename needs to
-be typed, then a new explorer window will open up with the list of files. You
-can use this window to change directories etc. Pressing <enter> on a filename in
-the explorer window will automatically close the explorer window, return to the
-location where you pressed <F9> from and insert the filename into that position.
-
-Latex-Suite also tries to guess what kinds of files you might not want to insert
-and hides those accordingly. For example, if you press <F9> when you are located
-at \includegraphics{, then Latex-Suite knows that you will not want to insert
-.tex files. Therefore, the explorer window will automatically hide these files.
-
-As of now, Latex-Suite recognizes the following commands for filename
-completion. Along with the commands, this table also lists the files which
-Latex-Suite will not show for completing each command.
-
-command hide pattern~
-\bibliography '^\.,\.[^b]..$'
-\include \includeonly '^\.,\.[^t]..$'
-\includegraphics \psfig '^\.,\.tex$,\.bib$,\.bbl$,\.zip$,\.gz$'
-\input ''
-
---------------------------------------------------------------------------------
-Custom command completion *ls_5_5* *ls_a_bX*
- *ls-completion-custom*
-
-Latex-Suite also recognizes certain commonly used LaTeX commands for the <F9>
-key. At the moment, the \bibliographystyle, \addtocontents and the
-\addcontentsline commands are recognized, although more will be added in the
-future. When you press the <F9> after such a command, Latex-Suite will prompt
-you with a list of arguments which make sense for the command.
-
-This functionality is available for commands for which a global variable of the
-form g:Tex_completion_{<command>} is defined where <command> is the command
-name. This variable is a comma separated list of values which this command
-takes. For example, the argument to the \bibliographystyle command is commonly
-one of abbr,alpha,plain,unsrt. Therefore, Latex-Suite defines >
- let g:Tex_completion_bibliographystyle = 'abbr,alpha,plain,unsrt'
-You can define your own completion variables in a similar manner for commands
-which you might use.
-
-================================================================================
-LaTeX Compiling *ls_6* *ls_a_bY*
- *latex-compiling*
-
-|ls_6_1| Setting Compilation rules
-|ls_6_2| Handling dependencies in compilation
-|ls_6_3| Compiling multiple times
-|ls_6_4| Customizing the compiler output
-|ls_6_5| Compiling parts of a file
-
-
-This functionality, available via the TeX-Suite menu, provides various tools to
-compile and debug LaTeX files from within Vim.
-
-If you are using commonly used LaTeX tools, then you should be all set as soon
-as you download and install Latex-Suite. In order to compile a LaTeX file,
-simply press \ll while editing the file. This runs latex on the current file and
-displays the errors in a |quickfix-window| below the file being edited. You can
-then scroll through the errors and press <enter> to be taken to the location of
-the corresponding error. Along with the errors being listed in the quickfix
-window, the corresponding log file is also opened in |preview| mode beneath the
-quickfix window. It is scrolled automatically to keep in sync with the error
-being viewed in the quickfix window. You will be automatically taken to the
-location of the first error/warning unless you set the g:Tex_GotoError
-[|ls_a_dD|] variable to 0.
-
-Latex-Suite also supports compiling LaTeX into formats other than DVI. By
-default, Latex-Suite supports PDF and PS formats. In order to choose a format
-other than DVI, use the TTarget command or the TeX-Suite > Target Format menu
-item. This will ask you to type in the name of the target format you want to
-compile to. If a rule has been defined for the format (as described in the next
-section [|ls_a_bZ|]), then Latex-Suite will switch to that format.
-
-Trying to choose a format for which no rule has been defined will result in
-Latex-Suite displaying a warning message without taking any action.
-
-If you are using a multiple file project and need to compile a master file while
-editing other files, then Latex-Suite provides a way to specify the file to be
-compiled as described in latex-master-file [|ls_a_ct|].
-
-
---------------------------------------------------------------------------------
-Setting Compilation rules *ls_6_1* *ls_a_bZ*
- *compiler-rules*
-
-In order to compile LaTeX files into various formats, Latex-Suite needs to know
-which external programs to call and in which way they need to be called. This
-information is provided to Latex-Suite via a number of "rules". For each format
-you want to compile to, you need to specify a rule. A rule is specified by
-defining a variable of the form: >
- g:Tex_CompileRule_<format>
-where <format> is a string like "pdf", "dvi" etc.
-
-Example: By default, Latex-Suite uses the following rule for compiling LaTeX
-documents into DVI. >
- g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
-
-
-Default values are also provided for ps and pdf formats. You might want to
-change these rules in texrc according to your local tex environment.
-
-NOTE: For win32 users user MikTeX, sometimes the latex compiler's output has a
- bug where a single number is split across different lines. In this case,
- put the included vim-latex file distributed with Latex-Suite.
-
-
-
---------------------------------------------------------------------------------
-Handling dependencies in compilation *ls_6_2* *ls_a_ca*
- *compiler-dependency*
-
-Latex-Suite also handles compiling dependencies automatically via certain rules
-which specify the "dependency chain" for each target format. For example, if in
-your case, you use >
- .tex -> .dvi -> .ps -> .pdf
-to generate pdf files from dvi files, then you will need to specify the
-following setting in your Latex-Suite configuration (see customizing Latex-Suite
-[|ls_a_cP|] for where these settings should go): >
-
- let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
-
-This is a comma separated string of formats specifying the order in which the
-formats to be compiled into should be chosen. With this setting, if you set the
-target format to pdf, then the next time you compile via the \ll shortcut,
-Latex-Suite will first generate a dvi file, then use that to generate the ps
-file and finally create the pdf file from that.
-
-NOTE: If any of the intermediate formats is listed in the
- g:Tex_MultipleCompileFormats setting as described in the section Compiling
- multiple times [|ls_a_cb|], then Latex-Suite might make multiple calls to
- the compiler to generate the output file of that format.
-
-
-Along with the g:Tex_FormatDependency_{format} setting, you should ofcourse
-specify the rule for compiling to each of the formats as described in the
-previous section [|ls_a_bZ|]. For example, with the setting above, you could
-use: >
-
- let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
- let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
- let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
-
-
-NOTE: By default, Latex-Suite does not specify any compiler dependencies. Each
- target format for which a rule has been derived will be compiled
- independently.
-
-
-
---------------------------------------------------------------------------------
-Compiling multiple times *ls_6_3* *ls_a_cb*
- *compiling-multiple*
-
-Most LaTeX compilers need to be re-run several times in several commonly
-occurring situations in order to get a final camera ready copy. For example,
-when \label's change, when new \cite commands are added etc. If the target
-format you are compiling to requires multiple compilations, then you will need
-to include the format in the g:Tex_MultipleCompileFormats setting. This is a
-comma separated string of formats which need multiple compilations to be
-generated correctly.
-
-By default, this setting contains just the dvi format. If you use the pdflatex
-compiler to generate pdf files, then you might want to also include pdf into the
-above setting.
-
-For every format included in the g:Tex_MultipleCompileFormats setting described
-above, Latex-Suite will use the following logic to generate the file. Note that
-although the following description uses latex to refer to the compiler, it could
-be some other compiler such as pdflatex for generating pdf output.
-
-1. If there was a .idx file, then remember its contents.
-
-2. Run latex.
-
-3. If the .idx file changed due to the latex compiler, then run makeindex to
- redo the .ind file and then remember to rerun latex.
-
-4. If the .aux file generated by the latex compiler contains a \bibdata line,
- then it means that we are using a .bib file. Therefore, run bibtex.
-
- NOTE: This means that we will always run bibtex whenever we use the
- \bibliography command whether or not we actually need to. At this time,
- Latex-Suite does not parse the .aux file before and after the latex
- compiler to see if we are required to rerun bibtex.
-
-5. If the .bbl file changes because of this, then remember to rerun latex again.
-
-6. Also, we check to see if the LaTeX compiler gives certain standard warnings
- which notify that we need to compile once again. In this case also, remember
- to rerun LaTeX.
-
-7. If we found we had to rerun latex, then we repeat the steps above but not
- running makeindex or bibtex again.
-
-The LaTeX file is compiled atmost 5 times using this logic. These steps will
-ensure that on most platforms/environments, you will get a clean output with all
-the cross-references, citations etc correctly labelled and ordered.
-
---------------------------------------------------------------------------------
-Customizing the compiler output *ls_6_4* *ls_a_cc*
- *compiler-output-customization*
-
-Most LaTeX compilers produce a very large amount of output during compilation,
-most of which is not relevant to debugging type-setting errors. The compiler
-plugin provided with Latex-Suite (which is an enhanced version of the standard
-compiler plugin maintained by Artem Chuprina), provides a way to filter the
-compiler output so that the actual errors/warnings can be presented much more
-concisely.
-
-The compiler plugin is set up by default to function in a "non-verbose",
-"ignore-common-warnings" mode, which means that irrelevant lines from the
-compiler output will be ignored and some very common warnings are also ignored.
-Latex-Suite does this via the global variable g:Tex_IgnoredWarnings [|ls_a_dA|].
-This is a list of patterns, which can be used to filter out (or ignore) some or
-the warnings and errors reported by the compiler. See the link above for its
-default value.
-
-Latex-Suite uses the g:Tex_IgnoreLevel [|ls_a_dB|] setting to set a default
-ignore level. For example, for the default value of 4, Latex-Suite ignores
-warnings and errors matching the first 4 patterns in g:Tex_IgnoredWarnings.
-
-In addition to setting a default value of the ignore level, Latex-Suite provides
-the ability to set the level dynamically, using the TCLevel command. For
-example, if you issue the command: >
- TCLevel 3
-from within Vim, then the next time you compile the document, Latex-Suite will
-ignore warnings and errors which match the first three patterns in
-g:Tex_IgnoredWarnings.
-
-When TCLevel is called with the unquoted string strict as follows: >
- TClevel strict
-then Latex-Suite switches to a "verbose", "no-lines-ignored" mode which is
-useful when you want to make final checks of your document and want to be
-careful not to let things slip by.
-
-See the explanation of the settings g:Tex_IgnoredWarnings [|ls_a_dA|] and
-g:Tex_IgnoreLevel [|ls_a_dB|] to find out how to customize the filtering done by
-Latex-Suite
-
---------------------------------------------------------------------------------
-Compiling parts of a file *ls_6_5* *ls_a_cd*
- *part-compiling*
-
-Latex-Suite also provides a way to compile a fragment of a document. This can be
-very useful while debugging a complex equation or one chapter in a book, etc.
-
-To do this, visually select a portion of the text and press \ll while in visual
-mode. The visually selected portion will be saved to a temporary file with the
-preamble from the current document prepended. Latex-Suite will then switch focus
-to this temporary file and compile it. Continue to debug this file as required
-and then replace the portion of the original file with this one.
-
-Pressing \lv while viewing the temporary file will view the output file
-generated from the temporary file, not the original file
-
-Two commands |TPartComp| and |TPartView| are provided to be able to get this
-functionality via the command line.
-
-From release 1.6 onwards of Latex-Suite, the temporary file created for part
-compilation will reside in the same directory as the file from which the
-fragment is being created. This ensures that any relative path-names defined in
-the fragment will still work. Latex-Suite will attempt to clean the temporary
-file(s) created when Vim exits.
-
-================================================================================
-Latex Viewing and Searching *ls_7* *ls_a_ce*
- *latex-viewing*
-
-|ls_7_1| Setting Viewing rules
-|ls_7_2| Forward Searching DVI documents
-|ls_7_3| Inverse Searching
-
-
-
---------------------------------------------------------------------------------
-Setting Viewing rules *ls_7_1* *ls_a_cf*
- *latex-viewing-rules*
-
-In order to view the output files created by compiling the source files, you
-need to specify which external program Latex-Suite should call. You can specify
-the external program using one of two settings Tex_ViewRule_format [|ls_a_dF|]
-or Tex_ViewRuleComplete_format [|ls_a_dG|]. By default, Latex-Suite has default
-settings for viewing various common output formats via the Tex_ViewRule_format
-settings, so that if you are using commonly used programs, you should be all set
-to view compiled files from within Vim by simply pressing \lv.
-
-NOTE: The viewing function also takes the *.latexmain [|ls_a_ct|] file into
- account to decide which file to show.
-
-
-If pressing \lv does not work, then it most probably has to do with incorrect
-settings of the g:Tex_ViewRule_<format> [|ls_a_dF|] where <format> is the format
-you are attempting to view. See the link above for how to set this according to
-your system.
-
-In addition to viewing the files, Latex-Suite also supports forward and inverse
-searching for certain common tools for viewing DVI documents. At the moment,
-there is built-in support for YAP on windows (which ships with MikTeX), and the
-popular xdvi on *nix platforms. See the next few sections for details on forward
-and inverse searching.
-
---------------------------------------------------------------------------------
-Forward Searching DVI documents *ls_7_2* *ls_a_cg*
- *forward-searching*
-
-Forward searching refers to making a DVI viewer display a given document at a
-given location from within Vim. At present, this functionality is supported for
-YAP on windows and xdvi on *nix machines. Pressing \ls from within Vim should
-make the DVI viewer display the portion of the document where your cursor is
-placed.
-
- *enabling-searching* *ls_a_ed*
-NOTE: Enabling Forward and Inverse Searching
- --------------------------------------
- Most DVI viewers need "source-special" information in order to do forward
- (and inverse) searching. This information is embedded in the dvi file if
- the LaTeX source is compiled with the --src-specials option. By default,
- Latex-Suite does not supply this argument to the compiler. See the section
- on to find out how this option can be set.
-
-
-
---------------------------------------------------------------------------------
-Inverse Searching *ls_7_3* *ls_a_ch*
- *inverse-searching*
-
-Inverse searching refers to the DVI viewer telling Vim to display the LaTeX
-source file at a given location when you double-click in the DVI viewer window.
-
-You will need to enable searching [|ls_a_ed|] in order to use this
-functionality.
-
-You will also need to specify certain settings to the DVI viewer conveying the
-syntax which it needs to use to tell Vim how to display the source file. In YAP,
-you can set this option in View > Options > Inverse Search. The Command Line
-field needs to be set as follows: >
- "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
-The command :RemoteOpen is supplied when you install Latex-Suite.
-
-On *nix machines, Latex-Suite attempts to call the DVI viewer in such a way that
-it already knows how to communicate with Vim. If this does not seem to be
-working, you can use the RemoteOpen command described above.
-
-================================================================================
-Latex Folding *ls_8* *ls_a_ci*
- *latex-folding*
-
-|ls_8_1| Default Folding Scheme in Latex-Suite
-|ls_8_2| Customizing what to fold
-|ls_8_3| Editing the folding.vim file directly
-
-
-Latex-Suite ships with the plugin SyntaxFolds.vim which is a plugin for creating
-"fake" syntax folds on the fly. The fold method is actually manual but the
-folding is based on LaTeX syntax. This offers a speed increase over regular
-syntax folding. Ofcourse it has the disadvantage that the folds are not dynamic,
-i.e newly created syntax items are not automatically folded up. (This is a
-compromise between speed and convenience).
-
-When you open up a LaTeX file, all the portions will be automatically folded up.
-However, no new folds will be created until you press <F6> or \rf. (rf stands
-for "refresh folds").
-
-The fold-text is set to the first line of the folded text unless the fold is a
-table, figure etc. (an environment). In this case, if a \caption and/or a label
-is found in the folded region, then those are used to make a more meaningful
-fold-text, otherwise the second line of the environment is displayed along with
-the name of the environment. In other words, the following >
- \begin{figure}[h]
- \centerline{\psfig{figure=slidercrank.eps,height=6cm}}
- \caption{The Slider Crank Mechanism.}
- \label{fig:slidercrank}
- \end{figure}
- % a LaTeX comment.
- \begin{eqnarray}
- \sin(\pi) = 0
- \end{eqnarray}
-
-
-will be shown as: >
- +--- 5 lines: figure (fig:slidercrank) : The Slider Crank Mechanism. -----
- % a LaTeX comment.
- +--- 3 lines: eqnarray () : \sin(\pi) = 0 --------------------------------
-
-
-
---------------------------------------------------------------------------------
-Default Folding Scheme in Latex-Suite *ls_8_1* *ls_a_cj*
- *default-folding*
-
-By default Latex-Suite creates folds in the following manner:
-
- >
- \chapter
- \section
- %%fakesection
- \subsection
- \subsubsection
- \item
- \equation
- \eqnarray
- \figure
- \table
- \footnote
-The indentation shows the "nestedness" of the folding scheme. See the next
-section [|ls_a_ck|] to see how you can change this scheme.
-
---------------------------------------------------------------------------------
-Customizing what to fold *ls_8_2* *ls_a_ck*
- *customizing-what-to-fold*
-
-From version 1.6 onwards, the folding in Latex-Suite can be controlled to a
-large extent via a number of global variables.
-
-
-
-Tex_FoldedSections *ls_8_2_1* *ls_a_cl*
- *Tex_FoldedSections*
-
-This entry defines which sections will be folded. This setting is a comma
-separated list of section names. The default value is: >
- part,chapter,section,%%fakesection,
- subsection,subsubsection,paragraph
-Each of the entries in the list will fold up a section of the corresponding
-name. The %%fakesection section is provided as a means for the user to group
-lines into "fake" sections. A %%fakesection is assumed to start on a line which
-begins with the string %%fakesection and continue till the start of the next
-\section, \subsection or any other section.
-
-See also advanced fold settings [|ls_a_cp|].
-
-
-Tex_FoldedEnvironments *ls_8_2_2* *ls_a_cm*
- *Tex_FoldedEnvironments*
-
-This entry defines which environments will be folded. It is a comma separated
-string of words each of which defines a single environment. The default setting
-is >
- verbatim,comment,eq,gather,
- align,figure,table,thebibliography,
- keywords,abstract,titlepage
-The words need not be standard Latex environments. You can add any word you
-like. Also, each word will fold up all environments whose name begins with that
-word. For example, in the setting above, the word "eq" folds up the
-\begin{equation}, \begin{eqnarray}, \begin{eqnarray*} environments. To avoid
-this, you can replace the word "eq" with "eq}".
-
-See also advanced fold settings [|ls_a_cp|].
-
-
-Tex_FoldedCommands *ls_8_2_3* *ls_a_cn*
- *Tex_FoldedCommands*
-
-This entry defines which commands will be folded. It is a comma separated string
-of words each of which defines a single command. The default setting is empty,
-i.e no commands are folded. The words need not be standard Latex commands. You
-can use whatever words you like. Each word will fold all commands whose name
-begins with that word as in the case of the Tex_FoldedEnvironments [|ls_a_cm|]
-variable.
-
-NOTE: It is very difficult to fold commands reliably because it is very
- difficult to create a regexp which will match a line containing unmatched
- parentheses (or curly brackets), but will not match a line containing
- matched parentheses.
-
- Just to make things safer, only lines which start a command but do not
- contain additional curly braces after the command has started are folded.
- In other words, if you wanted to fold the the command "mycommand", then
- the lines >
- \mycommand{This is a line
- and some more text on the next line
- }
-< will be folded, but the lines >
- \mycommand{This is a \textbf{line}
- and some more text
- }
-< will not be folded. This is a bug which is very difficult to fix.
-
-
-See also advanced fold settings [|ls_a_cp|].
-
-
-Tex_FoldedMisc *ls_8_2_4* *ls_a_co*
- *Tex_FoldedMisc*
-
-This entry defines fold syntax for certain items which do not naturally fit into
-the section, environment of command lists. It is a comma separated list of
-words. The default value is: >
- item,preamble,<<<
-NOTE: Unlike the other Tex_FoldedXXXX variables, the words in this setting are
- limited to take values from the following list:
-
- Value Meaning~
- comments Folds up contiguous blocks of comments
- item Folds up the \items within list environments
- preamble Folds up the preamble of a document. (The part between the
- \documentclass command and the \begin{document} environment)
- <<< Folds defined manually by the user using the <<< and >>> strings
- as fold-markers.
-
- Any other words in the Tex_FoldedMisc setting are silently ignored.
-
-
-
-See also advanced fold settings [|ls_a_cp|].
-
-
-Advanced Fold setting details *ls_8_2_5* *ls_a_cp*
- *fold-setting-advanced*
-
-The order of the words in the Tex_FoldedXXXX variables is _important_. The order
-defines the order in which the folds are nested. For example, the value
-"subsection,section" for the Tex_FoldedSections variable will not fold any
-subsections at all. This is because the folds are created in the _reverse_ order
-in which they occur in the Tex_FoldedSections setting and also, once a fold is
-created, the interior of the fold is not examined for creating additional folds.
-In the above case, this means that a \section is folded first and then its
-interior is not examined further. The correct value should have been
-"section,subsection"
-
- *fold-setting-adding* *ls_a_ee*
-Each of the fold setting variables Tex_FoldedSections, Tex_FoldedEnvironments
-etc., as explained previously is a comma separated string of variables. However,
-to make it easier to _add_ to the default settings without having to repeat the
-whole default setting again, Latex-Suite uses the following logic in forming the
-complete setting string from the Tex_FoldedXXXX variables. If the variable
-starts with a comma, then Tex_FoldedXXXX is added to the end of the default
-string rather than replacing it. Similarly, if it ends with a comma, then it
-will be prepended to the beginning of the default setting rather than replacing
-it.
-
-For example, if Tex_FoldedEnvironments is set to the string "myenv", then only
-an environment of the form \begin{myenv} will be folded. However, if the
-Tex_FoldedEnvironments setting is ",myenv", then the \begin{myenv} environment
-will be folded after all other environments in the default setting have been
-folded. On the other hand if Tex_FoldedEnvironments is of the form "myenv,", the
-\begin{myenv} environment will be folded before the rest of the environments in
-the default setting.
-
---------------------------------------------------------------------------------
-Editing the folding.vim file directly *ls_8_3* *ls_a_cq*
- *editing-folding*
-
-If you are using version 1.5 of Latex-Suite or older, you will need to directly
-edit the $VIM/ftplugin/latex-suite/folding.vim file if you wish to modify the
-folding scheme. You will need to modify the function MakeTexFolds() defined in
-that file to modify the fold syntax. MakeTexFolds makes a number of calls to
-AddSyntaxFoldItem. Each such call defines a new "fold item". The order in which
-these calls are made defines how the folds are nested. For example, if you
-desire an figure environment to be nested within a section, then you should
-define the fold for the figure first. The syntax of AddSyntaxFoldItem is as
-follows: >
- AddSyntaxFoldItem(startpat, endpat, startoff, endoff [, startskip, endskip])
-If the last two arguments are omitted, then they are assumed to default to the
-empty strings ''. The explanation for each argument is as follows:
-
-Argument Explanation~
-startpat a line matching this pattern defines the beginning of a fold.
-endpat a line matching this pattern defines the end of a fold.
-startoff this is the offset from the starting line at which folding will
- actually start
-endoff like startoff, but gives the offset of the actual fold end from the
- line satisfying endpat. startoff and endoff are necessary when the
- folding region does not have a specific end pattern corresponding to
- a start pattern. for example in LaTeX, \section{Section Name} defines
- the beginning of a section, but there is no command which
- specifically ends a section. Thus a \section is assumed to end 1 line
- _before_ another section starts.
-startskip A Pattern Which Defines The Beginning Of A "Skipped" Region.
-
- For example, suppose we define a \itemize fold as follows: >
- = '^\s*\\item',
- = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- = 0,
- = -1
-<
-
- This defines a fold which starts with a line beginning with an \item
- and ending one line before a line beginning with an \item or
- \end{enumerate} etc.
-
- Then, as long as \item's are not nested things are fine. However,
- once items begin to nest, the fold started by one \item can end
- because of an \item in an \itemize environment within this \item.
- i.e, the following can happen: >
- \begin{itemize}
- \item Some text <------- fold will start here
- This item will contain a nested item
- \begin{itemize} <----- fold will end here because next line contains \item...
- \item Hello
- \end{itemize} <----- ... instead of here.
- \item Next item of the parent itemize
- \end{itemize}
-<
-
- Therefore, in order to completely define a folding item which allows
- nesting, we need to also define a "skip" pattern. startskip and end
- skip do that. Leave '' when there is no nesting.
-endskip the pattern which defines the end of the "skip" pattern for nested
- folds.
-
-NOTE: Example 1
- ---------
- A syntax fold region for the latex section is defined with the following
- arguments to AddSyntaxFoldItem: >
- startpat = "\\section{"
- endpat = "\\section{"
- startoff = 0
- endoff = -1
- startskip = ''
- endskip = ''
-< Note that the start and end patterns are thus the same and endoff has a
- negative value to capture the effect of a section ending one line before
- the next starts.
-
-
-NOTE: Example 2
- ---------
- A syntax fold region for the \itemize environment is: >
- startpat = '^\s*\\item',
- endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- startoff = 0,
- endoff = -1,
- startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}',
- endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}'
-< Note the use of startskip and endskip to allow nesting.
-
-
-
-================================================================================
-Multiple file LaTeX projects *ls_9* *ls_a_cr*
- *latex-project*
-
-|ls_9_1| Latex-Suite project settings
-|ls_9_2| Specifying which file to compile
-
-
- *latex-project-example* *ls_a_ef*
-Many LaTeX projects contain multiple source files which are \included from a
-master file. A typical example of this situation is a directory layout such as
-the following
-
- >
- thesis/
- main.tex
- abstract.tex
- intro/
- intro.tex
- figures/
- fig1.eps
- fig2.eps
- chapter1/
- chap1.tex
- figures/
- fig1.eps
- conclusion/
- conclusion.tex
- figures/
-
-
-In the above case, main.tex will typically look like
-
- >
- % file: main.tex
- \documentclass{report}
- \begin{document}
-
- \input{abstract.tex}
- \input{intro/intro.tex}
- \input{chapter1/chap1.tex}
- \input{conclusion/conclusion.tex}
-
- \end{document}
-
-
- *latex-master-file-specification* *ls_a_eg*
-In such situations, you will need to convey to Latex-Suite that main.tex is the
-main file which \inputs the other files. This is done by creating a file called
-main.tex.latexmain in the same directory in which main.tex resides. This file is
-called the _master file_ in this manual. See Tex_MainFileExpression [|ls_a_eh|]
-for an alternative way of specifying the master file.
-
-NOTE: Here main.tex.latexmain is (obviously) a different file from main.tex
- itself. main.tex need not be renamed. This ofcourse restricts each
- directory to have a single master file.
-
-
-Each time Latex-Suite opens a new LaTeX file, it will try to see if it is part
-of a multiple file project by searching upwards (to the root of the file-system)
-from the current file's directory to see if it finds a file of the form
-*.latexmain. If such a file is found, then it is considered that the current
-file is part of a larger project. The name of the LaTeX master file is inferred
-directly from the first part of the *.latexmain file as described in the example
-above.
-
-
---------------------------------------------------------------------------------
-Latex-Suite project settings *ls_9_1* *ls_a_cs*
- *latex-project-settings*
-
-If a master file [|ls_a_ct|] is found, then Latex-Suite :sources the file. Thus
-this file needs to contain valid Vim commands. This file is typically used to
-store project specific settings.
-
-Some typical per-project settings which are best put in the master file are
-Tex_ProjectSourceFiles [|ls_a_dt|]
-
---------------------------------------------------------------------------------
-Specifying which file to compile *ls_9_2* *ls_a_ct*
- *latex-master-file*
-
-In the example described previously [|ls_a_ef|], if you are editing
-intro/intro.tex and press \ll, then you still want Latex-Suite to compile
-main.tex, because intro/intro.tex is merely a fragment which is \input'ed into
-main.tex. If the master file is already specified using the *.latexmain
-convention described previously [|ls_a_ef|], then Latex-Suite will automatically
-compile the master file when you are editing any of its \input'ed fragments.
-Thus pressing \ll while editing intro/intro.tex will compile main.tex.
-
- *Tex_MainFileExpression* *ls_a_eh*
-If you wish to use some different logic to specify the main file name, you can
-specify a custom expression via the Tex_MainFileExpression variable. This is a
-string containing a valid vim expression. In addition, you can use a variable
-modifier which is in the format used for |filename-modifiers|, for example,
-':p:h'. You should utilize this variable to modify the filename of the main
-file. >
- let g:Tex_MainFileExpression = 'MainFile(modifier)'
- function! MainFile(fmod)
- if glob('*.latexmain') != ''
- return fnamemodify(glob('*.latexmain'), a:fmod)
- else
- return ''
- endif
- endif
-
-
-================================================================================
-Latex-Suite Commands and Maps *ls_10* *ls_a_cu*
- *latex-suite-commands-maps*
-
-|ls_10_1| Latex-Suite Maps
-|ls_10_2| Latex Suite Commands
-
-
-This section describes the maps and commands used in Latex-Suite. It also
-describes a way to change the map sequences according to your preference.
-
-
---------------------------------------------------------------------------------
-Latex-Suite Maps *ls_10_1* *ls_a_cv*
- *latex-suite-maps*
-
- *remapping-latex-suite-keys* *ls_a_ei*
-Most of the mappings used in Latex-Suite can be mapped to a different key
-combination to suit your particular needs. An example best explains the
-procedure for doing this. Suppose you want to remap the <C-j> key which
-Latex-Suite (actually imaps.vim) uses to jump to the next placeholder. To do
-this, you first need to find out which <Plug> mapping <C-j> is derived from. You
-will need to look at the relevant section of this manual to do this. For
-example, the section IMAP mappings [|ls_a_cw|] has the information that the
-<C-j> key is derived from <Plug>IMAP_JumpForward. Therefore to remap the <C-j>
-key to say <C-space>, you will need to put a statement like the following in
-your ~/.vimrc. >
- imap <C-space> <Plug>IMAP_JumpForward
-
-
-NOTE: To change the IMAP mappings which affect jumping between placeholders, the
- map statement above has to be placed in your ~/.vimrc. For other mappings
- you can place the map statement in your $VIM/ftplugin/tex.vim file. The
- reason for this is that the <C-j> maps are created in plugin/imaps.vim,
- which is sourced as soon as Vim starts before sourcing any ftplugin files.
-
-
-
-
-IMAP mappings *ls_10_1_1* *ls_a_cw*
- *customize-imap-maps*
-
-These mappings are utilized for jumping between placeholders as described here
-[|ls_a_eD|]. See the parent section [|ls_a_cv|] to find out how to use this
-information to change the default maps.
-
- *Plug_IMAP_JumpForward* *ls_a_ej*
- *Plug_IMAP_JumpBack* *ls_a_ek*
- *Plug_IMAP_DeleteAndJumpForward* *ls_a_el*
- *Plug_IMAP_DeleteAndJumBack* *ls_a_em*
-Plug map Default Key~
-<Plug>IMAP_JumpForward <C-j>
-<Plug>IMAP_JumpBack (none)
-<Plug>IMAP_DeleteAndJumpForward (none)
-<Plug>IMAP_DeleteAndJumpBack (none)
-
-<Plug>IMAP_JumpForward takes you to the location of the next place-holder
-[|ls_a_eD|].
-
-<Plug>IMAP_JumpBack takes you to the previous place-holder [|ls_a_eD|].
-
-<Plug>IMAP_DeleteAndJumpForward deletes the presently selected place-holder and
-jumps to the next place-holder irrespective of whether the present placeholder
-is empty or not and ignoring the value of place-holder settings like
-g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders
-[|ls_a_cX|]
-
-<Plug>IMAP_DeleteAndJumpBack deletes the presently selected place-holder and
-jumps to the previous place-holder irrespective of whether the present
-placeholder is empty or not and ignoring the value of place-holder settings like
-g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders
-[|ls_a_cX|]
-
-
-Alt-Key mappings *ls_10_1_2* *ls_a_cx*
- *customize-alt-key-maps*
-
-These mappings are are described in the section Alt key macros [|ls_a_bA|]. See
-the parent section [|ls_a_ei|] to see how to use the following information to
-remap keys.
-
- *Plug_Tex_MathBF* *ls_a_en*
- *Plug_Tex_MathCal* *ls_a_eo*
- *Plug_Tex_LeftRight* *ls_a_ep*
- *Plug_Tex_InsertItem* *ls_a_eq*
-Plug Mapping Default Key~
-<Plug>Tex_MathBF <Alt-B>
-<Plug>Tex_MathCal <Alt-C>
-<Plug>Tex_LeftRight <Alt-L>
-<Plug>Tex_InsertItem <Alt-I>
-
---------------------------------------------------------------------------------
-Latex Suite Commands *ls_10_2* *ls_a_cy*
- *latex-suite-commands*
-
-
-
-:TMacro [{macro}] *ls_10_2_1* *ls_a_cz* *TMacro*
-
-When used without any arguments lists all available macros defined in runtime
-ftplugin/latex-suite/macros/ directories and prompts you to choose one of them.
-With one argument |:read| this macro under cursor position. With more than one
-argument it will not work :) In Vim >= 6.2 works completion of names of macros
-(see 'wildmenu', 'wildmode' for more about command-line completion).
-
-
-:TMacroEdit [{macro}] *ls_10_2_2* *ls_a_cA*
- *TMacroEdit*
-
-Splits window for editing {macro}. When used without any arguments lists all
-available macros defined in runtime ftplugin/latex-suite/macros/ directories and
-prompt you to choose one of them. When you try to edit {macro} not from local
-directory Latex-Suite will copy it to your local directory with suffix "-local".
-If local copy already exists Latex-Suite prompt for overwriting it. In Vim >=
-6.2 works completion of names of macros (see 'wildmenu', 'wildmode' for more
-about command-line completion).
-
-
-:TMacroNew *ls_10_2_3* *ls_a_cB*
- *TMacroNew*
-
-Splits window to write new macro. Directory in new buffer is locally changed to
-Latex-Suite/macros/.
-
-
-:TMacroDelete [{macro}] *ls_10_2_4* *ls_a_cC*
- *TMacroDelete*
-
-Delets {macro} from your local ftplugin/latex-suite/macros/ directory. When used
-without any arguments lists all available macros defined in Latex-Suite/macros/
-directory and prompt you to choose one of them. When you choose to delete
-{macro} which is not in your local directory Latex-Suite will refuse to delete
-it. In Vim >= 6.2 works completion of names of macros (see 'wildmenu',
-'wildmode' for more about command-line completion)
-
-
-:TPackage [{package, ...}] *ls_10_2_5* *ls_a_cD*
- *TPackage*
-
-When used without any arguments lists name of the packages for which support is
-available. If you are using Vim GUI and have Tex_Menus set to 1, then it will
-list all files found in the $VIM/ftplugin/latex-suite/packages directory.
-Otherwise, Latex-Suite will list files found in the
-$VIM/ftplugin/latex-suite/dictionaries directory. Choosing a file from the list
-will insert a >
- \usepackage[<++>]{<packname>}
-line into the buffer at the current cursor location. For Vim 6.2 and above, you
-can use command-line completion to choose a package file. You can also call
-TPackage with one or more package names separated with spaces in which case,
-Latex-Suite will insert \usepackage lines for each of them in turn.
-
-After inserting the \usepackage line(s), Latex-Suite will support it (them) in
-various ways as described in the section Actions taken for supported packages
-[|ls_a_bL|].
-
-
-:TPackageUpdate *ls_10_2_6* *ls_a_cE*
- *TPackageUpdate*
-
-This command `reads' name of package under cursor and turns on possible support.
-
-
-:TPackageUpdateAll *ls_10_2_7* *ls_a_cF*
- *TPackageUpdateAll*
-
-After issuing this command latexSuite scans the file in looking for not declared
-packages, removing not needed entries from Packages menu and turning off not
-necessary packages' dictionaries.
-
-
-:TTemplate [{template}] *ls_10_2_8* *ls_a_cG*
- *TTemplate*
-
-When used without any arguments lists all available templates from
-latex-suite/templates/ directory and prompts to choose one of them. With one
-argument :0|read| {template} file. With more than one argument it will not work
-:) In Vim >= 6.2 works completion of names of macros (see 'wildmenu', 'wildmode'
-for more about command-line completion)
-
-
-:TSection [{argument}] *ls_10_2_9* *ls_a_cH*
- *TSection*
-
-Used without any arguments inserts last section type (|latex-sectioning|).
-Accepts arguments: n> inserts section name in <n> logical level. Levels are:
-0 part
-1 chapter
-2 section
-3 subsection
-4 subsubsection
-5 paragraph
-6 subparagraph
-
-
-+<n> inserts section name <n> logical levels above the last used comand
--<n> inserts section name <n> logical levels below the last used comand
-+ inserts section name one logical level below the last used command (equal
- to +1).
-++ inserts section name two logical levels below the last used command (equal
- to +2).
-- inserts section name one logical level over the last used command (equal
- to -1).
--- inserts section name two logical levels over the last used command (equal
- to -2).
-
-
-
-Command accepts also latexSuite mappings (|latex-macros|) without preceding S
-and in lowercase: >
- :TSection pa
-will result in \part{}. It is possible to use full names of sections: :TSection
-part
-
-
-:TSectionAdvanced *ls_10_2_10* *ls_a_cI*
- *TSectionAdvanced*
-
-Accepts the same arguments as |TSection| but leads to a couple of questions
-(whether you want to include the section in the table of contents, whether there
-is a shorter name for the table of contents) and then creates a more intelligent
-template.
-
-
-:TLook *ls_10_2_11* *ls_a_cJ* *TLook*
-
-Accepts one argument. Will look through .tex files in directory of edited file
-for argument. It can be regexp. You don't have to enclose argument in "". <cr>
-takes you to location. Other keys work as described in |latex-viewer|. Note:
-TLook uses :grep command and is using 'grepprg'. Its regular expressions can be
-different from those of Vim.
-
-
-:TLookBib *ls_10_2_12* *ls_a_cK*
- *TLookBib*
-
-Accepts one argument. Will look through .bib files in directory of edited file
-for argument. It can be regexp. You don't have to enclose argument in "". <cr>
-takes you to location. Other keys work as described in |latex-viewer|.
-
-NOTE: TLookBib uses :grep command and is using 'grepprg'. Its regular
- expressions can be different from those of Vim.
-
-
-
-
-:TLookAll *ls_10_2_13* *ls_a_cL*
- *TLookAll*
-
-Accepts one argument. Will look through all files in directory of edited file
-for argument. It can be regexp. You don't have to enclose argument in "". <cr>
-takes you to location. Other keys work as described in |latex-viewer|. Note:
-TLook uses :grep command and is using 'grepprg'. Its regular expressions can be
-different from those of Vim.
-
-
-:TPartComp *ls_10_2_14* *ls_a_cM*
- *TPartComp*
-
-No argument allowed but accepts range in all formats. Define fragment of
-interest with :'a,'b, :/a/,/b/, :'<,'> or :20,30. All other rules of compilation
-apply.
-
-
-:TPartView *ls_10_2_15* *ls_a_cN*
- *TPartView*
-
-Show last compiled fragment. All rules of viewing apply but |latex-searching|.
-
-
-:Tshortcuts [{arg}] *ls_10_2_16* *ls_a_cO*
- *Tshortcuts*
-
-Show shortcuts in terminal (not using menu). Without {arg} you will see simple
-menu prompting for one of them. Possible arguments:
-g General shortcuts
-e Environment shortcuts
-f Font shortcuts
-s Section shortcuts
-m Math shortcuts
-a All shortcuts
-
-================================================================================
-Customizing Latex-Suite *ls_11* *ls_a_cP*
- *customizing-latex-suite*
-
-|ls_11_1| General Settings
-|ls_11_2| Place-Holder Customization
-|ls_11_3| Macro Customization
-|ls_11_4| Smart Key Customization
-|ls_11_5| Latex Completion Customization
-|ls_11_6| Compiler Customization
-|ls_11_7| Viewer Customization
-|ls_11_8| Menu Customization
-|ls_11_9| Folding Customization
-|ls_11_10| Package Handling Customization
-
-
-Customizing Latex-Suite is done by defining certain global variables in
-$VIM/ftplugin/tex.vim, where $VIM corresponds to ~/.vim for *nix machines and
-~/vimfiles for windows machines. This file is not part of the Latex-Suite
-distribution. You will need to create this file yourself (or modify it if it
-exists) if you need to change any default settings. Since this file is not
-included as part of the Latex-Suite distribution, it will not be over-written in
-subsequent updates.
-
-The default settings in Latex-Suite are defined in
-$VIM/ftplugin/latex-suite/texrc. Please take a look at this file if you find
-this documentation incomplete or confusing. That file is also well documented.
-
-This chapter describes the various settings which effect Latex-Suite and their
-default values. The settings are broken up into sections according to the
-behavior which they influence.
-
-
---------------------------------------------------------------------------------
-General Settings *ls_11_1* *ls_a_cQ*
- *ls-general-purpose-settings*
-
-
-
-Tex_Debug *ls_11_1_1* *ls_a_cR*
- *Tex_Debug*
-
-Type boolean
-Default Value 0
-
-If set to 1, then Latex-Suite will create certain global debug statements which
-can be printed by doing >
- :call Tex_PrintDebug()
-
-
-
-Tex_UsePython *ls_11_1_2* *ls_a_cS*
- *Tex_UsePython*
-
-Type boolean
-Default Value 1
-
-If Latex-Suite detects that your vim is python enabled (using has('python')),
-then it tries to use python in certain places to speed things up. If this
-misbehaves, you can set this to zero, in which case, Latex-Suite will use
-vimscript to accomplish the same.
-
---------------------------------------------------------------------------------
-Place-Holder Customization *ls_11_2* *ls_a_cT*
- *customizing-place-holders*
-
-Latex-Suite uses place-holders [|ls_a_eD|] to minimize using the movement keys
-while typing. The following settings affect how place-holders are used.
-
-NOTE: These setting need to be set in your ~/.vimrc, not $VIM/ftplugin/tex.vim
- because these settings affect the behavior of imaps.vim, which is a global
- plugin, not a file-type plugin.
-
-
-
-
-g:Imap_UsePlaceHolders *ls_11_2_1* *ls_a_cU*
- *Imap_UsePlaceHolders*
-
-
-Type Boolean
-Default Value 1
-
-Setting this to zero completely disables using place-holders.
-
-
-g:Imap_PlaceHolderStart & g:Imap_PlaceHolderEnd *ls_11_2_2* *ls_a_cV*
- *Imap_PlaceHolderStart*
-
- *Imap_PlaceHolderEnd* *ls_a_er*
-Setting Type Value~
-Imap_PlaceHolderStart String '<+'
-Imap_PlaceHolderEnd String '+>'
-
-These settings affect the strings displayed at the beginning and end of the
-place-holder string. Set these strings to a value different than a commonly
-occurring sequence of characters.
-
-NOTE: TIP
- ---
- If you use the latin1 encoding and do not type in french, then you can set
- these strings to the \xab and \xbb characters (the french quotation
- marks).
-
-
-
-
-g:Imap_DeleteEmptyPlaceHolders *ls_11_2_3* *ls_a_cW*
- *Imap_DeleteEmptyPlaceHolders*
-
-
-Type Boolean
-Default Value 1
-
-When set to one, non-descriptive or empty place-holders are deleted on pressing
-<Ctrl-J>.
-
-
-g:Imap_StickyPlaceHolders *ls_11_2_4* *ls_a_cX*
- *Imap_StickyPlaceHolders*
-
-
-Type Boolean
-Default Value 1
-
-When set to 1, in visual mode, <Ctrl-J> takes you to the next placeholder
-without deleting the current placeholder.
-
---------------------------------------------------------------------------------
-Macro Customization *ls_11_3* *ls_a_cY*
- *customizing-macros*
-
-
-
-Tex_Env_name *ls_11_3_1* *ls_a_cZ*
- *Tex_Env_name*
-
-If you wish to wish to expand certain environments differently from the way
-Latex-Suite does it, you can define custom expansions using global variables of
-the form Tex_Env_{name} where name corresponds to the environment.
-
-For example, if you press <F5> after typing theorem, Latex-Suite will by default
-expand it to >
- \begin{theorem}
- \label{<++>}<++>
- \end{theorem}<++>
-However, if you wish change this to >
- \begin{theorem}
- <++>
- \end{theorem}<++>
-then define the following variable >
- let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}"
-<
-
-If the expansion uses special keys such as carriage return etc, then use
-double-quotes and use the "\<key>" notation for special keys. Backslashes have
-to be doubled.
-
-You could even use strings returned by functions as the expansion by using the
-IMAP_PutTextWithMovement() [|ls_a_ea|] function.
-
-If the name of the environment contains special characters (for example, the
-eqnarray* environment), then use the following form: >
- let g:Tex_Env_{'eqnarray*'} =
- \ "\\begin{eqnarray*}\<CR><++> &=& <++>\<CR>\\end{eqnarray*}<++>"
-This will make pressing <F5> after eqnarray* expand to >
- \begin{eqnarray*}
- <++> &=& <++>
- \end{eqnarray*}<++>
-
-
-
-Tex_Com_name *ls_11_3_2* *ls_a_da*
- *Tex_Com_name*
-
-If you wish to define new expansions for fast command insertion as described
-here [|ls_a_bo|], or redefine expansions from the default values in Latex-Suite,
-you will need to define variables of the form g:Tex_Com_{name} where name is a
-command name. For example, with the setting >
- let g:Tex_Com_frac = "\\frac{<++>}{<++>}<++>"
-pressing <F7> after typing frac will change it to \frac{<++>}{<++>}<++>
-
-See Tex_Env_name [|ls_a_cZ|] for additional details on how to create this
-setting in various special circumstances.
-
-
-Enabling / disabling macros *ls_11_3_3* *ls_a_db*
- *macro-enabling*
-
-The following variables disable various parts of the macro functionality of
-Latex-Suite. See the links to the relevant sections to see what functionality
-setting each of the variables to zero will take away.
-
- *Tex_EnvironmentMaps* *ls_a_es*
- *Tex_EnvironmentMenus* *ls_a_et*
- *Tex_FontMaps* *ls_a_eu*
- *Tex_FontMenus* *ls_a_ev*
- *Tex_SectionMaps* *ls_a_ew*
- *Tex_SectionMenus* *ls_a_ex*
-Setting Link to relevant section Default Value~
-g:Tex_EnvironmentMaps Environment Mappings [|ls_a_bf|] 1
-g:Tex_EnvironmentMenus 1
-g:Tex_FontMaps Font Mappings [|ls_a_bs|] 1
-g:Tex_FontMenus 1
-g:Tex_SectionMaps Section Mappings [|ls_a_bt|] 1
-g:Tex_SectionMenus 1
-
-
-g:Tex_UseMenuWizard *ls_11_3_4* *ls_a_dc*
- *Tex_UseMenuWizard*
-
-
-Type Boolean
-Default Value 0
-
-If this variable is set to 1, then when an environment is chosen from the menu
-then for selected environments, Latex-Suite asks a series of questions on the
-command line and inserts a template with the corresponding fields already filled
-in. Setting this to zero will insert a template with place-holders [|ls_a_eD|]
-marking off the places where fields need to be filled.
-
-
-g:Imap_FreezeImap *ls_11_3_5* *ls_a_dd*
- *Imap_FreezeImap*
-
-Type boolean
-Default Value 0
-
-This option when set to 1, temporarily freezes Latex-Suite's macro expansion. It
-might be useful when you are using some other keymap which is causing excessive
-macro expansion. Use a buffer-local variable of the same name if you wish to
-affect just the present buffer.
-
-
-g:Tex_CatchVisMapErrors *ls_11_3_6* *ls_a_de*
- *Tex_CatchVisMapErrors*
-
-
-Type Boolean
-Default Value 1
-
-With so many visual maps, its helpful to have a way of catching typing errors
-made in visual mode. What this does is to prompt you to correct your visual mode
-mapping if you start out with and then type some illegal keys. It basically maps
-just the g:Tex_Leader character to a function.
-
-
-g:Tex_Diacritics *ls_11_3_7* *ls_a_df*
- *Tex_Diacritics*
-
-
-Type Boolean
-Default Value 0
-
-Whether or not you want to use diacritics [|ls_a_bw|].
-
-
-g:Tex_Leader *ls_11_3_8* *ls_a_dg*
- *Tex_Leader*
-
-
-Type String
-Default Value '`'
-
-The mappings in Latex-Suite are by default prefixed with the back-tick
-character. For example, `/ inserts \frac{<++>}{<++>}<++> etc. You can change the
-prefix with the following setting. ',', '/', '`' are preferred values. '' or '\'
-will lead to a _lot_ of trouble.
-
-g:Tex_Leader is also used for visual mode mappings for fonts.
-
-
-g:Tex_Leader2 *ls_11_3_9* *ls_a_dh*
- *Tex_Leader2*
-
-
-Type String
-Default Value ','
-
-In order to avoid clashes between the large number of visual mode macros
-provided, the visual mode macros for environments [|ls_a_bm|] and sections start
-with a character different from g:Tex_Leader.
-
-
-g:Tex_PromptedEnvironments *ls_11_3_10* *ls_a_di*
- *Tex_PromptedEnvironments*
-
-
-Type String
-Default Value 'eqnarray*,eqnarray,equation,equation*,\[,$$,align,align*'
-
-This string represents a comma separated list of fields corresponding to
-environments. Pressing <F5> in insert-mode in the body of the document asks you
-to choose from one of these environments to insert.
-
-Leaving this string empty will leave the <F5> key unmapped
-
-
-g:Tex_HotKeyMappings *ls_11_3_11* *ls_a_dj*
- *Tex_HotKeyMappings*
-
-
-Type String
-Default Value 'eqnarray*,eqnarray,bmatrix'
-
-This string represents a comma separated list of environments which are mapped
-to <Shift-F-1> through <Shift-F-4>. For example, pressing <Shift-F-2> with this
-setting inserts the eqnarray environment.
-
-Leaving this string empty will leave <Shift-F-1> through <Shift-F-4> unmapped.
-
-NOTE: Only the first four fields of this list are used. The rest are silently
- ignored.
-
-
-
-
-g:Tex_PromptedCommands *ls_11_3_12* *ls_a_dk*
- *Tex_PromptedCommands*
-
-
-Type String
-Default Value 'footnote,cite,pageref,label'
-
-This string represents a comma separated list of LaTeX commands which
-Latex-Suite uses for the <F7> and <S-F7> maps as described here [|ls_a_bo|].
-
-Leaving this string empty will leave the <F7> key unmapped.
-
-
-Tex_ItemStyle_environment *ls_11_3_13* *ls_a_dl*
- *Tex_ItemStyle_environment*
-
-This setting affects the style which Latex-Suite uses to insert an \item when
-<Alt-I> is pressed as described here [|ls_a_bE|]. By default Latex-Suite defines
-styles for the following environments:
-
-Environment Style~
-itemize \item
-enumerate \item
-theindex \item
-thebibliography \item[<+biblabel+>]{<+bibkey+>} <++>
-description \item[<+label+>] <++>
-
-Each style is defined by a variable of the form g:Tex_ItemStyle_{envname} where
-envname is the name of the environment for which the style is defined. For
-example, by default >
- g:Tex_ItemStyle_description = '\item[<+label+>] <++>'
-Redefining the style for a particular environment or defining a style for an
-entirely new environment is simply a matter of setting the value of a variable
-of the corresponding name.
-
---------------------------------------------------------------------------------
-Smart Key Customization *ls_11_4* *ls_a_dm*
- *customizing-smart-keys*
-
-These settings affect the smart key functionality as described here [|ls_a_bz|].
-
-
-
-g:Tex_SmartKeyBS *ls_11_4_1* *ls_a_dn*
- *Tex_SmartKeyBS*
-
-
-Type Boolean
-Default Value 1
-
-Whether or not <Backspace> deletes diacritics.
-
-
-g:Tex_SmartKeyQuote *ls_11_4_2* *ls_a_do*
- *Tex_SmartKeyQuote*
-
-
-Type Boolean
-Default Value 1
-
-Whether or not the smart quotes [|ls_a_bz|] functionality is available.
-
-If enabled, the quote characters can be customized by setting the following
-variables:
-
-Setting Value~
-g:Tex_SmartQuoteOpen "``"
-g:Tex_SmartQuoteClose "''"
-
-Non-English users will want to change these settings to their locale. These
-global variables will be ignored if there are buffer-local variables (with the
-same name), which may be set in the language specific package files, such as
-$VIM/ftplugin/latex-suite/packages/german.
-
---------------------------------------------------------------------------------
-Latex Completion Customization *ls_11_5* *ls_a_dp*
- *customizing-latex-completion*
-
-The following settings affect the completion [|ls_a_bR|] functionality in
-Latex-Suite.
-
-
-
-Window size settings *ls_11_5_1* *ls_a_dq*
- *completion-window-preferences*
-
-These three settings affect the aesthetics of the completion functionality.
-
- *Tex_ViewerCwindowHeight* *ls_a_ey*
- *Tex_ViewerPreviewHeight* *ls_a_ez*
- *Tex_ExplorerHeight* *ls_a_eA*
- *Tex_ImageDir* *ls_a_eB*
-Setting Explanation Default Value~
-g:Tex_ViewerCwindowHeight The height of the cwindow which 5
- displays the list of \labels
- etc.
-g:Tex_ViewerPreviewHeight The height of the preview window 10
- which shows the context of a
- \label etc.
-g:Tex_ExplorerHeight The height of the explorer 10
- window which lists the files
- from which to choose an image
- file.
-g:Tex_ImageDir The directory to scan for images ''
-
-
-g:Tex_BIBINPUTS *ls_11_5_2* *ls_a_dr*
- *Tex_BIBINPUTS*
-
-
-Type string
-Default Value ''
-
-This string describes the directories which are scanned while trying to search
-for .bib and .bbl files. See the cite completion section [|ls_a_bU|] for more
-details.
-
-This string should be set in the syntax accepted by Vim's native 'path' setting.
-Do not include the present directory '.'. While searching for bibliography
-files, the present directory will be prepended to this variable.
-
-
-Tex_UseSimpleLabelSearch *ls_11_5_3* *ls_a_ds*
- *Tex_UseSimpleLabelSearch*
-
-When set to 1, Latex-Suite searches for \labels in all .tex files in the
-directory containing the file being edited when <F9> is pressed. See \ref
-completion [|ls_a_bT|] for details.
-
-
-g:Tex_ProjectSourceFiles *ls_11_5_4* *ls_a_dt*
- *Tex_ProjectSourceFiles*
-
-
-Type String
-Default Value ''
-
-This setting is meant to be initialized on a per-project basis using the
-Latex-Suite master file [|ls_a_ct|] as described in Latex-Suite Project
-[|ls_a_cr|] section. It is a list of source files which are used in the project.
-If defined, then instead of using the logic described in
-Tex_UseSimpleLabelSearch [|ls_a_ds|] to search for files in which to search for
-\labels, we simply search for \labels in this list. This significantly reduces
-the time it takes to generate the list of possible completions for large
-projects.
-
-The list is specified as a whitespace separated list of filenames relative to
-the location of the main file.
-
-
-g:Tex_RememberCiteSearch *ls_11_5_5* *ls_a_du*
- *Tex_RememberCiteSearch*
-
-
-Type Boolean
-Default Value 0
-
-When this variable is non-zero, then Latex-Suite will try to remember results
-from the \cite completion as described in this section [|ls_a_bV|].
-
---------------------------------------------------------------------------------
-Compiler Customization *ls_11_6* *ls_a_dv*
- *customizing-compiling*
-
-The following settings affect Latex-Suite's compilation functionality
-
-
-
-g:Tex_DefaultTargetFormat *ls_11_6_1* *ls_a_dw*
- *Tex_DefaultTargetFormat*
-
-
-Type String
-Default Value dvi for windows/*nix and pdf for mac
-
-Use this setting to choose the default target format. For example, setting this
-to pdf makes Latex-Suite compile a pdf file when you press \ll and fire up the
-pdf viewer on pressing \lv. Make sure that a rules for compiling and viewing
-have been defined for this target format as described here [|ls_a_dx|] and here
-[|ls_a_dF|].
-
-
-g:Tex_CompileRule_<format> *ls_11_6_2* *ls_a_dx*
- *Tex_CompileRule_format*
-
-Here <format> refers to the target format for which this rule is defined.
-Latex-Suite supports compiling into dvi, ps and pdf by default. All these rules
-are strings defined by default as follows:
-
-
-g:Tex_CompileRule_dvi 'latex -interaction=nonstopmode $*'
-g:Tex_CompileRule_ps 'ps2pdf $*'
-g:Tex_CompileRule_pdf 'pdflatex -interaction=nonstopmode $*'
-
-If you desire forward and inverse searching via Latex-Suite, you will need to
-change g:Tex_CompileRule_dvi to include -src-specials. However, this has been
-known to cause problems with the output file. Therefore, use this with care.
-
-
-g:Tex_FormatDependency_<format> *ls_11_6_3* *ls_a_dy*
-
-Type string
-Default Value ''
-
-By default, there are no format dependencies defined. Each definition is of the
-form above where <format> is a string such as 'dvi' etc.
-
-The value of each string is a comma separated string such as 'dvi,ps'. See the
-Compiler dependency [|ls_a_ca|] section to see how to use/specify this setting
-
-
-g:Tex_MultipleCompileFormats *ls_11_6_4* *ls_a_dz*
- *Tex_MultipleCompileFormats*
-
-Type string
-Default Value 'dvi'
-
-This is a comma separated string of formats for which the compiler needs to be
-called multiple times in order to get cross-references, citations etc right. See
-the Compiling multiple times [|ls_a_cb|] section for details.
-
-
-g:Tex_IgnoredWarnings *ls_11_6_5* *ls_a_dA*
- *Tex_IgnoredWarnings*
-
-
-Type String
-Default Value a new-line separated list of patterns as described below
-
-The default value of this setting is >
- \"Underfull\n".
- \"Overfull\n".
- \"specifier changed to\n".
- \"You have requested\n".
- \"Missing number, treated as zero.\n".
- \"There were undefined references\n"
- \"Citation %.%# undefined"
-This setting defines a set of patterns which will be filtered out when
-displaying the output from the latex compiler. This is to aid in filtering out
-very common warnings/errors.
-
-NOTE: Remember to check the value of g:Tex_IgnoreLevel [|ls_a_dB|] when you
- change this setting. For example, if you append a new pattern which you
- would like to ignore by default, increase the value of g:Tex_IgnoreLevel.
-
-
-
-
-g:Tex_IgnoreLevel *ls_11_6_6* *ls_a_dB*
- *Tex_IgnoreLevel*
-
-
-Type Integer
-Default Value 7
-
-This setting defines a "filter level" or an "ignore level". A value of 7 for
-instance means that any warning/error matching with any of the first 7 fields of
-g:Tex_IgnoredWarnings [|ls_a_dA|] will be ignored. Setting this value to zero
-will mean that no error/warning is ignored. However, even with a value of zero,
-Latex-Suite will filter out most of the text which a LaTeX compiler typically
-produces. Use >
- TCLevel strict
-from within Vim in order to see all the lines from the compiler's output.
-
-
-Tex_UseMakefile *ls_11_6_7* *ls_a_dC*
- *Tex_UseMakefile*
-
-Type boolean
-Default Value 1
-
-When set to 1, then if a makefile or Makefile is present in the current
-directory, then Latex-Suite sets the makeprg option to just "make <target>",
-where <target> is the target format chosen using the TCTarget or TTarget
-commands.
-
-When set to 0, then Latex-Suite will set the makeprg setting to whatever is
-defined by the g:Tex_CompileRule_target [|ls_a_dx|] setting.
-
-
-g:Tex_GotoError *ls_11_6_8* *ls_a_dD*
- *Tex_GotoError*
-
-
-Type boolean
-Default Value 1
-
-If set to 1, then pressing \ll will take you to the location of the first
-warning/error, otherwise you will remain in the original location but the
-errors/warnings will be listed in the preview window.
-
---------------------------------------------------------------------------------
-Viewer Customization *ls_11_7* *ls_a_dE*
- *customizing-viewing*
-
-The following settings affect how Latex-Suite will display compiled files.
-
-
-
-g:Tex_ViewRule_<format> *ls_11_7_1* *ls_a_dF*
- *Tex_ViewRule_format*
-
-Here <format> refers to a format such as dvi, ps, etc. This variable defines the
-program which will be called to display a file of that format.
-
-By default, Latex-Suite defines viewer programs for viewing DVI, PS and PDF
-formats as follows:
-
- Windows Unix~
-g:Tex_ViewRule_dvi 'yap -1' 'xdvi'
-g:Tex_ViewRule_ps 'gsview32' 'ghostview'
-g:Tex_ViewRule_pdf 'AcroRd32' 'xpdf'
-
-For Macintosh systems, these strings are left empty by default. This lets the
-system pick the program for each format. If you define these variables for Mac,
-the system choice will be over-ridden.
-
-Latex-Suite appends file.format to the above settings while calling the external
-programs. For example, with >
- let g:Tex_ViewRule_dvi = 'yap -1'
-yap is called as >
- !start yap -1 file.dvi
-from within Vim. (The initial start is used on Windows platforms is to make yap
-start as a separate process.) If you find the way Latex-Suite constructs the
-command line too restrictive, you can use the Tex_ViewRuleComplete_format
-[|ls_a_dG|] setting for more complete control on how the command line is
-constructed while calling the external program for viewing.
-
-NOTE: For windows, you will need to set the $PATH variable to include the paths
- to yap, AcroRd32, gsview32 and any other programs. See your system
- documentation for how to do this.
-
-
-NOTE: Default Viewing Format
- ----------------------
- To change the default format for viewing files, set the
- g:Tex_DefaultTargetFormat [|ls_a_dw|] variable.
-
-
-
-
-Tex_ViewRuleComplete_<format> *ls_11_7_2* *ls_a_dG*
- *Tex_ViewRuleComplete_format*
-
-Here <format> refers to the extension of a output format such as dvi, html etc.
-
-Tex_ViewRuleComplete_format takes precedence over Tex_ViewRule_format if both
-are specified. By default, Latex-Suite does not define values for
-Tex_ViewRuleComplete_format for any format. Unlike in the case of
-Tex_ViewRule_format, Latex-Suite does not modify Tex_ViewRuleComplete_format at
-all in constructing the command line. The only modification is to substitute
-'$*' everywhere in the string with the name of the file being viewed (without
-the extension).
-
-NOTE: IMPORTANT
- ---------
- Make sure you make the process go into the background otherwise vim will
- wait for the viewer to terminate before letting you edit the file again.
-
- To make a process go into the background on a *nix platform, use a
- trailing & in the setting. On Windows, use start at the beginning of the
- setting. Example: Suppose you have a latex->html converter which converts
- a file say foo.tex to a file foo/index.html. Then you would use: >
- " On *nix platform
- let g:Tex_ViewRuleComplete_html = 'MozillaFirebird $*/index.html &'
- " On windows platform
- let g:Tex_ViewRuleComplete_html = 'start MozillaFirebird $*/index.html'
-<
-
-
-
---------------------------------------------------------------------------------
-Menu Customization *ls_11_8* *ls_a_dH*
- *customizing-menus*
-
-In addition to using the variables defined in this section to affect the
-menu-layout permanently (i.e, the layout Latex-Suite will start with), you can
-also use the TeX-Suite > Configure Menu menu to dynamically configure the menu
-layout after Latex-Suite has started.
-
-
-
-g:Tex_Menus *ls_11_8_1* *ls_a_dI*
- *Tex_Menus*
-
-
-Type Boolean
-Default Value 1
-
-If set to 0, Latex-Suite will suppress showing all menus. Useful if you mostly
-work in terminals.
-
-
-g:Tex_MainMenuLocation *ls_11_8_2* *ls_a_dJ*
- *Tex_MainMenuLocation*
-
-
-Type number
-Default Value 80
-
-This setting decides the location of the first top-level Latex-Suite menu. You
-can for example shift all the menus created by Latex-Suite to the very end by
-setting this value to a large number like 990.
-
-
-g:Tex_MathMenus *ls_11_8_3* *ls_a_dK*
- *Tex_MathMenus*
-
-
-Type Boolean
-Default Value 1
-
-The Tex-Math menu consists of hundreds of mathematical symbols used in LaTeX.
-This menu comprises about 75% of the menus.
-
-
-g:Tex_NestElementMenus *ls_11_8_4* *ls_a_dL*
- *Tex_NestElementMenus*
-
-
-Type Boolean
-Default Value 1
-
-This setting controls the "compactness" of the menus. If set to 1, then the
-Font, Counter and Dimensioning menus are collected together in a single menu
-called Tex-Elements, otherwise, they will each get a separate menu.
-
-
-g:Tex_PackagesMenu *ls_11_8_5* *ls_a_dM*
- *Tex_PackagesMenu*
-
-
-Type Boolean
-Default Value 1
-
-Setting this to zero will stop Latex-Suite from automatically creating the
-TeX-Suite > Packages > Supported menu at startup. You can still create the menu
-after startup by going to TeX-Suite > Configure Menu.
-
-
-g:Tex_NestPackagesMenu *ls_11_8_6* *ls_a_dN*
- *Tex_NestPackagesMenu*
-
-
-Type String
-Default Value 'TeX-'
-
-This string is the prefix added to all the menus created by Latex-Suite. If you
-define this variable with a dot ('.') as the last character, then all the menus
-created by Latex-Suite will be nested under a single master menu. For example,
-set this to '&LaTeX-Suite.' to nest all menus under a menu called &LaTeX-Suite.
-
-
-g:Tex_UseUtfMenus *ls_11_8_7* *ls_a_dO*
- *Tex_UseUtfMenus*
-
-
-Type Boolean
-Default Value 0
-
-This setting controls whether Latex-Suite uses utf-8 symbols to display some of
-the mathematical symbols in the TeX-Math menu. It is necessary for your
-system/GUI to support utf-8. Setting this to 1 has the side-effect of setting
-the 'encoding' option of Vim to 'utf-8'.
-
---------------------------------------------------------------------------------
-Folding Customization *ls_11_9* *ls_a_dP*
- *customizing-folding*
-
-The following settings control the folding [|ls_a_ci|] functionality of
-Latex-Suite.
-
-
-
-g:Tex_Folding *ls_11_9_1* *ls_a_dQ*
- *Tex_Folding*
-
-
-Type Boolean
-Default Value 1
-
-Setting this to zero completely disables Latex-Suite's folding functionality.
-However, the TexFoldTextFunction() is still available in case you want to use
-another folding scheme but still want to continue using the fold text function.
-
-
-g:Tex_AutoFolding *ls_11_9_2* *ls_a_dR*
- *Tex_AutoFolding*
-
-
-Type Boolean
-Default Value 1
-
-This setting controls whether Latex-Suite automatically creates manual folds for
-a file when it is opened. You can still use the \rf mapping to refresh/create
-folds even when this variable is set to zero.
-
---------------------------------------------------------------------------------
-Package Handling Customization *ls_11_10* *ls_a_dS*
- *customizing-packages*
-
-These settings affect the custom packages [|ls_a_bN|] functionality in
-Latex-Suite
-
-
-
-g:Tex_TEXINPUTS *ls_11_10_1* *ls_a_dT*
- *Tex_TEXINPUTS*
-
-
-Type string
-Default Value ''
-
-This setting describes the directories scanned by Latex-Suite while searching
-for custom user packages as described in the custom packages [|ls_a_bN|]
-section. Do not include the present directory in this setting. The present
-directory is always scanned for custom packages.
-
-This string should be set in the syntax accepted by Vim's native 'path' setting.
-
-================================================================================
-Credits *ls_12* *ls_a_dU*
- *latex-suite-credits*
-
-
-
-And finally, the credits:
-
-
-Artur R. Czechowski maintains the BSD package of Latex-Suite. Lots of valuable
- feedback.
-Lubomir Host provided the diacritics and also helped in development.
-Alexander Wagner valuable suggestions during development.
-Luc Hermitte his variation of Stephen Riehm's bracketing system is used
- in Latex-Suite.
-Gergely Kontra the clever little JumpFunc() in imaps.vim is due to him.
- The implementation of the templates also borrows from
- mu-template.vim by him.
-Dimitri Antoniou author of ltags and also provided the nice tip about
- forward / reverse search on DVI documents.
-Stephen Riehm the extremely helpful bracketing system is from him.
-Alan Schmitt provided macros/folding elements. Continued feedback,
- bug-reports/fixes.
-Hari Krishna Dara for ExecMap(), the clever little function which makes
- typing visual mode mappings so much easier and error-free.
-Alan G Isac for the comprehensive BibT() function for entering bibtex
- entries.
-Gontran Baerts for libList.vim
-Peter Heslin useful discussion and also a lot of bug fixes. the
- %%fakesection in folding.vim.
-Zhang Lin-bo lots of very useful additions to folding. The code for
- customizing the folding scheme is due to him.
-
-A large number of functions in Latex-Suite come from various other people. Some
-of those people might have been missed here. Each function should however have
-the author's name/e-mail above it. Thats the more authoritative place to check
-out who has done what.
-
- *latex-suite-maintainer* *ls_a_eC*
-The current maintainer(s) of Latex-Suite is(are)
-
-
-Srinath Avadhanula <srinath@fastmail.fm>
-
-Mikolaj Machowski <mikmach@wp.pl>
-
-Benji Fisher <benji@member.AMS.org>
-
-================================================================================
-URLs used in this file
-
-*ls_u_1* : http://vim-latex.sourceforge.net
-*ls_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download
-*ls_u_3* : http://www.cygwin.com
-*ls_u_4* : http://www.google.com/search?q=windows%20gnu%20grep
-
-================================================================================
-About this file
-
-This file was created automatically from its XML variant using db2vim. db2vim is
-a python script which understands a very limited subset of the Docbook XML 4.2
-DTD and outputs a plain text file in vim help format.
-
-db2vim can be obtained via anonymous CVS from sourceforge.net. Use
-
-cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
-
-Or you can visit the web-interface to sourceforge CVS at:
-http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
-
-The following modelines should nicely fold up this help manual.
-
-vim:ft=help:fdm=expr:nowrap
-vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
-vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
-================================================================================
diff --git a/.vim/doc/latexhelp.txt b/.vim/doc/latexhelp.txt
deleted file mode 100644
index 2782424..0000000
--- a/.vim/doc/latexhelp.txt
+++ /dev/null
@@ -1,2430 +0,0 @@
-*latexhelp.txt* For Vim version 6.0. Last change: 2001 Dec 20
-
-
- LATEX HELP 1.6
- translated (with minor changes) for vim
- by Mikolaj Machowski
-
-This file documents LaTeX2e, a document preparation system. LaTeX2e is a
-macro package for TeX.
-
- This is edition 1.6 of the LaTeX2e documentation, and is for the Texinfo
-that is distributed as part of Version 19 of GNU Emacs. It uses version
-2.134 or later of the texinfo.tex input file.
-
- This is translated from LATEX.HLP v1.0a in the VMS Help Library. The
-pre-translation version was written by George D. Greenwade of Sam Houston
-State University.
-
- The LaTeX 2.09 version was written by Stephen Gilmore <stg@dcs.ed.ac.uk>.
-
- The LaTeX2e version was adapted from this by Torsten Martinsen
-<bullestock@dk-online.dk>.
-
- Version for vim of this manual was written by Mikolaj Machowski
-<mikmach@wp.pl>
-
- Copyright 1988,1994 Free Software Foundation, Inc. Copyright 1994-1996
-Torsten Martinsen. Copyright for `translation' for vim Mikolaj Machowski 2001.
-
- Permission is granted to make and distribute verbatim copies of this manual
-provided the copyright notice and this permission notice are preserved on
-all copies.
-
- Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
- Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the sections entitled "Distribution" and "General Public
-License" may be included in a translation approved by the author instead of
-in the original English.
-
-==============================================================================
-*LaTeX* *latex*
-
-The LaTeX command typesets a file of text using the TeX program and the LaTeX
-Macro package for TeX. To be more specific, it processes an input file
-containing the text of a document with interspersed commands that describe how
-the text should be formatted.
-
-1. Commands |latex-commands|
-2. Counters |latex-counters|
-3. Cross References |latex-references|
-4. Definitions |latex-definitions|
-5. Document Classes |latex-classes|
-6. Layout |latex-layout|
-7. Environments |latex-environments|
-8. Footnotes |latex-footnotes|
-9. Lengths |latex-lengths|
-10. Letters |latex-letters|
-11. Line & Page Breaking |latex-breaking|
-12. Making Paragraphs |latex-paragraphs|
-13. Margin Notes |latex-margin-notes|
-14. Math Formulae |latex-math|
-15. Modes |latex-modes|
-16. Page Styles |latex-page-styles|
-17. Sectioning |latex-sectioning|
-18. Spaces & Boxes |latex-spaces-boxes|
-19. Special Characters |latex-special-char|
-20. Splitting the Input |latex-inputting|
-21. Starting & Ending |latex-start-end|
-22. Table of Contents |latex-toc|
-23. Terminal Input/Output |latex-terminal|
-24. Typefaces |latex-typefaces|
-25. Parameters |latex-parameters|
-
-==============================================================================
-1. Commands *latex-commands*
-
-A LaTeX command begins with the command name, which consists of a \ followed
-by either
- (a) a string of letters or
- (b) a single non-letter.
-
-Arguments contained in square brackets, [], are optional while arguments
-contained in braces, {}, are required.
-
-NOTE: LaTeX is case sensitive. Enter all commands in lower case unless
-explicitly directed to do otherwise.
-
-==============================================================================
-2. Counters *latex-counters*
-
-|\addtocounter| Add a quantity to a counter
-|\alph| Print value of a counter using letters
-|\arabic| Print value of a counter using numerals
-|\fnsymbol| Print value of a counter using symbols
-|\newcounter| Define a new counter
-|\refstepcounter| Add to counter, resetting subsidiary counters
-|\roman| Print value of a counter using roman numerals
-|\setcounter| Set the value of a counter
-|\stepcounter| Add to counter, resetting subsidiary counters
-|\usecounter| Use a specified counter in a list environment
-|\value| Use the value of a counter in an expression
-
-Everything LaTeX numbers for you has a counter associated with it. The name of
-the counter is the same as the name of the environment or command that
-produces the number, except with no |\\|. (|lc-enumi| - |lc-enumiv| are used
-for the nested |\enumerate| environment.) Below is a list of the counters
-used in LaTeX's standard document classes to control numbering.
-
- |part| |paragraph| |figure| |enumi| |itemi|
- |chapter| |subparagraph| |table| |enumii| |itemii|
- |section| |page| |footnote| |enumiii| |itemiii|
- |subsection| |equation| |mpfootnote| |enumiv| |itemiv|
- |subsubsection|
-
-
-\addtocounter{counter}{value} *\addtocounter*
- Increments the {counter} by the amount specified by the
- {value} argument. The {value} argument can be negative.
-
-\alph{counter} *\alph* *\Alph*
-\Alph{counter}
- This command causes the value of the counter to be printed in
- alphabetic characters. |\alph| command uses lower case
- alphabetic alphabetic characters, i.e., a, b, c... while the
- |\Alph| command uses upper case alphabetic characters, i.e.,
- A, B, C....
-
-\arabic{counter} *\arabic*
- Causes the value of the {counter} to be printed in Arabic
- numbers, i.e., 3.
-
-\fnsymbol{counter} *\fnsymbol*
- Causes the value of the {counter} to be printed in a specific
- sequence of nine symbols that can be used for numbering
- footnotes.
- Note: counter must have a value between 1 and 9 inclusive.
-
-\newcounter{foo}[counter] *\newcounter*
- Defines a new counter named {foo}. The counter is initialized
- to zero. The optional argument [counter] causes the counter
- {foo} to be reset whenever the counter named in the optional
- argument is incremented.
-
-\refstepcounter{counter} *\refstepcounter*
- Command works like |\stepcounter|, except it also defines the
- current |\ref| value to be the result of \thecounter.
-
-\roman{counter} *\roman* *\Roman*
-\Roman{counter}
- Causes the value of the {counter} to be printed in Roman
- numerals. The |\roman| command uses lower case Roman numerals,
- i.e., i, ii, iii..., while the |\Roman| command uses upper case
- Roman numerals, i.e., I, II, III....
-
-\stepcounter{counter} *\stepcounter*
- Adds one to the {counter} and resets all subsidiary counters.
-
-\setcounter{counter}{value} *\setcounter*
- Sets the value of the {counter} to that specified by the
- {value} argument.
-
-\usecounter{counter} *\usecounter*
- Command is used in the second argument of the |list|
- environment to allow the {counter} specified to be used to
- number the list items.
-
-\value{counter} *\value*
- Produces the value of the {counter} named in the mandatory
- argument. It can be used where LaTeX expects an integer or
- number, such as the second argument of a |\setcounter| or
- |\addtocounter| command, or in: >
- \hspace{\value{foo}\parindent}
-< It is useful for doing arithmetic with counters.
-
-==============================================================================
-3. Cross References *latex-references*
-
-One reason for numbering things like figures and equations is to refer the
-reader to them, as in "See Figure 3 for more details."
-
-|\label| Assign a symbolic name to a piece of text
-|\pageref| Refer to a page number
-|\ref| Refer to a section, figure or similar
-
-
-\label{key} *\label*
- Command appearing in ordinary text assigns to the {key} the
- number of the current sectional unit; one appearing inside a
- numbered environment assigns that number to the {key}.
-
- A {key} can consist of any sequence of letters, digits, or
- punctuation characters. Upper and lowercase letters are
- different.
-
- To avoid accidentally creating two labels with the same name,
- it is common to use labels consisting of a prefix and a suffix
- separated by a colon. The prefixes conventionally used are
- * 'cha' for chapters
- * 'sec' for lower-level sectioning commands
- * 'fig' for figures
- * 'tab' for tables
- * 'eq' for equations
- Thus, a label for a figure would look like: >
- \label{fig:bandersnatch}
-
-\pageref{key} *\pageref*
- Command produces the page number of the place in the text
- where the corresponding |\label| command appears. ie. where
- \label{key} appears.
-
-\ref{key} *\ref*
- Command produces the number of the sectional unit, equation
- number, ... of the corresponding |\label| command.
-
-==============================================================================
-4. Definitions *latex-definitions*
-
-|\newcommand| Define a new command
-|\newenvironment| Define a new environment
-|\newtheorem| Define a new theorem-like environment
-|\newfont| Define a new font name
-
-
-\newcommand{cmd}[args]{definition} *\newcommand* *\renewcommand*
-\newcommand{cmd}[args][default]{definition}
-\renewcommand{cmd}[args]{definition}
-\renewcommand{cmd}[args][default]{definition}
-
-These commands define (or redefine) a command.
-
-{cmd} A command name beginning with a |\\|. For |\newcommand| it must
- not be already defined and must not begin with |\end|; for
- |\renewcommand| it must already be defined.
-
-{args} An integer from 1 to 9 denoting the number of arguments of the
- command being defined. The default is for the command to have
- no arguments.
-
-{default} If this optional parameter is present, it means that the
- command's first argument is optional. The default value of the
- optional argument is default.
-
-{definition} The text to be substituted for every occurrence of {cmd}; a
- parameter of the form #n in {cmd} is replaced by the text of
- the nth argument when this substitution takes place.
-
- *\newenvironment* *\renewenvironment*
-\newenvironment{nam}[args]{begdef}{enddef}
-\newenvironment{nam}[args][default]{begdef}{enddef}
-\renewenvironment{nam}[args]{begdef}{enddef}
-
-These commands define or redefine an environment.
-
-{nam} The name of the environment. For |\newenvironment| there must
- be no currently defined environment by that name, and the
- command \nam must be undefined. For |\renewenvironment| the
- environment must already be defined.
-
-{args} An integer from 1 to 9 denoting the number of arguments of
- the newly-defined environment. The default is no arguments.
-
-{default} If this is specified, the first argument is optional, and
- default gives the default value for that argument.
-
-{begdef} The text substituted for every occurrence of \begin{nam}; a
- parameter of the form #n in {cmd} is replaced by the text of
- the nth argument when this substitution takes place.
-
-{enddef} The text substituted for every occurrence of \end{nam}. It
- may not contain any argument parameters.
-
-
-\newtheorem{envname}{caption}[within] *\newtheorem*
-\newtheorem{envname}[numberedlike]{caption}
-
-This command defines a theorem-like environment.
-
-{envname} The name of the environment to be defined. A string of
- letters. It must not be the name of an existing environment or
- counter.
-
-{caption} The text printed at the beginning of the environment, right
- before the number. This may simply say "Theorem", for example.
-
-{within} The name of an already defined counter, usually of a sectional
- unit. Provides a means of resetting the new theorem counter
- within the sectional unit.
-
-{numberedlike} The name of an already defined theorem-like environment.
-
-The |\newtheorem| command may have at most one optional argument.
-
-
-\newfont{cmd}{fontname} *\newfont*
- Defines the command name {cmd}, which must not be currently
- defined, to be a declaration that selects the font named
- {fontname} to be the current font.
-
-==============================================================================
-5. Document Classes *latex-classes*
-
-
-\documentclass[options]{class} *\documentclass*
-
-Valid LaTeX document classes include:
- *article *article-class*
- *report *report-class*
- *letter *letter-class*
- *book *book-class*
- *slides *slides-class*
-
-All the standard classes (except slides) accept the following options for
-selecting the typeface size (10 pt is default):
-
-10pt, 11pt, 12pt
-
-All classes accept these options for selecting the paper size (default is
-letter):
-
-a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
-
-Miscellaneous options:
-
-landscape *landscape*
- Selects landscape format. Default is portrait.
-
-titlepage, notitlepage *notitlepage*
- Selects if there should be a separate title page.
-
-leqno *leqno* *rqno*
- Equation number on left side of equations. Default is
- right side.
-
-fleqn *fleqn*
- Displayed formulas flush left. Default is centred.
-
-openbib *openbib*
- Use "open" bibliography format.
-
-draft, final *draft* *final*
- Mark/do not mark overfull boxes with a rule. Default is
- final.
-
-These options are not available with the slides class:
-
-oneside, twoside *oneside* *twoside*
- Selects one- or twosided layout. Default is oneside,
- except for the book class.
-
-openright, openany *openright* *openany*
- Determines if a chapter should start on a right-hand page.
- Default is openright for book.
-
-onecolumn, twocolumn *onecolumn* *twocolumn*
- One or two columns. Defaults to one column.
-
-The slides class offers the option clock for printing the time at the bottom
-of each |\note|.
-
-If you specify more than one option, they must be separated by a comma.
-
-\usepackage[options]{pkg} *\usepackage*
- Additional packages are loaded by this. If you
- specify more than one package, they must be separated by a
- comma.
-
-Any options given in the |\documentclass| command that are unknown by the
-selected document class are passed on to the packages loaded with |\usepackage|.
-
-==============================================================================
-6. Layout *latex-layout*
-
-Miscellaneous commands for controlling the general layout of the page.
-
-|\flushbottom| Make all text pages the same height.
-|\onecolumn| Use one-column layout.
-|\raggedbottom| Allow text pages of differing height.
-|\twocolumn| Use two-column layout.
-
-\flushbottom *\flushbottom*
- Makes all text pages the same height, adding extra vertical
- space when necessary to fill out the page. This is the
- standard if twocolumn mode is selected.
-
-\onecolumn *\onecolumn*
- Starts a new page and produces single-column output.
-
-\raggedbottom *\raggedbottom*
- Makes all pages the height of the text on that page. No extra
- vertical space is added.
-
-\twocolumn[text] *\twocolumn*
- Starts a new page and produces two-column output. If the
- optional [text] argument is present, it is typeset in
- one-column mode.
-
-==============================================================================
-7. Environments *latex-environments*
-
- *\begin* *\end*
-LaTeX provides a number of different paragraph-making environments. Each
-environment begins and ends in the same manner: >
-
- \begin{environment-name}
- .
- .
- .
- \end{environment-name}
-<
-a. |array| Math arrays
-b. |center| Centred lines
-c. |description| Labelled lists
-d. |enumerate| Numbered lists
-e. |eqnarray| Sequences of aligned equations
-f. |equation| Displayed equation
-g. |figure| Floating figures
-h. |flushleft| Flushed left lines
-i. |flushright| Flushed right lines
-j. |itemize| Bulleted lists
-k. |letter| Letters
-l. |list| Generic list environment
-m. |minipage| Miniature page
-n. |picture| Picture with text, arrows, lines and circles
-o. |quotation| Indented environment with paragraph indentation
-p. |quote-l| Indented environment with no paragraph indentation
-q. |tabbing| Align text arbitrarily
-r. |table| Floating tables
-s. |tabular| Align text in columns
-t. |thebibliography| Bibliography or reference list
-u. |theorem| Theorems, lemmas, etc
-v. |titlepage| For hand crafted title pages
-x. |verbatim| Simulating typed input
-y. |verse| For poetry and other things
-
-==============================================================================
- a. array *array*
->
- \begin{array}{col1col2...coln}
- column 1 entry & column 2 entry ... & column n entry \\
- .
- .
- .
- \end{array}
-
-Math arrays are produced with the |array| environment. It has a single mandatory
-argument describing the number of columns and the alignment within them. Each
-column, coln, is specified by a single letter that tells how items in that row
-should be formatted.
- * c -- for centred
- * l -- for flush left
- * r -- for flush right
-Column entries must be separated by an |&|. Column entries may include other
-LaTeX commands. Each row of the array must be terminated with the string |\\|.
-
-Note that the |array| environment can only be used in |math-mode|, so normally
-it is used inside an |equation| environment.
-
-==============================================================================
-b. center *center*
->
- \begin{center}
- Text on line 1 \\
- Text on line 2 \\
- .
- .
- .
- \end{center}
-
-The |\center| environment allows you to create a paragraph consisting of lines
-that are centred within the left and right margins on the current page. Each
-line must be terminated with the string |\\|.
-
-\centering *\centering*
- This declaration corresponds to the |center| environment. This
- declaration can be used inside an environment such as
- |quote-l| or in a |\parbox|. The text of a |figure| or |table|
- can be centred on the page by putting a |\centering| command
- at the beginning of the |figure| or |table| environment.
- Unlike the |center| environment, the |\centering| command does
- not start a new paragraph; it simply changes how LaTeX formats
- paragraph units. To affect a paragraph unit's format, the
- scope of the declaration must contain the blank line or |\end|
- command (of an environment like |quote-l|) that ends the
- paragraph unit.
-
-==============================================================================
-c. description *description*
->
- \begin{description}
- \item [label] First item
- \item [label] Second item
- .
- .
- .
- \end{description}
-
-The |description| environment is used to make labelled lists. The label is
-bold face and flushed right.
-
-==============================================================================
-d. enumerate *enumerate*
->
- \begin{enumerate}
- \item First item
- \item Second item
- .
- .
- .
- \end{enumerate}
-
-The |enumerate| environment produces a numbered list. Enumerations can be
-nested within one another, up to four levels deep. They can also be nested
-within other paragraph-making environments.
-
-\item Each item of an enumerated list begins with an |\item|
- command. There must be at least one |\item| command
- within the environment.
-
-The |enumerate| environment uses the |\enumi| through |\enumiv| counters (see
-section |latex-counters|). The type of numbering can be changed by redefining
-\theenumi etc.
-
-==============================================================================
-e. eqnarray *eqnarray*
->
- \begin{eqnarray}
- math formula 1 \\
- math formula 2 \\
- .
- .
- .
- \end{eqnarray}
-
-The |eqnarray| environment is used to display a sequence of equations or
-inequalities. It is very much like a three-column |array| environment, with
-consecutive rows separated by |\\| and consecutive items within a row separated
-by an |&|.
-
-\nonumber *\nonumber*
- An equation number is placed on every line unless that
- line has a |\nonumber| command.
-
-\lefteqn *\lefteqn*
- The command |\lefteqn| is used for splitting long
- formulas across lines. It typesets its argument in
- display style flush left in a box of zero width.
-
-==============================================================================
-f. equation *equation*
->
- \begin{equation}
- math formula
- \end{equation}
-
-The |equation| environment centres your equation on the page and places the
-equation number in the right margin.
-
-==============================================================================
-g. figure *figure*
->
- \begin{figure}[placement]
- body of the figure
- \caption{figure title}
- \end{figure}
-
-Figures are objects that are not part of the normal text, and are usually
-"floated" to a convenient place, like the top of a page. Figures will not be
-split between two pages.
-
-The optional argument [placement] determines where LaTeX will try to place
-your figure. There are four places where LaTeX can possibly put a float:
-
-h (Here) at the position in the text where the figure
- environment appears.
-t (Top) at the top of a text page.
-b (Bottom) at the bottom of a text page.
-p (Page of floats) on a separate float page, which is a page containing
- no text, only floats.
-
-The standard |report-class| and |article-class| use the default placement
-[tbp].
-
-The body of the |figure| is made up of whatever text, LaTeX commands, etc. you
-wish.
-
-The \caption command allows you to title your figure.
-
-==============================================================================
-h. flushleft *flushleft*
->
- \begin{flushleft}
- Text on line 1 \\
- Text on line 2 \\
- .
- .
- .
- \end{flushleft}
-
-The |flushleft| environment allows you to create a paragraph consisting of
-lines that are flushed left, to the left-hand margin. Each line must be
-terminated with the string |\\|.
-
-\raggedright *\raggedright*
- This declaration corresponds to the |flushleft| environment.
- This declaration can be used inside an environment such as
- |quote-l| or in a |\parbox|. Unlike the |flushleft|
- environment, the |\raggedright| command does not start a new
- paragraph; it simply changes how LaTeX formats paragraph
- units. To affect a paragraph unit's format, the scope of the
- declaration must contain the blank line or |\end| command (of
- an environment like |quote-l|) that ends the paragraph unit.
-
-==============================================================================
-i. flushright *flushright*
->
- \begin{flushright}
- Text on line 1 \\
- Text on line 2 \\
- .
- .
- .
- \end{flushright}
-
-The |flushright| environment allows you to create a paragraph consisting of
-lines that are flushed right, to the right-hand margin. Each line must be
-terminated with the string |\\|.
-
-\raggedleft *\raggedleft*
- This declaration corresponds to the |flushright| environment.
- This declaration can be used inside an environment such as
- |quote-l| or in a |\parbox|. Unlike the |flushright|
- environment, the |\raggedleft| command does not start a new
- paragraph; it simply changes how LaTeX formats paragraph
- units. To affect a paragraph unit's format, the scope of the
- declaration must contain the blank line or |\end| command (of
- an environment like |quote-l|) that ends the paragraph unit.
-
-==============================================================================
-j. itemize *itemize*
->
- \begin{itemize}
- \item First item
- \item Second item
- .
- .
- .
- \end{itemize}
-
-The |itemize| environment produces a "bulleted" list. Itemizations can be
-nested within one another, up to four levels deep. They can also be nested
-within other paragraph-making environments.
-
-\item *\item*
- Each item of an itemized list begins with an |\item| command.
- There must be at least one |\item| command within the
- environment.
-
-The itemize environment uses the |\itemi| through |\itemiv| counters (see
-section |latex-counters|). The type of numbering can be changed by redefining
-\theitemi etc.
-
-==============================================================================
-k. letter *\letter*
-
-This environment is used for creating letters. See section |latex-letters|.
-
-==============================================================================
-l. list *list*
-
-The |list| environment is a generic environment which is used for defining many
-of the more specific environments. It is seldom used in documents, but often
-in macros.
->
- \begin{list}{label}{spacing}
- \item First item
- \item Second item
- .
- .
- .
- \end{list}
-
-'label' The {label} argument specifies how items should be labelled.
- This argument is a piece of text that is inserted in a box to
- form the {label}. This argument can and usually does contain
- other LaTeX commands.
-
-'spacing' The {spacing} argument contains commands to change the spacing
- parameters for the |list|. This argument will most often be
- null, i.e., {}. This will select all default spacing which
- should suffice for most cases.
-
-==============================================================================
-m. minipage *minipage*
->
- \begin{minipage}[position]{width}
- text
- \end{minipage}
-
-The |minipage| environment is similar to a |\parbox| command. It takes the
-same optional [position] argument and mandatory {width} argument. You may use
-other paragraph-making environments inside a |minipage|. Footnotes in a
-minipage environment are handled in a way that is particularly useful for
-putting footnotes in figures or tables. A |\footnote| or |\footnotetext|
-command puts the footnote at the bottom of the minipage instead of at the
-bottom of the page, and it uses the |\mpfootnote| counter instead of the
-ordinary footnote counter. See sections |latex-counters| and
-|latex-footnotes|.
-
-NOTE: Don't put one |minipage| inside another if you are using footnotes; they
-may wind up at the bottom of the wrong minipage.
-
-==============================================================================
-n. picture *picture*
->
- size position
- \begin{picture}(width,height)(x offset,y offset)
- .
- .
- picture commands
- .
- .
- \end{picture}
-
-The |picture| environment allows you to create just about any kind of picture
-you want containing text, lines, arrows and circles. You tell LaTeX where to
-put things in the picture by specifying their coordinates. A coordinate is a
-number that may have a decimal point and a minus sign -- a number like 5, 2.3
-or -3.1416. A coordinate specifies a length in multiples of the unit length
-|\unitlength|, so if |\unitlength| has been set to 1cm, then the coordinate
-2.54 specifies a length of 2.54 centimetres. You can change the value of
-|\unitlength| anywhere you want, using the |\setlength| command, but strange
-things will happen if you try changing it inside the |picture| environment.
-
-A position is a pair of coordinates, such as (2.4,-5), specifying the point
-with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the
-usual way with respect to an origin, which is normally at the lower-left
-corner of the |picture|.
-Note that when a position appears as an argument, it is not enclosed in
-braces; the parentheses serve to delimit the argument.
-
-The |picture| environment has one mandatory argument, which is a position. It
-specifies the size of the picture. The environment produces a rectangular box
-with width and height determined by this argument's x- and y-coordinates.
-
-The |picture| environment also has an optional position argument, following
-the size argument, that can change the origin. (Unlike ordinary optional
-arguments, this argument is not contained in square brackets.) The optional
-argument gives the coordinates of the point at the lower-left corner of the
-picture (thereby determining the origin). For example, if |\unitlength| has
-been set to 1mm, the command: >
- \begin{picture}(100,200)(10,20)
->
-produces a picture of width 100 millimetres and height 200 millimetres, whose
-lower-left corner is the point (10,20) and whose upper-right corner is
-therefore the point (110,220). When you first draw a picture, you will omit
-the optional argument, leaving the origin at the lower-left corner. If you
-then want to modify your picture by shifting everything, you just add the
-appropriate optional argument.
-
-The environment's mandatory argument determines the nominal size of the
-picture. This need bear no relation to how large the picture really is; LaTeX
-will happily allow you to put things outside the picture, or even off the
-page. The picture's nominal size is used by LaTeX in determining how much room
-to leave for it.
-
-Everything that appears in a picture is drawn by the |\put| command. The
-command: >
- \put (11.3,-.3){...}
-
-puts the object specified by ... in the picture, with its
-reference point at coordinates (11.3,-.3). The reference points for various
-objects will be described below.
-
-The |\put| creates an LR box (|lrbox|). You can put anything in the text
-argument of the |\put| that you'd put into the argument of an |\mbox| and
-related commands. When you do this, the reference point will be the lower left
-corner of the box.
-
-Picture commands:
-|\circle| Draw a circle
-|\dashbox| Draw a dashed box
-|\frame| Draw a frame around an object
-|\framebox(picture)| Draw a box with a frame around it
-|\line| Draw a straight line
-|\linethickness| Set the line thickness
-|\makebox(picture)| Draw a box of the specified size
-|\multiput| Draw multiple instances of an object
-|\oval| Draw an ellipse
-|\put| Place an object at a specified place
-|\shortstack| Make a pile of objects
-|\vector| Draw a line with an arrow
-
-\circle[*]{diameter} *\circle*
- Command produces a circle with a {diameter} as close to the
- specified one as possible. If the *-form of the command is
- used, LaTeX draws a solid circle.
- Note: only circles up to 40 pt can be drawn.
-
-
-\dashbox{dashlength}(width,height){...} *\dashbox*
- Draws a box with a dashed line. The |\dashbox| has an extra
- argument which specifies the width of each dash. A dashed box
- looks best when the width and height are multiples of the
- {dashlength}.
-
-\frame{...} *\frame*
- Puts a rectangular frame around the object specified in the
- argument. The reference point is the bottom left corner of the
- frame. No extra space is put between the frame and the object.
-
-\framebox(width,height)[position]{...} *\picture-framebox*
- The |\framebox| command is exactly the same as the
- |picture-makebox| command, except that it puts a frame around
- the outside of the box that it creates. The |\framebox|
- command produces a rule of thickness |\fboxrule|, and leaves a
- space |\fboxsep| between the rule and the contents of the box.
-
-\line(x slope,y slope){length} *\line*
- Draws a line of the specified length and slope.
- Note: LaTeX can only draw lines with slope = x/y, where x and
- y have integer values from -6 through 6.
-
-\linethickness{dimension} *\linethickness*
- Declares the thickness of horizontal and vertical lines in a
- |picture| environment to be dimension, which must be a
- positive length. It does not affect the thickness of slanted
- lines (|\line|) and circles (|circle|), or the quarter circles
- drawn by |\oval| to form the corners of an oval.
-
-\makebox(width,height)[position]{...} *picture-makebox*
- The makebox command for the |picture| environment is similar
- to the normal |\makebox| command except that you must specify
- a width and height in multiples of |\unitlength|.
- The optional argument, [position], specifies the quadrant that
- your text appears in. You may select up to two of the
- following:
- t - Moves the item to the top of the rectangle
- b - Moves the item to the bottom
- l - Moves the item to the left
- r - Moves the item to the right
-
- *\multiput*
-\multiput(x coord,y coord)(delta x,delta y){no of copies}{object}
- This command can be used when you are putting the same
- object in a regular pattern across a picture.
-
-\oval(width,height)[portion] *\oval*
- Produces a rectangle with rounded corners. The optional
- argument, [portion], allows you to select part of the oval.
- t - top portion
- b - bottom portion
- r - right portion
- l - left portion
- Note: the "corners" of the oval are made with quarter circles
- with a maximum radius of 20 pt, so large "ovals" will look
- more like boxes with rounded corners.
-
-\put(x coord,y coord){ ... } *\put*
- Places the item specified by the mandatory argument at the
- given coordinates.
-
-\shortstack[position]{... \\ ... \\ ...} *\shortstack*
- The |\shortstack| command produces a stack of objects.
- The valid positions are:
- r - right of the stack
- l - left of the stack
- c - centre of the stack (default)
-
-\vector(x slope,y slope){length} *\vector*
- Draws a line with an arrow of the specified length and slope.
- The x and y values must lie between -4 and +4, inclusive.
-
-==============================================================================
-o. quotation *quotation*
- >
- \begin{quotation}
- text
- \end{quotation}
-
-The margins of the |quotation| environment are indented on the left and the
-right. The text is justified at both margins and there is paragraph
-indentation. Leaving a blank line between text produces a new paragraph.
-
-==============================================================================
-p. quote *quote-l*
->
- \begin{quote}
- text
- \end{quote}
-
-The margins of the |quote-l| environment are indented on the left and the right.
-The text is justified at both margins. Leaving a blank line between text
-produces a new paragraph.
-
-==============================================================================
-q. tabbing *tabbing*
->
- \begin{tabbing}
- text \= more text \= still more text \= last text \\
- second row \> \> more \\
- .
- .
- .
- \end{tabbing}
-
-The |tabbing| environment provides a way to align text in columns. It works by
-setting tab stops and tabbing to them much the way you do with an ordinary
-typewriter.
-
-It is best suited for cases where the width of each column is constant and
-known in advance.
-
-This environment can be broken across pages, unlike the |tabular| environment.
-The following commands can be used inside a tabbing environment:
-
- *tab=*
-\= Sets a tab stop at the current position.
-
- *tab>*
-\> Advances to the next tab stop.
-
- *tab<*
-\< This command allows you to put something to the left of the
- local margin without changing the margin. Can only be used at
- the start of the line.
-
- *tab+*
-\+ Moves the left margin of the next and all the following
- commands one tab stop to the right.
-
- *tab-*
-\- Moves the left margin of the next and all the following
- commands one tab stop to the left.
-
- *tab'*
-\' Moves everything that you have typed so far in the current
- column, i.e. everything from the most recent \> (|tab>|), \<
- (|tab<|), \' (|tab'|), |\\|, or |\kill| command, to the right
- of the previous column, flush against the current column's tab
- stop.
-
- *tab`*
-\` Allows you to put text flush right against any tab stop,
- including tab stop 0. However, it can't move text to the right
- of the last column because there's no tab stop there. The \`
- (|tab`|) command moves all the text that follows it, up to the
- |\\| or \end{tabbing} command that ends the line, to the right
- margin of the tabbing environment. There must be no \>
- (|tab>|) or \' (|tab'|) command between the \` (|tab`|) and
- the command that ends the line.
-
- *\kill*
-\kill Sets tab stops without producing text. Works just like |\\|
- except that it throws away the current line instead of
- producing output for it. The effect of any \= (|tab=|), \+
- (|tab+|) or \- (|tab-|) commands in that line remain in
- effect.
-
- *\pushtabs*
-\pushtabs Saves all current tab stop positions. Useful for temporarily
- changing tab stop positions in the middle of a tabbing
- environment. Also restores the tab stop positions saved by the
- last |\pushtabs|.
-
- *taba*
-\a In a tabbing environment, the commands \= (|tab=|), \'
- (|tab'|) and \` (|tab`|) do not produce accents as normal.
- Instead, the commands \a=, \a' and \a` are used.
-
-This example typesets a Pascal function in a traditional format:
->
- \begin{tabbing}
- function \= fact(n : integer) : integer;\\
- \> begin \= \+ \\
- \> if \= n $>$ 1 then \+ \\
- fact := n * fact(n-1) \- \\
- else \+ \\
- fact := 1; \-\- \\
- end;\\
- \end{tabbing}
-
-==============================================================================
-r. table *\table*
->
- \begin{table}[placement]
- body of the table
- \caption{table title}
- \end{table}
-
-Tables are objects that are not part of the normal text, and are usually
-"floated" to a convenient place, like the top of a page. Tables will not be
-split between two pages.
-
-The optional argument [placement] determines where LaTeX will try to place
-your table. There are four places where LaTeX can possibly put a float:
-
- h (Here) at the position in the text where the table
- environment appears.
- t (Top) at the top of a text page.
- b (Bottom) at the bottom of a text page.
- p (Page of floats) on a separate float page, which is a page
- containing no text, only floats.
-
-The standard |report-class| and |article-class| use the default placement [tbp].
-
-The body of the table is made up of whatever text, LaTeX commands, etc., you
-wish.
-
-The \caption command allows you to title your table.
-
-==============================================================================
-s. tabular *tabular*
->
- \begin{tabular}[pos]{cols}
- column 1 entry & column 2 entry ... & column n entry \\
- .
- .
- .
- \end{tabular}
-
-or
->
- \begin{tabular*}{width}[pos]{cols}
- column 1 entry & column 2 entry ... & column n entry \\
- .
- .
- .
- \end{tabular*}
-
-These environments produce a box consisting of a sequence of rows of items,
-aligned vertically in columns. The mandatory and optional arguments consist
-of:
-
-{width} Specifies the width of the tabular* environment. There must be
- rubber space between columns that can stretch to fill out the
- specified width.
-
-[pos] Specifies the vertical position; default is alignment on the
- centre of the environment.
- t - align on top row
- b - align on bottom row
-
-{cols} Specifies the column formatting. It consists of a sequence of
- the following specifiers, corresponding to the sequence of
- columns and intercolumn material.
- l - A column of left-aligned items.
-
- r - A column of right-aligned items.
-
- c - A column of centred items.
-
- | - A vertical line the full height and depth of the
- environment.
-
- @{text} - This inserts text in every row. An @-expression
- suppresses the intercolumn space normally inserted
- between columns; any desired space between the
- inserted text and the adjacent items must be included
- in text. An \extracolsep{wd} command in an
- @-expression causes an extra space of width {wd} to
- appear to the left of all subsequent columns, until
- countermanded by another |\extracolsep| command. Unlike
- ordinary intercolumn space, this extra space is not
- suppressed by an @-expression. An |\extracolsep|
- command can be used only in an @-expression in the
- cols argument.
-
- p{wd} - Produces a column with each item typeset in a |\parbox|
- of width {wd}, as if it were the argument of a
- \parbox[t]{wd} command. However, a |\\| may not appear
- in the item, except in the following situations:
- 1. inside an environment like |minipage|, |array|, or
- |tabular|.
- 2. inside an explicit |\parbox|.
- 3. in the scope of a |\centering|, |\raggedright|, or
- |\raggedleft| declaration. The latter declarations must
- appear inside braces or an environment when used in a
- p-column element.
-
- {num}{cols} - Equivalent to num copies of cols, where num is any positive
- integer and cols is any list of column-specifiers,
- which may contain another -expression.
-
-These commands can be used inside a tabular environment:
-
-|\cline| Draw a horizontal line spanning some columns.
-|\hline| Draw a * horizontal line spanning all columns.
-|\multicolumn| Make an item spanning * several columns.
-|\vline| Draw a vertical line.
-
-
-\cline{i-j} *\cline*
- The |\cline| command draws horizontal lines across the columns
- specified, beginning in column i and ending in column j,
- which are identified in the mandatory argument.
-
-\hline *\hline*
- The |\hline| command will draw a horizontal line the width of
- the table. It's most commonly used to draw a line at the top,
- bottom, and between the rows of the table.
-
-\multicolumn{cols}{pos}{text} *\multicolumn*
- The |\multicolumn| is used to make an entry that spans several
- columns. The first mandatory argument, {cols}, specifies the
- number of columns to span. The second mandatory argument,
- {pos}, specifies the formatting of the entry:
- c - centered
- l - flushleft
- r - flushright.
- The third mandatory argument, {text}, specifies what text is
- to make up the entry.
-
-\vline *\vline*
- The |\vline| command will draw a vertical line extending the
- full height and depth of its row. An |\hfill| command can be
- used to move the line to the edge of the column. It can also
- be used in an @-expression.
-
-==============================================================================
-t. thebibliography *\thebibliography*
->
- \begin{thebibliography}{widestlabel}
- \bibitem[label]{cite_key}
- .
- .
- .
- \end{thebibliography}
-
-The |\thebibliography| environment produces a bibliography or reference list.
-
-In the |article-class|, this reference list is labelled "References"; in the
-|report-class|, it is labelled "Bibliography".
-
-{widestlabel} Text that, when printed, is approximately as wide as the
- widest item label produces by the |\bibitem| commands.
-
-|\bibitem| Specify a bibliography item.
-|\cite| Refer to a bibliography item.
-|\nocite| Include an item in the bibliography.
-|BibTeX| Automatic generation of bibliographies.
-
-\bibitem *\bibitem*
-\bibitem[label]{citekey}
- The |\bibitem| command generates an entry labelled by [label].
- If the [label] argument is missing, a number is generated as
- the label, using the |\enumi| counter. The {citekey} is any
- sequence of letters, numbers, and punctuation symbols not
- containing a comma. This command writes an entry on the `.aux'
- file containing {citekey} and the item's label. When this
- `.aux' file is read by the \begin{document} command, the
- item's label is associated with {citekey}, causing the
- reference to {citekey} by a |\cite| command to produce the
- associated label.
-
-\cite *\cite*
-\cite[text]{keylist}
- The {keylist} argument is a list of citation keys. This
- command generates an in-text citation to the references
- associated with the keys in {keylist} by entries on the `.aux'
- file read by the \begin{document} command.
- The optional text argument will appear after the
- citation, i.e.: >
- \cite[p.2]{knuth}
-< might produce `[Knuth, p. 2]'.
-
-\nocite *\nocite*
-\nocite{keylist}
- The |\nocite| command produces no text, but writes
- {keylist}, which is a list of one or more citation
- keys, on the `.aux' file.
-
-BibTeX *BibTeX* *bibtex*
- *\bibliographystyle*
-If you use the BibTeX program by Oren Patashnik (highly recommended if you
-need a bibliography of more than a couple of titles) to maintain your
-bibliography, you don't use the |thebibliography| environment. Instead, you
-include the lines:
->
- \bibliographystyle{style}
- \bibliography{bibfile}
-
-where {style} refers to a file style.bst, which defines how your citations
-will look. The standard styles distributed with BibTeX are:
-
-{alpha} Sorted alphabetically. Labels are formed from name of author and year
- of publication.
-{plain} Sorted alphabetically. Labels are numeric.
-{unsrt} Like plain, but entries are in order of citation.
-{abbrv} Like plain, but more compact labels.
-
-In addition, numerous other BibTeX style files exist tailored to the demands
-of various publications.
-
- *\bibliography*
-The argument to |\bibliography| refers to the file bibfile.bib, which should
-contain your database in BibTeX format. Only the entries referred to via
-|\cite| and |\nocite| will be listed in the bibliography.
-
-==============================================================================
-u. theorem *theorem*
->
- \begin{theorem}
- theorem text
- \end{theorem}
-
-The |theorem| environment produces "Theorem x" in boldface followed by your
-theorem text.
-
-==============================================================================
-v. titlepage *titlepage*
->
- \begin{titlepage}
- text
- \end{titlepage}
-
-The |titlepage| environment creates a title page, i.e. a page with no printed
-page number or heading. It also causes the following page to be numbered page
-one. Formatting the title page is left to you. The |\today| command comes in
-handy for title pages.
-
-Note that you can use the |\maketitle| to produce a standard title page.
-
-==============================================================================
-x. verbatim *verbatim*
->
- \begin{verbatim}
- text
- \end{verbatim}
-
-The |verbatim| environment is a paragraph-making environment that gets LaTeX
-to print exactly what you type in. It turns LaTeX into a typewriter with
-carriage returns and blanks having the same effect that they would on a
-typewriter.
-
-\verb *\verb*
-\verb char literal_text char
-\verb*char literal_text char
- Typesets literal_text exactly as typed, including
- special characters and spaces, using a typewriter |\tt|
- type style. There may be no space between |\verb| or
- |\verb|* and char (space is shown here only for
- clarity). The *-form differs only in that spaces are
- printed as `\verb*| |\'.
-
-==============================================================================
-y. verse *verse*
->
- \begin{verse}
- text
- \end{verse}
-
-The |verse| environment is designed for poetry, though you may find other uses
-for it.
-
-The margins are indented on the left and the right. Separate the lines of each
-stanza with |\\|, and use one or more blank lines to separate the stanzas.
-
-==============================================================================
-8. Footnotes *latex-footnotes*
-
-Footnotes can be produced in one of two ways. They can be produced with one
-command, the |\footnote| command. They can also be produced with two commands,
-the |\footnotemark| and the |\footnotetext| commands. See the specific command for
-information on why you would use one over the other.
-
-|\footnote| Insert a footnote
-|\footnotemark| Insert footnote mark only
-|\footnotetext| Insert footnote text only
-
-\footnote[number]{text} *\footnote*
- Command places the numbered footnote text at the bottom of the
- current page. The optional argument, number, is used to change
- the default footnote number. This command can only be used in
- outer paragraph mode; i.e., you cannot use it in sectioning
- commands like |\chapter|, in |\figure|, |\table| or in a
- |\tabular| environment.
-
-\footnotemark *\footnotemark*
- Command puts the footnote number in the text. This command can
- be used in inner paragraph mode. The text of the footnote is
- supplied by the |\footnotetext| command.
- This command can be used to produce several consecutive
- footnote markers referring to the same footnote by using
->
- \footnotemark[\value{footnote}]
-<
- after the first |\footnote| command.
-
-\footnotetext[number]{text} *\footnotetext*
- Command produces the text to be placed at the bottom of the
- page. This command can come anywhere after the |\footnotemark|
- command. The |\footnotetext| command must appear in outer
- paragraph mode. The optional argument, number, is used to
- change the default footnote number.
-
-==============================================================================
-9. Lengths *latex-lengths*
-
-A length is a measure of distance. Many LaTeX commands take a length as an
-argument.
-
-|\newlength| Define a new length.
-|\setlength| Set the value of a length.
-|\addtolength| Add a quantity to a length.
-|\settodepth| Set a length to the depth of something.
-|\settoheight| Set a length to the height of something.
-|\settowidth| Set a length to the width of something.
-|pre-lengths| Lengths that are, like, predefined.
-
-\newlength{\gnat} *\newlength*
- The |\newlength| command defines the mandatory argument, \gnat,
- as a length command with a value of 0in. An error occurs if a
- \gnat command already exists.
-
-\setlength{\gnat}{length} *\setlength*
- The |\setlength| command is used to set the value of a \gnat
- command. The {length} argument can be expressed in any terms
- of length LaTeX understands, i.e., inches (in), millimetres
- (mm), points (pt), etc.
-
-\addtolength{\gnat}{length} *\addtolength*
- The |\addtolength| command increments a \gnat by the amount
- specified in the {length} argument. It can be a negative
- amount.
-
-\settodepth{\gnat}{text} *\settodepth*
- The |\settodepth| command sets the value of a \gnat command
- equal to the depth of the {text} argument.
-
-\settoheight{\gnat}{text} *\settoheight*
- The |\settoheight| command sets the value of a \gnat command
- equal to the height of the {text} argument.
-
-\settowidth{\gnat}{text} *\settowidth*
- The |\settowidth| command sets the value of a \gnat command
- equal to the width of the {text} argument.
-
-Predefined lengths *pre-lengths*
-
-\width *\width*
-\height *\height*
-\depth *\depth*
-\totalheight *\totalheight*
- These length parameters can be used in the arguments of the
- box-making commands See section Spaces & Boxes. They specify
- the natural width etc. of the text in the box.
- \totalheight equals \height + \depth.
- To make a box with the text stretched to double the natural
- size, e.g., say: >
- \makebox[2\width]{Get a stretcher}
-
-==============================================================================
-10. Letters *latex-letters*
-
-You can use LaTeX to typeset letters, both personal and business. The letter
-document class is designed to make a number of letters at once, although you
-can make just one if you so desire.
-
-Your `.tex' source file has the same minimum commands as the other document
-classes, i.e., you must have the following commands as a minimum: >
- \documentclass{letter}
- \begin{document}
- ...
- letters
- ...
- \end{document}
-
-Each letter is a letter environment, whose argument is the name and address of
-the recipient. For example, you might have: >
- \begin{letter}
- {Mr. Joe Smith\\
- 2345 Princess St. \\
- Edinburgh, EH1 1AA}
- ...
- \end{letter}
-
-The letter itself begins with the |\opening| command. The text of the letter
-follows. It is typed as ordinary LaTeX input. Commands that make no sense in
-a letter, like |\chapter|, do not work. The letter closes with a |\closing|
-command.
-
-After the closing, you can have additional material. The |\cc| command produces
-the usual "cc: ...". There's also a similar |\encl| command for a list of
-enclosures. With both these commands, use|\\| to separate the items.
-
-These commands are used with the letter class:
-|\address| Your return address.
-|\cc| Cc list. closing Saying goodbye.
-|\encl| List of enclosed material.
-|\location| Your organisation's address.
-|\makelabels| Making address labels.
-|\name| Your name, for the return address.
-|\opening| Saying hello.
-|\ps| Adding a postscript.
-|\signature| Your signature.
-|\startbreaks| Allow page breaks.
-|\stopbreaks| Disallow page breaks.
-|\telephone| Your phone number.
-
-\address{Return address} *\address*
- The return address, as it should appear on the letter and the
- envelope. Separate lines of the address should be separated
- by |\\| commands. If you do not make an |\address| declaration,
- then the letter will be formatted for copying onto your
- organisation's standard letterhead. (See section Overview of
- LaTeX and Local Guide, for details on your local
- implementation). If you give an |\address| declaration, then
- the letter will be formatted as a personal letter.
-
-\cc{Kate Schechter\\Rob McKenna} *\cc*
- Generate a list of other persons the letter was sent to. Each
- name is printed on a separate line.
-
-\closing{text} *\closing*
- The letter closes with a |\closing| command, i.e., >
- \closing{Best Regards,} \encl{CV\\Certificates}
-< Generate a list of enclosed material.
-
-\location{address} *\location*
- This modifies your organisation's standard address. This only
- appears if the firstpage pagestyle is selected.
-
-\makelabels{number} *\makelabels*
- If you issue this command in the preamble, LaTeX will create a
- sheet of address labels. This sheet will be output before the
- letters.
-
-\name{June Davenport} *\name*
- Your name, used for printing on the envelope together with the
- return address.
-
-\opening{text} *\opening*
- The letter begins with the |\opening| command. The mandatory
- argument, text, is whatever text you wish to start your
- letter, i.e., >
- \opening{Dear Joe,}
-
-\ps *\ps*
- Use this command before a postscript.
-
-\signature{Harvey Swick} *\signature*
- Your name, as it should appear at the end of the letter
- underneath the space for your signature. Items that should go
- on separate lines should be separated by |\\| commands.
-
-\startbreaks *\startbreaks*
- Used after a |\stopbreaks| command to allow page breaks again.
-
-\stopbreaks *\stopbreaks*
- Inhibit page breaks until a |\startbreaks| command occurs.
-
-\telephone{number} *\telephone*
- This is your telephone number. This only appears if the
- firstpage pagestyle is selected.
-
-==============================================================================
-11. Line & Page Breaking *latex-breaking*
-
-The first thing LaTeX does when processing ordinary text is to translate your
-input file into a string of glyphs and spaces. To produce a printed document,
-this string must be broken into lines, and these lines must be broken into
-pages. In some environments, you do the line breaking yourself with the |\\|
-command, but LaTeX usually does it for you.
-
-|\\| Start a new line
-|hyph-| Insert explicit hyphenation
-|\cleardoublepage| Start a new right-hand page
-|\clearpage| Start a new page
-|\enlargethispage| Enlarge the current page a bit
-|\fussy| Be fussy about line breaking
-|\hyphenation| Tell LaTeX how to hyphenate a word
-|\linebreak| Break the line
-|\newline| Break the line prematurely
-|\newpage| Start a new page
-|\nolinebreak| Don't break the current line
-|\nopagebreak| Don't make a page break here
-|\pagebreak| Please make a page break here
-|\sloppy| Be sloppy about line breaking
-
-\\[*][extraspace] *\\* *\\\\*
- The |\\| command tells LaTeX to start a new line. It has an
- optional argument, [extraspace], that specifies how much extra
- vertical space is to be inserted before the next line. This
- can be a negative amount.
- The \\* command is the same as the ordinary |\\| command
- except that it tells LaTeX not to start a new page after the
- line.
-
-\- *hyph-*
- The \- command tells LaTeX that it may hyphenate the word at
- that point. LaTeX is very good at hyphenating, and it will
- usually find all correct hyphenation points. The \- command is
- used for the exceptional cases.
- Note: when you insert \- commands in a word, the word will
- only be hyphenated at those points and not at any of the
- hyphenation points that LaTeX might otherwise have chosen.
-
-\cleardoublepage *\cleardoublepage*
- The |\cleardoublepage| command ends the current page and causes
- all figures and tables that have so far appeared in the input
- to be printed. In a two-sided printing style (|twoside|), it
- also makes the next page a right-hand (odd-numbered) page,
- producing a blank page if necessary.
-
-\clearpage *\clearpage*
- The |\clearpage| command ends the current page and causes all
- figures and tables that have so far appeared in the input to
- be printed.
-
-\enlargethispage{size} *\enlargethispage*
-\enlargethispage*{size}
- Enlarge the textheight for the current page by the
- specified amount; e.g.: >
-
- \enlargethispage{\baselineskip}
-<
- will allow one additional line. The starred form
- tries to squeeze the material together on the page as
- much as possible. This is normally used together with
- an explicit |\pagebreak|.
-
-\fussy *\fussy*
- This declaration (which is the default) makes TeX more fussy
- about line breaking. This can avoids too much space between
- words, but may produce overfull boxes. This command cancels
- the effect of a previous |\sloppy| command.
-
-\hyphenation{words} *\hyphenation*
- The |\hyphenation| command declares allowed hyphenation points,
- where words is a list of words, separated by spaces, in which
- each hyphenation point is indicated by a - character.
-
-\linebreak[number] *\linebreak*
- The |\linebreak| command tells LaTeX to break the current line
- at the point of the command. With the optional argument,
- number, you can convert the |\linebreak| command from a demand
- to a request. The [number] must be a number from 0 to 4. The
- higher the number, the more insistent the request is. The
- |\linebreak| command causes LaTeX to stretch the line so it
- extends to the right margin.
-
-\newline *\newline*
- The |\newline| command breaks the line right where it is. It
- can only be used in paragraph mode.
-
-\newpage *\newpage*
- The |\newpage| command ends the current page.
-
-\nolinebreak[number] *\nolinebreak*
- The |\nolinebreak| command prevents LaTeX from breaking the
- current line at the point of the command. With the optional
- argument, [number], you can convert the |\nolinebreak| command
- from a demand to a request. The [number] must be a number from 0
- to 4. The higher the number, the more insistent the request
- is.
-
-\nopagebreak[number] *\nopagebreak*
- The |\nopagebreak| command prevents LaTeX from breaking the
- current page at the point of the command. With the optional
- argument, [number], you can convert the |\nopagebreak| command
- from a demand to a request. The [number] must be a number from
- 0 to 4. The higher the number, the more insistent the request
- is.
-
-\pagebreak[number] *\pagebreak*
- The |\pagebreak| command tells LaTeX to break the current page
- at the point of the command. With the optional argument,
- [number], you can convert the |\pagebreak| command from a
- demand to a request. The [number] must be a number from 0 to
- 4. The higher the number, the more insistent the request is.
-
-\sloppy *\sloppy*
- This declaration makes TeX less fussy about line breaking.
- This can prevent overfull boxes, but may leave too much space
- between words.
- Lasts until a |\fussy| command is issued.
-
-==============================================================================
-12. Making Paragraphs *latex-paragraphs*
-
-A paragraph is ended by one or more completely blank lines -- lines not
-containing even a |\%|. A blank line should not appear where a new paragraph
-cannot be started, such as in math mode or in the argument of a sectioning
-command.
-
-|\indent| Indent this paragraph.
-|\noindent| Do not indent this paragraph.
-|\par| Another way of writing a blank line.
-
-\indent *\indent*
- This produces a horizontal space whose width equals the width
- of the paragraph indentation. It is used to add paragraph
- indentation where it would otherwise be suppressed.
-
-\noindent *\noindent*
- When used at the beginning of the paragraph, it suppresses the
- paragraph indentation. It has no effect when used in the
- middle of a paragraph.
-
-\par *\par*
- Equivalent to a blank line; often used to make command or
- environment definitions easier to read.
-
-==============================================================================
-13. Margin Notes *latex-margin-notes*
-
-\marginpar[left]{right} *\marginpar*
- This command creates a note in the margin. The first line will
- be at the same height as the line in the text where the
- |\marginpar| occurs.
-
- When you only specify the mandatory argument {right}, the text
- will be placed:
- * in the right margin for one-sided layout
- * in the outside margin for two-sided layout (|twoside|)
- * in the nearest margin for two-column layout (|twocolumn|)
-
-\reversemarginpar *\reversemarginpar*
- By issuing the command |\reversemarginpar|, you can force the
- marginal notes to go into the opposite (inside) margin.
-
-When you specify both arguments, left is used for the left margin, and right
-is used for the right margin.
-
-The first word will normally not be hyphenated; you can enable hyphenation by
-prefixing the first word with a \hspace{0pt} command (|hspace|).
-
-==============================================================================
-14. Math Formulae *latex-math*
- *displaymath*
-There are three environments (|latex-environments|) that put LaTeX in math
-mode:
-|math| For Formulae that appear right in the text.
-|displaymath| For Formulae that appear on their own line.
-|equation| The same as the displaymath environment except that it adds an
- equation number in the right margin.
-
-The |math| environment can be used in both paragraph and LR mode, but the
-|displaymath| and |equation| environments can be used only in paragraph mode. The
-|math| and |displaymath| environments are used so often that they have the
-following short forms:
- \(...\) instead of \begin{math}...\end{math}
- \[...\] instead of \begin{displaymath}...\end{displaymath}
-
-In fact, the math environment is so common that it has an even shorter form:
- $ ... $ instead of \(...\)
-
-|sub-sup| Also known as exponent or index.
-|math-symbols| Various mathematical squiggles.
-|math-spacing| Thick, medium, thin and negative spaces.
-|math-misc| Stuff that doesn't fit anywhere else.
-
-==========
-Subscripts & Superscripts *sub-sup*
- *subscripts* *superscripts*
-
-To get an expression exp to appear as a subscript, you just type _{exp}. To
-get exp to appear as a superscript, you type ^{exp}. LaTeX handles
-superscripted superscripts and all of that stuff in the natural way. It even
-does the right thing when something has both a subscript and a superscript.
-
-==========
-Math Symbols *math-symbols*
-
-LaTeX provides almost any mathematical symbol you're likely to need. The
-commands for generating them can be used only in math mode. For example, if
-you include >
- $\pi$
-in your source, you will get the symbol in your output.
-
-==========
-Spacing in Math Mode *math-spacing*
-
-In a math environment, LaTeX ignores the spaces you type and puts in the
-spacing that it thinks is best. LaTeX formats mathematics the way it's done in
-mathematics texts. If you want different spacing, LaTeX provides the following
-four commands for use in math mode:
- \; - a thick space *math;*
- \: - a medium space *math:*
- \, - a thin space *math,*
- \! - a negative thin space *matn!*
-
-==========
-Math Miscellany *math-misc*
-
-\cdots *\cdots*
- Produces a horizontal ellipsis where the dots are raised to
- the centre of the line.
-\ddots *\ddots*
- Produces a diagonal ellipsis.
-\frac{num}{den} *\frac*
- Produces the fraction num divided by den.
-\ldots *\ldots*
- Produces an ellipsis. This command works in any mode, not just
- math mode.
-\overbrace{text} *\overbrace*
- Generates a brace over text.
-\overline{text} *\overline*
- Causes the argument text to be overlined.
-\sqrt[root]{arg} *\sqrt*
- Produces the square root of its argument. The optional
- argument, [root], determines what root to produce, i.e., the
- cube root of x+y would be typed as: >
- $\sqrt[3]{x+y}$.
-\underbrace{text} *\underbrace*
- Generates text with a brace underneath.
-\underline{text} *\underline*
- Causes the argument text to be underlined. This command can
- also be used in paragraph and LR mode.
-\vdots *\vdots*
- Produces a vertical ellipsis.
-
-==============================================================================
-15. Modes *latex-modes*
-
-When LaTeX is processing your input text, it is always in one of three modes:
- Paragraph mode *paragraph-mode*
- Math mode *math-mode*
- Left-to-right mode, called LR mode for short. *lr-mode*
-
-LaTeX changes mode only when it goes up or down a staircase to a different
-level, though not all level changes produce mode changes. Mode changes occur
-only when entering or leaving an environment, or when LaTeX is processing the
-argument of certain text-producing commands.
-
-|paragraph-mode| is the most common; it's the one LaTeX is in when processing
-ordinary text. In that mode, LaTeX breaks your text into lines and breaks the
-lines into pages. LaTeX is in |math-mode| when it's generating a mathematical
-formula. In |lr-mode|, as in |paragraph-mode|, LaTeX considers the output that
-it produces to be a string of words with spaces between them. However, unlike
-|paragraph-mode|, LaTeX keeps going from left to right; it never starts a new
-line in |lr-mode|. Even if you put a hundred words into an |\mbox|, LaTeX would
-keep typesetting them from left to right inside a single box, and then
-complain because the resulting box was too wide to fit on the line.
-
-LaTeX is in |lr-mode| when it starts making a box with an |\mbox| command. You
-can get it to enter a different mode inside the box - for example, you can
-make it enter |math-mode| to put a formula in the box. There are also several
-text-producing commands and environments for making a box that put LaTeX in
-|paragraph-mode|. The box make by one of these commands or environments will be
-called a |\parbox|. When LaTeX is in |paragraph-mode| while making a box, it is
-said to be in "inner paragraph mode". Its normal |paragraph-mode|, which it
-starts out in, is called "outer paragraph mode".
-
-==============================================================================
-16. Page Styles *latex-page-styles*
-
-The |\documentclass| command determines the size and position of the page's head
-and foot. The page style determines what goes in them.
-
-|\maketitle| Generate a title page.
-|\pagenumbering| Set the style used for page numbers.
-|\pagestyle| Change the headings/footings style.
-|\thispagestyle| Change the headings/footings style for this page.
-
-\maketitle *\maketitle*
- The |\maketitle| command generates a title on a separate title
- page - except in the |\article| class, where the title normally
- goes at the top of the first page. Information used to
- produce the title is obtained from the following declarations:
-
- |\author| Who wrote this stuff?
- |\date| The date the document was created.
- |\thanks| A special form of footnote.
- |\title| How to set the document title.
-
- \author{names} *\author* *\and*
- The |\author| command declares the author(s), where
- names is a list of authors separated by \and commands.
- Use |\\| to separate lines within a single author's
- entry -- for example, to give the author's institution
- or address.
-
- \date{text} *\date*
- The |\date| command declares text to be the document's
- date. With no |\date| command, the current date is
- used.
-
- \thanks{text} *\thanks*
- The |\thanks| command produces a |\footnote| to the
- title.
-
- \title{text} *\title*
- The |\title| command declares text to be the title. Use
- |\\| to tell LaTeX where to start a new line in a long
- title.
-
-\pagenumbering{numstyle} *\pagenumbering*
- Specifies the style of page numbers. Possible values of
- 'numstyle' are:
- arabic - Arabic numerals *arabic*
- roman - Lowercase Roman numerals *roman*
- Roman - Uppercase Roman numerals *Roman*
- alph - Lowercase letters *alph*
- Alph - Uppercase letters *Alph*
-
-\pagestyle{option} *\pagestyle*
- *plain* *empty* *headings*
- The |\pagestyle| command changes the style from the current
- page on throughout the remainder of your document.
- The valid options are:
- plain - Just a plain page number.
- empty - Produces empty heads and feet no page numbers.
- headings - Puts running headings on each page. The document
- style specifies what goes in the headings.
- myheadings - You specify what is to go in the heading with the
- |\markboth| or the |\markright| commands.
-
- |\markboth| Set left and right headings.
- |\markright| Set right heading only.
-
- \markboth{left head}{right head} *\markboth*
- The |\markboth| command is used in conjunction with the
- page style myheadings for setting both the left and
- the right heading.
- Note that a "left-hand heading" is generated by the
- last |\markboth| command before the end of the page,
- while a "right-hand heading" is generated by the first
- |\markboth| or |\markright| that comes on the page if
- there is one, otherwise by the last one before the
- page.
-
-
- \markright{right head} *\markright*
- The |\markright| command is used in conjunction with
- the page style |\myheadings| for setting the right
- heading, leaving the left heading unchanged.
- Note that a "left-hand heading" is generated by the
- last |\markboth| command before the end of the page,
- while a "right-hand heading" is generated by the first
- |\markboth| or |\markright| that comes on the page if
- there is one, otherwise by the last one before the
- page.
-
-\thispagestyle{option} *\thispagestyle*
- The |\thispagestyle| command works in the same manner as the
- |\pagestyle| command except that it changes the style for the
- current page only.
-
-==============================================================================
-17. Sectioning *latex-sectioning*
-
-Sectioning commands provide the means to structure your text into units.
-|\part|
-|\chapter| (report and book class only)
-|\section|
-|\subsection|
-|\subsubsection|
-|\paragraph|
-|\subparagraph|
-
-All sectioning commands take the same general form, i.e.,
-
- *\part*
- *\chapter* (report and book class only)
- *\section* *\subsection* *\subsubsection*
- *\paragraph* *\subparagraph*
-\chapter[optional]{title}
- In addition to providing the heading in the text, the
- mandatory argument of the sectioning command can appear in two
- other places:
- 1. The table of contents
- 2. The running head at the top of the page. You may not want
- the same thing to appear in these other two places as
- appears in the text heading. To handle this situation, the
- sectioning commands have an optional argument that provides
- the text for these other two purposes.
-
-All sectioning commands have *\-forms that print a title, but do not include a
-number and do not make an entry in the table of contents.
-
-\appendix *\appendix*
- The |\appendix| command changes the way sectional units are
- numbered. The |\appendix| command generates no text and does
- not affect the numbering of parts. The normal use of this
- command is something like: >
- \chapter{The First Chapter}
- ...
- \appendix \chapter{The First Appendix}
-
-
-==============================================================================
-18. Spaces & Boxes *latex-spaces-boxes*
-
-All the predefined length parameters See section Predefined lengths can be
-used in the arguments of the box-making commands.
-
- Horizontal space:
-
-|\dotfill| Stretchable horizontal dots.
-|\hfill| Stretchable horizontal space.
-|\hrulefill| Stretchable horizontal rule.
-|\hspace| Fixed horizontal space.
-
- Vertical space:
-
-|\addvspace| Fixed vertical space.
-|\bigskip| Fixed vertical space.
-|\medskip| Fixed vertical space.
-|\smallskip| Fixed vertical space.
-|\vfill| Stretchable vertical space.
-|\vspace| Fixed vertical space.
-
- Boxes:
-
-|\fbox| Framebox.
-|\framebox| Framebox, adjustable position.
-|\lrbox| An environment like |\sbox|.
-|\makebox| Box, adjustable position.
-|\mbox| Box.
-|\newsavebox| Declare a name for saving a box.
-|\parbox| Box with text in paragraph mode.
-|\raisebox| Raise or lower text.
-|\rule| Lines and squares.
-|\savebox| Like |\makebox|, but save the text for later use.
-|\sbox| Like |\mbox|, but save the text for later use.
-|\usebox| Print saved text.
-
-Horizontal space: *latex-hor-space*
-
-LaTeX removes horizontal space that comes at the end of a line. If you don't
-want LaTeX to remove this space, include the optional * argument. Then the
-space is never removed.
-
-\dotfill *\dotfill*
- The |\dotfill| command produces a "rubber length" that produces
- dots instead of just spaces.
-
-\hfill *\hfill*
- The |\hfill| fill command produces a "rubber length" which can
- stretch or shrink horizontally. It will be filled with spaces.
-
-\hrulefill *\hrulefill*
- The |\hrulefill| fill command produces a "rubber length" which
- can stretch or shrink horizontally. It will be filled with a
- horizontal rule.
-
-\hspace[*]{length} *\hspace*
- The |\hspace| command adds horizontal space. The length of the
- space can be expressed in any terms that LaTeX understands,
- i.e., points, inches, etc. You can add negative as well as
- positive space with an |\hspace| command. Adding negative space
- is like backspacing.
-
-
-Vertical space: *latex-ver-space*
-
-LaTeX removes vertical space that comes at the end of a page. If you don't
-want LaTeX to remove this space, include the optional * argument. Then the
-space is never removed.
-
-\addvspace{length} *\addvspace*
- The |\addvspace| command normally adds a vertical space of
- height length. However, if vertical space has already been
- added to the same point in the output by a previous
- |\addvspace| command, then this command will not add more space
- than needed to make the natural length of the total vertical
- space equal to length.
-
-\bigskip *\bigskip*
- The |\bigskip| command is equivalent to \vspace{bigskipamount}
- where bigskipamount is determined by the document class.
-
-\medskip *\medskip*
- The |\medskip| command is equivalent to \vspace{medskipamount}
- where medskipamount is determined by the document class.
-
-\smallskip *\smallskip*
- The |\smallskip| command is equivalent to
- \vspace{smallskipamount} where smallskipamount is determined
- by the document class.
-
-\vfill *\vfill*
- The |\vfill| fill command produces a rubber length which can
- stretch or shrink vertically.
-
-\vspace[*]{length} *\vspace*
- The |\vspace| command adds vertical space. The length of the
- space can be expressed in any terms that LaTeX understands,
- i.e., points, inches, etc. You can add negative as well as
- positive space with an |\vspace| command.
-
-
-Boxes: *latex-boxes*
-
-\fbox{text} *\fbox*
- The |\fbox| command is exactly the same as the |\mbox| command,
- except that it puts a frame around the outside of the box that
- it creates.
-
-\framebox[width][position]{text} *\framebox*
- The |\framebox| command is exactly the same as the |\makebox|
- command, except that it puts a frame around the outside of the
- box that it creates.
- The |\framebox| command produces a rule of thickness
- |\fboxrule|, and leaves a space |\fboxsep| between the rule and
- the contents of the box.
-
-lrbox *\lrbox*
-\begin{lrbox}{cmd} text \end{lrbox}
- This is the environment form of |\sbox|.
- The text inside the environment is saved in the box cmd, which
- must have been declared with |\newsavebox|.
-
-\makebox[width][position]{text} *\makebox*
- The |\makebox| command creates a box just wide enough to
- contain the text specified. The width of the box is specified
- by the optional [width] argument. The position of the text
- within the box is determined by the optional [position]
- argument.
- c -- centred (default)
- l -- flushleft
- r -- flushright
- s -- stretch from left to right margin. The text must
- contain stretchable space for this to work.
- See section |\picture-makebox|.
-
-\mbox{text} *\mbox*
- The |\mbox| command creates a box just wide enough to hold the
- text created by its argument.
- Use this command to prevent text from being split across
- lines.
-
-\newsavebox{cmd} *\newsavebox*
- Declares {cmd}, which must be a command name that is not
- already defined, to be a bin for saving boxes.
-
-
-\parbox[position][height][innerpos]{width}{text} *\parbox*
- A parbox is a box whose contents are created in
- |\paragraph-mode|. The |\parbox| has two
-
- Mandatory arguments:
-'width' specifies the width of the parbox
-'text' the text that goes inside the parbox.
-
- Optional arguments:
-'position' LaTeX will position a parbox so its centre lines up with the
- centre of the text line. The optional position argument allows
- you to line up either the top or bottom line in the parbox
- (default is top).
-
-'height' If the height argument is not given, the box will have the
- natural height of the text.
-
-'innerpos' The inner-pos argument controls the placement of the text
- inside the box. If it is not specified, position is used.
- t -- text is placed at the top of the box
- c -- text is centred in the box
- b -- text is placed at the bottom of the box
- s -- stretch vertically. The text must contain
- vertically stretchable space for this to work.
-
- A |\parbox| command is used for a parbox containing a small
- piece of text, with nothing fancy inside. In particular, you
- shouldn't use any of the paragraph-making environments inside
- a |\parbox| argument. For larger pieces of text, including ones
- containing a paragraph-making environment, you should use a
- |\minipage| environment.
-
-\raisebox{distance}[extendabove][extendbelow]{text} *\raisebox*
- The |\raisebox| command is used to raise or lower text. The
- first mandatory argument specifies how high the text is to be
- raised (or lowered if it is a negative amount). The text
- itself is processed in LR mode.
- Sometimes it's useful to make LaTeX think something has a
- different size than it really does - or a different size than
- LaTeX would normally think it has. The |\raisebox| command
- lets you tell LaTeX how tall it is.
- The first optional argument, extend-above, makes LaTeX think
- that the text extends above the line by the amount specified.
- The second optional argument, extend-below, makes LaTeX think
- that the text extends below the line by the amount specified.
-
-\rule[raiseheight]{width}{thickness} *\rule*
- The |\rule| command is used to produce horizontal lines. The
- arguments are defined as follows:
-'raiseheight' specifies how high to raise the rule (optional)
-'width' specifies the length of the rule (mandatory)
-'thickness' specifies the thickness of the rule (mandatory)
-
-\savebox{cmd}[width][pos]{text} *\savebox*
- This command typeset text in a box just as for |\makebox|.
- However, instead of printing the resulting box, it saves it in
- bin cmd, which must have been declared with |\newsavebox|.
-
-\sbox{text} *\sbox*
- This commands typeset text in a box just as for |\mbox|.
- However, instead of printing the resulting box, it saves it in
- bin cmd, which must have been declared with |\newsavebox|.
-
-\usebox{cmd} *\usebox*
- Prints the box most recently saved in bin cmd by a |\savebox|
- command.
-
-==============================================================================
-19. Special Characters *latex-special*
-
-The following characters play a special role in LaTeX and are called "special
-printing characters", or simply "special characters". >
- # $ % & ~ _ ^ \ { }
-Whenever you put one of these special characters into your file, you are doing
-something special. If you simply want the character to be printed just as any
-other letter, include a \ in front of the character. For example, \$ will
-produce $ in your output.
-
-One exception to this rule is the \ itself because |\\| has its own special
-meaning. A \ is produced by typing $\backslash$ in your file.
-
-Also, \~ means `place a tilde accent over the following letter', so you will
-probably want to use |\verb| instead.
- *\symbol*
-In addition, you can access any character of a font once you know its number
-by using the |\symbol| command. For example, the character used for displaying
-spaces in the |\verb|* command has the code decimal 32, so it can be typed as
-\symbol{32}.
-
-You can also specify octal numbers with ' or hexadecimal numbers with ", so
-the previous example could also be written as \symbol{'40} or \symbol{"20}.
-
-==============================================================================
-20. Splitting the Input *latex-inputting*
-
-A large document requires a lot of input. Rather than putting the whole input
-in a single large file, it's more efficient to split it into several smaller
-ones. Regardless of how many separate files you use, there is one that is the
-root file; it is the one whose name you type when you run LaTeX.
-
-|\include| Conditionally include a file
-|\includeonly| Determine which files are included
-|\input| Unconditionally include a file
-
-\include{file} *\include*
- The \include command is used in conjunction with the
- |\includeonly| command for selective inclusion of
- files. The file argument is the first name of a file,
- denoting `file.tex' . If file is one the file names in
- the file list of the |\includeonly| command or if there
- is no |\includeonly| command, the \include command is
- equivalent to: >
- \clearpage \input{file} \clearpage
-<
- except that if the file `file.tex' does not exist,
- then a warning message rather than an error is
- produced. If the file is not in the file list, the
- \include command is equivalent to |\clearpage|.
-
- The |\include| command may not appear in the preamble or in a
- file read by another |\include| command.
-
-\includeonly{filelist} *\includeonly*
- The |\includeonly| command controls which files will be read in
- by an |\include| command. {filelist} should be a
- comma-separated list of filenames. Each filename must match
- exactly a filename specified in a |\include| command. This
- command can only appear in the preamble.
-
-\input{file} *\input*
- The |\input| command causes the indicated file to be read and
- processed, exactly as if its contents had been inserted in the
- current file at that point. The file name may be a complete
- file name with extension or just a first name, in which case
- the file `file.tex' is used.
-==============================================================================
-21. Starting & Ending *latex-start-end*
-
-Your input file must contain the following commands as a minimum:
-\documentclass{class} |\documentclass|
-\begin{document} |\begin|
-... your text goes here ...
-\end{document} |\end|
-
-where the class selected is one of the valid classes for LaTeX.
-See |\classes|for details of the various document classes.
-
-You may include other LaTeX commands between the |\documentclass| and the
-\begin{document} commands (i.e., in the `preamble').
-==============================================================================
-22. Table of Contents *latex-toc*
-
- *\tableofcontents*
-A table of contents is produced with the |\tableofcontents| command. You put
-the command right where you want the table of contents to go; LaTeX does the
-rest for you. It produces a heading, but it does not automatically start a new
-page. If you want a new page after the table of contents, include a |\newpage|
-command after the |\tableofcontents| command.
-
- *\listoffigures* *\listoftables*
-There are similar commands |\listoffigures| and |\listoftables| for producing a
-list of figures and a list of tables, respectively. Everything works exactly
-the same as for the table of contents.
-
- *\nofiles*
-NOTE: If you want any of these items to be generated, you cannot have the
-\nofiles command in your document.
-
-|\addcontentsline| Add an entry to table of contents etc.
-|\addtocontents| Add text directly to table of contents file etc.
-
-\addcontentsline{file}{secunit}{entry} *\addcontentsline*
- The |\addcontentsline| command adds an entry to the specified
- list or table where:
-{file} is the extension of the file on which information is to be
- written:
- toc (table of contents),
- lof (list of figures),
- lot (list of tables).
-{secunit} controls the formatting of the entry. It should be one of the
- following, depending upon the value of the file argument:
- toc -- the name of the sectional unit, such as part or
- subsection.
- lof -- figure
- lot -- table
-{entry} is the text of the entry.
-
-\addtocontents{file}{text} *\addtocontents*
- The |\addtocontents| command adds text (or formatting commands)
- directly to the file that generates the table of contents or
- list of figures or tables.
-{file} is the extension of the file on which information is to be written:
- toc (table of contents),
- lof (list of figures),
- lot (list of tables).
-{text} is the information to be written.
-
-==============================================================================
-23. Terminal Input/Output *latex-terminal*
-
-|\typein| Read text from the terminal.
-|\typeout| Write text to the terminal.
-
-\typein[cmd]{msg} *\typein*
- Prints {msg} on the terminal and causes LaTeX to stop and wait
- for you to type a line of input, ending with return. If the
- [cmd] argument is missing, the typed input is processed as if
- it had been included in the input file in place of the
- |\typein| command. If the [cmd] argument is present, it must be
- a command name. This command name is then defined or redefined
- to be the typed input.
-
-\typeout{msg} *\typeout*
- Prints {msg} on the terminal and in the `.log' file. Commands
- in {msg} that are defined with |\newcommand| or |\renewcommand|
- are replaced by their definitions before being printed.
-
- *\space*
-LaTeX's usual rules for treating multiple spaces as a single space and
-ignoring spaces after a command name apply to {msg}. A |\space| command in {msg}
-causes a single space to be printed. A ^^J in {msg} prints a newline.
-
-==============================================================================
-24. Typefaces *latex-typefaces*
-
-The typeface is specified by giving the "size" and "style". A typeface is also
-called a "font".
-|font-styles| Select roman, italics etc.
-|font-size| Select point size.
-|font-lowlevelcommands| Commands for wizards.
-
-Styles *font-styles*
-
-The following type style commands are supported by LaTeX.
-
-These commands are used like: >
- \textit{italics text}.
-The corresponding command in parenthesis is the "declaration form", which
-takes no arguments. The scope of the declaration form lasts until the next
-type style command or the end of the current group.
-
-The declaration forms are cumulative; i.e., you can say: >
- \sffamily\bfseries
-to get sans serif boldface.
-
-You can also use the environment form of the declaration forms; e.g.: >
- \begin{ttfamily}...\end{ttfamily}.
-<
-\textrm (\rmfamily) *\textrm* *\rmfamily*
- Roman
-
-\textit (\itshape) *\textit* *\itshape* *\emph*
- Emphasis (toggles between |\textit| and |\textrm|).
-
-\textmd (\mdseries) *\textmd* *\mdseries*
- Medium weight (default). The opposite of boldface.
-
-\textbf (\bfseries) *\textbf* *\bfseries*
- Boldface.
-
-\textup (\upshape) *\textup* *\upshape*
- Upright (default). The opposite of slanted.
-
-\textsl (\slshape) *\textsl* *\slshape*
- Slanted.
-
-\textsf (\sffamily) *\textsf* *\sffamily*
- Sans serif.
-
-\textsc (\scshape) *\textsc* *\scshape*
- Small caps.
-
-\texttt (\ttfamily) *\texttt* *\ttfamily*
- Typewriter.
-
-\textnormal (\normalfont) *\textnormal* *\normalfont*
- Main document font.
-
-\mathrm *\mathrm*
- Roman, for use in math mode.
-
-\mathbf *\mathbf*
- Boldface, for use in math mode.
-
-\mathsf *\mathsf*
- Sans serif, for use in math mode.
-
-\mathtt *\mathtt*
- Typewriter, for use in math mode.
-
-\mathit *\mathit*
- Italics, for use in math mode, e.g. variable names with
- several letters.
-
-\mathnormal *\mathnormal*
- For use in math mode, e.g. inside another type style
- declaration.
-
-\mathcal *\mathcal*
- `Calligraphic' letters, for use in math mode.
-
- *\mathversion*
-In addition, the command \mathversion{bold} can be used for switching to bold
-letters and symbols in formulas. \mathversion{normal} restores the default.
-
-==========
-Sizes *font-size*
-
-The following standard type size commands are supported by LaTeX.
-
-The commands as listed here are "declaration forms". The scope of the
-declaration form lasts until the next type style command or the end of the
-current group.
-
-You can also use the environment form of these commands; e.g. >
- \begin{tiny}...\end{tiny}
-
-\tiny *\tiny*
-\scriptsize *\scriptsize*
-\footnotesize *\footnotesize*
-\small *\small*
-\normalsize(default) *\normalsize*
-\large *\large*
-\Large *\Large*
-\LARGE *\LARGE*
-\huge *\huge*
-\Huge *\Huge*
-
-==========
-Low-level font commands *font-lowlevelcommands*
-
-These commands are primarily intended for writers of macros and packages. The
-commands listed here are only a subset of the available ones. For full
-details, you should consult Chapter 7 of The LaTeX Companion.
-
-\fontencoding{enc} *\fontencoding*
- Select font encoding. Valid encodings include OT1 and T1.
-
-\fontfamily{family} *\fontfamily*
- Select font family. Valid families include:
- cmr for Computer Modern Roman
- cmss for Computer Modern Sans Serif
- cmtt for Computer Modern Typewriter
- and numerous others.
-
-\fontseries{series} *\fontseries*
- Select font series. Valid series include:
- m Medium (normal)
- b Bold
- c Condensed
- bc Bold condensed
- bx Bold extended
- and various other combinations.
-
-\fontshape{shape} *\fontshape*
- Select font shape. Valid shapes are:
- n Upright (normal)
- it Italic
- sl Slanted (oblique)
- sc Small caps
- ui Upright italics
- ol Outline
- The two last shapes are not available for most font families.
-
-\fontsize{size}{skip} *\fontsize*
- Set font size. The first parameter is the font size to switch
- to; the second is the \baselineskip to use. The unit of both
- parameters defaults to pt. A rule of thumb is that the
- baselineskip should be 1.2 times the font size.
-
-\selectfont *\selectfont*
- The changes made by calling the four font commands described
- above do not come into effect until |\selectfont| is called.
-
-\usefont{enc}{family}{series}{shape} *\usefont*
- Equivalent to calling |\fontencoding|, |\fontfamily|,
- |\fontseries| and |\fontshape| with the given parameters,
- followed by |\selectfont|.
-
-==============================================================================
-25. Parameters *latex-parameters*
-
-The input file specification indicates the file to be formatted; TeX uses
-`.tex' as a default file extension. If you omit the input file entirely, TeX
-accepts input from the terminal. You specify command options by supplying a
-string as a parameter to the command; e.g. >
-
- latex "\scrollmode\input foo.tex"
-
-will process `foo.tex' without pausing after every error.
-
-Output files are always created in the current directory. When you fail to
-specify an input file name, TeX bases the output names on the file
-specification associated with the logical name TEX_OUTPUT, typically
-texput.log.
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/.vim/doc/ps_color.txt b/.vim/doc/ps_color.txt
deleted file mode 100644
index caf6a4a..0000000
--- a/.vim/doc/ps_color.txt
+++ /dev/null
@@ -1,585 +0,0 @@
-*ps_color.txt* PSC For Vim version 6.3 Last change: 17 November 2004
-
-
-PERSONAL COLOUR SWITCHER *ps_colour* *pscolor*
-
-
-Author: Pan, Shizhu. <dicpan> at <hotmail o com> >
- (prepend '[VIM]' in the title or your mail may be silently removed.)
-<
-==============================================================================
-CONTENTS *psc* *psc-contents*
-
- 1. Contents.....................|psc-contents|
- 2. PSC Overview.................|psc-overview|
- 3. PSC Installation.............|psc-usage|
- 4. PSC Options..................|psc-options|
- 5. PSC under color term ........|psc-cterm|
- 6. PSC FAQ and Tips ............|psc-faq|
- 7. PSC Release notes............|psc-release-notes|
- 8. PSC Todo List................|psc-todo|
-
-For release notes, please see the header of ps_color.vim
-
-==============================================================================
-PSC FEATURES OVERVIEW *psc-features* *psc-overview*
-
- Features ~
-
- . PSC is firstly a color scheme which have both dark and light
- background styles.
- . It can have the same appearance in [cterm] as in [gui].
- . It is designed with gentle color to minimize fatigue of eye.
- . It also works with other color schemes.
- . Default foreground and background can easily be changed, it is more
- configurable than most other color schemes
- . Works with the optional tool reloaded.vim, can change the whole
- color scheme in Hue,Saturation,Luminance color space.
-
- Design Concern ~
-
- At the first glance this color scheme may look pretty 'dull', don't be
- afraid, this is quite normal. Bear in mind that a text editor is not
- a photo album, if a text editor looks exciting you may not be able to
- stare at it for a long time.
-
- Predefined Vim Syntax highlighting can be too colorful or contrasty so
- that many programmers prefer to switch off the syntax highlighting at
- work. That is not a good idea because you will lost the advantages of
- syntax high-lighting. It is often the case that we have to work for
- 300+ minutes, then I decide to do-it-myself.
-
- Many user-defined color schemes in vim.sf.net tend to achieve low
- contrast by having a strong color-cast, i.e. looks blueish or
- yellowish or reddish. This does look comfortable at first, however,
- any type of color-cast will cause the eyes less sensitive for
- particular color after a long-time work session, and that's no good to
- health.
-
- Efforts had been made to ensure no color-cast for this scheme, all
- elementary colors like RGB and CYMK are evenly used. Like TeX,
- 'consistency' is the principle this color scheme based on. Default
- values which hurt consistency are amended according to the vim script
- syntax/hitest.vim
-
- There are 3 parameters to describe a color: Hue, Saturation and
- Brightness. In this color scheme, the saturation is low and the
- brightness are designed to be very close to each other in order not to
- fatigue our eyes after a whole day's programming work.
-
- Portability ~
-
- Different monitor settings led to different look. In this color
- scheme, it is assumed that the monitor adjust at 6500k color
- temperature with a good gamma curve. If you have a 9300k monitor or
- if the gamma curve is not optimal, the appearance may be less
- comfortable, use adobe gamma loader or similar tools to adjust
- your monitor if your monitor do not have the option to change color
- temperature and/or gamma curve.
-
- Needless to say, VI is an editor originally designed to do edit tasks
- in a text terminal, and VIM is an improved version of VI. Its a shame
- that a color scheme cannot have a satisfactory appearance in cterm.
- The cterm compatibility should be considered high priority when
- designing ViM color scheme.
-
- I had made much attempt to make support for 8-color terminals,
- however, 8 colors is not enough to represent a color scheme. Finally
- I end up making the cterm support for 16-color terminal. Have to say
- sorry if the color scheme sucks in your 8-color terminal, I had tried
- my best. More details about cterm please see |psc-cterm|.
-
- *psc-about-background*
- About the Background ~
-
- We have talked about off-white backgrounds, any background which is
- not black, grey or white should be changed constantly in order not to
- make the eyes less sensitive to particular color. i.e. you can use
- blue background on Monday, red background on Tuesday, green background
- on Wednesday, but if you use blue background everyday, that's no good
- to your health.
-
- Now we talk about the brightness of the background. Why dark
- background is preferred over others? There are many reasons, such as,
- the monitor emits lower radiation for black background. You may have
- lots of similar reasons...
-
- But I'll talk about something you may not know:
->
- It is easier to distinguish foreground colors on a dark background
- than on a light background.
-
- At the same time, it is easier to distinguish background colors on
- a light background than on a dark background.
-
- We will mainly change foreground colors for syntax highlighting.
-<
- Hence, we can reduce the contrast and saturation of the color in
- a dark-background scheme, while retain the readability. Schemes with
- white background usually comes with higher contrast and saturation.
- This is probably the most important reason that the color scheme is
- designed to be dark-background instead of light one.
-
- Now we came to know, that change the foreground color is enough to
- emphasis text in a dark background, while for a white background, we
- need to change the font shape (bold or italic, etc.), or change the
- background color to effectively emphasis the text. This is probably
- the reason Vim default scheme has bold properties for highlighting
- groups, because the default scheme is a light background one.
-
- No one knows what color scheme is best for you, except yourself. Try!
-
-==============================================================================
-PSC INSTALLATION *psc-usage*
-
- Step 1, Enable the color scheme ~
-
- To use PSC is simple, just put ps_color.vim into your
- [runtimepath]/colors and append the line >
-
- colorscheme ps_color
-<
- to your |.vimrc|. The [runtimepath] can be any directory listed in
- |vimfiles|, normally your $HOME/.vim in Unix or $HOME/vimfiles in
- Windows.
-
- Step 2, Install the help document ~
-
- The help document will be automatically installed when the colorscheme
- be sourced the first time. If it is not, type :colo ps_color now.
-
- After successfully installed the help document, you can use >
-
- :help psc-options
-<
- to go to the following section.
-
-==============================================================================
-PSC OPTIONS *psc-options*
-
- You can let these options in your ~/.vimrc, most options works for
- both GUI and cterm, only some of them do not work for both.
-
- Options set using the 'let' command must present [BEFORE] the color
- scheme been sourced.
-
- *psc_style*
- Style ~
->
- let psc_style='cool'
- let psc_style='warm'
- let psc_style='default'
- let psc_style='defdark'
-<
- This selects between styles of colors,
- The 'cool' is the default, dark background.
- The 'warm' is the experimental, light background scheme.
-
- See |psc-about-background| for more knowledge about the background,
- and the differences of two style.
-
- The 'default' and 'defdark' refers to Vim system default color scheme.
- Which are provided only for reference.
-
- Let psc_style to any string other than the above 4 will switch to the
- specified color scheme. For example, let psc_style='desert' and then
- activate the ps_color, the color scheme will be chosen according to
- desert.vim color scheme.
-
- *psc_cterm_style*
- Color Term Style ~
->
- let psc_cterm_style='cool'
-<
- This is exactly the same to psc_style, except that it only affects the
- console version of vim in a color terminal, the 'warm' is not
- available for cterm.
- By default, it will be set to the same value as 'psc_style'. You can
- change it if you want different style in cterm from gui.
-
-
- *psc_fontface*
- Font face ~
->
- let psc_fontface='plain'
- let psc_fontface='mixed'
-<
- The Vim default behavior is the 'mixed', however, the mixed font style
- in a dark colorscheme is not optimal. This color uses 'plain' for
- 'cool' style, i.e. No texts are bolded font. For 'warm', the default
- is still 'mixed', If you want the mixed style in which the highlighted
- statements are bolded font, choose this. If you want all texts be
- bolded, choose 'plain' and specify a bolded guifont or terminal font.
-
- In GUI, this option also works for other color schemes. You can
- disable the bold font and use your favorite color scheme. See
- |psc-faq-ffothers| for detail.
-
- *psc_inversed_todo*
- Inversed Todo ~
->
- let psc_inversed_todo=1
-<
- When set to 1, the TODO group will be dark background with light font,
- Otherwise, the TODO group have light background with dark foreground.
- Default is 0.
-
- *psc_use_default_for_cterm*
- Use default for cterm (obsoleted)~
-
- This option is Obsoleted, retained only for backward compatibility,
- see |psc_cterm_style| for alternative.
-
- *psc_statement_different_from_type*
- Statement different from type ~
->
- let psc_statement_different_from_type=1
-<
- The Statement-group and Type-group are easy to distinguish, different
- color for them are not necessary, I use similar color for S-group
- & T-group in order not to make the screen too 'colorful', also this
- saves a color name for cterm. But if you do want the Statement & Type
- to be different color, try 'let statement_different_from_type=1' in
- your .vimrc file, which is available only for GUI. Since the color
- names in cterm is limited to 16 we cannot have too many different
- colors in cterm.
- Default is 0, i.e. they have very similar color.
-
- *psc-change-background*
- Changing the Background color ~
-
- You may prefer a dark background over pure black one, and it is
- possible to change the background, this may make life more interesting.
- To do this is quite straight forward for GUI, just define the Normal
- highlight in your .gvimrc, [AFTER] the color scheme has been sourced.
-
- For example:
->
- highlight Normal guibg=#103040
-<
- The #103040 will give a taste similar to oceandeep, #152535 for
- hhazure, #303030 for desert, #404040 for zenburn... Replace #103040
- with any color you like. You can do the same to guifg foreground if
- you are careful enough, remember this is only possible with ps_color
- version 2.7 or above, and only possible for GUI.
-
- You can do this to the NonText group also, for example.
->
- highlight NonText guibg=#202020
-<
- will give you a taste similar to most color schemes on vim.sf.net, in
- which the NonText has a different background than Normal text.
- However, this is only useful in GUI, in cterm, there are only
- 8 background colors, so it is wise not to have a different color.
-
- If you want more variations, please try the optional utility
- reloaded.vim, this optional utility provides an amazing level of
- customization.
-
- Quick switching between warm and cold styles ~
-
- Here is an example to define hot key of different style switching,
- note that I had only given this example without actually define it.
- You can choose to define it in .vimrc or anyway you prefer.
->
- nnoremap <Leader>pc :let psc_style='cool'<CR>:colo ps_color<CR>
- nnoremap <Leader>pw :let psc_style='warm'<CR>:colo ps_color<CR>
-<
- Alternatively, you can use the capitalized :Colo command, like
- :Colo cool or :Colo warm
-
-==============================================================================
-PSC WITH CTERM *psc-cterm*
-
- Colour Term ~
-
- The cterm color is designed mainly in these terminals:
->
- 1. Cygwin bash shell in NT command prompt box
- 2. XTERM and RXVT
- 3. Other color terminals which have at least 16 colors
-<
- *psc-cterm-nt*
- In Windows NT Prompt console you can change the exact value of each
- color, so you can have the same color with your GUI version of Vim,
- for 'cool' color style you just change the color according to the
- |psc-cterm-color-table|, for how to redefine the color of Windows NT
- prompt console please see Windows Help.
-
- NT Cygwin bash shell console supports 16 foreground colors by add bold
- attribute to 8 color, the cterm=bold specifies which should be bright
- color, so totally the 16 color foreground is available, but color
- name DarkXXX and LightXXX are the same.
-
- The pre-configured Cygwin.lnk is available for download on my web page
- for Vim, but the site seems down, if my site would be on again, it
- should be at the following URL: >
- http://poet.tomud.com/pub/Cygwin.lnk.gz
-<
- Cygwin is highly recommended for Vim user if you are using Windows NT
- based systems (e.g. NT 4.0, Win2k, WinXP, Win2003, etc). But Cygwin is
- not that versatile under Windows 95/98/ME. I'm not sure whether this
- works for DOS DJGPP or Windows 95 console version of Vim because
- I don't have the system, in case you encountered problem please
- contact me, if you like.
-
- *psc-cterm-xterm*
- XTERM is a much more feature-rich terminal than Windows Console so the
- support is much better, add the following recommend line into your
- .Xdefaults and you can achieve the same color as in GUI version.
-
- Add the following into your .Xdefaults:
- This works for XTERM and RXVT.
->
- XTerm*color0: #000000
- XTerm*color1: #800000
- XTerm*color2: #008000
- XTerm*color3: #d0d090
- XTerm*color4: #000080
- XTerm*color5: #800080
- XTerm*color6: #a6caf0
- XTerm*color7: #d0d0d0
- XTerm*color8: #b0b0b0
- XTerm*color9: #f08060
- XTerm*color10: #60f080
- XTerm*color11: #e0c060
- XTerm*color12: #80c0e0
- XTerm*color13: #f0c0f0
- XTerm*color14: #c0d8f8
- XTerm*color15: #e0e0e0
- XTerm*cursorColor: #00f000
-
- ! The following are recommended but optional
- XTerm*reverseVideo: False
- XTerm*background: #000000
- XTerm*foreground: #d0d0d0
- XTerm*boldMode: False
-<
- There is an assumption that your RXVT or XTERM supports 16 colors,
- most RXVTs and XTERMs support this, if yours do not, get a source of
- RXVT and recompile it.
-
- Sometimes the color mode are not recognized well, or you do not want
- bright foreground be bolded. If this is the case, add the following in
- your .vimrc (before the color scheme been sourced)
->
- if &term=='xterm' " Change 'xterm' to your term name if necessary
- set t_Co=16
- endif
-<
- If the t_Co=16 have problem, set t_Co=8 and :colo ps_color again.
- vice versa.
-
- My rxvt works well with t_Co=16: >
- Rxvt v2.7.10 - released: 26 MARCH 2003
- Options:
- XPM,transparent,utmp,menubar,frills,linespace,multichar_languages,
- scrollbars=rxvt+NeXT+xterm,.Xdefaults
-< But I've know that my rxvt v2.6.4 in another machine has problem with
- t_Co=16, if that is the case, set t_Co=8 instead.
-
- *psc-cterm-others*
- For other terminals, you can manually set the color according to the
- following table
-
- Hints for Manually set the color (for 'cool' style only):
- *psc-cterm-color-table*
- Color name Hex value Decimal value ~
- 0 Black = #000000 0,0,0
- 4 DarkBlue = #000080 0,0,128
- 2 DarkGreen = #008000 0,128,0
- 6 DarkCyan = #a6caf0 166,202,240
- 1 DarkRed = #800000 128,0,0
- 5 DarkMagenta = #800080 128,0,128
- 3 DarkYellow = #d0d090 208,208,144
- 7 Grey = #d0d0d0 208,208,208
- 8 DarkGrey = #b0b0b0 176,176,176
- 12 Blue = #80c0e0 128,192,224
- 10 Green = #60f080 96,240,128
- 14 Cyan = #c0d8f8 192,216,248
- 9 Red = #f08060 240,128,96
- 13 LMag. = #f0c0f0 240,192,240
- 11 Yellow = #e0c060 224,192,96
- 15 White = #e0e0e0 224,224,224
-
- *psc-cterm-incompatible*
- If your color terminal does only have 8 colors and cannot achieve 16
- colors with cterm=bold, you may want to switch to other color schemes
- to gain more readability. Anyway, you can specify in your .vimrc to
- use different color scheme under different consoles and GUI.
- For example:
->
- let psc_cterm_style = 'foobarcolor'
- let psc_style = 'cool'
- colo ps_color
-<
- The 'foobarcolor' means the color scheme you want to choose, such as
- 'desert', I recommend to try vim default schemes 'default' and
- 'defdark' before experience others.
-
-==============================================================================
-PSC FAQ AND TIPS *psc-faq* *psc-tips*
->
- Q: What is meant by `PS' ?
-<
- A: PS means: PostScript, PhotoShop, PerSonal, ... or anything you can
- imagine and anything you want it do be.
->
- Q: How to obtain the same appreance as gui in color term?
-<
- A: This need some work around, see |psc-cterm| for details.
- Generally speaking, you should ensure your color term has support
- for 16 foreground colors, and each color is customizable.
-
- *psc-faq-ffothers* >
- Q: How to use psc_fontface with other colorschemes?
-<
- A: Make sure you had sourced :colo ps_color in your .vimrc, then you
- can use the Capitalized :Colo instead of :colo
- e.g. you want to use 'murphy', just type :Colo murphy after you
- sourced the ps_color, the 'defdark', 'cool', 'warm' can also be
- used here.
->
- Q: I updated from v2.0 to v2.3 or above, why the cterm color scheme
- for Comment is different?
-<
- A: The color map of DarkYellow and Yellow have been exchanged,
- You need to reconfigure your terminal to meet the change,
- see |psc-cterm-color-table| for guide, or if you are using xterm
- compatible terminal, just update the .XDefaults according to
- |psc-cterm-xterm|.
->
- Q: What do you mean by 'Vanilla Windows'?
-<
- A: People often argue that Windows is not a REAL operating system.
- Well, I agree this, but only for vanilla windows. i.e. with no
- plug-ins installed. Vanilla windows is a very limited platform,
- since it is not POSIX compliant.
-
- There are currently many working around to make Windows POSIX
- Compliant, do you still mind which OS to use when it is POSIX
- Compliant? I don't. If you installed Cygwin kernel in your
- NT-based Windows, the Windows will be more or less POSIX compliant
- and you can use it in the same way as you use any Unix, BSD,
- Solaris, Linux, XWindow, etc... What is more, Cygwin is not the
- only kernel which makes Windows POSIX Compliant, make a google
- search and you will find many alternatives.
->
- Q: How to change the Normal background color? Why don't you use
- different background for NonText group?
-<
- A: This is for compatibility, since we have to use only 8 colors as
- background in a color terminal. For GUI you can change this, see
- |psc-change-background| for details.
-
-==============================================================================
-PSC RELEASE NOTES *psc-release-notes*
-
- 2.82 Release Note: ~
-
- Fixed bug with the reversed group for the Vim default, or other
- schemes.
-
- Fixed bug with the Diff mode fg mistaken as fg.
-
- Shrink the script a lot to improve load performance, moved the release
- notes into document.
-
- Change the default gui background color to #202020 (Dark Grey)
-
-
- 2.81 Release Note: ~
-
- Provided a separate utility reloaded.vim to fine tune the GUI color
- scheme based on Hue, Saturation and Brightness(Luminance).
-
- Added some groups to meet the need of reloaded.vim, no essential
- change.
-
- 2.8 Release Note: ~
-
- Bugfix : when psc_style=='mixed', the visual got reversed wrong.
-
- 'mixed' is now the default for 'warm' style.
-
- changed the function name to lower case.
-
- removed pre-2.0 compatibility, (the non-psc version of s-d-f-t).
-
- Added variable psc_cterm_style, see |psc_cterm_style|
-
- Added group Underline
-
- Tuned the function call.
-
- 2.7 Release Note: ~
-
- Now it is possible to change the Background,
- see :h psc-change-background for details.
-
- Linked the Tag group to Identifier.
-
- NonText as Notice is not good for 'warm', changed to Constant.
-
- Added links for the most popular plugins: taglist, calendar
-
- Tuned the 'Statement' color when different from Type (gui only).
-
- Re-adjusted cterm scheme according to syntax/hitest.vim
-
- The 'defdark' style for cterm is not functioning, fixed.
-
- Many 'cosmetic' changes, makes no difference for functionality.
-
- Use of DrChip's help extractor to auto-install help document.
-
- Added command define, :Colo
-
- 2.6 Release Note: ~
-
- As stated in the v2.3, the only 'todo' thing seems to be the 'warm'
- style, now in this version I had been working on it.
-
- There also are some minor fixes for the document, to be more friendly
- for new readers.
-
- The 'StatusLine' of 'cold' style is modified by mistake in the v2.3,
- this time the bug is fixed.
-
- The 'Directory' in GUI 'cold' style is different from 'cterm' one,
- now fixed.
-
- 2.3 Release Note: ~
-
- This is an incompatible update, main changes are in 'cterm'.
- A new group 'SignColumn' had been added, new links added for engspchk
- v52, hundreds of typos fixed in the document, thanks to the engspchk.
-
- The support for 8-color cterm is slightly better now, but the mappings
- of the DarkYellow and Yellow are exchanged, you need to update the
- .Xdefaults or your terminal configuration before apply this update if
- you are using v2.0. Guide for redefinition the color value is
- available in the document, make sure you had updated the ps_color.txt,
- then see |psc-cterm-color-table|
-
- 2.0 Release Note: ~
-
- There've been great enhancement since this version, so I'd choose to
- bump the version number to 2. This version comes with Vim online help,
- if you had installed ps_color.txt, you can see for details in
- |pscolor|
-
- n/a Release: ~
-
- Initial upload, can be called as v1.8
-
-
-==============================================================================
-PSC TODO LIST *psc-todo*
-
- . Fix the remain bugs.
- . Follow the new Vim versions for new added highlighting group
-
-==============================================================================
-
-vim:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet:
diff --git a/.vim/doc/taglist.txt b/.vim/doc/taglist.txt
deleted file mode 100755
index 6a62b39..0000000
--- a/.vim/doc/taglist.txt
+++ /dev/null
@@ -1,1501 +0,0 @@
-*taglist.txt* Plugin for browsing source code
-
-Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-For Vim version 6.0 and above
-Last change: 2007 May 24
-
-1. Overview |taglist-intro|
-2. Taglist on the internet |taglist-internet|
-3. Requirements |taglist-requirements|
-4. Installation |taglist-install|
-5. Usage |taglist-using|
-6. Options |taglist-options|
-7. Commands |taglist-commands|
-8. Global functions |taglist-functions|
-9. Extending |taglist-extend|
-10. FAQ |taglist-faq|
-11. License |taglist-license|
-12. Todo |taglist-todo|
-
-==============================================================================
- *taglist-intro*
-1. Overview~
-
-The "Tag List" plugin is a source code browser plugin for Vim. This plugin
-allows you to efficiently browse through source code files for different
-programming languages. The "Tag List" plugin provides the following features:
-
- * Displays the tags (functions, classes, structures, variables, etc.)
- defined in a file in a vertically or horizontally split Vim window.
- * In GUI Vim, optionally displays the tags in the Tags drop-down menu and
- in the popup menu.
- * Automatically updates the taglist window as you switch between
- files/buffers. As you open new files, the tags defined in the new files
- are added to the existing file list and the tags defined in all the
- files are displayed grouped by the filename.
- * When a tag name is selected from the taglist window, positions the
- cursor at the definition of the tag in the source file.
- * Automatically highlights the current tag name.
- * Groups the tags by their type and displays them in a foldable tree.
- * Can display the prototype and scope of a tag.
- * Can optionally display the tag prototype instead of the tag name in the
- taglist window.
- * The tag list can be sorted either by name or by chronological order.
- * Supports the following language files: Assembly, ASP, Awk, Beta, C,
- C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp,
- Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang,
- SML, Sql, TCL, Verilog, Vim and Yacc.
- * Can be easily extended to support new languages. Support for
- existing languages can be modified easily.
- * Provides functions to display the current tag name in the Vim status
- line or the window title bar.
- * The list of tags and files in the taglist can be saved and
- restored across Vim sessions.
- * Provides commands to get the name and prototype of the current tag.
- * Runs in both console/terminal and GUI versions of Vim.
- * Works with the winmanager plugin. Using the winmanager plugin, you
- can use Vim plugins like the file explorer, buffer explorer and the
- taglist plugin at the same time like an IDE.
- * Can be used in both Unix and MS-Windows systems.
-
-==============================================================================
- *taglist-internet*
-2. Taglist on the internet~
-
-The home page of the taglist plugin is at:
->
- http://vim-taglist.sourceforge.net/
-<
-You can subscribe to the taglist mailing list to post your questions or
-suggestions for improvement or to send bug reports. Visit the following page
-for subscribing to the mailing list:
->
- http://groups.yahoo.com/group/taglist
-<
-==============================================================================
- *taglist-requirements*
-3. Requirements~
-
-The taglist plugin requires the following:
-
- * Vim version 6.0 and above
- * Exuberant ctags 5.0 and above
-
-The taglist plugin will work on all the platforms where the exuberant ctags
-utility and Vim are supported (this includes MS-Windows and Unix based
-systems).
-
-The taglist plugin relies on the exuberant ctags utility to dynamically
-generate the tag listing. The exuberant ctags utility must be installed in
-your system to use this plugin. The exuberant ctags utility is shipped with
-most of the Linux distributions. You can download the exuberant ctags utility
-from
->
- http://ctags.sourceforge.net
-<
-The taglist plugin doesn't use or create a tags file and there is no need to
-create a tags file to use this plugin. The taglist plugin will not work with
-the GNU ctags or the Unix ctags utility.
-
-This plugin relies on the Vim "filetype" detection mechanism to determine the
-type of the current file. You have to turn on the Vim filetype detection by
-adding the following line to your .vimrc file:
->
- filetype on
-<
-The taglist plugin will not work if you run Vim in the restricted mode (using
-the -Z command-line argument).
-
-The taglist plugin uses the Vim system() function to invoke the exuberant
-ctags utility. If Vim is compiled without the system() function then you
-cannot use the taglist plugin. Some of the Linux distributions (Suse) compile
-Vim without the system() function for security reasons.
-
-==============================================================================
- *taglist-install*
-4. Installation~
-
-1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the
- $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
- have the following two files (the directory structure should be preserved):
-
- plugin/taglist.vim - main taglist plugin file
- doc/taglist.txt - documentation (help) file
-
- Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more
- details about installing Vim plugins.
-2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
- directory, start Vim and run the ":helptags ." command to process the
- taglist help file. Without this step, you cannot jump to the taglist help
- topics.
-3. If the exuberant ctags utility is not present in one of the directories in
- the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to
- point to the location of the exuberant ctags utility (not to the directory)
- in the .vimrc file.
-4. If you are running a terminal/console version of Vim and the terminal
- doesn't support changing the window width then set the
- 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
-5. Restart Vim.
-6. You can now use the ":TlistToggle" command to open/close the taglist
- window. You can use the ":help taglist" command to get more information
- about using the taglist plugin.
-
-To uninstall the taglist plugin, remove the plugin/taglist.vim and
-doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory.
-
-==============================================================================
- *taglist-using*
-5. Usage~
-
-The taglist plugin can be used in several different ways.
-
-1. You can keep the taglist window open during the entire editing session. On
- opening the taglist window, the tags defined in all the files in the Vim
- buffer list will be displayed in the taglist window. As you edit files, the
- tags defined in them will be added to the taglist window. You can select a
- tag from the taglist window and jump to it. The current tag will be
- highlighted in the taglist window. You can close the taglist window when
- you no longer need the window.
-2. You can configure the taglist plugin to process the tags defined in all the
- edited files always. In this configuration, even if the taglist window is
- closed and the taglist menu is not displayed, the taglist plugin will
- processes the tags defined in newly edited files. You can then open the
- taglist window only when you need to select a tag and then automatically
- close the taglist window after selecting the tag.
-3. You can configure the taglist plugin to display only the tags defined in
- the current file in the taglist window. By default, the taglist plugin
- displays the tags defined in all the files in the Vim buffer list. As you
- switch between files, the taglist window will be refreshed to display only
- the tags defined in the current file.
-4. In GUI Vim, you can use the Tags pull-down and popup menu created by the
- taglist plugin to display the tags defined in the current file and select a
- tag to jump to it. You can use the menu without opening the taglist window.
- By default, the Tags menu is disabled.
-5. You can configure the taglist plugin to display the name of the current tag
- in the Vim window status line or in the Vim window title bar. For this to
- work without the taglist window or menu, you need to configure the taglist
- plugin to process the tags defined in a file always.
-6. You can save the tags defined in multiple files to a taglist session file
- and load it when needed. You can also configure the taglist plugin to not
- update the taglist window when editing new files. You can then manually add
- files to the taglist window.
-
-Opening the taglist window~
-You can open the taglist window using the ":TlistOpen" or the ":TlistToggle"
-commands. The ":TlistOpen" command opens the taglist window and jumps to it.
-The ":TlistToggle" command opens or closes (toggle) the taglist window and the
-cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen'
-variable is set to 1, then the ":TlistToggle" command opens the taglist window
-and moves the cursor to the taglist window.
-
-You can map a key to invoke these commands. For example, the following command
-creates a normal mode mapping for the <F8> key to toggle the taglist window.
->
- nnoremap <silent> <F8> :TlistToggle<CR>
-<
-Add the above mapping to your ~/.vimrc or $HOME/_vimrc file.
-
-To automatically open the taglist window on Vim startup, set the
-'Tlist_Auto_Open' variable to 1.
-
-You can also open the taglist window on startup using the following command
-line:
->
- $ vim +TlistOpen
-<
-Closing the taglist window~
-You can close the taglist window from the taglist window by pressing 'q' or
-using the Vim ":q" command. You can also use any of the Vim window commands to
-close the taglist window. Invoking the ":TlistToggle" command when the taglist
-window is opened, closes the taglist window. You can also use the
-":TlistClose" command to close the taglist window.
-
-To automatically close the taglist window when a tag or file is selected, you
-can set the 'Tlist_Close_On_Select' variable to 1. To exit Vim when only the
-taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1.
-
-Jumping to a tag or a file~
-You can select a tag in the taglist window either by pressing the <Enter> key
-or by double clicking the tag name using the mouse. To jump to a tag on a
-single mouse click set the 'Tlist_Use_SingleClick' variable to 1.
-
-If the selected file is already opened in a window, then the cursor is moved
-to that window. If the file is not currently opened in a window then the file
-is opened in the window used by the taglist plugin to show the previously
-selected file. If there are no usable windows, then the file is opened in a
-new window. The file is not opened in special windows like the quickfix
-window, preview window and windows containing buffer with the 'buftype' option
-set.
-
-To jump to the tag in a new window, press the 'o' key. To open the file in the
-previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump
-to the tag but still keep the cursor in the taglist window (preview).
-
-To open the selected file in a tab, use the 't' key. If the file is already
-present in a tab then the cursor is moved to that tab otherwise the file is
-opened in a new tab. To jump to a tag in a new tab press Ctrl-t. The taglist
-window is automatically opened in the newly created tab.
-
-Instead of jumping to a tag, you can open a file by pressing the <Enter> key
-or by double clicking the file name using the mouse.
-
-In the taglist window, you can use the [[ or <Backspace> key to jump to the
-beginning of the previous file. You can use the ]] or <Tab> key to jump to the
-beginning of the next file. When you reach the first or last file, the search
-wraps around and the jumps to the next/previous file.
-
-Highlighting the current tag~
-The taglist plugin automatically highlights the name of the current tag in the
-taglist window. The Vim |CursorHold| autocmd event is used for this. If the
-current tag name is not visible in the taglist window, then the taglist window
-contents are scrolled to make that tag name visible. You can also use the
-":TlistHighlightTag" command to force the highlighting of the current tag.
-
-The tag name is highlighted if no activity is performed for |'updatetime'|
-milliseconds. The default value for this Vim option is 4 seconds. To avoid
-unexpected problems, you should not set the |'updatetime'| option to a very
-low value.
-
-To disable the automatic highlighting of the current tag name in the taglist
-window, set the 'Tlist_Auto_Highlight_Tag' variable to zero.
-
-When entering a Vim buffer/window, the taglist plugin automatically highlights
-the current tag in that buffer/window. If you like to disable the automatic
-highlighting of the current tag when entering a buffer, set the
-'Tlist_Highlight_Tag_On_BufEnter' variable to zero.
-
-Adding files to the taglist~
-When the taglist window is opened, all the files in the Vim buffer list are
-processed and the supported files are added to the taglist. When you edit a
-file in Vim, the taglist plugin automatically processes this file and adds it
-to the taglist. If you close the taglist window, the tag information in the
-taglist is retained.
-
-To process files even when the taglist window is not open, set the
-'Tlist_Process_File_Always' variable to 1.
-
-You can manually add multiple files to the taglist without opening them using
-the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands.
-
-For example, to add all the C files in the /my/project/dir directory to the
-taglist, you can use the following command:
->
- :TlistAddFiles /my/project/dir/*.c
-<
-Note that when adding several files with a large number of tags or a large
-number of files, it will take several seconds to several minutes for the
-taglist plugin to process all the files. You should not interrupt the taglist
-plugin by pressing <CTRL-C>.
-
-You can recursively add multiple files from a directory tree using the
-":TlistAddFilesRecursive" command:
->
- :TlistAddFilesRecursive /my/project/dir *.c
-<
-This command takes two arguments. The first argument specifies the directory
-from which to recursively add the files. The second optional argument
-specifies the wildcard matching pattern for selecting the files to add. The
-default pattern is * and all the files are added.
-
-Displaying tags for only one file~
-The taglist window displays the tags for all the files in the Vim buffer list
-and all the manually added files. To display the tags for only the current
-active buffer, set the 'Tlist_Show_One_File' variable to 1.
-
-Removing files from the taglist~
-You can remove a file from the taglist window, by pressing the 'd' key when the
-cursor is on one of the tags listed for the file in the taglist window. The
-removed file will no longer be displayed in the taglist window in the current
-Vim session. To again display the tags for the file, open the file in a Vim
-window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command
-to add the file to the taglist.
-
-When a buffer is removed from the Vim buffer list using the ":bdelete" or the
-":bwipeout" command, the taglist is updated to remove the stored information
-for this buffer.
-
-Updating the tags displayed for a file~
-The taglist plugin keeps track of the modification time of a file. When the
-modification time changes (the file is modified), the taglist plugin
-automatically updates the tags listed for that file. The modification time of
-a file is checked when you enter a window containing that file or when you
-load that file.
-
-You can also update or refresh the tags displayed for a file by pressing the
-"u" key in the taglist window. If an existing file is modified, after the file
-is saved, the taglist plugin automatically updates the tags displayed for the
-file.
-
-You can also use the ":TlistUpdate" command to update the tags for the current
-buffer after you made some changes to it. You should save the modified buffer
-before you update the taglist window. Otherwise the listed tags will not
-include the new tags created in the buffer.
-
-If you have deleted the tags displayed for a file in the taglist window using
-the 'd' key, you can again display the tags for that file using the
-":TlistUpdate" command.
-
-Controlling the taglist updates~
-To disable the automatic processing of new files or modified files, you can
-set the 'Tlist_Auto_Update' variable to zero. When this variable is set to
-zero, the taglist is updated only when you use the ":TlistUpdate" command or
-the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use
-this option to control which files are added to the taglist.
-
-You can use the ":TlistLock" command to lock the taglist contents. After this
-command is executed, new files are not automatically added to the taglist.
-When the taglist is locked, you can use the ":TlistUpdate" command to add the
-current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to
-add new files to the taglist. To unlock the taglist, use the ":TlistUnlock"
-command.
-
-Displaying the tag prototype~
-To display the prototype of the tag under the cursor in the taglist window,
-press the space bar. If you place the cursor on a tag name in the taglist
-window, then the tag prototype is displayed at the Vim status line after
-|'updatetime'| milliseconds. The default value for the |'updatetime'| Vim
-option is 4 seconds.
-
-You can get the name and prototype of a tag without opening the taglist window
-and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype"
-commands. These commands will work only if the current file is already present
-in the taglist. To use these commands without opening the taglist window, set
-the 'Tlist_Process_File_Always' variable to 1.
-
-You can use the ":TlistShowTag" command to display the name of the tag at or
-before the specified line number in the specified file. If the file name and
-line number are not supplied, then this command will display the name of the
-current tag. For example,
->
- :TlistShowTag
- :TlistShowTag myfile.java 100
-<
-You can use the ":TlistShowPrototype" command to display the prototype of the
-tag at or before the specified line number in the specified file. If the file
-name and the line number are not supplied, then this command will display the
-prototype of the current tag. For example,
->
- :TlistShowPrototype
- :TlistShowPrototype myfile.c 50
-<
-In the taglist window, when the mouse is moved over a tag name, the tag
-prototype is displayed in a balloon. This works only in GUI versions where
-balloon evaluation is supported.
-
-Taglist window contents~
-The taglist window contains the tags defined in various files in the taglist
-grouped by the filename and by the tag type (variable, function, class, etc.).
-For tags with scope information (like class members, structures inside
-structures, etc.), the scope information is displayed in square brackets "[]"
-after the tag name.
-
-The contents of the taglist buffer/window are managed by the taglist plugin.
-The |'filetype'| for the taglist buffer is set to 'taglist'. The Vim
-|'modifiable'| option is turned off for the taglist buffer. You should not
-manually edit the taglist buffer, by setting the |'modifiable'| flag. If you
-manually edit the taglist buffer contents, then the taglist plugin will be out
-of sync with the taglist buffer contents and the plugin will no longer work
-correctly. To redisplay the taglist buffer contents again, close the taglist
-window and reopen it.
-
-Opening and closing the tag and file tree~
-In the taglist window, the tag names are displayed as a foldable tree using
-the Vim folding support. You can collapse the tree using the '-' key or using
-the Vim |zc| fold command. You can open the tree using the '+' key or using
-the Vim |zo| fold command. You can open all the folds using the '*' key or
-using the Vim |zR| fold command. You can also use the mouse to open/close the
-folds. You can close all the folds using the '=' key. You should not manually
-create or delete the folds in the taglist window.
-
-To automatically close the fold for the inactive files/buffers and open only
-the fold for the current buffer in the taglist window, set the
-'Tlist_File_Fold_Auto_Close' variable to 1.
-
-Sorting the tags for a file~
-The tags displayed in the taglist window can be sorted either by their name or
-by their chronological order. The default sorting method is by the order in
-which the tags appear in a file. You can change the default sort method by
-setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can
-sort the tags by their name by pressing the "s" key in the taglist window. You
-can again sort the tags by their chronological order using the "s" key. Each
-file in the taglist window can be sorted using different order.
-
-Zooming in and out of the taglist window~
-You can press the 'x' key in the taglist window to maximize the taglist
-window width/height. The window will be maximized to the maximum possible
-width/height without closing the other existing windows. You can again press
-'x' to restore the taglist window to the default width/height.
-
- *taglist-session*
-Taglist Session~
-A taglist session refers to the group of files and their tags stored in the
-taglist in a Vim session.
-
-You can save and restore a taglist session (and all the displayed tags) using
-the ":TlistSessionSave" and ":TlistSessionLoad" commands.
-
-To save the information about the tags and files in the taglist to a file, use
-the ":TlistSessionSave" command and specify the filename:
->
- :TlistSessionSave <file name>
-<
-To load a saved taglist session, use the ":TlistSessionLoad" command: >
-
- :TlistSessionLoad <file name>
-<
-When you load a taglist session file, the tags stored in the file will be
-added to the tags already stored in the taglist.
-
-The taglist session feature can be used to save the tags for large files or a
-group of frequently used files (like a project). By using the taglist session
-file, you can minimize the amount to time it takes to load/refresh the taglist
-for multiple files.
-
-You can create more than one taglist session file for multiple groups of
-files.
-
-Displaying the tag name in the Vim status line or the window title bar~
-You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist
-plugin to display the current tag name in the Vim status line or the window
-title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line()
-function to display the current tag prototype in the Vim status line or the
-window title bar.
-
-For example, the following command can be used to display the current tag name
-in the status line:
->
- :set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
-<
-The following command can be used to display the current tag name in the
-window title bar:
->
- :set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)
-<
-Note that the current tag name can be displayed only after the file is
-processed by the taglist plugin. For this, you have to either set the
-'Tlist_Process_File_Always' variable to 1 or open the taglist window or use
-the taglist menu. For more information about configuring the Vim status line,
-refer to the documentation for the Vim |'statusline'| option.
-
-Changing the taglist window highlighting~
-The following Vim highlight groups are defined and used to highlight the
-various entities in the taglist window:
-
- TagListTagName - Used for tag names
- TagListTagScope - Used for tag scope
- TagListTitle - Used for tag titles
- TagListComment - Used for comments
- TagListFileName - Used for filenames
-
-By default, these highlight groups are linked to the standard Vim highlight
-groups. If you want to change the colors used for these highlight groups,
-prefix the highlight group name with 'My' and define it in your .vimrc or
-.gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle,
-MyTagListComment and MyTagListFileName. For example, to change the colors
-used for tag names, you can use the following command:
->
- :highlight MyTagListTagName guifg=blue ctermfg=blue
-<
-Controlling the taglist window~
-To use a horizontally split taglist window, instead of a vertically split
-window, set the 'Tlist_Use_Horiz_Window' variable to 1.
-
-To use a vertically split taglist window on the rightmost side of the Vim
-window, set the 'Tlist_Use_Right_Window' variable to 1.
-
-You can specify the width of the vertically split taglist window, by setting
-the 'Tlist_WinWidth' variable. You can specify the height of the horizontally
-split taglist window, by setting the 'Tlist_WinHeight' variable.
-
-When opening a vertically split taglist window, the Vim window width is
-increased to accommodate the new taglist window. When the taglist window is
-closed, the Vim window is reduced. To disable this, set the
-'Tlist_Inc_Winwidth' variable to zero.
-
-To reduce the number of empty lines in the taglist window, set the
-'Tlist_Compact_Format' variable to 1.
-
-To not display the Vim fold column in the taglist window, set the
-'Tlist_Enable_Fold_Column' variable to zero.
-
-To display the tag prototypes instead of the tag names in the taglist window,
-set the 'Tlist_Display_Prototype' variable to 1.
-
-To not display the scope of the tags next to the tag names, set the
-'Tlist_Display_Tag_Scope' variable to zero.
-
- *taglist-keys*
-Taglist window key list~
-The following table lists the description of the keys that can be used
-in the taglist window.
-
- Key Description~
-
- <CR> Jump to the location where the tag under cursor is
- defined.
- o Jump to the location where the tag under cursor is
- defined in a new window.
- P Jump to the tag in the previous (Ctrl-W_p) window.
- p Display the tag definition in the file window and
- keep the cursor in the taglist window itself.
- t Jump to the tag in a new tab. If the file is already
- opened in a tab, move to that tab.
- Ctrl-t Jump to the tag in a new tab.
- <Space> Display the prototype of the tag under the cursor.
- For file names, display the full path to the file,
- file type and the number of tags. For tag types, display the
- tag type and the number of tags.
- u Update the tags listed in the taglist window
- s Change the sort order of the tags (by name or by order)
- d Remove the tags for the file under the cursor
- x Zoom-in or Zoom-out the taglist window
- + Open a fold
- - Close a fold
- * Open all folds
- = Close all folds
- [[ Jump to the beginning of the previous file
- <Backspace> Jump to the beginning of the previous file
- ]] Jump to the beginning of the next file
- <Tab> Jump to the beginning of the next file
- q Close the taglist window
- <F1> Display help
-
-The above keys will work in both the normal mode and the insert mode.
-
- *taglist-menu*
-Taglist menu~
-When using GUI Vim, the taglist plugin can display the tags defined in the
-current file in the drop-down menu and the popup menu. By default, this
-feature is turned off. To turn on this feature, set the 'Tlist_Show_Menu'
-variable to 1.
-
-You can jump to a tag by selecting the tag name from the menu. You can use the
-taglist menu independent of the taglist window i.e. you don't need to open the
-taglist window to get the taglist menu.
-
-When you switch between files/buffers, the taglist menu is automatically
-updated to display the tags defined in the current file/buffer.
-
-The tags are grouped by their type (variables, functions, classes, methods,
-etc.) and displayed as a separate sub-menu for each type. If all the tags
-defined in a file are of the same type (e.g. functions), then the sub-menu is
-not used.
-
-If the number of items in a tag type submenu exceeds the value specified by
-the 'Tlist_Max_Submenu_Items' variable, then the submenu will be split into
-multiple submenus. The default setting for 'Tlist_Max_Submenu_Items' is 25.
-The first and last tag names in the submenu are used to form the submenu name.
-The menu items are prefixed by alpha-numeric characters for easy selection by
-keyboard.
-
-If the popup menu support is enabled (the |'mousemodel'| option contains
-"popup"), then the tags menu is added to the popup menu. You can access
-the popup menu by right clicking on the GUI window.
-
-You can regenerate the tags menu by selecting the 'Tags->Refresh menu' entry.
-You can sort the tags listed in the menu either by name or by order by
-selecting the 'Tags->Sort menu by->Name/Order' menu entry.
-
-You can tear-off the Tags menu and keep it on the side of the Vim window
-for quickly locating the tags.
-
-Using the taglist plugin with the winmanager plugin~
-You can use the taglist plugin with the winmanager plugin. This will allow you
-to use the file explorer, buffer explorer and the taglist plugin at the same
-time in different windows. To use the taglist plugin with the winmanager
-plugin, set 'TagList' in the 'winManagerWindowLayout' variable. For example,
-to use the file explorer plugin and the taglist plugin at the same time, use
-the following setting: >
-
- let winManagerWindowLayout = 'FileExplorer|TagList'
-<
-Getting help~
-If you have installed the taglist help file (this file), then you can use the
-Vim ":help taglist-<keyword>" command to get help on the various taglist
-topics.
-
-You can press the <F1> key in the taglist window to display the help
-information about using the taglist window. If you again press the <F1> key,
-the help information is removed from the taglist window.
-
- *taglist-debug*
-Debugging the taglist plugin~
-You can use the ":TlistDebug" command to enable logging of the debug messages
-from the taglist plugin. To display the logged debug messages, you can use the
-":TlistMessages" command. To disable the logging of the debug messages, use
-the ":TlistUndebug" command.
-
-You can specify a file name to the ":TlistDebug" command to log the debug
-messages to a file. Otherwise, the debug messages are stored in a script-local
-variable. In the later case, to minimize memory usage, only the last 3000
-characters from the debug messages are stored.
-
-==============================================================================
- *taglist-options*
-6. Options~
-
-A number of Vim variables control the behavior of the taglist plugin. These
-variables are initialized to a default value. By changing these variables you
-can change the behavior of the taglist plugin. You need to change these
-settings only if you want to change the behavior of the taglist plugin. You
-should use the |:let| command in your .vimrc file to change the setting of any
-of these variables.
-
-The configurable taglist variables are listed below. For a detailed
-description of these variables refer to the text below this table.
-
-|'Tlist_Auto_Highlight_Tag'| Automatically highlight the current tag in the
- taglist.
-|'Tlist_Auto_Open'| Open the taglist window when Vim starts.
-|'Tlist_Auto_Update'| Automatically update the taglist to include
- newly edited files.
-|'Tlist_Close_On_Select'| Close the taglist window when a file or tag is
- selected.
-|'Tlist_Compact_Format'| Remove extra information and blank lines from
- the taglist window.
-|'Tlist_Ctags_Cmd'| Specifies the path to the ctags utility.
-|'Tlist_Display_Prototype'| Show prototypes and not tags in the taglist
- window.
-|'Tlist_Display_Tag_Scope'| Show tag scope next to the tag name.
-|'Tlist_Enable_Fold_Column'| Show the fold indicator column in the taglist
- window.
-|'Tlist_Exit_OnlyWindow'| Close Vim if the taglist is the only window.
-|'Tlist_File_Fold_Auto_Close'| Close tag folds for inactive buffers.
-|'Tlist_GainFocus_On_ToggleOpen'|
- Jump to taglist window on open.
-|'Tlist_Highlight_Tag_On_BufEnter'|
- On entering a buffer, automatically highlight
- the current tag.
-|'Tlist_Inc_Winwidth'| Increase the Vim window width to accommodate
- the taglist window.
-|'Tlist_Max_Submenu_Items'| Maximum number of items in a tags sub-menu.
-|'Tlist_Max_Tag_Length'| Maximum tag length used in a tag menu entry.
-|'Tlist_Process_File_Always'| Process files even when the taglist window is
- closed.
-|'Tlist_Show_Menu'| Display the tags menu.
-|'Tlist_Show_One_File'| Show tags for the current buffer only.
-|'Tlist_Sort_Type'| Sort method used for arranging the tags.
-|'Tlist_Use_Horiz_Window'| Use a horizontally split window for the
- taglist window.
-|'Tlist_Use_Right_Window'| Place the taglist window on the right side.
-|'Tlist_Use_SingleClick'| Single click on a tag jumps to it.
-|'Tlist_WinHeight'| Horizontally split taglist window height.
-|'Tlist_WinWidth'| Vertically split taglist window width.
-
- *'Tlist_Auto_Highlight_Tag'*
-Tlist_Auto_Highlight_Tag~
-The taglist plugin will automatically highlight the current tag in the taglist
-window. If you want to disable this, then you can set the
-'Tlist_Auto_Highlight_Tag' variable to zero. Note that even though the current
-tag highlighting is disabled, the tags for a new file will still be added to
-the taglist window.
->
- let Tlist_Auto_Highlight_Tag = 0
-<
-With the above variable set to 1, you can use the ":TlistHighlightTag" command
-to highlight the current tag.
-
- *'Tlist_Auto_Open'*
-Tlist_Auto_Open~
-To automatically open the taglist window, when you start Vim, you can set the
-'Tlist_Auto_Open' variable to 1. By default, this variable is set to zero and
-the taglist window will not be opened automatically on Vim startup.
->
- let Tlist_Auto_Open = 1
-<
-The taglist window is opened only when a supported type of file is opened on
-Vim startup. For example, if you open text files, then the taglist window will
-not be opened.
-
- *'Tlist_Auto_Update'*
-Tlist_Auto_Update~
-When a new file is edited, the tags defined in the file are automatically
-processed and added to the taglist. To stop adding new files to the taglist,
-set the 'Tlist_Auto_Update' variable to zero. By default, this variable is set
-to 1.
->
- let Tlist_Auto_Update = 0
-<
-With the above variable set to 1, you can use the ":TlistUpdate" command to
-add the tags defined in the current file to the taglist.
-
- *'Tlist_Close_On_Select'*
-Tlist_Close_On_Select~
-If you want to close the taglist window when a file or tag is selected, then
-set the 'Tlist_Close_On_Select' variable to 1. By default, this variable is
-set zero and when you select a tag or file from the taglist window, the window
-is not closed.
->
- let Tlist_Close_On_Select = 1
-<
- *'Tlist_Compact_Format'*
-Tlist_Compact_Format~
-By default, empty lines are used to separate different tag types displayed for
-a file and the tags displayed for different files in the taglist window. If
-you want to display as many tags as possible in the taglist window, you can
-set the 'Tlist_Compact_Format' variable to 1 to get a compact display.
->
- let Tlist_Compact_Format = 1
-<
- *'Tlist_Ctags_Cmd'*
-Tlist_Ctags_Cmd~
-The 'Tlist_Ctags_Cmd' variable specifies the location (path) of the exuberant
-ctags utility. If exuberant ctags is present in any one of the directories in
-the PATH environment variable, then there is no need to set this variable.
-
-The exuberant ctags tool can be installed under different names. When the
-taglist plugin starts up, if the 'Tlist_Ctags_Cmd' variable is not set, it
-checks for the names exuberant-ctags, exctags, ctags, ctags.exe and tags in
-the PATH environment variable. If any one of the named executable is found,
-then the Tlist_Ctags_Cmd variable is set to that name.
-
-If exuberant ctags is not present in one of the directories specified in the
-PATH environment variable, then set this variable to point to the location of
-the ctags utility in your system. Note that this variable should point to the
-fully qualified exuberant ctags location and NOT to the directory in which
-exuberant ctags is installed. If the exuberant ctags tool is not found in
-either PATH or in the specified location, then the taglist plugin will not be
-loaded. Examples:
->
- let Tlist_Ctags_Cmd = 'd:\tools\ctags.exe'
- let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
-<
- *'Tlist_Display_Prototype'*
-Tlist_Display_Prototype~
-By default, only the tag name will be displayed in the taglist window. If you
-like to see tag prototypes instead of names, set the 'Tlist_Display_Prototype'
-variable to 1. By default, this variable is set to zero and only tag names
-will be displayed.
->
- let Tlist_Display_Prototype = 1
-<
- *'Tlist_Display_Tag_Scope'*
-Tlist_Display_Tag_Scope~
-By default, the scope of a tag (like a C++ class) will be displayed in
-square brackets next to the tag name. If you don't want the tag scopes
-to be displayed, then set the 'Tlist_Display_Tag_Scope' to zero. By default,
-this variable is set to 1 and the tag scopes will be displayed.
->
- let Tlist_Display_Tag_Scope = 0
-<
- *'Tlist_Enable_Fold_Column'*
-Tlist_Enable_Fold_Column~
-By default, the Vim fold column is enabled and displayed in the taglist
-window. If you wish to disable this (for example, when you are working with a
-narrow Vim window or terminal), you can set the 'Tlist_Enable_Fold_Column'
-variable to zero.
->
- let Tlist_Enable_Fold_Column = 1
-<
- *'Tlist_Exit_OnlyWindow'*
-Tlist_Exit_OnlyWindow~
-If you want to exit Vim if only the taglist window is currently opened, then
-set the 'Tlist_Exit_OnlyWindow' variable to 1. By default, this variable is
-set to zero and the Vim instance will not be closed if only the taglist window
-is present.
->
- let Tlist_Exit_OnlyWindow = 1
-<
- *'Tlist_File_Fold_Auto_Close'*
-Tlist_File_Fold_Auto_Close~
-By default, the tags tree displayed in the taglist window for all the files is
-opened. You can close/fold the tags tree for the files manually. To
-automatically close the tags tree for inactive files, you can set the
-'Tlist_File_Fold_Auto_Close' variable to 1. When this variable is set to 1,
-the tags tree for the current buffer is automatically opened and for all the
-other buffers is closed.
->
- let Tlist_File_Fold_Auto_Close = 1
-<
- *'Tlist_GainFocus_On_ToggleOpen'*
-Tlist_GainFocus_On_ToggleOpen~
-When the taglist window is opened using the ':TlistToggle' command, this
-option controls whether the cursor is moved to the taglist window or remains
-in the current window. By default, this option is set to 0 and the cursor
-remains in the current window. When this variable is set to 1, the cursor
-moves to the taglist window after opening the taglist window.
->
- let Tlist_GainFocus_On_ToggleOpen = 1
-<
- *'Tlist_Highlight_Tag_On_BufEnter'*
-Tlist_Highlight_Tag_On_BufEnter~
-When you enter a Vim buffer/window, the current tag in that buffer/window is
-automatically highlighted in the taglist window. If the current tag name is
-not visible in the taglist window, then the taglist window contents are
-scrolled to make that tag name visible. If you like to disable the automatic
-highlighting of the current tag when entering a buffer, you can set the
-'Tlist_Highlight_Tag_On_BufEnter' variable to zero. The default setting for
-this variable is 1.
->
- let Tlist_Highlight_Tag_On_BufEnter = 0
-<
- *'Tlist_Inc_Winwidth'*
-Tlist_Inc_Winwidth~
-By default, when the width of the window is less than 100 and a new taglist
-window is opened vertically, then the window width is increased by the value
-set in the 'Tlist_WinWidth' variable to accommodate the new window. The value
-of this variable is used only if you are using a vertically split taglist
-window.
-
-If your terminal doesn't support changing the window width from Vim (older
-version of xterm running in a Unix system) or if you see any weird problems in
-the screen due to the change in the window width or if you prefer not to
-adjust the window width then set the 'Tlist_Inc_Winwidth' variable to zero.
-CAUTION: If you are using the MS-Windows version of Vim in a MS-DOS command
-window then you must set this variable to zero, otherwise the system may hang
-due to a Vim limitation (explained in :help win32-problems)
->
- let Tlist_Inc_Winwidth = 0
-<
- *'Tlist_Max_Submenu_Items'*
-Tlist_Max_Submenu_Items~
-If a file contains too many tags of a particular type (function, variable,
-class, etc.), greater than that specified by the 'Tlist_Max_Submenu_Items'
-variable, then the menu for that tag type will be split into multiple
-sub-menus. The default setting for the 'Tlist_Max_Submenu_Items' variable is
-25. This can be changed by setting the 'Tlist_Max_Submenu_Items' variable:
->
- let Tlist_Max_Submenu_Items = 20
-<
-The name of the submenu is formed using the names of the first and the last
-tag entries in that submenu.
-
- *'Tlist_Max_Tag_Length'*
-Tlist_Max_Tag_Length~
-Only the first 'Tlist_Max_Tag_Length' characters from the tag names will be
-used to form the tag type submenu name. The default value for this variable is
-10. Change the 'Tlist_Max_Tag_Length' setting if you want to include more or
-less characters:
->
- let Tlist_Max_Tag_Length = 10
-<
- *'Tlist_Process_File_Always'*
-Tlist_Process_File_Always~
-By default, the taglist plugin will generate and process the tags defined in
-the newly opened files only when the taglist window is opened or when the
-taglist menu is enabled. When the taglist window is closed, the taglist plugin
-will stop processing the tags for newly opened files.
-
-You can set the 'Tlist_Process_File_Always' variable to 1 to generate the list
-of tags for new files even when the taglist window is closed and the taglist
-menu is disabled.
->
- let Tlist_Process_File_Always = 1
-<
-To use the ":TlistShowTag" and the ":TlistShowPrototype" commands without the
-taglist window and the taglist menu, you should set this variable to 1.
-
- *'Tlist_Show_Menu'*
-Tlist_Show_Menu~
-When using GUI Vim, you can display the tags defined in the current file in a
-menu named "Tags". By default, this feature is turned off. To turn on this
-feature, set the 'Tlist_Show_Menu' variable to 1:
->
- let Tlist_Show_Menu = 1
-<
- *'Tlist_Show_One_File'*
-Tlist_Show_One_File~
-By default, the taglist plugin will display the tags defined in all the loaded
-buffers in the taglist window. If you prefer to display the tags defined only
-in the current buffer, then you can set the 'Tlist_Show_One_File' to 1. When
-this variable is set to 1, as you switch between buffers, the taglist window
-will be refreshed to display the tags for the current buffer and the tags for
-the previous buffer will be removed.
->
- let Tlist_Show_One_File = 1
-<
- *'Tlist_Sort_Type'*
-Tlist_Sort_Type~
-The 'Tlist_Sort_Type' variable specifies the sort order for the tags in the
-taglist window. The tags can be sorted either alphabetically by their name or
-by the order of their appearance in the file (chronological order). By
-default, the tag names will be listed by the order in which they are defined
-in the file. You can change the sort type (from name to order or from order to
-name) by pressing the "s" key in the taglist window. You can also change the
-default sort order by setting 'Tlist_Sort_Type' to "name" or "order":
->
- let Tlist_Sort_Type = "name"
-<
- *'Tlist_Use_Horiz_Window'*
-Tlist_Use_Horiz_Window~
-Be default, the tag names are displayed in a vertically split window. If you
-prefer a horizontally split window, then set the 'Tlist_Use_Horiz_Window'
-variable to 1. If you are running MS-Windows version of Vim in a MS-DOS
-command window, then you should use a horizontally split window instead of a
-vertically split window. Also, if you are using an older version of xterm in a
-Unix system that doesn't support changing the xterm window width, you should
-use a horizontally split window.
->
- let Tlist_Use_Horiz_Window = 1
-<
- *'Tlist_Use_Right_Window'*
-Tlist_Use_Right_Window~
-By default, the vertically split taglist window will appear on the left hand
-side. If you prefer to open the window on the right hand side, you can set the
-'Tlist_Use_Right_Window' variable to 1:
->
- let Tlist_Use_Right_Window = 1
-<
- *'Tlist_Use_SingleClick'*
-Tlist_Use_SingleClick~
-By default, when you double click on the tag name using the left mouse
-button, the cursor will be positioned at the definition of the tag. You
-can set the 'Tlist_Use_SingleClick' variable to 1 to jump to a tag when
-you single click on the tag name using the mouse. By default this variable
-is set to zero.
->
- let Tlist_Use_SingleClick = 1
-<
-Due to a bug in Vim, if you set 'Tlist_Use_SingleClick' to 1 and try to resize
-the taglist window using the mouse, then Vim will crash. This problem is fixed
-in Vim 6.3 and above. In the meantime, instead of resizing the taglist window
-using the mouse, you can use normal Vim window resizing commands to resize the
-taglist window.
-
- *'Tlist_WinHeight'*
-Tlist_WinHeight~
-The default height of the horizontally split taglist window is 10. This can be
-changed by modifying the 'Tlist_WinHeight' variable:
->
- let Tlist_WinHeight = 20
-<
-The |'winfixheight'| option is set for the taglist window, to maintain the
-height of the taglist window, when new Vim windows are opened and existing
-windows are closed.
-
- *'Tlist_WinWidth'*
-Tlist_WinWidth~
-The default width of the vertically split taglist window is 30. This can be
-changed by modifying the 'Tlist_WinWidth' variable:
->
- let Tlist_WinWidth = 20
-<
-Note that the value of the |'winwidth'| option setting determines the minimum
-width of the current window. If you set the 'Tlist_WinWidth' variable to a
-value less than that of the |'winwidth'| option setting, then Vim will use the
-value of the |'winwidth'| option.
-
-When new Vim windows are opened and existing windows are closed, the taglist
-plugin will try to maintain the width of the taglist window to the size
-specified by the 'Tlist_WinWidth' variable.
-
-==============================================================================
- *taglist-commands*
-7. Commands~
-
-The taglist plugin provides the following ex-mode commands:
-
-|:TlistAddFiles| Add multiple files to the taglist.
-|:TlistAddFilesRecursive|
- Add files recursively to the taglist.
-|:TlistClose| Close the taglist window.
-|:TlistDebug| Start logging of taglist debug messages.
-|:TlistLock| Stop adding new files to the taglist.
-|:TlistMessages| Display the logged taglist plugin debug messages.
-|:TlistOpen| Open and jump to the taglist window.
-|:TlistSessionSave| Save the information about files and tags in the
- taglist to a session file.
-|:TlistSessionLoad| Load the information about files and tags stored
- in a session file to taglist.
-|:TlistShowPrototype| Display the prototype of the tag at or before the
- specified line number.
-|:TlistShowTag| Display the name of the tag defined at or before the
- specified line number.
-|:TlistHighlightTag| Highlight the current tag in the taglist window.
-|:TlistToggle| Open or close (toggle) the taglist window.
-|:TlistUndebug| Stop logging of taglist debug messages.
-|:TlistUnlock| Start adding new files to the taglist.
-|:TlistUpdate| Update the tags for the current buffer.
-
- *:TlistAddFiles*
-:TlistAddFiles {file(s)} [file(s) ...]
- Add one or more specified files to the taglist. You can
- specify multiple filenames using wildcards. To specify a
- file name with space character, you should escape the space
- character with a backslash.
- Examples:
->
- :TlistAddFiles *.c *.cpp
- :TlistAddFiles file1.html file2.html
-<
- If you specify a large number of files, then it will take some
- time for the taglist plugin to process all of them. The
- specified files will not be edited in a Vim window and will
- not be added to the Vim buffer list.
-
- *:TlistAddFilesRecursive*
-:TlistAddFilesRecursive {directory} [ {pattern} ]
- Add files matching {pattern} recursively from the specified
- {directory} to the taglist. If {pattern} is not specified,
- then '*' is assumed. To specify the current directory, use "."
- for {directory}. To specify a directory name with space
- character, you should escape the space character with a
- backslash.
- Examples:
->
- :TlistAddFilesRecursive myproject *.java
- :TlistAddFilesRecursive smallproject
-<
- If large number of files are present in the specified
- directory tree, then it will take some time for the taglist
- plugin to process all of them.
-
- *:TlistClose*
-:TlistClose Close the taglist window. This command can be used from any
- one of the Vim windows.
-
- *:TlistDebug*
-:TlistDebug [filename]
- Start logging of debug messages from the taglist plugin.
- If {filename} is specified, then the debug messages are stored
- in the specified file. Otherwise, the debug messages are
- stored in a script local variable. If the file {filename} is
- already present, then it is overwritten.
-
- *:TlistLock*
-:TlistLock
- Lock the taglist and don't process new files. After this
- command is executed, newly edited files will not be added to
- the taglist.
-
- *:TlistMessages*
-:TlistMessages
- Display the logged debug messages from the taglist plugin
- in a window. This command works only when logging to a
- script-local variable.
-
- *:TlistOpen*
-:TlistOpen Open and jump to the taglist window. Creates the taglist
- window, if the window is not opened currently. After executing
- this command, the cursor is moved to the taglist window. When
- the taglist window is opened for the first time, all the files
- in the buffer list are processed and the tags defined in them
- are displayed in the taglist window.
-
- *:TlistSessionSave*
-:TlistSessionSave {filename}
- Saves the information about files and tags in the taglist to
- the specified file. This command can be used to save and
- restore the taglist contents across Vim sessions.
-
- *:TlistSessionLoad*
-:TlistSessionLoad {filename}
- Load the information about files and tags stored in the
- specified session file to the taglist.
-
- *:TlistShowPrototype*
-:TlistShowPrototype [filename] [linenumber]
- Display the prototype of the tag at or before the specified
- line number. If the file name and the line number are not
- specified, then the current file name and line number are
- used. A tag spans multiple lines starting from the line where
- it is defined to the line before the next tag. This command
- displays the prototype for the tag for any line number in this
- range.
-
- *:TlistShowTag*
-:TlistShowTag [filename] [linenumber]
- Display the name of the tag defined at or before the specified
- line number. If the file name and the line number are not
- specified, then the current file name and line number are
- used. A tag spans multiple lines starting from the line where
- it is defined to the line before the next tag. This command
- displays the tag name for any line number in this range.
-
- *:TlistHighlightTag*
-:TlistHighlightTag
- Highlight the current tag in the taglist window. By default,
- the taglist plugin periodically updates the taglist window to
- highlight the current tag. This command can be used to force
- the taglist plugin to highlight the current tag.
-
- *:TlistToggle*
-:TlistToggle Open or close (toggle) the taglist window. Opens the taglist
- window, if the window is not opened currently. Closes the
- taglist window, if the taglist window is already opened. When
- the taglist window is opened for the first time, all the files
- in the buffer list are processed and the tags are displayed in
- the taglist window. After executing this command, the cursor
- is not moved from the current window to the taglist window.
-
- *:TlistUndebug*
-:TlistUndebug
- Stop logging of debug messages from the taglist plugin.
-
- *:TlistUnlock*
-:TlistUnlock
- Unlock the taglist and start processing newly edited files.
-
- *:TlistUpdate*
-:TlistUpdate Update the tags information for the current buffer. This
- command can be used to re-process the current file/buffer and
- get the tags information. As the taglist plugin uses the file
- saved in the disk (instead of the file displayed in a Vim
- buffer), you should save a modified buffer before you update
- the taglist. Otherwise the listed tags will not include the
- new tags created in the buffer. You can use this command even
- when the taglist window is not opened.
-
-==============================================================================
- *taglist-functions*
-8. Global functions~
-
-The taglist plugin provides several global functions that can be used from
-other Vim plugins to interact with the taglist plugin. These functions are
-described below.
-
-|Tlist_Update_File_Tags()| Update the tags for the specified file
-|Tlist_Get_Tag_Prototype_By_Line()| Return the prototype of the tag at or
- before the specified line number in the
- specified file.
-|Tlist_Get_Tagname_By_Line()| Return the name of the tag at or
- before the specified line number in
- the specified file.
-|Tlist_Set_App()| Set the name of the application
- controlling the taglist window.
-
- *Tlist_Update_File_Tags()*
-Tlist_Update_File_Tags({filename}, {filetype})
- Update the tags for the file {filename}. The second argument
- specifies the Vim filetype for the file. If the taglist plugin
- has not processed the file previously, then the exuberant
- ctags tool is invoked to generate the tags for the file.
-
- *Tlist_Get_Tag_Prototype_By_Line()*
-Tlist_Get_Tag_Prototype_By_Line([{filename}, {linenumber}])
- Return the prototype of the tag at or before the specified
- line number in the specified file. If the filename and line
- number are not specified, then the current buffer name and the
- current line number are used.
-
- *Tlist_Get_Tagname_By_Line()*
-Tlist_Get_Tagname_By_Line([{filename}, {linenumber}])
- Return the name of the tag at or before the specified line
- number in the specified file. If the filename and line number
- are not specified, then the current buffer name and the
- current line number are used.
-
- *Tlist_Set_App()*
-Tlist_Set_App({appname})
- Set the name of the plugin that controls the taglist plugin
- window and buffer. This can be used to integrate the taglist
- plugin with other Vim plugins.
-
- For example, the winmanager plugin and the Cream package use
- this function and specify the appname as "winmanager" and
- "cream" respectively.
-
- By default, the taglist plugin is a stand-alone plugin and
- controls the taglist window and buffer. If the taglist window
- is controlled by an external plugin, then the appname should
- be set appropriately.
-
-==============================================================================
- *taglist-extend*
-9. Extending~
-
-The taglist plugin supports all the languages supported by the exuberant ctags
-tool, which includes the following languages: Assembly, ASP, Awk, Beta, C,
-C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua,
-Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql,
-TCL, Verilog, Vim and Yacc.
-
-You can extend the taglist plugin to add support for new languages and also
-modify the support for the above listed languages.
-
-You should NOT make modifications to the taglist plugin script file to add
-support for new languages. You will lose these changes when you upgrade to the
-next version of the taglist plugin. Instead you should follow the below
-described instructions to extend the taglist plugin.
-
-You can extend the taglist plugin by setting variables in the .vimrc or _vimrc
-file. The name of these variables depends on the language name and is
-described below.
-
-Modifying support for an existing language~
-To modify the support for an already supported language, you have to set the
-tlist_xxx_settings variable in the ~/.vimrc or $HOME/_vimrc file. Replace xxx
-with the Vim filetype name for the language file. For example, to modify the
-support for the perl language files, you have to set the tlist_perl_settings
-variable. To modify the support for java files, you have to set the
-tlist_java_settings variable.
-
-To determine the filetype name used by Vim for a file, use the following
-command in the buffer containing the file:
-
- :set filetype
-
-The above command will display the Vim filetype for the current buffer.
-
-The format of the value set in the tlist_xxx_settings variable is
-
- <language_name>;flag1:name1;flag2:name2;flag3:name3
-
-The different fields in the value are separated by the ';' character.
-
-The first field 'language_name' is the name used by exuberant ctags to refer
-to this language file. This name can be different from the file type name used
-by Vim. For example, for C++, the language name used by ctags is 'c++' but the
-filetype name used by Vim is 'cpp'. To get the list of language names
-supported by exuberant ctags, use the following command:
-
- $ ctags --list-maps=all
-
-The remaining fields follow the format "flag:name". The sub-field 'flag' is
-the language specific flag used by exuberant ctags to generate the
-corresponding tags. For example, for the C language, to list only the
-functions, the 'f' flag is used. To get the list of flags supported by
-exuberant ctags for the various languages use the following command:
-
- $ ctags --list-kinds=all
-
-The sub-field 'name' specifies the title text to use for displaying the tags
-of a particular type. For example, 'name' can be set to 'functions'. This
-field can be set to any text string name.
-
-For example, to list only the classes and functions defined in a C++ language
-file, add the following line to your .vimrc file:
-
- let tlist_cpp_settings = 'c++;c:class;f:function'
-
-In the above setting, 'cpp' is the Vim filetype name and 'c++' is the name
-used by the exuberant ctags tool. 'c' and 'f' are the flags passed to
-exuberant ctags to list C++ classes and functions and 'class' is the title
-used for the class tags and 'function' is the title used for the function tags
-in the taglist window.
-
-For example, to display only functions defined in a C file and to use "My
-Functions" as the title for the function tags, use
-
- let tlist_c_settings = 'c;f:My Functions'
-
-When you set the tlist_xxx_settings variable, you will override the default
-setting used by the taglist plugin for the 'xxx' language. You cannot add to
-the default options used by the taglist plugin for a particular file type. To
-add to the options used by the taglist plugin for a language, copy the option
-values from the taglist plugin file to your .vimrc file and modify it.
-
-Adding support for a new language~
-If you want to add support for a new language to the taglist plugin, you need
-to first extend the exuberant ctags tool. For more information about extending
-exuberant ctags, visit the following page:
-
- http://ctags.sourceforge.net/EXTENDING.html
-
-To add support for a new language, set the tlist_xxx_settings variable in the
-~/.vimrc file appropriately as described above. Replace 'xxx' in the variable
-name with the Vim filetype name for the new language.
-
-For example, to extend the taglist plugin to support the latex language, you
-can use the following line (assuming, you have already extended exuberant
-ctags to support the latex language):
-
- let tlist_tex_settings='latex;b:bibitem;c:command;l:label'
-
-With the above line, when you edit files of filetype "tex" in Vim, the taglist
-plugin will invoke the exuberant ctags tool passing the "latex" filetype and
-the flags b, c and l to generate the tags. The text heading 'bibitem',
-'command' and 'label' will be used in the taglist window for the tags which
-are generated for the flags b, c and l respectively.
-
-==============================================================================
- *taglist-faq*
-10. Frequently Asked Questions~
-
-Q. The taglist plugin doesn't work. The taglist window is empty and the tags
- defined in a file are not displayed.
-A. Are you using Vim version 6.0 and above? The taglist plugin relies on the
- features supported by Vim version 6.0 and above. You can use the following
- command to get the Vim version:
->
- $ vim --version
-<
- Are you using exuberant ctags version 5.0 and above? The taglist plugin
- relies on the features supported by exuberant ctags and will not work with
- GNU ctags or the Unix ctags utility. You can use the following command to
- determine whether the ctags installed in your system is exuberant ctags:
->
- $ ctags --version
-<
- Is exuberant ctags present in one of the directories in your PATH? If not,
- you need to set the Tlist_Ctags_Cmd variable to point to the location of
- exuberant ctags. Use the following Vim command to verify that this is setup
- correctly:
->
- :echo system(Tlist_Ctags_Cmd . ' --version')
-<
- The above command should display the version information for exuberant
- ctags.
-
- Did you turn on the Vim filetype detection? The taglist plugin relies on
- the filetype detected by Vim and passes the filetype to the exuberant ctags
- utility to parse the tags. Check the output of the following Vim command:
->
- :filetype
-<
- The output of the above command should contain "filetype detection:ON".
- To turn on the filetype detection, add the following line to the .vimrc or
- _vimrc file:
->
- filetype on
-<
- Is your version of Vim compiled with the support for the system() function?
- The following Vim command should display 1:
->
- :echo exists('*system')
-<
- In some Linux distributions (particularly Suse Linux), the default Vim
- installation is built without the support for the system() function. The
- taglist plugin uses the system() function to invoke the exuberant ctags
- utility. You need to rebuild Vim after enabling the support for the
- system() function. If you use the default build options, the system()
- function will be supported.
-
- Do you have the |'shellslash'| option set? You can try disabling the
- |'shellslash'| option. When the taglist plugin invokes the exuberant ctags
- utility with the path to the file, if the incorrect slashes are used, then
- you will see errors.
-
- Check the shell related Vim options values using the following command:
->
- :set shell? shellcmdflag? shellpipe?
- :set shellquote? shellredir? shellxquote?
-<
- If these options are set in your .vimrc or _vimrc file, try removing those
- lines.
-
- Are you using a Unix shell in a MS-Windows environment? For example,
- the Unix shell from the MKS-toolkit. Do you have the SHELL environment
- set to point to this shell? You can try resetting the SHELL environment
- variable.
-
- If you are using a Unix shell on MS-Windows, you should try to use
- exuberant ctags that is compiled for Unix-like environments so that
- exuberant ctags will understand path names with forward slash characters.
-
- Is your filetype supported by the exuberant ctags utility? The file types
- supported by the exuberant ctags utility are listed in the ctags help. If a
- file type is not supported, you have to extend exuberant ctags. You can use
- the following command to list the filetypes supported by exuberant ctags:
->
- ctags --list-languages
-<
- Run the following command from the shell prompt and check whether the tags
- defined in your file are listed in the output from exuberant ctags:
->
- ctags -f - --format=2 --excmd=pattern --fields=nks <filename>
-<
- If you see your tags in the output from the above command, then the
- exuberant ctags utility is properly parsing your file.
-
- Do you have the .ctags or _ctags or the ctags.cnf file in your home
- directory for specifying default options or for extending exuberant ctags?
- If you do have this file, check the options in this file and make sure
- these options are not interfering with the operation of the taglist plugin.
-
- If you are using MS-Windows, check the value of the TEMP and TMP
- environment variables. If these environment variables are set to a path
- with space characters in the name, then try using the DOS 8.3 short name
- for the path or set them to a path without the space characters in the
- name. For example, if the temporary directory name is "C:\Documents and
- Settings\xyz\Local Settings\Temp", then try setting the TEMP variable to
- the following:
->
- set TEMP=C:\DOCUMEN~1\xyz\LOCALS~1\Temp
-<
- If exuberant ctags is installed in a directory with space characters in the
- name, then try adding the directory to the PATH environment variable or try
- setting the 'Tlist_Ctags_Cmd' variable to the shortest path name to ctags
- or try copying the exuberant ctags to a path without space characters in
- the name. For example, if exuberant ctags is installed in the directory
- "C:\Program Files\Ctags", then try setting the 'Tlist_Ctags_Cmd' variable
- as below:
->
- let Tlist_Ctags_Cmd='C:\Progra~1\Ctags\ctags.exe'
-<
- If you are using a cygwin compiled version of exuberant ctags on MS-Windows,
- make sure that either you have the cygwin compiled sort utility installed
- and available in your PATH or compile exuberant ctags with internal sort
- support. Otherwise, when exuberant ctags sorts the tags output by invoking
- the sort utility, it may end up invoking the MS-Windows version of
- sort.exe, thereby resulting in failure.
-
-Q. When I try to open the taglist window, I am seeing the following error
- message. How do I fix this problem?
-
- Taglist: Failed to generate tags for /my/path/to/file
- ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
-
-A. The taglist plugin will work only with the exuberant ctags tool. You
- cannot use the GNU ctags or the Unix ctags program with the taglist plugin.
- You will see an error message similar to the one shown above, if you try
- use a non-exuberant ctags program with Vim. To fix this problem, either add
- the exuberant ctags tool location to the PATH environment variable or set
- the 'Tlist_Ctags_Cmd' variable.
-
-Q. A file has more than one tag with the same name. When I select a tag name
- from the taglist window, the cursor is positioned at the incorrect tag
- location.
-A. The taglist plugin uses the search pattern generated by the exuberant ctags
- utility to position the cursor at the location of a tag definition. If a
- file has more than one tag with the same name and same prototype, then the
- search pattern will be the same. In this case, when searching for the tag
- pattern, the cursor may be positioned at the incorrect location.
-
-Q. I have made some modifications to my file and introduced new
- functions/classes/variables. I have not yet saved my file. The taglist
- plugin is not displaying the new tags when I update the taglist window.
-A. The exuberant ctags utility will process only files that are present in the
- disk. To list the tags defined in a file, you have to save the file and
- then update the taglist window.
-
-Q. I have created a ctags file using the exuberant ctags utility for my source
- tree. How do I configure the taglist plugin to use this tags file?
-A. The taglist plugin doesn't use a tags file stored in disk. For every opened
- file, the taglist plugin invokes the exuberant ctags utility to get the
- list of tags dynamically. The Vim system() function is used to invoke
- exuberant ctags and get the ctags output. This function internally uses a
- temporary file to store the output. This file is deleted after the output
- from the command is read. So you will never see the file that contains the
- output of exuberant ctags.
-
-Q. When I set the |'updatetime'| option to a low value (less than 1000) and if
- I keep pressing a key with the taglist window open, the current buffer
- contents are changed. Why is this?
-A. The taglist plugin uses the |CursorHold| autocmd to highlight the current
- tag. The CursorHold autocmd triggers for every |'updatetime'| milliseconds.
- If the |'updatetime'| option is set to a low value, then the CursorHold
- autocmd will be triggered frequently. As the taglist plugin changes
- the focus to the taglist window to highlight the current tag, this could
- interfere with the key movement resulting in changing the contents of
- the current buffer. The workaround for this problem is to not set the
- |'updatetime'| option to a low value.
-
-==============================================================================
- *taglist-license*
-11. License~
-Permission is hereby granted to use and distribute the taglist plugin, with or
-without modifications, provided that this copyright notice is copied with it.
-Like anything else that's free, taglist.vim is provided *as is* and comes with
-no warranty of any kind, either expressed or implied. In no event will the
-copyright holder be liable for any damamges resulting from the use of this
-software.
-
-==============================================================================
- *taglist-todo*
-12. Todo~
-
-1. Group tags according to the scope and display them. For example,
- group all the tags belonging to a C++/Java class
-2. Support for displaying tags in a modified (not-yet-saved) file.
-3. Automatically open the taglist window only for selected filetypes.
- For other filetypes, close the taglist window.
-4. When using the shell from the MKS toolkit, the taglist plugin
- doesn't work.
-5. The taglist plugin doesn't work with files edited remotely using the
- netrw plugin. The exuberant ctags utility cannot process files over
- scp/rcp/ftp, etc.
-
-==============================================================================
-
-vim:tw=78:ts=8:noet:ft=help:
diff --git a/.vim/doc/tags b/.vim/doc/tags
deleted file mode 100644
index 9049f74..0000000
--- a/.vim/doc/tags
+++ /dev/null
@@ -1,1138 +0,0 @@
-'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'*
-'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'*
-'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'*
-'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'*
-'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'*
-'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'*
-'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'*
-'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'*
-'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'*
-'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'*
-'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'*
-'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'*
-'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'*
-'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'*
-'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'*
-'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'*
-'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'*
-'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'*
-'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'*
-'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'*
-'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'*
-'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'*
-'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'*
-'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'*
-'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
-:DocIndex haskellmode.txt /*:DocIndex*
-:DocSettings haskellmode.txt /*:DocSettings*
-:ExportDocIndex haskellmode.txt /*:ExportDocIndex*
-:FlagReference haskellmode.txt /*:FlagReference*
-:GHCReload haskellmode.txt /*:GHCReload*
-:GHCStaticOptions haskellmode.txt /*:GHCStaticOptions*
-:GHCi haskellmode.txt /*:GHCi*
-:HpasteIndex haskellmode.txt /*:HpasteIndex*
-:HpastePostNew haskellmode.txt /*:HpastePostNew*
-:IDoc haskellmode.txt /*:IDoc*
-:MDoc haskellmode.txt /*:MDoc*
-:TlistAddFiles taglist.txt /*:TlistAddFiles*
-:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
-:TlistClose taglist.txt /*:TlistClose*
-:TlistDebug taglist.txt /*:TlistDebug*
-:TlistHighlightTag taglist.txt /*:TlistHighlightTag*
-:TlistLock taglist.txt /*:TlistLock*
-:TlistMessages taglist.txt /*:TlistMessages*
-:TlistOpen taglist.txt /*:TlistOpen*
-:TlistSessionLoad taglist.txt /*:TlistSessionLoad*
-:TlistSessionSave taglist.txt /*:TlistSessionSave*
-:TlistShowPrototype taglist.txt /*:TlistShowPrototype*
-:TlistShowTag taglist.txt /*:TlistShowTag*
-:TlistToggle taglist.txt /*:TlistToggle*
-:TlistUndebug taglist.txt /*:TlistUndebug*
-:TlistUnlock taglist.txt /*:TlistUnlock*
-:TlistUpdate taglist.txt /*:TlistUpdate*
-Alph latexhelp.txt /*Alph*
-Alt-B latex-suite.txt /*Alt-B*
-Alt-C latex-suite.txt /*Alt-C*
-Alt-I latex-suite.txt /*Alt-I*
-Alt-L latex-suite.txt /*Alt-L*
-BibTeX latexhelp.txt /*BibTeX*
-IMAP_PutTextWithMovement latex-suite.txt /*IMAP_PutTextWithMovement*
-Imap_DeleteEmptyPlaceHolders latex-suite.txt /*Imap_DeleteEmptyPlaceHolders*
-Imap_FreezeImap latex-suite.txt /*Imap_FreezeImap*
-Imap_PlaceHolderEnd latex-suite.txt /*Imap_PlaceHolderEnd*
-Imap_PlaceHolderStart latex-suite.txt /*Imap_PlaceHolderStart*
-Imap_StickyPlaceHolders latex-suite.txt /*Imap_StickyPlaceHolders*
-Imap_UsePlaceHolders latex-suite.txt /*Imap_UsePlaceHolders*
-LaTeX latexhelp.txt /*LaTeX*
-Plug_IMAP_DeleteAndJumBack latex-suite.txt /*Plug_IMAP_DeleteAndJumBack*
-Plug_IMAP_DeleteAndJumpForward latex-suite.txt /*Plug_IMAP_DeleteAndJumpForward*
-Plug_IMAP_JumpBack latex-suite.txt /*Plug_IMAP_JumpBack*
-Plug_IMAP_JumpForward latex-suite.txt /*Plug_IMAP_JumpForward*
-Plug_Tex_InsertItem latex-suite.txt /*Plug_Tex_InsertItem*
-Plug_Tex_LeftRight latex-suite.txt /*Plug_Tex_LeftRight*
-Plug_Tex_MathBF latex-suite.txt /*Plug_Tex_MathBF*
-Plug_Tex_MathCal latex-suite.txt /*Plug_Tex_MathCal*
-Roman latexhelp.txt /*Roman*
-TClearCiteHist latex-suite.txt /*TClearCiteHist*
-TLook latex-suite.txt /*TLook*
-TLookAll latex-suite.txt /*TLookAll*
-TLookBib latex-suite.txt /*TLookBib*
-TMacro latex-suite.txt /*TMacro*
-TMacroDelete latex-suite.txt /*TMacroDelete*
-TMacroEdit latex-suite.txt /*TMacroEdit*
-TMacroNew latex-suite.txt /*TMacroNew*
-TPackage latex-suite.txt /*TPackage*
-TPackageUpdate latex-suite.txt /*TPackageUpdate*
-TPackageUpdateAll latex-suite.txt /*TPackageUpdateAll*
-TPartComp latex-suite.txt /*TPartComp*
-TPartView latex-suite.txt /*TPartView*
-TSection latex-suite.txt /*TSection*
-TSectionAdvanced latex-suite.txt /*TSectionAdvanced*
-TTemplate latex-suite.txt /*TTemplate*
-Tex_AutoFolding latex-suite.txt /*Tex_AutoFolding*
-Tex_BIBINPUTS latex-suite.txt /*Tex_BIBINPUTS*
-Tex_CatchVisMapErrors latex-suite.txt /*Tex_CatchVisMapErrors*
-Tex_Com_name latex-suite.txt /*Tex_Com_name*
-Tex_CompileRule_format latex-suite.txt /*Tex_CompileRule_format*
-Tex_Debug latex-suite.txt /*Tex_Debug*
-Tex_DefaultTargetFormat latex-suite.txt /*Tex_DefaultTargetFormat*
-Tex_Diacritics latex-suite.txt /*Tex_Diacritics*
-Tex_Env_name latex-suite.txt /*Tex_Env_name*
-Tex_EnvironmentMaps latex-suite.txt /*Tex_EnvironmentMaps*
-Tex_EnvironmentMenus latex-suite.txt /*Tex_EnvironmentMenus*
-Tex_ExplorerHeight latex-suite.txt /*Tex_ExplorerHeight*
-Tex_FoldedCommands latex-suite.txt /*Tex_FoldedCommands*
-Tex_FoldedEnvironments latex-suite.txt /*Tex_FoldedEnvironments*
-Tex_FoldedMisc latex-suite.txt /*Tex_FoldedMisc*
-Tex_FoldedSections latex-suite.txt /*Tex_FoldedSections*
-Tex_Folding latex-suite.txt /*Tex_Folding*
-Tex_FontMaps latex-suite.txt /*Tex_FontMaps*
-Tex_FontMenus latex-suite.txt /*Tex_FontMenus*
-Tex_GotoError latex-suite.txt /*Tex_GotoError*
-Tex_HotKeyMappings latex-suite.txt /*Tex_HotKeyMappings*
-Tex_IgnoreLevel latex-suite.txt /*Tex_IgnoreLevel*
-Tex_IgnoredWarnings latex-suite.txt /*Tex_IgnoredWarnings*
-Tex_ImageDir latex-suite.txt /*Tex_ImageDir*
-Tex_ItemStyle_environment latex-suite.txt /*Tex_ItemStyle_environment*
-Tex_Leader latex-suite.txt /*Tex_Leader*
-Tex_Leader2 latex-suite.txt /*Tex_Leader2*
-Tex_MainFileExpression latex-suite.txt /*Tex_MainFileExpression*
-Tex_MainMenuLocation latex-suite.txt /*Tex_MainMenuLocation*
-Tex_MathMenus latex-suite.txt /*Tex_MathMenus*
-Tex_Menus latex-suite.txt /*Tex_Menus*
-Tex_MultipleCompileFormats latex-suite.txt /*Tex_MultipleCompileFormats*
-Tex_NestElementMenus latex-suite.txt /*Tex_NestElementMenus*
-Tex_NestPackagesMenu latex-suite.txt /*Tex_NestPackagesMenu*
-Tex_PackagesMenu latex-suite.txt /*Tex_PackagesMenu*
-Tex_ProjectSourceFiles latex-suite.txt /*Tex_ProjectSourceFiles*
-Tex_PromptedCommands latex-suite.txt /*Tex_PromptedCommands*
-Tex_PromptedEnvironments latex-suite.txt /*Tex_PromptedEnvironments*
-Tex_RememberCiteSearch latex-suite.txt /*Tex_RememberCiteSearch*
-Tex_SectionMaps latex-suite.txt /*Tex_SectionMaps*
-Tex_SectionMenus latex-suite.txt /*Tex_SectionMenus*
-Tex_SmartKeyBS latex-suite.txt /*Tex_SmartKeyBS*
-Tex_SmartKeyQuote latex-suite.txt /*Tex_SmartKeyQuote*
-Tex_TEXINPUTS latex-suite.txt /*Tex_TEXINPUTS*
-Tex_UseMakefile latex-suite.txt /*Tex_UseMakefile*
-Tex_UseMenuWizard latex-suite.txt /*Tex_UseMenuWizard*
-Tex_UsePython latex-suite.txt /*Tex_UsePython*
-Tex_UseSimpleLabelSearch latex-suite.txt /*Tex_UseSimpleLabelSearch*
-Tex_UseUtfMenus latex-suite.txt /*Tex_UseUtfMenus*
-Tex_ViewRuleComplete_format latex-suite.txt /*Tex_ViewRuleComplete_format*
-Tex_ViewRule_format latex-suite.txt /*Tex_ViewRule_format*
-Tex_ViewerCwindowHeight latex-suite.txt /*Tex_ViewerCwindowHeight*
-Tex_ViewerPreviewHeight latex-suite.txt /*Tex_ViewerPreviewHeight*
-Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
-Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
-Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
-Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()*
-Tshortcuts latex-suite.txt /*Tshortcuts*
-\Alph latexhelp.txt /*\\Alph*
-\Huge latexhelp.txt /*\\Huge*
-\LARGE latexhelp.txt /*\\LARGE*
-\Large latexhelp.txt /*\\Large*
-\Roman latexhelp.txt /*\\Roman*
-\\ latexhelp.txt /*\\\\*
-\\\\ latexhelp.txt /*\\\\\\\\*
-\addcontentsline latexhelp.txt /*\\addcontentsline*
-\address latexhelp.txt /*\\address*
-\addtocontents latexhelp.txt /*\\addtocontents*
-\addtocounter latexhelp.txt /*\\addtocounter*
-\addtolength latexhelp.txt /*\\addtolength*
-\addvspace latexhelp.txt /*\\addvspace*
-\alph latexhelp.txt /*\\alph*
-\and latexhelp.txt /*\\and*
-\appendix latexhelp.txt /*\\appendix*
-\arabic latexhelp.txt /*\\arabic*
-\author latexhelp.txt /*\\author*
-\begin latexhelp.txt /*\\begin*
-\bfseries latexhelp.txt /*\\bfseries*
-\bibitem latexhelp.txt /*\\bibitem*
-\bibliography latexhelp.txt /*\\bibliography*
-\bibliographystyle latexhelp.txt /*\\bibliographystyle*
-\bigskip latexhelp.txt /*\\bigskip*
-\cc latexhelp.txt /*\\cc*
-\cdots latexhelp.txt /*\\cdots*
-\centering latexhelp.txt /*\\centering*
-\chapter latexhelp.txt /*\\chapter*
-\circle latexhelp.txt /*\\circle*
-\cite latexhelp.txt /*\\cite*
-\cleardoublepage latexhelp.txt /*\\cleardoublepage*
-\clearpage latexhelp.txt /*\\clearpage*
-\cline latexhelp.txt /*\\cline*
-\closing latexhelp.txt /*\\closing*
-\dashbox latexhelp.txt /*\\dashbox*
-\date latexhelp.txt /*\\date*
-\ddots latexhelp.txt /*\\ddots*
-\depth latexhelp.txt /*\\depth*
-\documentclass latexhelp.txt /*\\documentclass*
-\dotfill latexhelp.txt /*\\dotfill*
-\emph latexhelp.txt /*\\emph*
-\end latexhelp.txt /*\\end*
-\enlargethispage latexhelp.txt /*\\enlargethispage*
-\fbox latexhelp.txt /*\\fbox*
-\flushbottom latexhelp.txt /*\\flushbottom*
-\fnsymbol latexhelp.txt /*\\fnsymbol*
-\fontencoding latexhelp.txt /*\\fontencoding*
-\fontfamily latexhelp.txt /*\\fontfamily*
-\fontseries latexhelp.txt /*\\fontseries*
-\fontshape latexhelp.txt /*\\fontshape*
-\fontsize latexhelp.txt /*\\fontsize*
-\footnote latexhelp.txt /*\\footnote*
-\footnotemark latexhelp.txt /*\\footnotemark*
-\footnotesize latexhelp.txt /*\\footnotesize*
-\footnotetext latexhelp.txt /*\\footnotetext*
-\frac latexhelp.txt /*\\frac*
-\frame latexhelp.txt /*\\frame*
-\framebox latexhelp.txt /*\\framebox*
-\fussy latexhelp.txt /*\\fussy*
-\height latexhelp.txt /*\\height*
-\hfill latexhelp.txt /*\\hfill*
-\hline latexhelp.txt /*\\hline*
-\hrulefill latexhelp.txt /*\\hrulefill*
-\hspace latexhelp.txt /*\\hspace*
-\huge latexhelp.txt /*\\huge*
-\hyphenation latexhelp.txt /*\\hyphenation*
-\include latexhelp.txt /*\\include*
-\includeonly latexhelp.txt /*\\includeonly*
-\indent latexhelp.txt /*\\indent*
-\input latexhelp.txt /*\\input*
-\item latexhelp.txt /*\\item*
-\itshape latexhelp.txt /*\\itshape*
-\kill latexhelp.txt /*\\kill*
-\label latexhelp.txt /*\\label*
-\large latexhelp.txt /*\\large*
-\ldots latexhelp.txt /*\\ldots*
-\lefteqn latexhelp.txt /*\\lefteqn*
-\letter latexhelp.txt /*\\letter*
-\line latexhelp.txt /*\\line*
-\linebreak latexhelp.txt /*\\linebreak*
-\linethickness latexhelp.txt /*\\linethickness*
-\listoffigures latexhelp.txt /*\\listoffigures*
-\listoftables latexhelp.txt /*\\listoftables*
-\location latexhelp.txt /*\\location*
-\lrbox latexhelp.txt /*\\lrbox*
-\makebox latexhelp.txt /*\\makebox*
-\makelabels latexhelp.txt /*\\makelabels*
-\maketitle latexhelp.txt /*\\maketitle*
-\marginpar latexhelp.txt /*\\marginpar*
-\markboth latexhelp.txt /*\\markboth*
-\markright latexhelp.txt /*\\markright*
-\mathbf latexhelp.txt /*\\mathbf*
-\mathcal latexhelp.txt /*\\mathcal*
-\mathit latexhelp.txt /*\\mathit*
-\mathnormal latexhelp.txt /*\\mathnormal*
-\mathrm latexhelp.txt /*\\mathrm*
-\mathsf latexhelp.txt /*\\mathsf*
-\mathtt latexhelp.txt /*\\mathtt*
-\mathversion latexhelp.txt /*\\mathversion*
-\mbox latexhelp.txt /*\\mbox*
-\mdseries latexhelp.txt /*\\mdseries*
-\medskip latexhelp.txt /*\\medskip*
-\multicolumn latexhelp.txt /*\\multicolumn*
-\multiput latexhelp.txt /*\\multiput*
-\name latexhelp.txt /*\\name*
-\newcommand latexhelp.txt /*\\newcommand*
-\newcounter latexhelp.txt /*\\newcounter*
-\newenvironment latexhelp.txt /*\\newenvironment*
-\newfont latexhelp.txt /*\\newfont*
-\newlength latexhelp.txt /*\\newlength*
-\newline latexhelp.txt /*\\newline*
-\newpage latexhelp.txt /*\\newpage*
-\newsavebox latexhelp.txt /*\\newsavebox*
-\newtheorem latexhelp.txt /*\\newtheorem*
-\nocite latexhelp.txt /*\\nocite*
-\nofiles latexhelp.txt /*\\nofiles*
-\noindent latexhelp.txt /*\\noindent*
-\nolinebreak latexhelp.txt /*\\nolinebreak*
-\nonumber latexhelp.txt /*\\nonumber*
-\nopagebreak latexhelp.txt /*\\nopagebreak*
-\normalfont latexhelp.txt /*\\normalfont*
-\normalsize latexhelp.txt /*\\normalsize*
-\onecolumn latexhelp.txt /*\\onecolumn*
-\opening latexhelp.txt /*\\opening*
-\oval latexhelp.txt /*\\oval*
-\overbrace latexhelp.txt /*\\overbrace*
-\overline latexhelp.txt /*\\overline*
-\pagebreak latexhelp.txt /*\\pagebreak*
-\pagenumbering latexhelp.txt /*\\pagenumbering*
-\pageref latexhelp.txt /*\\pageref*
-\pagestyle latexhelp.txt /*\\pagestyle*
-\par latexhelp.txt /*\\par*
-\paragraph latexhelp.txt /*\\paragraph*
-\parbox latexhelp.txt /*\\parbox*
-\part latexhelp.txt /*\\part*
-\picture-framebox latexhelp.txt /*\\picture-framebox*
-\ps latexhelp.txt /*\\ps*
-\pushtabs latexhelp.txt /*\\pushtabs*
-\put latexhelp.txt /*\\put*
-\raggedbottom latexhelp.txt /*\\raggedbottom*
-\raggedleft latexhelp.txt /*\\raggedleft*
-\raggedright latexhelp.txt /*\\raggedright*
-\raisebox latexhelp.txt /*\\raisebox*
-\ref latexhelp.txt /*\\ref*
-\refstepcounter latexhelp.txt /*\\refstepcounter*
-\renewcommand latexhelp.txt /*\\renewcommand*
-\renewenvironment latexhelp.txt /*\\renewenvironment*
-\reversemarginpar latexhelp.txt /*\\reversemarginpar*
-\rmfamily latexhelp.txt /*\\rmfamily*
-\roman latexhelp.txt /*\\roman*
-\rule latexhelp.txt /*\\rule*
-\savebox latexhelp.txt /*\\savebox*
-\sbox latexhelp.txt /*\\sbox*
-\scriptsize latexhelp.txt /*\\scriptsize*
-\scshape latexhelp.txt /*\\scshape*
-\section latexhelp.txt /*\\section*
-\selectfont latexhelp.txt /*\\selectfont*
-\setcounter latexhelp.txt /*\\setcounter*
-\setlength latexhelp.txt /*\\setlength*
-\settodepth latexhelp.txt /*\\settodepth*
-\settoheight latexhelp.txt /*\\settoheight*
-\settowidth latexhelp.txt /*\\settowidth*
-\sffamily latexhelp.txt /*\\sffamily*
-\shortstack latexhelp.txt /*\\shortstack*
-\signature latexhelp.txt /*\\signature*
-\sloppy latexhelp.txt /*\\sloppy*
-\slshape latexhelp.txt /*\\slshape*
-\small latexhelp.txt /*\\small*
-\smallskip latexhelp.txt /*\\smallskip*
-\space latexhelp.txt /*\\space*
-\sqrt latexhelp.txt /*\\sqrt*
-\startbreaks latexhelp.txt /*\\startbreaks*
-\stepcounter latexhelp.txt /*\\stepcounter*
-\stopbreaks latexhelp.txt /*\\stopbreaks*
-\subparagraph latexhelp.txt /*\\subparagraph*
-\subsection latexhelp.txt /*\\subsection*
-\subsubsection latexhelp.txt /*\\subsubsection*
-\symbol latexhelp.txt /*\\symbol*
-\table latexhelp.txt /*\\table*
-\tableofcontents latexhelp.txt /*\\tableofcontents*
-\telephone latexhelp.txt /*\\telephone*
-\textbf latexhelp.txt /*\\textbf*
-\textit latexhelp.txt /*\\textit*
-\textmd latexhelp.txt /*\\textmd*
-\textnormal latexhelp.txt /*\\textnormal*
-\textrm latexhelp.txt /*\\textrm*
-\textsc latexhelp.txt /*\\textsc*
-\textsf latexhelp.txt /*\\textsf*
-\textsl latexhelp.txt /*\\textsl*
-\texttt latexhelp.txt /*\\texttt*
-\textup latexhelp.txt /*\\textup*
-\thanks latexhelp.txt /*\\thanks*
-\thebibliography latexhelp.txt /*\\thebibliography*
-\thispagestyle latexhelp.txt /*\\thispagestyle*
-\tiny latexhelp.txt /*\\tiny*
-\title latexhelp.txt /*\\title*
-\totalheight latexhelp.txt /*\\totalheight*
-\ttfamily latexhelp.txt /*\\ttfamily*
-\twocolumn latexhelp.txt /*\\twocolumn*
-\typein latexhelp.txt /*\\typein*
-\typeout latexhelp.txt /*\\typeout*
-\underbrace latexhelp.txt /*\\underbrace*
-\underline latexhelp.txt /*\\underline*
-\upshape latexhelp.txt /*\\upshape*
-\usebox latexhelp.txt /*\\usebox*
-\usecounter latexhelp.txt /*\\usecounter*
-\usefont latexhelp.txt /*\\usefont*
-\usepackage latexhelp.txt /*\\usepackage*
-\value latexhelp.txt /*\\value*
-\vdots latexhelp.txt /*\\vdots*
-\vector latexhelp.txt /*\\vector*
-\verb latexhelp.txt /*\\verb*
-\vfill latexhelp.txt /*\\vfill*
-\vline latexhelp.txt /*\\vline*
-\vspace latexhelp.txt /*\\vspace*
-\width latexhelp.txt /*\\width*
-_. haskellmode.txt /*_.*
-_? haskellmode.txt /*_?*
-_?1 haskellmode.txt /*_?1*
-_?2 haskellmode.txt /*_?2*
-_T haskellmode.txt /*_T*
-_ct haskellmode.txt /*_ct*
-_i haskellmode.txt /*_i*
-_ie haskellmode.txt /*_ie*
-_im haskellmode.txt /*_im*
-_iq haskellmode.txt /*_iq*
-_iqm haskellmode.txt /*_iqm*
-_lang haskellmode.txt /*_lang*
-_opt haskellmode.txt /*_opt*
-_si haskellmode.txt /*_si*
-_t haskellmode.txt /*_t*
-adding-bib-options latex-suite.txt /*adding-bib-options*
-alph latexhelp.txt /*alph*
-altkey-mappings latex-suite.txt /*altkey-mappings*
-arabic latexhelp.txt /*arabic*
-array latexhelp.txt /*array*
-article-class latexhelp.txt /*article-class*
-auc-tex-mappings latex-suite.txt /*auc-tex-mappings*
-automatic-package-detection latex-suite.txt /*automatic-package-detection*
-bibtex latexhelp.txt /*bibtex*
-bibtex-bindings latex-suite.txt /*bibtex-bindings*
-book-class latexhelp.txt /*book-class*
-c-support csupport.txt /*c-support*
-center latexhelp.txt /*center*
-changing-commands latex-suite.txt /*changing-commands*
-changing-environments latex-suite.txt /*changing-environments*
-cite-search-caching latex-suite.txt /*cite-search-caching*
-compiler-dependency latex-suite.txt /*compiler-dependency*
-compiler-ghc haskellmode.txt /*compiler-ghc*
-compiler-output-customization latex-suite.txt /*compiler-output-customization*
-compiler-rules latex-suite.txt /*compiler-rules*
-compiling-multiple latex-suite.txt /*compiling-multiple*
-completion-window-preferences latex-suite.txt /*completion-window-preferences*
-csupport csupport.txt /*csupport*
-csupport-c++ csupport.txt /*csupport-c++*
-csupport-c++-method-impl csupport.txt /*csupport-c++-method-impl*
-csupport-c++-normal-mode csupport.txt /*csupport-c++-normal-mode*
-csupport-c++-visual-mode csupport.txt /*csupport-c++-visual-mode*
-csupport-code-to-comm csupport.txt /*csupport-code-to-comm*
-csupport-comm csupport.txt /*csupport-comm*
-csupport-comm-aligned csupport.txt /*csupport-comm-aligned*
-csupport-comm-c-cpp csupport.txt /*csupport-comm-c-cpp*
-csupport-comm-date csupport.txt /*csupport-comm-date*
-csupport-comm-frame csupport.txt /*csupport-comm-frame*
-csupport-comm-keywords csupport.txt /*csupport-comm-keywords*
-csupport-comm-realign csupport.txt /*csupport-comm-realign*
-csupport-comm-to-code csupport.txt /*csupport-comm-to-code*
-csupport-custom csupport.txt /*csupport-custom*
-csupport-custom-glob-vars csupport.txt /*csupport-custom-glob-vars*
-csupport-custom-root-menu csupport.txt /*csupport-custom-root-menu*
-csupport-dictionary csupport.txt /*csupport-dictionary*
-csupport-folding csupport.txt /*csupport-folding*
-csupport-help csupport.txt /*csupport-help*
-csupport-hotkeys csupport.txt /*csupport-hotkeys*
-csupport-idioms csupport.txt /*csupport-idioms*
-csupport-prep csupport.txt /*csupport-prep*
-csupport-prep-if0 csupport.txt /*csupport-prep-if0*
-csupport-prep-normal-mode csupport.txt /*csupport-prep-normal-mode*
-csupport-prep-visual-mode csupport.txt /*csupport-prep-visual-mode*
-csupport-proto csupport.txt /*csupport-proto*
-csupport-release-notes csupport.txt /*csupport-release-notes*
-csupport-run csupport.txt /*csupport-run*
-csupport-run-buffer csupport.txt /*csupport-run-buffer*
-csupport-run-cmdline-args csupport.txt /*csupport-run-cmdline-args*
-csupport-run-codecheck csupport.txt /*csupport-run-codecheck*
-csupport-run-hardcopy csupport.txt /*csupport-run-hardcopy*
-csupport-run-indent csupport.txt /*csupport-run-indent*
-csupport-run-make csupport.txt /*csupport-run-make*
-csupport-run-make-args csupport.txt /*csupport-run-make-args*
-csupport-run-output csupport.txt /*csupport-run-output*
-csupport-run-splint csupport.txt /*csupport-run-splint*
-csupport-run-templates csupport.txt /*csupport-run-templates*
-csupport-run-xterm csupport.txt /*csupport-run-xterm*
-csupport-snippets csupport.txt /*csupport-snippets*
-csupport-stat csupport.txt /*csupport-stat*
-csupport-stat-normal-mode csupport.txt /*csupport-stat-normal-mode*
-csupport-stat-visual-mode csupport.txt /*csupport-stat-visual-mode*
-csupport-system-wide csupport.txt /*csupport-system-wide*
-csupport-taglist csupport.txt /*csupport-taglist*
-csupport-templates csupport.txt /*csupport-templates*
-csupport-templates-date csupport.txt /*csupport-templates-date*
-csupport-templates-definition csupport.txt /*csupport-templates-definition*
-csupport-templates-expansion csupport.txt /*csupport-templates-expansion*
-csupport-templates-files csupport.txt /*csupport-templates-files*
-csupport-templates-macros csupport.txt /*csupport-templates-macros*
-csupport-templates-names csupport.txt /*csupport-templates-names*
-csupport-troubleshooting csupport.txt /*csupport-troubleshooting*
-csupport-usage-gvim csupport.txt /*csupport-usage-gvim*
-csupport-usage-vim csupport.txt /*csupport-usage-vim*
-csupport-windows csupport.txt /*csupport-windows*
-csupport.txt csupport.txt /*csupport.txt*
-custom-macros-menu latex-suite.txt /*custom-macros-menu*
-custom-packages latex-suite.txt /*custom-packages*
-customize-alt-key-maps latex-suite.txt /*customize-alt-key-maps*
-customize-imap-maps latex-suite.txt /*customize-imap-maps*
-customizing-compiling latex-suite.txt /*customizing-compiling*
-customizing-folding latex-suite.txt /*customizing-folding*
-customizing-latex-completion latex-suite.txt /*customizing-latex-completion*
-customizing-latex-suite latex-suite.txt /*customizing-latex-suite*
-customizing-macros latex-suite.txt /*customizing-macros*
-customizing-menus latex-suite.txt /*customizing-menus*
-customizing-packages latex-suite.txt /*customizing-packages*
-customizing-place-holders latex-suite.txt /*customizing-place-holders*
-customizing-smart-keys latex-suite.txt /*customizing-smart-keys*
-customizing-viewing latex-suite.txt /*customizing-viewing*
-customizing-what-to-fold latex-suite.txt /*customizing-what-to-fold*
-default-folding latex-suite.txt /*default-folding*
-description latexhelp.txt /*description*
-diacritic-mappings latex-suite.txt /*diacritic-mappings*
-displaymath latexhelp.txt /*displaymath*
-draft latexhelp.txt /*draft*
-editing-folding latex-suite.txt /*editing-folding*
-empty latexhelp.txt /*empty*
-enabling-searching latex-suite.txt /*enabling-searching*
-enclosing-commands latex-suite.txt /*enclosing-commands*
-enclosing-env-f5 latex-suite.txt /*enclosing-env-f5*
-enclosing-env-threeletter latex-suite.txt /*enclosing-env-threeletter*
-enclosing-environments latex-suite.txt /*enclosing-environments*
-enumerate latexhelp.txt /*enumerate*
-environment-mappings latex-suite.txt /*environment-mappings*
-eqnarray latexhelp.txt /*eqnarray*
-equation latexhelp.txt /*equation*
-figure latexhelp.txt /*figure*
-final latexhelp.txt /*final*
-fleqn latexhelp.txt /*fleqn*
-flushleft latexhelp.txt /*flushleft*
-flushright latexhelp.txt /*flushright*
-fold-setting-adding latex-suite.txt /*fold-setting-adding*
-fold-setting-advanced latex-suite.txt /*fold-setting-advanced*
-font-lowlevelcommands latexhelp.txt /*font-lowlevelcommands*
-font-maps latex-suite.txt /*font-maps*
-font-size latexhelp.txt /*font-size*
-font-styles latexhelp.txt /*font-styles*
-forward-searching latex-suite.txt /*forward-searching*
-g:ghc haskellmode.txt /*g:ghc*
-g:haddock_browser haskellmode.txt /*g:haddock_browser*
-g:haddock_browser_callformat haskellmode.txt /*g:haddock_browser_callformat*
-g:haddock_docdir haskellmode.txt /*g:haddock_docdir*
-g:haddock_indexfiledir haskellmode.txt /*g:haddock_indexfiledir*
-g:wget haskellmode.txt /*g:wget*
-ghc haskellmode.txt /*ghc*
-ghc-compiler haskellmode.txt /*ghc-compiler*
-greek-letter-mappings latex-suite.txt /*greek-letter-mappings*
-haddock haskellmode.txt /*haddock*
-haskellmode haskellmode.txt /*haskellmode*
-haskellmode-XO haskellmode.txt /*haskellmode-XO*
-haskellmode-XU haskellmode.txt /*haskellmode-XU*
-haskellmode-compiler haskellmode.txt /*haskellmode-compiler*
-haskellmode-editing haskellmode.txt /*haskellmode-editing*
-haskellmode-haddock haskellmode.txt /*haskellmode-haddock*
-haskellmode-hpaste haskellmode.txt /*haskellmode-hpaste*
-haskellmode-indexing haskellmode.txt /*haskellmode-indexing*
-haskellmode-lookup haskellmode.txt /*haskellmode-lookup*
-haskellmode-omni-completion haskellmode.txt /*haskellmode-omni-completion*
-haskellmode-overview haskellmode.txt /*haskellmode-overview*
-haskellmode-quickref haskellmode.txt /*haskellmode-quickref*
-haskellmode-requirements haskellmode.txt /*haskellmode-requirements*
-haskellmode-resources haskellmode.txt /*haskellmode-resources*
-haskellmode-settings haskellmode.txt /*haskellmode-settings*
-haskellmode-settings-fine haskellmode.txt /*haskellmode-settings-fine*
-haskellmode-settings-main haskellmode.txt /*haskellmode-settings-main*
-haskellmode-user-completion haskellmode.txt /*haskellmode-user-completion*
-haskellmode.txt haskellmode.txt /*haskellmode.txt*
-headings latexhelp.txt /*headings*
-hpaste haskellmode.txt /*hpaste*
-hyph- latexhelp.txt /*hyph-*
-im_1 imaps.txt /*im_1*
-imaps-usage imaps.txt /*imaps-usage*
-imaps.txt imaps.txt /*imaps.txt*
-imaps.txt-toc imaps.txt /*imaps.txt-toc*
-inserting-commands latex-suite.txt /*inserting-commands*
-inserting-env-f5 latex-suite.txt /*inserting-env-f5*
-inserting-env-shift-f1 latex-suite.txt /*inserting-env-shift-f1*
-inserting-env-threeletter latex-suite.txt /*inserting-env-threeletter*
-inserting-environments latex-suite.txt /*inserting-environments*
-inserting-packages latex-suite.txt /*inserting-packages*
-inverse-searching latex-suite.txt /*inverse-searching*
-itemize latexhelp.txt /*itemize*
-landscape latexhelp.txt /*landscape*
-latex latexhelp.txt /*latex*
-latex-boxes latexhelp.txt /*latex-boxes*
-latex-breaking latexhelp.txt /*latex-breaking*
-latex-classes latexhelp.txt /*latex-classes*
-latex-command-maps latex-suite.txt /*latex-command-maps*
-latex-commands latexhelp.txt /*latex-commands*
-latex-compiling latex-suite.txt /*latex-compiling*
-latex-completion latex-suite.txt /*latex-completion*
-latex-completion-cite latex-suite.txt /*latex-completion-cite*
-latex-counters latexhelp.txt /*latex-counters*
-latex-definitions latexhelp.txt /*latex-definitions*
-latex-environments latexhelp.txt /*latex-environments*
-latex-folding latex-suite.txt /*latex-folding*
-latex-footnotes latexhelp.txt /*latex-footnotes*
-latex-hor-space latexhelp.txt /*latex-hor-space*
-latex-inputting latexhelp.txt /*latex-inputting*
-latex-layout latexhelp.txt /*latex-layout*
-latex-lengths latexhelp.txt /*latex-lengths*
-latex-letters latexhelp.txt /*latex-letters*
-latex-macros latex-suite.txt /*latex-macros*
-latex-margin-notes latexhelp.txt /*latex-margin-notes*
-latex-master-file latex-suite.txt /*latex-master-file*
-latex-master-file-specification latex-suite.txt /*latex-master-file-specification*
-latex-math latexhelp.txt /*latex-math*
-latex-modes latexhelp.txt /*latex-modes*
-latex-package-scanning latex-suite.txt /*latex-package-scanning*
-latex-packages latex-suite.txt /*latex-packages*
-latex-page-styles latexhelp.txt /*latex-page-styles*
-latex-paragraphs latexhelp.txt /*latex-paragraphs*
-latex-parameters latexhelp.txt /*latex-parameters*
-latex-project latex-suite.txt /*latex-project*
-latex-project-example latex-suite.txt /*latex-project-example*
-latex-project-settings latex-suite.txt /*latex-project-settings*
-latex-references latexhelp.txt /*latex-references*
-latex-sectioning latexhelp.txt /*latex-sectioning*
-latex-spaces-boxes latexhelp.txt /*latex-spaces-boxes*
-latex-special latexhelp.txt /*latex-special*
-latex-start-end latexhelp.txt /*latex-start-end*
-latex-suite-commands latex-suite.txt /*latex-suite-commands*
-latex-suite-commands-maps latex-suite.txt /*latex-suite-commands-maps*
-latex-suite-credits latex-suite.txt /*latex-suite-credits*
-latex-suite-maintainer latex-suite.txt /*latex-suite-maintainer*
-latex-suite-maps latex-suite.txt /*latex-suite-maps*
-latex-suite-quickstart.txt latex-suite-quickstart.txt /*latex-suite-quickstart.txt*
-latex-suite-quickstart.txt-toc latex-suite-quickstart.txt /*latex-suite-quickstart.txt-toc*
-latex-suite-templates latex-suite.txt /*latex-suite-templates*
-latex-suite.txt latex-suite.txt /*latex-suite.txt*
-latex-suite.txt-toc latex-suite.txt /*latex-suite.txt-toc*
-latex-terminal latexhelp.txt /*latex-terminal*
-latex-toc latexhelp.txt /*latex-toc*
-latex-typefaces latexhelp.txt /*latex-typefaces*
-latex-ver-space latexhelp.txt /*latex-ver-space*
-latex-viewing latex-suite.txt /*latex-viewing*
-latex-viewing-rules latex-suite.txt /*latex-viewing-rules*
-latexhelp.txt latexhelp.txt /*latexhelp.txt*
-leqno latexhelp.txt /*leqno*
-letter-class latexhelp.txt /*letter-class*
-list latexhelp.txt /*list*
-lq_1 latex-suite-quickstart.txt /*lq_1*
-lq_10 latex-suite-quickstart.txt /*lq_10*
-lq_2 latex-suite-quickstart.txt /*lq_2*
-lq_3 latex-suite-quickstart.txt /*lq_3*
-lq_4 latex-suite-quickstart.txt /*lq_4*
-lq_5 latex-suite-quickstart.txt /*lq_5*
-lq_6 latex-suite-quickstart.txt /*lq_6*
-lq_7 latex-suite-quickstart.txt /*lq_7*
-lq_8 latex-suite-quickstart.txt /*lq_8*
-lq_8_1 latex-suite-quickstart.txt /*lq_8_1*
-lq_9 latex-suite-quickstart.txt /*lq_9*
-lq_9_1 latex-suite-quickstart.txt /*lq_9_1*
-lq_9_2 latex-suite-quickstart.txt /*lq_9_2*
-lq_a_bc latex-suite-quickstart.txt /*lq_a_bc*
-lq_a_bd latex-suite-quickstart.txt /*lq_a_bd*
-lq_a_be latex-suite-quickstart.txt /*lq_a_be*
-lq_a_bf latex-suite-quickstart.txt /*lq_a_bf*
-lq_a_bg latex-suite-quickstart.txt /*lq_a_bg*
-lq_a_bh latex-suite-quickstart.txt /*lq_a_bh*
-lq_a_bi latex-suite-quickstart.txt /*lq_a_bi*
-lq_a_bj latex-suite-quickstart.txt /*lq_a_bj*
-lq_a_bk latex-suite-quickstart.txt /*lq_a_bk*
-lq_a_bl latex-suite-quickstart.txt /*lq_a_bl*
-lq_a_bm latex-suite-quickstart.txt /*lq_a_bm*
-lq_a_bn latex-suite-quickstart.txt /*lq_a_bn*
-lq_a_bo latex-suite-quickstart.txt /*lq_a_bo*
-lq_u_1 latex-suite-quickstart.txt /*lq_u_1*
-lq_u_2 latex-suite-quickstart.txt /*lq_u_2*
-lq_u_3 latex-suite-quickstart.txt /*lq_u_3*
-lq_u_4 latex-suite-quickstart.txt /*lq_u_4*
-lq_u_5 latex-suite-quickstart.txt /*lq_u_5*
-lq_u_6 latex-suite-quickstart.txt /*lq_u_6*
-lq_u_7 latex-suite-quickstart.txt /*lq_u_7*
-lq_u_8 latex-suite-quickstart.txt /*lq_u_8*
-lq_u_9 latex-suite-quickstart.txt /*lq_u_9*
-lr-mode latexhelp.txt /*lr-mode*
-ls-completion-custom latex-suite.txt /*ls-completion-custom*
-ls-completion-ref latex-suite.txt /*ls-completion-ref*
-ls-completion-usage latex-suite.txt /*ls-completion-usage*
-ls-filename-completion latex-suite.txt /*ls-filename-completion*
-ls-general-purpose-settings latex-suite.txt /*ls-general-purpose-settings*
-ls-imap-f7 latex-suite.txt /*ls-imap-f7*
-ls-imap-s-f7 latex-suite.txt /*ls-imap-s-f7*
-ls-imaps-syntax latex-suite.txt /*ls-imaps-syntax*
-ls-new-macros latex-suite.txt /*ls-new-macros*
-ls-set-grepprg latex-suite.txt /*ls-set-grepprg*
-ls-vmap-f7 latex-suite.txt /*ls-vmap-f7*
-ls_1 latex-suite.txt /*ls_1*
-ls_10 latex-suite.txt /*ls_10*
-ls_10_1 latex-suite.txt /*ls_10_1*
-ls_10_1_1 latex-suite.txt /*ls_10_1_1*
-ls_10_1_2 latex-suite.txt /*ls_10_1_2*
-ls_10_2 latex-suite.txt /*ls_10_2*
-ls_10_2_1 latex-suite.txt /*ls_10_2_1*
-ls_10_2_10 latex-suite.txt /*ls_10_2_10*
-ls_10_2_11 latex-suite.txt /*ls_10_2_11*
-ls_10_2_12 latex-suite.txt /*ls_10_2_12*
-ls_10_2_13 latex-suite.txt /*ls_10_2_13*
-ls_10_2_14 latex-suite.txt /*ls_10_2_14*
-ls_10_2_15 latex-suite.txt /*ls_10_2_15*
-ls_10_2_16 latex-suite.txt /*ls_10_2_16*
-ls_10_2_2 latex-suite.txt /*ls_10_2_2*
-ls_10_2_3 latex-suite.txt /*ls_10_2_3*
-ls_10_2_4 latex-suite.txt /*ls_10_2_4*
-ls_10_2_5 latex-suite.txt /*ls_10_2_5*
-ls_10_2_6 latex-suite.txt /*ls_10_2_6*
-ls_10_2_7 latex-suite.txt /*ls_10_2_7*
-ls_10_2_8 latex-suite.txt /*ls_10_2_8*
-ls_10_2_9 latex-suite.txt /*ls_10_2_9*
-ls_11 latex-suite.txt /*ls_11*
-ls_11_1 latex-suite.txt /*ls_11_1*
-ls_11_10 latex-suite.txt /*ls_11_10*
-ls_11_10_1 latex-suite.txt /*ls_11_10_1*
-ls_11_1_1 latex-suite.txt /*ls_11_1_1*
-ls_11_1_2 latex-suite.txt /*ls_11_1_2*
-ls_11_2 latex-suite.txt /*ls_11_2*
-ls_11_2_1 latex-suite.txt /*ls_11_2_1*
-ls_11_2_2 latex-suite.txt /*ls_11_2_2*
-ls_11_2_3 latex-suite.txt /*ls_11_2_3*
-ls_11_2_4 latex-suite.txt /*ls_11_2_4*
-ls_11_3 latex-suite.txt /*ls_11_3*
-ls_11_3_1 latex-suite.txt /*ls_11_3_1*
-ls_11_3_10 latex-suite.txt /*ls_11_3_10*
-ls_11_3_11 latex-suite.txt /*ls_11_3_11*
-ls_11_3_12 latex-suite.txt /*ls_11_3_12*
-ls_11_3_13 latex-suite.txt /*ls_11_3_13*
-ls_11_3_2 latex-suite.txt /*ls_11_3_2*
-ls_11_3_3 latex-suite.txt /*ls_11_3_3*
-ls_11_3_4 latex-suite.txt /*ls_11_3_4*
-ls_11_3_5 latex-suite.txt /*ls_11_3_5*
-ls_11_3_6 latex-suite.txt /*ls_11_3_6*
-ls_11_3_7 latex-suite.txt /*ls_11_3_7*
-ls_11_3_8 latex-suite.txt /*ls_11_3_8*
-ls_11_3_9 latex-suite.txt /*ls_11_3_9*
-ls_11_4 latex-suite.txt /*ls_11_4*
-ls_11_4_1 latex-suite.txt /*ls_11_4_1*
-ls_11_4_2 latex-suite.txt /*ls_11_4_2*
-ls_11_5 latex-suite.txt /*ls_11_5*
-ls_11_5_1 latex-suite.txt /*ls_11_5_1*
-ls_11_5_2 latex-suite.txt /*ls_11_5_2*
-ls_11_5_3 latex-suite.txt /*ls_11_5_3*
-ls_11_5_4 latex-suite.txt /*ls_11_5_4*
-ls_11_5_5 latex-suite.txt /*ls_11_5_5*
-ls_11_6 latex-suite.txt /*ls_11_6*
-ls_11_6_1 latex-suite.txt /*ls_11_6_1*
-ls_11_6_2 latex-suite.txt /*ls_11_6_2*
-ls_11_6_3 latex-suite.txt /*ls_11_6_3*
-ls_11_6_4 latex-suite.txt /*ls_11_6_4*
-ls_11_6_5 latex-suite.txt /*ls_11_6_5*
-ls_11_6_6 latex-suite.txt /*ls_11_6_6*
-ls_11_6_7 latex-suite.txt /*ls_11_6_7*
-ls_11_6_8 latex-suite.txt /*ls_11_6_8*
-ls_11_7 latex-suite.txt /*ls_11_7*
-ls_11_7_1 latex-suite.txt /*ls_11_7_1*
-ls_11_7_2 latex-suite.txt /*ls_11_7_2*
-ls_11_8 latex-suite.txt /*ls_11_8*
-ls_11_8_1 latex-suite.txt /*ls_11_8_1*
-ls_11_8_2 latex-suite.txt /*ls_11_8_2*
-ls_11_8_3 latex-suite.txt /*ls_11_8_3*
-ls_11_8_4 latex-suite.txt /*ls_11_8_4*
-ls_11_8_5 latex-suite.txt /*ls_11_8_5*
-ls_11_8_6 latex-suite.txt /*ls_11_8_6*
-ls_11_8_7 latex-suite.txt /*ls_11_8_7*
-ls_11_9 latex-suite.txt /*ls_11_9*
-ls_11_9_1 latex-suite.txt /*ls_11_9_1*
-ls_11_9_2 latex-suite.txt /*ls_11_9_2*
-ls_12 latex-suite.txt /*ls_12*
-ls_2 latex-suite.txt /*ls_2*
-ls_3 latex-suite.txt /*ls_3*
-ls_3_1 latex-suite.txt /*ls_3_1*
-ls_3_10 latex-suite.txt /*ls_3_10*
-ls_3_10_1 latex-suite.txt /*ls_3_10_1*
-ls_3_10_2 latex-suite.txt /*ls_3_10_2*
-ls_3_10_3 latex-suite.txt /*ls_3_10_3*
-ls_3_10_4 latex-suite.txt /*ls_3_10_4*
-ls_3_11 latex-suite.txt /*ls_3_11*
-ls_3_12 latex-suite.txt /*ls_3_12*
-ls_3_12_1 latex-suite.txt /*ls_3_12_1*
-ls_3_12_2 latex-suite.txt /*ls_3_12_2*
-ls_3_1_1 latex-suite.txt /*ls_3_1_1*
-ls_3_1_1_1 latex-suite.txt /*ls_3_1_1_1*
-ls_3_1_1_2 latex-suite.txt /*ls_3_1_1_2*
-ls_3_1_1_3 latex-suite.txt /*ls_3_1_1_3*
-ls_3_1_2 latex-suite.txt /*ls_3_1_2*
-ls_3_1_2_1 latex-suite.txt /*ls_3_1_2_1*
-ls_3_1_2_2 latex-suite.txt /*ls_3_1_2_2*
-ls_3_1_3 latex-suite.txt /*ls_3_1_3*
-ls_3_2 latex-suite.txt /*ls_3_2*
-ls_3_2_1 latex-suite.txt /*ls_3_2_1*
-ls_3_2_2 latex-suite.txt /*ls_3_2_2*
-ls_3_2_3 latex-suite.txt /*ls_3_2_3*
-ls_3_3 latex-suite.txt /*ls_3_3*
-ls_3_4 latex-suite.txt /*ls_3_4*
-ls_3_5 latex-suite.txt /*ls_3_5*
-ls_3_6 latex-suite.txt /*ls_3_6*
-ls_3_7 latex-suite.txt /*ls_3_7*
-ls_3_8 latex-suite.txt /*ls_3_8*
-ls_3_8_1 latex-suite.txt /*ls_3_8_1*
-ls_3_9 latex-suite.txt /*ls_3_9*
-ls_4 latex-suite.txt /*ls_4*
-ls_4_1 latex-suite.txt /*ls_4_1*
-ls_4_2 latex-suite.txt /*ls_4_2*
-ls_4_3 latex-suite.txt /*ls_4_3*
-ls_4_3_1 latex-suite.txt /*ls_4_3_1*
-ls_4_4 latex-suite.txt /*ls_4_4*
-ls_4_4_1 latex-suite.txt /*ls_4_4_1*
-ls_4_4_2 latex-suite.txt /*ls_4_4_2*
-ls_5 latex-suite.txt /*ls_5*
-ls_5_1 latex-suite.txt /*ls_5_1*
-ls_5_2 latex-suite.txt /*ls_5_2*
-ls_5_3 latex-suite.txt /*ls_5_3*
-ls_5_3_1 latex-suite.txt /*ls_5_3_1*
-ls_5_4 latex-suite.txt /*ls_5_4*
-ls_5_5 latex-suite.txt /*ls_5_5*
-ls_6 latex-suite.txt /*ls_6*
-ls_6_1 latex-suite.txt /*ls_6_1*
-ls_6_2 latex-suite.txt /*ls_6_2*
-ls_6_3 latex-suite.txt /*ls_6_3*
-ls_6_4 latex-suite.txt /*ls_6_4*
-ls_6_5 latex-suite.txt /*ls_6_5*
-ls_7 latex-suite.txt /*ls_7*
-ls_7_1 latex-suite.txt /*ls_7_1*
-ls_7_2 latex-suite.txt /*ls_7_2*
-ls_7_3 latex-suite.txt /*ls_7_3*
-ls_8 latex-suite.txt /*ls_8*
-ls_8_1 latex-suite.txt /*ls_8_1*
-ls_8_2 latex-suite.txt /*ls_8_2*
-ls_8_2_1 latex-suite.txt /*ls_8_2_1*
-ls_8_2_2 latex-suite.txt /*ls_8_2_2*
-ls_8_2_3 latex-suite.txt /*ls_8_2_3*
-ls_8_2_4 latex-suite.txt /*ls_8_2_4*
-ls_8_2_5 latex-suite.txt /*ls_8_2_5*
-ls_8_3 latex-suite.txt /*ls_8_3*
-ls_9 latex-suite.txt /*ls_9*
-ls_9_1 latex-suite.txt /*ls_9_1*
-ls_9_2 latex-suite.txt /*ls_9_2*
-ls_a_bA latex-suite.txt /*ls_a_bA*
-ls_a_bB latex-suite.txt /*ls_a_bB*
-ls_a_bC latex-suite.txt /*ls_a_bC*
-ls_a_bD latex-suite.txt /*ls_a_bD*
-ls_a_bE latex-suite.txt /*ls_a_bE*
-ls_a_bF latex-suite.txt /*ls_a_bF*
-ls_a_bG latex-suite.txt /*ls_a_bG*
-ls_a_bH latex-suite.txt /*ls_a_bH*
-ls_a_bI latex-suite.txt /*ls_a_bI*
-ls_a_bJ latex-suite.txt /*ls_a_bJ*
-ls_a_bK latex-suite.txt /*ls_a_bK*
-ls_a_bL latex-suite.txt /*ls_a_bL*
-ls_a_bM latex-suite.txt /*ls_a_bM*
-ls_a_bN latex-suite.txt /*ls_a_bN*
-ls_a_bO latex-suite.txt /*ls_a_bO*
-ls_a_bP latex-suite.txt /*ls_a_bP*
-ls_a_bQ latex-suite.txt /*ls_a_bQ*
-ls_a_bR latex-suite.txt /*ls_a_bR*
-ls_a_bS latex-suite.txt /*ls_a_bS*
-ls_a_bT latex-suite.txt /*ls_a_bT*
-ls_a_bU latex-suite.txt /*ls_a_bU*
-ls_a_bV latex-suite.txt /*ls_a_bV*
-ls_a_bW latex-suite.txt /*ls_a_bW*
-ls_a_bX latex-suite.txt /*ls_a_bX*
-ls_a_bY latex-suite.txt /*ls_a_bY*
-ls_a_bZ latex-suite.txt /*ls_a_bZ*
-ls_a_bc latex-suite.txt /*ls_a_bc*
-ls_a_bd latex-suite.txt /*ls_a_bd*
-ls_a_be latex-suite.txt /*ls_a_be*
-ls_a_bf latex-suite.txt /*ls_a_bf*
-ls_a_bg latex-suite.txt /*ls_a_bg*
-ls_a_bh latex-suite.txt /*ls_a_bh*
-ls_a_bi latex-suite.txt /*ls_a_bi*
-ls_a_bj latex-suite.txt /*ls_a_bj*
-ls_a_bk latex-suite.txt /*ls_a_bk*
-ls_a_bl latex-suite.txt /*ls_a_bl*
-ls_a_bm latex-suite.txt /*ls_a_bm*
-ls_a_bn latex-suite.txt /*ls_a_bn*
-ls_a_bo latex-suite.txt /*ls_a_bo*
-ls_a_bp latex-suite.txt /*ls_a_bp*
-ls_a_bq latex-suite.txt /*ls_a_bq*
-ls_a_br latex-suite.txt /*ls_a_br*
-ls_a_bs latex-suite.txt /*ls_a_bs*
-ls_a_bt latex-suite.txt /*ls_a_bt*
-ls_a_bu latex-suite.txt /*ls_a_bu*
-ls_a_bv latex-suite.txt /*ls_a_bv*
-ls_a_bw latex-suite.txt /*ls_a_bw*
-ls_a_bx latex-suite.txt /*ls_a_bx*
-ls_a_by latex-suite.txt /*ls_a_by*
-ls_a_bz latex-suite.txt /*ls_a_bz*
-ls_a_cA latex-suite.txt /*ls_a_cA*
-ls_a_cB latex-suite.txt /*ls_a_cB*
-ls_a_cC latex-suite.txt /*ls_a_cC*
-ls_a_cD latex-suite.txt /*ls_a_cD*
-ls_a_cE latex-suite.txt /*ls_a_cE*
-ls_a_cF latex-suite.txt /*ls_a_cF*
-ls_a_cG latex-suite.txt /*ls_a_cG*
-ls_a_cH latex-suite.txt /*ls_a_cH*
-ls_a_cI latex-suite.txt /*ls_a_cI*
-ls_a_cJ latex-suite.txt /*ls_a_cJ*
-ls_a_cK latex-suite.txt /*ls_a_cK*
-ls_a_cL latex-suite.txt /*ls_a_cL*
-ls_a_cM latex-suite.txt /*ls_a_cM*
-ls_a_cN latex-suite.txt /*ls_a_cN*
-ls_a_cO latex-suite.txt /*ls_a_cO*
-ls_a_cP latex-suite.txt /*ls_a_cP*
-ls_a_cQ latex-suite.txt /*ls_a_cQ*
-ls_a_cR latex-suite.txt /*ls_a_cR*
-ls_a_cS latex-suite.txt /*ls_a_cS*
-ls_a_cT latex-suite.txt /*ls_a_cT*
-ls_a_cU latex-suite.txt /*ls_a_cU*
-ls_a_cV latex-suite.txt /*ls_a_cV*
-ls_a_cW latex-suite.txt /*ls_a_cW*
-ls_a_cX latex-suite.txt /*ls_a_cX*
-ls_a_cY latex-suite.txt /*ls_a_cY*
-ls_a_cZ latex-suite.txt /*ls_a_cZ*
-ls_a_ca latex-suite.txt /*ls_a_ca*
-ls_a_cb latex-suite.txt /*ls_a_cb*
-ls_a_cc latex-suite.txt /*ls_a_cc*
-ls_a_cd latex-suite.txt /*ls_a_cd*
-ls_a_ce latex-suite.txt /*ls_a_ce*
-ls_a_cf latex-suite.txt /*ls_a_cf*
-ls_a_cg latex-suite.txt /*ls_a_cg*
-ls_a_ch latex-suite.txt /*ls_a_ch*
-ls_a_ci latex-suite.txt /*ls_a_ci*
-ls_a_cj latex-suite.txt /*ls_a_cj*
-ls_a_ck latex-suite.txt /*ls_a_ck*
-ls_a_cl latex-suite.txt /*ls_a_cl*
-ls_a_cm latex-suite.txt /*ls_a_cm*
-ls_a_cn latex-suite.txt /*ls_a_cn*
-ls_a_co latex-suite.txt /*ls_a_co*
-ls_a_cp latex-suite.txt /*ls_a_cp*
-ls_a_cq latex-suite.txt /*ls_a_cq*
-ls_a_cr latex-suite.txt /*ls_a_cr*
-ls_a_cs latex-suite.txt /*ls_a_cs*
-ls_a_ct latex-suite.txt /*ls_a_ct*
-ls_a_cu latex-suite.txt /*ls_a_cu*
-ls_a_cv latex-suite.txt /*ls_a_cv*
-ls_a_cw latex-suite.txt /*ls_a_cw*
-ls_a_cx latex-suite.txt /*ls_a_cx*
-ls_a_cy latex-suite.txt /*ls_a_cy*
-ls_a_cz latex-suite.txt /*ls_a_cz*
-ls_a_dA latex-suite.txt /*ls_a_dA*
-ls_a_dB latex-suite.txt /*ls_a_dB*
-ls_a_dC latex-suite.txt /*ls_a_dC*
-ls_a_dD latex-suite.txt /*ls_a_dD*
-ls_a_dE latex-suite.txt /*ls_a_dE*
-ls_a_dF latex-suite.txt /*ls_a_dF*
-ls_a_dG latex-suite.txt /*ls_a_dG*
-ls_a_dH latex-suite.txt /*ls_a_dH*
-ls_a_dI latex-suite.txt /*ls_a_dI*
-ls_a_dJ latex-suite.txt /*ls_a_dJ*
-ls_a_dK latex-suite.txt /*ls_a_dK*
-ls_a_dL latex-suite.txt /*ls_a_dL*
-ls_a_dM latex-suite.txt /*ls_a_dM*
-ls_a_dN latex-suite.txt /*ls_a_dN*
-ls_a_dO latex-suite.txt /*ls_a_dO*
-ls_a_dP latex-suite.txt /*ls_a_dP*
-ls_a_dQ latex-suite.txt /*ls_a_dQ*
-ls_a_dR latex-suite.txt /*ls_a_dR*
-ls_a_dS latex-suite.txt /*ls_a_dS*
-ls_a_dT latex-suite.txt /*ls_a_dT*
-ls_a_dU latex-suite.txt /*ls_a_dU*
-ls_a_dV latex-suite.txt /*ls_a_dV*
-ls_a_dW latex-suite.txt /*ls_a_dW*
-ls_a_dX latex-suite.txt /*ls_a_dX*
-ls_a_dY latex-suite.txt /*ls_a_dY*
-ls_a_dZ latex-suite.txt /*ls_a_dZ*
-ls_a_da latex-suite.txt /*ls_a_da*
-ls_a_db latex-suite.txt /*ls_a_db*
-ls_a_dc latex-suite.txt /*ls_a_dc*
-ls_a_dd latex-suite.txt /*ls_a_dd*
-ls_a_de latex-suite.txt /*ls_a_de*
-ls_a_df latex-suite.txt /*ls_a_df*
-ls_a_dg latex-suite.txt /*ls_a_dg*
-ls_a_dh latex-suite.txt /*ls_a_dh*
-ls_a_di latex-suite.txt /*ls_a_di*
-ls_a_dj latex-suite.txt /*ls_a_dj*
-ls_a_dk latex-suite.txt /*ls_a_dk*
-ls_a_dl latex-suite.txt /*ls_a_dl*
-ls_a_dm latex-suite.txt /*ls_a_dm*
-ls_a_dn latex-suite.txt /*ls_a_dn*
-ls_a_do latex-suite.txt /*ls_a_do*
-ls_a_dp latex-suite.txt /*ls_a_dp*
-ls_a_dq latex-suite.txt /*ls_a_dq*
-ls_a_dr latex-suite.txt /*ls_a_dr*
-ls_a_ds latex-suite.txt /*ls_a_ds*
-ls_a_dt latex-suite.txt /*ls_a_dt*
-ls_a_du latex-suite.txt /*ls_a_du*
-ls_a_dv latex-suite.txt /*ls_a_dv*
-ls_a_dw latex-suite.txt /*ls_a_dw*
-ls_a_dx latex-suite.txt /*ls_a_dx*
-ls_a_dy latex-suite.txt /*ls_a_dy*
-ls_a_dz latex-suite.txt /*ls_a_dz*
-ls_a_eA latex-suite.txt /*ls_a_eA*
-ls_a_eB latex-suite.txt /*ls_a_eB*
-ls_a_eC latex-suite.txt /*ls_a_eC*
-ls_a_eD latex-suite.txt /*ls_a_eD*
-ls_a_eE latex-suite.txt /*ls_a_eE*
-ls_a_eF latex-suite.txt /*ls_a_eF*
-ls_a_eG latex-suite.txt /*ls_a_eG*
-ls_a_ea latex-suite.txt /*ls_a_ea*
-ls_a_eb latex-suite.txt /*ls_a_eb*
-ls_a_ec latex-suite.txt /*ls_a_ec*
-ls_a_ed latex-suite.txt /*ls_a_ed*
-ls_a_ee latex-suite.txt /*ls_a_ee*
-ls_a_ef latex-suite.txt /*ls_a_ef*
-ls_a_eg latex-suite.txt /*ls_a_eg*
-ls_a_eh latex-suite.txt /*ls_a_eh*
-ls_a_ei latex-suite.txt /*ls_a_ei*
-ls_a_ej latex-suite.txt /*ls_a_ej*
-ls_a_ek latex-suite.txt /*ls_a_ek*
-ls_a_el latex-suite.txt /*ls_a_el*
-ls_a_em latex-suite.txt /*ls_a_em*
-ls_a_en latex-suite.txt /*ls_a_en*
-ls_a_eo latex-suite.txt /*ls_a_eo*
-ls_a_ep latex-suite.txt /*ls_a_ep*
-ls_a_eq latex-suite.txt /*ls_a_eq*
-ls_a_er latex-suite.txt /*ls_a_er*
-ls_a_es latex-suite.txt /*ls_a_es*
-ls_a_et latex-suite.txt /*ls_a_et*
-ls_a_eu latex-suite.txt /*ls_a_eu*
-ls_a_ev latex-suite.txt /*ls_a_ev*
-ls_a_ew latex-suite.txt /*ls_a_ew*
-ls_a_ex latex-suite.txt /*ls_a_ex*
-ls_a_ey latex-suite.txt /*ls_a_ey*
-ls_a_ez latex-suite.txt /*ls_a_ez*
-ls_u_1 latex-suite.txt /*ls_u_1*
-ls_u_2 latex-suite.txt /*ls_u_2*
-ls_u_3 latex-suite.txt /*ls_u_3*
-ls_u_4 latex-suite.txt /*ls_u_4*
-lsq-compiling latex-suite-quickstart.txt /*lsq-compiling*
-lsq-conclusions latex-suite-quickstart.txt /*lsq-conclusions*
-lsq-debugging latex-suite-quickstart.txt /*lsq-debugging*
-lsq-folding latex-suite-quickstart.txt /*lsq-folding*
-lsq-insert-environment latex-suite-quickstart.txt /*lsq-insert-environment*
-lsq-inserting-reference latex-suite-quickstart.txt /*lsq-inserting-reference*
-lsq-inserting-template latex-suite-quickstart.txt /*lsq-inserting-template*
-lsq-keyboard-shortcuts latex-suite-quickstart.txt /*lsq-keyboard-shortcuts*
-lsq-lsq-inserting-package latex-suite-quickstart.txt /*lsq-lsq-inserting-package*
-lsq-quick-forward-searching latex-suite-quickstart.txt /*lsq-quick-forward-searching*
-lsq-quick-inverse-searching latex-suite-quickstart.txt /*lsq-quick-inverse-searching*
-lsq-using-tutorial latex-suite-quickstart.txt /*lsq-using-tutorial*
-lsq-viewing-dvi latex-suite-quickstart.txt /*lsq-viewing-dvi*
-macro-enabling latex-suite.txt /*macro-enabling*
-math, latexhelp.txt /*math,*
-math-misc latexhelp.txt /*math-misc*
-math-mode latexhelp.txt /*math-mode*
-math-spacing latexhelp.txt /*math-spacing*
-math-symbols latexhelp.txt /*math-symbols*
-math: latexhelp.txt /*math:*
-math; latexhelp.txt /*math;*
-matn! latexhelp.txt /*matn!*
-minipage latexhelp.txt /*minipage*
-notitlepage latexhelp.txt /*notitlepage*
-onecolumn latexhelp.txt /*onecolumn*
-oneside latexhelp.txt /*oneside*
-openany latexhelp.txt /*openany*
-openbib latexhelp.txt /*openbib*
-openright latexhelp.txt /*openright*
-otl2html vo_readme.txt.gz /*otl2html*
-overriding-macros latex-suite.txt /*overriding-macros*
-package-actions latex-suite.txt /*package-actions*
-paragraph-mode latexhelp.txt /*paragraph-mode*
-part-compiling latex-suite.txt /*part-compiling*
-pausing-imaps latex-suite.txt /*pausing-imaps*
-picture latexhelp.txt /*picture*
-picture-makebox latexhelp.txt /*picture-makebox*
-place-holder latex-suite.txt /*place-holder*
-place-holders latex-suite.txt /*place-holders*
-plain latexhelp.txt /*plain*
-pre-lengths latexhelp.txt /*pre-lengths*
-ps_color.txt ps_color.txt /*ps_color.txt*
-ps_colour ps_color.txt /*ps_colour*
-psc ps_color.txt /*psc*
-psc-about-background ps_color.txt /*psc-about-background*
-psc-change-background ps_color.txt /*psc-change-background*
-psc-contents ps_color.txt /*psc-contents*
-psc-cterm ps_color.txt /*psc-cterm*
-psc-cterm-color-table ps_color.txt /*psc-cterm-color-table*
-psc-cterm-incompatible ps_color.txt /*psc-cterm-incompatible*
-psc-cterm-nt ps_color.txt /*psc-cterm-nt*
-psc-cterm-others ps_color.txt /*psc-cterm-others*
-psc-cterm-xterm ps_color.txt /*psc-cterm-xterm*
-psc-faq ps_color.txt /*psc-faq*
-psc-faq-ffothers ps_color.txt /*psc-faq-ffothers*
-psc-features ps_color.txt /*psc-features*
-psc-options ps_color.txt /*psc-options*
-psc-overview ps_color.txt /*psc-overview*
-psc-release-notes ps_color.txt /*psc-release-notes*
-psc-tips ps_color.txt /*psc-tips*
-psc-todo ps_color.txt /*psc-todo*
-psc-usage ps_color.txt /*psc-usage*
-psc_cterm_style ps_color.txt /*psc_cterm_style*
-psc_fontface ps_color.txt /*psc_fontface*
-psc_inversed_todo ps_color.txt /*psc_inversed_todo*
-psc_statement_different_from_type ps_color.txt /*psc_statement_different_from_type*
-psc_style ps_color.txt /*psc_style*
-psc_use_default_for_cterm ps_color.txt /*psc_use_default_for_cterm*
-pscolor ps_color.txt /*pscolor*
-quotation latexhelp.txt /*quotation*
-quote-l latexhelp.txt /*quote-l*
-recommended-settings latex-suite.txt /*recommended-settings*
-remapping-latex-suite-keys latex-suite.txt /*remapping-latex-suite-keys*
-report-class latexhelp.txt /*report-class*
-roman latexhelp.txt /*roman*
-rqno latexhelp.txt /*rqno*
-section-mappings latex-suite.txt /*section-mappings*
-slides-class latexhelp.txt /*slides-class*
-smart-backspace latex-suite.txt /*smart-backspace*
-smart-keys latex-suite.txt /*smart-keys*
-sub-sup latexhelp.txt /*sub-sup*
-subscripts latexhelp.txt /*subscripts*
-superscripts latexhelp.txt /*superscripts*
-supporting-packages latex-suite.txt /*supporting-packages*
-tab' latexhelp.txt /*tab'*
-tab+ latexhelp.txt /*tab+*
-tab- latexhelp.txt /*tab-*
-tab< latexhelp.txt /*tab<*
-tab= latexhelp.txt /*tab=*
-tab> latexhelp.txt /*tab>*
-tab` latexhelp.txt /*tab`*
-taba latexhelp.txt /*taba*
-tabbing latexhelp.txt /*tabbing*
-tabular latexhelp.txt /*tabular*
-taglist-commands taglist.txt /*taglist-commands*
-taglist-debug taglist.txt /*taglist-debug*
-taglist-extend taglist.txt /*taglist-extend*
-taglist-faq taglist.txt /*taglist-faq*
-taglist-functions taglist.txt /*taglist-functions*
-taglist-install taglist.txt /*taglist-install*
-taglist-internet taglist.txt /*taglist-internet*
-taglist-intro taglist.txt /*taglist-intro*
-taglist-keys taglist.txt /*taglist-keys*
-taglist-license taglist.txt /*taglist-license*
-taglist-menu taglist.txt /*taglist-menu*
-taglist-options taglist.txt /*taglist-options*
-taglist-requirements taglist.txt /*taglist-requirements*
-taglist-session taglist.txt /*taglist-session*
-taglist-todo taglist.txt /*taglist-todo*
-taglist-using taglist.txt /*taglist-using*
-taglist.txt taglist.txt /*taglist.txt*
-theorem latexhelp.txt /*theorem*
-titlepage latexhelp.txt /*titlepage*
-twocolumn latexhelp.txt /*twocolumn*
-twoside latexhelp.txt /*twoside*
-verbatim latexhelp.txt /*verbatim*
-verse latexhelp.txt /*verse*
-vimoutliner vo_readme.txt.gz /*vimoutliner*
-vo vo_readme.txt.gz /*vo*
-vo-activities vo_readme.txt.gz /*vo-activities*
-vo-advanced vo_readme.txt.gz /*vo-advanced*
-vo-cautions vo_readme.txt.gz /*vo-cautions*
-vo-checkbox vo_readme.txt.gz /*vo-checkbox*
-vo-color vo_readme.txt.gz /*vo-color*
-vo-command vo_readme.txt.gz /*vo-command*
-vo-debian vo_readme.txt.gz /*vo-debian*
-vo-executable-lines vo_readme.txt.gz /*vo-executable-lines*
-vo-hoisting vo_readme.txt.gz /*vo-hoisting*
-vo-install vo_readme.txt.gz /*vo-install*
-vo-license vo_readme.txt.gz /*vo-license*
-vo-maketags vo_readme.txt.gz /*vo-maketags*
-vo-menu vo_readme.txt.gz /*vo-menu*
-vo-objects vo_readme.txt.gz /*vo-objects*
-vo-other-files vo_readme.txt.gz /*vo-other-files*
-vo-other-info vo_readme.txt.gz /*vo-other-info*
-vo-philosophy vo_readme.txt.gz /*vo-philosophy*
-vo-plugins vo_readme.txt.gz /*vo-plugins*
-vo-post-processors vo_readme.txt.gz /*vo-post-processors*
-vo-running vo_readme.txt.gz /*vo-running*
-vo-scripts vo_readme.txt.gz /*vo-scripts*
-vo-testing vo_readme.txt.gz /*vo-testing*
-vo-troubleshooting vo_readme.txt.gz /*vo-troubleshooting*
-vo-version vo_readme.txt.gz /*vo-version*
-vo_readme.txt vo_readme.txt.gz /*vo_readme.txt*
-why-IMAP latex-suite.txt /*why-IMAP*
diff --git a/.vim/filetype.vim b/.vim/filetype.vim
deleted file mode 100644
index e5a223d..0000000
--- a/.vim/filetype.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" RELAX NG Compact Syntax
-augroup filetypedetect
- au! BufRead,BufNewFile *.rnc setfiletype rnc
-augroup END
diff --git a/.vim/ftdetect/beluga.vim b/.vim/ftdetect/beluga.vim
deleted file mode 100644
index 0a7ed67..0000000
--- a/.vim/ftdetect/beluga.vim
+++ /dev/null
@@ -1 +0,0 @@
-au BufRead,BufNewFile *.bel set filetype=beluga
diff --git a/.vim/ftplugin/beluga.vim b/.vim/ftplugin/beluga.vim
deleted file mode 100644
index b4c3e84..0000000
--- a/.vim/ftplugin/beluga.vim
+++ /dev/null
@@ -1 +0,0 @@
-map <LocalLeader>s :syn sync fromstart<CR>:se fdm=manual<CR>:se fdm=indent<CR>
diff --git a/.vim/ftplugin/bib_latexSuite.vim b/.vim/ftplugin/bib_latexSuite.vim
deleted file mode 100644
index 6b803af..0000000
--- a/.vim/ftplugin/bib_latexSuite.vim
+++ /dev/null
@@ -1,16 +0,0 @@
-" File: bib_latexSuite.vim
-" Author: Srinath Avadhanula
-" License: Vim Charityware License
-" Description:
-" This file sources the bibtex.vim file distributed as part of latex-suite.
-" That file sets up 3 maps BBB, BAS, and BBA which are easy wasy to type in
-" bibliographic entries.
-"
-" CVS: $Id: bib_latexSuite.vim 997 2006-03-20 09:45:45Z srinathava $
-
-" source main.vim because we need a few functions from it.
-runtime ftplugin/latex-suite/main.vim
-" Disable smart-quotes because we need to enter real quotes in bib files.
-runtime ftplugin/latex-suite/bibtex.vim
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
diff --git a/.vim/ftplugin/c.vim b/.vim/ftplugin/c.vim
deleted file mode 100644
index ff5a637..0000000
--- a/.vim/ftplugin/c.vim
+++ /dev/null
@@ -1,294 +0,0 @@
-" Vim filetype plugin file
-"
-" Language : C / C++
-" Plugin : c.vim (version 5.0)
-" Maintainer : Fritz Mehner <mehner@fh-swf.de>
-" Revision : $Id: c.vim,v 1.18 2007/11/20 18:12:02 mehner Exp $
-"
-" This will enable keyword completion for C and C++
-" using Vim's dictionary feature |i_CTRL-X_CTRL-K|.
-" -----------------------------------------------------------------
-"
-" Only do this when not done yet for this buffer
-"
-if exists("b:did_C_ftplugin")
- finish
-endif
-let b:did_C_ftplugin = 1
-"
-" ---------- C/C++ dictionary -----------------------------------
-"
-if exists("g:C_Dictionary_File")
- silent! exec 'setlocal dictionary+='.g:C_Dictionary_File
-endif
-"
-" ---------- F-key mappings ------------------------------------
-"
-" Alt-F9 write buffer and compile
-" F9 compile and link
-" Ctrl-F9 run executable
-" Shift-F9 command line arguments
-"
- map <buffer> <silent> <A-F9> <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
-imap <buffer> <silent> <A-F9> <C-C><C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
-"
- map <buffer> <silent> <F9> <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
-imap <buffer> <silent> <F9> <C-C><C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
-"
-" <C-C> seems to be essential here:
- map <buffer> <silent> <C-F9> <C-C>:call C_Run()<CR>
-imap <buffer> <silent> <C-F9> <C-C><C-C>:call C_Run()<CR>
-"
- map <buffer> <silent> <S-F9> <C-C>:call C_Arguments()<CR>
-imap <buffer> <silent> <S-F9> <C-C><C-C>:call C_Arguments()<CR>
-"
-" alternate file plugin
-"
-"if exists("loaded_alternateFile")
-" map <buffer> <silent> <S-F2> <C-C>:A<CR>
-"imap <buffer> <silent> <S-F2> <C-C><C-C>:A<CR>
-"endif
-"
-"
-" ---------- KEY MAPPINGS : MENU ENTRIES -------------------------------------
-"
-" ---------- comments menu ------------------------------------------------
-"
-
- noremap <buffer> <silent> <Leader>cl <Esc>:call C_LineEndComment()<CR>
-inoremap <buffer> <silent> <Leader>cl <Esc>:call C_LineEndComment()<CR>a
-vnoremap <buffer> <silent> <Leader>cl <Esc>:call C_MultiLineEndComments()<CR>
- noremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("a")<CR>
-vnoremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("v")<CR>
-inoremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("a")<CR>a
- noremap <buffer> <silent> <Leader>cs <Esc>:call C_GetLineEndCommCol()<CR>
- noremap <buffer> <silent> <Leader>c* <Esc>:call C_CodeComment("a","yes")<CR><Esc>:nohlsearch<CR>j
-vnoremap <buffer> <silent> <Leader>c* <Esc>:call C_CodeComment("v","yes")<CR><Esc>:nohlsearch<CR>j
- noremap <buffer> <silent> <Leader>c/ <Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j
-vnoremap <buffer> <silent> <Leader>c/ <Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j
- noremap <buffer> <silent> <Leader>co <Esc>:call C_CommentCode("a")<CR><Esc>:nohlsearch<CR>
-vnoremap <buffer> <silent> <Leader>co <Esc>:call C_CommentCode("v")<CR><Esc>:nohlsearch<CR>
-
- noremap <buffer> <silent> <Leader>cfr <Esc>:call C_InsertTemplate("comment.frame")<CR>
- noremap <buffer> <silent> <Leader>cfu <Esc>:call C_InsertTemplate("comment.function")<CR>
- noremap <buffer> <silent> <Leader>cme <Esc>:call C_InsertTemplate("comment.method")<CR>
- noremap <buffer> <silent> <Leader>ccl <Esc>:call C_InsertTemplate("comment.class")<CR>
-
-inoremap <buffer> <silent> <Leader>cfr <Esc>:call C_InsertTemplate("comment.frame")<CR>
-inoremap <buffer> <silent> <Leader>cfu <Esc>:call C_InsertTemplate("comment.function")<CR>
-inoremap <buffer> <silent> <Leader>cme <Esc>:call C_InsertTemplate("comment.method")<CR>
-inoremap <buffer> <silent> <Leader>ccl <Esc>:call C_InsertTemplate("comment.class")<CR>
-
- noremap <buffer> <silent> <Leader>cd a<C-R>=C_InsertDateAndTime('d')<CR>
-inoremap <buffer> <silent> <Leader>cd <C-R>=C_InsertDateAndTime('d')<CR>
- noremap <buffer> <silent> <Leader>ct a<C-R>=C_InsertDateAndTime('dt')<CR>
-inoremap <buffer> <silent> <Leader>ct <C-R>=C_InsertDateAndTime('dt')<CR>
-"
-" ---------- statements menu ------------------------------------------------
-"
- noremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while")<CR>
-vnoremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while", "v")<CR>
-inoremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while")<CR>
-
- noremap <buffer> <silent> <Leader>sf <Esc>:call C_InsertTemplate("statements.for")<CR>
-inoremap <buffer> <silent> <Leader>sf <Esc>:call C_InsertTemplate("statements.for")<CR>
-
- noremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block")<CR>
-vnoremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block", "v")<CR>
-inoremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block")<CR>
-
- noremap <buffer> <silent> <Leader>si <Esc>:call C_InsertTemplate("statements.if")<CR>
-inoremap <buffer> <silent> <Leader>si <Esc>:call C_InsertTemplate("statements.if")<CR>
-
- noremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block")<CR>
-vnoremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block", "v")<CR>
-inoremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block")<CR>
-
- noremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else")<CR>
-vnoremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else", "v")<CR>
-inoremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else")<CR>
-
- noremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else")<CR>
-vnoremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR>
-inoremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else")<CR>
-
- noremap <buffer> <silent> <Leader>sw <Esc>:call C_InsertTemplate("statements.while")<CR>
-inoremap <buffer> <silent> <Leader>sw <Esc>:call C_InsertTemplate("statements.while")<CR>
-
- noremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block")<CR>
-vnoremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block", "v")<CR>
-inoremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block")<CR>
-
- noremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch")<CR>
-vnoremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch", "v")<CR>
-inoremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch")<CR>
-
- noremap <buffer> <silent> <Leader>sc <Esc>:call C_InsertTemplate("statements.case")<CR>
-inoremap <buffer> <silent> <Leader>sc <Esc>:call C_InsertTemplate("statements.case")<CR>
-
- noremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block")<CR>
-vnoremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block", "v")<CR>
-inoremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block")<CR>
-"
-" ---------- preprocessor menu ----------------------------------------------
-"
-inoremap <buffer> <silent> <Leader>p< <Esc><Esc>o#include<Tab><><Left>
-inoremap <buffer> <silent> <Leader>p" <Esc><Esc>o#include<Tab>""<Left>
-inoremap <buffer> <silent> <Leader>pd <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>
-inoremap <buffer> <silent> <Leader>pu <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>
-"
- noremap <buffer> <silent> <Leader>p< <Esc><Esc>o#include<Tab><><Left>
- noremap <buffer> <silent> <Leader>p" <Esc><Esc>o#include<Tab>""<Left>
- noremap <buffer> <silent> <Leader>pd <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>
- noremap <buffer> <silent> <Leader>pu <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>
-
- noremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>
- noremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
- noremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
- noremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
- noremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("a")<CR>2ji
-
-vnoremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR>
-vnoremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR>
-vnoremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR>
-vnoremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR>
-vnoremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("v")<CR>
-
-inoremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>
-inoremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
-inoremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
-inoremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
-inoremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("a")<CR>2ji
-
- noremap <buffer> <silent> <Leader>pr0 <Esc><Esc>:call C_PPIf0Remove()<CR>
-"
-" ---------- idioms menu ----------------------------------------------------
-"
- noremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function")<CR>
-vnoremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function", "v")<CR>
-inoremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function")<CR>
- noremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static")<CR>
-vnoremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR>
-inoremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static")<CR>
- noremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR>
-vnoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main", "v")<CR>
-inoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR>
-"
- noremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "a")<CR>a
-vnoremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "v")<CR>
-inoremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "a")<CR>a
- noremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "a")<CR>a
-vnoremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "v")<CR>
-inoremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "a")<CR>a
-"
- noremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum")<CR>
-vnoremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum" , "v")<CR>
-inoremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum")<CR>
- noremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct")<CR>
-vnoremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct", "v")<CR>
-inoremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct")<CR>
- noremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union")<CR>
-vnoremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union" , "v")<CR>
-inoremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union")<CR>
-"
- noremap <buffer> <silent> <Leader>ip <Esc><Esc>oprintf("\n");<Esc>2F"a
-inoremap <buffer> <silent> <Leader>ip printf("\n");<Esc>2F"a
- noremap <buffer> <silent> <Leader>isc <Esc><Esc>oscanf("", & );<Esc>F"i
-inoremap <buffer> <silent> <Leader>isc scanf("", & );<Esc>F"i
-"
- noremap <buffer> <silent> <Leader>ica <Esc>:call C_InsertTemplate("idioms.calloc")
-inoremap <buffer> <silent> <Leader>ica <Esc>:call C_InsertTemplate("idioms.calloc")
- noremap <buffer> <silent> <Leader>ima <Esc>:call C_InsertTemplate("idioms.malloc")<CR>
-inoremap <buffer> <silent> <Leader>ima <Esc>:call C_InsertTemplate("idioms.malloc")<CR>
-"
- noremap <buffer> <silent> <Leader>isi isizeof()<Left>
-vnoremap <buffer> <silent> <Leader>isi ssizeof()<Esc>P
-inoremap <buffer> <silent> <Leader>isi sizeof()<Left>
- noremap <buffer> <silent> <Leader>ias <Esc><Esc>oassert();<Left><Left>
-vnoremap <buffer> <silent> <Leader>ias sassert();<Esc>F(p
-inoremap <buffer> <silent> <Leader>ias assert();<Left><Left>
-"
- noremap <buffer> <silent> <Leader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>
-inoremap <buffer> <silent> <Leader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>
- noremap <buffer> <silent> <Leader>io <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>
-inoremap <buffer> <silent> <Leader>io <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>
-"
-" ---------- snippet menu ----------------------------------------------------
-"
- noremap <buffer> <silent> <Leader>nr <Esc>:call C_CodeSnippet("r")<CR>
- noremap <buffer> <silent> <Leader>nw <Esc>:call C_CodeSnippet("w")<CR>
-vnoremap <buffer> <silent> <Leader>nw <Esc>:call C_CodeSnippet("wv")<CR>
- noremap <buffer> <silent> <Leader>ne <Esc>:call C_CodeSnippet("e")<CR>
-"
- noremap <buffer> <silent> <Leader>np <Esc>:call C_ProtoPick("n")<CR>
-vnoremap <buffer> <silent> <Leader>np <Esc>:call C_ProtoPick("v")<CR>
- noremap <buffer> <silent> <Leader>ni <Esc>:call C_ProtoInsert()<CR>
- noremap <buffer> <silent> <Leader>nc <Esc>:call C_ProtoClear()<CR>
- noremap <buffer> <silent> <Leader>ns <Esc>:call C_ProtoShow()<CR>
-"
-" ---------- C++ menu ----------------------------------------------------
-"
- noremap <buffer> <silent> <Leader>+m <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>
-inoremap <buffer> <silent> <Leader>+m <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>
- noremap <buffer> <silent> <Leader>+c <Esc>:call C_InsertTemplate("cpp.class")<CR>
-inoremap <buffer> <silent> <Leader>+c <Esc>:call C_InsertTemplate("cpp.class")<CR>
- noremap <buffer> <silent> <Leader>+cn <Esc>:call C_InsertTemplate("cpp.class-using-new")<CR>
-inoremap <buffer> <silent> <Leader>+cn <Esc>:call C_InsertTemplate("cpp.class-using-new")<CR>
-
- noremap <buffer> <silent> <Leader>+tm <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>
-inoremap <buffer> <silent> <Leader>+tm <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>
- noremap <buffer> <silent> <Leader>+tc <Esc>:call C_InsertTemplate("cpp.template-class")<CR>
-inoremap <buffer> <silent> <Leader>+tc <Esc>:call C_InsertTemplate("cpp.template-class")<CR>
- noremap <buffer> <silent> <Leader>+tcn <Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR>
-inoremap <buffer> <silent> <Leader>+tcn <Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR>
-
- noremap <buffer> <silent> <Leader>+tf <Esc>:call C_InsertTemplate("cpp.template-function")<CR>
-inoremap <buffer> <silent> <Leader>+tf <Esc>:call C_InsertTemplate("cpp.template-function")<CR>
-
- noremap <buffer> <silent> <Leader>+ec <Esc>:call C_InsertTemplate("cpp.error-class")<CR>
-inoremap <buffer> <silent> <Leader>+ec <Esc>:call C_InsertTemplate("cpp.error-class")<CR>
-
- noremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch")<CR>
-vnoremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR>
-inoremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch")<CR>
-
- noremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch")<CR>
-vnoremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch", "v")<CR>
-inoremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch")<CR>
-
- noremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points")<CR>
-vnoremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR>
-inoremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points")<CR>
-"
-"
-" ---------- run menu --------------------------------------------------------
-"
- map <buffer> <silent> <Leader>rc <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
- map <buffer> <silent> <Leader>rl <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
- map <buffer> <silent> <Leader>rr <C-C>:call C_Run()<CR>
- map <buffer> <silent> <Leader>ra <C-C>:call C_Arguments()<CR>
- map <buffer> <silent> <Leader>rm <C-C>:call C_Make()<CR>
- map <buffer> <silent> <Leader>rg <C-C>:call C_MakeArguments()<CR>
- map <buffer> <silent> <Leader>rp <C-C>:call C_SplintCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>
- map <buffer> <silent> <Leader>ri <C-C>:call C_SplintArguments()<CR>
- map <buffer> <silent> <Leader>rd <C-C>:call C_Indent("a")<CR>:redraw<CR>:call C_HlMessage()<CR>
-vmap <buffer> <silent> <Leader>rd <C-C>:call C_Indent("v")<CR>:redraw<CR>:call C_HlMessage()<CR>
- map <buffer> <silent> <Leader>rh <C-C>:call C_Hardcopy("n")<CR>
-vmap <buffer> <silent> <Leader>rh <C-C>:call C_Hardcopy("v")<CR>
- map <buffer> <silent> <Leader>rs <C-C>:call C_Settings()<CR>
- map <buffer> <silent> <Leader>rt <C-C>:call C_RebuildTemplates()<CR>
- if has("unix")
- map <buffer> <silent> <Leader>rx <C-C>:call C_XtermSize()<CR>
- endif
- map <buffer> <silent> <Leader>ro <C-C>:call C_Toggle_Gvim_Xterm()<CR>
-"
-" Abraxas CodeCheck (R)
-"
-if executable("check")
- map <buffer> <silent> <Leader>rk <C-C>:call C_CodeCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>
- map <buffer> <silent> <Leader>re <C-C>:call C_CodeCheckArguments()<CR>
-endif
-" ---------- plugin help -----------------------------------------------------
-"
- map <buffer> <silent> <Leader>h <Esc>:call C_HelpCsupport()<CR>
-"
diff --git a/.vim/ftplugin/cpp.vim b/.vim/ftplugin/cpp.vim
deleted file mode 100644
index 79b3445..0000000
--- a/.vim/ftplugin/cpp.vim
+++ /dev/null
@@ -1,164 +0,0 @@
-" Line numbering
-set number
-" Set syntax highlighting
-syntax on
-" Tabbing
-set et
-set shiftwidth=4
-set smarttab
-set autoindent
-" Complete Brackets {
-"
-" }"
-" Complete quotes"
-inoremap " ""<Left>
-" We want a mouse in consoles, so:"
-set mouse=a
-"
-"===============================================================================
-"========== load example vimrc from the distribution =========================
-"===============================================================================
-"
-runtime vimrc_example.vim
-"
-filetype plugin on
-"
-"===============================================================================
-"========== CUSTOMIZATION (vimrc) ============================================
-"===============================================================================
-"
-" Platform specific items:
-" - central backup directory (has to be created)
-" - default dictionary
-" Uncomment your choice.
-if has("win16") || has("win32") || has("win64") ||
- \ has("win95") || has("win32unix")
- "
-" runtime mswin.vim
-" set backupdir =$VIM\vimfiles\backupdir
-" set dictionary=$VIM\vimfiles\wordlists/german.list
-else
-" set backupdir =$HOME/.vim.backupdir
-" set dictionary=$HOME/.vim/wordlists/german.list
-endif
-"
-" Using a backupdir under UNIX/Linux: you may want to include a line similar to
-" find $HOME/.vim.backupdir -name "*" -type f -mtime +60 -exec rm -f {} \;
-" in one of your shell startup files (e.g. $HOME/.profile)
-"
-"-------------------------------------------------------------------------------
-" Use of dictionaries
-"-------------------------------------------------------------------------------
-"
-set complete+=k " scan the files given with the 'dictionary' option
-"
-"-------------------------------------------------------------------------------
-" Various settings
-"-------------------------------------------------------------------------------
-"
-set autoread " read open files again when changed outside Vim
-set autowrite " write a modified buffer on each :next , ...
-set browsedir =current " which directory to use for the file browser
-set incsearch " use incremental search
-"set nowrap " do not wrap lines
-set shiftwidth =4 " number of spaces to use for each step of indent
-set tabstop =4 " number of spaces that a <Tab> in the file counts for
-set visualbell " visual bell instead of beeping
-"
-"
-"-------------------------------------------------------------------------------
-" some additional hot keys
-"-------------------------------------------------------------------------------
-" F2 - write file without confirmation
-" F3 - call file explorer Ex
-" F4 - show tag under curser in the preview window (tagfile must exist!)
-" F5 - open quickfix error window
-" F6 - close quickfix error window
-" F7 - display previous error
-" F8 - display next error
-" S-Tab - Fast switching between buffers (see below)
-" C-q - Leave the editor with Ctrl-q (see below)
-"-------------------------------------------------------------------------------
-"
-map <silent> <F2> :write<CR>
-map <silent> <F3> :Explore<CR>
-nmap <silent> <F4> :exe ":ptag ".expand("<cword>")<CR>
-map <silent> <F5> :copen<CR>
-map <silent> <F6> :cclose<CR>
-map <silent> <F7> :cp<CR>
-map <silent> <F8> :cn<CR>
-"
-imap <silent> <F2> <Esc>:write<CR>
-imap <silent> <F3> <Esc>:Explore<CR>
-imap <silent> <F4> <Esc>:exe ":ptag ".expand("<cword>")<CR>
-imap <silent> <F5> <Esc>:copen<CR>
-imap <silent> <F6> <Esc>:cclose<CR>
-imap <silent> <F7> <Esc>:cp<CR>
-imap <silent> <F8> <Esc>:cn<CR>
-"
-"-------------------------------------------------------------------------------
-" Fast switching between buffers
-" The current buffer will be saved before switching to the next one.
-" Choose :bprevious or :bnext
-"-------------------------------------------------------------------------------
-"
- map <silent> <s-tab> <Esc>:if &modifiable && !&readonly &&
- \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
-imap <silent> <s-tab> <Esc>:if &modifiable && !&readonly &&
- \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
-"
-"-------------------------------------------------------------------------------
-" Leave the editor with Ctrl-q : Write all changed buffers and exit Vim
-"-------------------------------------------------------------------------------
-nmap <C-q> :wqa<CR>
-"
-"-------------------------------------------------------------------------------
-" autocomplete parenthesis, brackets and braces
-"-------------------------------------------------------------------------------
-inoremap ( ()<Left>
-inoremap [ []<Left>
-inoremap { {<CR>}<ESC>ko
-"
-vnoremap ( s()<Esc>P<Right>%
-vnoremap [ s[]<Esc>P<Right>%
-vnoremap { s{}<Esc>P<Right>%
-"
-"-------------------------------------------------------------------------------
-" Change the working directory to the directory containing the current file
-"-------------------------------------------------------------------------------
-if has("autocmd")
- autocmd BufEnter * :lchdir %:p:h
-endif " has("autocmd")
-"
-"-------------------------------------------------------------------------------
-" Filename completion
-"
-" wildmenu : command-line completion operates in an enhanced mode
-" wildignore : A file that matches with one of these
-" patterns is ignored when completing file or directory names.
-"-------------------------------------------------------------------------------
-"
-set wildmenu
-set wildignore=*.bak,*.o,*.e,*~
-"
-"-------------------------------------------------------------------------------
-" print options (pc = percentage of the media size)
-"-------------------------------------------------------------------------------
-set printoptions=left:8pc,right:3pc
-"
-"-------------------------------------------------------------------------------
-" taglist.vim : toggle the taglist window
-" taglist.vim : define the title texts for make
-" taglist.vim : define the title texts for qmake
-"-------------------------------------------------------------------------------
- noremap <silent> <F11> <Esc><Esc>:Tlist<CR>
-inoremap <silent> <F11> <Esc><Esc>:Tlist<CR>
-
-let tlist_make_settings = 'make;m:makros;t:targets'
-
-let tlist_qmake_settings = 'qmake;t:SystemVariables'
-
-if has("autocmd")
- " ---------- qmake : set filetype for *.pro ----------
- autocmd BufNewFile,BufRead *.pro set filetype=qmake
-endif " has("autocmd")
diff --git a/.vim/ftplugin/gpg.vim b/.vim/ftplugin/gpg.vim
deleted file mode 100644
index 20f641f..0000000
--- a/.vim/ftplugin/gpg.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" Transparent editing of gpg encrypted files.
-" By Wouter Hanegraaff <wouter@blub.net>
-augroup encrypted
-au!
-" First make sure nothing is written to ~/.viminfo while editing
-" an encrypted file.
-autocmd BufReadPre,FileReadPre *.gpg set viminfo=
-" We don't want a swap file, as it writes unencrypted data to disk
-autocmd BufReadPre,FileReadPre *.gpg set noswapfile
-" Switch to binary mode to read the encrypted file
-autocmd BufReadPre,FileReadPre *.gpg set bin
-autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
-autocmd BufReadPre,FileReadPre *.gpg let shsave=&sh
-autocmd BufReadPre,FileReadPre *.gpg let &sh='sh'
-autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
-autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt --default-recipient-self 2> /dev/null
-autocmd BufReadPost,FileReadPost *.gpg let &sh=shsave
-" Switch to normal mode for editing
-autocmd BufReadPost,FileReadPost *.gpg set nobin
-autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save
-autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r")
-" Convert all text to encrypted text before writing
-autocmd BufWritePre,FileWritePre *.gpg set bin
-autocmd BufWritePre,FileWritePre *.gpg let shsave=&sh
-autocmd BufWritePre,FileWritePre *.gpg let &sh='sh'
-autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --encrypt --default-recipient-self 2>/dev/null
-autocmd BufWritePre,FileWritePre *.gpg let &sh=shsave
-" Undo the encryption so we are back in the normal text, directly
-" after the file has been written.
-autocmd BufWritePost,FileWritePost *.gpg silent u
-autocmd BufWritePost,FileWritePost *.gpg set nobin
-augroup END
-
diff --git a/.vim/ftplugin/haskell.vim b/.vim/ftplugin/haskell.vim
deleted file mode 100644
index ffe83fe..0000000
--- a/.vim/ftplugin/haskell.vim
+++ /dev/null
@@ -1,13 +0,0 @@
-"
-" general Haskell source settings
-" (shared functions are in autoload/haskellmode.vim)
-"
-" (Claus Reinke, last modified: 21/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-" try gf on import line, or ctrl-x ctrl-i, or [I, [i, ..
-set include=^import\\s*\\(qualified\\)\\?\\s*
-set includeexpr=substitute(v:fname,'\\.','/','g').'.hs'
-
diff --git a/.vim/ftplugin/haskell_doc.vim b/.vim/ftplugin/haskell_doc.vim
deleted file mode 100644
index f850667..0000000
--- a/.vim/ftplugin/haskell_doc.vim
+++ /dev/null
@@ -1,817 +0,0 @@
-"
-" use haddock docs and index files
-" show documentation, complete & qualify identifiers
-"
-" (Claus Reinke; last modified: 24/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-" :Doc <name> and :IDoc <name> open haddocks for <name> in opera
-"
-" :Doc needs qualified name (default Prelude) and package (default base)
-" :IDoc needs unqualified name, looks up possible links in g:haddock_index
-"
-" :DocIndex populates g:haddock_index from haddock's index files
-" :ExportDocIndex saves g:haddock_index to cache file
-" :ImportDocIndex reloads g:haddock_index from cache file
-"
-" all the following use the haddock index (g:haddock_index)
-"
-" _? opens haddocks for unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _. fully qualifies unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _i add import <module>(<name>) statement for unqualified <name> under cursor,
-" _im add import <module> statement for unqualified <name> under cursor,
-" suggesting alternative full qualifications in popup menu
-" (this currently adds one statement per call, instead of
-" merging into existing import statements, but it's a start;-)
-"
-" CTRL-X CTRL-U (user-defined insert mode completion)
-" suggests completions of unqualified names in popup menu
-
-let s:scriptname = "haskell_doc.vim"
-
-" script parameters
-" g:haddock_browser *mandatory* which browser to call
-" g:haddock_browser_callformat [optional] how to call browser
-" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim'
-" g:haddock_docdir [optional] where to find html docs
-" g:ghc [optional] which ghc to call
-" g:ghc_pkg [optional] which ghc_pkg to call
-
-" been here before?
-if exists("g:haddock_index")
- finish
-endif
-
-" initialise nested dictionary, to be populated
-" - from haddock index files via :DocIndex
-" - from previous cached version via :ImportDocIndex
-let g:haddock_index = {}
-
-" initialise dictionary, mapping modules with haddocks to their packages,
-" populated via MkHaddockModuleIndex() or HaveModuleIndex()
-let g:haddock_moduleindex = {}
-
-" program to open urls, please set this in your vimrc
- "examples (for windows):
- "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe"
- "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe"
- "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe"
-if !exists("g:haddock_browser")
- echoerr s:scriptname." WARNING: please set g:haddock_browser!"
-endif
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-
-if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg))
- let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','')
-endif
-
-if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir)
- let s:docdir = g:haddock_docdir
-elseif executable(g:ghc_pkg)
-" try to figure out location of html docs
-" first choice: where the base docs are (from the first base listed)
- let [field;x] = split(system(g:ghc_pkg . ' field base haddock-html'),'\n')
- let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','')
- let field = substitute(field,'\\','/','g')
- let alternate = substitute(field,'html','doc/html','')
- if isdirectory(field)
- let s:docdir = field
- elseif isdirectory(alternate)
- let s:docdir = alternate
- endif
-else
- echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)."
-endif
-
-" second choice: try some known suspects for windows/unix
-if !exists('s:docdir') || !isdirectory(s:docdir)
- let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','')
- let location1a = s:ghc_libdir . '/doc/html/'
- let location1b = s:ghc_libdir . '/doc/'
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/'
- if isdirectory(location1a)
- let s:docdir = location1a
- elseif isdirectory(location1b)
- let s:docdir = location1b
- elseif isdirectory(location2)
- let s:docdir = location2
- else " give up
- echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)."
- finish
- endif
-endif
-
-" todo: can we turn s:docdir into a list of paths, and
-" include docs for third-party libs as well?
-
-let s:libraries = s:docdir . 'libraries/'
-let s:guide = s:docdir . 'users_guide/'
-let s:index = 'index.html'
-if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir)
- let s:haddock_indexfiledir = g:haddock_indexfiledir
-elseif filewritable(s:libraries)
- let s:haddock_indexfiledir = s:libraries
-elseif filewritable($HOME)
- let s:haddock_indexfiledir = $HOME.'/'
-else "give up
- echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir"
- finish
-endif
-let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim'
-
-" different browser setups require different call formats;
-" you might want to call the browser synchronously or
-" asynchronously, and the latter is os-dependent;
-"
-" by default, the browser is started in the background when on
-" windows or if running in a gui, and in the foreground otherwise
-" (eg, console-mode for remote sessions, with text-mode browsers).
-"
-" you can override these defaults in your vimrc, via a format
-" string including 2 %s parameters (the first being the browser
-" to call, the second being the url).
-if !exists("g:haddock_browser_callformat")
- if has("win32") || has("win64")
- let g:haddock_browser_callformat = 'start %s "%s"'
- else
- if has("gui_running")
- let g:haddock_browser_callformat = '%s %s '.printf(&shellredir,'/dev/null').' &'
- else
- let g:haddock_browser_callformat = '%s %s'
- endif
- endif
-endif
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-command! DocSettings call DocSettings()
-function! DocSettings()
- for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"]
- if exists(v)
- echo v '=' eval(v)
- else
- echo v '='
- endif
- endfor
-endfunction
-
-function! DocBrowser(url)
- "echomsg "DocBrowser(".url.")"
- if (!exists("g:haddock_browser") || !executable(g:haddock_browser))
- echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser"
- return
- endif
- " start browser to open url, according to specified format
- let url = a:url=~'^\(file://\|http://\)' ? a:url : 'file://'.a:url
- silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(url,'#%'))
-endfunction
-
-"usage examples:
-" :Doc length
-" :Doc Control.Monad.when
-" :Doc Data.List.
-" :Doc Control.Monad.State.runState mtl
-" :Doc -top
-" :Doc -libs
-" :Doc -guide
-command! -nargs=+ Doc call Doc('v',<f-args>)
-command! -nargs=+ Doct call Doc('t',<f-args>)
-
-function! Doc(kind,qualname,...)
- let suffix = '.html'
- let relative = '#'.a:kind.'%3A'
-
- if a:qualname=="-top"
- call DocBrowser(s:docdir . s:index)
- return
- elseif a:qualname=="-libs"
- call DocBrowser(s:libraries . s:index)
- return
- elseif a:qualname=="-guide"
- call DocBrowser(s:guide . s:index)
- return
- endif
-
- if a:0==0 " no package specified
- let package = 'base/'
- else
- let package = a:1 . '/'
- endif
-
- if match(a:qualname,'\.')==-1 " unqualified name
- let [qual,name] = [['Prelude'],a:qualname]
- let file = join(qual,'-') . suffix . relative . name
- elseif a:qualname[-1:]=='.' " module qualifier only
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-1
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix
- else " qualified name
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-2
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix . relative . name
- endif
-
-" let path = s:libraries . package . file
- let path = file
- call DocBrowser(path)
-endfunction
-
-" TODO: add commandline completion for :IDoc
-" indexed variant of Doc, looking up links in g:haddock_index
-" usage:
-" 1. :IDoc length
-" 2. click on one of the choices, or select by number (starting from 0)
-command! -nargs=+ IDoc call IDoc(<f-args>)
-function! IDoc(name,...)
- let choices = HaddockIndexLookup(a:name)
- if choices=={} | return | endif
- if a:0==0
- let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")')
- let choice = inputlist(keylist)
- else
- let choice = a:1
- endif
- let path = values(choices)[choice] " assumes same order for keys/values..
- call DocBrowser(path)
-endfunction
-
-let s:flagref = s:guide . 'flag-reference.html'
-if filereadable(s:flagref)
- " extract the generated fragment ids for the
- " flag reference sections
- let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)'
- let s:flagheaders = []
- let s:flagheaderids = {}
- let s:contents = join(readfile(s:flagref))
- let s:ml = matchlist(s:contents,s:headerPat)
- while s:ml!=[]
- let [_,s:id,s:title,s:r;s:x] = s:ml
- let s:flagheaders = add(s:flagheaders, s:title)
- let s:flagheaderids[s:title] = s:id
- let s:ml = matchlist(s:r,s:headerPat)
- endwhile
- command! -nargs=1 -complete=customlist,CompleteFlagHeaders FlagReference call FlagReference(<f-args>)
- function! FlagReference(section)
- let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ?
- \ "" : "#".s:flagheaderids[a:section]
- call DocBrowser(s:flagref.relativeUrl)
- endfunction
- function! CompleteFlagHeaders(al,cl,cp)
- let s:choices = s:flagheaders
- return CompleteAux(a:al,a:cl,a:cp)
- endfunction
-endif
-
-command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>)
-function! MDoc(module)
- let suffix = '.html'
- call HaveModuleIndex()
- if !has_key(g:haddock_moduleindex,a:module)
- echoerr a:module 'not found in haddock module index'
- return
- endif
- let package = g:haddock_moduleindex[a:module]['package']
- let file = substitute(a:module,'\.','-','g') . suffix
-" let path = s:libraries . package . '/' . file
- let path = g:haddock_moduleindex[a:module]['html']
- call DocBrowser(path)
-endfunction
-
-function! CompleteHaddockModules(al,cl,cp)
- call HaveModuleIndex()
- let s:choices = keys(g:haddock_moduleindex)
- return CompleteAux(a:al,a:cl,a:cp)
-endfunction
-
-" create a dictionary g:haddock_index, containing the haddoc index
-command! DocIndex call DocIndex()
-function! DocIndex()
- let files = split(globpath(s:libraries,'doc-index*.html'),'\n')
- let g:haddock_index = {}
- call ProcessHaddockIndexes2(s:libraries,files)
- if GHC_VersionGE([6,8,2])
- if &shell =~ 'sh' " unix-type shell
- let s:addon_libraries = split(system(g:ghc_pkg . ' field \* haddock-html'),'\n')
- else " windows cmd.exe and the like
- let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n')
- endif
- for addon in s:addon_libraries
- let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?')
- if ml!=[]
- let [_,quote,file,addon_path;x] = ml
- let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g')
- let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n')
- call ProcessHaddockIndexes2(addon_path,addon_files)
- endif
- endfor
- endif
- return 1
-endfunction
-
-function! ProcessHaddockIndexes(location,files)
- let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)'
- let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)'
-
- redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let contents = join(readfile(f))
- let ml = matchlist(contents,entryPat)
- while ml!=[]
- let [_,entry,links,r;x] = ml
- "echo entry links
- let ml2 = matchlist(links,linkPat)
- let link = {}
- while ml2!=[]
- let [_,l,m,links;x] = ml2
- "echo l m
- let link[m] = a:location . '/' . l
- let ml2 = matchlist(links,linkPat)
- endwhile
- let g:haddock_index[DeHTML(entry)] = deepcopy(link)
- "echo entry g:haddock_index[entry]
- let ml = matchlist(r,entryPat)
- endwhile
- endfor
-endfunction
-
-" concatenating all lines is too slow for a big file, process lines directly
-function! ProcessHaddockIndexes2(location,files)
- let entryPat= '^>\([^<]*\)</'
- let linkPat = '.\{-}A HREF="\([^"]*\)"'
- let kindPat = '#\(.\)'
-
- " redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let isEntry = 0
- let isLink = ''
- let link = {}
- let entry = ''
- for line in readfile(f)
- if line=~'CLASS="indexentry'
- if (link!={}) && (entry!='')
- if has_key(g:haddock_index,DeHTML(entry))
- let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link))
- else
- let dict = deepcopy(link)
- endif
- let g:haddock_index[DeHTML(entry)] = dict
- let link = {}
- let entry = ''
- endif
- let isEntry=1
- continue
- endif
- if isEntry==1
- let ml = matchlist(line,entryPat)
- if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif
- endif
- if entry!=''
- let ml = matchlist(line,linkPat)
- if ml!=[] | let [_,isLink;x]=ml | continue | endif
- endif
- if isLink!=''
- let ml = matchlist(line,entryPat)
- if ml!=[]
- let [_,module;x] = ml
- let [_,kind;x] = matchlist(isLink,kindPat)
- let last = a:location[strlen(a:location)-1]
- let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink
- let isLink=''
- continue
- endif
- endif
- endfor
- if link!={}
- if has_key(g:haddock_index,DeHTML(entry))
- let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link))
- else
- let dict = deepcopy(link)
- endif
- let g:haddock_index[DeHTML(entry)] = dict
- endif
- endfor
-endfunction
-
-command! ExportDocIndex call ExportDocIndex()
-function! ExportDocIndex()
- call HaveIndex()
- let entries = []
- for key in keys(g:haddock_index)
- let entries += [key,string(g:haddock_index[key])]
- endfor
- call writefile(entries,s:haddock_indexfile)
- redir end
-endfunction
-
-command! ImportDocIndex call ImportDocIndex()
-function! ImportDocIndex()
- if filereadable(s:haddock_indexfile)
- let lines = readfile(s:haddock_indexfile)
- let i=0
- while i<len(lines)
- let [key,dict] = [lines[i],lines[i+1]]
- sandbox let g:haddock_index[key] = eval(dict)
- let i+=2
- endwhile
- return 1
- else
- return 0
- endif
-endfunction
-
-function! HaveIndex()
- return (g:haddock_index!={} || ImportDocIndex() || DocIndex() )
-endfunction
-
-function! MkHaddockModuleIndex()
- let g:haddock_moduleindex = {}
- call HaveIndex()
- for key in keys(g:haddock_index)
- let dict = g:haddock_index[key]
- for module in keys(dict)
- let html = dict[module]
- let html = substitute(html ,'#.*$','','')
- let module = substitute(module,'\[.\]','','')
- let ml = matchlist(html,'libraries/\([^\/]*\)\/')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- endfor
- endfor
-endfunction
-
-function! HaveModuleIndex()
- return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() )
-endfunction
-
-" decode HTML symbol encodings (are these all we need?)
-function! DeHTML(entry)
- let res = a:entry
- let decode = { '&lt;': '<', '&gt;': '>', '&amp;': '\\&' }
- for enc in keys(decode)
- exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")'
- endfor
- return res
-endfunction
-
-" find haddocks for word under cursor
-" also lists possible definition sites
-" - needs to work for both qualified and unqualified items
-" - for 'import qualified M as A', consider M.item as source of A.item
-" - offer sources from both type [t] and value [v] namespaces
-" - for unqualified items, list all possible sites
-" - for qualified items, list imported sites only
-" keep track of keys with and without namespace tags:
-" the former are needed for lookup, the latter for matching against source
-map <LocalLeader>? :call Haddock()<cr>
-function! Haddock()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let imports = haskellmode#GatherImports()
- let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let name = unqual
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- " for qualified items, narrow results to possible imports that provide qualifier
- let filteredKeys = filter(copy(keys(dict))
- \ ,'match(asm,substitute(v:val,''\[.\]'','''',''''))!=-1')
- let keys = (qual!='') ? filteredKeys : keys(dict)
- if (keys==[]) && (qual!='')
- echoerr qual.'.'.unqual.' not found in imports'
- return 0
- endif
- if len(keys)==1 && exists("g:haskell_avoid_singleton_menus")
- call DocBrowser(dict[keys[0]])
- elseif has("gui_running")
- for key in keys
- exe 'amenu ]Popup.'.escape(key,'\.').' :call DocBrowser('''.dict[key].''')<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = keys
- let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux')
- if key!=''
- call DocBrowser(dict[key])
- endif
- endif
-endfunction
-
-if !exists("g:haskell_search_engines")
- let g:haskell_search_engines =
- \ {'hoogle':'http://www.haskell.org/hoogle/?hoogle=%s'
- \ ,'hayoo!':'http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=%s'
- \ }
-endif
-
-map <LocalLeader>?? :let es=g:haskell_search_engines
- \ \|echo "g:haskell_search_engines"
- \ \|for e in keys(es)
- \ \|echo e.' : '.es[e]
- \ \|endfor<cr>
-map <LocalLeader>?1 :call HaskellSearchEngine('hoogle')<cr>
-map <LocalLeader>?2 :call HaskellSearchEngine('hayoo!')<cr>
-
-" query one of the Haskell search engines for the thing under cursor
-" - unqualified symbols need to be url-escaped
-" - qualified ids need to be fed as separate qualifier and id for
-" both hoogle (doesn't handle qualified symbols) and hayoo! (no qualified
-" ids at all)
-" - qualified ids referring to import-qualified-as qualifiers need to be
-" translated to the multi-module searches over the list of original modules
-function! HaskellSearchEngine(engine)
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let imports = haskellmode#GatherImports()
- let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let unqual = haskellmode#UrlEncode(unqual)
- if a:engine=='hoogle'
- let name = asm!=[] ? unqual.'+'.join(map(copy(asm),'"%2B".v:val'),'+')
- \ : qual!='' ? unqual.'+'.haskellmode#UrlEncode('+').qual
- \ : unqual
- elseif a:engine=='hayoo!'
- let name = asm!=[] ? unqual.'+module:('.join(copy(asm),' OR ').')'
- \ : qual!='' ? unqual.'+module:'.qual
- \ : unqual
- else
- let name = qual=="" ? unqual : qual.".".unqual
- endif
- if has_key(g:haskell_search_engines,a:engine)
- call DocBrowser(printf(g:haskell_search_engines[a:engine],name))
- else
- echoerr "unknown search engine: ".a:engine
- endif
-endfunction
-
-" used to pass on choices to CompleteAux
-let s:choices=[]
-
-" if there's no gui, use commandline completion instead of :popup
-" completion function CompleteAux suggests completions for a:al, wrt to s:choices
-function! CompleteAux(al,cl,cp)
- "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|'
- let res = []
- let l = len(a:al)-1
- for r in s:choices
- if l==-1 || r[0 : l]==a:al
- let res += [r]
- endif
- endfor
- return res
-endfunction
-
-" CamelCase shorthand matching:
-" favour upper-case letters and module qualifier separators (.) for disambiguation
-function! CamelCase(shorthand,string)
- let s1 = a:shorthand
- let s2 = a:string
- let notFirst = 0 " don't elide before first pattern letter
- while ((s1!="")&&(s2!=""))
- let head1 = s1[0]
- let head2 = s2[0]
- let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]'))
- \ ||((head1=='.') && (head2!='.')) )
- if elide
- let s2=s2[1:]
- elseif (head1==head2)
- let s1=s1[1:]
- let s2=s2[1:]
- else
- return 0
- endif
- let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings
- endwhile
- return (s1=="")
-endfunction
-
-" use haddock name index for insert mode completion (CTRL-X CTRL-U)
-function! CompleteHaddock(findstart, base)
- if a:findstart
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$'
- call HaveIndex()
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if (key[0 : l]==a:base)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if word[0 : l]==a:base
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- if res==[] " no prefix matches, try CamelCase shortcuts
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if CamelCase(a:base,key)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if CamelCase(a:base,word)
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- endif
- return res
- endif
-endfunction
-set completefunc=CompleteHaddock
-set completeopt=menu,menuone,longest
-
-" fully qualify an unqualified name
-" TODO: - standardise commandline versions of menus
-map <LocalLeader>. :call Qualify()<cr>
-function! Qualify()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- if qual!='' " TODO: should we support re-qualification?
- redraw
- echo 'already qualified'
- return 0
- endif
- let name = unqual
- let line = line('.')
- let prefix = (start<=1 ? '' : getline(line)[0:start-2] )
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- let imports = haskellmode#GatherImports()
- let qualifiedImports = []
- for qualifiedImport in keys(imports[1])
- let c=0
- for module in imports[1][qualifiedImport]['modules']
- if haskellmode#ListElem(keylist,module) | let c+=1 | endif
- endfor
- if c>0 | let qualifiedImports=[qualifiedImport]+qualifiedImports | endif
- endfor
- "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let keylist = filter(copy(keylist),'index(qualifiedImports,v:val)==-1')
- if has("gui_running")
- " amenu ]Popup.-imported- :
- for key in qualifiedImports
- let lhs=escape(prefix.name,'/.|\')
- let rhs=escape(prefix.key.'.'.name,'/&|\')
- exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>'
- endfor
- amenu ]Popup.-not\ imported- :
- for key in keylist
- let lhs=escape(prefix.name,'/.|\')
- let rhs=escape(prefix.key.'.'.name,'/&|\')
- exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = qualifiedImports+keylist
- let key = input('qualify '.name.' with: ','','customlist,CompleteAux')
- if key!=''
- let lhs=escape(prefix.name,'/.\')
- let rhs=escape(prefix.key.'.'.name,'/&\')
- exe line.'s/'.lhs.'/'.rhs.'/'
- noh
- endif
- endif
-endfunction
-
-" create (qualified) import for a (qualified) name
-" TODO: refine search patterns, to avoid misinterpretation of
-" oddities like import'Neither or not'module
-map <LocalLeader>i :call Import(0,0)<cr>
-map <LocalLeader>im :call Import(1,0)<cr>
-map <LocalLeader>iq :call Import(0,1)<cr>
-map <LocalLeader>iqm :call Import(1,1)<cr>
-function! Import(module,qualified)
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let name = unqual
- let pname = ( symb ? '('.name.')' : name )
- let importlist = a:module ? '' : '('.pname.')'
- let qualified = a:qualified ? 'qualified ' : ''
-
- if qual!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')'
- return
- endif
-
- let line = line('.')
- let prefix = getline(line)[0:start-1]
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- if has("gui_running")
- for key in keylist
- " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>'
- exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = keylist
- let key = input('import '.name.' from: ','','customlist,CompleteAux')
- if key!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')'
- endif
- endif
-endfunction
-
-function! HaddockIndexLookup(name)
- call HaveIndex()
- if !has_key(g:haddock_index,a:name)
- echoerr a:name 'not found in haddock index'
- return {}
- endif
- return g:haddock_index[a:name]
-endfunction
-
-" copied from ghc.vim :-( should we move everything to using autoload instead?
-" we query the ghc version here, as we don't otherwise need it..
-function! GHC_VersionGE(target)
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>target[0]))
- return 1
- elseif (i==target[0])
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
diff --git a/.vim/ftplugin/haskell_hpaste.vim b/.vim/ftplugin/haskell_hpaste.vim
deleted file mode 100644
index 33ea0bd..0000000
--- a/.vim/ftplugin/haskell_hpaste.vim
+++ /dev/null
@@ -1,79 +0,0 @@
-" rudimentary hpaste support for vim
-" (using netrw for reading, wget for posting/annotating)
-"
-" claus reinke, last modified: 07/04/2009
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-
-" unless wget is in your PATH, you need to set g:wget
-" before loading this script. windows users are out of
-" luck, unless they have wget installed (such as the
-" cygwin one looked for here), or adapt this script to
-" whatever alternative they have at hand (perhaps using
-" vim's perl/python bindings?)
-if !exists("g:wget")
- if executable("wget")
- let g:wget = "!wget -q"
- else
- let g:wget = "!c:\\cygwin\\bin\\wget -q"
- endif
-endif
-
-" read (recent) hpaste files
-" show index in new buffer, where ,r will open current entry
-" and ,p will annotate current entry with current buffer
-command! HpasteIndex call HpasteIndex()
-function! HpasteIndex()
- new
- read http://hpaste.org
- %s/\_$\_.//g
- %s/<tr[^>]*>//g
- %s/<\/tr>/ /g
- g/<\/table>/d
- g/DOCTYPE/d
- %s/<td>\([^<]*\)<\/td><td><a href="\/fastcgi\/hpaste\.fcgi\/view?id=\([0-9]*\)">\([^<]*\)<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\2 [\1] "\3" \4 \5 \6/
- map <buffer> ,r 0yE:noh<cr>:call HpasteEditEntry('"')<cr>
-endfunction
-
-" load an existing entry for editing
-command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>)
-function! HpasteEditEntry(entry)
- new
- exe 'Nread http://hpaste.org/fastcgi/hpaste.fcgi/raw?id='.a:entry
- "exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>'
-endfunction
-
-" " posting temporarily disabled -- needs someone to look into new
-" " hpaste.org structure
-
-" " annotate existing entry (only to be called via ,p in HpasteIndex)
-" function! HpasteAnnotate(entry)
-" let nick = input("nick? ")
-" let title = input("title? ")
-" if nick=='' || title==''
-" echo "nick or title missing. aborting annotation"
-" return
-" endif
-" call HpastePost('annotate/'.a:entry,nick,title)
-" endfunction
-"
-" " post new hpaste entry
-" " using 'wget --post-data' and url-encoded content
-" command! HpastePostNew call HpastePost('new',<args>)
-" function! HpastePost(mode,nick,title,...)
-" let lines = getbufline("%",1,"$")
-" let pat = '\([^[:alnum:]]\)'
-" let code = '\=printf("%%%02X",char2nr(submatch(1)))'
-" let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')')
-"
-" let url = 'http://hpaste.org/' . a:mode
-" let nick = substitute(a:nick,pat,code,'g')
-" let title = substitute(a:title,pat,code,'g')
-" if a:0==0
-" let announce = 'false'
-" else
-" let announce = a:1
-" endif
-" let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url
-" exe escape(cmd,'%')
-" endfunction
diff --git a/.vim/ftplugin/latex-suite/bibtex.vim b/.vim/ftplugin/latex-suite/bibtex.vim
deleted file mode 100644
index 8037914..0000000
--- a/.vim/ftplugin/latex-suite/bibtex.vim
+++ /dev/null
@@ -1,266 +0,0 @@
-"=============================================================================
-" File: bibtex.vim
-" Function: BibT
-" Author: Alan G Isaac <aisaac@american.edu>
-" modified by Srinath Avadhanula for latex-suite.
-" License: Vim Charityware license.
-" CVS: $Id: bibtex.vim 997 2006-03-20 09:45:45Z srinathava $
-"=============================================================================
-
-" Fields:
-" Define what field type each letter denotes {{{
-"
-let s:w_standsfor = 'address'
-let s:a_standsfor = 'author'
-let s:b_standsfor = 'booktitle'
-let s:c_standsfor = 'chapter'
-let s:d_standsfor = 'edition'
-let s:e_standsfor = 'editor'
-let s:h_standsfor = 'howpublished'
-let s:i_standsfor = 'institution'
-let s:k_standsfor = 'isbn'
-let s:j_standsfor = 'journal'
-let s:m_standsfor = 'month'
-let s:n_standsfor = 'number'
-let s:o_standsfor = 'organization'
-let s:p_standsfor = 'pages'
-let s:q_standsfor = 'publisher'
-let s:r_standsfor = 'school'
-let s:s_standsfor = 'series'
-let s:t_standsfor = 'title'
-let s:u_standsfor = 'type'
-let s:v_standsfor = 'volume'
-let s:y_standsfor = 'year'
-let s:z_standsfor = 'note'
-
-" }}}
-" Define the fields required for the various entry types {{{
-"
-" s:{type}_required defines the required fields
-" s:{type}_optional1 defines common optional fields
-" s:{type}_optional2 defines uncommmon optional fields
-" s:{type}_retval defines the first line of the formatted bib entry.
-"
-let s:key='<+key+>'
-
-let s:{'article'}_required="atjy"
-let s:{'article'}_optional1="vnpm"
-let s:{'article'}_optional2="z" " z is note
-let s:{'article'}_retval = '@ARTICLE{' . s:key . ','."\n"
-
-let s:{'book'}_required="aetqy" " requires author *or* editor
-let s:{'book'}_optional1="wd"
-let s:{'book'}_optional2="vnsmz" " w is address, d is edition
-let s:{'book'}_extras="k" " isbn
-let s:{'book'}_retval = '@BOOK{' . s:key . ','."\n"
-
-let s:{'booklet'}_required="t"
-let s:{'booklet'}_optional1="ahy"
-let s:{'booklet'}_optional2="wmz" " w is address
-let s:{'booklet'}_retval = '@BOOKLET{' . s:key . ','."\n"
-
-let s:{'inbook'}_required="aetcpqy"
-let s:{'inbook'}_optional1="w" " w is address
-let s:{'inbook'}_optional2="vnsudmz" " d is edition
-let s:{'inbook'}_extras="k" " isbn
-let s:{'inbook'}_retval = '@INBOOK{' . s:key . ','."\n"
-
-let s:{'incollection'}_required="atbqy" " b is booktitle
-let s:{'incollection'}_optional1="cpw" " w is address, c is chapter
-let s:{'incollection'}_optional2="evnsudmz" " d is edition
-let s:{'incollection'}_extras="k" " isbn
-let s:{'incollection'}_retval = '@INCOLLECTION{' . s:key . ','."\n"
-
-let s:{'inproceedings'}_required="atby" " b is booktitle
-let s:{'inproceedings'}_optional1="epwoq" " w is address, q is publisher
-let s:{'inproceedings'}_optional2="vnsmz"
-let s:{'inproceedings'}_extras="k" " isbn
-let s:{'inproceedings'}_retval = '@INPROCEEDINGS{' . s:key . ','."\n"
-
-let s:{'conference'}_required="atby" " b is booktitle
-let s:{'conference'}_optional1="epwoq" " w is address, q is publisher
-let s:{'conference'}_optional2="vnsmz"
-let s:{'conference'}_extras="k" " isbn
-let s:{'conference'}_retval = '@CONFERENCE{' . s:key . ','."\n"
-
-let s:{'manual'}_required="t"
-let s:{'manual'}_optional1="ow"
-let s:{'manual'}_optional2="admyz" " w is address
-let s:{'manual'}_retval = '@MANUAL{' . s:key . ','."\n"
-
-let s:{'msthesis'}_required="atry" " r is school
-let s:{'msthesis'}_optional1="w" " w is address
-let s:{'msthesis'}_optional2="umz" " u is type, w is address
-let s:{'msthesis'}_retval = '@MASTERSTHESIS{' . s:key . ','."\n"
-
-let s:{'misc'}_required=""
-let s:{'misc'}_optional1="ath"
-let s:{'misc'}_optional2="myz"
-let s:{'misc'}_retval = '@MISC{' . s:key . ','."\n"
-
-let s:{'phdthesis'}_required="atry" " r is school
-let s:{'phdthesis'}_optional1="w" " w is address
-let s:{'phdthesis'}_optional2="umz" " u is type
-let s:{'phdthesis'}_retval = '@PHDTHESIS{' . s:key . ','."\n"
-
-let s:{'proceedings'}_required="ty"
-let s:{'proceedings'}_optional1="ewo" " w is address
-let s:{'proceedings'}_optional2="vnsmqz" " q is publisher
-let s:{'proceedings'}_retval = '@PROCEEDINGS{' . s:key . ','."\n"
-
-let s:{'techreport'}_required="atiy"
-let s:{'techreport'}_optional1="unw" " u is type, w is address
-let s:{'techreport'}_optional2="mz"
-let s:{'techreport'}_retval = '@TECHREPORT{' . s:key . ','."\n"
-
-let s:{'unpublished'}_required="atz"
-let s:{'unpublished'}_optional1="y"
-let s:{'unpublished'}_optional2="m"
-let s:{'unpublished'}_retval = '@UNPUBLISHED{' . s:key . ','."\n"
-
-" }}}
-
-if exists('s:done')
- finish
-endif
-let s:done = 1
-
-call IMAP ('BBB', "\<C-r>=BibT('', '', 0)\<CR>", 'bib')
-call IMAP ('BBL', "\<C-r>=BibT('', 'o', 0)\<CR>", 'bib')
-call IMAP ('BBH', "\<C-r>=BibT('', 'O', 0)\<CR>", 'bib')
-call IMAP ('BBX', "\<C-r>=BibT('', 'Ox', 0)\<CR>", 'bib')
-
-" BibT: function to generate a formatted bibtex entry {{{
-" three sample usages:
-" :call BibT() will request type choice
-" :call BibT("article") preferred, provides most common fields
-" :call BibT("article","ox") more optional fields (o) and extras (x)
-"
-" Input Arguments:
-" type: is one of the types listed above. (this should be a complete name, not
-" the acronym).
-" options: a string containing 0 or more of the letters 'oOx'
-" where
-" o: include a bib entry with first set of options
-" O: include a bib entry with extended options
-" x: incude bib entry with extra options
-" prompt: whether the fields are asked to be filled on the command prompt or
-" whether place-holders are used. when prompt == 1, then comman line
-" questions are used.
-"
-" Returns:
-" a string containing a formatted bib entry
-function BibT(type, options, prompt)
- if a:type != ''
- let choosetype = a:type
- else
- let types =
- \ 'article'."\n".
- \ 'booklet'."\n".
- \ 'book'."\n".
- \ 'conference'."\n".
- \ 'inbook'."\n".
- \ 'incollection'."\n".
- \ 'inproceedings'."\n".
- \ 'manual'."\n".
- \ 'msthesis'."\n".
- \ 'misc'."\n".
- \ 'phdthesis'."\n".
- \ 'proceedings'."\n".
- \ 'techreport'."\n".
- \ 'unpublished'
- let choosetype = Tex_ChooseFromPrompt(
- \ "Choose the type of bibliographic entry: \n" .
- \ Tex_CreatePrompt(types, 3, "\n") .
- \ "\nEnter number or filename :",
- \ types, "\n")
- if choosetype == ''
- let choosetype = 'article'
- endif
- if types !~ '^\|\n'.choosetype.'$\|\n'
- echomsg 'Please choose only one of the given types'
- return
- endif
- endif
- if a:options != ''
- let options = a:options
- else
- let options = ""
- endif
-
- let fields = ''
- let extras=""
- let retval = ""
-
- " define fields
- let fields = s:{choosetype}_required
- if options =~ 'o' && exists('s:'.choosetype.'_optional1')
- let fields = fields . s:{choosetype}_optional1
- endif
- if options =~ "O" && exists('s:'.choosetype.'_optional2')
- if options !~ 'o'&& exists('s:'.choosetype.'_optional1')
- let fields = fields . s:{choosetype}_optional1
- endif
- let fields = fields . s:{choosetype}_optional2
- endif
- if options =~ "x" && exists('s:'.choosetype.'_extras')
- let fields = fields . extras
- endif
- if exists('g:Bib_'.choosetype.'_options')
- let fields = fields . g:Bib_{choosetype}_options
- endif
-
- let retval = s:{choosetype}_retval
-
- let i = 0
- while i < strlen(fields)
- let field = strpart(fields, i, 1)
-
- if exists('s:'.field.'_standsfor')
- let field_name = s:{field}_standsfor
- let retval = retval.field_name." = {<++>},\n"
- endif
-
- let i = i + 1
- endwhile
-
- " If the user wants even more fine-tuning...
- if Tex_GetVarValue('Bib_'.choosetype.'_extrafields') != ''
-
- let extrafields = Tex_GetVarValue('Bib_'.choosetype.'_extrafields')
-
- let i = 1
- while 1
- let field_name = Tex_Strntok(extrafields, "\n", i)
- if field_name == ''
- break
- endif
-
- let retval = retval.field_name." = {<++>},\n"
-
- let i = i + 1
- endwhile
-
- endif
-
- let retval = retval.'otherinfo = {<++>}'."\n"
- let retval = retval."}<++>"."\n"
-
- return IMAP_PutTextWithMovement(retval)
-endfunction
-
-" }}}
-function! s:Input(prompt, ask) " {{{
- if a:ask == 1
- let retval = input(a:prompt)
- if retval == ''
- return "<++>"
- endif
- else
- return "<++>"
- endif
-endfunction
-
-" }}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/bibtools.py b/.vim/ftplugin/latex-suite/bibtools.py
deleted file mode 100644
index 0a5366c..0000000
--- a/.vim/ftplugin/latex-suite/bibtools.py
+++ /dev/null
@@ -1,221 +0,0 @@
-# Author: Srinath Avadhanula
-# This file is distributed as part of the vim-latex project
-# http://vim-latex.sf.net
-
-import re
-
-class Bibliography(dict):
- def __init__(self, txt, macros={}):
- """
- txt:
- a string which represents the entire bibtex entry. A typical
- entry is of the form:
- @ARTICLE{ellington:84:part3,
- author = {Ellington, C P},
- title = {The Aerodynamics of Hovering Insect Flight. III. Kinematics},
- journal = {Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences},
- year = {1984},
- volume = {305},
- pages = {41-78},
- number = {1122},
- owner = {Srinath},
- pdf = {C:\srinath\research\papers\Ellington-3-Kinematics.pdf},
- timestamp = {2006.01.02},
- }
- """
-
- if macros:
- for k, v in macros.iteritems():
- txt = txt.replace(k, '{'+v+'}')
-
- m = re.match(r'\s*@(\w+){((\S+),)?(.*)}\s*', txt, re.MULTILINE | re.DOTALL)
- if not m:
- return None
-
- self['bibtype'] = m.group(1).capitalize()
- self['key'] = m.group(3)
- self['body'] = m.group(4)
-
- body = self['body']
- self['bodytext'] = ''
- while 1:
- m = re.search(r'(\S+?)\s*=\s*(.)', body)
- if not m:
- break
-
- field = m.group(1)
-
- body = body[(m.start(2)+1):]
- if m.group(2) == '{':
- # search for the next closing brace. This is not simply a
- # matter of searching for the next closing brace since
- # braces can be nested. The following code basically goes
- # to the next } which has not already been closed by a
- # following {.
- mniter = re.finditer(r'{|}', body)
-
- count = 1
- while 1:
- try:
- mn = mniter.next()
- except StopIteration:
- return None
-
- if mn.group(0) == '{':
- count += 1
- else:
- count -= 1
-
- if count == 0:
- value = body[:(mn.start(0))]
- break
-
- elif m.group(2) == '"':
- # search for the next unquoted double-quote. To be more
- # precise, a double quote which is preceded by an even
- # number of double quotes.
- mn = re.search(r'(?!\\)(\\\\)*"', body)
- if not mn:
- return None
-
- value = body[:(mn.start(0))]
-
- else:
- # $ always matches. So we do not need to do any
- # error-checking.
- mn = re.search(r',|$', body)
- value = m.group(2) + body[:(mn.start(0))].rstrip()
-
- self[field] = re.sub(r'\s+', ' ', value)
- body = body[(mn.start(0)+1):]
-
- self['bodytext'] += (' %s: %s\n' % (field, value))
- if self['bibtype'].lower() == 'string':
- self['macro'] = {field: value}
-
- self['bodytext'] = self['bodytext'].rstrip()
-
-
- def __getitem__(self, key):
- try:
- return dict.__getitem__(self, key)
- except KeyError:
- return ''
-
- def __str__(self):
- if self['bibtype'].lower() == 'string':
- return 'String: %(macro)s' % self
-
- elif self['bibtype'].lower() == 'article':
- return ('Article [%(key)s]\n' +
- 'TI "%(title)s"\n' +
- 'AU %(author)s\n' +
- 'IN In %(journal)s, %(year)s') % self
-
- elif self['bibtype'].lower() == 'conference':
- return ('Conference [%(key)s]\n' +
- 'TI "%(title)s"\n' +
- 'AU %(author)s\n' +
- 'IN In %(booktitle)s, %(year)s') % self
-
- elif self['bibtype'].lower() == 'mastersthesis':
- return ('Masters [%(key)s]\n' +
- 'TI "%(title)s"\n' +
- 'AU %(author)s\n' +
- 'IN In %(school)s, %(year)s') % self
-
- elif self['bibtype'].lower() == 'phdthesis':
- return ('PhD [%(key)s]\n' +
- 'TI "%(title)s"\n' +
- 'AU %(author)s\n' +
- 'IN In %(school)s, %(year)s') % self
-
- elif self['bibtype'].lower() == 'book':
- return ('Book [%(key)s]\n' +
- 'TI "%(title)s"\n' +
- 'AU %(author)s\n' +
- 'IN %(publisher)s, %(year)s') % self
-
- else:
- s = '%(bibtype)s [%(key)s]\n' % self
- if self['title']:
- s += 'TI "%(title)s"\n' % self
- if self['author']:
- s += 'AU %(author)s\n' % self
- for k, v in self.iteritems():
- if k not in ['title', 'author', 'bibtype', 'key', 'id', 'file', 'body', 'bodytext']:
- s += 'MI %s: %s\n' % (k, v)
-
- return s.rstrip()
-
- def satisfies(self, filters):
- for field, regexp in filters:
- if not re.search(regexp, self[field], re.I):
- return False
-
- return True
-
-class BibFile:
-
- def __init__(self, filelist=''):
- self.bibentries = []
- self.filters = []
- self.macros = {}
- self.sortfields = []
- if filelist:
- for f in filelist.splitlines():
- self.addfile(f)
-
- def addfile(self, file):
- fields = open(file).read().split('@')
- for f in fields:
- if not (f and re.match('string', f, re.I)):
- continue
-
- b = Bibliography('@' + f)
- self.macros.update(b['macro'])
-
- for f in fields:
- if not f or re.match('string', f, re.I):
- continue
-
- b = Bibliography('@' + f, self.macros)
- if b:
- b['file'] = file
- b['id'] = len(self.bibentries)
- self.bibentries += [b]
-
-
- def addfilter(self, filterspec):
- self.filters += [filterspec.split()]
-
- def rmfilters(self):
- self.filters = []
-
- def __str__(self):
- s = ''
- for b in self.bibentries:
- if b['key'] and b.satisfies(self.filters):
- s += '%s\n\n' % b
- return s
-
- def addsortfield(self, field):
- self.sortfields += [field]
-
- def rmsortfields(self):
- self.sortfields = []
-
- def sort(self):
- def cmpfun(b1, b2):
- for f in self.sortfields:
- c = cmp(b1[f], b2[f])
- if c:
- return c
- return 0
- self.bibentries.sort(cmp=cmpfun)
-
-if __name__ == "__main__":
- import sys
-
- bf = BibFile(sys.argv[1])
- print bf
diff --git a/.vim/ftplugin/latex-suite/bibtools.pyc b/.vim/ftplugin/latex-suite/bibtools.pyc
deleted file mode 100644
index c79961f..0000000
--- a/.vim/ftplugin/latex-suite/bibtools.pyc
+++ /dev/null
Binary files differ
diff --git a/.vim/ftplugin/latex-suite/brackets.vim b/.vim/ftplugin/latex-suite/brackets.vim
deleted file mode 100644
index 0669ce4..0000000
--- a/.vim/ftplugin/latex-suite/brackets.vim
+++ /dev/null
@@ -1,145 +0,0 @@
-" ==============================================================================
-" History: This was originally part of auctex.vim by Carl Mueller.
-" Srinath Avadhanula incorporated it into latex-suite with
-" significant modifications.
-" Parts of this file may be copyrighted by others as noted.
-" CVS: $Id: brackets.vim 997 2006-03-20 09:45:45Z srinathava $
-" Description:
-" This ftplugin provides the following maps:
-" . <M-b> encloses the previous character in \mathbf{}
-" . <M-c> is polymorphic as follows:
-" Insert mode:
-" 1. If the previous character is a letter or number, then capitalize it and
-" enclose it in \mathcal{}
-" 2. otherwise insert \cite{}
-" Visual Mode:
-" 1. Enclose selection in \mathcal{}
-" . <M-l> is also polymorphic as follows:
-" If the character before typing <M-l> is one of '([{|<q', then do the
-" following:
-" 1. (<M-l> \left(\right
-" similarly for [, |
-" {<M-l> \left\{\right\}
-" 2. <<M-l> \langle\rangle
-" 3. q<M-l> \lefteqn{}
-" otherwise insert \label{}
-" . <M-i> inserts \item commands at the current cursor location depending on
-" the surrounding environment. For example, inside itemize, it will
-" insert a simple \item, but within a description, it will insert
-" \item[<+label+>] etc.
-"
-" These functions make it extremeley easy to do all the \left \right stuff in
-" latex.
-" ==============================================================================
-
-" Avoid reinclusion.
-if exists('b:did_brackets')
- finish
-endif
-let b:did_brackets = 1
-
-" define the funtions only once.
-if exists('*Tex_MathBF')
- finish
-endif
-
-" Tex_MathBF: encloses te previous letter/number in \mathbf{} {{{
-" Description:
-function! Tex_MathBF()
- return "\<Left>\\mathbf{\<Right>}"
-endfunction " }}}
-" Tex_MathCal: enclose the previous letter/number in \mathcal {{{
-" Description:
-" if the last character is not a letter/number, then insert \cite{}
-function! Tex_MathCal()
- let line = getline(line("."))
- let char = line[col(".")-2]
-
- if char =~ '[a-zA-Z0-9]'
- return "\<BS>".'\mathcal{'.toupper(char).'}'
- else
- return IMAP_PutTextWithMovement('\cite{<++>}<++>')
- endif
-endfunction
-" }}}
-" Tex_LeftRight: maps <M-l> in insert mode. {{{
-" Description:
-" This is a polymorphic function, which maps the behaviour of <M-l> in the
-" following way:
-" If the character before typing <M-l> is one of '([{|<q', then do the
-" following:
-" 1. (<M-l> \left(<++>\right<++>
-" similarly for [, |
-" {<M-l> \left\{<++>\right\}<++>
-" 2. <<M-l> \langle<++>\rangle<++>
-" 3. q<M-l> \lefteqn{<++>}<++>
-" otherwise insert \label{<++>}<++>
-function! Tex_LeftRight()
- let line = getline(line("."))
- let char = line[col(".")-2]
- let previous = line[col(".")-3]
-
- let matchedbrackets = '()[]{}||'
- if char =~ '(\|\[\|{\||'
- let add = ''
- if char =~ '{'
- let add = "\\"
- endif
- let rhs = matchstr(matchedbrackets, char.'\zs.\ze')
- return "\<BS>".IMAP_PutTextWithMovement('\left'.add.char.'<++>\right'.add.rhs.'<++>')
- elseif char == '<'
- return "\<BS>".IMAP_PutTextWithMovement('langle<++>\rangle<++>')
- elseif char == 'q'
- return "\<BS>".IMAP_PutTextWithMovement('\lefteqn{<++>}<++>')
- else
- return IMAP_PutTextWithMovement('\label{<++>}<++>')
- endif
-endfunction " }}}
-" Tex_PutLeftRight: maps <M-l> in normal mode {{{
-" Description:
-" Put \left...\right in front of the matched brackets.
-function! Tex_PutLeftRight()
- let previous = getline(line("."))[col(".") - 2]
- let char = getline(line("."))[col(".") - 1]
- if previous == '\'
- if char == '{'
- exe "normal ileft\\\<Esc>l%iright\\\<Esc>l%"
- elseif char == '}'
- exe "normal iright\\\<Esc>l%ileft\\\<Esc>l%"
- endif
- elseif char =~ '\[\|('
- exe "normal i\\left\<Esc>l%i\\right\<Esc>l%"
- elseif char =~ '\]\|)'
- exe "normal i\\right\<Esc>l%i\\left\<Esc>l%"
- endif
-endfunction " }}}
-
-" Provide <plug>'d mapping for easy user customization. {{{
-inoremap <silent> <Plug>Tex_MathBF <C-r>=Tex_MathBF()<CR>
-inoremap <silent> <Plug>Tex_MathCal <C-r>=Tex_MathCal()<CR>
-inoremap <silent> <Plug>Tex_LeftRight <C-r>=Tex_LeftRight()<CR>
-vnoremap <silent> <Plug>Tex_MathBF <C-C>`>a}<Esc>`<i\mathbf{<Esc>
-vnoremap <silent> <Plug>Tex_MathCal <C-C>`>a}<Esc>`<i\mathcal{<Esc>
-nnoremap <silent> <Plug>Tex_LeftRight :call Tex_PutLeftRight()<CR>
-
-" }}}
-" Tex_SetBracketingMaps: create mappings for the current buffer {{{
-function! <SID>Tex_SetBracketingMaps()
-
- call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'i', '<buffer> <silent>')
- call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'i', '<buffer> <silent>')
- call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'i', '<buffer> <silent>')
- call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'v', '<buffer> <silent>')
- call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'v', '<buffer> <silent>')
- call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'n', '<buffer> <silent>')
-
-endfunction
-" }}}
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('brackets.vim: Catching LatexSuiteFileType event', 'brak') |
- \ call <SID>Tex_SetBracketingMaps()
-augroup END
-
-" vim:fdm=marker
diff --git a/.vim/ftplugin/latex-suite/compiler.vim b/.vim/ftplugin/latex-suite/compiler.vim
deleted file mode 100644
index 245f6cd..0000000
--- a/.vim/ftplugin/latex-suite/compiler.vim
+++ /dev/null
@@ -1,820 +0,0 @@
-"=============================================================================
-" File: compiler.vim
-" Author: Srinath Avadhanula
-" Created: Tue Apr 23 05:00 PM 2002 PST
-"
-" Description: functions for compiling/viewing/searching latex documents
-" CVS: $Id: compiler.vim 997 2006-03-20 09:45:45Z srinathava $
-"=============================================================================
-
-" Tex_SetTeXCompilerTarget: sets the 'target' for the next call to Tex_RunLaTeX() {{{
-function! Tex_SetTeXCompilerTarget(type, target)
- call Tex_Debug("+Tex_SetTeXCompilerTarget: setting target to [".a:target."] for ".a:type."r", "comp")
-
- if a:target == ''
- let target = Tex_GetVarValue('Tex_DefaultTargetFormat')
- let target = input('Enter the target format for '.a:type.'r: ', target)
- else
- let target = a:target
- endif
- if target == ''
- let target = 'dvi'
- endif
-
- let targetRule = Tex_GetVarValue('Tex_'.a:type.'Rule_'.target)
-
- if targetRule != ''
- if a:type == 'Compile'
- let &l:makeprg = escape(targetRule, Tex_GetVarValue('Tex_EscapeChars'))
- elseif a:type == 'View'
- let s:viewer = targetRule
- endif
- let s:target = target
-
- elseif Tex_GetVarValue('Tex_'.a:type.'RuleComplete_'.target) != ''
- let s:target = target
-
- else
- let curd = getcwd()
- exe 'cd '.expand('%:p:h')
- if !Tex_GetVarValue('Tex_UseMakefile') || (glob('makefile*') == '' && glob('Makefile*') == '')
- if has('gui_running')
- call confirm(
- \'No '.a:type.' rule defined for target '.target."\n".
- \'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n".
- \' :help Tex_'.a:type.'Rule_format'."\n".
- \'for more information',
- \"&ok", 1, 'Warning')
- else
- call input(
- \'No '.a:type.' rule defined for target '.target."\n".
- \'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n".
- \' :help Tex_'.a:type.'Rule_format'."\n".
- \'for more information'
- \)
- endif
- else
- echomsg 'Assuming target is for makefile'
- let s:target = target
- endif
- exe 'cd '.curd
- endif
-endfunction
-
-function! SetTeXTarget(...)
- if a:0 < 1
- let target = Tex_GetVarValue('Tex_DefaultTargetFormat')
- let target = input('Enter the target format for compiler and viewer: ', target)
- else
- let target = a:1
- endif
- if target == ''
- let target = 'dvi'
- endif
-
- call Tex_SetTeXCompilerTarget('Compile', target)
- call Tex_SetTeXCompilerTarget('View', target)
-endfunction
-
-com! -nargs=1 TCTarget :call Tex_SetTeXCompilerTarget('Compile', <f-args>)
-com! -nargs=1 TVTarget :call Tex_SetTeXCompilerTarget('View', <f-args>)
-com! -nargs=? TTarget :call SetTeXTarget(<f-args>)
-
-" }}}
-" Tex_CompileLatex: compiles the present file. {{{
-" Description:
-function! Tex_CompileLatex()
- if &ft != 'tex'
- echo "calling Tex_RunLaTeX from a non-tex file"
- return
- end
-
- " close any preview windows left open.
- pclose!
-
- let curd = getcwd()
-
- " Find the main file corresponding to this file. Always cd to the
- " directory containing the file to avoid problems with the directory
- " containing spaces.
- " Latex on linux seems to be unable to handle file names with spaces at
- " all! Therefore for the moment, do not attempt to handle spaces in the
- " file name.
- if exists('b:fragmentFile')
- let mainfname = expand('%:p:t')
- call Tex_CD(expand('%:p:h'))
- else
- let mainfname = Tex_GetMainFileName(':p:t')
- call Tex_CD(Tex_GetMainFileName(':p:h'))
- end
-
- call Tex_Debug('Tex_CompileLatex: getting mainfname = ['.mainfname.'] from Tex_GetMainFileName', 'comp')
-
- " if a makefile exists and the user wants to use it, then use that
- " irrespective of whether *.latexmain exists or not. mainfname is still
- " extracted from *.latexmain (if possible) log file name depends on the
- " main file which will be compiled.
- if Tex_GetVarValue('Tex_UseMakefile') && (glob('makefile') != '' || glob('Makefile') != '')
- let _makeprg = &l:makeprg
- call Tex_Debug("Tex_CompileLatex: using the makefile in the current directory", "comp")
- let &l:makeprg = 'make $*'
- if exists('s:target')
- call Tex_Debug('Tex_CompileLatex: execing [make! '.s:target.']', 'comp')
- exec 'make! '.s:target
- else
- call Tex_Debug('Tex_CompileLatex: execing [make!]', 'comp')
- exec 'make!'
- endif
- let &l:makeprg = _makeprg
- else
- " If &makeprg has something like "$*.ps", it means that it wants the
- " file-name without the extension... Therefore remove it.
- if &makeprg =~ '\$\*\.\w\+'
- let mainfname = fnamemodify(mainfname, ':r')
- endif
- call Tex_Debug('Tex_CompileLatex: execing [make! '.mainfname.']', 'comp')
- exec 'make! '.mainfname
- endif
- redraw!
-
- call Tex_CD(curd)
-endfunction " }}}
-" Tex_RunLaTeX: compilation function {{{
-" this function runs the latex command on the currently open file. often times
-" the file being currently edited is only a fragment being \input'ed into some
-" master tex file. in this case, make a file called mainfile.latexmain in the
-" directory containig the file. in other words, if the current file is
-" ~/thesis/chapter.tex
-" so that doing "latex chapter.tex" doesnt make sense, then make a file called
-" main.tex.latexmain
-" in the ~/thesis directory. this will then run "latex main.tex" when
-" Tex_RunLaTeX() is called.
-function! Tex_RunLaTeX()
- call Tex_Debug('+Tex_RunLaTeX, b:fragmentFile = '.exists('b:fragmentFile'), 'comp')
-
- let dir = expand("%:p:h").'/'
- let curd = getcwd()
- call Tex_CD(expand("%:p:h"))
-
- let initTarget = s:target
-
- " first get the dependency chain of this format.
- call Tex_Debug("Tex_RunLaTeX: compiling to target [".s:target."]", "comp")
-
- if Tex_GetVarValue('Tex_FormatDependency_'.s:target) != ''
- let dependency = Tex_GetVarValue('Tex_FormatDependency_'.s:target)
- if dependency !~ ','.s:target.'$'
- let dependency = dependency.','.s:target
- endif
- else
- let dependency = s:target
- endif
-
- call Tex_Debug('Tex_RunLaTeX: getting dependency chain = ['.dependency.']', 'comp')
-
- " now compile to the final target format via each dependency.
- let i = 1
- while Tex_Strntok(dependency, ',', i) != ''
- let s:target = Tex_Strntok(dependency, ',', i)
-
- call Tex_SetTeXCompilerTarget('Compile', s:target)
- call Tex_Debug('Tex_RunLaTeX: setting target to '.s:target, 'comp')
-
- if Tex_GetVarValue('Tex_MultipleCompileFormats') =~ '\<'.s:target.'\>'
- call Tex_Debug("Tex_RunLaTeX: compiling file multiple times via Tex_CompileMultipleTimes", "comp")
- call Tex_CompileMultipleTimes()
- else
- call Tex_Debug("Tex_RunLaTeX: compiling file once via Tex_CompileLatex", "comp")
- call Tex_CompileLatex()
- endif
-
- let errlist = Tex_GetErrorList()
- call Tex_Debug("Tex_RunLaTeX: errlist = [".errlist."]", "comp")
-
- " If there are any errors, then break from the rest of the steps
- if errlist =~ '\v(error|warning)'
- call Tex_Debug('Tex_RunLaTeX: There were errors in compiling, breaking chain...', 'comp')
- break
- endif
-
- let i = i + 1
- endwhile
-
- let s:target = initTarget
- let s:origwinnum = winnr()
- call Tex_SetupErrorWindow()
-
- call Tex_CD(curd)
- call Tex_Debug("-Tex_RunLaTeX", "comp")
-endfunction
-
-" }}}
-" Tex_ViewLaTeX: opens viewer {{{
-" Description: opens the DVI viewer for the file being currently edited.
-" Again, if the current file is a \input in a master file, see text above
-" Tex_RunLaTeX() to see how to set this information.
-function! Tex_ViewLaTeX()
- if &ft != 'tex'
- echo "calling Tex_ViewLaTeX from a non-tex file"
- return
- end
-
- let curd = getcwd()
-
- " If b:fragmentFile is set, it means this file was compiled as a fragment
- " using Tex_PartCompile, which means that we want to ignore any
- " *.latexmain or makefile's.
- if !exists('b:fragmentFile')
- " cd to the location of the file to avoid having to deal with spaces
- " in the directory name.
- let mainfname = Tex_GetMainFileName(':p:t:r')
- call Tex_CD(Tex_GetMainFileName(':p:h'))
- else
- let mainfname = expand("%:p:t:r")
- call Tex_CD(expand("%:p:h"))
- endif
-
- if Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target) != ''
-
- let execString = Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target)
- let execString = substitute(execString, '{v:servername}', v:servername, 'g')
-
- elseif has('win32')
- " unfortunately, yap does not allow the specification of an external
- " editor from the command line. that would have really helped ensure
- " that this particular vim and yap are connected.
- let execString = 'start '.s:viewer.' "$*.'.s:target.'"'
-
- elseif has('macunix')
- if strlen(s:viewer)
- let s:viewer = '-a '.s:viewer
- endif
- let execString = 'open '.s:viewer.' $*.'.s:target
-
- else
- " taken from Dimitri Antoniou's tip on vim.sf.net (tip #225).
- " slight change to actually use the current servername instead of
- " hardcoding it as xdvi.
- " Using an option for specifying the editor in the command line
- " because that seems to not work on older bash'es.
- if s:target == 'dvi'
-
- if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
- \ v:servername != '' &&
- \ (s:viewer == "xdvi" || s:viewer == "xdvik")
-
- let execString = s:viewer.' -editor "gvim --servername '.v:servername.
- \ ' --remote-silent +\%l \%f" $*.dvi &'
-
- elseif Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
- \ s:viewer == "kdvi"
-
- let execString = 'kdvi --unique $*.dvi &'
-
- else
-
- let execString = s:viewer.' $*.dvi &'
-
- endif
-
- else
-
- let execString = s:viewer.' $*.'.s:target.' &'
-
- endif
- end
-
- let execString = substitute(execString, '\V$*', mainfname, 'g')
- call Tex_Debug("Tex_ViewLaTeX: execString = ".execString, "comp")
-
- exec 'silent! !'.execString
-
- if !has('gui_running')
- redraw!
- endif
-
- call Tex_CD(curd)
-endfunction
-
-" }}}
-" Tex_ForwardSearchLaTeX: searches for current location in dvi file. {{{
-" Description: if the DVI viewr is compatible, then take the viewer to that
-" position in the dvi file. see docs for Tex_RunLaTeX() to set a
-" master file if this is an \input'ed file.
-" Tip: With YAP on Windows, it is possible to do forward and inverse searches
-" on DVI files. to do forward search, you'll have to compile the file
-" with the --src-specials option. then set the following as the command
-" line in the 'view/options/inverse search' dialog box:
-" gvim --servername LATEX --remote-silent +%l "%f"
-" For inverse search, if you are reading this, then just pressing \ls
-" will work.
-function! Tex_ForwardSearchLaTeX()
- if &ft != 'tex'
- echo "calling Tex_ViewLaTeX from a non-tex file"
- return
- end
-
- " only know how to do forward search for yap on windows and xdvik (and
- " some newer versions of xdvi) on unices. Therefore forward searching will
- " automatically open the DVI viewer irrespective of what the user chose as
- " the default view format.
- if Tex_GetVarValue('Tex_ViewRule_dvi') == ''
- return
- endif
- let viewer = Tex_GetVarValue('Tex_ViewRule_dvi')
-
- let curd = getcwd()
-
- let mainfname = Tex_GetMainFileName(':t')
- let mainfnameRoot = fnamemodify(Tex_GetMainFileName(), ':t:r')
- " cd to the location of the file to avoid problems with directory name
- " containing spaces.
- call Tex_CD(Tex_GetMainFileName(':p:h'))
-
- " inverse search tips taken from Dimitri Antoniou's tip and Benji Fisher's
- " tips on vim.sf.net (vim.sf.net tip #225)
- if has('win32')
-
- let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot
-
- else
- if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
- \ exists('v:servername') &&
- \ (viewer == "xdvi" || viewer == "xdvik")
-
- let execString = 'silent! !'.viewer.' -name xdvi -sourceposition '.line('.').expand("%").
- \ ' -editor "gvim --servername '.v:servername.' --remote-silent +\%l \%f" '.
- \ mainfnameRoot.'.dvi &'
-
- elseif Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 && viewer == "kdvi"
-
- let execString = 'silent! !kdvi --unique file:'.mainfnameRoot.'.dvi\#src:'.line('.').expand("%").' &'
-
- else
-
- let execString = 'silent! !'.viewer.' -name xdvi -sourceposition '.line('.').expand("%").' '.mainfnameRoot.'.dvi &'
-
- endif
- end
-
- call Tex_Debug("Tex_ForwardSearchLaTeX: execString = ".execString, "comp")
- execute execString
- if !has('gui_running')
- redraw!
- endif
-
- call Tex_CD(curd)
-endfunction
-
-" }}}
-
-" ==============================================================================
-" Functions for compiling parts of a file.
-" ==============================================================================
-" Tex_PartCompile: compiles selected fragment {{{
-" Description: creates a temporary file from the selected fragment of text
-" prepending the preamble and \end{document} and then asks Tex_RunLaTeX() to
-" compile it.
-function! Tex_PartCompile() range
- call Tex_Debug('+Tex_PartCompile', 'comp')
- " Save position
- let pos = line('.').' | normal! '.virtcol('.').'|'
-
- " Get a temporary file in the same directory as the file from which
- " fragment is being extracted. This is to enable the use of relative path
- " names in the fragment.
- let tmpfile = Tex_GetTempName(expand('%:p:h'))
-
- " Remember all the temp files and for each temp file created, remember
- " where the temp file came from.
- let s:Tex_NumTempFiles = (exists('s:Tex_NumTempFiles') ? s:Tex_NumTempFiles + 1 : 1)
- let s:Tex_TempFiles = (exists('s:Tex_TempFiles') ? s:Tex_TempFiles : '')
- \ . tmpfile."\n"
- let s:Tex_TempFile_{s:Tex_NumTempFiles} = tmpfile
- " TODO: For a function Tex_RestoreFragment which restores a temp file to
- " its original location.
- let s:Tex_TempFileOrig_{s:Tex_NumTempFiles} = expand('%:p')
- let s:Tex_TempFileRange_{s:Tex_NumTempFiles} = a:firstline.','.a:lastline
-
- " Set up an autocmd to clean up the temp files when Vim exits.
- if Tex_GetVarValue('Tex_RemoveTempFiles')
- augroup RemoveTmpFiles
- au!
- au VimLeave * :call Tex_RemoveTempFiles()
- augroup END
- endif
-
- " If mainfile exists open it in tiny window and extract preamble there,
- " otherwise do it from current file
- let mainfile = Tex_GetMainFileName(":p")
- exe 'bot 1 split '.escape(mainfile, ' ')
- exe '1,/\s*\\begin{document}/w '.tmpfile
- wincmd q
-
- exe a:firstline.','.a:lastline."w! >> ".tmpfile
-
- " edit the temporary file
- exec 'drop '.tmpfile
-
- " append the \end{document} line.
- $ put ='\end{document}'
- w
-
- " set this as a fragment file.
- let b:fragmentFile = 1
-
- silent! call Tex_RunLaTeX()
-endfunction " }}}
-" Tex_RemoveTempFiles: cleans up temporary files created during part compilation {{{
-" Description: During part compilation, temporary files containing the
-" visually selected text are created. These files need to be
-" removed when Vim exits to avoid "file leakage".
-function! Tex_RemoveTempFiles()
- if !exists('s:Tex_NumTempFiles') || !Tex_GetVarValue('Tex_RemoveTempFiles')
- return
- endif
- let i = 1
- while i <= s:Tex_NumTempFiles
- let tmpfile = s:Tex_TempFile_{i}
- " Remove the tmp file and all other associated files such as the
- " .log files etc.
- call Tex_DeleteFile(fnamemodify(tmpfile, ':p:r').'.*')
- let i = i + 1
- endwhile
-endfunction " }}}
-
-" ==============================================================================
-" Compiling a file multiple times to resolve references/citations etc.
-" ==============================================================================
-" Tex_CompileMultipleTimes: The main function {{{
-" Description: compiles a file multiple times to get cross-references right.
-function! Tex_CompileMultipleTimes()
- " Just extract the root without any extension because we want to construct
- " the log file names etc from it.
- let curd = getcwd()
- let mainFileName_root = Tex_GetMainFileName(':p:t:r')
- call Tex_CD(Tex_GetMainFileName(':p:h'))
-
- " First ignore undefined references and the
- " "rerun to get cross-references right" message from
- " the compiler output.
- let origlevel = Tex_GetVarValue('Tex_IgnoreLevel')
- let origpats = Tex_GetVarValue('Tex_IgnoredWarnings')
-
- let g:Tex_IgnoredWarnings = g:Tex_IgnoredWarnings."\n"
- \ . 'Reference %.%# undefined'."\n"
- \ . 'Rerun to get cross-references right'
- TCLevel 1000
-
- let idxFileName = mainFileName_root.'.idx'
- let auxFileName = mainFileName_root.'.aux'
-
- let runCount = 0
- let needToRerun = 1
- while needToRerun == 1 && runCount < 5
- " assume we need to run only once.
- let needToRerun = 0
-
- let idxlinesBefore = Tex_CatFile(idxFileName)
- let auxlinesBefore = Tex_GetAuxFile(auxFileName)
-
- " first run latex.
- echomsg "latex run number : ".(runCount+1)
- call Tex_Debug("Tex_CompileMultipleTimes: latex run number : ".(runCount+1), "comp")
- silent! call Tex_CompileLatex()
-
- " If there are errors in any latex compilation step, immediately
- " return. For now, do not bother with warnings because those might go
- " away after compiling again or after bibtex is run etc.
- let errlist = Tex_GetErrorList()
- call Tex_Debug("Tex_CompileMultipleTimes: errors = [".errlist."]", "comp")
-
- if errlist =~ 'error'
- let g:Tex_IgnoredWarnings = origpats
- exec 'TCLevel '.origlevel
-
- return
- endif
-
- let idxlinesAfter = Tex_CatFile(idxFileName)
-
- " If .idx file changed, then run makeindex to generate the new .ind
- " file and remember to rerun latex.
- if runCount == 0 && glob(idxFileName) != '' && idxlinesBefore != idxlinesAfter
- echomsg "Running makeindex..."
- let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_MakeIndexFlavor')
- exec 'silent! make '.mainFileName_root
- let &mp = temp_mp
-
- let needToRerun = 1
- endif
-
- " The first time we see if we need to run bibtex and if the .bbl file
- " changes, we will rerun latex.
- if runCount == 0 && Tex_IsPresentInFile('\\bibdata', mainFileName_root.'.aux')
- let bibFileName = mainFileName_root.'.bbl'
-
- let biblinesBefore = Tex_CatFile(bibFileName)
-
- echomsg "Running '".Tex_GetVarValue('Tex_BibtexFlavor')."' ..."
- let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_BibtexFlavor')
- exec 'silent! make '.mainFileName_root
- let &mp = temp_mp
-
- let biblinesAfter = Tex_CatFile(bibFileName)
-
- " If the .bbl file changed after running bibtex, we need to
- " latex again.
- if biblinesAfter != biblinesBefore
- echomsg 'Need to rerun because bibliography file changed...'
- call Tex_Debug('Tex_CompileMultipleTimes: Need to rerun because bibliography file changed...', 'comp')
- let needToRerun = 1
- endif
- endif
-
- " check if latex asks us to rerun
- let auxlinesAfter = Tex_GetAuxFile(auxFileName)
- if auxlinesAfter != auxlinesBefore
- echomsg "Need to rerun because the AUX file changed..."
- call Tex_Debug("Tex_CompileMultipleTimes: Need to rerun to get cross-references right...", 'comp')
- let needToRerun = 1
- endif
-
- let runCount = runCount + 1
- endwhile
-
- call Tex_Debug("Tex_CompileMultipleTimes: Ran latex ".runCount." time(s)", "comp")
- echomsg "Ran latex ".runCount." time(s)"
-
- let g:Tex_IgnoredWarnings = origpats
- exec 'TCLevel '.origlevel
- " After all compiler calls are done, reparse the .log file for
- " errors/warnings to handle the situation where the clist might have been
- " emptied because of bibtex/makeindex being run as the last step.
- exec 'silent! cfile '.mainFileName_root.'.log'
-
- call Tex_CD(curd)
-endfunction " }}}
-" Tex_GetAuxFile: get the contents of the AUX file {{{
-" Description: get the contents of the AUX file recursively including any
-" @\input'ted AUX files.
-function! Tex_GetAuxFile(auxFile)
- if !filereadable(a:auxFile)
- return ''
- endif
-
- let auxContents = Tex_CatFile(a:auxFile)
- let pattern = '@\input{\(.\{-}\)}'
-
- let auxContents = substitute(auxContents, pattern, '\=Tex_GetAuxFile(submatch(1))', 'g')
-
- return auxContents
-endfunction " }}}
-
-" ==============================================================================
-" Helper functions for
-" . viewing the log file in preview mode.
-" . syncing the display between the quickfix window and preview window
-" . going to the correct line _and column_ number from from the quick fix
-" window.
-" ==============================================================================
-" Tex_SetupErrorWindow: sets up the cwindow and preview of the .log file {{{
-" Description:
-function! Tex_SetupErrorWindow()
- let mainfname = Tex_GetMainFileName()
-
- let winnum = winnr()
-
- " close the quickfix window before trying to open it again, otherwise
- " whether or not we end up in the quickfix window after the :cwindow
- " command is not fixed.
- cclose
- cwindow
- " create log file name from mainfname
- let mfnlog = fnamemodify(mainfname, ":t:r").'.log'
- call Tex_Debug('Tex_SetupErrorWindow: mfnlog = '.mfnlog, 'comp')
- " if we moved to a different window, then it means we had some errors.
- if winnum != winnr()
- if Tex_GetVarValue('Tex_ShowErrorContext')
- call Tex_UpdatePreviewWindow(mfnlog)
- exe 'nnoremap <buffer> <silent> j j:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
- exe 'nnoremap <buffer> <silent> k k:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
- exe 'nnoremap <buffer> <silent> <up> <up>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
- exe 'nnoremap <buffer> <silent> <down> <down>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
- endif
- exe 'nnoremap <buffer> <silent> <enter> :call Tex_GotoErrorLocation("'.mfnlog.'")<CR>'
-
- setlocal nowrap
-
- " resize the window to just fit in with the number of lines.
- exec ( line('$') < 4 ? line('$') : 4 ).' wincmd _'
- if Tex_GetVarValue('Tex_GotoError') == 1
- call Tex_GotoErrorLocation(mfnlog)
- else
- exec s:origwinnum.' wincmd w'
- endif
- endif
-
-endfunction " }}}
-" Tex_PositionPreviewWindow: positions the preview window correctly. {{{
-" Description:
-" The purpose of this function is to count the number of times an error
-" occurs on the same line. or in other words, if the current line is
-" something like |10 error|, then we want to count the number of
-" lines in the quickfix window before this line which also contain lines
-" like |10 error|.
-"
-function! Tex_PositionPreviewWindow(filename)
-
- if getline('.') !~ '|\d\+ \(error\|warning\)|'
- if !search('|\d\+ \(error\|warning\)|')
- call Tex_Debug("not finding error pattern anywhere in quickfix window :".bufname(bufnr('%')),
- \ 'comp')
- pclose!
- return
- endif
- endif
-
- " extract the error pattern (something like 'file.tex|10 error|') on the
- " current line.
- let errpat = matchstr(getline('.'), '^\f*|\d\+ \(error\|warning\)|\ze')
- let errfile = matchstr(getline('.'), '^\f*\ze|\d\+ \(error\|warning\)|')
- " extract the line number from the error pattern.
- let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(error\|warning\)|')
-
- " if we are on an error, then count the number of lines before this in the
- " quickfix window with an error on the same line.
- if errpat =~ 'error|$'
- " our location in the quick fix window.
- let errline = line('.')
-
- " goto the beginning of the quickfix window and begin counting the lines
- " which show an error on the same line.
- 0
- let numrep = 0
- while 1
- " if we are on the same kind of error line, then means we have another
- " line containing the same error pattern.
- if getline('.') =~ errpat
- let numrep = numrep + 1
- normal! 0
- endif
- " if we have reached the original location in the quick fix window,
- " then break.
- if line('.') == errline
- break
- else
- " otherwise, search for the next line which contains the same
- " error pattern again. goto the end of the current line so we
- " dont count this line again.
- normal! $
- call search(errpat, 'W')
- endif
- endwhile
- else
- let numrep = 1
- endif
-
- if getline('.') =~ '|\d\+ warning|'
- let searchpat = escape(matchstr(getline('.'), '|\d\+ warning|\s*\zs.*'), '\ ')
- else
- let searchpat = 'l\.'.linenum
- endif
-
- " We first need to be in the scope of the correct file in the .log file.
- " This is important for example, when a.tex and b.tex both have errors on
- " line 9 of the file and we want to go to the error of b.tex. Merely
- " searching forward from the beginning of the log file for l.9 will always
- " land us on the error in a.tex.
- if errfile != ''
- exec 'silent! bot pedit +/(\\(\\f\\|\\[\\|\]\\|\\s\\)*'.errfile.'/ '.a:filename
- else
- exec 'bot pedit +0 '.a:filename
- endif
- " Goto the preview window
- " TODO: This is not robust enough. Check that a wincmd j actually takes
- " us to the preview window.
- wincmd j
- " now search forward from this position in the preview window for the
- " numrep^th error of the current line in the quickfix window.
- while numrep > 0
- call search(searchpat, 'W')
- let numrep = numrep - 1
- endwhile
- normal! z.
-
-endfunction " }}}
-" Tex_UpdatePreviewWindow: updates the view of the log file {{{
-" Description:
-" This function should be called when focus is in a quickfix window.
-" It opens the log file in a preview window and makes it display that
-" part of the log file which corresponds to the error which the user is
-" currently on in the quickfix window. Control returns to the quickfix
-" window when the function returns.
-"
-function! Tex_UpdatePreviewWindow(filename)
- call Tex_PositionPreviewWindow(a:filename)
-
- if &previewwindow
- 6 wincmd _
- wincmd p
- endif
-endfunction " }}}
-" Tex_GotoErrorLocation: goes to the correct location of error in the tex file {{{
-" Description:
-" This function should be called when focus is in a quickfix window. This
-" function will first open the preview window of the log file (if it is not
-" already open), position the display of the preview to coincide with the
-" current error under the cursor and then take the user to the file in
-" which this error has occured.
-"
-" The position is both the correct line number and the column number.
-function! Tex_GotoErrorLocation(filename)
-
- " first use vim's functionality to take us to the location of the error
- " accurate to the line (not column). This lets us go to the correct file
- " without applying any logic.
- exec "normal! \<enter>"
- " If the log file is not found, then going to the correct line number is
- " all we can do.
- if glob(a:filename) == ''
- return
- endif
-
- let winnum = winnr()
- " then come back to the quickfix window
- wincmd w
-
- " find out where in the file we had the error.
- let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(warning\|error\)|')
- call Tex_PositionPreviewWindow(a:filename)
-
- if getline('.') =~ 'l.\d\+'
-
- let brokenline = matchstr(getline('.'), 'l.'.linenum.' \zs.*\ze')
- " If the line is of the form
- " l.10 ...and then there was some error
- " it means (most probably) that only part of the erroneous line is
- " shown. In this case, finding the length of the broken line is not
- " correct. Instead goto the beginning of the line and search forward
- " for the part which is displayed and then go to its end.
- if brokenline =~ '^\M...'
- let partline = matchstr(brokenline, '^\M...\m\zs.*')
- let normcmd = "0/\\V".escape(partline, "\\")."/e+1\<CR>"
- else
- let column = strlen(brokenline) + 1
- let normcmd = column.'|'
- endif
-
- elseif getline('.') =~ 'LaTeX Warning: \(Citation\|Reference\) `.*'
-
- let ref = matchstr(getline('.'), "LaTeX Warning: \\(Citation\\|Reference\\) `\\zs[^']\\+\\ze'")
- let normcmd = '0/'.ref."\<CR>"
-
- else
-
- let normcmd = '0'
-
- endif
-
- " go back to the window where we came from.
- exec winnum.' wincmd w'
- exec 'silent! '.linenum.' | normal! '.normcmd
-
- if !Tex_GetVarValue('Tex_ShowErrorContext')
- pclose!
- endif
-endfunction " }}}
-" Tex_SetCompilerMaps: sets maps for compiling/viewing/searching {{{
-" Description:
-function! <SID>Tex_SetCompilerMaps()
- if exists('b:Tex_doneCompilerMaps')
- return
- endif
- let s:ml = exists('g:mapleader') ? g:mapleader : "\\"
-
- nnoremap <buffer> <Plug>Tex_Compile :call Tex_RunLaTeX()<cr>
- vnoremap <buffer> <Plug>Tex_Compile :call Tex_PartCompile()<cr>
- nnoremap <buffer> <Plug>Tex_View :call Tex_ViewLaTeX()<cr>
- nnoremap <buffer> <Plug>Tex_ForwardSearch :call Tex_ForwardSearchLaTeX()<cr>
-
- call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'n', '<buffer>')
- call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'v', '<buffer>')
- call Tex_MakeMap(s:ml."lv", "<Plug>Tex_View", 'n', '<buffer>')
- call Tex_MakeMap(s:ml."ls", "<Plug>Tex_ForwardSearch", 'n', '<buffer>')
-endfunction
-" }}}
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('compiler.vim: Catching LatexSuiteFileType event', 'comp') |
- \ call <SID>Tex_SetCompilerMaps()
-augroup END
-
-command! -nargs=0 -range=% TPartCompile :<line1>, <line2> silent! call Tex_PartCompile()
-" Setting b:fragmentFile = 1 makes Tex_CompileLatex consider the present file
-" the _main_ file irrespective of the presence of a .latexmain file.
-command! -nargs=0 TCompileThis let b:fragmentFile = 1
-command! -nargs=0 TCompileMainFile let b:fragmentFile = 0
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/custommacros.vim b/.vim/ftplugin/latex-suite/custommacros.vim
deleted file mode 100644
index 1b1c6bd..0000000
--- a/.vim/ftplugin/latex-suite/custommacros.vim
+++ /dev/null
@@ -1,257 +0,0 @@
-"=============================================================================
-" File: custommacros.vim
-" Author: Mikolaj Machowski
-" Version: 1.0
-" Created: Tue Apr 23 05:00 PM 2002 PST
-" CVS: $Id: custommacros.vim 997 2006-03-20 09:45:45Z srinathava $
-"
-" Description: functions for processing custom macros in the
-" latex-suite/macros directory
-"=============================================================================
-
-let s:path = expand('<sfile>:p:h')
-
-" Set path to macros dir dependent on OS {{{
-if has("unix") || has("macunix")
- let s:macrodirpath = $HOME."/.vim/ftplugin/latex-suite/macros/"
-elseif has("win32")
- if exists("$HOME")
- let s:macrodirpath = $HOME."/vimfiles/ftplugin/latex-suite/macros/"
- else
- let s:macrodirpath = $VIM."/vimfiles/ftplugin/latex-suite/macros/"
- endif
-endif
-
-" }}}
-" SetCustomMacrosMenu: sets up the menu for Macros {{{
-function! <SID>SetCustomMacrosMenu()
- let flist = Tex_FindInRtp('', 'macros')
- exe 'amenu '.g:Tex_MacrosMenuLocation.'&New :call <SID>NewMacro("FFFromMMMenu")<CR>'
- exe 'amenu '.g:Tex_MacrosMenuLocation.'&Redraw :call RedrawMacro()<CR>'
-
- let i = 1
- while 1
- let fname = Tex_Strntok(flist, ',', i)
- if fname == ''
- break
- endif
- exe "amenu ".g:Tex_MacrosMenuLocation."&Delete.&".i.":<tab>".fname." :call <SID>DeleteMacro('".fname."')<CR>"
- exe "amenu ".g:Tex_MacrosMenuLocation."&Edit.&".i.":<tab>".fname." :call <SID>EditMacro('".fname."')<CR>"
- exe "imenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." <C-r>=<SID>ReadMacro('".fname."')<CR>"
- exe "nmenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." i<C-r>=<SID>ReadMacro('".fname."')<CR>"
- let i = i + 1
- endwhile
-endfunction
-
-if g:Tex_Menus
- call <SID>SetCustomMacrosMenu()
-endif
-
-" }}}
-" NewMacro: opens new file in macros directory {{{
-function! <SID>NewMacro(...)
- " Allow for calling :TMacroNew without argument or from menu and prompt
- " for name.
- if a:0 > 0
- let newmacroname = a:1
- else
- let newmacroname = input("Name of new macro: ")
- if newmacroname == ''
- return
- endif
- endif
-
- if newmacroname == "FFFromMMMenu"
- " Check if NewMacro was called from menu and prompt for insert macro
- " name
- let newmacroname = input("Name of new macro: ")
- if newmacroname == ''
- return
- endif
- elseif Tex_FindInRtp(newmacroname, 'macros') != ''
- " If macro with this name already exists, prompt for another name.
- exe "echomsg 'Macro ".newmacroname." already exists. Try another name.'"
- let newmacroname = input("Name of new macro: ")
- if newmacroname == ''
- return
- endif
- endif
- exec 'split '.Tex_EscapeSpaces(s:macrodirpath.newmacroname)
- setlocal filetype=tex
-endfunction
-
-" }}}
-" RedrawMacro: refreshes macro menu {{{
-function! RedrawMacro()
- aunmenu TeX-Suite.Macros
- call <SID>SetCustomMacrosMenu()
-endfunction
-
-" }}}
-" ChooseMacro: choose a macro file {{{
-" " Description:
-function! s:ChooseMacro(ask)
- let filelist = Tex_FindInRtp('', 'macros')
- let filename = Tex_ChooseFromPrompt(
- \ a:ask."\n" .
- \ Tex_CreatePrompt(filelist, 2, ',') .
- \ "\nEnter number or filename :",
- \ filelist, ',')
-endfunction
-
-" }}}
-" DeleteMacro: deletes macro file {{{
-function! <SID>DeleteMacro(...)
- if a:0 > 0
- let filename = a:1
- else
- let filename = s:ChooseMacro('Choose a macro file for deletion :')
- endif
-
- if !filereadable(s:macrodirpath.filename)
- " When file is not in local directory decline to remove it.
- call confirm('This file is not in your local directory: '.filename."\n".
- \ 'It will not be deleted.' , '&OK', 1)
-
- else
- let ch = confirm('Really delete '.filename.' ?', "&Yes\n&No", 2)
- if ch == 1
- call delete(s:macrodirpath.filename)
- endif
- call RedrawMacro()
- endif
-endfunction
-
-" }}}
-" EditMacro: edits macro file {{{
-function! <SID>EditMacro(...)
- if a:0 > 0
- let filename = a:1
- else
- let filename = s:ChooseMacro('Choose a macro file for insertion:')
- endif
-
- if filereadable(s:macrodirpath.filename)
- " If file exists in local directory open it.
- exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename)
- else
- " But if file doesn't exist in local dir it probably is in user
- " restricted area. Instead opening try to copy it to local dir.
- " Pity VimL doesn't have mkdir() function :)
- let ch = confirm("You are trying to edit file which is probably read-only.\n".
- \ "It will be copied to your local LaTeX-Suite macros directory\n".
- \ "and you will be operating on local copy with suffix -local.\n".
- \ "It will succeed only if ftplugin/latex-suite/macros dir exists.\n".
- \ "Do you agree?", "&Yes\n&No", 1)
- if ch == 1
- " But there is possibility we already created local modification.
- " Check it and offer opening this file.
- if filereadable(s:macrodirpath.filename.'-local')
- let ch = confirm('Local version of '.filename." already exists.\n".
- \ 'Do you want to open it or overwrite with original version?',
- \ "&Open\nOver&write\n&Cancel", 1)
- if ch == 1
- exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename.'-local')
- elseif ch == 2
- new
- exe '0read '.Tex_FindInRtp(filename, 'macros')
- " This is possible macro was edited before, wipe it out.
- if bufexists(s:macrodirpath.filename.'-local')
- exe 'bwipe '.s:macrodirpath.filename.'-local'
- endif
- exe 'write! '.s:macrodirpath.filename.'-local'
- else
- return
- endif
- else
- " If file doesn't exist, open new file, read in system macro and
- " save it in local macro dir with suffix -local
- new
- exe '0read '.Tex_FindInRtp(filename, 'macros')
- exe 'write '.s:macrodirpath.filename.'-local'
- endif
- endif
-
- endif
- setlocal filetype=tex
-endfunction
-
-" }}}
-" ReadMacro: reads in a macro from a macro file. {{{
-" allowing for placement via placeholders.
-function! <SID>ReadMacro(...)
-
- if a:0 > 0
- let filename = a:1
- else
- let filelist = Tex_FindInRtp('', 'macros')
- let filename =
- \ Tex_ChooseFromPrompt("Choose a macro file:\n" .
- \ Tex_CreatePrompt(filelist, 2, ',') .
- \ "\nEnter number or name of file :",
- \ filelist, ',')
- endif
-
- let fname = Tex_FindInRtp(filename, 'macros', ':p')
-
- let markerString = '<---- Latex Suite End Macro ---->'
- let _a = @a
- let position = line('.').' | normal! '.virtcol('.').'|'
- silent! call append(line('.'), markerString)
- silent! exec "read ".fname
- silent! exec "normal! V/^".markerString."$/-1\<CR>\"ax"
- " This is kind of tricky: At this stage, we are one line after the one we
- " started from with the marker text on it. We need to
- " 1. remove the marker and the line.
- " 2. get focus to the previous line.
- " 3. not remove anything from the previous line.
- silent! exec "normal! $v0k$\"_x"
-
- call Tex_CleanSearchHistory()
-
- let @a = substitute(@a, '['."\n\r\t ".']*$', '', '')
- let textWithMovement = IMAP_PutTextWithMovement(@a)
- let @a = _a
-
- return textWithMovement
-
-endfunction
-
-" }}}
-" commands for macros {{{
-com! -nargs=? TMacroNew :call <SID>NewMacro(<f-args>)
-
-" This macros had to have 2 versions:
-if v:version >= 602
- com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacro
- \ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
- com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroEdit
- \ :call <SID>EditMacro(<f-args>)
- com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroDelete
- \ :call <SID>DeleteMacro(<f-args>)
-
- " Tex_CompleteMacroName: for completing names in TMacro... commands {{{
- " Description: get list of macro names with Tex_FindInRtp(), remove full path
- " and return list of names separated with newlines.
- "
- function! Tex_CompleteMacroName(A,P,L)
- " Get name of macros from all runtimepath directories
- let macronames = Tex_FindInRtp('', 'macros')
- " Separate names with \n not ,
- let macronames = substitute(macronames,',','\n','g')
- return macronames
- endfunction
-
- " }}}
-
-else
- com! -nargs=? TMacro
- \ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
- com! -nargs=? TMacroEdit :call <SID>EditMacro(<f-args>)
- com! -nargs=? TMacroDelete :call <SID>DeleteMacro(<f-args>)
-
-endif
-
-" }}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/diacritics.vim b/.vim/ftplugin/latex-suite/diacritics.vim
deleted file mode 100644
index 616d30a..0000000
--- a/.vim/ftplugin/latex-suite/diacritics.vim
+++ /dev/null
@@ -1,124 +0,0 @@
-"=============================================================================
-" File: diacritics.vim
-" Author: Lubomir Host
-" Created: Tue Apr 23 07:00 PM 2002 PST
-"
-" Description: shortcuts for all diacritics.
-"=============================================================================
-
-if !g:Tex_Diacritics
- finish
-endif
-
-" \'{a} {{{
-call IMAP ('=a', "\\\'{a}", 'tex')
-call IMAP ('=b', "\\'{b}", 'tex')
-call IMAP ('=c', "\\'{c}", 'tex')
-call IMAP ('=d', "\\'{d}", 'tex')
-call IMAP ('=e', "\\'{e}", 'tex')
-call IMAP ('=f', "\\'{f}", 'tex')
-call IMAP ('=g', "\\'{g}", 'tex')
-call IMAP ('=h', "\\'{h}", 'tex')
-call IMAP ('=i', "\\'{\i}", 'tex')
-call IMAP ('=j', "\\'{j}", 'tex')
-call IMAP ('=k', "\\'{k}", 'tex')
-call IMAP ('=l', "\\'{l}", 'tex')
-call IMAP ('=m', "\\'{m}", 'tex')
-call IMAP ('=n', "\\'{n}", 'tex')
-call IMAP ('=o', "\\'{o}", 'tex')
-call IMAP ('=p', "\\'{p}", 'tex')
-call IMAP ('=q', "\\'{q}", 'tex')
-call IMAP ('=r', "\\'{r}", 'tex')
-call IMAP ('=s', "\\'{s}", 'tex')
-call IMAP ('=t', "\\'{t}", 'tex')
-call IMAP ('=u', "\\'{u}", 'tex')
-call IMAP ('=v', "\\'{v}", 'tex')
-call IMAP ('=w', "\\'{w}", 'tex')
-call IMAP ('=x', "\\'{x}", 'tex')
-call IMAP ('=y', "\\'{y}", 'tex')
-call IMAP ('=z', "\\'{z}", 'tex')
-call IMAP ('=A', "\\'{A}", 'tex')
-call IMAP ('=B', "\\'{B}", 'tex')
-call IMAP ('=C', "\\'{C}", 'tex')
-call IMAP ('=D', "\\'{D}", 'tex')
-call IMAP ('=E', "\\'{E}", 'tex')
-call IMAP ('=F', "\\'{F}", 'tex')
-call IMAP ('=G', "\\'{G}", 'tex')
-call IMAP ('=H', "\\'{H}", 'tex')
-call IMAP ('=I', "\\'{\I}", 'tex')
-call IMAP ('=J', "\\'{J}", 'tex')
-call IMAP ('=K', "\\'{K}", 'tex')
-call IMAP ('=L', "\\'{L}", 'tex')
-call IMAP ('=M', "\\'{M}", 'tex')
-call IMAP ('=N', "\\'{N}", 'tex')
-call IMAP ('=O', "\\'{O}", 'tex')
-call IMAP ('=P', "\\'{P}", 'tex')
-call IMAP ('=Q', "\\'{Q}", 'tex')
-call IMAP ('=R', "\\'{R}", 'tex')
-call IMAP ('=S', "\\'{S}", 'tex')
-call IMAP ('=T', "\\'{T}", 'tex')
-call IMAP ('=U', "\\'{U}", 'tex')
-call IMAP ('=V', "\\'{V}", 'tex')
-call IMAP ('=W', "\\'{W}", 'tex')
-call IMAP ('=X', "\\'{X}", 'tex')
-call IMAP ('=Y', "\\'{Y}", 'tex')
-call IMAP ('=Z', "\\'{Z}", 'tex')
-" }}}
-" \v{a} {{{
-call IMAP ('+a', "\\v{a}", 'tex')
-call IMAP ('+b', "\\v{b}", 'tex')
-call IMAP ('+c', "\\v{c}", 'tex')
-call IMAP ('+d', "\\v{d}", 'tex')
-call IMAP ('+e', "\\v{e}", 'tex')
-call IMAP ('+f', "\\v{f}", 'tex')
-call IMAP ('+g', "\\v{g}", 'tex')
-call IMAP ('+h', "\\v{h}", 'tex')
-call IMAP ('+i', "\\v{\i}", 'tex')
-call IMAP ('+j', "\\v{j}", 'tex')
-call IMAP ('+k', "\\v{k}", 'tex')
-call IMAP ('+l', "\\q l", 'tex')
-call IMAP ('+m', "\\v{m}", 'tex')
-call IMAP ('+n', "\\v{n}", 'tex')
-call IMAP ('+o', "\\v{o}", 'tex')
-call IMAP ('+p', "\\v{p}", 'tex')
-call IMAP ('+q', "\\v{q}", 'tex')
-call IMAP ('+r', "\\v{r}", 'tex')
-call IMAP ('+s', "\\v{s}", 'tex')
-call IMAP ('+t', "\\q t", 'tex')
-call IMAP ('+u', "\\v{u}", 'tex')
-call IMAP ('+v', "\\v{v}", 'tex')
-call IMAP ('+w', "\\v{w}", 'tex')
-call IMAP ('+x', "\\v{x}", 'tex')
-call IMAP ('+y', "\\v{y}", 'tex')
-call IMAP ('+z', "\\v{z}", 'tex')
-call IMAP ('+A', "\\v{A}", 'tex')
-call IMAP ('+B', "\\v{B}", 'tex')
-call IMAP ('+C', "\\v{C}", 'tex')
-call IMAP ('+D', "\\v{D}", 'tex')
-call IMAP ('+E', "\\v{E}", 'tex')
-call IMAP ('+F', "\\v{F}", 'tex')
-call IMAP ('+G', "\\v{G}", 'tex')
-call IMAP ('+H', "\\v{H}", 'tex')
-call IMAP ('+I', "\\v{\I}", 'tex')
-call IMAP ('+J', "\\v{J}", 'tex')
-call IMAP ('+K', "\\v{K}", 'tex')
-call IMAP ('+L', "\\v{L}", 'tex')
-call IMAP ('+M', "\\v{M}", 'tex')
-call IMAP ('+N', "\\v{N}", 'tex')
-call IMAP ('+O', "\\v{O}", 'tex')
-call IMAP ('+P', "\\v{P}", 'tex')
-call IMAP ('+Q', "\\v{Q}", 'tex')
-call IMAP ('+R', "\\v{R}", 'tex')
-call IMAP ('+S', "\\v{S}", 'tex')
-call IMAP ('+T', "\\v{T}", 'tex')
-call IMAP ('+U', "\\v{U}", 'tex')
-call IMAP ('+V', "\\v{V}", 'tex')
-call IMAP ('+W', "\\v{W}", 'tex')
-call IMAP ('+X', "\\v{X}", 'tex')
-call IMAP ('+Y', "\\v{Y}", 'tex')
-call IMAP ('+Z', "\\v{Z}", 'tex')
-" }}}
-call IMAP ('+}', "\\\"{a}", 'tex')
-call IMAP ('+:', "\\^{o}", 'tex')
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/dictionaries/SIunits b/.vim/ftplugin/latex-suite/dictionaries/SIunits
deleted file mode 100644
index d4ac081..0000000
--- a/.vim/ftplugin/latex-suite/dictionaries/SIunits
+++ /dev/null
@@ -1,289 +0,0 @@
-addprefix
-addunit
-ampere
-amperemetresecond
-amperepermetre
-amperepermetrenp
-amperepersquaremetre
-amperepersquaremetrenp
-angstrom
-arad
-arcminute
-arcsecond
-are
-atomicmass
-atto
-attod
-barn
-bbar
-becquerel
-becquerelbase
-bel
-candela
-candelapersquaremetre
-candelapersquaremetrenp
-celsius
-Celsius
-celsiusbase
-centi
-centid
-coulomb
-coulombbase
-coulombpercubicmetre
-coulombpercubicmetrenp
-coulombperkilogram
-coulombperkilogramnp
-coulombpermol
-coulombpermolnp
-coulombpersquaremetre
-coulombpersquaremetrenp
-cubed
-cubic
-cubicmetre
-cubicmetreperkilogram
-cubicmetrepersecond
-curie
-dday
-deca
-decad
-deci
-decid
-degree
-degreecelsius
-deka
-dekad
-derbecquerel
-dercelsius
-dercoulomb
-derfarad
-dergray
-derhenry
-derhertz
-derjoule
-derkatal
-derlumen
-derlux
-dernewton
-derohm
-derpascal
-derradian
-dersiemens
-dersievert
-dersteradian
-dertesla
-dervolt
-derwatt
-derweber
-electronvolt
-exa
-exad
-farad
-faradbase
-faradpermetre
-faradpermetrenp
-femto
-femtod
-fourth
-gal
-giga
-gigad
-gram
-graybase
-graypersecond
-graypersecondnp
-hectare
-hecto
-hectod
-henry
-henrybase
-henrypermetre
-henrypermetrenp
-hertz
-hertzbase
-hour
-joule
-joulebase
-joulepercubicmetre
-joulepercubicmetrenp
-jouleperkelvin
-jouleperkelvinnp
-jouleperkilogram
-jouleperkilogramkelvin
-jouleperkilogramkelvinnp
-jouleperkilogramnp
-joulepermole
-joulepermolekelvin
-joulepermolekelvinnp
-joulepermolenp
-joulepersquaremetre
-joulepersquaremetrenp
-joulepertesla
-jouleperteslanp
-katal
-katalbase
-katalpercubicmetre
-katalpercubicmetrenp
-kelvin
-kilo
-kilod
-kilogram
-kilogrammetrepersecond
-kilogrammetrepersecondnp
-kilogrammetrepersquaresecond
-kilogrammetrepersquaresecondnp
-kilogrampercubicmetre
-kilogrampercubicmetrecoulomb
-kilogrampercubicmetrecoulombnp
-kilogrampercubicmetrenp
-kilogramperkilomole
-kilogramperkilomolenp
-kilogrampermetre
-kilogrampermetrenp
-kilogrampersecond
-kilogrampersecondcubicmetre
-kilogrampersecondcubicmetrenp
-kilogrampersecondnp
-kilogrampersquaremetre
-kilogrampersquaremetrenp
-kilogrampersquaremetresecond
-kilogrampersquaremetresecondnp
-kilogramsquaremetre
-kilogramsquaremetrenp
-kilogramsquaremetrepersecond
-kilogramsquaremetrepersecondnp
-kilowatthour
-liter
-litre
-lumen
-lumenbase
-lux
-luxbase
-mega
-megad
-meter
-metre
-metrepersecond
-metrepersecondnp
-metrepersquaresecond
-metrepersquaresecondnp
-micro
-microd
-milli
-millid
-minute
-mole
-molepercubicmetre
-molepercubicmetrenp
-nano
-nanod
-neper
-newton
-newtonbase
-newtonmetre
-newtonpercubicmetre
-newtonpercubicmetrenp
-newtonperkilogram
-newtonperkilogramnp
-newtonpermetre
-newtonpermetrenp
-newtonpersquaremetre
-newtonpersquaremetrenp
-NoAMS
-no@qsk
-ohm
-ohmbase
-ohmmetre
-one
-paminute
-pascal
-pascalbase
-pascalsecond
-pasecond
-per
-period@active
-persquaremetresecond
-persquaremetresecondnp
-peta
-petad
-pico
-picod
-power
-@qsk
-quantityskip
-rad
-radian
-radianbase
-radianpersecond
-radianpersecondnp
-radianpersquaresecond
-radianpersquaresecondnp
-reciprocal
-rem
-roentgen
-rp
-rpcubed
-rpcubic
-rpcubicmetreperkilogram
-rpcubicmetrepersecond
-rperminute
-rpersecond
-rpfourth
-rpsquare
-rpsquared
-rpsquaremetreperkilogram
-second
-siemens
-siemensbase
-sievert
-sievertbase
-square
-squared
-squaremetre
-squaremetrepercubicmetre
-squaremetrepercubicmetrenp
-squaremetrepercubicsecond
-squaremetrepercubicsecondnp
-squaremetreperkilogram
-squaremetrepernewtonsecond
-squaremetrepernewtonsecondnp
-squaremetrepersecond
-squaremetrepersecondnp
-squaremetrepersquaresecond
-squaremetrepersquaresecondnp
-steradian
-steradianbase
-tera
-terad
-tesla
-teslabase
-ton
-tonne
-unit
-unitskip
-usk
-volt
-voltbase
-voltpermetre
-voltpermetrenp
-watt
-wattbase
-wattpercubicmetre
-wattpercubicmetrenp
-wattperkilogram
-wattperkilogramnp
-wattpermetrekelvin
-wattpermetrekelvinnp
-wattpersquaremetre
-wattpersquaremetrenp
-wattpersquaremetresteradian
-wattpersquaremetresteradiannp
-weber
-weberbase
-yocto
-yoctod
-yotta
-yottad
-zepto
-zeptod
-zetta
-zettad
diff --git a/.vim/ftplugin/latex-suite/dictionaries/dictionary b/.vim/ftplugin/latex-suite/dictionaries/dictionary
deleted file mode 100644
index 458dc0b..0000000
--- a/.vim/ftplugin/latex-suite/dictionaries/dictionary
+++ /dev/null
@@ -1,677 +0,0 @@
-abbrv
-abovedisplayshortskip
-abovedisplayskip
-abstract
-abstract
-abstractname
-acute
-addcontentsline
-address
-addtime
-addtocontents
-addtocounter
-addtolength
-addvspace
-align
-alph
-Alph
-alpha
-amsmath
-amsthm
-and
-appendix
-appendixname
-arabic
-array
-arraycolsep
-arrayrulewidth
-arraystretch
-article
-author
-a4paper
-a5paper
-backmatter
-bar
-bar
-baselineskip
-baselinestretch
-batchmode
-begin
-belowdisplayshortskip
-belowdisplayskip
-bezier
-bf
-bfseries
-bibindent
-bibitem
-bibliography
-bibliographystyle
-bibname
-big
-Big
-Bigg
-bigg
-Biggl
-biggl
-Biggm
-biggm
-Biggr
-biggr
-Bigl
-bigl
-bigm
-Bigm
-bigr
-Bigr
-bigskip
-bigskipamount
-binom
-blg
-boldmath
-boldsymbol
-book
-botfigrule
-bottmofraction
-bottomnumber
-boxedminipage
-bp
-breve
-b5paper
-calc
-calc
-caption
-caption2
-capt-of
-cases
-cc
-ccaption
-ccname
-cdotscenter
-centering
-cercle
-cfrac
-changebar
-chapter
-chapterbib
-chaptername
-check
-cite
-cleardoublepage
-clearpage
-cline
-clock
-closing
-cm
-COLON
-columnsep
-columnseprule
-columnwidth
-contentsline
-contentsname
-copyright
-dag
-dashbox
-date
-dbinom
-dblfigure
-dblfloatpage
-dblfloatsep
-dbltextfloatsep
-dbltopfraction
-dbltopnumber
-dcolumn
-dd
-ddag
-ddot
-ddots
-DeclareMathOperator
-depth
-description
-dfrac
-displaylimits
-displaymath
-displaystyle
-document
-documentclass
-dot
-dotfill
-doublerulesep
-downbracefill
-draft
-dropping
-dywiz
-em
-emph
-empty
-encl
-enclname
-end
-endfloat
-enlargethispage
-enskip
-enspace
-ensuremath
-enumerate
-enumi
-enumii
-enumiii
-enumiv
-eqnarray
-equation
-errorstopmode
-eucal
-eufrak
-evensidemargin
-everyship
-ex
-executivepaper
-expdlist
-extracolsep
-extramark
-fancybox
-fancyhdr
-fbox
-fboxrule
-fboxsep
-figure
-figurename
-file
-filecontents
-final
-flafter
-fleqn
-floatflt
-floatpagefraction
-floatsep
-flushbottom
-flushleft
-flushright
-fnpara
-fnsymbol
-fn2end
-fontenc
-footheight
-footmisc
-footnote
-footnotemark
-footnoterule
-footnotesep
-footnotesize
-footnotetext
-footnpag
-footskip
-frac
-frame
-framebox
-frenchspacing
-frontmatter
-ftnright
-fussy
-gather
-genfrac
-geometry
-glossary
-glossaryentry
-graphicx
-graphpaper
-grave
-hat
-hbox
-headheihgt
-headings
-headsep
-height
-helvet
-hfill
-hhline
-hline
-hrulefill
-hspace
-huge
-Huge
-HUGE
-hyperref
-hyphenation
-ifthen
-in
-include
-includeonly
-indent
-indentfirst
-index
-indexentry
-indexname
-indexspace
-input
-inputenc
-intertext
-intextsep
-invisible
-it
-item
-itemindent
-itemize
-itemsep
-itshape
-jot
-kill
-label
-labelenumi
-labelenumii
-labelenumiii
-labelenumiv
-labelitemi
-labelitemii
-labelitemiii
-labelitemiv
-labelsep
-labelwidth
-landscape
-large
-LARGE
-Large
-LaTeX
-LaTeXe
-latexsym
-ldots
-left
-leftarrowfill
-lefteqn
-leftmargin
-leftmargini
-leftmarginii
-leftmarginiii
-leftmarginiv
-leftmarginv
-leftmarginvi
-leftmark
-legalpaper
-leq
-leqno
-letter
-letterpaper
-letterspace
-lhead
-limits
-line
-linebreak
-linethickness
-linewidth
-list
-listfigurename
-listfiles
-listoffigures
-listoftables
-listparindent
-location
-longtable
-lq
-lrbox
-lscape
-mainmatter
-makeatletter
-makeatother
-makebox
-makeglossary
-makeidx
-makeindex
-makelabel
-maketitle
-manyfoot
-marginpar
-marginparpush
-marginparsep
-marginparwidth
-markboth
-markleft
-markright
-math
-mathbb
-mathbf
-mathbin
-mathcal
-mathclose
-mathfrak
-mathindent
-mathit
-mathnormal
-mathop
-mathopen
-mathord
-mathpunct
-mathrel
-mathrm
-mathscr
-mathsf
-mathstrut
-mathtt
-mathversion
-mbox
-mdseries
-medmuskip
-medskip
-medskipamount
-minipage
-minitoc
-minus
-mkern
-mm
-moreverbatim
-mpfootnote
-mu
-multicol
-multicolumn
-multilanguage
-multiput
-multirow
-myheadings
-nabla
-name
-NeedsTeXFormat
-newcommand
-newcounter
-newenvironment
-newfont
-newlength
-newline
-newpage
-newsavebox
-newtheorem
-nocite
-nofiles
-noindent
-nolimits
-nolinebreak
-nomathsymbols
-nonfrenchspacing
-nonumber
-nopagebreak
-normalfont
-normalsize
-not
-notag
-note
-notitlepage
-nu
-numberline
-numline
-numprint
-oddsidemargin
-oldstyle
-onecolumn
-oneside
-onlynotes
-onlyslides
-openany
-openbib
-opening
-openright
-operatorname
-oval
-overbrace
-overlay
-overleftarrow
-overline
-overrightarrow
-page
-pagebreak
-pagenumbering
-pageref
-pagestyle
-paperheight
-paperwidth
-par
-paragraph
-parbox
-parbox
-parindent
-parsep
-parskip
-part
-partial
-partname
-partopsep
-pauza
-pc
-phi
-pi
-picture
-plain
-PLdateending
-plmath
-PLSlash
-plus
-pmb
-pmod
-polski
-polski
-poptabs
-pounds
-ppauza
-prefixing
-printindex
-protect
-providecommand
-ps
-pt
-pushtabs
-put
-qbezier
-qbeziermax
-qquad
-quad
-quotation
-quote
-raggedbottom
-raggedleft
-raggedright
-ragged2e
-raisebox
-ratio
-real
-ref
-refname
-refstepcounter
-relsize
-renewcommand
-renewenvironment
-report
-reversemarginpar
-rhead
-right
-rightarrowfill
-rightmargin
-rightmark
-rm
-rmfamily
-roman
-Roman
-rotate
-rotating
-rq
-rule
-samepage
-savebox
-sb
-sbox
-sc
-scriptscriptstyle
-scriptsize
-scriptstyle
-scrollmode
-scshape
-secnumdepth
-section
-sectionmark
-see
-seename
-selectfont
-selectlanguage
-setcounter
-setlength
-settime
-settodepth
-settoheight
-settowidth
-sf
-sffamily
-shadethm
-shadow
-shapepar
-shortstack
-showlabels
-sidecap
-signature
-sin
-sl
-slide
-slides
-sloppy
-sloppybar
-slshape
-small
-smallskip
-smallskipamount
-soul
-sp
-space
-sqrt
-ss
-SS
-stackrel
-startbreaks
-stepcounter
-stop
-stopbreaks
-stretch
-strut
-subfigure
-subfigure
-subitem
-subparagraph
-subsection
-subsubitem
-subsubsection
-sum
-supressfloats
-symbol
-symbol
-tabbing
-tabcolsep
-table
-tablename
-tableofcontents
-tabular
-tabularx
-tag
-tan
-tbinom
-telephone
-TeX
-textbf
-textbullet
-textcircled
-textcompwordmark
-textemdash
-textendash
-textexclamdown
-textfloatsep
-textfraction
-textheight
-textit
-textmd
-textnormal
-textperiodcenter
-textquestiondown
-textquotedblleft
-textquotedblright
-textquoteleft
-textquoteright
-textrm
-textsc
-textsf
-textsl
-textstyle
-textsuperscript
-texttt
-textup
-textvisiblespace
-textwidth
-tfrac
-thanks
-the
-thebibliography
-theindex
-theorem
-thepage
-thesection
-theta
-thicklines
-thickmuskip
-thinlines
-thispagestyle
-tilde
-time
-times
-tiny
-title
-titlepage
-tocdepth
-today
-topfigrule
-topfraction
-topmargin
-topmargin
-topmargin
-topsep
-topskip
-topskip
-totalheight
-totalnumber
-trivlist
-tt
-ttfamily
-twocolumn
-twocolumn
-twoside
-typein
-typein
-typeout
-typeout
-ulem
-ulem
-unboldmath
-underbrace
-underline
-unsort
-unsrt
-upbracefill
-upshape
-upshape
-usebox
-usebox
-usecounter
-usefont
-usepackage
-value
-vbox
-vdots
-vec
-vector
-verb
-verb
-verbatim
-verse
-vfill
-visible
-vline
-vmargin
-voffset
-vspace
-widehat
-widetilde
-width
-wrapfig
-xleftarrow
-xrightarrow
-threeparttable
diff --git a/.vim/ftplugin/latex-suite/elementmacros.vim b/.vim/ftplugin/latex-suite/elementmacros.vim
deleted file mode 100644
index 8960a0f..0000000
--- a/.vim/ftplugin/latex-suite/elementmacros.vim
+++ /dev/null
@@ -1,338 +0,0 @@
-"=============================================================================
-" File: elementmacros.vim
-" Author: Mikolaj Machowski
-" Created: Tue Apr 23 06:00 PM 2002 PST
-"
-" Description: macros for dimensions/fonts/counters.
-" and various common commands such ref/label/footnote.
-"=============================================================================
-
-nmap <silent> <script> <plug> i
-imap <silent> <script> <C-o><plug> <Nop>
-
-if exists('s:lastElementsLocation') && g:Tex_ElementsMenuLocation == s:lastElementsLocation
- finish
-endif
-
-if exists('s:lastElementsLocation')
- exe 'aunmenu '.s:lastElementsLocation.'Font.'
- exe 'aunmenu '.s:lastElementsLocation.'Dimension.'
- exe 'aunmenu '.s:lastElementsLocation.'Counters.'
- exe 'aunmenu '.s:lastElementsLocation.'Various.'
-endif
-
-let s:lastElementsLocation = g:Tex_ElementsMenuLocation
-
-let s:fontMenuLoc = g:Tex_ElementsMenuLocation.'Font.'
-let s:dimensionMenuLoc = g:Tex_ElementsMenuLocation.'Dimension.'
-let s:counterMenuLoc = g:Tex_ElementsMenuLocation.'Counters.'
-let s:variousMenuLoc = g:Tex_ElementsMenuLocation.'Various.'
-
-" ==============================================================================
-" Set up the functions the first time.
-" ==============================================================================
-if !exists('s:definedFuncs') " {{{
- let s:definedFuncs = 1
-
- " Tex_RemoveElementMenus: remove the elements menu {{{
- "
- function! Tex_RemoveElementMenus()
- exe 'silent! aunmenu '.s:lastElementsLocation.'Font.'
- exe 'silent! aunmenu '.s:lastElementsLocation.'Dimension.'
- exe 'silent! aunmenu '.s:lastElementsLocation.'Counters.'
- exe 'silent! aunmenu '.s:lastElementsLocation.'Various.'
- endfunction
-
- " }}}
- " Tex_FontFamily: sets up font menus {{{
- "
- function! <SID>Tex_FontFamily(font,fam)
- let vislhs = matchstr(tolower(a:font), '^.\zs.*')
-
- " avoid redoing imaps and vmaps for every reconfiguration of menus.
- if !exists('s:doneOnce') && g:Tex_FontMaps
- exe "vnoremap <silent> ".g:Tex_Leader.vislhs.
- \" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>"
- exe 'call IMAP ("'.a:font.'", "\\text'.vislhs.'{<++>}<++>", "tex")'
- endif
-
- " menu entry.
- if g:Tex_Menus && g:Tex_FontMenus
- let location = s:fontMenuLoc.substitute(a:fam, '^.', '\u&', '').'.'.vislhs.a:fam.'<tab>'.a:font.'\ ('.g:Tex_Leader.vislhs.')'
- exe "amenu ".location.
- \" <plug><C-r>=IMAP_PutTextWithMovement('\\text".vislhs."{<++>}<++>')<CR>"
- exe "vmenu ".location.
- \" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>"
- endif
-
- endfunction
-
- " }}}
- " Tex_FontDiacritics: sets up menus for diacritics. {{{
- "
- function! <SID>Tex_FontDiacritics(name, rhs)
- let location = s:fontMenuLoc.'&Diacritics.'.a:name.'<tab>'
- exe 'amenu '.location.
- \" <plug><C-r>=IMAP_PutTextWithMovement('\\".a:rhs."{<++>}<++>')<CR>"
- exe 'vmenu '.location.
- \" \<C-\\>\<C-n>:call VEnclose('\\".a:rhs."{', '}', '', '')<CR>"
- endfunction " }}}
- " Tex_FontSize: sets up size fonts {{{
- "
- function! <SID>Tex_FontSize(name)
- let location = s:fontMenuLoc.'&Size.'.a:name.'<tab>'
- exe 'amenu '.location." <plug>\\".a:name
- exe 'vunmenu '.location
- endfunction " }}}
- " Tex_Fontfont: sets up the 'font' part of font menus {{{
- "
- function! <SID>Tex_Fontfont(desc, lhs)
- let location = s:fontMenuLoc.'&font.'.a:desc.'<tab>'
- exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>"
- exe "vunmenu ".location
- endfunction " }}}
- " Tex_DimMenus: set up dimension menus {{{
- function! <SID>Tex_DimMenus(submenu, rhs)
- let location = s:dimensionMenuLoc.a:submenu.'.'.a:rhs.'<tab>'
- exe "amenu ".location." <plug>\\".a:rhs
- exe "vunmenu ".location
- endfunction " }}}
- " Tex_CounterMenus: set up counters menus {{{
- function! <SID>Tex_CounterMenus(submenu, rhs)
- let location = s:counterMenuLoc.a:submenu.'.'.a:rhs.'<tab>'
- exe "amenu ".location." <plug>\\".a:rhs
- exe "vunmenu ".location
- endfunction " }}}
- " Tex_VariousMenus: set up various menus {{{
- function! <SID>Tex_VariousMenus(desc, lhs)
- let location = s:variousMenuLoc.a:desc.'<tab>'
- exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>"
- exe "vunmenu ".location
- endfunction " }}}
-endif
-" }}}
-
-" ==============================================================================
-" Fonts
-" ==============================================================================
-" series/family/shape {{{
-call <SID>Tex_FontFamily("FBF","series")
-call <SID>Tex_FontFamily("FMD","series")
-
-call <SID>Tex_FontFamily("FTT","family")
-call <SID>Tex_FontFamily("FSF","family")
-call <SID>Tex_FontFamily("FRM","family")
-
-call <SID>Tex_FontFamily("FUP","shape")
-call <SID>Tex_FontFamily("FSL","shape")
-call <SID>Tex_FontFamily("FSC","shape")
-call <SID>Tex_FontFamily("FIT","shape")
-
-" the \emph is special.
-if g:Tex_FontMaps | exe "vnoremap <silent> ".g:Tex_Leader."em \<C-\\>\<C-N>:call VEnclose('\\emph{', '}', '{\\em', '\\/}')<CR>" | endif
-if g:Tex_FontMaps | exe 'call IMAP ("FEM", "\\emph{<++>}<++>", "tex")' | endif
-
-" }}}
-if g:Tex_Menus && g:Tex_FontMenus
- " {{{ diacritics
- call <SID>Tex_FontDiacritics('Acute', '"')
- call <SID>Tex_FontDiacritics('Breve', 'u')
- call <SID>Tex_FontDiacritics('Circle', 'r')
- call <SID>Tex_FontDiacritics('Circumflex', '^')
- call <SID>Tex_FontDiacritics('Umlaut', '"')
- call <SID>Tex_FontDiacritics('HUmlaut', 'H')
- call <SID>Tex_FontDiacritics('Dot\ over', '.')
- call <SID>Tex_FontDiacritics('Grave', '`')
- call <SID>Tex_FontDiacritics('Hacek', 'v')
- call <SID>Tex_FontDiacritics('Makron', '=')
- call <SID>Tex_FontDiacritics('Tilde', '~')
- call <SID>Tex_FontDiacritics('Underline', 'b')
- call <SID>Tex_FontDiacritics('Cedille', 'c')
- call <SID>Tex_FontDiacritics('Dot\ under', ' ')
- call <SID>Tex_FontDiacritics('Ligature', 't')
- " }}}
- " {{{ Si&ze.
- call <SID>Tex_FontSize('tiny')
- call <SID>Tex_FontSize('scriptsize')
- call <SID>Tex_FontSize('footnotesize')
- call <SID>Tex_FontSize('small')
- call <SID>Tex_FontSize('normalsize')
- call <SID>Tex_FontSize('large')
- call <SID>Tex_FontSize('Large')
- call <SID>Tex_FontSize('LARGE')
- call <SID>Tex_FontSize('huge')
- call <SID>Tex_FontSize('Huge')
- " }}}
- " {{{ &font.
- call s:Tex_Fontfont('fontencoding{}', '\fontencoding{<++>}<++>')
- call s:Tex_Fontfont('fontfamily{qtm}', '\fontfamily{<++>}<++>')
- call s:Tex_Fontfont('fontseries{m\ b\ bx\ sb\ c}', '\fontseries{<++>}<++>')
- call s:Tex_Fontfont('fontshape{n\ it\ sl\ sc\ ui}', '\fontshape{<++>}<++>')
- call s:Tex_Fontfont('fontsize{}{}', '\fontsize{<++>}{<++>}<++>')
- call s:Tex_Fontfont('selectfont', '\selectfont ')
- " }}}
-endif
-
-" ==============================================================================
-" Dimensions
-" ==============================================================================
-if g:Tex_Menus
- " {{{ Static1
- call <SID>Tex_DimMenus('Static1', 'arraycolsep')
- call <SID>Tex_DimMenus('Static1', 'arrayrulewidth')
- call <SID>Tex_DimMenus('Static1', 'bibindent')
- call <SID>Tex_DimMenus('Static1', 'columnsep')
- call <SID>Tex_DimMenus('Static1', 'columnseprule')
- call <SID>Tex_DimMenus('Static1', 'columnwidth')
- call <SID>Tex_DimMenus('Static1', 'doublerulesep')
- call <SID>Tex_DimMenus('Static1', 'evensidemargin')
- call <SID>Tex_DimMenus('Static1', 'fboxrule')
- call <SID>Tex_DimMenus('Static1', 'fboxsep')
- call <SID>Tex_DimMenus('Static1', 'footheight')
- call <SID>Tex_DimMenus('Static1', 'footnotesep')
- call <SID>Tex_DimMenus('Static1', 'footskip')
- call <SID>Tex_DimMenus('Static1', 'headheight')
- call <SID>Tex_DimMenus('Static1', 'headsep')
- call <SID>Tex_DimMenus('Static1', 'itemindent')
- call <SID>Tex_DimMenus('Static1', 'labelsep')
- call <SID>Tex_DimMenus('Static1', 'labelwidth')
- call <SID>Tex_DimMenus('Static1', 'leftmargin')
- call <SID>Tex_DimMenus('Static1', 'leftmargini')
- call <SID>Tex_DimMenus('Static1', 'leftmarginii')
- call <SID>Tex_DimMenus('Static1', 'leftmarginiii')
- call <SID>Tex_DimMenus('Static1', 'leftmarginiv')
- call <SID>Tex_DimMenus('Static1', 'leftmarginv')
- call <SID>Tex_DimMenus('Static1', 'leftmarginvi')
- call <SID>Tex_DimMenus('Static1', 'linewidth')
- call <SID>Tex_DimMenus('Static1', 'listparindent')
- call <SID>Tex_DimMenus('Static1', 'marginparpush')
- call <SID>Tex_DimMenus('Static1', 'marginparsep')
- call <SID>Tex_DimMenus('Static1', 'marginparwidth')
- call <SID>Tex_DimMenus('Static1', 'mathindent')
- call <SID>Tex_DimMenus('Static1', 'oddsidemargin')
- " }}}
- " {{{ Static2
- call <SID>Tex_DimMenus('Static2', 'paperheight')
- call <SID>Tex_DimMenus('Static2', 'paperwidth')
- call <SID>Tex_DimMenus('Static2', 'parindent')
- call <SID>Tex_DimMenus('Static2', 'rightmargin')
- call <SID>Tex_DimMenus('Static2', 'tabbingsep')
- call <SID>Tex_DimMenus('Static2', 'tabcolsep')
- call <SID>Tex_DimMenus('Static2', 'textheight')
- call <SID>Tex_DimMenus('Static2', 'textwidth')
- call <SID>Tex_DimMenus('Static2', 'topmargin')
- call <SID>Tex_DimMenus('Static2', 'unitlength')
- " }}}
- " {{{ Dynamic
- call <SID>Tex_DimMenus('Dynamic', 'abovedisplayshortskip')
- call <SID>Tex_DimMenus('Dynamic', 'abovedisplayskip')
- call <SID>Tex_DimMenus('Dynamic', 'baselineskip')
- call <SID>Tex_DimMenus('Dynamic', 'belowdisplayshortskip')
- call <SID>Tex_DimMenus('Dynamic', 'belowdisplayskip')
- call <SID>Tex_DimMenus('Dynamic', 'dblfloatsep')
- call <SID>Tex_DimMenus('Dynamic', 'dbltextfloatsep')
- call <SID>Tex_DimMenus('Dynamic', 'floatsep')
- call <SID>Tex_DimMenus('Dynamic', 'intextsep')
- call <SID>Tex_DimMenus('Dynamic', 'itemsep')
- call <SID>Tex_DimMenus('Dynamic', 'parsep')
- call <SID>Tex_DimMenus('Dynamic', 'parskip')
- call <SID>Tex_DimMenus('Dynamic', 'partopsep')
- call <SID>Tex_DimMenus('Dynamic', 'textfloatsep')
- call <SID>Tex_DimMenus('Dynamic', 'topsep')
- call <SID>Tex_DimMenus('Dynamic', 'topskip')
- " }}}
- " {{{ Change
- call <SID>Tex_DimMenus('Change', 'setlength')
- call <SID>Tex_DimMenus('Change', 'addtolength')
- call <SID>Tex_DimMenus('Change', 'settoheight')
- call <SID>Tex_DimMenus('Change', 'settowidth')
- call <SID>Tex_DimMenus('Change', 'settolength')
- " }}}
-endif
-
-" ==============================================================================
-" Counters
-" ==============================================================================
-if g:Tex_Menus
- " Counters {{{
- call <SID>Tex_CounterMenus('Counters', 'bottomnumber')
- call <SID>Tex_CounterMenus('Counters', 'chapter')
- call <SID>Tex_CounterMenus('Counters', 'dbltopnumber')
- call <SID>Tex_CounterMenus('Counters', 'enumi')
- call <SID>Tex_CounterMenus('Counters', 'enumii')
- call <SID>Tex_CounterMenus('Counters', 'enumiii')
- call <SID>Tex_CounterMenus('Counters', 'enumiv')
- call <SID>Tex_CounterMenus('Counters', 'equation')
- call <SID>Tex_CounterMenus('Counters', 'figure')
- call <SID>Tex_CounterMenus('Counters', 'footnote')
- call <SID>Tex_CounterMenus('Counters', 'mpfootnote')
- call <SID>Tex_CounterMenus('Counters', 'page')
- call <SID>Tex_CounterMenus('Counters', 'paragraph')
- call <SID>Tex_CounterMenus('Counters', 'part')
- call <SID>Tex_CounterMenus('Counters', 'secnumdepth')
- call <SID>Tex_CounterMenus('Counters', 'section')
- call <SID>Tex_CounterMenus('Counters', 'subparagraph')
- call <SID>Tex_CounterMenus('Counters', 'subsection')
- call <SID>Tex_CounterMenus('Counters', 'subsubsection')
- call <SID>Tex_CounterMenus('Counters', 'table')
- call <SID>Tex_CounterMenus('Counters', 'tocdepth')
- call <SID>Tex_CounterMenus('Counters', 'topnumber')
- call <SID>Tex_CounterMenus('Counters', 'totalnumber')
- " }}}
- " theCounters {{{
- call <SID>Tex_CounterMenus('theCounters', 'thebottomnumber')
- call <SID>Tex_CounterMenus('theCounters', 'thechapter')
- call <SID>Tex_CounterMenus('theCounters', 'thedbltopnumber')
- call <SID>Tex_CounterMenus('theCounters', 'theenumi')
- call <SID>Tex_CounterMenus('theCounters', 'theenumii')
- call <SID>Tex_CounterMenus('theCounters', 'theenumiii')
- call <SID>Tex_CounterMenus('theCounters', 'theenumiv')
- call <SID>Tex_CounterMenus('theCounters', 'theequation')
- call <SID>Tex_CounterMenus('theCounters', 'thefigure')
- call <SID>Tex_CounterMenus('theCounters', 'thefootnote')
- call <SID>Tex_CounterMenus('theCounters', 'thempfootnote')
- call <SID>Tex_CounterMenus('theCounters', 'thepage')
- call <SID>Tex_CounterMenus('theCounters', 'theparagraph')
- call <SID>Tex_CounterMenus('theCounters', 'thepart')
- call <SID>Tex_CounterMenus('theCounters', 'thesecnumdepth')
- call <SID>Tex_CounterMenus('theCounters', 'thesection')
- call <SID>Tex_CounterMenus('theCounters', 'thesubparagraph')
- call <SID>Tex_CounterMenus('theCounters', 'thesubsection')
- call <SID>Tex_CounterMenus('theCounters', 'thesubsubsection')
- call <SID>Tex_CounterMenus('theCounters', 'thetable')
- call <SID>Tex_CounterMenus('theCounters', 'thetocdepth')
- call <SID>Tex_CounterMenus('theCounters', 'thetopnumber')
- call <SID>Tex_CounterMenus('theCounters', 'thetotalnumber')
- " }}}
- " Type {{{
- call <SID>Tex_CounterMenus('Type', 'alph')
- call <SID>Tex_CounterMenus('Type', 'Alph')
- call <SID>Tex_CounterMenus('Type', 'arabic')
- call <SID>Tex_CounterMenus('Type', 'roman')
- call <SID>Tex_CounterMenus('Type', 'Roman')
- " }}}
-endif
-
-" ==============================================================================
-" Various
-" ==============================================================================
-if g:Tex_Menus
- " Various {{{
- call <SID>Tex_VariousMenus('ref{}' , '\ref{<++>}<++>')
- call <SID>Tex_VariousMenus('pageref{}' , '\pageref{<++>}<++>')
- call <SID>Tex_VariousMenus('label{}' , '\label{<++>}<++>')
- call <SID>Tex_VariousMenus('footnote{}' , '\footnote{<++>}<++>')
- call <SID>Tex_VariousMenus('footnotemark{}', '\footnotemark{<++>}<++>')
- call <SID>Tex_VariousMenus('footnotemark{}', '\footnotetext{<++>}<++>')
- call <SID>Tex_VariousMenus('cite{}' , '\cite{<++>}<++>')
- call <SID>Tex_VariousMenus('nocite{}' , '\nocite{<++>}<++>')
- " }}}
-endif
-
-if g:Tex_CatchVisMapErrors
- exe "vnoremap ".g:Tex_Leader." :\<C-u>call ExecMap('".g:Tex_Leader."', 'v')\<CR>"
-endif
-" this is for avoiding reinclusion of imaps from next time on.
-let s:doneOnce = 1
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/envmacros.vim b/.vim/ftplugin/latex-suite/envmacros.vim
deleted file mode 100644
index 2f41a27..0000000
--- a/.vim/ftplugin/latex-suite/envmacros.vim
+++ /dev/null
@@ -1,1167 +0,0 @@
-"=============================================================================
-" File: envmacros.vim
-" Author: Mikolaj Machowski
-" Created: Tue Apr 23 08:00 PM 2002 PST
-" CVS Header: $Id: envmacros.vim 997 2006-03-20 09:45:45Z srinathava $
-" Description: mappings/menus for environments.
-"=============================================================================
-
-if !g:Tex_EnvironmentMaps && !g:Tex_EnvironmentMenus
- finish
-endif
-
-exe 'so '.expand('<sfile>:p:h').'/wizardfuncs.vim'
-
-nmap <silent> <script> <plug> i
-imap <silent> <script> <C-o><plug> <Nop>
-
-" Define environments for IMAP evaluation " {{{
-let s:figure = "\\begin{figure}[<+htpb+>]\<cr>\\begin{center}\<cr>\\psfig{figure=<+eps file+>}\<cr>\\end{center}\<cr>\\caption{<+caption text+>}\<cr>\\label{fig:<+label+>}\<cr>\\end{figure}<++>"
-let s:figure_graphicx = "\\begin{figure}[<+htpb+>]\<cr>\\begin{center}\<cr>\\includegraphics{<+file+>}\<cr>\\end{center}\<cr>\\caption{<+caption text+>}\<cr>\\label{fig:<+label+>}\<cr>\\end{figure}<++>"
-let s:minipage = "\\begin{minipage}[<+tb+>]{<+width+>}\<cr><++>\<cr>\\end{minipage}<++>"
-let s:picture = "\\begin{picture}(<+width+>, <+height+>)(<+xoff+>,<+yoff+>)\<cr>\\put(<+xoff+>,<+yoff+>){\\framebox(<++>,<++>){<++>}}\<cr>\\end{picture}<++>"
-let s:list = "\\begin{list}{<+label+>}{<+spacing+>}\<cr>\\item <++>\<cr>\\end{list}<++>"
-let s:table = "\\begin{table}\<cr>\\centering\<cr>\\begin{tabular}{<+dimensions+>}\<cr><++>\<cr>\\end{tabular}\<cr>\\caption{<+Caption text+>}\<cr>\\label{tab:<+label+>}\<cr>\\end{table}<++>"
-let s:array = "\\left<++>\<cr>\\begin{array}{<+dimension+>}\<cr><+elements+>\<cr>\\end{array}\<cr>\\right<++>"
-let s:description ="\\begin{description}\<cr>\\item[<+label+>]<++>\<cr>\\end{description}<++>"
-let s:document = "\\documentclass[<+options+>]{<+class+>}\<cr>\<cr>\\begin{document}\<cr><++>\<cr>\\end{document}"
-let s:tabular = "\\begin{tabular}[<+hbtp+>]{<+format+>}\<cr><++>\<cr>\\end{tabular}"
-let s:tabular_star = "\\begin{tabular*}[<+hbtp+>]{<+format+>}\<cr><++>\<cr>\\end{tabular*}"
-let s:frame = "\\begin{frame}{<+title>}\<cr><++>\<cr>\\end{frame}<++>"
-
-" }}}
-" define environments with special behavior in line wise selection. {{{
-if !exists('s:vis_center_left')
- let s:vis_center_left = '\centerline{'
- let s:vis_center_right = '}'
-
- let s:vis_verbatim_left = '\verb\|'
- let s:vis_verbatim_right = '\|'
-
- let s:vis_flushright_left = '{\raggedright '
- let s:vis_flushright_right = '}'
-
- let s:vis_fushleft_left = '{\raggedleft '
- let s:vis_fushleft_right = '}'
-
- let s:vis_lrbox_left = '\sbox{'
- let s:vis_lrbox_right = '}'
-endif
-" }}}
-" Tex_EnvMacros: sets up maps and menus for environments {{{
-" Description:
-function! <SID>Tex_EnvMacros(lhs, submenu, name)
-
- let extra = ''
- if a:submenu =~ 'Lists'
- let extra = '\item '
- endif
-
- let vright = ''
- let vleft = ''
- if exists('s:vis_'.a:name.'_right')
- let vright = s:vis_{a:name}_right
- let vleft = s:vis_{a:name}_left
- endif
- let vrhs = "\<C-\\>\<C-N>:call VEnclose('".vleft."', '".vright."', '\\begin{".a:name."}', '\\end{".a:name."}')\<CR>"
- let location = g:Tex_EnvMenuLocation.a:submenu.a:name.'<tab>'
-
- if a:lhs != ''
-
- let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '')
- let location = location.a:lhs.'\ ('.vlhs.')'
-
- if g:Tex_EnvironmentMaps && !exists('s:doneOnce')
- call IMAP(a:lhs, "\<C-r>=Tex_PutEnvironment('".a:name."')\<CR>", 'tex')
- exec 'vnoremap <silent> '.vlhs.' '.vrhs
- endif
-
- endif
-
- if g:Tex_Menus && g:Tex_EnvironmentMenus && has("gui_running")
- exe 'amenu '.location.' <plug><C-r>=Tex_DoEnvironment("'.a:name.'")<CR>'
- exe 'vmenu '.location.' '.vrhs
- endif
-
-endfunction
-
-" }}}
-" Tex_SpecialMacros: macros with special right hand sides {{{
-" Description:
-function! <SID>Tex_SpecialMacros(lhs, submenu, name, irhs, ...)
-
- let wiz = 1
- if a:0 > 0 && a:1 == 0
- let wiz = 0
- endif
-
- let location = g:Tex_EnvMenuLocation.a:submenu.a:name
-
- let vright = ''
- let vleft = ''
- if exists('s:vis_'.a:name.'_right')
- let vright = s:vis_{a:name}_right
- let vleft = s:vis_{a:name}_left
- endif
- let vrhs = "\<C-\\>\<C-N>:call VEnclose('".vleft."', '".vright."', '\\begin{".a:name."}', '\\end{".a:name."}')\<CR>"
-
- if a:lhs != ''
-
- let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '')
- let location = location.'<tab>'.a:lhs.'\ ('.vlhs.')'
-
- if g:Tex_EnvironmentMaps && !exists('s:doneOnce')
- call IMAP(a:lhs, a:irhs, 'tex')
- exec 'vnoremap '.vlhs.' '.vrhs
- endif
-
- endif
-
- if g:Tex_Menus && g:Tex_EnvironmentMenus
- if wiz
- exe 'amenu '.location.' <plug><C-r>=Tex_DoEnvironment("'.a:name.'")<CR>'
- else
- exe 'amenu '.location." <plug><C-r>=IMAP_PutTextWithMovement('".a:irhs."')<CR>"
- endif
- exe 'vmenu '.location.' '.vrhs
- endif
-
-endfunction " }}}
-" Tex_SectionMacros: creates section maps and menus {{{
-" Description:
-function! <SID>Tex_SectionMacros(lhs, name)
-
- let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '')
- let vrhs = "\<C-\\>\<C-N>:call VEnclose('\\".a:name."{', '}', '', '')<CR>"
-
- if g:Tex_SectionMaps && !exists('s:doneOnce')
- exe 'vnoremap '.vlhs.' '.vrhs
- call IMAP (a:lhs, "\\".a:name.'{<++>}<++>', 'tex')
- endif
-
- if g:Tex_Menus && g:Tex_SectionMenus
- let location = g:Tex_EnvMenuLocation.'Sections.'.a:name.'<tab>'.a:lhs.'\ ('.vlhs.')'
- let advlocation = g:Tex_EnvMenuLocation.'Sections.Advanced.'.a:name
-
- let irhs = "\<C-r>=IMAP_PutTextWithMovement('\\".a:name."{<++>}<++>')\<CR>"
-
- let advirhs = "\<C-r>=Tex_InsSecAdv('".a:name."')\<CR>"
- let advvrhs = "\<C-\\>\<C-N>:call Tex_VisSecAdv('".a:name."')\<CR>"
-
- exe 'amenu '.advlocation.' <plug>'.advirhs
- exe 'vnoremenu '.advlocation." ".advvrhs
-
- exe 'amenu '.location.' <plug>'.irhs
- exe 'vnoremenu '.location." ".vrhs
- endif
-endfunction " }}}
-
-" NewEnvironments {{{
-call s:Tex_SpecialMacros('', '', 'newenvironment', '\newenvironment{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', '', 'newenvironment*', '\newenvironment*{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', '', 'renewenvironment', '\renewenvironment{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', '', 'renewenvironment*', '\renewenvironment*{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', '', '-sepenv0-', ' :', 0)
-" }}}
-" Environments specific commands {{{
-call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', '&item', '\item', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', 'i&tem[]', '\item[<++>]<++>', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', '&bibitem{}', '\bibitem{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&=', '\=', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&>', '\>', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&\\\\', '\\', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&+', '\+', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&-', '\-', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', "\\\'", "\\\'", 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&`', '\`', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&kill', '\kill', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&makron\ \\CHAR=', '\<++>=<++>', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', "&aigu\ \\CHAR\'", "\\<++>\'<++>", 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&grave\ \\CHAR`', '\<++>`<++>', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', 'p&ushtabs', '\pushtabs', 0)
-call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', 'p&optabs', '\poptabs', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&hline', '\hline', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&cline', '\cline', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&\&', '&', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&\\\\', '\\', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&multicolumn{}{}{}', '\multicolumn{<++>}{<++>}{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&makelabels', '\makelabels', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&address', '\address', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&signature', '\signature', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&date', '\date', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '-sepenva4-', ' :', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&opening{}', '\opening{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&closing{}', '\closing{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&ps{}', '\ps{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', 'cc&{}', '\cc{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&onlyslides{}', '\onlyslides{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&onlynotes{}', '\onlynotes{<++>}<++>', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '-sepenva5-', ' :', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&invisible', '\invisible', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&visible', '\visible', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&settime', '\settime', 0)
-call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&addtime', '\addtime', 0)
-call s:Tex_SpecialMacros('', '', '-sepenv0-', ' :', 0)
-" }}}
-" Lists {{{
-call s:Tex_SpecialMacros('ELI', '&Lists.', 'list', s:list)
-call s:Tex_SpecialMacros('EDE', '&Lists.', 'description', s:description)
-call s:Tex_EnvMacros('EEN', '&Lists.', 'enumerate')
-call s:Tex_EnvMacros('EIT', '&Lists.', 'itemize')
-call s:Tex_EnvMacros('ETI', '&Lists.', 'theindex')
-call s:Tex_EnvMacros('ETL', '&Lists.', 'trivlist')
-" }}}
-" Tables {{{
-call s:Tex_SpecialMacros('ETE', '&Tables.', 'table', s:table)
-call s:Tex_EnvMacros('ETG', '&Tables.', 'tabbing')
-call s:Tex_EnvMacros('', '&Tables.', 'table*')
-call s:Tex_EnvMacros('', '&Tables.', 'table2')
-call s:Tex_SpecialMacros('ETR', '&Tables.', 'tabular', s:tabular)
-call s:Tex_SpecialMacros('', '&Tables.', 'tabular*', s:tabular_star)
-" }}}
-" Math {{{
-call s:Tex_EnvMacros('EAR', '&Math.', 'array')
-call s:Tex_EnvMacros('EDM', '&Math.', 'displaymath')
-call s:Tex_EnvMacros('EEA', '&Math.', 'eqnarray')
-call s:Tex_EnvMacros('', '&Math.', 'eqnarray*')
-call s:Tex_EnvMacros('EEQ', '&Math.', 'equation')
-call s:Tex_EnvMacros('EMA', '&Math.', 'math')
-" }}}
-" Structure {{{
-call s:Tex_SpecialMacros('EAR', 'Math.', 'array', s:array)
-call s:Tex_EnvMacros('EAB', '&Structure.', 'abstract')
-call s:Tex_EnvMacros('EAP', '&Structure.', 'appendix')
-call s:Tex_EnvMacros('ECE', '&Structure.', 'center')
-call s:Tex_EnvMacros('EDO', '&Structure.', 'document')
-call s:Tex_EnvMacros('EFC', '&Structure.', 'filecontents')
-call s:Tex_EnvMacros('', '&Structure.', 'filecontents*')
-call s:Tex_EnvMacros('EFL', '&Structure.', 'flushleft')
-call s:Tex_EnvMacros('EFR', '&Structure.', 'flushright')
-call s:Tex_EnvMacros('EQN', '&Structure.', 'quotation')
-call s:Tex_EnvMacros('EQE', '&Structure.', 'quote')
-call s:Tex_EnvMacros('ESB', '&Structure.', 'sloppybar')
-call s:Tex_EnvMacros('ETI', '&Structure.', 'theindex')
-call s:Tex_EnvMacros('ETP', '&Structure.', 'titlepage')
-call s:Tex_EnvMacros('EVM', '&Structure.', 'verbatim')
-call s:Tex_EnvMacros('', '&Structure.', 'verbatim*')
-call s:Tex_EnvMacros('EVE', '&Structure.', 'verse')
-call s:Tex_EnvMacros('ETB', '&Structure.', 'thebibliography')
-call s:Tex_SpecialMacros('', '&Structure.', '-sepstruct0-', ':', 0)
-call s:Tex_EnvMacros('ENO', '&Structure.', 'note')
-call s:Tex_EnvMacros('EOV', '&Structure.', 'overlay')
-call s:Tex_EnvMacros('ESL', '&Structure.', 'slide')
-" }}}
-" Sections {{{
-call s:Tex_SectionMacros('SPA', 'part')
-call s:Tex_SectionMacros('SCH', 'chapter')
-call s:Tex_SectionMacros('SSE', 'section')
-call s:Tex_SectionMacros('SSS', 'subsection')
-call s:Tex_SectionMacros('SS2', 'subsubsection')
-call s:Tex_SectionMacros('SPG', 'paragraph')
-call s:Tex_SectionMacros('SSP', 'subparagraph')
-" }}}
-" Miscellaneous {{{
-call s:Tex_SpecialMacros('', '', '-sepenv1-', ' :', 0)
-call s:Tex_SpecialMacros('EFI', '', 'figure', "\<C-r>=Tex_PutEnvironment('figure')\<CR>")
-call s:Tex_EnvMacros('', '', 'figure*')
-call s:Tex_EnvMacros('ELR', '', 'lrbox')
-call s:Tex_SpecialMacros('EMP', '', 'minipage', s:minipage)
-call s:Tex_SpecialMacros('EPI', '', 'picture', s:picture)
-" }}}
-
-if g:Tex_CatchVisMapErrors
- exe 'vnoremap '.g:Tex_Leader2." :\<C-u>call ExecMap('".g:Tex_Leader2."', 'v')\<CR>"
-endif
-
-" ==============================================================================
-" Specialized functions for various environments
-"
-" All these functions are to be used as:
-"
-" inoremap <lhs> <C-r>=Tex_itemize('enumerate')<CR>
-" nnoremap <lhs> i<C-r>=Tex_itemize('enumerate')<CR>
-"
-" and so on...
-" ==============================================================================
-" Tex_itemize: {{{
-function! Tex_itemize(env)
- return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr>\\item <++>\<cr>\\end{".a:env."}<++>")
-endfunction
-" }}}
-" Tex_description: {{{
-function! Tex_description(env)
- if g:Tex_UseMenuWizard == 1
- let itlabel = input('(Optional) Item label? ')
- if itlabel != ''
- let itlabel = '['.itlabel.']'
- endif
- return IMAP_PutTextWithMovement("\\begin{description}\<cr>\\item".itlabel." <++>\<cr>\\end{description}<++>")
- else
- return IMAP_PutTextWithMovement(s:description)
- endif
-endfunction
-" }}}
-" Tex_figure: {{{
-function! Tex_figure(env)
- if g:Tex_UseMenuWizard == 1
- let flto = input('Float to (htbp)? ')
- let caption = input('Caption? ')
- let center = input('Center ([y]/n)? ')
- let label = input('Label (for use with \ref)? ')
- " additional to AUC Tex since my pics are usually external files
- let pic = input('Name of Pic-File? ')
- if flto != ''
- let flto = '['.flto."]\<cr>"
- else
- let flto = "\<cr>"
- endif
- if pic != ''
- let pic = '\input{'.pic."}\<cr>"
- else
- let pic = "<++>\<cr>"
- endif
- if caption != ''
- let caption = '\caption{'.caption."}\<cr>"
- endif
- if label != ''
- let label = '\label{fig:'.label."}\<cr>"
- endif
- if center == 'y'
- let centr = '\begin{center}' . "\<cr>"
- let centr = centr . pic
- let centr = centr . caption
- let centr = centr . label
- let centr = centr . '\end{center}' . "\<cr>"
- else
- let centr = pic
- let centr = centr . caption
- let centr = centr . label
- endif
- let figure = '\begin{'.a:env.'}'.flto
- let figure = figure . centr
- let figure = figure . '\end{'.a:env.'}'
- return IMAP_PutTextWithMovement(figure)
- else
- if g:Tex_package_detected =~ '\<graphicx\>'
- return IMAP_PutTextWithMovement(s:figure_graphicx)
- else
- return IMAP_PutTextWithMovement(s:figure)
- endif
- endif
-endfunction
-" }}}
-" Tex_table: {{{
-function! Tex_table(env)
- if g:Tex_UseMenuWizard == 1
- let flto = input('Float to (htbp)? ')
- let caption = input('Caption? ')
- let center = input('Center (y/n)? ')
- let label = input('Label? ')
- if flto != ''
- let flto ='['.flto."]\<cr>"
- else
- let flto = ''
- endif
- let ret='\begin{table}'.flto
- if center == 'y'
- let ret=ret."\\begin{center}\<cr>"
- endif
- let foo = '\begin{tabular}'
- let pos = input('(Optional) Position (t b)? ')
- if pos != ''
- let foo = foo.'['.pos.']'
- else
- let foo = foo."\<cr>"
- endif
- let format = input("Format ( l r c p{width} | @{text} )? ")
- if format == ''
- let format = '<++>'
- endif
- let ret = ret.foo.'{'.format."}\<cr><++>\<cr>\\end{tabular}<++>\<cr>"
- if center == 'y'
- let ret=ret."\\end{center}\<cr>"
- endif
- if caption != ''
- let ret=ret.'\caption{'.caption."}\<cr>"
- endif
- if label != ''
- let ret=ret.'\label{tab:'.label."}\<cr>"
- endif
- let ret=ret.'\end{table}<++>'
- return IMAP_PutTextWithMovement(ret)
- else
- return IMAP_PutTextWithMovement(s:table)
- endif
-endfunction
-" }}}
-" Tex_tabular: {{{
-function! Tex_tabular(env)
- if g:Tex_UseMenuWizard == 1
- let pos = input('(Optional) Position (t b)? ')
- let format = input("Format ( l r c p{width} | @{text} )? ")
- if pos != ''
- let pos = '['.pos.']'
- endif
- if format != ''
- let format = '{'.format.'}'
- endif
- return IMAP_PutTextWithMovement('\begin{'.a:env.'}'.pos.format."\<cr> \<cr>\\end{".a:env.'}<++>')
- else
- return IMAP_PutTextWithMovement('\begin{'.a:env.'}[<+position+>]{<+format+>}'."\<cr><++>\<cr>\\end{".a:env.'}<++>')
- endif
-endfunction
-" }}}
-" Tex_eqnarray: {{{
-function! Tex_eqnarray(env)
- if g:Tex_UseMenuWizard == 1
- if a:env !~ '\*'
- let label = input('Label? ')
- if label != ''
- let arrlabel = '\label{'.label."}\<cr>"
- else
- let arrlabel = ''
- endif
- else
- let arrlabel = ''
- endif
- else
- if a:env !~ '\*'
- let arrlabel = "\\label{<++>}\<cr>"
- else
- let arrlabel = ""
- endif
- endif
- return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr><++>\<cr>".arrlabel."\\end{".a:env."}<++>")
-endfunction
-" }}}
-" Tex_list: {{{
-function! Tex_list(env)
- if g:Tex_UseMenuWizard == 1
- let label = input('Label (for \item)? ')
- if label != ''
- let label = '{'.label.'}'
- let addcmd = input('Additional commands? ')
- if addcmd != ''
- let label = label . '{'.addcmd.'}'
- endif
- else
- let label = ''
- endif
- return IMAP_PutTextWithMovement('\begin{list}'.label."\<cr>\\item \<cr>\\end{list}<++>")
- else
- return IMAP_PutTextWithMovement(s:list)
- endif
-endfunction
-" }}}
-" Tex_document: {{{
-function! Tex_document(env)
- if g:Tex_UseMenuWizard == 1
- let dstyle = input('Document style? ')
- let opts = input('(Optional) Options? ')
- let foo = '\documentclass'
- if opts == ''
- let foo = foo.'{'.dstyle.'}'
- else
- let foo = foo.'['.opts.']'.'{'.dstyle.'}'
- endif
- return IMAP_PutTextWithMovement(foo."\<cr>\<cr>\\begin{document}\<cr><++>\<cr>\\end{document}")
- else
- return IMAP_PutTextWithMovement(s:document)
- endif
-endfunction
-" }}}
-" Tex_minipage: {{{
-function! Tex_minipage(env)
- if g:Tex_UseMenuWizard == 1
- let foo = '\begin{minipage}'
- let pos = input('(Optional) Position (t b)? ')
- let width = input('Width? ')
- if pos == ''
- let foo = foo.'{'.width.'}'
- else
- let foo = foo.'['.pos.']{'.width.'}'
- endif
- return IMAP_PutTextWithMovement(foo."\<cr><++>\<cr>\\end{minipage}<++>")
- else
- return IMAP_PutTextWithMovement(s:minipage)
- endif
-endfunction
-" }}}
-" Tex_thebibliography: {{{
-function! Tex_thebibliography(env)
- if g:Tex_UseMenuWizard == 1
- " AUC Tex: "Label for BibItem: 99"
- let indent = input('Indent for BibItem? ')
- let foo = '{'.indent.'}'
- let biblabel = input('(Optional) Bibitem label? ')
- let key = input('Add key? ')
- let bar = '\bibitem'
- if biblabel != ''
- let bar = bar.'['.biblabel.']'
- endif
- let bar = bar.'{'.key.'}'
- return IMAP_PutTextWithMovement('\begin{thebibliography}'.foo."\<cr>".bar." \<cr>\\end{thebibliography}<++>\<Up>")
- else
- return IMAP_PutTextWithMovement(
- \ "\\begin{thebibliography}\<CR>".
- \ "\\item[<+biblabel+>]{<+bibkey+>} <++>\<CR>".
- \ "<++>\<CR>".
- \ "\\end{thebibliography}<++>")
- endif
-endfunction
-" }}}
-
-" ==============================================================================
-" Contributions / suggestions from Carl Mueller (auctex.vim)
-" ==============================================================================
-" PromptForEnvironment: prompts for an environment {{{
-" Description:
-function! PromptForEnvironment(ask)
- return Tex_ChooseFromPrompt(
- \ a:ask."\n" .
- \ Tex_CreatePrompt(g:Tex_PromptedEnvironments, 2, ",") .
- \ "\nEnter nae or number of environment :",
- \ g:Tex_PromptedEnvironments, ",")
-endfunction " }}}
-" Tex_DoEnvironment: fast insertion of environments {{{
-" Description:
-" The menus call this function with an argument (the name of the environment
-" to insert). The maps call this without any arguments. In this case, it
-" prompts for an environment to enter if the current line is empty. If
-" called without arguments and there is a word on the current line, then use
-" that as the name of a new environment.
-function! Tex_DoEnvironment(...)
- if a:0 < 1
- let env = matchstr(getline('.'), '^\s*\zs\w*\*\=\ze\s*$')
- " If in current line is more than one word or in visual mode
- " ignore contents of line and prompt for environment
- if env == '' || (exists('s:isvisual') && s:isvisual == 'yes')
- let env = PromptForEnvironment('Choose which environment to insert: ')
- if env != ''
- return Tex_PutEnvironment(env)
- else
- return ''
- endif
- else
- " delete the word on the line into the blackhole register.
- normal! 0"_D
- return Tex_PutEnvironment(env)
- endif
- else
- return Tex_PutEnvironment(a:1)
- endif
-endfunction " }}}
-" Tex_PutEnvironment: calls various specialized functions {{{
-" Description:
-" Based on input argument, it calls various specialized functions.
-function! Tex_PutEnvironment(env)
- if exists("s:isvisual") && s:isvisual == "yes"
- let s:isvisual = 'no'
- if a:env == '\['
- return VEnclose('', '', '\[', '\]')
- elseif a:env == '$$'
- return VEnclose('', '', '$$', '$$')
- endif
- return VEnclose('\begin{'.a:env.'}', '\end{'.a:env.'}', '\begin{'.a:env.'}', '\end{'.a:env.'}')
- else
- " The user can define something like
- " let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}"
- " This will effectively over-write the default definition of the
- " theorem environment which uses a \label.
- if exists("b:Tex_Env_{'".a:env."'}")
- return IMAP_PutTextWithMovement(b:Tex_Env_{a:env})
- elseif exists("g:Tex_Env_{'".a:env."'}")
- return IMAP_PutTextWithMovement(g:Tex_Env_{a:env})
- elseif a:env =~ 'equation*\|eqnarray*\|theorem\|lemma\|equation\|eqnarray\|align\*\|align\>\|multline'
- let g:aa = a:env
- return Tex_eqnarray(a:env)
- elseif a:env =~ "enumerate\\|itemize\\|theindex\\|trivlist"
- return Tex_itemize(a:env)
- elseif a:env =~ "table\\|table*"
- return Tex_table(a:env)
- elseif a:env =~ "tabular\\|tabular*\\|array\\|array*"
- return Tex_tabular(a:env)
- elseif exists('*Tex_'.a:env)
- exe 'return Tex_'.a:env.'(a:env)'
- elseif a:env == '$$'
- return IMAP_PutTextWithMovement('$$<++>$$')
- elseif a:env == '\['
- return IMAP_PutTextWithMovement("\\[\<CR><++>\<CR>\\]<++>")
- else
- " Look in supported packages if exists template for environment
- " given in the line
- if exists('g:Tex_package_supported') && g:Tex_package_supported != ''
- let i = 1
- while Tex_Strntok(g:Tex_package_supported, ',', i) != ''
- let checkpack = Tex_Strntok(g:Tex_package_supported, ',', i)
- if g:TeX_package_{checkpack} =~ 'e..:'.a:env
- if a:env =~ '*'
- " Don't allow * to be treated as wildcard
- let aenv = substitute(a:env, '*', '\\*', '')
- else
- let aenv = a:env
- endif
- let envcommand = matchstr(g:TeX_package_{checkpack}, '\zse..:'.aenv.'[^,]\{-}\ze,')
- return Tex_ProcessPackageCommand(envcommand)
- endif
- let i = i + 1
- endwhile
- endif
- " If nothing before us managed to create an environment, then just
- " create a bare-bones environment from the name.
- return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr><++>\<cr>\\end{".a:env."}<++>")
- endif
-endfunction " }}}
-" Mapping the <F5> key to insert/prompt for an environment/package {{{
-" and <S-F5> to prompt/replace an environment
-"
-" g:Tex_PromptedEnvironments is a variable containing a comma seperated list
-" of environments. This list defines the prompt which latex-suite sets up when
-" the user presses <F5> on an empty line.
-"
-" Leaving this empty is equivalent to disabling the feature.
-if g:Tex_PromptedEnvironments != ''
-
- let b:DoubleDollars = 0
-
- " Provide only <plug>s here. main.vim will create the actual maps.
- inoremap <silent> <Plug>Tex_FastEnvironmentInsert <C-r>=Tex_FastEnvironmentInsert("no")<cr>
- nnoremap <silent> <Plug>Tex_FastEnvironmentInsert i<C-r>=Tex_FastEnvironmentInsert("no")<cr>
- vnoremap <silent> <Plug>Tex_FastEnvironmentInsert <C-\><C-N>:call Tex_FastEnvironmentInsert("yes")<CR>
- inoremap <silent> <Plug>Tex_FastEnvironmentChange <C-O>:call Tex_ChangeEnvironments()<CR>
- nnoremap <silent> <Plug>Tex_FastEnvironmentChange :call Tex_ChangeEnvironments()<CR>
-
- " Tex_FastEnvironmentInsert: maps <F5> to prompt for env and insert it " {{{
- " Description:
- " This function calculates whether we are in the preamble. If we are
- " then inserts a \usepackage line by either reading in a word from the
- " current line or prompting to type in one. If not in the preamble, then
- " inserts a environment template either by reading in a word from the
- " current line or prompting the user to choose one.
- "
- function! Tex_FastEnvironmentInsert(isvisual)
-
- let start_line = line('.')
- let pos = line('.').' | normal! '.virtcol('.').'|'
- let s:isvisual = a:isvisual
-
- " decide if we are in the preamble of the document. If we are then
- " insert a package, otherwise insert an environment.
- "
- if search('\\documentclass', 'bW') && search('\\begin{document}')
-
- " If there is a \documentclass line and a \begin{document} line in
- " the file, then a part of the file is the preamble.
-
- " search for where the document begins.
- let begin_line = search('\\begin{document}')
- " if the document begins after where we are presently, then we are
- " in the preamble.
- if start_line < begin_line
- " return to our original location and insert a package
- " statement.
- exe pos
- return Tex_package_from_line()
- else
- " we are after the preamble. insert an environment.
- exe pos
- return Tex_DoEnvironment()
- endif
-
- elseif search('\\documentclass')
- " if there is only a \documentclass but no \begin{document}, then
- " the entire file is a preamble. Put a package.
-
- exe pos
- return Tex_package_from_line()
-
- else
- " no \documentclass, put an environment.
-
- exe pos
- return Tex_DoEnvironment()
-
- endif
-
- endfunction
-
- " }}}
- " Tex_package_from_line: puts a \usepackage line in the current line. " {{{
- " Description:
- "
- function! Tex_package_from_line()
- " Function Tex_PutPackage is defined in packages.vim
- " Ignores <F5> in Visual mode
- if s:isvisual == "yes"
- return 0
- else
- let l = getline(".")
- let pack = matchstr(l, '^\s*\zs.*')
- normal! 0"_D
- return Tex_pack_one(pack)
- endif
- endfunction
-
- " }}}
- " Tex_ChangeEnvironments: calls Change() to change the environment {{{
- " Description:
- " Finds out which environment the cursor is positioned in and changes
- " that to the chosen new environment. This function knows the changes
- " which need to be made to change one env to another and calls
- " Change() with the info.
- "
- function! Tex_ChangeEnvironments()
-
- let env_line = searchpair('$$\|\\[\|begin{', '', '$$\|\\]\|end{', "bn")
-
- if env_line != 0
- if getline(env_line) !~ 'begin{'
- let env_name = '['
- else
- let env_name = matchstr(getline(env_line), 'begin{\zs.\{-}\ze}')
- endif
- endif
-
- if !exists('env_name')
- echomsg "You are not inside environment"
- return 0
- endif
-
- exe 'echomsg "You are within a '.env_name.' environment."'
- let change_env = PromptForEnvironment('What do you want to change it to? ')
-
- if change_env == 'eqnarray'
- call <SID>Change('eqnarray', 1, '', 1)
- elseif change_env == 'eqnarray*'
- call <SID>Change('eqnarray*', 0, '\\nonumber', 0)
- elseif change_env == 'align'
- call <SID>Change('align', 1, '', 1)
- elseif change_env == 'align*'
- call <SID>Change('align*', 0, '\\nonumber', 0)
- elseif change_env == 'equation*'
- call <SID>Change('equation*', 0, '&\|\\lefteqn{\|\\nonumber\|\\\\', 0)
- elseif change_env == ''
- return 0
- else
- call <SID>Change(change_env, 0, '', '')
- return 0
- endif
-
- endfunction
-
- " }}}
- " Change: changes the current env to the new env {{{
- " Description:
- " This function needs to know the changes which need to be made while
- " going from an old environment to a new one. This info, it gets from
- " Tex_ChangeEnvironments
- "
- " env : name of the new environment.
- " label : if 1, then insert a \label at the end of the environment.
- " otherwise, delete any \label line found.
- " delete : a pattern which is to be deleted from the original environment.
- " for example, going to a eqnarray* environment means we need to
- " delete \label's.
- " putInNonumber : whether we need to put a \nonumber before the end of the
- " environment.
- function! s:Change(env, label, delete, putInNonumber)
-
- let start_line = line('.')
- let start_col = virtcol('.')
-
- if a:env == '['
- if b:DoubleDollars == 0
- let first = '\\['
- let second = '\\]'
- else
- let first = '$$'
- let second = '$$'
- endif
- else
- let first = '\\begin{' . a:env . '}'
- let second = '\\end{' . a:env . '}'
- endif
-
- if b:DoubleDollars == 0
- let bottom = searchpair('\\\[\|\\begin{','','\\\]\|\\end{','')
- s/\\\]\|\\end{.\{-}}/\=second/
- let top = searchpair('\\\[\|\\begin{','','\\\]\|\\end{','b')
- s/\\\[\|\\begin{.\{-}}/\=first/
- else
- let bottom = search('\$\$\|\\end{')
- s/\$\$\|\\end{.\{-}}/\=second/
- let top = search('\$\$\|\\begin{','b')
- s/\$\$\|\\begin{.\{-}}/\=first/
- end
- if a:delete != ''
- exe 'silent '. top . "," . bottom . 's/' . a:delete . '//e'
- endif
-
- if a:putInNonumber == 1
- exe top
- call search('\\end\|\\\\')
- if line('.') != bottom
- exe '.+1,' . bottom . 's/\\\\/\\nonumber\\\\/e'
- exe (bottom-1) . 's/\s*$/ \\nonumber/'
- endif
- endif
-
- if a:label == 1
- exe top
- if search("\\label", "W") > bottom
- exe top
- let local_label = input('Label? ')
- if local_label != ''
- put = '\label{'.local_label.'}'
- endif
- normal $
- endif
- else
- exe 'silent '.top . ',' . bottom . ' g/\\label/delete'
- endif
-
- if exists('local_label') && local_label != ''
- exe start_line + 1.' | normal! '.start_col.'|'
- else
- exe start_line.' | normal! '.start_col.'|'
- endif
- endfunction " }}}
-
-endif
-
-" }}}
-" Map <S-F1> through <S-F4> to insert environments {{{
-if g:Tex_HotKeyMappings != ''
-
- " SetUpHotKeys: maps <F1> through <F4> to insert environments
- " Description:
- function! <SID>SetUpHotKeys()
- let i = 1
- let envname = Tex_Strntok(g:Tex_HotKeyMappings, ',', i)
- while envname != ''
-
- exec 'inoremap <silent> <buffer> <S-F'.i.'> <C-r>=Tex_PutEnvironment("'.envname.'")<CR>'
-
- let i = i + 1
- let envname = Tex_Strntok(g:Tex_HotKeyMappings, ',', i)
-
- endwhile
-
- endfunction
-
-endif
-
-" }}}
-" Tex_SetFastEnvironmentMaps: function for setting up the <F5> and <S-F1>-<S-F4> keys {{{
-" Description: This function is made public so it can be called by the
-" SetTeXOptions() function in main.vim
-function! Tex_SetFastEnvironmentMaps()
- if g:Tex_PromptedEnvironments != ''
- call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'i', '<silent> <buffer>')
- call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'n', '<silent> <buffer>')
- call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'v', '<silent> <buffer>')
- call Tex_MakeMap("<S-F5>", "<Plug>Tex_FastEnvironmentChange", 'i', '<silent> <buffer>')
- call Tex_MakeMap("<S-F5>", "<Plug>Tex_FastEnvironmentChange", 'n', '<silent> <buffer>')
- endif
- if g:Tex_HotKeyMappings != ''
- call s:SetUpHotKeys()
- endif
-endfunction " }}}
-
-" ==============================================================================
-" Contributions / Tex_InsertItem() from Johannes Tanzler
-" ==============================================================================
-" Tex_GetCurrentEnv: gets the current environment in which the cursor lies {{{
-" Description: handles cases such as:
-"
-" \begin{itemize}
-" \item first item
-" \item second item
-" \begin{description}
-" \item first desc
-" \item second
-" % Tex_GetCurrentEnv will return "description" when called from here
-" \end{description}
-" \item third item
-" % Tex_GetCurrentEnv will return "itemize" when called from here
-" \end{itemize}
-" % Tex_GetCurrentEnv will return "" when called from here
-"
-" Author: Alan Schmitt
-function! Tex_GetCurrentEnv()
- let pos = line('.').' | normal! '.virtcol('.').'|'
- let i = 0
- while 1
- let env_line = search('^[^%]*\\\%(begin\|end\){', 'bW')
- if env_line == 0
- " we reached the beginning of the file, so we return the empty string
- exe pos
- return ''
- endif
- if match(getline(env_line), '^[^%]*\\begin{') == -1
- " we found a \\end, so we keep searching
- let i = i + 1
- continue
- else
- " we found a \\begin which has not been \\end'ed. we are done.
- if i == 0
- let env = matchstr(getline(env_line), '\\begin{\zs.\{-}\ze}')
- exe pos
- return env
- else
- " this \\begin closes a \\end, continue searching.
- let i = i - 1
- continue
- endif
- endif
- endwhile
-endfunction
-" }}}
-" Tex_InsertItem: insert \item into a list {{{
-" Description: Find last \begin line, extract env name, return to the start
-" position and insert proper \item, depending on env name.
-" Env names are stored in g: variables it can be used by
-" package files.
-
-TexLet g:Tex_ItemStyle_itemize = '\item '
-TexLet g:Tex_ItemStyle_enumerate = '\item '
-TexLet g:Tex_ItemStyle_theindex = '\item '
-TexLet g:Tex_ItemStyle_thebibliography = '\item[<+biblabel+>]{<+bibkey+>} <++>'
-TexLet g:Tex_ItemStyle_description = '\item[<+label+>] <++>'
-
-function! Tex_InsertItem()
- " Get current enclosing environment
- let env = Tex_GetCurrentEnv()
-
- if exists('g:Tex_ItemStyle_'.env)
- return IMAP_PutTextWithMovement(g:Tex_ItemStyle_{env})
- else
- return ''
- endif
-endfunction
-" }}}
-" Tex_SetItemMaps: sets the \item inserting maps for current buffer {{{
-" Description:
-
-inoremap <script> <silent> <Plug>Tex_InsertItemOnThisLine <Esc>a<C-r>=Tex_InsertItem()<CR>
-inoremap <script> <silent> <Plug>Tex_InsertItemOnNextLine <ESC>o<C-R>=Tex_InsertItem()<CR>
-
-function! Tex_SetItemMaps()
- if !hasmapto("<Plug>Tex_InsertItem", "i")
- imap <buffer> <M-i> <Plug>Tex_InsertItemOnThisLine
- endif
- if !hasmapto("<Plug>Tex_InsertItemOnNextLine", "i")
- imap <buffer> <C-CR> <Plug>Tex_InsertItemOnNextLine
- endif
-endfunction " }}}
-
-" ==============================================================================
-" Implementation of Fast Environment commands for LaTeX commands
-" ==============================================================================
-" Define certain commonly used command definitions {{{
-
-TexLet g:Tex_Com_{'newtheorem'} = '\newtheorem{<+name+>}{<+caption+>}[<+within+>]'
-TexLet g:Tex_Com_{'frac'} = '\frac{<+n+>}{<+d+>}<++>'
-
-" }}}
-" PromptForCommand: prompts for a command {{{
-" Description:
-function! PromptForCommand(ask)
- let common_com_prompt =
- \ Tex_CreatePrompt(g:Tex_PromptedCommands, 2, ',') . "\n" .
- \ "Enter number or command name :"
-
- let inp = input(a:ask."\n".common_com_prompt)
- if inp =~ '^[0-9]\+$'
- let com = Tex_Strntok(g:Tex_PromptedCommands, ',', inp)
- else
- let com = inp
- endif
-
- return com
-endfunction " }}}
-" Tex_DoCommand: fast insertion of commands {{{
-" Description:
-"
-function! Tex_DoCommand(isvisual)
- " If the current line is empty or if a visual selection has been made,
- " prompt for a new environment.
- if getline('.') == '' || a:isvisual == 'yes'
- let com = PromptForCommand('Choose a command to insert: ')
- if com != ''
- return Tex_PutCommand(com, a:isvisual)
- else
- return ''
- endif
- else
- " We want to find out the word under the cursor without issuing
- " any movement commands.
- let presline = getline('.')
- let c = col('.')
-
- let wordbef = matchstr(strpart(presline, 0, c-1), '\k\+\*\?$')
- let wordaft = matchstr(strpart(presline, c-1), '^\k\+\*\?')
-
- let word = wordbef . wordaft
- call Tex_Debug("Tex_DoCommand: wordbef = [".wordbef."], wordaft = [".wordaft."], word = [".word."]", 'env')
-
- " We use \<Del> instead of \<Bs> because \<Bs> does not work
- " unless bs=2
- if word != ''
- return substitute(wordbef, '.', "\<Left>", 'g')
- \ . substitute(word, '.', "\<Del>", 'g')
- \ . Tex_PutCommand(word, a:isvisual)
- else
- let cmd = PromptForCommand('Choose a command to insert: ')
- if cmd != ''
- return Tex_PutCommand(cmd, a:isvisual)
- else
- return ''
- endif
- endif
- endif
-endfunction " }}}
-" Tex_PutCommand: calls various specialized functions {{{
-" Description:
-" Based on input argument, it calls various specialized functions.
-function! Tex_PutCommand(com, isvisual)
- if a:isvisual == "yes"
- if a:com == '$'
- return VEnclose('$', '$', '$', '$')
- elseif a:com == '\\('
- return VEnclose('\\(', '\\)', '\\(', '\\)')
- else
- return VEnclose("\\".a:com.'{', '}', "\\".a:com.'{', '}')
- endif
- else
- if exists('b:Tex_Com_{"'.a:com.'"}')
- return IMAP_PutTextWithMovement(b:Tex_Com_{a:com})
- elseif exists('g:Tex_Com_{"'.a:com.'"}')
- return IMAP_PutTextWithMovement(g:Tex_Com_{a:com})
- elseif a:com == '$'
- return IMAP_PutTextWithMovement('$<++>$')
- else
- return IMAP_PutTextWithMovement("\\".a:com.'{<++>}<++>')
- endif
- endif
-endfunction " }}}
-" Mapping the <F7> key to prompt/insert for command {{{
-" and <S-F7> to prompt/replace command
-"
-" g:Tex_PromptedCommands is a variable containing a comma seperated list
-" of commands.
-"
-" Leaving this empty is equivalent to disabling the feature.
-if g:Tex_PromptedCommands != ''
-
- let b:DoubleDollars = 0
-
- inoremap <silent> <Plug>Tex_FastCommandInsert <C-r>=Tex_DoCommand('no')<cr>
- nnoremap <silent> <Plug>Tex_FastCommandInsert i<C-r>=Tex_DoCommand('no')<cr>
- vnoremap <silent> <Plug>Tex_FastCommandInsert <C-\><C-N>:call Tex_DoCommand('yes')<CR>
-
- inoremap <silent> <Plug>Tex_FastCommandChange <C-O>:call Tex_ChangeCommand('no')<CR>
- nnoremap <silent> <Plug>Tex_FastCommandChange :call Tex_ChangeCommand('no')<CR>
-
- " Tex_ChangeCommand: calls ChangeCommand() to change the environment {{{
- " Description:
- " Finds out which environment the cursor is positioned in and changes
- " that to the chosen new environment. This function knows the changes
- " which need to be made to change one env to another and calls
- " ChangeCommand() with the info.
- "
- function! Tex_ChangeCommand(isvisual)
-
- let pos_com = line('.').' | normal! '.virtcol('.').'|'
-
- let com_line = searchpair('\\\k\{-}{', '', '}', 'b')
-
- if com_line != 0
- normal l
- let com_name = expand('<cword>')
- endif
-
- if !exists('com_name')
- echomsg "You are not inside command"
- exe pos_com
- return 0
- endif
-
- exe 'echomsg "You are within a '.com_name.' command."'
- let change_com = PromptForCommand('Do you want to change it to (number or name)? ')
-
- if change_com == ''
- exe pos_com
- return 0
- else
- call <SID>ChangeCommand(change_com)
- exe pos_com
- return 0
- endif
-
- endfunction
-
- " }}}
- " ChangeCommand: Changes current command according to prompt menu {{{
- " Description:
- "
- function! s:ChangeCommand(newcom)
-
- exe 'normal! ct{'.a:newcom."\<Esc>"
-
- endfunction
- " }}}
-
-endif
-
-" }}}
-" Tex_SetFastCommandMaps: function for setting up the <F7> keys {{{
-" Description: This function is made public so it can be called by the
-" SetTeXOptions() function in main.vim
-function! Tex_SetFastCommandMaps()
- if g:Tex_PromptedCommands != ''
- if !hasmapto('<Plug>Tex_FastCommandInsert', 'i')
- imap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert
- endif
- if !hasmapto('<Plug>Tex_FastCommandInsert', 'n')
- nmap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert
- endif
- if !hasmapto('<Plug>Tex_FastCommandChange', 'i')
- imap <silent> <buffer> <S-F7> <Plug>Tex_FastCommandChange
- endif
- if !hasmapto('<Plug>Tex_FastCommandChange', 'n')
- nmap <silent> <buffer> <S-F7> <Plug>Tex_FastCommandChange
- endif
- if !hasmapto('<Plug>Tex_FastCommandInsert', 'v')
- vmap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert
- endif
- endif
-endfunction " }}}
-
-" SetEnvMacrosOptions: sets mappings for buffers {{{
-" " Description:
-function! <SID>SetEnvMacrosOptions()
- if exists('b:doneTexEnvMaps')
- return
- endif
- let b:doneTexEnvMaps = 1
- if g:Tex_PromptedEnvironments != '' || g:Tex_HotKeyMappings != ''
- call Tex_SetFastEnvironmentMaps()
- endif
- if g:Tex_PromptedCommands != ''
- call Tex_SetFastCommandMaps()
- endif
- call Tex_SetItemMaps()
-endfunction " }}}
-" Catch the Filetype event so we set maps for each buffer {{{
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('envmacros.vim: Catching LatexSuiteFileType event', 'env') |
- \ call s:SetEnvMacrosOptions()
-augroup END
-" }}}
-
-" this statement has to be at the end.
-let s:doneOnce = 1
-
-" vim:fdm=marker:nowrap:noet:ff=unix
diff --git a/.vim/ftplugin/latex-suite/folding.vim b/.vim/ftplugin/latex-suite/folding.vim
deleted file mode 100644
index dfaa450..0000000
--- a/.vim/ftplugin/latex-suite/folding.vim
+++ /dev/null
@@ -1,393 +0,0 @@
-"=============================================================================
-" File: folding.vim
-" Author: Srinath Avadhanula
-" modifications/additions by Zhang Linbo
-" CVS: $Id: folding.vim 997 2006-03-20 09:45:45Z srinathava $
-" Created: Tue Apr 23 05:00 PM 2002 PST
-"
-" Description: functions to interact with Syntaxfolds.vim
-"=============================================================================
-
-nnoremap <unique> <Plug>Tex_RefreshFolds :call MakeTexFolds(1)<cr>
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('folding.vim: catching LatexSuiteFileType', 'fold') |
- \ call Tex_SetFoldOptions()
-augroup END
-
-" Tex_SetFoldOptions: sets maps for every buffer {{{
-" Description:
-function! Tex_SetFoldOptions()
- if exists('b:doneSetFoldOptions')
- return
- endif
- let b:doneSetFoldOptions = 1
-
- setlocal foldtext=TexFoldTextFunction()
-
- if g:Tex_Folding && g:Tex_AutoFolding
- call MakeTexFolds(0)
- endif
-
- let s:ml = exists('g:mapleader') ? g:mapleader : "\\"
-
- call Tex_MakeMap(s:ml."rf", "<Plug>Tex_RefreshFolds", 'n', '<silent> <buffer>')
-
-endfunction " }}}
-" Tex_FoldSections: creates section folds {{{
-" Author: Zhang Linbo
-" Description:
-" This function takes a comma seperated list of "sections" and creates fold
-" definitions for them. The first item is supposed to be the "shallowest" field
-" and the last is the "deepest". See g:Tex_FoldedSections for the default
-" definition of the lst input argument.
-"
-" **works recursively**
-function! Tex_FoldSections(lst, endpat)
- let i = match(a:lst, ',')
- if i > 0
- let s = strpart(a:lst, 0, i)
- else
- let s = a:lst
- endif
- if s =~ '%%fakesection'
- let s = '^\s*' . s
- else
- let s = '^\s*\\' . s . '\W'
- endif
- let endpat = s . '\|' . a:endpat
- if i > 0
- call Tex_FoldSections(strpart(a:lst,i+1), endpat)
- endif
- let endpat = '^\s*\\appendix\W\|' . endpat
- call AddSyntaxFoldItem(s, endpat, 0, -1)
-endfunction
-" }}}
-" MakeTexFolds: function to create fold items for latex. {{{
-"
-" used in conjunction with MakeSyntaxFolds().
-" see ../plugin/syntaxFolds.vim for documentation
-function! MakeTexFolds(force)
- if exists('g:Tex_Folding') && !g:Tex_Folding
- return
- endif
- if &ft != 'tex'
- return
- end
-
- " Setup folded items lists g:Tex_Foldedxxxx
- " 1. Use default value if g:Tex_Foldedxxxxxx is not defined
- " 2. prepend default value to g:Tex_Foldedxxxxxx if it starts with ','
- " 3. append default value to g:Tex_Foldedxxxxxx if it ends with ','
-
- " Folding items which are not caught in any of the standard commands,
- " environments or sections.
- let s = 'item,slide,preamble,<<<'
- if !exists('g:Tex_FoldedMisc')
- let g:Tex_FoldedMisc = s
- elseif g:Tex_FoldedMisc[0] == ','
- let g:Tex_FoldedMisc = s . g:Tex_FoldedMisc
- elseif g:Tex_FoldedMisc =~ ',$'
- let g:Tex_FoldedMisc = g:Tex_FoldedMisc . s
- endif
-
- " By default do not fold any commands. It looks like trying to fold
- " commands is a difficult problem since commands can be arbitrarily nested
- " and the end patterns are not unique unlike the case of environments.
- " For this to work well, we need a regexp which will match a line only if
- " a command begins on that line but does not end on that line. This
- " requires a regexp which will match unbalanced curly braces and that is
- " apparently not doable with regexps.
- let s = ''
- if !exists('g:Tex_FoldedCommands')
- let g:Tex_FoldedCommands = s
- elseif g:Tex_FoldedCommands[0] == ','
- let g:Tex_FoldedCommands = s . g:Tex_FoldedCommands
- elseif g:Tex_FoldedCommands =~ ',$'
- let g:Tex_FoldedCommands = g:Tex_FoldedCommands . s
- endif
-
- let s = 'verbatim,comment,eq,gather,align,figure,table,thebibliography,'
- \. 'keywords,abstract,titlepage'
- if !exists('g:Tex_FoldedEnvironments')
- let g:Tex_FoldedEnvironments = s
- elseif g:Tex_FoldedEnvironments[0] == ','
- let g:Tex_FoldedEnvironments = s . g:Tex_FoldedEnvironments
- elseif g:Tex_FoldedEnvironments =~ ',$'
- let g:Tex_FoldedEnvironments = g:Tex_FoldedEnvironments . s
- endif
-
- if !exists('g:Tex_FoldedSections')
- let g:Tex_FoldedSections = 'part,chapter,section,%%fakesection,'
- \. 'subsection,subsubsection,paragraph'
- endif
-
- " the order in which these calls are made decides the nestedness. in
- " latex, a table environment will always be embedded in either an item or
- " a section etc. not the other way around. so we first fold up all the
- " tables. and then proceed with the other regions.
-
- let b:numFoldItems = 0
-
- " ========================================================================
- " How to add new folding items {{{
- " ========================================================================
- "
- " Each of the following function calls defines a syntax fold region. Each
- " definition consists of a call to the AddSyntaxFoldItem() function.
- "
- " The order in which the folds are defined is important. Juggling the
- " order of the function calls will create havoc with folding. The
- " "deepest" folding item needs to be called first. For example, if
- " the \begin{table} environment is a subset (or lies within) the \section
- " environment, then add the definition for the \table first.
- "
- " The AddSyntaxFoldItem() function takes either 4 or 6 arguments. When it
- " is called with 4 arguments, it is equivalent to calling it with 6
- " arguments with the last two left blank (i.e as empty strings)
- "
- " The explanation for each argument is as follows:
- " startpat: a line matching this pattern defines the beginning of a fold.
- " endpat : a line matching this pattern defines the end of a fold.
- " startoff: this is the offset from the starting line at which folding will
- " actually start
- " endoff : like startoff, but gives the offset of the actual fold end from
- " the line satisfying endpat.
- " startoff and endoff are necessary when the folding region does
- " not have a specific end pattern corresponding to a start
- " pattern. for example in latex,
- " \begin{section}
- " defines the beginning of a section, but its not necessary to
- " have a corresponding
- " \end{section}
- " the section is assumed to end 1 line _before_ another section
- " starts.
- " startskip: a pattern which defines the beginning of a "skipped" region.
- "
- " For example, suppose we define a \itemize fold as follows:
- " startpat = '^\s*\\item',
- " endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- " startoff = 0,
- " endoff = -1
- "
- " This defines a fold which starts with a line beginning with an
- " \item and ending one line before a line beginning with an
- " \item or \end{enumerate} etc.
- "
- " Then, as long as \item's are not nested things are fine.
- " However, once items begin to nest, the fold started by one
- " \item can end because of an \item in an \itemize
- " environment within this \item. i.e, the following can happen:
- "
- " \begin{itemize}
- " \item Some text <------- fold will start here
- " This item will contain a nested item
- " \begin{itemize} <----- fold will end here because next line contains \item...
- " \item Hello
- " \end{itemize} <----- ... instead of here.
- " \item Next item of the parent itemize
- " \end{itemize}
- "
- " Therefore, in order to completely define a folding item which
- " allows nesting, we need to also define a "skip" pattern.
- " startskip and end skip do that.
- " Leave '' when there is no nesting.
- " endskip: the pattern which defines the end of the "skip" pattern for
- " nested folds.
- "
- " Example:
- " 1. A syntax fold region for a latex section is
- " startpat = "\\section{"
- " endpat = "\\section{"
- " startoff = 0
- " endoff = -1
- " startskip = ''
- " endskip = ''
- " Note that the start and end patterns are thus the same and endoff has a
- " negative value to capture the effect of a section ending one line before
- " the next starts.
- " 2. A syntax fold region for the \itemize environment is:
- " startpat = '^\s*\\item',
- " endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- " startoff = 0,
- " endoff = -1,
- " startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}',
- " endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}'
- " Note the use of startskip and endskip to allow nesting.
- "
- "
- " }}}
- " ========================================================================
-
- " {{{ comment lines
- if g:Tex_FoldedMisc =~ '\<comments\>'
- call AddSyntaxFoldItem (
- \ '^%\([^%]\|[^f]\|[^a]\|[^k]\|[^e]\)',
- \ '^[^%]',
- \ 0,
- \ -1
- \ )
- endif
- " }}}
-
- " {{{ items
- if g:Tex_FoldedMisc =~ '\<item\>'
- call AddSyntaxFoldItem (
- \ '^\s*\\item',
- \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- \ 0,
- \ -1,
- \ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
- \ '^\s*\\end{\(enumerate\|itemize\|description\)}'
- \ )
- endif
- " }}}
-
- " {{{ title
- if g:Tex_FoldedMisc =~ '\<title\>'
- call AddSyntaxFoldItem (
- \ '^\s*\\title\W',
- \ '^\s*\\maketitle',
- \ 0,
- \ 0
- \ )
- endif
- " }}}
-
- " Commands and Environments {{{
- " Fold the commands and environments in 2 passes.
- let pass = 0
- while pass < 2
- if pass == 0
- let lst = g:Tex_FoldedCommands
- else
- let lst = g:Tex_FoldedEnvironments
- endif
- while lst != ''
- let i = match(lst, ',')
- if i > 0
- let s = strpart(lst, 0, i)
- let lst = strpart(lst, i+1)
- else
- let s = lst
- let lst = ''
- endif
- if s != ''
- if pass == 0
- " NOTE: This pattern ensures that a command which is
- " terminated on the same line will not start a fold.
- " However, it will also refuse to fold certain commands
- " which have not terminated. eg:
- " \commandname{something \bf{text} and
- " will _not_ start a fold.
- " In other words, the pattern is safe, but not exact.
- call AddSyntaxFoldItem('^\s*\\'.s.'{[^{}]*$','^[^}]*}',0,0)
- else
- call AddSyntaxFoldItem('^\s*\\begin{'.s,'^\s*\\end{'.s,0,0)
- endif
- endif
- endwhile
- let pass = pass + 1
- endwhile
- " }}}
-
- " Sections {{{
- if g:Tex_FoldedSections != ''
- call Tex_FoldSections(g:Tex_FoldedSections,
- \ '^\s*\\frontmatter\|^\s*\\mainmatter\|^\s*\\backmatter\|'
- \. '^\s*\\begin{thebibliography\|>>>\|^\s*\\endinput\|'
- \. '^\s*\\begin{slide\|^\s*\\end{document')
- endif
- " }}}
-
- " {{{ slide
- if g:Tex_FoldedMisc =~ '\<slide\>'
- call AddSyntaxFoldItem (
- \ '^\s*\\begin{slide',
- \ '^\s*\\appendix\W\|^\s*\\chapter\W\|^\s*\\end{slide\|^\s*\\end{document',
- \ 0,
- \ 0
- \ )
- endif
- " }}}
-
- " {{{ preamble
- if g:Tex_FoldedMisc =~ '\<preamble\>'
- call AddSyntaxFoldItem (
- \ '^\s*\\document\(class\|style\).*{',
- \ '^\s*\\begin{document}',
- \ 0,
- \ -1
- \ )
- endif
- " }}}
-
- " Manually folded regions {{{
- if g:Tex_FoldedMisc =~ '\(^\|,\)<<<\(,\|$\)'
- call AddSyntaxFoldItem (
- \ '<<<',
- \ '>>>',
- \ 0,
- \ 0
- \ )
- endif
- " }}}
-
- call MakeSyntaxFolds(a:force)
- normal! zv
-endfunction
-
-" }}}
-" TexFoldTextFunction: create fold text for folds {{{
-function! TexFoldTextFunction()
- let leadingSpace = matchstr(' ', ' \{,'.indent(v:foldstart).'}')
- if getline(v:foldstart) =~ '^\s*\\begin{'
- let header = matchstr(getline(v:foldstart),
- \ '^\s*\\begin{\zs\([:alpha:]*\)[^}]*\ze}')
- let caption = ''
- let label = ''
- let i = v:foldstart
- while i <= v:foldend
- if getline(i) =~ '\\caption'
- " distinguish between
- " \caption{fulldesc} - fulldesc will be displayed
- " \caption[shortdesc]{fulldesc} - shortdesc will be displayed
- if getline(i) =~ '\\caption\['
- let caption = matchstr(getline(i), '\\caption\[\zs[^\]]*')
- let caption = substitute(caption, '\zs\]{.*}[^}]*$', '', '')
- else
- let caption = matchstr(getline(i), '\\caption{\zs.*')
- let caption = substitute(caption, '\zs}[^}]*$', '', '')
- end
- elseif getline(i) =~ '\\label'
- let label = matchstr(getline(i), '\\label{\zs.*')
- let label = substitute(label, '\zs}[^}]*$', '', '')
- end
-
- let i = i + 1
- endwhile
-
- let ftxto = foldtext()
- " if no caption found, then use the second line.
- if caption == ''
- let caption = getline(v:foldstart + 1)
- end
-
- let retText = matchstr(ftxto, '^[^:]*').': '.header.
- \ ' ('.label.') : '.caption
- return leadingSpace.retText
-
- elseif getline(v:foldstart) =~ '^%' && getline(v:foldstart) !~ '^%%fake'
- let ftxto = foldtext()
- return leadingSpace.substitute(ftxto, ':', ': % ', '')
- elseif getline(v:foldstart) =~ '^\s*\\document\(class\|style\).*{'
- let ftxto = leadingSpace.foldtext()
- return substitute(ftxto, ':', ': Preamble: ', '')
- else
- return leadingSpace.foldtext()
- end
-endfunction
-" }}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/macros/example b/.vim/ftplugin/latex-suite/macros/example
deleted file mode 100644
index 395311f..0000000
--- a/.vim/ftplugin/latex-suite/macros/example
+++ /dev/null
@@ -1,11 +0,0 @@
-% my long complicated macro. This is an example of how to set up a
-% tex-macro for latex-suite. simply type in the lines as you would in
-% latex. Place holders are allowed.
-% NOTE: if you have filetype indentation turned on, then do not do
-% formatting here. the indentation will follow automatically...
-\begin{mycomplicatedenvironment}
-\mycommand1{<++>}
-\mycommand2{<+hint2+>}
-\mycommand3{<++>}
-\mycommand4{<++>}
-\end{mycomplicatedenvironment}<++>
diff --git a/.vim/ftplugin/latex-suite/main.vim b/.vim/ftplugin/latex-suite/main.vim
deleted file mode 100644
index 063c6f6..0000000
--- a/.vim/ftplugin/latex-suite/main.vim
+++ /dev/null
@@ -1,1024 +0,0 @@
-" LaTeX filetype
-" Language: LaTeX (ft=tex)
-" Maintainer: Srinath Avadhanula
-" CVS: $Id: main.vim 999 2006-03-21 05:32:37Z srinathava $
-" URL:
-
-" line continuation used here.
-let s:save_cpo = &cpo
-set cpo&vim
-
-" avoiding re-inclusion {{{
-" the avoiding re-inclusion statement is not provided here because the files
-" which call this file should in the normal course of events handle the
-" re-inclusion stuff.
-
-" we definitely dont want to run through the entire file each and every time.
-" only once to define the functions. for successive latex files, just set up
-" the folding and mappings and quit.
-if exists('s:doneFunctionDefinitions') && !exists('b:forceRedoLocalTex')
- call s:SetTeXOptions()
- finish
-endif
-
-let s:doneFunctionDefinitions = 1
-
-" get the place where this plugin resides for setting cpt and dict options.
-" these lines need to be outside the function.
-let s:path = expand('<sfile>:p:h')
-" set up personal defaults.
-runtime ftplugin/tex/texrc
-" set up global defaults.
-exe "so ".s:path.'/texrc'
-
-" }}}
-
-nmap <silent> <script> <plug> i
-imap <silent> <script> <C-o><plug> <Nop>
-
-" ==============================================================================
-" mappings
-" ==============================================================================
-" {{{
-" calculate the mapleader character.
-let s:ml = exists('g:mapleader') ? g:mapleader : '\'
-
-if !exists('s:doneMappings')
- let s:doneMappings = 1
- " short forms for latex formatting and math elements. {{{
- " taken from auctex.vim or miktexmacros.vim
- call IMAP ('__', '_{<++>}<++>', "tex")
- call IMAP ('()', '(<++>)<++>', "tex")
- call IMAP ('[]', '[<++>]<++>', "tex")
- call IMAP ('{}', '{<++>}<++>', "tex")
- call IMAP ('^^', '^{<++>}<++>', "tex")
- call IMAP ('$$', '$<++>$<++>', "tex")
- call IMAP ('==', '&=& ', "tex")
- call IMAP ('~~', '&\approx& ', "tex")
- call IMAP ('=~', '\approx', "tex")
- call IMAP ('::', '\dots', "tex")
- call IMAP ('((', '\left( <++> \right)<++>', "tex")
- call IMAP ('[[', '\left[ <++> \right]<++>', "tex")
- call IMAP ('{{', '\left\{ <++> \right\}<++>', "tex")
- call IMAP (g:Tex_Leader.'^', '\hat{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'_', '\bar{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'6', '\partial', "tex")
- call IMAP (g:Tex_Leader.'8', '\infty', "tex")
- call IMAP (g:Tex_Leader.'/', '\frac{<++>}{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'%', '\frac{<++>}{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'@', '\circ', "tex")
- call IMAP (g:Tex_Leader.'0', '^\circ', "tex")
- call IMAP (g:Tex_Leader.'=', '\equiv', "tex")
- call IMAP (g:Tex_Leader."\\",'\setminus', "tex")
- call IMAP (g:Tex_Leader.'.', '\cdot', "tex")
- call IMAP (g:Tex_Leader.'*', '\times', "tex")
- call IMAP (g:Tex_Leader.'&', '\wedge', "tex")
- call IMAP (g:Tex_Leader.'-', '\bigcap', "tex")
- call IMAP (g:Tex_Leader.'+', '\bigcup', "tex")
- call IMAP (g:Tex_Leader.'M', '\sum_{<++>}^{<++>}<++>', 'tex')
- call IMAP (g:Tex_Leader.'S', '\sum_{<++>}^{<++>}<++>', 'tex')
- call IMAP (g:Tex_Leader.'(', '\subset', "tex")
- call IMAP (g:Tex_Leader.')', '\supset', "tex")
- call IMAP (g:Tex_Leader.'<', '\le', "tex")
- call IMAP (g:Tex_Leader.'>', '\ge', "tex")
- call IMAP (g:Tex_Leader.',', '\nonumber', "tex")
- call IMAP (g:Tex_Leader.'~', '\tilde{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.';', '\dot{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.':', '\ddot{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'2', '\sqrt{<++>}<++>', "tex")
- call IMAP (g:Tex_Leader.'|', '\Big|', "tex")
- call IMAP (g:Tex_Leader.'I', "\\int_{<++>}^{<++>}<++>", 'tex')
- " }}}
- " Greek Letters {{{
- call IMAP(g:Tex_Leader.'a', '\alpha', 'tex')
- call IMAP(g:Tex_Leader.'b', '\beta', 'tex')
- call IMAP(g:Tex_Leader.'c', '\chi', 'tex')
- call IMAP(g:Tex_Leader.'d', '\delta', 'tex')
- call IMAP(g:Tex_Leader.'e', '\varepsilon', 'tex')
- call IMAP(g:Tex_Leader.'f', '\varphi', 'tex')
- call IMAP(g:Tex_Leader.'g', '\gamma', 'tex')
- call IMAP(g:Tex_Leader.'h', '\eta', 'tex')
- call IMAP(g:Tex_Leader.'k', '\kappa', 'tex')
- call IMAP(g:Tex_Leader.'l', '\lambda', 'tex')
- call IMAP(g:Tex_Leader.'m', '\mu', 'tex')
- call IMAP(g:Tex_Leader.'n', '\nu', 'tex')
- call IMAP(g:Tex_Leader.'p', '\pi', 'tex')
- call IMAP(g:Tex_Leader.'q', '\theta', 'tex')
- call IMAP(g:Tex_Leader.'r', '\rho', 'tex')
- call IMAP(g:Tex_Leader.'s', '\sigma', 'tex')
- call IMAP(g:Tex_Leader.'t', '\tau', 'tex')
- call IMAP(g:Tex_Leader.'u', '\upsilon', 'tex')
- call IMAP(g:Tex_Leader.'v', '\varsigma', 'tex')
- call IMAP(g:Tex_Leader.'w', '\omega', 'tex')
- call IMAP(g:Tex_Leader.'w', '\wedge', 'tex') " AUCTEX style
- call IMAP(g:Tex_Leader.'x', '\xi', 'tex')
- call IMAP(g:Tex_Leader.'y', '\psi', 'tex')
- call IMAP(g:Tex_Leader.'z', '\zeta', 'tex')
- " not all capital greek letters exist in LaTeX!
- " reference: http://www.giss.nasa.gov/latex/ltx-405.html
- call IMAP(g:Tex_Leader.'D', '\Delta', 'tex')
- call IMAP(g:Tex_Leader.'F', '\Phi', 'tex')
- call IMAP(g:Tex_Leader.'G', '\Gamma', 'tex')
- call IMAP(g:Tex_Leader.'Q', '\Theta', 'tex')
- call IMAP(g:Tex_Leader.'L', '\Lambda', 'tex')
- call IMAP(g:Tex_Leader.'X', '\Xi', 'tex')
- call IMAP(g:Tex_Leader.'Y', '\Psi', 'tex')
- call IMAP(g:Tex_Leader.'S', '\Sigma', 'tex')
- call IMAP(g:Tex_Leader.'U', '\Upsilon', 'tex')
- call IMAP(g:Tex_Leader.'W', '\Omega', 'tex')
- " }}}
- " ProtectLetters: sets up indentity maps for things like ``a {{{
- " " Description: If we simply do
- " call IMAP('`a', '\alpha', 'tex')
- " then we will never be able to type 'a' after a tex-quotation. Since
- " IMAP() always uses the longest map ending in the letter, this problem
- " can be avoided by creating a fake map for ``a -> ``a.
- " This function sets up fake maps of the following forms:
- " ``[aA] -> ``[aA] (for writing in quotations)
- " \`[aA] -> \`[aA] (for writing diacritics)
- " "`[aA] -> "`[aA] (for writing german quotations)
- " It does this for all printable lower ascii characters just to make sure
- " we dont let anything slip by.
- function! s:ProtectLetters(first, last)
- let i = a:first
- while i <= a:last
- if nr2char(i) =~ '[[:print:]]'
- call IMAP('``'.nr2char(i), '``'.nr2char(i), 'tex')
- call IMAP('\`'.nr2char(i), '\`'.nr2char(i), 'tex')
- call IMAP('"`'.nr2char(i), '"`'.nr2char(i), 'tex')
- endif
- let i = i + 1
- endwhile
- endfunction
- call s:ProtectLetters(32, 127)
- " }}}
- " vmaps: enclose selected region in brackets, environments {{{
- " The action changes depending on whether the selection is character-wise
- " or line wise. for example, selecting linewise and pressing \v will
- " result in the region being enclosed in \begin{verbatim}, \end{verbatim},
- " whereas in characterise visual mode, the thingie is enclosed in \verb|
- " and |.
- exec 'vnoremap <silent> '.g:Tex_Leader."( \<C-\\>\<C-N>:call VEnclose('\\left( ', ' \\right)', '\\left(', '\\right)')\<CR>"
- exec 'vnoremap <silent> '.g:Tex_Leader."[ \<C-\\>\<C-N>:call VEnclose('\\left[ ', ' \\right]', '\\left[', '\\right]')\<CR>"
- exec 'vnoremap <silent> '.g:Tex_Leader."{ \<C-\\>\<C-N>:call VEnclose('\\left\\{ ', ' \\right\\}', '\\left\\{', '\\right\\}')\<CR>"
- exec 'vnoremap <silent> '.g:Tex_Leader."$ \<C-\\>\<C-N>:call VEnclose('$', '$', '\\[', '\\]')\<CR>"
- " }}}
-end
-
-" }}}
-
-" ==============================================================================
-" Helper functions for debugging
-" ==============================================================================
-" Tex_Debug: appends the argument into s:debugString {{{
-" Description:
-"
-" Do not want a memory leak! Set this to zero so that latex-suite always
-" starts out in a non-debugging mode.
-if !exists('g:Tex_Debug')
- let g:Tex_Debug = 0
-endif
-function! Tex_Debug(str, ...)
- if !g:Tex_Debug
- return
- endif
- if a:0 > 0
- let pattern = a:1
- else
- let pattern = ''
- endif
- if !exists('s:debugString_'.pattern)
- let s:debugString_{pattern} = ''
- endif
- let s:debugString_{pattern} = s:debugString_{pattern}.a:str."\n"
-
- let s:debugString_ = (exists('s:debugString_') ? s:debugString_ : '')
- \ . pattern.' : '.a:str."\n"
-
- if Tex_GetVarValue('Tex_DebugLog') != ''
- exec 'redir! >> '.Tex_GetVarValue('Tex_DebugLog')
- silent! echo pattern.' : '.a:str
- redir END
- endif
-endfunction " }}}
-" Tex_PrintDebug: prings s:debugString {{{
-" Description:
-"
-function! Tex_PrintDebug(...)
- if a:0 > 0
- let pattern = a:1
- else
- let pattern = ''
- endif
- if exists('s:debugString_'.pattern)
- echo s:debugString_{pattern}
- endif
-endfunction " }}}
-" Tex_ClearDebug: clears the s:debugString string {{{
-" Description:
-"
-function! Tex_ClearDebug(...)
- if a:0 > 0
- let pattern = a:1
- else
- let pattern = ''
- endif
- if exists('s:debugString_'.pattern)
- let s:debugString_{pattern} = ''
- endif
-endfunction " }}}
-" Tex_ShowVariableValue: debugging help {{{
-" provides a way to examine script local variables from outside the script.
-" very handy for debugging.
-function! Tex_ShowVariableValue(...)
- let i = 1
- while i <= a:0
- exe 'let arg = a:'.i
- if exists('s:'.arg) ||
- \ exists('*s:'.arg)
- exe 'let val = s:'.arg
- echomsg 's:'.arg.' = '.val
- end
- let i = i + 1
- endwhile
-endfunction
-
-" }}}
-
-" ==============================================================================
-" Helper functions for grepping
-" ==============================================================================
-" Tex_Grep: shorthand for :grep or :vimgrep {{{
-function! Tex_Grep(string, where)
- if v:version >= 700
- exec 'silent! vimgrep! /'.a:string.'/ '.a:where
- else
- exec 'silent! grep! '.Tex_EscapeForGrep(a:string).' '.a:where
- endif
-endfunction
-
-" }}}
-" Tex_Grepadd: shorthand for :grepadd or :vimgrepadd {{{
-function! Tex_Grepadd(string, where)
- if v:version >= 700
- exec 'silent! vimgrepadd! /'.a:string.'/ '.a:where
- else
- exec "silent! grepadd! ".Tex_EscapeForGrep(a:string).' '.a:where
- endif
-endfunction
-
-" }}}
-" Tex_EscapeForGrep: escapes back-slashes and doublequotes the correct number of times {{{
-" Description: This command escapes the backslash and double quotes in a
-" search pattern the correct number of times so it can be used in the ``:grep``
-" command. This command is meant to be used as::
-"
-" exec "silent! grep ".Tex_EscapeForGrep(pattern)." file"
-"
-" The input argument to this function should be the string which you want
-" the external command to finally see. For example, to search for a string
-" ``'\bibitem'``, the grep command needs to be passed a string like
-" ``'\\bibitem'``. Examples::
-"
-" Tex_EscapeForGrep('\\bibitem') " correct
-" Tex_EscapeForGrep('\bibitem') " wrong
-" Tex_EscapeForGrep("\\bibitem") " wrong
-" Tex_EscapeForGrep('\<word\>') " correct
-"
-function! Tex_EscapeForGrep(string)
- let retVal = a:string
-
- " The shell halves the backslashes.
- if &shell =~ 'sh'
- let retVal = escape(retVal, "\\")
-
- " If shellxquote is set, then the backslashes are halved yet again.
- if &shellxquote == '"'
- let retVal = escape(retVal, "\"\\")
- endif
-
- endif
- " escape special characters which bash/cmd.exe might interpret
- let retVal = escape(retVal, "<>")
-
- return retVal
-endfunction " }}}
-
-" ==============================================================================
-" Uncategorized helper functions
-" ==============================================================================
-" Tex_Strntok: extract the n^th token from a list {{{
-" example: Strntok('1,23,3', ',', 2) = 23
-fun! Tex_Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun
-
-" }}}
-" Tex_CreatePrompt: creates a prompt string {{{
-" Description:
-" Arguments:
-" promptList: This is a string of the form:
-" 'item1,item2,item3,item4'
-" cols: the number of columns in the resultant prompt
-" sep: the list seperator token
-"
-" Example:
-" Tex_CreatePrompt('item1,item2,item3,item4', 2, ',')
-" returns
-" "(1) item1\t(2)item2\n(3)item3\t(4)item4"
-"
-" This string can be used in the input() function.
-function! Tex_CreatePrompt(promptList, cols, sep)
-
- let g:listSep = a:sep
- let num_common = GetListCount(a:promptList)
-
- let i = 1
- let promptStr = ""
-
- while i <= num_common
-
- let j = 0
- while j < a:cols && i + j <= num_common
- let com = Tex_Strntok(a:promptList, a:sep, i+j)
- let promptStr = promptStr.'('.(i+j).') '.
- \ com."\t".( strlen(com) < 4 ? "\t" : '' )
-
- let j = j + 1
- endwhile
-
- let promptStr = promptStr."\n"
-
- let i = i + a:cols
- endwhile
- return promptStr
-endfunction
-
-" }}}
-" Tex_CleanSearchHistory: removes last search item from search history {{{
-" Description: This function needs to be globally visible because its
-" called from outside the script during expansion.
-function! Tex_CleanSearchHistory()
- call histdel("/", -1)
- let @/ = histget("/", -1)
-endfunction
-nmap <silent> <script> <plug>cleanHistory :call Tex_CleanSearchHistory()<CR>
-
-" }}}
-" Tex_GetVarValue: gets the value of the variable {{{
-" Description:
-" See if a window-local, buffer-local or global variable with the given name
-" exists and if so, returns the corresponding value. If none exist, return
-" an empty string.
-function! Tex_GetVarValue(varname, ...)
- if exists('w:'.a:varname)
- return w:{a:varname}
- elseif exists('b:'.a:varname)
- return b:{a:varname}
- elseif exists('g:'.a:varname)
- return g:{a:varname}
- elseif a:0 > 0
- return a:1
- else
- return ''
- endif
-endfunction " }}}
-" Tex_GetMainFileName: gets the name of the main file being compiled. {{{
-" Description: returns the full path name of the main file.
-" This function checks for the existence of a .latexmain file
-" which might point to the location of a "main" latex file.
-" If .latexmain exists, then return the full path name of the
-" file being pointed to by it.
-"
-" Otherwise, return the full path name of the current buffer.
-"
-" You can supply an optional "modifier" argument to the
-" function, which will optionally modify the file name before
-" returning.
-" NOTE: From version 1.6 onwards, this function always trims
-" away the .latexmain part of the file name before applying the
-" modifier argument.
-function! Tex_GetMainFileName(...)
- if a:0 > 0
- let modifier = a:1
- else
- let modifier = ':p'
- endif
-
- " If the user wants to use his own way to specify the main file name, then
- " use it straight away.
- if Tex_GetVarValue('Tex_MainFileExpression') != ''
- exec 'let retval = '.Tex_GetVarValue('Tex_MainFileExpression')
- return retval
- endif
-
- let curd = getcwd()
-
- let dirmodifier = '%:p:h'
- let dirLast = expand(dirmodifier)
- call Tex_CD(dirLast)
-
- " move up the directory tree until we find a .latexmain file.
- " TODO: Should we be doing this recursion by default, or should there be a
- " setting?
- while glob('*.latexmain') == ''
- let dirmodifier = dirmodifier.':h'
- " break from the loop if we cannot go up any further.
- if expand(dirmodifier) == dirLast
- break
- endif
- let dirLast = expand(dirmodifier)
- call Tex_CD(dirLast)
- endwhile
-
- let lheadfile = glob('*.latexmain')
- if lheadfile != ''
- " Remove the trailing .latexmain part of the filename... We never want
- " that.
- let lheadfile = fnamemodify(substitute(lheadfile, '\.latexmain$', '', ''), modifier)
- else
- " If we cannot find any main file, just modify the filename of the
- " current buffer.
- let lheadfile = expand('%'.modifier)
- endif
-
- call Tex_CD(curd)
-
- " NOTE: The caller of this function needs to escape spaces in the
- " file name as appropriate. The reason its not done here is that
- " escaping spaces is not safe if this file is to be used as part of
- " an external command on certain platforms.
- return lheadfile
-endfunction
-
-" }}}
-" Tex_ChooseFromPrompt: process a user input to a prompt string {{{
-" " Description:
-function! Tex_ChooseFromPrompt(dialog, list, sep)
- let g:Tex_ASDF = a:dialog
- let inp = input(a:dialog)
- if inp =~ '\d\+'
- return Tex_Strntok(a:list, a:sep, inp)
- else
- return inp
- endif
-endfunction " }}}
-" Tex_ChooseFile: produces a file list and prompts for choice {{{
-" Description:
-function! Tex_ChooseFile(dialog)
- let files = glob('*')
- if files == ''
- return ''
- endif
- let s:incnum = 0
- echo a:dialog
- let filenames = substitute(files, "\\v(^|\n)", "\\=submatch(0).Tex_IncrementNumber(1).' : '", 'g')
- echo filenames
- let choice = input('Enter Choice : ')
- let g:choice = choice
- if choice == ''
- return ''
- endif
- if choice =~ '^\s*\d\+\s*$'
- let retval = Tex_Strntok(files, "\n", choice)
- else
- let filescomma = substitute(files, "\n", ",", "g")
- let retval = GetListMatchItem(filescomma, choice)
- endif
- if retval == ''
- return ''
- endif
- return retval
-endfunction
-
-" }}}
-" Tex_IncrementNumber: returns an incremented number each time {{{
-" Description:
-let s:incnum = 0
-function! Tex_IncrementNumber(increm)
- let s:incnum = s:incnum + a:increm
- return s:incnum
-endfunction
-
-" }}}
-" Tex_ResetIncrementNumber: increments s:incnum to zero {{{
-" Description:
-function! Tex_ResetIncrementNumber(val)
- let s:incnum = a:val
-endfunction " }}}
-" Tex_FindInRtp: check if file exists in &rtp {{{
-" Description: Checks if file exists in globpath(&rtp, ...) and cuts off the
-" rest of returned names. This guarantees that sourced file is
-" from $HOME.
-" If an optional argument is given, it specifies how to expand
-" each filename found. For example, '%:p' will return a list of
-" the complete paths to the files. By default returns trailing
-" path-names without extenions.
-" NOTE: This function is very slow when a large number of
-" matches are found because of a while loop which modifies
-" each filename found. Some speedup was acheived by using
-" a tokenizer approach rather than using Tex_Strntok which
-" would have been more obvious.
-function! Tex_FindInRtp(filename, directory, ...)
- " how to expand each filename. ':p:t:r' modifies each filename to its
- " trailing part without extension.
- let expand = (a:0 > 0 ? a:1 : ':p:t:r')
- " The pattern used... An empty filename should be regarded as '*'
- let pattern = (a:filename != '' ? a:filename : '*')
-
- let filelist = globpath(&rtp, 'ftplugin/latex-suite/'.a:directory.'/'.pattern)."\n"
-
- if filelist == "\n"
- return ''
- endif
-
- if a:filename != ''
- return fnamemodify(Tex_Strntok(filelist, "\n", 1), expand)
- endif
-
- " Now cycle through the files modifying each filename in the desired
- " manner.
- let retfilelist = ''
- let i = 1
- while 1
- " Extract the portion till the next newline. Then shorten the filelist
- " by removing till the newline.
- let nextnewline = stridx(filelist, "\n")
- if nextnewline == -1
- break
- endif
- let filename = strpart(filelist, 0, nextnewline)
- let filelist = strpart(filelist, nextnewline+1)
-
- " The actual modification.
- if fnamemodify(filename, expand) != ''
- let retfilelist = retfilelist.fnamemodify(filename, expand).","
- endif
- let i = i + 1
- endwhile
-
- return substitute(retfilelist, ',$', '', '')
-endfunction
-
-" }}}
-" Tex_GetErrorList: returns vim's clist {{{
-" Description: returns the contents of the error list available via the :clist
-" command.
-function! Tex_GetErrorList()
- let _a = @a
- redir @a | silent! clist | redir END
- let errlist = @a
- let @a = _a
-
- if errlist =~ 'E42: '
- let errlist = ''
- endif
-
- return errlist
-endfunction " }}}
-" Tex_GetTempName: get the name of a temporary file in specified directory {{{
-" Description: Unlike vim's native tempname(), this function returns the name
-" of a temporary file in the directory specified. This enables
-" us to create temporary files in a specified directory.
-function! Tex_GetTempName(dirname)
- let prefix = 'latexSuiteTemp'
- let slash = (a:dirname =~ '\\\|/$' ? '' : '/')
- let i = 0
- while filereadable(a:dirname.slash.prefix.i.'.tex') && i < 1000
- let i = i + 1
- endwhile
- if filereadable(a:dirname.slash.prefix.i.'.tex')
- echoerr "Temporary file could not be created in ".a:dirname
- return ''
- endif
- return expand(a:dirname.slash.prefix.i.'.tex', ':p')
-endfunction
-" }}}
-" Tex_MakeMap: creates a mapping from lhs to rhs if rhs is not already mapped {{{
-" Description:
-function! Tex_MakeMap(lhs, rhs, mode, extraargs)
- if !hasmapto(a:rhs, a:mode)
- exec a:mode.'map '.a:extraargs.' '.a:lhs.' '.a:rhs
- endif
-endfunction " }}}
-" Tex_CD: cds to given directory escaping spaces if necessary {{{
-" " Description:
-function! Tex_CD(dirname)
- exec 'cd '.Tex_EscapeSpaces(a:dirname)
-endfunction " }}}
-" Tex_EscapeSpaces: escapes unescaped spaces from a path name {{{
-" Description:
-function! Tex_EscapeSpaces(path)
- return substitute(a:path, '[^\\]\(\\\\\)*\zs ', '\\ ', 'g')
-endfunction " }}}
-" Tex_FindFile: finds a file in the vim's 'path' {{{
-" Description: finds a file in vim's 'path'
-function! Tex_FindFile(fname, path, suffixesadd)
- if exists('*findfile')
- let _suffixesadd = &suffixesadd
- let &suffixesadd = a:suffixesadd
- let retval = findfile(a:fname, a:path)
- let &suffixesadd = _suffixesadd
- else
- " split a new window so we do not screw with the current buffer. We
- " want to use the same filename each time so that multiple scratch
- " buffers are not created.
- let retval = ''
- silent! split __HOPEFULLY_THIS_FILE_DOES_NOT_EXIST__
- let _suffixesadd = &suffixesadd
- let _path = &path
- let &suffixesadd = a:suffixesadd
- let &path = a:path
- exec 'silent! find '.a:fname
- if bufname('%') != '__HOPEFULLY_THIS_FILE_DOES_NOT_EXIST__'
- let retval = expand('%:p')
- end
- silent! bdelete!
- let &suffixesadd = _suffixesadd
- let &path = _path
- endif
- return retval
-endfunction " }}}
-
-" ==============================================================================
-" Smart key-mappings
-" ==============================================================================
-" TexQuotes: inserts `` or '' instead of " {{{
-if g:Tex_SmartKeyQuote
-
- " TexQuotes: inserts `` or '' instead of "
- " Taken from texmacro.vim by Benji Fisher <benji@e-math.AMS.org>
- " TODO: Deal with nested quotes.
- " The :imap that calls this function should insert a ", move the cursor to
- " the left of that character, then call this with <C-R>= .
- function! s:TexQuotes()
- let l = line(".")
- let c = col(".")
- let restore_cursor = l . "G" . virtcol(".") . "|"
- normal! H
- let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
- execute restore_cursor
- " In math mode, or when preceded by a \, just move the cursor past the
- " already-inserted " character.
- if synIDattr(synID(l, c, 1), "name") =~ "^texMath"
- \ || (c > 1 && getline(l)[c-2] == '\')
- return "\<Right>"
- endif
- " Find the appropriate open-quote and close-quote strings.
- if exists("b:Tex_SmartQuoteOpen")
- let open = b:Tex_SmartQuoteOpen
- elseif exists("g:Tex_SmartQuoteOpen")
- let open = g:Tex_SmartQuoteOpen
- else
- let open = "``"
- endif
- if exists("b:Tex_SmartQuoteClose")
- let close = b:Tex_SmartQuoteClose
- elseif exists("g:Tex_SmartQuoteClose")
- let close = g:Tex_SmartQuoteClose
- else
- let close = "''"
- endif
- let boundary = '\|'
- " This code seems to be obsolete, since this script variable is never
- " set. The idea is that some languages use ",," as an open- or
- " close-quote string, and we want to avoid confusing ordinary ","
- " with a quote boundary.
- if exists("s:TeX_strictquote")
- if( s:TeX_strictquote == "open" || s:TeX_strictquote == "both" )
- let boundary = '\<' . boundary
- endif
- if( s:TeX_strictquote == "close" || s:TeX_strictquote == "both" )
- let boundary = boundary . '\>'
- endif
- endif
-
- " Eventually return q; set it to the default value now.
- let q = open
- let pattern =
- \ escape(open, '\~') .
- \ boundary .
- \ escape(close, '\~') .
- \ '\|^$\|"'
-
- while 1 " Look for preceding quote (open or close), ignoring
- " math mode and '\"' .
- call search(pattern, "bw")
- if synIDattr(synID(line("."), col("."), 1), "name") !~ "^texMath"
- \ && strpart(getline('.'), col('.')-2, 2) != '\"'
- break
- endif
- endwhile
-
- " Now, test whether we actually found a _preceding_ quote; if so, is it
- " an open quote?
- if ( line(".") < l || line(".") == l && col(".") < c )
- if strpart(getline("."), col(".")-1) =~ '\V\^' . escape(open, '\')
- if line(".") == l && col(".") + strlen(open) == c
- " Insert "<++>''<++>" instead of just "''".
- let q = IMAP_PutTextWithMovement("<++>".close."<++>")
- else
- let q = close
- endif
- endif
- endif
-
- " Return to line l, column c:
- execute restore_cursor
- " Start with <Del> to remove the " put in by the :imap .
- return "\<Del>" . q
-
- endfunction
-
-endif
-" }}}
-" SmartBS: smart backspacing {{{
-if g:Tex_SmartKeyBS
-
- " SmartBS: smart backspacing
- " SmartBS lets you treat diacritic characters (those \'{a} thingies) as a
- " single character. This is useful for example in the following situation:
- "
- " \v{s}\v{t}astn\'{y} ('happy' in Slovak language :-) )
- " If you will delete this normally (without using smartBS() function), you
- " must press <BS> about 19x. With function smartBS() you must press <BS> only
- " 7x. Strings like "\v{s}", "\'{y}" are considered like one character and are
- " deleted with one <BS>.
- let s:smartBS_pat = Tex_GetVarValue('Tex_SmartBSPattern')
-
- fun! s:SmartBS_pat()
- return s:smartBS_pat
- endfun
-
- " This function comes from Benji Fisher <benji@e-math.AMS.org>
- " http://vim.sourceforge.net/scripts/download.php?src_id=409
- " (modified/patched by Lubomir Host 'rajo' <host8 AT keplerDOTfmphDOTuniba.sk>)
- function! s:SmartBS(pat)
- let init = strpart(getline("."), 0, col(".")-1)
- let matchtxt = matchstr(init, a:pat)
- if matchtxt != ''
- let bstxt = substitute(matchtxt, '.', "\<bs>", 'g')
- return bstxt
- else
- return "\<bs>"
- endif
- endfun
-
-endif " }}}
-" SmartDots: inserts \cdots instead of ... in math mode otherwise \ldots {{{
-" if amsmath package is detected then just use \dots and let amsmath take care
-" of it.
-if g:Tex_SmartKeyDot
-
- function! <SID>SmartDots()
- if strpart(getline('.'), col('.')-3, 2) == '..' &&
- \ g:Tex_package_detected =~ '\<amsmath\>'
- return "\<bs>\<bs>\\dots"
- elseif synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath'
- \&& strpart(getline('.'), col('.')-3, 2) == '..'
- return "\<bs>\<bs>\\cdots"
- elseif strpart(getline('.'), col('.')-3, 2) == '..'
- return "\<bs>\<bs>\\ldots"
- else
- return '.'
- endif
- endfunction
-
-endif
-" }}}
-
-" source texproject.vim before other files
-exe 'source '.s:path.'/texproject.vim'
-
-" source all the relevant files.
-exe 'source '.s:path.'/texmenuconf.vim'
-exe 'source '.s:path.'/envmacros.vim'
-exe 'source '.s:path.'/elementmacros.vim'
-
-" source utf-8 or plain math menus
-if exists("g:Tex_UseUtfMenus") && g:Tex_UseUtfMenus != 0 && has("gui_running")
- exe 'source '.s:path.'/mathmacros-utf.vim'
-else
- exe 'source '.s:path.'/mathmacros.vim'
-endif
-
-exe 'source '.s:path.'/multicompile.vim'
-exe 'source '.s:path.'/compiler.vim'
-exe 'source '.s:path.'/folding.vim'
-exe 'source '.s:path.'/templates.vim'
-exe 'source '.s:path.'/custommacros.vim'
-exe 'source '.s:path.'/bibtex.vim'
-
-" source advanced math functions
-if g:Tex_AdvancedMath == 1
- exe 'source '.s:path.'/brackets.vim'
- exe 'source '.s:path.'/smartspace.vim'
-endif
-
-if g:Tex_Diacritics != 0
- exe 'source '.s:path.'/diacritics.vim'
-endif
-
-exe 'source '.s:path.'/texviewer.vim'
-exe 'source '.s:path.'/version.vim'
-
-" ==============================================================================
-" Finally set up the folding, options, mappings and quit.
-" ==============================================================================
-" SetTeXOptions: sets options/mappings for this file. {{{
-function! <SID>SetTeXOptions()
- " Avoid reinclusion.
- if exists('b:doneSetTeXOptions')
- return
- endif
- let b:doneSetTeXOptions = 1
-
- exe 'setlocal dict^='.s:path.'/dictionaries/dictionary'
-
- call Tex_Debug('SetTeXOptions: sourcing maps', 'main')
- " smart functions
- if g:Tex_SmartKeyQuote
- inoremap <buffer> <silent> " "<Left><C-R>=<SID>TexQuotes()<CR>
- endif
- if g:Tex_SmartKeyBS
- inoremap <buffer> <silent> <BS> <C-R>=<SID>SmartBS(<SID>SmartBS_pat())<CR>
- endif
- if g:Tex_SmartKeyDot
- inoremap <buffer> <silent> . <C-R>=<SID>SmartDots()<CR>
- endif
-
- " This line seems to be necessary to source our compiler/tex.vim file.
- " The docs are unclear why this needs to be done even though this file is
- " the first compiler plugin in 'runtimepath'.
- runtime compiler/tex.vim
-
-endfunction
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('main.vim: Catching LatexSuiteFileType event', 'main') |
- \ call <SID>SetTeXOptions()
-augroup END
-
-" }}}
-
-" ==============================================================================
-" Settings for taglist.vim plugin
-" ==============================================================================
-" Sets Tlist_Ctags_Cmd for taglist.vim and regexps for ctags {{{
-if exists("g:Tex_TaglistSupport") && g:Tex_TaglistSupport == 1
- if !exists("g:tlist_tex_settings")
- let g:tlist_tex_settings = 'tex;s:section;c:chapter;l:label;r:ref'
- endif
-
- if exists("Tlist_Ctags_Cmd")
- let s:tex_ctags = Tlist_Ctags_Cmd
- else
- let s:tex_ctags = 'ctags' " Configurable in texrc?
- endif
-
- if exists("g:Tex_InternalTagsDefinitions") && g:Tex_InternalTagsDefinitions == 1
- let Tlist_Ctags_Cmd = s:tex_ctags ." --langdef=tex --langmap=tex:.tex.ltx.latex"
- \.' --regex-tex="/\\\\begin{abstract}/Abstract/s,abstract/"'
- \.' --regex-tex="/\\\\part[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,part/"'
- \.' --regex-tex="/\\\\chapter[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,chapter/"'
- \.' --regex-tex="/\\\\section[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,section/"'
- \.' --regex-tex="/\\\\subsection[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subsection/"'
- \.' --regex-tex="/\\\\subsubsection[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subsubsection/"'
- \.' --regex-tex="/\\\\paragraph[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,paragraph/"'
- \.' --regex-tex="/\\\\subparagraph[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subparagraph/"'
- \.' --regex-tex="/\\\\begin{thebibliography}/BIBLIOGRAPHY/s,thebibliography/"'
- \.' --regex-tex="/\\\\tableofcontents/TABLE OF CONTENTS/s,tableofcontents/"'
- \.' --regex-tex="/\\\\frontmatter/FRONTMATTER/s,frontmatter/"'
- \.' --regex-tex="/\\\\mainmatter/MAINMATTER/s,mainmatter/"'
- \.' --regex-tex="/\\\\backmatter/BACKMATTER/s,backmatter/"'
- \.' --regex-tex="/\\\\appendix/APPENDIX/s,appendix/"'
- \.' --regex-tex="/\\\\label[ \t]*\*?\{[ \t]*([^}]*)\}/\1/l,label/"'
- \.' --regex-tex="/\\\\ref[ \t]*\*?\{[ \t]*([^}]*)\}/\1/r,ref/"'
- endif
-endif
-
-" }}}
-
-" commands to completion
-let g:Tex_completion_explorer = ','
-
-" Mappings defined in package files will overwrite all other
-exe 'source '.s:path.'/packages.vim'
-
-" ==============================================================================
-" These functions are used to immitate certain operating system type functions
-" (like reading the contents of a file), which are not available in vim. For
-" example, in Vim, its not possible to read the contents of a file without
-" opening a buffer on it, which means that over time, lots of buffers can open
-" up needlessly.
-"
-" If python is available (and allowed), then these functions utilize python
-" library functions without making calls to external programs.
-" ==============================================================================
-" Tex_GotoTempFile: open a temp file. reuse from next time on {{{
-function! Tex_GotoTempFile()
- if !exists('s:tempFileName')
- let s:tempFileName = tempname()
- endif
- exec 'silent! split '.s:tempFileName
-endfunction " }}}
-" Tex_IsPresentInFile: finds if a string str, is present in filename {{{
-if has('python') && g:Tex_UsePython
- function! Tex_IsPresentInFile(regexp, filename)
- exec 'python isPresentInFile(r"'.a:regexp.'", r"'.a:filename.'")'
-
- return retval
- endfunction
-else
- function! Tex_IsPresentInFile(regexp, filename)
- call Tex_GotoTempFile()
-
- silent! 1,$ d _
- let _report = &report
- let _sc = &sc
- set report=9999999 nosc
- exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename
- set nomod
- let &report = _report
- let &sc = _sc
-
- if search(a:regexp, 'w')
- let retval = 1
- else
- let retval = 0
- endif
- silent! bd
- return retval
- endfunction
-endif " }}}
-" Tex_CatFile: returns the contents of a file in a <NL> seperated string {{{
-if has('*readfile')
- function! Tex_CatFile(filename)
- return join(readfile(filename), "\n")
- endfunction
-elseif has('python') && g:Tex_UsePython
- function! Tex_CatFile(filename)
- " catFile assigns a value to retval
- exec 'python catFile("'.a:filename.'")'
-
- return retval
- endfunction
-else
- function! Tex_CatFile(filename)
- if glob(a:filename) == ''
- return ''
- endif
-
- call Tex_GotoTempFile()
-
- silent! 1,$ d _
-
- let _report = &report
- let _sc = &sc
- set report=9999999 nosc
- exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename
-
- set nomod
- let _a = @a
- silent! normal! ggVG"ay
- let retval = @a
- let @a = _a
-
- silent! bd
- let &report = _report
- let &sc = _sc
- return retval
- endfunction
-endif
-" }}}
-" Tex_DeleteFile: removes a file if present {{{
-" Description:
-if has('python') && g:Tex_UsePython
- function! Tex_DeleteFile(filename)
- exec 'python deleteFile(r"'.a:filename.'")'
-
- if exists('retval')
- return retval
- endif
- endfunction
-else
- function! Tex_DeleteFile(filename)
- if filereadable(a:filename)
- exec '! '.g:Tex_RmCmd.' '.a:filename
- endif
- endfunction
-endif
-" }}}
-
-
-let &cpo = s:save_cpo
-
-" Define the functions in python if available.
-if !has('python') || !g:Tex_UsePython
- finish
-endif
-
-exec 'pyfile '.expand('<sfile>:p:h').'/pytools.py'
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
diff --git a/.vim/ftplugin/latex-suite/mathmacros-utf.vim b/.vim/ftplugin/latex-suite/mathmacros-utf.vim
deleted file mode 100644
index f5b5b85..0000000
--- a/.vim/ftplugin/latex-suite/mathmacros-utf.vim
+++ /dev/null
@@ -1,729 +0,0 @@
-"=============================================================================
-" File: mathmacros.vim
-" Author: Mikolaj Machowski
-" Created: Tue Apr 23 06:00 PM 2002 PST
-"
-" Description: macros for everything mathematical in latex.
-"=============================================================================
-
-if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus)
- finish
-endif
-
-let s:MathMenuName = g:Tex_MenuPrefix.'Ma&th.'
-
-function! Tex_MathMenuRemove()
- exe 'silent! aunmenu '.s:MathMenuName
-endfunction
-
-let s:pA = 'amenu <silent> 85 '.s:MathMenuName
-
-" brackets and dollars {{{
-exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>'
-exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>'
-exe s:pA.'&$\ $ <plug>$$'
-exe s:pA.'-sepmath1- :'
-" }}}
-" MATH arrows {{{
-let s:pA1 = s:pA."&Arrows."
-exe s:pA1.'Leftarrow<Tab>⇠<plug>\Leftarrow '
-exe s:pA1.'leftarrow<Tab>↠<plug>\leftarrow'
-exe s:pA1.'longleftarrow<Tab>↠<plug>\longleftarrow '
-exe s:pA1.'Longleftarrow<Tab>⇠<plug>\Longleftarrow '
-exe s:pA1.'rightarrow<Tab>→ <plug>\rightarrow '
-exe s:pA1.'longrightarrow<Tab>→ <plug>\longrightarrow '
-exe s:pA1.'Rightarrow<Tab>⇒ <plug>\Rightarrow '
-exe s:pA1.'Longrightarrow<Tab>⇒ <plug>\Longrightarrow '
-exe s:pA1.'leftrightarrow<Tab>⇆ <plug>\leftrightarrow '
-exe s:pA1.'longleftrightarrow<Tab>↔ <plug>\longleftrightarrow '
-exe s:pA1.'Leftrightarrow<Tab>⇔ <plug>\Leftrightarrow '
-exe s:pA1.'Longleftrightarrow<Tab>⇔ <plug>\Longleftrightarrow '
-exe s:pA1.'uparrow<Tab>↑ <plug>\uparrow '
-exe s:pA1.'Uparrow<Tab>⇑ <plug>\Uparrow '
-exe s:pA1.'downarrow<Tab>↓ <plug>\downarrow '
-exe s:pA1.'Downarrow<Tab>⇓ <plug>\Downarrow '
-exe s:pA1.'updownarrow<Tab>↕ <plug>\updownarrow '
-exe s:pA1.'Updownarrow<Tab>⇕ <plug>\Updownarrow '
-exe s:pA1.'nearrow<Tab>↗ <plug>\nearrow '
-exe s:pA1.'searrow<Tab>↘ <plug>\searrow '
-exe s:pA1.'swarrow<Tab>↙ <plug>\swarrow '
-exe s:pA1.'nwarrow<Tab>↖ <plug>\nwarrow '
-exe s:pA1.'mapsto<Tab>↦ <plug>\mapsto '
-exe s:pA1.'leadsto<Tab>↠<plug>\leadsto '
-exe s:pA1.'longmapsto<Tab>⇖ <plug>\longmapsto '
-exe s:pA1.'hookleftarrow<Tab>↩ <plug>\hookleftarrow '
-exe s:pA1.'hookrightarrow<Tab>↪ <plug>\hookrightarrow '
-exe s:pA1.'leftharpoonup<Tab>↼ <plug>\leftharpoonup '
-exe s:pA1.'leftharpoondown<Tab>↽ <plug>\leftharpoondown '
-exe s:pA1.'rightharpoonup<Tab>⇀ <plug>\rightharpoonup '
-exe s:pA1.'rightharpoondown<Tab>⇠<plug>\rightharpoondown '
-exe s:pA1.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons '
-exe s:pA1.'overleftarrow<Tab> <plug>\overleftarrow '
-exe s:pA1.'overrightarrow<Tab> <plug>\overrightarrow '
-exe s:pA1.'overleftrightarrow<Tab> <plug>\overleftrightarrow '
-exe s:pA1.'underleftarrow<Tab> <plug>\underleftarrow '
-exe s:pA1.'underrightarrow<Tab> <plug>\underrightarrow '
-exe s:pA1.'underleftrightarrow<Tab> <plug>\underleftrightarrow '
-exe s:pA1.'xleftarrow<Tab> <plug>\xleftarrow '
-exe s:pA1.'xrightarrow<Tab> <plug>\xrightarrow '
-" }}}
-" MATH Arrows2 {{{
-let s:pA1a = s:pA."Arrows2."
-exe s:pA1a.'dashleftarrow<Tab>⇠ <plug>\dashleftarrow '
-exe s:pA1a.'leftleftarrows<Tab>⇇ <plug>\leftleftarrows '
-exe s:pA1a.'leftrightarrows<Tab>⇆ <plug>\leftrightarrows '
-exe s:pA1a.'Lleftarrow<Tab>⇚ <plug>\Lleftarrow '
-exe s:pA1a.'twoheadleftarrow<Tab>↞ <plug>\twoheadleftarrow '
-exe s:pA1a.'leftarrowtail<Tab>↢ <plug>\leftarrowtail '
-exe s:pA1a.'leftrightharpoons<Tab>⇋ <plug>\leftrightharpoons '
-exe s:pA1a.'Lsh<Tab>↰ <plug>\Lsh '
-exe s:pA1a.'looparrowleft<Tab>↫ <plug>\looparrowleft '
-exe s:pA1a.'curvearrowleft<Tab>↶ <plug>\curvearrowleft '
-exe s:pA1a.'circlearrowleft<Tab>↺ <plug>\circlearrowleft '
-exe s:pA1a.'dashrightarrow<Tab>⇢ <plug>\dashrightarrow '
-exe s:pA1a.'rightrightarrows<Tab>⇉ <plug>\rightrightarrows '
-exe s:pA1a.'rightleftarrows<Tab>⇄ <plug>\rightleftarrows '
-exe s:pA1a.'Rrightarrow<Tab>⇛ <plug>\Rrightarrow '
-exe s:pA1a.'twoheadrightarrow<Tab>↠ <plug>\twoheadrightarrow '
-exe s:pA1a.'rightarrowtail<Tab>↣ <plug>\rightarrowtail '
-exe s:pA1a.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons '
-exe s:pA1a.'Rsh<Tab>↱ <plug>\Rsh '
-exe s:pA1a.'looparrowright<Tab>↬ <plug>\looparrowright '
-exe s:pA1a.'curvearrowright<Tab>↷ <plug>\curvearrowright '
-exe s:pA1a.'circlearrowright<Tab>↻ <plug>\circlearrowright '
-exe s:pA1a.'multimap<Tab>⊸ <plug>\multimap '
-exe s:pA1a.'upuparrows<Tab>⇈ <plug>\upuparrows '
-exe s:pA1a.'downdownarrows<Tab>⇊ <plug>\downdownarrows '
-exe s:pA1a.'upharpoonleft<Tab>↿ <plug>\upharpoonleft '
-exe s:pA1a.'upharpoonright<Tab>↾ <plug>\upharpoonright '
-exe s:pA1a.'downharpoonleft<Tab>⇃ <plug>\downharpoonleft '
-exe s:pA1a.'downharpoonright<Tab>⇂ <plug>\downharpoonright '
-exe s:pA1a.'rightsquigarrow<Tab>⇠<plug>\rightsquigarrow '
-exe s:pA1a.'leftrightsquigarrow<Tab>↭ <plug>\leftrightsquigarrow '
-" }}}
-" MATH nArrows {{{
-let s:pA1b = s:pA."&nArrows."
-exe s:pA1b.'nleftarrow<Tab>↚ <plug>\nleftarrow '
-exe s:pA1b.'nLeftarrow<Tab>⇠<plug>\nLeftarrow '
-exe s:pA1b.'nleftrightarrow<Tab>↮ <plug>\nleftrightarrow '
-exe s:pA1b.'nLeftrightarrow<Tab>⇎ <plug>\nleftrightarrow '
-exe s:pA1b.'nrightarrow<Tab>↛ <plug>\nrightarrow '
-exe s:pA1b.'nRightarrow<Tab>⇠<plug>\nRightarrow '
-" }}}
-" MATH Fonts {{{
-let s:pA2a = s:pA."&MathFonts."
-" exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>'
-exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>'
-exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>'
-exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>'
-exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>'
-exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>'
-exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>'
-exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>'
-exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>'
-" }}}
-" Greek Letters small {{{
-let s:pA2 = s:pA."&Greek.&Small."
-exe s:pA2.'alpha<Tab>`a\ \ α <plug>\alpha '
-exe s:pA2.'beta<Tab>`b\ \ β <plug>\beta '
-exe s:pA2.'gamma<Tab>`g\ \ γ <plug>\gamma '
-exe s:pA2.'delta<Tab>`d\ \ δ <plug>\delta '
-exe s:pA2.'epsilon<Tab>∊ <plug>\epsilon '
-exe s:pA2.'varepsilon<Tab>`e\ \ ε <plug>\varepsilon '
-exe s:pA2.'zeta<Tab>`z\ \ ζ <plug>\zeta '
-exe s:pA2.'eta<Tab>`h\ \ η <plug>\eta '
-exe s:pA2.'theta<Tab>`q\ \ θ <plug>\theta '
-exe s:pA2.'vartheta<Tab>Ï‘ <plug>\vartheta '
-exe s:pA2.'iota<Tab>`i\ \ ι <plug>\iota '
-exe s:pA2.'kappa<Tab>`k\ \ κ <plug>\kappa '
-exe s:pA2.'lambda<Tab>`l\ \ λ <plug>\lambda '
-exe s:pA2.'mu<Tab>`m\ \ μ <plug>\mu '
-exe s:pA2.'nu<Tab>`n\ \ ν <plug>\nu '
-exe s:pA2.'xi<Tab>`x\ \ ξ <plug>\xi '
-exe s:pA2.'pi<Tab>`p\ \ π <plug>\pi '
-exe s:pA2.'varpi<Tab>Ï– <plug>\varpi '
-exe s:pA2.'rho<Tab>`r\ \ Ï <plug>\rho '
-exe s:pA2.'varrho<Tab>ϱ <plug>\varrho '
-exe s:pA2.'sigma<Tab>`s\ \ σ <plug>\sigma '
-exe s:pA2.'varsigma<Tab>`v\ \ Ï‚ <plug>\varsigma '
-exe s:pA2.'tau<Tab>`t\ \ Ï„ <plug>\tau '
-exe s:pA2.'upsilon<Tab>`u\ \ Ï… <plug>\upsilon '
-exe s:pA2.'phi<Tab>φ <plug>\phi '
-exe s:pA2.'varphi<Tab>`f\ \ Ï• <plug>\varphi '
-exe s:pA2.'chi<Tab>`c\ \ χ <plug>\chi '
-exe s:pA2.'psi<Tab>`y\ \ ψ <plug>\psi '
-exe s:pA2.'omega<Tab>`w\ \ ω <plug>\omega '
-" }}}
-" Greek Letters big {{{
-let s:pA3 = s:pA.'&Greek.&Big.'
-exe s:pA3.'Alpha<Tab>`A\ \ A <plug>\Alpha '
-exe s:pA3.'Beta<Tab>`B\ \ B <plug>\Beta '
-exe s:pA3.'Gamma<Tab>`G\ \ Γ <plug>\Gamma '
-exe s:pA3.'Delta<Tab>`D\ \ Δ <plug>\Delta '
-exe s:pA3.'Epsilon<Tab>`E\ \ E <plug>\Epsilon '
-exe s:pA3.'Zeta<Tab>`Z\ \ Z <plug>\mathrm{Z} '
-exe s:pA3.'Eta<Tab>`H\ \ H <plug>\Eta '
-exe s:pA3.'Theta<Tab>Θ <plug>\Theta '
-exe s:pA3.'Iota<Tab>I <plug>\mathrm{I} '
-exe s:pA3.'Kappa<Tab>`K\ \ K <plug>\Kappa '
-exe s:pA3.'Lambda<Tab>`L\ \ Λ <plug>\Lambda '
-exe s:pA3.'Mu<Tab>`M\ \ M <plug>\Mu '
-exe s:pA3.'Nu<Tab>`N\ \ N <plug>\Nu '
-exe s:pA3.'Xi<Tab>`X\ \ Ξ <plug>\Xi '
-exe s:pA3.'Pi<Tab>`P\ \ Π <plug>\Pi '
-exe s:pA3.'Rho<Tab>`R\ \ P <plug>\Rho '
-exe s:pA3.'Sigma<Tab>`S\ \ Σ <plug>\Sigma '
-exe s:pA3.'Tau<Tab>`T\ \ T <plug>\Tau '
-exe s:pA3.'Upsilon<Tab>`U\ \ Y <plug>\Upsilon '
-exe s:pA3.'Phi<Tab>Φ <plug>\Phi '
-exe s:pA3.'Chi<Tab>`C\ \ X <plug>\Chi '
-exe s:pA3.'Psi<Tab>`Y\ \ Ψ <plug>\Psi '
-exe s:pA3.'Omega<Tab>`W\ \ Ω <plug>\Omega '
-" }}}
-" BinaryRel1 {{{
-let s:pA4 = s:pA."&BinaryRel1."
-exe s:pA4.'ll<Tab>≪ <plug>\ll '
-exe s:pA4.'lll<Tab>⋘ <plug>\lll '
-exe s:pA4.'leqslant<Tab>≤ <plug>\leqslant '
-exe s:pA4.'leq<Tab>≤ <plug>\leq '
-exe s:pA4.'leqq<Tab>≦ <plug>\leqq '
-exe s:pA4.'eqslantless<Tab>⋜ <plug>\eqslantless '
-exe s:pA4.'lessdot<Tab>â‹– <plug>\lessdot '
-exe s:pA4.'prec<Tab>≺ <plug>\prec '
-exe s:pA4.'preceq<Tab>≼ <plug>\preceq '
-exe s:pA4.'preccurlyeq<Tab>≼ <plug>\preccurlyeq '
-exe s:pA4.'curlyeqprec<Tab>â‹ž <plug>\curlyeqprec '
-exe s:pA4.'lesssim<Tab>≲ <plug>\lesssim '
-exe s:pA4.'lessapprox<Tab> <plug>\lessapprox '
-exe s:pA4.'precsim<Tab>≾ <plug>\precsim '
-exe s:pA4.'precapprox<Tab> <plug>\precapprox '
-exe s:pA4.'in<Tab>∈ <plug>\in '
-exe s:pA4.'subset<Tab>`(\ \ ⊂ <plug>\subset '
-exe s:pA4.'Subset<Tab>`)\ \ â‹ <plug>\Subset '
-exe s:pA4.'subseteq<Tab>⊆ <plug>\subseteq '
-exe s:pA4.'subseteqq<Tab> <plug>\subseteqq '
-exe s:pA4.'sqsubset<Tab>⊠<plug>\sqsubset '
-exe s:pA4.'sqsubseteq<Tab>⊑ <plug>\sqsubseteq '
-exe s:pA4.'smile<Tab>⌣ <plug>\smile '
-exe s:pA4.'smallsmile<Tab>⌣ <plug>\smallsmile '
-exe s:pA4.'parallel<Tab>∥ <plug>\parallel '
-exe s:pA4.'shortparallel<Tab>∥ <plug>\shortparallel '
-exe s:pA4.'dashv<Tab>⊣ <plug>\dashv '
-exe s:pA4.'vdash<Tab>⊢ <plug>\vdash '
-exe s:pA4.'vDash<Tab>⊨ <plug>\vDash '
-exe s:pA4.'models<Tab>⊨ <plug>\models '
-exe s:pA4.'therefore<Tab>∴ <plug>\therefore '
-exe s:pA4.'backepsilon<Tab>∠<plug>\backepsilon '
-" }}}
-" nBinaryRel1 {{{
-let s:pA4a = s:pA."&nBinaryRel1."
-exe s:pA4a.'nless<Tab>≮ <plug>\nless '
-exe s:pA4a.'nleqslant<Tab>≰ <plug>\nleqslant '
-exe s:pA4a.'nleq<Tab> <plug>\nleq '
-exe s:pA4a.'lneq<Tab> <plug>\lneq '
-exe s:pA4a.'nleqq<Tab> <plug>\nleqq '
-exe s:pA4a.'lneqq<Tab>≨ <plug>\lneqq '
-exe s:pA4a.'lvertneqq<Tab> <plug>\lvertneqq '
-exe s:pA4a.'nprec<Tab>⊀ <plug>\nprec '
-exe s:pA4a.'npreceq<Tab>â‹  <plug>\npreceq '
-exe s:pA4a.'precneqq<Tab> <plug>\precneqq '
-exe s:pA4a.'lnsim<Tab>⋦ <plug>\lnsim '
-exe s:pA4a.'lnapprox<Tab> <plug>\lnapprox '
-exe s:pA4a.'precnsim<Tab>⋨ <plug>\precnsim '
-exe s:pA4a.'precnapprox<Tab> <plug>\precnapprox '
-exe s:pA4a.'notin<Tab>∉ <plug>\notin '
-exe s:pA4a.'nsubseteq<Tab>⊈ <plug>\nsubseteq '
-exe s:pA4a.'varsubsetneq<Tab> <plug>\varsubsetneq '
-exe s:pA4a.'subsetneq<Tab>⊊ <plug>\subsetneq '
-exe s:pA4a.'nsubseteqq<Tab> <plug>\nsubseteqq '
-exe s:pA4a.'varsubsetneqq<Tab> <plug>\varsubsetneqq '
-exe s:pA4a.'subsetneqq<Tab>⊈ <plug>\subsetneqq '
-exe s:pA4a.'nparallel<Tab>∦ <plug>\nparallel '
-exe s:pA4a.'nshortparallel<Tab> <plug>\nshortparallel '
-exe s:pA4a.'nvdash<Tab>⊬ <plug>\nvdash '
-exe s:pA4a.'nvDash<Tab>⊭ <plug>\nvDash '
-" }}}
-" BinaryRel2 {{{
-let s:pA5 = s:pA."&BinaryRel2."
-exe s:pA5.'gg<Tab>≫ <plug>\gg '
-exe s:pA5.'ggg<Tab>â‹™ <plug>\ggg '
-exe s:pA5.'gggtr<Tab>â‹™ <plug>\gggtr '
-exe s:pA5.'geqslant<Tab> <plug>\geqslant '
-exe s:pA5.'geq<Tab>≥ <plug>\geq '
-exe s:pA5.'geqq<Tab>≧ <plug>\geqq '
-exe s:pA5.'eqslantgtr<Tab> <plug>\eqslantgtr '
-exe s:pA5.'gtrdot<Tab>â‹— <plug>\gtrdot '
-exe s:pA5.'succ<Tab>≻ <plug>\succ '
-exe s:pA5.'succeq<Tab>≽ <plug>\succeq '
-exe s:pA5.'succcurlyeq<Tab>≽ <plug>\succcurlyeq '
-exe s:pA5.'curlyeqsucc<Tab>â‹Ÿ <plug>\curlyeqsucc '
-exe s:pA5.'gtrsim<Tab>≳ <plug>\gtrsim '
-exe s:pA5.'gtrapprox<Tab> <plug>\gtrapprox '
-exe s:pA5.'succsim<Tab>≿ <plug>\succsim '
-exe s:pA5.'succapprox<Tab> <plug>\succapprox '
-exe s:pA5.'ni<Tab>∋ <plug>\ni '
-exe s:pA5.'owns<Tab> <plug>\owns '
-exe s:pA5.'supset<Tab>⊃ <plug>\supset '
-exe s:pA5.'Supset<Tab>â‹‘ <plug>\Supset '
-exe s:pA5.'supseteq<Tab>⊇ <plug>\supseteq '
-exe s:pA5.'supseteqq<Tab> <plug>\supseteqq '
-exe s:pA5.'sqsupset<Tab>⊠<plug>\sqsupset '
-exe s:pA5.'sqsupseteq<Tab>⊒ <plug>\sqsupseteq '
-exe s:pA5.'frown<Tab>⌢ <plug>\frown '
-exe s:pA5.'smallfrown<Tab>⌢ <plug>\smallfrown '
-exe s:pA5.'mid<Tab>∣ <plug>\mid '
-exe s:pA5.'shortmid<Tab> <plug>\shortmid '
-exe s:pA5.'between<Tab>≬ <plug>\between '
-exe s:pA5.'Vdash<Tab>⊩ <plug>\Vdash '
-exe s:pA5.'bowtie<Tab>⋈ <plug>\bowtie '
-exe s:pA5.'Join<Tab>⋈ <plug>\Join '
-exe s:pA5.'pitchfork<Tab>â‹” <plug>\pitchfork '
-" }}}
-" {{{ nBinaryRel2
-let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy
-exe s:pA5a.'ngtr<Tab>≯ <plug>\ngtr '
-exe s:pA5a.'ngeqslant<Tab>≱ <plug>\ngeqslant '
-exe s:pA5a.'ngeq<Tab> <plug>\ngeq '
-exe s:pA5a.'gneq<Tab> <plug>\gneq '
-exe s:pA5a.'ngeqq<Tab> <plug>\ngeqq '
-exe s:pA5a.'gneqq<Tab>≩ <plug>\gneqq '
-exe s:pA5a.'nsucc<Tab>⊠<plug>\nsucc '
-exe s:pA5a.'nsucceq<Tab>â‹¡ <plug>\nsucceq '
-exe s:pA5a.'succneqq<Tab> <plug>\succneqq '
-exe s:pA5a.'gnsim<Tab>⋧ <plug>\gnsim '
-exe s:pA5a.'gnapprox<Tab> <plug>\gnapprox '
-exe s:pA5a.'succnsim<Tab>â‹© <plug>\succnsim '
-exe s:pA5a.'succnapprox<Tab> <plug>\succnapprox '
-exe s:pA5a.'nsupseteq<Tab>⊉ <plug>\nsupseteq '
-exe s:pA5a.'varsupsetneq<Tab> <plug>\varsupsetneq '
-exe s:pA5a.'supsetneq<Tab>⊋ <plug>\supsetneq '
-exe s:pA5a.'nsupseteqq<Tab> <plug>\nsupseteqq '
-exe s:pA5a.'varsupsetneqq<Tab> <plug>\varsupsetneqq '
-exe s:pA5a.'supsetneqq<Tab> <plug>\supsetneqq '
-exe s:pA5a.'nmid<Tab>∤ <plug>\nmid '
-exe s:pA5a.'nshortmid<Tab> <plug>\nshortmid '
-exe s:pA5a.'nVdash<Tab>⊮ <plug>\nVdash '
-" }}}
-" {{{ BinaryRel3
-let s:pA6 = s:pA."&BinaryRel3."
-exe s:pA6.'doteq<Tab>≠<plug>\doteq '
-exe s:pA6.'circeq<Tab>≗ <plug>\circeq '
-exe s:pA6.'eqcirc<Tab>≖ <plug>\eqcirc '
-exe s:pA6.'risingdotseq<Tab>≓ <plug>\risingdotseq '
-exe s:pA6.'doteqdot<Tab>≑ <plug>\doteqdot '
-exe s:pA6.'Doteq<Tab>≑ <plug>\Doteq '
-exe s:pA6.'fallingdotseq<Tab>≒ <plug>\fallingdotseq '
-exe s:pA6.'triangleq<Tab>≜ <plug>\triangleq '
-exe s:pA6.'bumpeq<Tab>≠<plug>\bumpeq '
-exe s:pA6.'Bumpeq<Tab>≎ <plug>\Bumpeq '
-exe s:pA6.'equiv<Tab>`=\ \ ≡ <plug>\equiv '
-exe s:pA6.'sim<Tab>∼ <plug>\sim '
-exe s:pA6.'thicksim<Tab>∼ <plug>\thicksim '
-exe s:pA6.'backsim<Tab>∽ <plug>\backsim '
-exe s:pA6.'simeq<Tab>≃ <plug>\simeq '
-exe s:pA6.'backsimeq<Tab>â‹ <plug>\backsimeq '
-exe s:pA6.'cong<Tab>≅ <plug>\cong '
-exe s:pA6.'approx<tab>=~\ \ ≈ <plug>\approx '
-exe s:pA6.'thickapprox<Tab>≈ <plug>\thickapprox '
-exe s:pA6.'approxeq<Tab>≊ <plug>\approxeq '
-exe s:pA6.'blacktriangleleft<Tab>â—€ <plug>\blacktriangleleft '
-exe s:pA6.'vartriangleleft<Tab>⊲ <plug>\vartriangleleft '
-exe s:pA6.'trianglelefteq<Tab>⊴ <plug>\trianglelefteq '
-exe s:pA6.'blacktriangleright<Tab>â–¶ <plug>\blacktriangleright '
-exe s:pA6.'vartriangleright<Tab>⊳ <plug>\vartriangleright '
-exe s:pA6.'trianglerighteq<Tab>⊵ <plug>\trianglerighteq '
-exe s:pA6.'perp<Tab>⊥ <plug>\perp '
-exe s:pA6.'asymp<Tab>≠<plug>\asymp '
-exe s:pA6.'Vvdash<Tab>⊪ <plug>\Vvdash '
-exe s:pA6.'propto<Tab>∠<plug>\propto '
-exe s:pA6.'varpropto<Tab>∠<plug>\varpropto '
-exe s:pA6.'because<Tab>∵ <plug>\because '
-" }}}
-" {{{ nBinaryRel3
-let s:pA6a = s:pA."&nBinaryRel3."
-exe s:pA6a.'neq<Tab>≠ <plug>\neq '
-exe s:pA6a.'nsim<Tab>≠<plug>\nsim '
-exe s:pA6a.'ncong<Tab>≆ <plug>\ncong '
-exe s:pA6a.'ntriangleleft<Tab>⋪ <plug>\ntriangleleft '
-exe s:pA6a.'ntrianglelefteq<Tab>⋬ <plug>\ntrianglelefteq '
-exe s:pA6a.'ntriangleright<Tab>â‹« <plug>\ntriangleright '
-exe s:pA6a.'ntrianglerighteq<Tab>â‹­ <plug>\ntrianglerighteq '
-" }}}
-" {{{ BinaryRel4
-let s:pA7 = s:pA."&BinaryRel4."
-exe s:pA7.'lessgtr<Tab>≶ <plug>\lessgtr '
-exe s:pA7.'gtrless<Tab>≷ <plug>\gtrless '
-exe s:pA7.'lesseqgtr<Tab>â‹š <plug>\lesseqgtr '
-exe s:pA7.'gtreqless<Tab>â‹› <plug>\gtreqless '
-exe s:pA7.'lesseqqgtr<Tab> <plug>\lesseqqgtr '
-exe s:pA7.'gtreqqless<Tab> <plug>\gtreqqless '
-" }}}
-" {{{ BigOp
-let s:pA8a = s:pA."&BigOp."
-exe s:pA8a.'limits<Tab> <plug>\limits'
-exe s:pA8a.'nolimits<Tab> <plug>\nolimits'
-exe s:pA8a.'displaylimits<Tab> <plug>\displaylimits'
-exe s:pA8a.'-seplimits- :'
-exe s:pA8a.'bigcap<Tab>`-\ \ â‹‚ <plug>\bigcap'
-exe s:pA8a.'bigcup<Tab>`+\ \ ⋃ <plug>\bigcup'
-exe s:pA8a.'bigodot<Tab>⊙ <plug>\bigodot'
-exe s:pA8a.'bigoplus<Tab>⊕ <plug>\bigoplus'
-exe s:pA8a.'bigotimes<Tab>⊗ <plug>\bigotimes'
-exe s:pA8a.'bigsqcup<Tab>⊔ <plug>\bigsqcup'
-exe s:pA8a.'biguplus<Tab>⊎ <plug>\biguplus'
-exe s:pA8a.'bigvee<Tab>â‹ <plug>\bigvee'
-exe s:pA8a.'bigwedge<Tab>â‹€ <plug>\bigwedge'
-exe s:pA8a.'coprod<Tab>∠<plug>\coprod'
-exe s:pA8a.'int<Tab>∫ <plug>\int'
-exe s:pA8a.'iint<Tab>∬ <plug>\int'
-exe s:pA8a.'iiint<Tab>∭ <plug>\int'
-exe s:pA8a.'oint<Tab>∮ <plug>\oint'
-exe s:pA8a.'prod<Tab>∠<plug>\prod'
-exe s:pA8a.'sum<Tab>∑ <plug>\sum'
-" }}}
-" {{{ BinaryOp
-let s:pA8 = s:pA."&BinaryOp."
-exe s:pA8.'pm<Tab>± <plug>\pm '
-exe s:pA8.'mp<Tab>∓ <plug>\mp '
-exe s:pA8.'dotplus<Tab>∔ <plug>\dotplus '
-exe s:pA8.'cdot<Tab>`.\ \ â‹… <plug>\cdot '
-exe s:pA8.'centerdot<Tab>â‹… <plug>\centerdot '
-exe s:pA8.'times<Tab>`*\ \ × <plug>\times '
-exe s:pA8.'ltimes<Tab>⋉ <plug>\ltimes '
-exe s:pA8.'rtimes<Tab>â‹Š <plug>\rtimes '
-exe s:pA8.'leftthreetimes<Tab>â‹‹ <plug>\leftthreetimes '
-exe s:pA8.'rightthreetimes<Tab>⋌ <plug>\rightthreetimes '
-exe s:pA8.'div<Tab>÷ <plug>\div '
-exe s:pA8.'divideontimes<Tab>⋇ <plug>\divideontimes '
-exe s:pA8.'bmod<Tab> <plug>\bmod '
-exe s:pA8.'ast<Tab>∗ <plug>\ast '
-exe s:pA8.'star<Tab>⋆ <plug>\star '
-exe s:pA8.'setminus<Tab>`\\\ \ ∖ <plug>\setminus '
-exe s:pA8.'smallsetminus<Tab>∖ <plug>\smallsetminus '
-exe s:pA8.'diamond<Tab>â‹„ <plug>\diamond '
-exe s:pA8.'wr<Tab>≀ <plug>\wr '
-exe s:pA8.'intercal<Tab>⊺ <plug>\intercal '
-exe s:pA8.'circ<Tab>`@\ \ ∘ <plug>\circ '
-exe s:pA8.'bigcirc<Tab>â—‹ <plug>\bigcirc '
-exe s:pA8.'bullet<Tab>∙ <plug>\bullet '
-exe s:pA8.'cap<Tab>∩ <plug>\cap '
-exe s:pA8.'Cap<Tab>â‹’ <plug>\Cap '
-exe s:pA8.'cup<Tab>∪ <plug>\cup '
-exe s:pA8.'Cup<Tab>â‹“ <plug>\Cup '
-exe s:pA8.'sqcap<Tab>⊓ <plug>\sqcap '
-exe s:pA8.'sqcup<Tab>⊔ <plug>\sqcup'
-exe s:pA8.'amalg<Tab> <plug>\amalg '
-exe s:pA8.'uplus<Tab>⊎ <plug>\uplus '
-exe s:pA8.'triangleleft<Tab>â— <plug>\triangleleft '
-exe s:pA8.'triangleright<Tab>â–· <plug>\triangleright '
-exe s:pA8.'bigtriangleup<Tab>â–³ <plug>\bigtriangleup '
-exe s:pA8.'bigtriangledown<Tab>â–½ <plug>\bigtriangledown '
-exe s:pA8.'vee<Tab>∨ <plug>\vee '
-exe s:pA8.'veebar<Tab>⊻ <plug>\veebar '
-exe s:pA8.'curlyvee<Tab>â‹Ž <plug>\curlyvee '
-exe s:pA8.'wedge<Tab>`&\ \ ∧ <plug>\wedge '
-exe s:pA8.'barwedge<Tab>⊼ <plug>\barwedge '
-exe s:pA8.'doublebarwedge<Tab>⌆ <plug>\doublebarwedge '
-exe s:pA8.'curlywedge<Tab>â‹ <plug>\curlywedge '
-exe s:pA8.'oplus<Tab>⊕ <plug>\oplus '
-exe s:pA8.'ominus<Tab>⊖ <plug>\ominus '
-exe s:pA8.'otimes<Tab>⊗ <plug>\otimes '
-exe s:pA8.'oslash<Tab>⊘ <plug>\oslash '
-exe s:pA8.'boxplus<Tab>⊞ <plug>\boxplus '
-exe s:pA8.'boxminus<Tab>⊟ <plug>\boxminus '
-exe s:pA8.'boxtimes<Tab>⊠ <plug>\boxtimes '
-exe s:pA8.'boxdot<Tab>⊡ <plug>\boxdot '
-exe s:pA8.'odot<Tab>⊙ <plug>\odot '
-exe s:pA8.'circledast<Tab>⊛ <plug>\circledast '
-exe s:pA8.'circleddash<Tab>⊠<plug>\circleddash '
-exe s:pA8.'circledcirc<Tab>⊚ <plug>\circledcirc '
-exe s:pA8.'dagger<Tab>† <plug>\dagger '
-exe s:pA8.'ddagger<Tab>‡ <plug>\ddagger '
-exe s:pA8.'lhd<Tab>⊲ <plug>\lhd '
-exe s:pA8.'unlhd<Tab>⊴ <plug>\unlhd '
-exe s:pA8.'rhd<Tab>⊳ <plug>\rhd '
-exe s:pA8.'unrhd<Tab>⊵ <plug>\unrhd '
-" }}}
-" {{{ Other1
-let s:pA9 = s:pA."&Other1."
-" exe s:pA9.'hat<Tab>â <plug>\hat '
-exe s:pA9.'check<Tab>ÇŽ <plug>\check '
-exe s:pA9.'grave<Tab>à <plug>\grave '
-exe s:pA9.'acute<Tab>á <plug>\acute '
-exe s:pA9.'dot<Tab>ȧ <plug>\dot '
-exe s:pA9.'ddot<Tab>ä <plug>\ddot '
-exe s:pA9.'tilde<Tab>`,\ \ ã <plug>\tilde '
-exe s:pA9.'breve<Tab>ă <plug>\breve '
-exe s:pA9.'bar<Tab>Ä <plug>\bar '
-exe s:pA9.'vec<Tab>a⃗ <plug>\vec '
-exe s:pA9.'aleph<Tab>× <plug>\aleph '
-exe s:pA9.'hbar<Tab>â„ <plug>\hbar '
-exe s:pA9.'imath<Tab> <plug>\imath '
-exe s:pA9.'jmath<Tab> <plug>\jmath '
-exe s:pA9.'ell<Tab>â„“ <plug>\ell '
-exe s:pA9.'wp<Tab>℘ <plug>\wp '
-exe s:pA9.'Re<Tab>ℜ <plug>\Re '
-exe s:pA9.'Im<Tab>â„‘ <plug>\Im '
-exe s:pA9.'partial<Tab>∂ <plug>\partial '
-exe s:pA9.'infty<Tab>`8\ \ ∞ <plug>\infty '
-exe s:pA9.'prime<Tab>′ <plug>\prime '
-exe s:pA9.'emptyset<Tab>∅ <plug>\emptyset '
-exe s:pA9.'nabla<Tab>∇ <plug>\nabla '
-exe s:pA9.'surd<Tab>√ <plug>\surd '
-exe s:pA9.'top<Tab>⊤ <plug>\top '
-exe s:pA9.'bot<Tab>⊥ <plug>\bot '
-exe s:pA9.'angle<Tab>∠ <plug>\angle '
-exe s:pA9.'triangle<Tab>â–³ <plug>\triangle '
-exe s:pA9.'backslash<Tab>\\ <plug>\backslash '
-exe s:pA9.'forall<Tab>∀ <plug>\forall '
-exe s:pA9.'exists<Tab>∃ <plug>\exists '
-exe s:pA9.'neg<Tab>¬ <plug>\neg '
-exe s:pA9.'flat<Tab>â™­ <plug>\flat '
-exe s:pA9.'natural<Tab>â™® <plug>\natural '
-exe s:pA9.'sharp<Tab>♯ <plug>\sharp '
-exe s:pA9.'clubsuit<Tab>♣ <plug>\clubsuit '
-exe s:pA9.'diamondsuit<Tab>♢ <plug>\diamondsuit '
-exe s:pA9.'heartsuit<Tab>♡ <plug>\heartsuit '
-exe s:pA9.'spadesuit<Tab>â™  <plug>\spadesuit '
-exe s:pA9.'S<Tab>§ <plug>\S '
-exe s:pA9.'P<Tab>¶ <plug>\P'
-" }}}
-" {{{ MathCreating
-let s:pA10 = s:pA."&MathCreating."
-exe s:pA10.'not<Tab> <plug>\not'
-exe s:pA10.'mkern<Tab> <plug>\mkern'
-exe s:pA10.'mathbin<Tab> <plug>\mathbin'
-exe s:pA10.'mathrel<Tab> <plug>\mathrel'
-exe s:pA10.'stackrel<Tab> <plug>\stackrel'
-exe s:pA10.'mathord<Tab> <plug>\mathord'
-" }}}
-" {{{ Styles
-let s:pA11 = s:pA."&Styles."
-exe s:pA11.'displaystyle<Tab> <plug>\displaystyle'
-exe s:pA11.'textstyle<Tab> <plug>\textstyle'
-exe s:pA11.'scritpstyle<Tab> <plug>\scritpstyle'
-exe s:pA11.'scriptscriptstyle<Tab> <plug>\scriptscriptstyle'
-" }}}
-" {{{ MathDiacritics
-let s:pA12 = s:pA."&MathDiacritics."
-exe s:pA12.'acute{}<Tab>á <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>'
-exe s:pA12.'bar{}<Tab>`_\ \ Ä <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>'
-exe s:pA12.'breve{}<Tab>ă <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>'
-exe s:pA12.'check{}<Tab>ÇŽ <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>'
-exe s:pA12.'ddot{}<Tab>`:\ \ ä <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>'
-exe s:pA12.'dot{}<Tab>`;\ \ ȧ <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>'
-exe s:pA12.'grave{}<Tab>à <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>'
-" exe s:pA12.'hat{}<Tab>`^\ \ â <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>'
-exe s:pA12.'tilde{}<tab>`~\ \ ã <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>'
-exe s:pA12.'vec{}<Tab>a⃗ <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>'
-exe s:pA12.'widehat{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>'
-exe s:pA12.'widetilde{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>'
-exe s:pA12.'imath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>'
-exe s:pA12.'jmath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>'
-" }}}
-" {{{ OverlineAndCo
-let s:pA13 = s:pA."&OverlineAndCo."
-exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>'
-exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>'
-exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>'
-exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>'
-exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>'
-exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>'
-" }}}
-" {{{ Symbols1
-let s:pA14a = s:pA."&Symbols1."
-exe s:pA14a.'forall<Tab>∀ <plug>\forall '
-exe s:pA14a.'exists<Tab>∃ <plug>\exists '
-exe s:pA14a.'nexists<Tab>∄ <plug>\nexists '
-exe s:pA14a.'neg<Tab>¬ <plug>\neg '
-exe s:pA14a.'top<Tab>⊤ <plug>\top '
-exe s:pA14a.'bot<Tab>⊥ <plug>\bot '
-exe s:pA14a.'emptyset<Tab>∅ <plug>\emptyset '
-exe s:pA14a.'varnothing<Tab>⌀ <plug>\varnothing '
-exe s:pA14a.'infty<Tab>∞ <plug>\infty '
-exe s:pA14a.'aleph<Tab>× <plug>\aleph '
-exe s:pA14a.'beth<Tab>ב <plug>\beth '
-exe s:pA14a.'gimel<Tab>×’ <plug>\gimel '
-exe s:pA14a.'daleth<Tab>ד <plug>\daleth '
-exe s:pA14a.'hbar<Tab> <plug>\hbar '
-exe s:pA14a.'hslash<Tab>â„ <plug>\hslash '
-exe s:pA14a.'diagup<Tab>â„ <plug>\diagup '
-exe s:pA14a.'vert<Tab>\| <plug>\vert '
-exe s:pA14a.'Vert<Tab>∥ <plug>\Vert '
-exe s:pA14a.'backslash<Tab>\\ <plug>\backslash '
-exe s:pA14a.'diagdown<Tab> <plug>\diagdown '
-exe s:pA14a.'Bbbk<Tab>ᵕ <plug>\Bbbk '
-exe s:pA14a.'P<Tab>¶ <plug>\P '
-exe s:pA14a.'S<Tab>§ <plug>\S '
-" }}}
-" {{{ Symbols2
-let s:pA14b = s:pA."&Symbols2."
-exe s:pA14b.'# <plug>\# '
-exe s:pA14b.'% <plug>\% '
-exe s:pA14b.'_<Tab> <plug>\_ '
-exe s:pA14b.'$ <plug>\$ '
-exe s:pA14b.'& <plug>\& '
-exe s:pA14b.'imath<Tab> <plug>\imath '
-exe s:pA14b.'jmath<Tab> <plug>\jmath '
-exe s:pA14b.'ell<Tab>â„“ <plug>\ell '
-exe s:pA14b.'wp<Tab>℘ <plug>\wp '
-exe s:pA14b.'Re<Tab>ℜ <plug>\Re '
-exe s:pA14b.'Im<Tab>â„‘ <plug>\Im '
-exe s:pA14b.'prime<Tab>′ <plug>\prime '
-exe s:pA14b.'backprime<Tab>‵ <plug>\backprime '
-exe s:pA14b.'nabla<Tab>∇ <plug>\nabla '
-exe s:pA14b.'surd<Tab>√ <plug>\surd '
-exe s:pA14b.'flat<Tab>â™­ <plug>\flat '
-exe s:pA14b.'sharp<Tab>♯ <plug>\sharp '
-exe s:pA14b.'natural<Tab>â™® <plug>\natural '
-exe s:pA14b.'eth<Tab>ð <plug>\eth '
-exe s:pA14b.'bigstar<Tab>★ <plug>\bigstar '
-exe s:pA14b.'circledS<Tab>Ⓢ <plug>\circledS '
-exe s:pA14b.'Finv<Tab>Ⅎ <plug>\Finv '
-exe s:pA14b.'dag<Tab>† <plug>\dag '
-exe s:pA14b.'ddag<Tab>‡ <plug>\ddag '
-" }}}
-" {{{ Symbols3
-let s:pA14c = s:pA."&Symbols3."
-exe s:pA14c.'angle<Tab>∠ <plug>\angle '
-exe s:pA14c.'measuredangle<Tab>∡ <plug>\measuredangle '
-exe s:pA14c.'sphericalangle<Tab>∢ <plug>\sphericalangle '
-exe s:pA14c.'spadesuit<Tab>â™  <plug>\spadesuit '
-exe s:pA14c.'heartsuit<Tab>♡ <plug>\heartsuit '
-exe s:pA14c.'diamondsuit<Tab>♢ <plug>\diamondsuit '
-exe s:pA14c.'clubsuit<Tab>♣ <plug>\clubsuit '
-exe s:pA14c.'lozenge<Tab>â—Š <plug>\lozenge '
-exe s:pA14c.'blacklozenge<Tab>â—† <plug>\blacklozenge '
-exe s:pA14c.'Diamond<Tab>â—‡ <plug>\Diamond '
-exe s:pA14c.'triangle<Tab>â–³ <plug>\triangle '
-exe s:pA14c.'vartriangle<Tab>â–³ <plug>\vartriangle '
-exe s:pA14c.'blacktriangle<Tab>â–² <plug>\blacktriangle '
-exe s:pA14c.'triangledown<Tab>â–½ <plug>\triangledown '
-exe s:pA14c.'blacktriangledown<Tab>â–¼ <plug>\blacktriangledown '
-exe s:pA14c.'Box<Tab>â–¡ <plug>\Box '
-exe s:pA14c.'square<Tab>â–¡ <plug>\square '
-exe s:pA14c.'blacksquare<Tab>â–  <plug>\blacksquare '
-exe s:pA14c.'complement<Tab>∠<plug>\complement '
-exe s:pA14c.'mho<Tab>℧ <plug>\mho '
-exe s:pA14c.'Game<Tab>â… <plug>\Game '
-exe s:pA14c.'partial<Tab>`6\ \ ∂ <plug>\partial '
-exe s:pA14c.'smallint<Tab>∫ <plug>\smallint '
-" }}}
-" {{{ Logic
-let s:pA15 = s:pA."&Logic."
-exe s:pA15.'lnot<Tab>¬ <plug>\lnot '
-exe s:pA15.'lor<Tab>∨ <plug>\lor '
-exe s:pA15.'land<Tab>∧ <plug>\land '
-" }}}
-" {{{ Limits1
-let s:pA16 = s:pA."&Limits1."
-exe s:pA16.'left<Tab>( <plug>\left'
-exe s:pA16.'right<Tab>) <plug>\right'
-exe s:pA16.'-sepbigl- :'
-exe s:pA16.'bigl<Tab> <plug>\bigl'
-exe s:pA16.'Bigl<Tab> <plug>\Bigl'
-exe s:pA16.'biggl<Tab> <plug>\biggl'
-exe s:pA16.'Biggl<Tab> <plug>\Biggl'
-exe s:pA16.'-sepbigr- :'
-exe s:pA16.'bigr<Tab> <plug>\bigr'
-exe s:pA16.'Bigr<Tab> <plug>\Bigr'
-exe s:pA16.'biggr<Tab> <plug>\biggr'
-exe s:pA16.'Biggr<Tab> <plug>\Biggr'
-exe s:pA16.'-sepbig- :'
-exe s:pA16.'big<Tab> <plug>\big'
-exe s:pA16.'bigm<Tab> <plug>\bigm'
-exe s:pA16.'-sepfloor- :'
-exe s:pA16.'lfloor<Tab>⌊ <plug>\lfloor '
-exe s:pA16.'lceil<Tab>⌈ <plug>\lceil '
-exe s:pA16.'rfloor<Tab>⌋ <plug>\rfloor '
-exe s:pA16.'rceil<Tab>⌉ <plug>\rceil '
-exe s:pA16.'-sepangle- :'
-exe s:pA16.'langle<Tab>〈 <plug>\langle '
-exe s:pA16.'rangle<Tab>〉 <plug>\rangle '
-" }}}
-" {{{ Limits2
-let s:pA16a = s:pA."&Limits2."
-exe s:pA16a.'ulcorner<Tab>⌜ <plug>\ulcorner '
-exe s:pA16a.'urcorner<Tab>⌠<plug>\urcorner '
-exe s:pA16a.'llcorner<Tab>⌞ <plug>\llcorner '
-exe s:pA16a.'rlcorner<Tab>⌟ <plug>\rlcorner '
-exe s:pA16a.'-sepcorner- :'
-exe s:pA16a.'vert<Tab>\| <plug>\vert '
-exe s:pA16a.'Vert<Tab>∥ <plug>\Vert '
-exe s:pA16a.'lvert<Tab> <plug>\lvert '
-exe s:pA16a.'lVert<Tab> <plug>\lVert '
-exe s:pA16a.'rvert<Tab> <plug>\rvert '
-exe s:pA16a.'rVert<Tab> <plug>\rVert '
-exe s:pA16a.'uparrow<Tab>↑ <plug>\uparrow '
-exe s:pA16a.'Uparrow<Tab>⇑ <plug>\Uparrow '
-exe s:pA16a.'downarrow<Tab>↓ <plug>\downarrow '
-exe s:pA16a.'Downarrow<Tab>⇓ <plug>\Downarrow '
-exe s:pA16a.'updownarrow<Tab>↕ <plug>\updownarrow '
-exe s:pA16a.'Updownarrow<Tab>⇕ <plug>\Updownarrow '
-exe s:pA16a.'lgroup<Tab> <plug>\lgroup '
-exe s:pA16a.'rgroup<Tab> <plug>\rgroup '
-exe s:pA16a.'lmoustache<Tab>∫ <plug>\lmoustache '
-exe s:pA16a.'rmoustache<Tab> <plug>\rmoustache '
-exe s:pA16a.'arrowvert<Tab> <plug>\arrowvert '
-exe s:pA16a.'Arrowvert<Tab> <plug>\Arrowvert '
-exe s:pA16a.'bracevert<Tab> <plug>\bracevert '
-" }}}
-" {{{ Log-likes
-let s:pA17 = s:pA."Lo&g-likes."
-exe s:pA17.'arccos<Tab> <plug>\arccos '
-exe s:pA17.'arcsin<Tab> <plug>\arcsin '
-exe s:pA17.'arctan<Tab> <plug>\arctan '
-exe s:pA17.'arg<Tab> <plug>\arg '
-exe s:pA17.'cos<Tab> <plug>\cos '
-exe s:pA17.'cosh<Tab> <plug>\cosh '
-exe s:pA17.'cot<Tab> <plug>\cot '
-exe s:pA17.'coth<Tab> <plug>\coth '
-exe s:pA17.'csc<Tab> <plug>\csc '
-exe s:pA17.'deg<Tab> <plug>\deg '
-exe s:pA17.'det<Tab> <plug>\det '
-exe s:pA17.'dim<Tab> <plug>\dim '
-exe s:pA17.'exp<Tab> <plug>\exp '
-exe s:pA17.'gcd<Tab> <plug>\gcd '
-exe s:pA17.'hom<Tab> <plug>\hom '
-exe s:pA17.'inf<Tab> <plug>\inf '
-exe s:pA17.'injlim<Tab> <plug>\injlim '
-exe s:pA17.'ker<Tab> <plug>\ker '
-exe s:pA17.'lg<Tab> <plug>\lg '
-exe s:pA17.'lim<Tab> <plug>\lim '
-exe s:pA17.'liminf<Tab> <plug>\liminf '
-exe s:pA17.'limsup<Tab> <plug>\limsup '
-exe s:pA17.'ln<Tab> <plug>\ln '
-exe s:pA17.'log<Tab> <plug>\log '
-exe s:pA17.'max<Tab> <plug>\max '
-exe s:pA17.'min<Tab> <plug>\min '
-exe s:pA17.'Pr<Tab> <plug>\Pr '
-exe s:pA17.'projlim<Tab> <plug>\projlim '
-exe s:pA17.'sec<Tab> <plug>\sec '
-exe s:pA17.'sin<Tab> <plug>\sin '
-exe s:pA17.'sinh<Tab> <plug>\sinh '
-exe s:pA17.'sup<Tab> <plug>\sup '
-exe s:pA17.'tan<Tab> <plug>\tan '
-exe s:pA17.'tanh<Tab> <plug>\tanh '
-exe s:pA17.'varlimsup<Tab> <plug>\varlimsup '
-exe s:pA17.'varliminf<Tab> <plug>\varliminf '
-exe s:pA17.'varinjlim<Tab> <plug>\varinjlim '
-exe s:pA17.'varprojlim<Tab> <plug>\varprojlim '
-" }}}
-" {{{ MathSpacing
-let s:pA18 = s:pA."MathSpacing."
-exe s:pA18.', <plug>\, '
-exe s:pA18.': <plug>\: '
-exe s:pA18.'; <plug>\; '
-exe s:pA18.'[space] <plug>\ '
-exe s:pA18.'quad<Tab> <plug>\quad '
-exe s:pA18.'qquad<Tab> <plug>\qquad '
-exe s:pA18.'! <plug>\! '
-exe s:pA18.'thinspace<Tab> <plug>\thinspace '
-exe s:pA18.'medspace<Tab> <plug>\medspace '
-exe s:pA18.'thickspace<Tab> <plug>\thickspace '
-exe s:pA18.'negthinspace<Tab> <plug>\negthinspace '
-exe s:pA18.'negmedspace<Tab> <plug>\negmedspace '
-exe s:pA18.'negthickspace<Tab> <plug>\negthickspace '
-" 1}}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:fenc=utf-8
diff --git a/.vim/ftplugin/latex-suite/mathmacros.vim b/.vim/ftplugin/latex-suite/mathmacros.vim
deleted file mode 100644
index f160db5..0000000
--- a/.vim/ftplugin/latex-suite/mathmacros.vim
+++ /dev/null
@@ -1,730 +0,0 @@
-"=============================================================================
-" File: mathmacros.vim
-" Author: Mikolaj Machowski
-" Created: Tue Apr 23 06:00 PM 2002 PST
-"
-" Description: macros for everything mathematical in latex.
-"=============================================================================
-
-if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus)
- finish
-endif
-
-let s:MathMenuName = g:Tex_MenuPrefix.'&Math.'
-
-function! Tex_MathMenuRemove()
- exe 'silent! aunmenu '.s:MathMenuName
-endfunction
-
-let s:pA = 'amenu <silent> '.g:Tex_NextMenuLocation.' '.s:MathMenuName
-let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1
-
-" brackets and dollars {{{
-exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>'
-exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>'
-exe s:pA.'&$\ $ <plug>$$'
-exe s:pA.'-sepmath1- :'
-" }}}
-" MATH arrows {{{
-let s:pA1 = s:pA."&Arrows."
-exe s:pA1.'Leftarrow <plug>\leftarrow '
-exe s:pA1.'leftarrow <plug>\leftarrow'
-exe s:pA1.'longleftarrow <plug>\longleftarrow '
-exe s:pA1.'Leftarrow <plug>\Leftarrow '
-exe s:pA1.'Longleftarrow <plug>\Longleftarrow '
-exe s:pA1.'rightarrow <plug>\rightarrow '
-exe s:pA1.'longrightarrow <plug>\longrightarrow '
-exe s:pA1.'Rightarrow <plug>\Rightarrow '
-exe s:pA1.'Longrightarrow <plug>\Longrightarrow '
-exe s:pA1.'leftrightarrow <plug>\leftrightarrow '
-exe s:pA1.'longleftrightarrow <plug>\longleftrightarrow '
-exe s:pA1.'Leftrightarrow <plug>\Leftrightarrow '
-exe s:pA1.'Longleftrightarrow <plug>\Longleftrightarrow '
-exe s:pA1.'uparrow <plug>\uparrow '
-exe s:pA1.'Uparrow <plug>\Uparrow '
-exe s:pA1.'downarrow <plug>\downarrow '
-exe s:pA1.'Downarrow <plug>\Downarrow '
-exe s:pA1.'updownarrow <plug>\updownarrow '
-exe s:pA1.'Updownarrow <plug>\Updownarrow '
-exe s:pA1.'nearrow <plug>\nearrow '
-exe s:pA1.'searrow <plug>\searrow '
-exe s:pA1.'swarrow <plug>\swarrow '
-exe s:pA1.'nwarrow <plug>\nwarrow '
-exe s:pA1.'mapsto <plug>\mapsto '
-exe s:pA1.'leadsto <plug>\leadsto '
-exe s:pA1.'longmapsto <plug>\longmapsto '
-exe s:pA1.'hookleftarrow <plug>\hookleftarrow '
-exe s:pA1.'hookrightarrow <plug>\hookrightarrow '
-exe s:pA1.'leftharpoonup <plug>\leftharpoonup '
-exe s:pA1.'leftharpoondown <plug>\leftharpoondown '
-exe s:pA1.'rightharpoonup <plug>\rightharpoonup '
-exe s:pA1.'rightharpoondown <plug>\rightharpoondown '
-exe s:pA1.'rightleftharpoons <plug>\rightleftharpoons '
-exe s:pA1.'overleftarrow <plug>\overleftarrow '
-exe s:pA1.'overrightarrow <plug>\overrightarrow '
-exe s:pA1.'overleftrightarrow <plug>\overleftrightarrow '
-exe s:pA1.'underleftarrow <plug>\underleftarrow '
-exe s:pA1.'underrightarrow <plug>\underrightarrow '
-exe s:pA1.'underleftrightarrow <plug>\underleftrightarrow '
-exe s:pA1.'xleftarrow <plug>\xleftarrow '
-exe s:pA1.'xrightarrow <plug>\xrightarrow '
-" }}}
-
-
-" MATH nArrows {{{
-let s:pA1a = s:pA."&nArrows."
-exe s:pA1a.'nleftarrow <plug>\nleftarrow '
-exe s:pA1a.'nLeftarrow <plug>\nLeftarrow '
-exe s:pA1a.'nleftrightarrow <plug>\nleftrightarrow '
-exe s:pA1a.'nrightarrow <plug>\nrightarrow '
-exe s:pA1a.'nRightarrow <plug>\nRightarrow '
-" }}}
-" MATH Arrows2 {{{
-let s:pA1a = s:pA."Arrows2."
-exe s:pA1a.'dashleftarrow <plug>\dashleftarrow '
-exe s:pA1a.'leftleftarrows <plug>\leftleftarrows '
-exe s:pA1a.'leftrightarrows <plug>\leftrightarrows '
-exe s:pA1a.'Lleftarrow <plug>\Lleftarrow '
-exe s:pA1a.'twoheadleftarrow <plug>\twoheadleftarrow '
-exe s:pA1a.'leftarrowtail <plug>\leftarrowtail '
-exe s:pA1a.'leftrightharpoons <plug>\leftrightharpoons '
-exe s:pA1a.'Lsh <plug>\Lsh '
-exe s:pA1a.'looparrowleft <plug>\looparrowleft '
-exe s:pA1a.'curvearrowleft <plug>\curvearrowleft '
-exe s:pA1a.'circlearrowleft <plug>\circlearrowleft '
-exe s:pA1a.'dashrightarrow <plug>\dashrightarrow '
-exe s:pA1a.'rightrightarrows <plug>\rightrightarrows '
-exe s:pA1a.'rightleftarrows <plug>\rightleftarrows '
-exe s:pA1a.'Rrightarrow <plug>\Rrightarrow '
-exe s:pA1a.'twoheadrightarrow <plug>\twoheadrightarrow '
-exe s:pA1a.'rightarrowtail <plug>\rightarrowtail '
-exe s:pA1a.'rightleftharpoons <plug>\rightleftharpoons '
-exe s:pA1a.'Rsh <plug>\Rsh '
-exe s:pA1a.'looparrowright <plug>\looparrowright '
-exe s:pA1a.'curvearrowright <plug>\curvearrowright '
-exe s:pA1a.'circlearrowright <plug>\circlearrowright '
-exe s:pA1a.'multimap <plug>\multimap '
-exe s:pA1a.'upuparrows <plug>\upuparrows '
-exe s:pA1a.'downdownarrows <plug>\downdownarrows '
-exe s:pA1a.'upharpoonleft <plug>\upharpoonleft '
-exe s:pA1a.'upharpoonright <plug>\upharpoonright '
-exe s:pA1a.'downharpoonleft <plug>\downharpoonleft '
-exe s:pA1a.'downharpoonright <plug>\downharpoonright '
-exe s:pA1a.'rightsquigarrow <plug>\rightsquigarrow '
-exe s:pA1a.'leftrightsquigarrow <plug>\leftrightsquigarrow '
-" }}}
-" MATH Fonts {{{
-let s:pA2a = s:pA."&MathFonts."
-" exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>'
-exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>'
-exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>'
-exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>'
-exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>'
-exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>'
-exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>'
-exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>'
-exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>'
-" }}}
-" Greek Letters small {{{
-let s:pA2 = s:pA."&Greek.&Small."
-exe s:pA2.'alpha<Tab>`a <plug>\alpha '
-exe s:pA2.'beta<Tab>`b <plug>\beta '
-exe s:pA2.'gamma<Tab>`g <plug>\gamma '
-exe s:pA2.'delta<Tab>`d <plug>\delta '
-exe s:pA2.'epsilon <plug>\epsilon '
-exe s:pA2.'varepsilon<Tab>`e <plug>\varepsilon '
-exe s:pA2.'zeta<Tab>`z <plug>\zeta '
-exe s:pA2.'eta<Tab>`h <plug>\eta '
-exe s:pA2.'theta<Tab>`q <plug>\theta '
-exe s:pA2.'vartheta <plug>\vartheta '
-exe s:pA2.'iota<Tab>`i <plug>\iota '
-exe s:pA2.'kappa<Tab>`k <plug>\kappa '
-exe s:pA2.'lambda<Tab>`l <plug>\lambda '
-exe s:pA2.'mu<Tab>`m <plug>\mu '
-exe s:pA2.'nu<Tab>`n <plug>\nu '
-exe s:pA2.'xi<Tab>`x <plug>\xi '
-exe s:pA2.'pi<Tab>`p <plug>\pi '
-exe s:pA2.'varpi <plug>\varpi '
-exe s:pA2.'rho<Tab>`r <plug>\rho '
-exe s:pA2.'varrho <plug>\varrho '
-exe s:pA2.'sigma<Tab>`s <plug>\sigma '
-exe s:pA2.'varsigma<Tab>`v <plug>\varsigma '
-exe s:pA2.'tau<Tab>`t <plug>\tau '
-exe s:pA2.'upsilon<Tab>`u <plug>\upsilon '
-exe s:pA2.'phi <plug>\phi '
-exe s:pA2.'varphi<Tab>`f <plug>\varphi '
-exe s:pA2.'chi<Tab>`c <plug>\chi '
-exe s:pA2.'psi<Tab>`y <plug>\psi '
-exe s:pA2.'omega<Tab>`w <plug>\omega '
-" }}}
-" Greek Letters big {{{
-let s:pA3 = s:pA.'&Greek.&Big.'
-exe s:pA3.'Alpha<Tab>`A <plug>\Alpha '
-exe s:pA3.'Beta<Tab>`B <plug>\Beta '
-exe s:pA3.'Gamma<Tab>`G <plug>\Gamma '
-exe s:pA3.'Delta<Tab>`D <plug>\Delta '
-exe s:pA3.'Epsilon<Tab>`E <plug>\Epsilon '
-exe s:pA3.'Zeta<Tab>`Z <plug>\mathrm{Z} '
-exe s:pA3.'Eta<Tab>`H <plug>\Eta '
-exe s:pA3.'Theta <plug>\Theta '
-exe s:pA3.'Iota <plug>\mathrm{I} '
-exe s:pA3.'Kappa<Tab>`K <plug>\Kappa '
-exe s:pA3.'Lambda<Tab>`L <plug>\Lambda '
-exe s:pA3.'Mu<Tab>`M <plug>\Mu '
-exe s:pA3.'Nu<Tab>`N <plug>\Nu '
-exe s:pA3.'Xi<Tab>`X <plug>\Xi '
-exe s:pA3.'Pi<Tab>`P <plug>\Pi '
-exe s:pA3.'Rho<Tab>`R <plug>\Rho '
-exe s:pA3.'Sigma<Tab>`S <plug>\Sigma '
-exe s:pA3.'Tau<Tab>`T <plug>\Tau '
-exe s:pA3.'Upsilon<Tab>`U <plug>\Upsilon '
-exe s:pA3.'Phi <plug>\Phi '
-exe s:pA3.'Chi<Tab>`C <plug>\Chi '
-exe s:pA3.'Psi<Tab>`Y <plug>\Psi '
-exe s:pA3.'Omega<Tab>`W <plug>\Omega '
-" }}}
-" BinaryRel1 {{{
-let s:pA4 = s:pA."&BinaryRel1."
-exe s:pA4.'ll <plug>\ll '
-exe s:pA4.'lll <plug>\lll '
-exe s:pA4.'leqslant <plug>\leqslant '
-exe s:pA4.'leq <plug>\leq '
-exe s:pA4.'leqq <plug>\leqq '
-exe s:pA4.'eqslantless <plug>\eqslantless '
-exe s:pA4.'lessdot <plug>\lessdot '
-exe s:pA4.'prec <plug>\prec '
-exe s:pA4.'preceq <plug>\preceq '
-exe s:pA4.'preccurlyeq <plug>\preccurlyeq '
-exe s:pA4.'curlyeqprec <plug>\curlyeqprec '
-exe s:pA4.'lesssim <plug>\lesssim '
-exe s:pA4.'lessapprox <plug>\lessapprox '
-exe s:pA4.'precsim <plug>\precsim '
-exe s:pA4.'precapprox <plug>\precapprox '
-exe s:pA4.'in <plug>\in '
-exe s:pA4.'subset<Tab>`( <plug>\subset '
-exe s:pA4.'Subset<Tab>`) <plug>\Subset '
-exe s:pA4.'subseteq <plug>\subseteq '
-exe s:pA4.'subseteqq <plug>\subseteqq '
-exe s:pA4.'sqsubset <plug>\sqsubset '
-exe s:pA4.'sqsubseteq <plug>\sqsubseteq '
-exe s:pA4.'smile <plug>\smile '
-exe s:pA4.'smallsmile <plug>\smallsmile '
-exe s:pA4.'parallel <plug>\parallel '
-exe s:pA4.'shortparallel <plug>\shortparallel '
-exe s:pA4.'dashv <plug>\dashv '
-exe s:pA4.'vdash <plug>\vdash '
-exe s:pA4.'vDash <plug>\vDash '
-exe s:pA4.'models <plug>\models '
-exe s:pA4.'therefore <plug>\therefore '
-exe s:pA4.'backepsilon <plug>\backepsilon '
-" }}}
-" nBinaryRel1 {{{
-let s:pA4a = s:pA."&nBinaryRel1."
-exe s:pA4a.'nless <plug>\nless '
-exe s:pA4a.'nleqslant <plug>\nleqslant '
-exe s:pA4a.'nleq <plug>\nleq '
-exe s:pA4a.'lneq <plug>\lneq '
-exe s:pA4a.'nleqq <plug>\nleqq '
-exe s:pA4a.'lneqq <plug>\lneqq '
-exe s:pA4a.'lvertneqq <plug>\lvertneqq '
-exe s:pA4a.'nprec <plug>\nprec '
-exe s:pA4a.'npreceq <plug>\npreceq '
-exe s:pA4a.'precneqq <plug>\precneqq '
-exe s:pA4a.'lnsim <plug>\lnsim '
-exe s:pA4a.'lnapprox <plug>\lnapprox '
-exe s:pA4a.'precnsim <plug>\precnsim '
-exe s:pA4a.'precnapprox <plug>\precnapprox '
-exe s:pA4a.'notin <plug>\notin '
-exe s:pA4a.'nsubseteq <plug>\nsubseteq '
-exe s:pA4a.'varsubsetneq <plug>\varsubsetneq '
-exe s:pA4a.'subsetneq <plug>\subsetneq '
-exe s:pA4a.'nsubseteqq <plug>\nsubseteqq '
-exe s:pA4a.'varsubsetneqq <plug>\varsubsetneqq '
-exe s:pA4a.'subsetneqq <plug>\subsetneqq '
-exe s:pA4a.'nparallel <plug>\nparallel '
-exe s:pA4a.'nshortparallel <plug>\nshortparallel '
-exe s:pA4a.'nvdash <plug>\nvdash '
-exe s:pA4a.'nvDash <plug>\nvDash '
-" }}}
-" BinaryRel2 {{{
-let s:pA5 = s:pA."&BinaryRel2."
-exe s:pA5.'gg <plug>\gg '
-exe s:pA5.'ggg <plug>\ggg '
-exe s:pA5.'gggtr <plug>\gggtr '
-exe s:pA5.'geqslant <plug>\geqslant '
-exe s:pA5.'geq <plug>\geq '
-exe s:pA5.'geqq <plug>\geqq '
-exe s:pA5.'eqslantgtr <plug>\eqslantgtr '
-exe s:pA5.'gtrdot <plug>\gtrdot '
-exe s:pA5.'succ <plug>\succ '
-exe s:pA5.'succeq <plug>\succeq '
-exe s:pA5.'succcurlyeq <plug>\succcurlyeq '
-exe s:pA5.'curlyeqsucc <plug>\curlyeqsucc '
-exe s:pA5.'gtrsim <plug>\gtrsim '
-exe s:pA5.'gtrapprox <plug>\gtrapprox '
-exe s:pA5.'succsim <plug>\succsim '
-exe s:pA5.'succapprox <plug>\succapprox '
-exe s:pA5.'ni <plug>\ni '
-exe s:pA5.'owns <plug>\owns '
-exe s:pA5.'supset <plug>\supset '
-exe s:pA5.'Supset <plug>\Supset '
-exe s:pA5.'supseteq <plug>\supseteq '
-exe s:pA5.'supseteqq <plug>\supseteqq '
-exe s:pA5.'sqsupset <plug>\sqsupset '
-exe s:pA5.'sqsupseteq <plug>\sqsupseteq '
-exe s:pA5.'frown <plug>\frown '
-exe s:pA5.'smallfrown <plug>\smallfrown '
-exe s:pA5.'mid <plug>\mid '
-exe s:pA5.'shortmid <plug>\shortmid '
-exe s:pA5.'between <plug>\between '
-exe s:pA5.'Vdash <plug>\Vdash '
-exe s:pA5.'bowtie <plug>\bowtie '
-exe s:pA5.'Join <plug>\Join '
-exe s:pA5.'pitchfork <plug>\pitchfork '
-" }}}
-" {{{ nBinaryRel2
-let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy
-exe s:pA5a.'ngtr <plug>\ngtr '
-exe s:pA5a.'ngeqslant <plug>\ngeqslant '
-exe s:pA5a.'ngeq <plug>\ngeq '
-exe s:pA5a.'gneq <plug>\gneq '
-exe s:pA5a.'ngeqq <plug>\ngeqq '
-exe s:pA5a.'gneqq <plug>\gneqq '
-exe s:pA5a.'nsucc <plug>\nsucc '
-exe s:pA5a.'nsucceq <plug>\nsucceq '
-exe s:pA5a.'succneqq <plug>\succneqq '
-exe s:pA5a.'gnsim <plug>\gnsim '
-exe s:pA5a.'gnapprox <plug>\gnapprox '
-exe s:pA5a.'succnsim <plug>\succnsim '
-exe s:pA5a.'succnapprox <plug>\succnapprox '
-exe s:pA5a.'nsupseteq <plug>\nsupseteq '
-exe s:pA5a.'varsupsetneq <plug>\varsupsetneq '
-exe s:pA5a.'supsetneq <plug>\supsetneq '
-exe s:pA5a.'nsupseteqq <plug>\nsupseteqq '
-exe s:pA5a.'varsupsetneqq <plug>\varsupsetneqq '
-exe s:pA5a.'supsetneqq <plug>\supsetneqq '
-exe s:pA5a.'nmid <plug>\nmid '
-exe s:pA5a.'nshortmid <plug>\nshortmid '
-exe s:pA5a.'nVdash <plug>\nVdash '
-" }}}
-" {{{ BinaryRel3
-let s:pA6 = s:pA."&BinaryRel3."
-exe s:pA6.'doteq <plug>\doteq '
-exe s:pA6.'circeq <plug>\circeq '
-exe s:pA6.'eqcirc <plug>\eqcirc '
-exe s:pA6.'risingdotseq <plug>\risingdotseq '
-exe s:pA6.'doteqdot <plug>\doteqdot '
-exe s:pA6.'Doteq <plug>\Doteq '
-exe s:pA6.'fallingdotseq <plug>\fallingdotseq '
-exe s:pA6.'triangleq <plug>\triangleq '
-exe s:pA6.'bumpeq <plug>\bumpeq '
-exe s:pA6.'Bumpeq <plug>\Bumpeq '
-exe s:pA6.'equiv<Tab>`= <plug>\equiv '
-exe s:pA6.'sim <plug>\sim '
-exe s:pA6.'thicksim <plug>\thicksim '
-exe s:pA6.'backsim <plug>\backsim '
-exe s:pA6.'simeq <plug>\simeq '
-exe s:pA6.'backsimeq <plug>\backsimeq '
-exe s:pA6.'cong <plug>\cong '
-exe s:pA6.'approx<tab>=~ <plug>\approx '
-exe s:pA6.'thickapprox <plug>\thickapprox '
-exe s:pA6.'approxeq <plug>\approxeq '
-exe s:pA6.'blacktriangleleft <plug>\blacktriangleleft '
-exe s:pA6.'vartriangleleft <plug>\vartriangleleft '
-exe s:pA6.'trianglelefteq <plug>\trianglelefteq '
-exe s:pA6.'blacktriangleright <plug>\blacktriangleright '
-exe s:pA6.'vartriangleright <plug>\vartriangleright '
-exe s:pA6.'trianglerighteq <plug>\trianglerighteq '
-exe s:pA6.'perp <plug>\perp '
-exe s:pA6.'asymp <plug>\asymp '
-exe s:pA6.'Vvdash <plug>\Vvdash '
-exe s:pA6.'propto <plug>\propto '
-exe s:pA6.'varpropto <plug>\varpropto '
-exe s:pA6.'because <plug>\because '
-" }}}
-" {{{ nBinaryRel3
-let s:pA6a = s:pA."&nBinaryRel3."
-exe s:pA6a.'neq <plug>\neq '
-exe s:pA6a.'nsim <plug>\nsim '
-exe s:pA6a.'ncong <plug>\ncong '
-exe s:pA6a.'ntriangleleft <plug>\ntriangleleft '
-exe s:pA6a.'ntrianglelefteq <plug>\ntrianglelefteq '
-exe s:pA6a.'ntriangleright <plug>\ntriangleright '
-exe s:pA6a.'ntrianglerighteq <plug>\ntrianglerighteq '
-" }}}
-" {{{ BinaryRel4
-let s:pA7 = s:pA."&BinaryRel4."
-exe s:pA7.'lessgtr <plug>\lessgtr '
-exe s:pA7.'gtrless <plug>\gtrless '
-exe s:pA7.'lesseqgtr <plug>\lesseqgtr '
-exe s:pA7.'gtreqless <plug>\gtreqless '
-exe s:pA7.'lesseqqgtr <plug>\lesseqqgtr '
-exe s:pA7.'gtreqqless <plug>\gtreqqless '
-" }}}
-" {{{ BigOp
-let s:pA8a = s:pA."&BigOp."
-exe s:pA8a.'limits <plug>\limits'
-exe s:pA8a.'nolimits <plug>\nolimits'
-exe s:pA8a.'displaylimits <plug>\displaylimits'
-exe s:pA8a.'-seplimits- :'
-exe s:pA8a.'bigcap<Tab>`- <plug>\bigcap'
-exe s:pA8a.'bigcup<Tab>`+ <plug>\bigcup'
-exe s:pA8a.'bigodot <plug>\bigodot'
-exe s:pA8a.'bigoplus <plug>\bigoplus'
-exe s:pA8a.'bigotimes <plug>\bigotimes'
-exe s:pA8a.'bigsqcup <plug>\bigsqcup'
-exe s:pA8a.'biguplus <plug>\biguplus'
-exe s:pA8a.'bigvee <plug>\bigvee'
-exe s:pA8a.'bigwedge <plug>\bigwedge'
-exe s:pA8a.'coprod <plug>\coprod'
-exe s:pA8a.'int <plug>\int'
-exe s:pA8a.'oint <plug>\oint'
-exe s:pA8a.'prod <plug>\prod'
-exe s:pA8a.'sum <plug>\sum'
-" }}}
-" {{{ BinaryOp
-let s:pA8 = s:pA."&BinaryOp."
-exe s:pA8.'pm <plug>\pm '
-exe s:pA8.'mp <plug>\mp '
-exe s:pA8.'dotplus <plug>\dotplus '
-exe s:pA8.'cdot<Tab>`. <plug>\cdot '
-exe s:pA8.'centerdot <plug>\centerdot '
-exe s:pA8.'times<Tab>`* <plug>\times '
-exe s:pA8.'ltimes <plug>\ltimes '
-exe s:pA8.'rtimes <plug>\rtimes '
-exe s:pA8.'leftthreetimes <plug>\leftthreetimes '
-exe s:pA8.'rightthreetimes <plug>\rightthreetimes '
-exe s:pA8.'div <plug>\div '
-exe s:pA8.'divideontimes <plug>\divideontimes '
-exe s:pA8.'bmod <plug>\bmod '
-exe s:pA8.'ast <plug>\ast '
-exe s:pA8.'star <plug>\star '
-exe s:pA8.'setminus<Tab>`\\ <plug>\setminus '
-exe s:pA8.'smallsetminus <plug>\smallsetminus '
-exe s:pA8.'diamond <plug>\diamond '
-exe s:pA8.'wr <plug>\wr '
-exe s:pA8.'intercal <plug>\intercal '
-exe s:pA8.'circ<Tab>`@ <plug>\circ '
-exe s:pA8.'bigcirc <plug>\bigcirc '
-exe s:pA8.'bullet <plug>\bullet '
-exe s:pA8.'cap <plug>\cap '
-exe s:pA8.'Cap <plug>\Cap '
-exe s:pA8.'cup <plug>\cup '
-exe s:pA8.'Cup <plug>\Cup '
-exe s:pA8.'sqcap <plug>\sqcap '
-exe s:pA8.'sqcup <plug>\sqcup'
-exe s:pA8.'amalg <plug>\amalg '
-exe s:pA8.'uplus <plug>\uplus '
-exe s:pA8.'triangleleft <plug>\triangleleft '
-exe s:pA8.'triangleright <plug>\triangleright '
-exe s:pA8.'bigtriangleup <plug>\bigtriangleup '
-exe s:pA8.'bigtriangledown <plug>\bigtriangledown '
-exe s:pA8.'vee <plug>\vee '
-exe s:pA8.'veebar <plug>\veebar '
-exe s:pA8.'curlyvee <plug>\curlyvee '
-exe s:pA8.'wedge<Tab>`& <plug>\wedge '
-exe s:pA8.'barwedge <plug>\barwedge '
-exe s:pA8.'doublebarwedge <plug>\doublebarwedge '
-exe s:pA8.'curlywedge <plug>\curlywedge '
-exe s:pA8.'oplus <plug>\oplus '
-exe s:pA8.'ominus <plug>\ominus '
-exe s:pA8.'otimes <plug>\otimes '
-exe s:pA8.'oslash <plug>\oslash '
-exe s:pA8.'boxplus <plug>\boxplus '
-exe s:pA8.'boxminus <plug>\boxminus '
-exe s:pA8.'boxtimes <plug>\boxtimes '
-exe s:pA8.'boxdot <plug>\boxdot '
-exe s:pA8.'odot <plug>\odot '
-exe s:pA8.'circledast <plug>\circledast '
-exe s:pA8.'circleddash <plug>\circleddash '
-exe s:pA8.'circledcirc <plug>\circledcirc '
-exe s:pA8.'dagger <plug>\dagger '
-exe s:pA8.'ddagger <plug>\ddagger '
-exe s:pA8.'lhd <plug>\lhd '
-exe s:pA8.'unlhd <plug>\unlhd '
-exe s:pA8.'rhd <plug>\rhd '
-exe s:pA8.'unrhd <plug>\unrhd '
-" }}}
-" {{{ Other1
-let s:pA9 = s:pA."&Other1."
-exe s:pA9.'hat <plug>\hat '
-exe s:pA9.'check <plug>\check '
-exe s:pA9.'grave <plug>\grave '
-exe s:pA9.'acute <plug>\acute '
-exe s:pA9.'dot <plug>\dot '
-exe s:pA9.'ddot <plug>\ddot '
-exe s:pA9.'tilde<Tab>`, <plug>\tilde '
-exe s:pA9.'breve <plug>\breve '
-exe s:pA9.'bar <plug>\bar '
-exe s:pA9.'vec <plug>\vec '
-exe s:pA9.'aleph <plug>\aleph '
-exe s:pA9.'hbar <plug>\hbar '
-exe s:pA9.'imath <plug>\imath '
-exe s:pA9.'jmath <plug>\jmath '
-exe s:pA9.'ell <plug>\ell '
-exe s:pA9.'wp <plug>\wp '
-exe s:pA9.'Re <plug>\Re '
-exe s:pA9.'Im <plug>\Im '
-exe s:pA9.'partial <plug>\partial '
-exe s:pA9.'infty<Tab>`8 <plug>\infty '
-exe s:pA9.'prime <plug>\prime '
-exe s:pA9.'emptyset <plug>\emptyset '
-exe s:pA9.'nabla <plug>\nabla '
-exe s:pA9.'surd <plug>\surd '
-exe s:pA9.'top <plug>\top '
-exe s:pA9.'bot <plug>\bot '
-exe s:pA9.'angle <plug>\angle '
-exe s:pA9.'triangle <plug>\triangle '
-exe s:pA9.'backslash <plug>\backslash '
-exe s:pA9.'forall <plug>\forall '
-exe s:pA9.'exists <plug>\exists '
-exe s:pA9.'neg <plug>\neg '
-exe s:pA9.'flat <plug>\flat '
-exe s:pA9.'natural <plug>\natural '
-exe s:pA9.'sharp <plug>\sharp '
-exe s:pA9.'clubsuit <plug>\clubsuit '
-exe s:pA9.'diamondsuit <plug>\diamondsuit '
-exe s:pA9.'heartsuit <plug>\heartsuit '
-exe s:pA9.'spadesuit <plug>\spadesuit '
-exe s:pA9.'S <plug>\S '
-exe s:pA9.'P <plug>\P'
-" }}}
-" {{{ MathCreating
-let s:pA10 = s:pA."&MathCreating."
-exe s:pA10.'not <plug>\not'
-exe s:pA10.'mkern <plug>\mkern'
-exe s:pA10.'mathbin <plug>\mathbin'
-exe s:pA10.'mathrel <plug>\mathrel'
-exe s:pA10.'stackrel <plug>\stackrel'
-exe s:pA10.'mathord <plug>\mathord'
-" }}}
-" {{{ Styles
-let s:pA11 = s:pA."&Styles."
-exe s:pA11.'displaystyle <plug>\displaystyle'
-exe s:pA11.'textstyle <plug>\textstyle'
-exe s:pA11.'scritpstyle <plug>\scritpstyle'
-exe s:pA11.'scriptscriptstyle <plug>\scriptscriptstyle'
-" }}}
-" {{{ MathDiacritics
-let s:pA12 = s:pA."&MathDiacritics."
-exe s:pA12.'acute{} <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>'
-exe s:pA12.'bar{}<Tab>`_ <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>'
-exe s:pA12.'breve{} <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>'
-exe s:pA12.'check{} <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>'
-exe s:pA12.'ddot{}<Tab>`: <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>'
-exe s:pA12.'dot{}<Tab>`; <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>'
-exe s:pA12.'grave{} <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>'
-exe s:pA12.'hat{}<Tab>`^ <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>'
-exe s:pA12.'tilde{}<tab>`~ <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>'
-exe s:pA12.'vec{} <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>'
-exe s:pA12.'widehat{} <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>'
-exe s:pA12.'widetilde{} <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>'
-exe s:pA12.'imath <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>'
-exe s:pA12.'jmath <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>'
-" }}}
-" {{{ OverlineAndCo
-let s:pA13 = s:pA."&OverlineAndCo."
-exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>'
-exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>'
-exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>'
-exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>'
-exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>'
-exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>'
-" }}}
-" {{{ Symbols1
-let s:pA14a = s:pA."&Symbols1."
-exe s:pA14a.'forall <plug>\forall '
-exe s:pA14a.'exists <plug>\exists '
-exe s:pA14a.'nexists <plug>\nexists '
-exe s:pA14a.'neg <plug>\neg '
-exe s:pA14a.'top <plug>\top '
-exe s:pA14a.'bot <plug>\bot '
-exe s:pA14a.'emptyset <plug>\emptyset '
-exe s:pA14a.'varnothing <plug>\varnothing '
-exe s:pA14a.'infty <plug>\infty '
-exe s:pA14a.'aleph <plug>\aleph '
-exe s:pA14a.'beth <plug>\beth '
-exe s:pA14a.'gimel <plug>\gimel '
-exe s:pA14a.'daleth <plug>\daleth '
-exe s:pA14a.'hbar <plug>\hbar '
-exe s:pA14a.'hslash <plug>\hslash '
-exe s:pA14a.'diagup <plug>\diagup '
-exe s:pA14a.'vert <plug>\vert '
-exe s:pA14a.'Vert <plug>\Vert '
-exe s:pA14a.'backslash <plug>\backslash '
-exe s:pA14a.'diagdown <plug>\diagdown '
-exe s:pA14a.'Bbbk <plug>\Bbbk '
-exe s:pA14a.'P <plug>\P '
-exe s:pA14a.'S <plug>\S '
-" }}}
-" {{{ Symbols2
-let s:pA14b = s:pA."&Symbols2."
-exe s:pA14b.'# <plug>\# '
-exe s:pA14b.'% <plug>\% '
-exe s:pA14b.'_ <plug>\_ '
-exe s:pA14b.'$ <plug>\$ '
-exe s:pA14b.'& <plug>\& '
-exe s:pA14b.'imath <plug>\imath '
-exe s:pA14b.'jmath <plug>\jmath '
-exe s:pA14b.'ell <plug>\ell '
-exe s:pA14b.'wp <plug>\wp '
-exe s:pA14b.'Re <plug>\Re '
-exe s:pA14b.'Im <plug>\Im '
-exe s:pA14b.'prime <plug>\prime '
-exe s:pA14b.'backprime <plug>\backprime '
-exe s:pA14b.'nabla <plug>\nabla '
-exe s:pA14b.'surd <plug>\surd '
-exe s:pA14b.'flat <plug>\flat '
-exe s:pA14b.'sharp <plug>\sharp '
-exe s:pA14b.'natural <plug>\natural '
-exe s:pA14b.'eth <plug>\eth '
-exe s:pA14b.'bigstar <plug>\bigstar '
-exe s:pA14b.'circledS <plug>\circledS '
-exe s:pA14b.'Finv <plug>\Finv '
-exe s:pA14b.'dag <plug>\dag '
-exe s:pA14b.'ddag <plug>\ddag '
-" }}}
-" {{{ Symbols3
-let s:pA14c = s:pA."&Symbols3."
-exe s:pA14c.'angle <plug>\angle '
-exe s:pA14c.'measuredangle <plug>\measuredangle '
-exe s:pA14c.'sphericalangle <plug>\sphericalangle '
-exe s:pA14c.'spadesuit <plug>\spadesuit '
-exe s:pA14c.'heartsuit <plug>\heartsuit '
-exe s:pA14c.'diamondsuit <plug>\diamondsuit '
-exe s:pA14c.'clubsuit <plug>\clubsuit '
-exe s:pA14c.'lozenge <plug>\lozenge '
-exe s:pA14c.'blacklozenge <plug>\blacklozenge '
-exe s:pA14c.'Diamond <plug>\Diamond '
-exe s:pA14c.'triangle <plug>\triangle '
-exe s:pA14c.'vartriangle <plug>\vartriangle '
-exe s:pA14c.'blacktriangle <plug>\blacktriangle '
-exe s:pA14c.'triangledown <plug>\triangledown '
-exe s:pA14c.'blacktriangledown <plug>\blacktriangledown '
-exe s:pA14c.'Box <plug>\Box '
-exe s:pA14c.'square <plug>\square '
-exe s:pA14c.'blacksquare <plug>\blacksquare '
-exe s:pA14c.'complement <plug>\complement '
-exe s:pA14c.'mho <plug>\mho '
-exe s:pA14c.'Game <plug>\Game '
-exe s:pA14c.'partial<Tab>`6 <plug>\partial '
-exe s:pA14c.'smallint <plug>\smallint '
-" }}}
-" {{{ Logic
-let s:pA15 = s:pA."&Logic."
-exe s:pA15.'lnot <plug>\lnot '
-exe s:pA15.'lor <plug>\lor '
-exe s:pA15.'land <plug>\land '
-" }}}
-" {{{ Limits1
-let s:pA16 = s:pA."&Limits1."
-exe s:pA16.'left <plug>\left'
-exe s:pA16.'right <plug>\right'
-exe s:pA16.'-sepbigl- :'
-exe s:pA16.'bigl <plug>\bigl'
-exe s:pA16.'Bigl <plug>\Bigl'
-exe s:pA16.'biggl <plug>\biggl'
-exe s:pA16.'Biggl <plug>\Biggl'
-exe s:pA16.'-sepbigr- :'
-exe s:pA16.'bigr <plug>\bigr'
-exe s:pA16.'Bigr <plug>\Bigr'
-exe s:pA16.'biggr <plug>\biggr'
-exe s:pA16.'Biggr <plug>\Biggr'
-exe s:pA16.'-sepbig- :'
-exe s:pA16.'big <plug>\big'
-exe s:pA16.'bigm <plug>\bigm'
-exe s:pA16.'-sepfloor- :'
-exe s:pA16.'lfloor <plug>\lfloor '
-exe s:pA16.'lceil <plug>\lceil '
-exe s:pA16.'rfloor <plug>\rfloor '
-exe s:pA16.'rceil <plug>\rceil '
-exe s:pA16.'-sepangle- :'
-exe s:pA16.'langle <plug>\langle '
-exe s:pA16.'rangle <plug>\rangle '
-" }}}
-" {{{ Limits2
-let s:pA16a = s:pA."&Limits2."
-exe s:pA16a.'ulcorner <plug>\ulcorner '
-exe s:pA16a.'urcorner <plug>\urcorner '
-exe s:pA16a.'llcorner <plug>\llcorner '
-exe s:pA16a.'rlcorner <plug>\rlcorner '
-exe s:pA16a.'-sepcorner- :'
-exe s:pA16a.'vert <plug>\vert '
-exe s:pA16a.'Vert <plug>\Vert '
-exe s:pA16a.'lvert <plug>\lvert '
-exe s:pA16a.'lVert <plug>\lVert '
-exe s:pA16a.'rvert <plug>\rvert '
-exe s:pA16a.'rVert <plug>\rVert '
-exe s:pA16a.'uparrow <plug>\uparrow '
-exe s:pA16a.'Uparrow <plug>\Uparrow '
-exe s:pA16a.'downarrow <plug>\downarrow '
-exe s:pA16a.'Downarrow <plug>\Downarrow '
-exe s:pA16a.'updownarrow <plug>\updownarrow '
-exe s:pA16a.'Updownarrow <plug>\Updownarrow '
-exe s:pA16a.'lgroup <plug>\lgroup '
-exe s:pA16a.'rgroup <plug>\rgroup '
-exe s:pA16a.'lmoustache <plug>\lmoustache '
-exe s:pA16a.'rmoustache <plug>\rmoustache '
-exe s:pA16a.'arrowvert <plug>\arrowvert '
-exe s:pA16a.'Arrowvert <plug>\Arrowvert '
-exe s:pA16a.'bracevert <plug>\bracevert '
-" }}}
-" {{{ Log-likes
-let s:pA17 = s:pA."Lo&g-likes."
-exe s:pA17.'arccos <plug>\arccos '
-exe s:pA17.'arcsin <plug>\arcsin '
-exe s:pA17.'arctan <plug>\arctan '
-exe s:pA17.'arg <plug>\arg '
-exe s:pA17.'cos <plug>\cos '
-exe s:pA17.'cosh <plug>\cosh '
-exe s:pA17.'cot <plug>\cot '
-exe s:pA17.'coth <plug>\coth '
-exe s:pA17.'csc <plug>\csc '
-exe s:pA17.'deg <plug>\deg '
-exe s:pA17.'det <plug>\det '
-exe s:pA17.'dim <plug>\dim '
-exe s:pA17.'exp <plug>\exp '
-exe s:pA17.'gcd <plug>\gcd '
-exe s:pA17.'hom <plug>\hom '
-exe s:pA17.'inf <plug>\inf '
-exe s:pA17.'injlim <plug>\injlim '
-exe s:pA17.'ker <plug>\ker '
-exe s:pA17.'lg <plug>\lg '
-exe s:pA17.'lim <plug>\lim '
-exe s:pA17.'liminf <plug>\liminf '
-exe s:pA17.'limsup <plug>\limsup '
-exe s:pA17.'ln <plug>\ln '
-exe s:pA17.'log <plug>\log '
-exe s:pA17.'max <plug>\max '
-exe s:pA17.'min <plug>\min '
-exe s:pA17.'Pr <plug>\Pr '
-exe s:pA17.'projlim <plug>\projlim '
-exe s:pA17.'sec <plug>\sec '
-exe s:pA17.'sin <plug>\sin '
-exe s:pA17.'sinh <plug>\sinh '
-exe s:pA17.'sup <plug>\sup '
-exe s:pA17.'tan <plug>\tan '
-exe s:pA17.'tanh <plug>\tanh '
-exe s:pA17.'varlimsup <plug>\varlimsup '
-exe s:pA17.'varliminf <plug>\varliminf '
-exe s:pA17.'varinjlim <plug>\varinjlim '
-exe s:pA17.'varprojlim <plug>\varprojlim '
-" }}}
-" {{{ MathSpacing
-let s:pA18 = s:pA."MathSpacing."
-exe s:pA18.', <plug>\, '
-exe s:pA18.': <plug>\: '
-exe s:pA18.'; <plug>\; '
-exe s:pA18.'[space] <plug>\ '
-exe s:pA18.'quad <plug>\quad '
-exe s:pA18.'qquad <plug>\qquad '
-exe s:pA18.'! <plug>\! '
-exe s:pA18.'thinspace <plug>\thinspace '
-exe s:pA18.'medspace <plug>\medspace '
-exe s:pA18.'thickspace <plug>\thickspace '
-exe s:pA18.'negthinspace <plug>\negthinspace '
-exe s:pA18.'negmedspace <plug>\negmedspace '
-exe s:pA18.'negthickspace <plug>\negthickspace '
-" 1}}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/multicompile.vim b/.vim/ftplugin/latex-suite/multicompile.vim
deleted file mode 100644
index f5598cc..0000000
--- a/.vim/ftplugin/latex-suite/multicompile.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-" ============================================================================
-" File: multicompile.vim
-" Author: Srinath Avadhanula
-" Created: Sat Jul 05 03:00 PM 2003
-" Description: compile a .tex file multiple times to get cross references
-" right.
-" License: Vim Charityware License
-" Part of vim-latexSuite: http://vim-latex.sourceforge.net
-" CVS: $Id: multicompile.vim 997 2006-03-20 09:45:45Z srinathava $
-" ============================================================================
-
-" The contents of this file have been moved to compiler.vim, the file which
-" contains all functions relevant to compiling and viewing.
-" This file is kept empty on purpose so that it will over-write previous
-" versions of multicompile.vim, therby preventing conflicts.
-
-" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/outline.py b/.vim/ftplugin/latex-suite/outline.py
deleted file mode 100644
index 7bb6896..0000000
--- a/.vim/ftplugin/latex-suite/outline.py
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/python
-
-# Part of Latex-Suite
-#
-# Copyright: Srinath Avadhanula
-# Description:
-# This file implements a simple outline creation for latex documents.
-
-import re
-import os
-import sys
-import StringIO
-
-# getFileContents {{{
-def getFileContents(argin, ext=''):
- if type(argin) is str:
- fname = argin + ext
- else:
- fname = argin.group(3) + ext
-
- # This longish thing is to make sure that all files are converted into
- # \n seperated lines.
- contents = '\n'.join(open(fname).read().splitlines())
-
- # TODO what are all the ways in which a tex file can include another?
- pat = re.compile(r'^\\(@?)(include|input){(.*?)}', re.M)
- contents = re.sub(pat, lambda input: getFileContents(input, ext), contents)
-
- return ('%%==== FILENAME: %s' % fname) + '\n' + contents
-
-# }}}
-# stripComments {{{
-def stripComments(contents):
- # remove all comments except those of the form
- # %%==== FILENAME: <filename.tex>
- uncomm = [re.sub('%(?!==== FILENAME: ).*', '', line) for line in contents.splitlines()]
- # also remove all only-whitespace lines.
- nonempty = [line for line in uncomm if line.strip()]
-
- return nonempty
-# }}}
-# addFileNameAndNumber {{{
-def addFileNameAndNumber(lines):
- filename = ''
- retval = ''
- for line in lines:
- if re.match('%==== FILENAME: ', line):
- filename = line.split('%==== FILENAME: ')[1]
- else:
- retval += '<%s>%s\n' % (filename, line)
-
- return retval
-# }}}
-# getSectionLabels_Root {{{
-def getSectionLabels_Root(lineinfo, section_prefix, label_prefix):
- prev_txt = ''
- inside_env = 0
- prev_env = ''
- outstr = StringIO.StringIO('')
- pres_depth = len(section_prefix)
-
- #print '+getSectionLabels_Root: lineinfo = [%s]' % lineinfo
- for line in lineinfo.splitlines():
- if not line:
- continue
-
- # throw away leading white-space
- m = re.search('<(.*?)>(.*)', line)
-
- fname = m.group(1)
- line = m.group(2).lstrip()
-
- # we found a label!
- m = re.search(r'\\label{(%s.*?)}' % label_prefix, line)
- if m:
- # add the current line (except the \label command) to the text
- # which will be displayed below this label
- prev_txt += re.search(r'(^.*?)\\label{', line).group(1)
-
- # for the figure environment however, just display the caption.
- # instead of everything since the \begin command.
- if prev_env == 'figure':
- cm = re.search(r'\caption(\[.*?\]\s*)?{(.*?)}', prev_txt)
- if cm:
- prev_txt = cm.group(2)
-
- # print a nice formatted text entry like so
- #
- # > eqn:label
- # : e^{i\pi} + 1 = 0
- #
- # Use the current "section depth" for the leading indentation.
- print >>outstr, '>%s%s\t\t<%s>' % (' '*(2*pres_depth+2),
- m.group(1), fname)
- print >>outstr, ':%s%s' % (' '*(2*pres_depth+4), prev_txt)
- prev_txt = ''
-
- # If we just encoutered the start or end of an environment or a
- # label, then do not remember this line.
- # NOTE: This assumes that there is no equation text on the same
- # line as the \begin or \end command. The text on the same line as
- # the \label was already handled.
- if re.search(r'\\begin{(equation|eqnarray|align|figure)', line):
- prev_txt = ''
- prev_env = re.search(r'\\begin{(.*?)}', line).group(1)
- inside_env = 1
-
- elif re.search(r'\\label', line):
- prev_txt = ''
-
- elif re.search(r'\\end{(equation|eqnarray|align|figure)', line):
- inside_env = 0
- prev_env = ''
-
- else:
- # If we are inside an environment, then the text displayed with
- # the label is the complete text within the environment,
- # otherwise its just the previous line.
- if inside_env:
- prev_txt += line
- else:
- prev_txt = line
-
- return outstr.getvalue()
-
-# }}}
-# getSectionLabels {{{
-def getSectionLabels(lineinfo,
- sectypes=['chapter', 'section', 'subsection', 'subsubsection'],
- section_prefix='', label_prefix=''):
-
- if not sectypes:
- return getSectionLabels_Root(lineinfo, section_prefix, label_prefix)
-
- ##print 'sectypes[0] = %s, section_prefix = [%s], lineinfo = [%s]' % (
- ## sectypes[0], section_prefix, lineinfo)
-
- sections = re.split(r'(<.*?>\\%s{.*})' % sectypes[0], lineinfo)
-
- # there will 1+2n sections, the first containing the "preamble" and the
- # others containing the child sections as paris of [section_name,
- # section_text]
-
- rettext = getSectionLabels(sections[0], sectypes[1:], section_prefix, label_prefix)
-
- for i in range(1,len(sections),2):
- sec_num = (i+1)/2
- section_name = re.search(r'\\%s{(.*?)}' % sectypes[0], sections[i]).group(1)
- section_label_text = getSectionLabels(sections[i] + sections[i+1], sectypes[1:],
- section_prefix+('%d.' % sec_num), label_prefix)
-
- if section_label_text:
- sec_heading = 2*' '*len(section_prefix) + section_prefix
- sec_heading += '%d. %s' % (sec_num, section_name)
- sec_heading += '<<<%d\n' % (len(section_prefix)/2+1)
-
- rettext += sec_heading + section_label_text
-
- return rettext
-
-# }}}
-
-# main {{{
-def main(fname, label_prefix):
- [head, tail] = os.path.split(fname)
- if head:
- os.chdir(head)
-
- [root, ext] = os.path.splitext(tail)
- contents = getFileContents(root, ext)
- nonempty = stripComments(contents)
- lineinfo = addFileNameAndNumber(nonempty)
-
- return getSectionLabels(lineinfo, label_prefix=label_prefix)
-# }}}
-
-if __name__ == "__main__":
- if len(sys.argv) > 2:
- prefix = sys.argv[2]
- else:
- prefix = ''
-
- print main(sys.argv[1], prefix)
-
-
-# vim: fdm=marker
diff --git a/.vim/ftplugin/latex-suite/outline.pyc b/.vim/ftplugin/latex-suite/outline.pyc
deleted file mode 100644
index 8049cdc..0000000
--- a/.vim/ftplugin/latex-suite/outline.pyc
+++ /dev/null
Binary files differ
diff --git a/.vim/ftplugin/latex-suite/packages.vim b/.vim/ftplugin/latex-suite/packages.vim
deleted file mode 100644
index c3bf2b1..0000000
--- a/.vim/ftplugin/latex-suite/packages.vim
+++ /dev/null
@@ -1,669 +0,0 @@
-"=============================================================================
-" File: packages.vim
-" Author: Mikolaj Machowski
-" Created: Tue Apr 23 06:00 PM 2002 PST
-" CVS: $Id: packages.vim 997 2006-03-20 09:45:45Z srinathava $
-"
-" Description: handling packages from within vim
-"=============================================================================
-
-" avoid reinclusion.
-if !g:Tex_PackagesMenu || exists('s:doneOnce')
- finish
-endif
-let s:doneOnce = 1
-
-let s:path = expand("<sfile>:p:h")
-
-let s:menu_div = 20
-
-com! -nargs=0 TPackageUpdate :silent! call Tex_pack_updateall(1)
-com! -nargs=0 TPackageUpdateAll :silent! call Tex_pack_updateall(1)
-
-" Custom command-line completion of Tcommands is very useful but this feature
-" is available only in Vim 6.2 and above. Check number of version and choose
-" proper command and function.
-if v:version >= 602
- com! -complete=custom,Tex_CompletePackageName -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
-
- " Tex_CompletePackageName: for completing names in TPackage command {{{
- " Description: get list of package names with globpath(), remove full path
- " and return list of names separated with newlines.
- "
- function! Tex_CompletePackageName(A,P,L)
- " Get name of packages from all runtimepath directories
- let packnames = Tex_FindInRtp('', 'packages')
- let packnames = substitute(packnames, '^,', '', 'e')
- " Separate names with \n not ,
- let packnames = substitute(packnames,',','\n','g')
- return packnames
- endfunction
- " }}}
-
-else
- com! -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
-
-endif
-
-imap <silent> <plug> <Nop>
-nmap <silent> <plug> i
-
-let g:Tex_package_supported = ''
-let g:Tex_package_detected = ''
-" Remember the defaults because we want g:Tex_PromptedEnvironments to contain
-" in addition to the default, \newenvironments, and the \newenvironments might
-" change...
-let g:Tex_PromptedEnvironmentsDefault = g:Tex_PromptedEnvironments
-let g:Tex_PromptedCommandsDefault = g:Tex_PromptedCommands
-
-
-" Tex_pack_check: creates the package menu and adds to 'dict' setting. {{{
-"
-function! Tex_pack_check(package)
- " Use Tex_FindInRtp() function to get first name from packages list in all
- " rtp directories conforming with latex-suite directories hierarchy
- " Store names in variables to process functions only once.
- let packname = Tex_FindInRtp(a:package, 'packages')
- if packname != ''
- exe 'runtime! ftplugin/latex-suite/packages/' . a:package
- if has("gui_running")
- call Tex_pack(a:package)
- endif
- if g:Tex_package_supported !~ a:package
- let g:Tex_package_supported = g:Tex_package_supported.','.a:package
- endif
- endif
- " Return full list of dictionaries (separated with ,) for package in &rtp
- call Tex_Debug("Tex_pack_check: searching for ".a:package." in dictionaries/ in &rtp", "pack")
- let dictname = Tex_FindInRtp(a:package, 'dictionaries', ':p')
- if dictname != ''
- exe 'setlocal dict^=' . dictname
- call Tex_Debug('Tex_pack_check: setlocal dict^=' . dictname, 'pack')
- if g:Tex_package_supported !~ a:package
- let g:Tex_package_supported = g:Tex_package_supported.','.a:package
- endif
- endif
- if g:Tex_package_detected !~ '\<'.a:package.'\>'
- let g:Tex_package_detected = g:Tex_package_detected.','.a:package
- endif
- let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '')
- let g:Tex_package_supported = substitute(g:Tex_package_supported, '^,', '', '')
-endfunction
-
-" }}}
-" Tex_pack_uncheck: removes package from menu and 'dict' settings. {{{
-function! Tex_pack_uncheck(package)
- if has("gui_running") && Tex_FindInRtp(a:package, 'packages') != ''
- exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.'-sep'.a:package.'-'
- exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Options'
- exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Commands'
- endif
- if Tex_FindInRtp(a:package, 'dictionaries') != ''
- exe 'setlocal dict-='.Tex_FindInRtp(a:package, 'dictionaries')
- endif
-endfunction
-
-" }}}
-" Tex_pack_updateall: updates the TeX-Packages menu {{{
-" Description:
-" This function first calls Tex_pack_all to scan for \usepackage's etc if
-" necessary. After that, it 'supports' and 'unsupports' packages as needed
-" in such a way as to not repeat work.
-function! Tex_pack_updateall(force)
- call Tex_Debug('+Tex_pack_updateall', 'pack')
-
- " Find out which file we need to scan.
- let fname = Tex_GetMainFileName(':p')
-
- " If this is the same as last time, don't repeat.
- if !a:force && exists('s:lastScannedFile') &&
- \ s:lastScannedFile == fname
- return
- endif
- " Remember which file we scanned for next time.
- let s:lastScannedFile = fname
-
- " Remember which packages we detected last time.
- if exists('g:Tex_package_detected')
- let oldpackages = g:Tex_package_detected
- else
- let oldpackages = ''
- endif
-
- " This sets up a global variable of all detected packages.
- let g:Tex_package_detected = ''
- " reset the environments and commands.
- let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironmentsDefault
- let g:Tex_PromptedCommands = g:Tex_PromptedCommandsDefault
-
- if expand('%:p') != fname
- call Tex_Debug(':Tex_pack_updateall: sview '.Tex_EscapeSpaces(fname), 'pack')
- exe 'sview '.Tex_EscapeSpaces(fname)
- else
- call Tex_Debug(':Tex_pack_updateall: split', 'pack')
- split
- endif
-
- call Tex_ScanForPackages()
- q
-
- call Tex_Debug(':Tex_pack_updateall: detected ['.g:Tex_package_detected.'] in first run', 'pack')
-
- " Now for each package find out if this is a custom package and if so,
- " scan that as well. We will use the ':find' command in vim to let vim
- " search through the file paths for us.
- "
- " NOTE: This while loop will also take into account packages included
- " within packages to any level of recursion as long as
- " g:Tex_package_detected is always padded with new package names
- " from the end.
- "
- " First set the &path setting to the user's TEXINPUTS setting.
- let _path = &path
- let _suffixesadd = &suffixesadd
-
- let &path = '.,'.g:Tex_TEXINPUTS
- let &suffixesadd = '.sty,.tex'
-
- let scannedPackages = ''
-
- let i = 1
- let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
- while packname != ''
-
- call Tex_Debug(':Tex_pack_updateall: scanning package '.packname, 'pack')
-
- " Scan this package only if we have not scanned it before in this
- " run.
- if scannedPackages =~ '\<'.packname.'\>'
- let i = i + 1
-
- call Tex_Debug(':Tex_pack_updateall: '.packname.' already scanned', 'pack')
- let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
- continue
- endif
-
- " Split this window in two. The packages/files being found will open
- " in this new window and we also need not bother with files being
- " modified etc.
- split
-
- call Tex_Debug(':Tex_pack_updateall: silent! find '.Tex_EscapeSpaces(packname).'.sty', 'pack')
- let thisbufnum = bufnr('%')
- exec 'silent! find '.Tex_EscapeSpaces(packname).'.sty'
- call Tex_Debug(':Tex_pack_updateall: present file = '.bufname('%'), 'pack')
-
- " If this file was not found, assume that it means its not a
- " custom package and mark it "scanned".
- " A package is not found if we stay in the same buffer as before and
- " its not the one where we want to go.
- if bufnr('%') == thisbufnum && bufnr('%') != bufnr(packname.'.sty')
- let scannedPackages = scannedPackages.','.packname
- q
-
- call Tex_Debug(':Tex_pack_updateall: '.packname.' not found anywhere', 'pack')
- let i = i + 1
- let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
- continue
- endif
-
- " otherwise we are presently editing a custom package, scan it for
- " more \usepackage lines from the first line to the last.
- let packpath = expand('%:p')
- let &complete = &complete.'s'.packpath
-
- call Tex_Debug(':Tex_pack_updateall: found custom package '.packpath, 'pack')
- call Tex_ScanForPackages(line('$'), line('$'))
- call Tex_Debug(':Tex_pack_updateall: After scanning, g:Tex_package_detected = '.g:Tex_package_detected, 'pack')
-
- let scannedPackages = scannedPackages.','.packname
- " Do not use bwipe, but that leads to excessive buffer number
- " consumption. Besides, its intuitive for a custom package to remain
- " on the buffer list.
- q
-
- let i = i + 1
- let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
- endwhile
-
- let &path = _path
- let &suffixesadd = _suffixesadd
-
- " Now only support packages we didn't last time.
- " First remove packages which were used last time but are no longer used.
- let i = 1
- let oldPackName = Tex_Strntok(oldpackages, ',', i)
- while oldPackName != ''
- if g:Tex_package_detected !~ oldPackName
- call Tex_pack_uncheck(oldPackName)
- endif
- let i = i + 1
- let oldPackName = Tex_Strntok(oldpackages, ',', i)
- endwhile
-
- " Then support packages which are used this time but weren't used last
- " time.
- let i = 1
- let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i)
- while newPackName != ''
- if oldpackages !~ newPackName
- call Tex_pack_one(newPackName)
- endif
- let i = i + 1
- let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i)
- endwhile
-
- " Throw an event that we are done scanning packages. Some packages might
- " use this to change behavior based on which options have been used etc.
- call Tex_Debug(":Tex_pack_updateall: throwing LatexSuiteScannedPackages event", "pack")
- silent! do LatexSuite User LatexSuiteScannedPackages
-
- call Tex_Debug("-Tex_pack_updateall", "pack")
-endfunction
-
-" }}}
-" Tex_pack_one: supports each package in the argument list.{{{
-" Description:
-" If no arguments are supplied, then the user is asked to choose from the
-" packages found in the packages/ directory
-function! Tex_pack_one(...)
- if a:0 == 0 || (a:0 > 0 && a:1 == '')
- let packlist = Tex_FindInRtp('', 'packages')
- let packname = Tex_ChooseFromPrompt(
- \ "Choose a package: \n" .
- \ Tex_CreatePrompt(packlist, '3', ',') .
- \ "\nEnter number or filename :",
- \ packlist, ',')
- if packname != ''
- return Tex_pack_one(packname)
- else
- return ''
- endif
- else
- " Support the packages supplied. This function can be called with
- " multiple arguments in which case, support each of them in turn.
- let retVal = ''
- let omega = 1
- while omega <= a:0
- let packname = a:{omega}
- if Tex_FindInRtp(packname, 'packages') != ''
- call Tex_pack_check(packname)
- if exists('g:TeX_package_option_'.packname)
- \ && g:TeX_package_option_{packname} != ''
- let retVal = retVal.'\usepackage[<++>]{'.packname.'}<++>'
- else
- let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>"
- endif
- else
- let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>"
- endif
- let omega = omega + 1
- endwhile
- return IMAP_PutTextWithMovement(substitute(retVal, "\<CR>$", '', ''), '<+', '+>')
- endif
-endfunction
-" }}}
-" Tex_ScanForPackages: scans the current file for \usepackage{} lines {{{
-" and if supported, loads the options and commands found in the
-" corresponding package file. Also scans for \newenvironment and
-" \newcommand lines and adds names to g:Tex_Prompted variables, they can be
-" easy available through <F5> and <F7> shortcuts
-function! Tex_ScanForPackages(...)
- call Tex_Debug("+Tex_ScanForPackages", "pack")
-
- let pos = line('.').' | normal! '.virtcol('.').'|'
-
- " For package files without \begin and \end{document}, we might be told to
- " search from beginning to end.
- if a:0 < 2
- 0
- let beginline = search('\\begin{document}', 'W')
- let endline = search('\\end{document}', 'W')
- 0
- else
- let beginline = a:1
- let endline = a:2
- endif
-
- call Tex_Debug(":Tex_ScanForPackages: Begining scans in [".bufname('%')."], beginline = ".beginline, "pack")
-
-
- " Scan the file. First open up all the folds, because the command
- " /somepattern
- " issued in a closed fold _always_ goes to the first match.
- let erm = v:errmsg
- silent! normal! ggVGzO
- let v:errmsg = erm
-
- call Tex_Debug(":Tex_ScanForPackages: beginning scan for \\usepackage lines", "pack")
- " The wrap trick enables us to match \usepackage on the first line as
- " well.
- let wrap = 'w'
- while search('^\s*\\usepackage\_.\{-}{\_.\+}', wrap)
- let wrap = 'W'
-
- if line('.') > beginline
- break
- endif
-
- let saveA = @a
-
- " If there are options, then find those.
- if getline('.') =~ '\\usepackage\[.\{-}\]'
- let options = matchstr(getline('.'), '\\usepackage\[\zs.\{-}\ze\]')
- elseif getline('.') =~ '\\usepackage\['
- " Entering here means that the user has split the \usepackage
- " across newlines. Therefore, use yank.
- exec "normal! /{\<CR>\"ayi}"
- let options = @a
- else
- let options = ''
- endif
-
- " The following statement puts the stuff between the { }'s of a
- " \usepackage{stuff,foo} into @a. Do not use matchstr() and the like
- " because we can have things split across lines and such.
- exec "normal! /{\<CR>\"ay/}\<CR>"
-
- " now remove all whitespace from @a. We need to remove \n and \r
- " because we can encounter stuff like
- " \usepackage{pack1,
- " newpackonanotherline}
- let @a = substitute(@a, "[ \t\n\r]", '', 'g')
-
- " Now we have something like pack1,pack2,pack3 with possibly commas
- " and stuff before the first package and after the last package name.
- " Remove those.
- let @a = substitute(@a, '\(^\W*\|\W*$\)', '', 'g')
-
- " This gets us a string like 'pack1,pack2,pack3'
- " TODO: This will contain duplicates if the user has duplicates.
- " Should we bother taking care of this?
- let g:Tex_package_detected = g:Tex_package_detected.','.@a
-
- " For each package found, form a global variable of the form
- " g:Tex_{packagename}_options
- " which contains a list of the options.
- let j = 1
- while Tex_Strntok(@a, ',', j) != ''
- let g:Tex_{Tex_Strntok(@a, ',', j)}_options = options
- let j = j + 1
- endwhile
-
- " Finally convert @a into something like '"pack1","pack2"'
- let @a = substitute(@a, '^\|$', '"', 'g')
- let @a = substitute(@a, ',', '","', 'g')
-
- call Tex_Debug(":Tex_ScanForPackages: found package(s) [".@a."] on line ".line('.'), "pack")
-
- " restore @a
- let @a = saveA
- endwhile
- call Tex_Debug(":Tex_ScanForPackages: End scan \\usepackage, detected packages = ".g:Tex_package_detected, "pack")
-
- " TODO: This needs to be changed. In the future, we might have
- " functionality to remember the fold-state before opening up all the folds
- " and then re-creating them. Use mkview.vim.
- let erm = v:errmsg
- silent! normal! ggVGzC
- let v:errmsg = erm
-
- " Because creating list of detected packages gives string
- " ',pack1,pack2,pack3' remove leading ,
- let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '')
-
- call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newcommand's", "pack")
- " Scans whole file (up to \end{document}) for \newcommand and adds this
- " commands to g:Tex_PromptedCommands variable, it is easily available
- " through <F7>
- 0
- while search('^\s*\\newcommand\*\?{.\{-}}', 'W')
-
- if line('.') > endline
- break
- endif
-
- let newcommand = matchstr(getline('.'), '\\newcommand\*\?{\\\zs.\{-}\ze}')
- let g:Tex_PromptedCommands = g:Tex_PromptedCommands . ',' . newcommand
-
- endwhile
-
- " Scans whole file (up to \end{document}) for \newenvironment and adds this
- " environments to g:Tex_PromptedEnvironments variable, it is easily available
- " through <F5>
- 0
- call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newenvironment's", 'pack')
-
- while search('^\s*\\newenvironment\*\?{.\{-}}', 'W')
- call Tex_Debug('found newenvironment on '.line('.'), 'pack')
-
- if line('.') > endline
- break
- endif
-
- let newenvironment = matchstr(getline('.'), '\\newenvironment\*\?{\zs.\{-}\ze}')
- let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironments . ',' . newenvironment
-
- endwhile
-
- exe pos
- " first make a random search so that we push at least one item onto the
- " search history. Since vim puts only one item in the history per function
- " call, this way we make sure that one and only item is put into the
- " search history.
- normal! /^<CR>
- " now delete it...
- call histdel('/', -1)
-
- call Tex_Debug("-Tex_ScanForPackages", "pack")
-endfunction
-
-" }}}
-" Tex_pack_supp_menu: sets up a menu for package files {{{
-" found in the packages directory groups the packages thus found into groups
-" of 20...
-function! Tex_pack_supp_menu()
- let suplist = Tex_FindInRtp('', 'packages')
-
- call Tex_MakeSubmenu(suplist, g:Tex_PackagesMenuLocation.'Supported.',
- \ '<plug><C-r>=Tex_pack_one("', '")<CR>')
-endfunction
-
-" }}}
-" Tex_pack: loads the options (and commands) for the given package {{{
-function! Tex_pack(pack)
- if exists('g:TeX_package_'.a:pack)
-
- let optionList = g:TeX_package_option_{a:pack}.','
- let commandList = g:TeX_package_{a:pack}.','
-
- " Don't create separator if in package file are only Vim commands.
- " Rare but possible.
- if !(commandList == ',' && optionList == ',')
- exec 'amenu '.g:Tex_PackagesMenuLocation.'-sep'.a:pack.'- <Nop>'
- endif
-
- if optionList != ''
-
- let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Options.'
- call s:GroupPackageMenuItems(optionList, mainMenuName,
- \ '<plug><C-r>=IMAP_PutTextWithMovement("', ',")<CR>')
-
- endif
-
- if commandList != ''
-
- let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Commands.'
- call s:GroupPackageMenuItems(commandList, mainMenuName,
- \ '<plug><C-r>=Tex_ProcessPackageCommand("', '")<CR>',
- \ '<SID>FilterPackageMenuLHS')
- endif
- endif
-endfunction
-
-" }}}
-
-" ==============================================================================
-" Menu Functions
-" Creating menu items for the all the package files found in the packages/
-" directory as well as creating menus for each supported package found in the
-" preamble.
-" ==============================================================================
-" Tex_MakeSubmenu: makes a submenu given a list of items {{{
-" Description:
-" This function takes a comma seperated list of menu items and creates a
-" 'grouped' menu. i.e, it groups the items into s:menu_div items each and
-" puts them in submenus of the given mainMenu.
-" Each menu item is linked to the HandlerFunc.
-" If an additional argument is supplied, then it is used to filter each of
-" the menu items to generate better names for the menu display.
-"
-function! Tex_MakeSubmenu(menuList, mainMenuName,
- \ handlerFuncLHS, handlerFuncRHS, ...)
-
- let extractFunction = (a:0 > 0 ? a:1 : '' )
- let menuList = substitute(a:menuList, '[^,]$', ',', '')
-
- let doneMenuSubmenu = 0
-
- while menuList != ''
-
- " Extract upto s:menu_div menus at once.
- let menuBunch = matchstr(menuList, '\v(.{-},){,'.s:menu_div.'}')
-
- " The remaining menus go into the list.
- let menuList = strpart(menuList, strlen(menuBunch))
-
- let submenu = ''
- " If there is something remaining, then we got s:menu_div items.
- " therefore put these menu items into a submenu.
- if strlen(menuList) || doneMenuSubmenu
- exec 'let firstMenu = '.extractFunction."(matchstr(menuBunch, '\\v^.{-}\\ze,'))"
- exec 'let lastMenu = '.extractFunction."(matchstr(menuBunch, '\\v[^,]{-}\\ze,$'))"
-
- let submenu = firstMenu.'\ \-\ '.lastMenu.'.'
-
- let doneMenuSubmenu = 1
- endif
-
- " Now for each menu create a menu under the submenu
- let i = 1
- let menuName = Tex_Strntok(menuBunch, ',', i)
- while menuName != ''
- exec 'let menuItem = '.extractFunction.'(menuName)'
- execute 'amenu '.a:mainMenuName.submenu.menuItem
- \ ' '.a:handlerFuncLHS.menuName.a:handlerFuncRHS
-
- let i = i + 1
- let menuName = Tex_Strntok(menuBunch, ',', i)
- endwhile
- endwhile
-endfunction
-
-" }}}
-" GroupPackageMenuItems: uses the sbr: to split menus into groups {{{
-" Description:
-" This function first splits up the menuList into groups based on the
-" special sbr: tag and then calls Tex_MakeSubmenu
-"
-function! <SID>GroupPackageMenuItems(menuList, menuName,
- \ handlerFuncLHS, handlerFuncRHS,...)
-
- if a:0 > 0
- let extractFunction = a:1
- else
- let extractFunction = ''
- endif
- let menuList = a:menuList
-
- while matchstr(menuList, 'sbr:') != ''
- let groupName = matchstr(menuList, '\v^sbr:\zs.{-}\ze,')
- let menuList = strpart(menuList, strlen('sbr:'.groupName.','))
- if matchstr(menuList, 'sbr:') != ''
- let menuGroup = matchstr(menuList, '\v^.{-},\zesbr:')
- else
- let menuGroup = menuList
- endif
-
- call Tex_MakeSubmenu(menuGroup, a:menuName.groupName.'.',
- \ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction)
-
- let menuList = strpart(menuList, strlen(menuGroup))
- endwhile
-
- call Tex_MakeSubmenu(menuList, a:menuName,
- \ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction)
-
-endfunction " }}}
-" Definition of what to do for various package commands {{{
-let s:CommandSpec_bra = '\<+replace+>{<++>}<++>'
-let s:CommandSpec_brs = '\<+replace+><++>'
-let s:CommandSpec_brd = '\<+replace+>{<++>}{<++>}<++>'
-let s:CommandSpec_env = '\begin{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}<++>'
-let s:CommandSpec_ens = '\begin{<+replace+>}<+extra+>'."\<CR><++>\<CR>".'\end{<+replace+>}<++>'
-let s:CommandSpec_eno = '\begin[<++>]{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}'
-let s:CommandSpec_nor = '\<+replace+>'
-let s:CommandSpec_noo = '\<+replace+>[<++>]'
-let s:CommandSpec_nob = '\<+replace+>[<++>]{<++>}{<++>}<++>'
-let s:CommandSpec_spe = '<+replace+>'
-let s:CommandSpec_ = '\<+replace+>'
-
-let s:MenuLHS_bra = '\\&<+replace+>{}'
-let s:MenuLHS_brs = '\\&<+replace+>{}'
-let s:MenuLHS_brd = '\\&<+replace+>{}{}'
-let s:MenuLHS_env = '&<+replace+>\ (E)'
-let s:MenuLHS_ens = '&<+replace+>\ (E)'
-let s:MenuLHS_eno = '&<+replace+>\ (E)'
-let s:MenuLHS_nor = '\\&<+replace+>'
-let s:MenuLHS_noo = '\\&<+replace+>[]'
-let s:MenuLHS_nob = '\\&<+replace+>[]{}{}'
-let s:MenuLHS_spe = '&<+replace+>'
-let s:MenuLHS_sep = '-sep<+replace+>-'
-let s:MenuLHS_ = '\\&<+replace+>'
-" }}}
-" Tex_ProcessPackageCommand: processes a command from the package menu {{{
-" Description:
-function! Tex_ProcessPackageCommand(command)
- if a:command =~ ':'
- let commandType = matchstr(a:command, '^\w\+\ze:')
- let commandName = matchstr(a:command, '^\w\+:\zs[^:]\+\ze:\?')
- let extrapart = strpart(a:command, strlen(commandType.':'.commandName.':'))
- else
- let commandType = ''
- let commandName = a:command
- let extrapart = ''
- endif
-
- let command = s:CommandSpec_{commandType}
- let command = substitute(command, '<+replace+>', commandName, 'g')
- let command = substitute(command, '<+extra+>', extrapart, 'g')
- return IMAP_PutTextWithMovement(command)
-endfunction
-" }}}
-" FilterPackageMenuLHS: filters the command description to provide a better menu item {{{
-" Description:
-function! <SID>FilterPackageMenuLHS(command)
- let commandType = matchstr(a:command, '^\w\+\ze:')
- if commandType != ''
- let commandName = strpart(a:command, strlen(commandType.':'))
- else
- let commandName = a:command
- endif
-
- return substitute(s:MenuLHS_{commandType}, '<+replace+>', commandName, 'g')
-endfunction " }}}
-
-if g:Tex_Menus
- exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdatePackage :call Tex_pack(expand("<cword>"))<cr>'
- exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdateAll :call Tex_pack_updateall(1)<cr>'
-
- call Tex_pack_supp_menu()
-endif
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('packages.vim: Catching LatexSuiteFileType event', 'pack') |
- \ call Tex_pack_updateall(0)
-augroup END
-
-" vim:fdm=marker:ts=4:sw=4:noet:ff=unix
diff --git a/.vim/ftplugin/latex-suite/packages/SIunits b/.vim/ftplugin/latex-suite/packages/SIunits
deleted file mode 100644
index ba110fa..0000000
--- a/.vim/ftplugin/latex-suite/packages/SIunits
+++ /dev/null
@@ -1,315 +0,0 @@
-if exists("SIunits_package_file")
- finish
-endif
-let SIunits_package_file = 1
-
-let g:TeX_package_SIunits =
-\'nor:addprefix,'.
-\'nor:addunit,'.
-\'nor:ampere,'.
-\'nor:amperemetresecond,'.
-\'nor:amperepermetre,'.
-\'nor:amperepermetrenp,'.
-\'nor:amperepersquaremetre,'.
-\'nor:amperepersquaremetrenp,'.
-\'nor:angstrom,'.
-\'nor:arad,'.
-\'nor:arcminute,'.
-\'nor:arcsecond,'.
-\'nor:are,'.
-\'nor:atomicmass,'.
-\'nor:atto,'.
-\'nor:attod,'.
-\'nor:barn,'.
-\'nor:bbar,'.
-\'nor:becquerel,'.
-\'nor:becquerelbase,'.
-\'nor:bel,'.
-\'nor:candela,'.
-\'nor:candelapersquaremetre,'.
-\'nor:candelapersquaremetrenp,'.
-\'nor:celsius,'.
-\'nor:Celsius,'.
-\'nor:celsiusbase,'.
-\'nor:centi,'.
-\'nor:centid,'.
-\'nor:coulomb,'.
-\'nor:coulombbase,'.
-\'nor:coulombpercubicmetre,'.
-\'nor:coulombpercubicmetrenp,'.
-\'nor:coulombperkilogram,'.
-\'nor:coulombperkilogramnp,'.
-\'nor:coulombpermol,'.
-\'nor:coulombpermolnp,'.
-\'nor:coulombpersquaremetre,'.
-\'nor:coulombpersquaremetrenp,'.
-\'nor:cubed,'.
-\'nor:cubic,'.
-\'nor:cubicmetre,'.
-\'nor:cubicmetreperkilogram,'.
-\'nor:cubicmetrepersecond,'.
-\'nor:curie,'.
-\'nor:dday,'.
-\'nor:deca,'.
-\'nor:decad,'.
-\'nor:deci,'.
-\'nor:decid,'.
-\'nor:degree,'.
-\'nor:degreecelsius,'.
-\'nor:deka,'.
-\'nor:dekad,'.
-\'nor:derbecquerel,'.
-\'nor:dercelsius,'.
-\'nor:dercoulomb,'.
-\'nor:derfarad,'.
-\'nor:dergray,'.
-\'nor:derhenry,'.
-\'nor:derhertz,'.
-\'nor:derjoule,'.
-\'nor:derkatal,'.
-\'nor:derlumen,'.
-\'nor:derlux,'.
-\'nor:dernewton,'.
-\'nor:derohm,'.
-\'nor:derpascal,'.
-\'nor:derradian,'.
-\'nor:dersiemens,'.
-\'nor:dersievert,'.
-\'nor:dersteradian,'.
-\'nor:dertesla,'.
-\'nor:dervolt,'.
-\'nor:derwatt,'.
-\'nor:derweber,'.
-\'nor:electronvolt,'.
-\'nor:exa,'.
-\'nor:exad,'.
-\'nor:farad,'.
-\'nor:faradbase,'.
-\'nor:faradpermetre,'.
-\'nor:faradpermetrenp,'.
-\'nor:femto,'.
-\'nor:femtod,'.
-\'nor:fourth,'.
-\'nor:gal,'.
-\'nor:giga,'.
-\'nor:gigad,'.
-\'nor:gram,'.
-\'nor:graybase,'.
-\'nor:graypersecond,'.
-\'nor:graypersecondnp,'.
-\'nor:hectare,'.
-\'nor:hecto,'.
-\'nor:hectod,'.
-\'nor:henry,'.
-\'nor:henrybase,'.
-\'nor:henrypermetre,'.
-\'nor:henrypermetrenp,'.
-\'nor:hertz,'.
-\'nor:hertzbase,'.
-\'nor:hour,'.
-\'nor:joule,'.
-\'nor:joulebase,'.
-\'nor:joulepercubicmetre,'.
-\'nor:joulepercubicmetrenp,'.
-\'nor:jouleperkelvin,'.
-\'nor:jouleperkelvinnp,'.
-\'nor:jouleperkilogram,'.
-\'nor:jouleperkilogramkelvin,'.
-\'nor:jouleperkilogramkelvinnp,'.
-\'nor:jouleperkilogramnp,'.
-\'nor:joulepermole,'.
-\'nor:joulepermolekelvin,'.
-\'nor:joulepermolekelvinnp,'.
-\'nor:joulepermolenp,'.
-\'nor:joulepersquaremetre,'.
-\'nor:joulepersquaremetrenp,'.
-\'nor:joulepertesla,'.
-\'nor:jouleperteslanp,'.
-\'nor:katal,'.
-\'nor:katalbase,'.
-\'nor:katalpercubicmetre,'.
-\'nor:katalpercubicmetrenp,'.
-\'nor:kelvin,'.
-\'nor:kilo,'.
-\'nor:kilod,'.
-\'nor:kilogram,'.
-\'nor:kilogrammetrepersecond,'.
-\'nor:kilogrammetrepersecondnp,'.
-\'nor:kilogrammetrepersquaresecond,'.
-\'nor:kilogrammetrepersquaresecondnp,'.
-\'nor:kilogrampercubicmetre,'.
-\'nor:kilogrampercubicmetrecoulomb,'.
-\'nor:kilogrampercubicmetrecoulombnp,'.
-\'nor:kilogrampercubicmetrenp,'.
-\'nor:kilogramperkilomole,'.
-\'nor:kilogramperkilomolenp,'.
-\'nor:kilogrampermetre,'.
-\'nor:kilogrampermetrenp,'.
-\'nor:kilogrampersecond,'.
-\'nor:kilogrampersecondcubicmetre,'.
-\'nor:kilogrampersecondcubicmetrenp,'.
-\'nor:kilogrampersecondnp,'.
-\'nor:kilogrampersquaremetre,'.
-\'nor:kilogrampersquaremetrenp,'.
-\'nor:kilogrampersquaremetresecond,'.
-\'nor:kilogrampersquaremetresecondnp,'.
-\'nor:kilogramsquaremetre,'.
-\'nor:kilogramsquaremetrenp,'.
-\'nor:kilogramsquaremetrepersecond,'.
-\'nor:kilogramsquaremetrepersecondnp,'.
-\'nor:kilowatthour,'.
-\'nor:liter,'.
-\'nor:litre,'.
-\'nor:lumen,'.
-\'nor:lumenbase,'.
-\'nor:lux,'.
-\'nor:luxbase,'.
-\'nor:mega,'.
-\'nor:megad,'.
-\'nor:meter,'.
-\'nor:metre,'.
-\'nor:metrepersecond,'.
-\'nor:metrepersecondnp,'.
-\'nor:metrepersquaresecond,'.
-\'nor:metrepersquaresecondnp,'.
-\'nor:micro,'.
-\'nor:microd,'.
-\'nor:milli,'.
-\'nor:millid,'.
-\'nor:minute,'.
-\'nor:mole,'.
-\'nor:molepercubicmetre,'.
-\'nor:molepercubicmetrenp,'.
-\'nor:nano,'.
-\'nor:nanod,'.
-\'nor:neper,'.
-\'nor:newton,'.
-\'nor:newtonbase,'.
-\'nor:newtonmetre,'.
-\'nor:newtonpercubicmetre,'.
-\'nor:newtonpercubicmetrenp,'.
-\'nor:newtonperkilogram,'.
-\'nor:newtonperkilogramnp,'.
-\'nor:newtonpermetre,'.
-\'nor:newtonpermetrenp,'.
-\'nor:newtonpersquaremetre,'.
-\'nor:newtonpersquaremetrenp,'.
-\'nor:NoAMS,'.
-\'nor:no@qsk,'.
-\'nor:ohm,'.
-\'nor:ohmbase,'.
-\'nor:ohmmetre,'.
-\'nor:one,'.
-\'nor:paminute,'.
-\'nor:pascal,'.
-\'nor:pascalbase,'.
-\'nor:pascalsecond,'.
-\'nor:pasecond,'.
-\'nor:per,'.
-\'nor:period@active,'.
-\'nor:persquaremetresecond,'.
-\'nor:persquaremetresecondnp,'.
-\'nor:peta,'.
-\'nor:petad,'.
-\'nor:pico,'.
-\'nor:picod,'.
-\'nor:power,'.
-\'nor:@qsk,'.
-\'nor:quantityskip,'.
-\'nor:rad,'.
-\'nor:radian,'.
-\'nor:radianbase,'.
-\'nor:radianpersecond,'.
-\'nor:radianpersecondnp,'.
-\'nor:radianpersquaresecond,'.
-\'nor:radianpersquaresecondnp,'.
-\'nor:reciprocal,'.
-\'nor:rem,'.
-\'nor:roentgen,'.
-\'nor:rp,'.
-\'nor:rpcubed,'.
-\'nor:rpcubic,'.
-\'nor:rpcubicmetreperkilogram,'.
-\'nor:rpcubicmetrepersecond,'.
-\'nor:rperminute,'.
-\'nor:rpersecond,'.
-\'nor:rpfourth,'.
-\'nor:rpsquare,'.
-\'nor:rpsquared,'.
-\'nor:rpsquaremetreperkilogram,'.
-\'nor:second,'.
-\'nor:siemens,'.
-\'nor:siemensbase,'.
-\'nor:sievert,'.
-\'nor:sievertbase,'.
-\'nor:square,'.
-\'nor:squared,'.
-\'nor:squaremetre,'.
-\'nor:squaremetrepercubicmetre,'.
-\'nor:squaremetrepercubicmetrenp,'.
-\'nor:squaremetrepercubicsecond,'.
-\'nor:squaremetrepercubicsecondnp,'.
-\'nor:squaremetreperkilogram,'.
-\'nor:squaremetrepernewtonsecond,'.
-\'nor:squaremetrepernewtonsecondnp,'.
-\'nor:squaremetrepersecond,'.
-\'nor:squaremetrepersecondnp,'.
-\'nor:squaremetrepersquaresecond,'.
-\'nor:squaremetrepersquaresecondnp,'.
-\'nor:steradian,'.
-\'nor:steradianbase,'.
-\'nor:tera,'.
-\'nor:terad,'.
-\'nor:tesla,'.
-\'nor:teslabase,'.
-\'nor:ton,'.
-\'nor:tonne,'.
-\'nor:unit,'.
-\'nor:unitskip,'.
-\'nor:usk,'.
-\'nor:volt,'.
-\'nor:voltbase,'.
-\'nor:voltpermetre,'.
-\'nor:voltpermetrenp,'.
-\'nor:watt,'.
-\'nor:wattbase,'.
-\'nor:wattpercubicmetre,'.
-\'nor:wattpercubicmetrenp,'.
-\'nor:wattperkilogram,'.
-\'nor:wattperkilogramnp,'.
-\'nor:wattpermetrekelvin,'.
-\'nor:wattpermetrekelvinnp,'.
-\'nor:wattpersquaremetre,'.
-\'nor:wattpersquaremetrenp,'.
-\'nor:wattpersquaremetresteradian,'.
-\'nor:wattpersquaremetresteradiannp,'.
-\'nor:weber,'.
-\'nor:weberbase,'.
-\'nor:yocto,'.
-\'nor:yoctod,'.
-\'nor:yotta,'.
-\'nor:yottad,'.
-\'nor:zepto,'.
-\'nor:zeptod,'.
-\'nor:zetta,'.
-\'nor:zettad'
-
-let g:TeX_package_option_SIunits =
-\'amssymb,'.
-\'binary,'.
-\'cdot,'.
-\'derived,'.
-\'derivedinbase,'.
-\'Gray,'.
-\'mediumqspace,'.
-\'mediumspace,'.
-\'noams,'.
-\'pstricks,'.
-\'squaren,'.
-\'textstyle,'.
-\'thickqspace,'.
-\'thickspace,'.
-\'thinqspace,'.
-\'thinspace'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/accents b/.vim/ftplugin/latex-suite/packages/accents
deleted file mode 100644
index 706d95e..0000000
--- a/.vim/ftplugin/latex-suite/packages/accents
+++ /dev/null
@@ -1,28 +0,0 @@
-if exists("accents_package_file")
- finish
-endif
-let accents_package_file = 1
-
-let g:TeX_package_option_accents =
-\ 'nonscript,'
-\.'single'
-
-let g:TeX_package_accents =
-\ 'bra:grave,'
-\.'bra:acute,'
-\.'bra:check,'
-\.'bra:breve,'
-\.'bra:bar,'
-\.'bra:ring,'
-\.'bra:hat,'
-\.'bra:dot,'
-\.'bra:tilde,'
-\.'bra:undertilde,'
-\.'bra:ddot,'
-\.'bra:dddot,'
-\.'bra:ddddot,'
-\.'bra:vec,'
-\.'brd:accentset,'
-\.'brd:underaccent'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/acromake b/.vim/ftplugin/latex-suite/packages/acromake
deleted file mode 100644
index 2130f61..0000000
--- a/.vim/ftplugin/latex-suite/packages/acromake
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("acromake_package_file")
- finish
-endif
-let acromake_package_file = 1
-
-let g:TeX_package_option_acromake = ''
-
-let g:TeX_package_acromake = 'brs:acromake{<++>}{<++>}{<++>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/afterpage b/.vim/ftplugin/latex-suite/packages/afterpage
deleted file mode 100644
index 5087321..0000000
--- a/.vim/ftplugin/latex-suite/packages/afterpage
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("afterpage_package_file")
- finish
-endif
-let afterpage_package_file = 1
-
-let g:TeX_package_option_afterpage = ''
-
-let g:TeX_package_afterpage = 'bra:afterpage'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/alltt b/.vim/ftplugin/latex-suite/packages/alltt
deleted file mode 100644
index c30b684..0000000
--- a/.vim/ftplugin/latex-suite/packages/alltt
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("alltt_package_file")
- finish
-endif
-let alltt_package_file = 1
-
-let g:TeX_package_option_alltt = ''
-
-let g:TeX_package_alltt = 'env:alltt'
-
-syn region texZone start="\\begin{alltt}" end="\\end{alltt}\|%stopzone\>" fold
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/amsmath b/.vim/ftplugin/latex-suite/packages/amsmath
deleted file mode 100644
index fd7dcda..0000000
--- a/.vim/ftplugin/latex-suite/packages/amsmath
+++ /dev/null
@@ -1,106 +0,0 @@
-if exists("amsmath_package_file")
- finish
-endif
-let amsmath_package_file = 1
-
-let g:TeX_package_option_amsmath =
-\ 'centertags,'
-\.'tbtags,'
-\.'sumlimits,'
-\.'nosumlimits,'
-\.'intlimits,'
-\.'nointlimits,'
-\.'namelimits,'
-\.'nonamelimits,'
-\.'leqno,'
-\.'reqno,'
-\.'fleqno'
-
-let g:TeX_package_amsmath =
-\ 'sbr:Environments,'
-\.'env:equation,'
-\.'env:equation*,'
-\.'env:align,'
-\.'env:align*,'
-\.'env:gather,'
-\.'env:gather*,'
-\.'env:flalign,'
-\.'env:flalign*,'
-\.'env:multline,'
-\.'env:multline*,'
-\.'ens:alignat:{<+arg1+>}{<+arg2+>},'
-\.'env:alignat,'
-\.'ens:alignat*:{<+arg1+>}{<+arg2+>},,'
-\.'env:alignat*,'
-\.'env:subequations,'
-\.'env:subarray,'
-\.'env:split,'
-\.'env:cases,'
-\.'sbr:Matrices,'
-\.'env:matrix,'
-\.'env:pmatrix,'
-\.'env:bmatrix,'
-\.'env:Bmatrix,'
-\.'env:vmatrix,'
-\.'env:Vmatrix,'
-\.'env:smallmatrix,'
-\.'bra:hdotsfor,'
-\.'sbr:Dots,'
-\.'dotsc,'
-\.'dotsb,'
-\.'dotsm,'
-\.'dotsi,'
-\.'dotso,'
-\.'sbr:ItalicGreek,'
-\.'nor:varGamma,'
-\.'nor:varDelta,'
-\.'nor:varTheta,'
-\.'nor:varLambda,'
-\.'nor:varXi,'
-\.'nor:varPi,'
-\.'nor:varSigma,'
-\.'nor:varUpsilon,'
-\.'nor:varPhi,'
-\.'nor:varPsi,'
-\.'nor:varOmega,'
-\.'sbr:Mod,'
-\.'nor:mod,'
-\.'nor:bmod,'
-\.'nor:pmod,'
-\.'nor:pod,'
-\.'sbr:CreatingSymbols,'
-\.'brd:overset,'
-\.'brd:underset,'
-\.'brd:sideset,'
-\.'sbr:Fractions,'
-\.'brd:frac,'
-\.'brd:dfrac,'
-\.'brd:tfrac,'
-\.'brd:cfrac,'
-\.'brd:binom,'
-\.'brd:dbinom,'
-\.'brd:tbinom,'
-\.'brs:genfrac{<+ldelim+>}{<+rdelim+>}{<+thick+>}{<+style+>}{<+numer+>}{<+denom+>},'
-\.'sbr:Commands,'
-\.'nob:smash,'
-\.'bra:substack,'
-\.'bra:tag,'
-\.'bra:tag*,'
-\.'nor:notag,'
-\.'bra:raisetag,'
-\.'bra:shoveleft,'
-\.'bra:shoveright,'
-\.'bra:intertext,'
-\.'bra:text,'
-\.'nor:displaybreak,'
-\.'noo:displaybreak,'
-\.'noo:allowdisplaybreaks,'
-\.'nor:nobreakdash,'
-\.'brs:numberwithin{<+env+>}{<+parent+>},'
-\.'bra:leftroot,'
-\.'bra:uproot,'
-\.'bra:boxed,'
-\.'brs:DeclareMathSymbol{<++>}{<++>}{<++>}{<++>},'
-\.'bra:eqref'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/amsthm b/.vim/ftplugin/latex-suite/packages/amsthm
deleted file mode 100644
index 6bae018..0000000
--- a/.vim/ftplugin/latex-suite/packages/amsthm
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("amsthm_package_file")
- finish
-endif
-let amsthm_package_file = 1
-
-let TeX_package_option_amsthm = ''
-
-let TeX_package_amsthm =
-\ 'env:proof,'
-\.'nor:swapnumbers,'
-\.'brd:newtheorem,'
-\.'brd:newtheorem*,'
-\.'nor:theoremstyle{plain},'
-\.'nor:theoremstyle{definition},'
-\.'nor:theoremstyle{remark},'
-\.'nor:newtheoremstyle,'
-\.'nor:qedsymbol,'
-\.'nor:qed,'
-\.'nor:qedhere'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/amsxtra b/.vim/ftplugin/latex-suite/packages/amsxtra
deleted file mode 100644
index 3875cc3..0000000
--- a/.vim/ftplugin/latex-suite/packages/amsxtra
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("amsxtra_package_file")
- finish
-endif
-let amsxtra_package_file = 1
-
-let g:TeX_package_option_amsxtra = ''
-
-let g:TeX_package_amsxtra =
-\ 'nor:sphat,'
-\.'nor:sptilde'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/arabic b/.vim/ftplugin/latex-suite/packages/arabic
deleted file mode 100644
index 46f8314..0000000
--- a/.vim/ftplugin/latex-suite/packages/arabic
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("arabic_package_file")
- finish
-endif
-let arabic_package_file = 1
-
-let g:TeX_package_option_arabic = ''
-
-let g:TeX_package_arabic = 'bra:arabicnumeral'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/array b/.vim/ftplugin/latex-suite/packages/array
deleted file mode 100644
index 99f3dbc..0000000
--- a/.vim/ftplugin/latex-suite/packages/array
+++ /dev/null
@@ -1,17 +0,0 @@
-if exists("array_package_file")
- finish
-endif
-let array_package_file = 1
-
-let g:TeX_package_option_array = ''
-
-let g:TeX_package_array =
-\ 'brs:newcolumntype{<+type+>}[<+no+>]{<+preamble+>},'
-\.'arraycolsep,'
-\.'tabcolsep,'
-\.'arrayrulewidth,'
-\.'doublerulesep,'
-\.'arraystretch,'
-\.'extrarowheight'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/babel b/.vim/ftplugin/latex-suite/packages/babel
deleted file mode 100644
index cdb76ec..0000000
--- a/.vim/ftplugin/latex-suite/packages/babel
+++ /dev/null
@@ -1,98 +0,0 @@
-if exists("babel_package_file")
- finish
-endif
-let babel_package_file = 1
-
-" This package sets some language specific options.
-" Since it needs to find out which options the user used with the babel
-" package, it needs to wait till latex-suite is done scanning packages. It
-" then catches the LatexSuiteScannedPackages event which
-" Tex_pack_updateall() throws at which time g:Tex_pack_detected and
-" g:Tex_babel_options contain the necessary information.
-
-let g:TeX_package_option_babel =
-\ 'afrikaans,'
-\.'bahasa,'
-\.'basque,'
-\.'breton,'
-\.'bulgarian,'
-\.'catalan,'
-\.'croatian,'
-\.'chech,'
-\.'danish,'
-\.'dutch,'
-\.'english,USenglish,american,UKenglish,british,canadian,'
-\.'esperanto,'
-\.'estonian,'
-\.'finnish,'
-\.'french,francais,canadien,acadian,'
-\.'galician,'
-\.'austrian,german,germanb,ngerman,naustrian,'
-\.'greek,polutonikogreek,'
-\.'hebrew,'
-\.'magyar,hungarian,'
-\.'icelandic,'
-\.'irish,'
-\.'italian,'
-\.'latin,'
-\.'lowersorbian,'
-\.'samin,'
-\.'norsk,nynorsk,'
-\.'polish,'
-\.'portuges,portuguese,brazilian,brazil,'
-\.'romanian,'
-\.'russian,'
-\.'scottish,'
-\.'spanish,'
-\.'slovak,'
-\.'slovene,'
-\.'swedish,'
-\.'serbian,'
-\.'turkish,'
-\.'ukrainian,'
-\.'uppersorbian,'
-\.'welsh'
-
-let g:TeX_package_babel =
-\ 'bra:selectlanguage,'
-\.'env:otherlanguage,'
-\.'env:otherlanguage*,'
-\.'env:hyphenrules,'
-\.'brd:foreignlanguage,'
-\.'spe:iflanguage{<+name+>}{<+true+>}{<+false+>},'
-\.'languagename,'
-\.'bra:useshorthands,'
-\.'brd:defineshorthand,'
-\.'brd:aliasshorthand,'
-\.'bra:languageshorthans,'
-\.'bra:shorthandon,'
-\.'bra:shorthandoff,'
-\.'brd:languageattribute'
-
-" vim:ft=vim:ff=unix:
-if exists('s:doneOnce')
- finish
-endif
-let s:doneOnce = 1
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteScannedPackages
- \ call Tex_Debug('babel: catching LatexSuiteScannedPackages event') |
- \ call s:SetQuotes()
-augroup END
-
-let s:path = expand('<sfile>:p:h')
-
-" SetQuotes: sets quotes for various languages {{{
-" Description:
-function! <SID>SetQuotes()
- if g:Tex_package_detected =~ '\<babel\>'
- if g:Tex_babel_options =~ '\<german\>'
- exec 'so '.s:path.'/german'
- elseif g:Tex_babel_options =~ '\<ngerman\>'
- exec 'so '.s:path.'/ngerman'
- endif
- endif
-endfunction " }}}
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/bar b/.vim/ftplugin/latex-suite/packages/bar
deleted file mode 100644
index 0087b95..0000000
--- a/.vim/ftplugin/latex-suite/packages/bar
+++ /dev/null
@@ -1,27 +0,0 @@
-if exists("bar_package_file")
- finish
-endif
-let bar_package_file = 1
-
-let g:TeX_package_option_bar = ''
-
-let g:TeX_package_bar =
-\ 'env:barenv,'
-\.'brs:bar{<+height+>}{<+index+>}[<+desc+>],'
-\.'hlineon,'
-\.'brs:legend{<+index+>}{<+text+>},'
-\.'bra:setdepth,'
-\.'bra:sethspace,'
-\.'brs:setlinestyle{<+solid-dotted+>},'
-\.'brs:setnumberpos{<+empty-axis-down-inside-outside-up+>},'
-\.'bra:setprecision,'
-\.'bra:setstretch,'
-\.'bra:setstyle,'
-\.'bra:setwidth,'
-\.'brs:setxaxis{<+w1+>}{<+w2+>}{<+step+>},'
-\.'brs:setyaxis[<+n+>]{<+w1+>}{<+w2+>}{<+step+>},'
-\.'brs:setxname[<+lrbt+>]{<+etiquette+>},'
-\.'brs:setyname[<+lrbt+>]{<+etiquette+>},'
-\.'brs:setxvaluetyp{<+day-month+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/bm b/.vim/ftplugin/latex-suite/packages/bm
deleted file mode 100644
index 1cd5109..0000000
--- a/.vim/ftplugin/latex-suite/packages/bm
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("bm_package_file")
- finish
-endif
-let bm_package_file = 1
-
-let g:TeX_package_option_bm = ''
-
-let g:TeX_package_bm = 'bra:bm'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/bophook b/.vim/ftplugin/latex-suite/packages/bophook
deleted file mode 100644
index 16ca8b0..0000000
--- a/.vim/ftplugin/latex-suite/packages/bophook
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("bophook_package_file")
- finish
-endif
-let bophook_package_file = 1
-
-let g:TeX_package_option_bophook = ''
-
-let g:TeX_package_bophook =
-\ 'bra:AtBeginPage,'
-\.'bra:PageLayout'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/boxedminipage b/.vim/ftplugin/latex-suite/packages/boxedminipage
deleted file mode 100644
index 0917352..0000000
--- a/.vim/ftplugin/latex-suite/packages/boxedminipage
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("boxedminipage_package_file")
- finish
-endif
-let boxedminipage_package_file = 1
-
-let g:TeX_package_option_boxedminipage = ''
-
-let g:TeX_package_boxedminipage = 'ens:boxedminipage:[<+pos+>]{<+size+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/caption2 b/.vim/ftplugin/latex-suite/packages/caption2
deleted file mode 100644
index 7e16031..0000000
--- a/.vim/ftplugin/latex-suite/packages/caption2
+++ /dev/null
@@ -1,43 +0,0 @@
-if exists("caption2_package_file")
- finish
-endif
-let caption2_package_file = 1
-
-let g:TeX_package_option_caption2 =
-\ 'scriptsize,'
-\.'footnotesize,'
-\.'small,'
-\.'normalsize,'
-\.'large,'
-\.'Large,'
-\.'up,'
-\.'it,'
-\.'sl,'
-\.'sc,'
-\.'md,'
-\.'bf,'
-\.'rm,'
-\.'sf,'
-\.'tt,'
-\.'ruled,'
-\.'boxed,'
-\.'centerlast,'
-\.'anne,'
-\.'center,'
-\.'flushleft,'
-\.'flushright,'
-\.'oneline,'
-\.'nooneline,'
-\.'hang,'
-\.'isu,'
-\.'indent,'
-\.'longtable'
-
-let g:TeX_package_caption2 =
-\ 'bra:captionsize,'
-\.'bra:captionfont,'
-\.'bra:captionlabelfont,'
-\.'bra:setcaptionmargin,'
-\.'bra:setcaptionwidth'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/cases b/.vim/ftplugin/latex-suite/packages/cases
deleted file mode 100644
index a2deafe..0000000
--- a/.vim/ftplugin/latex-suite/packages/cases
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("cases_package_file")
- finish
-endif
-let cases_package_file = 1
-
-let g:TeX_package_option_cases = ''
-
-let g:TeX_package_cases =
-\ 'ens:numcases:{<+label+>},'
-\.'ens:subnumcases:{<+label+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/ccaption b/.vim/ftplugin/latex-suite/packages/ccaption
deleted file mode 100644
index 2ec3f2f..0000000
--- a/.vim/ftplugin/latex-suite/packages/ccaption
+++ /dev/null
@@ -1,20 +0,0 @@
-if exists("ccaption_package_file")
- finish
-endif
-let ccaption_package_file = 1
-
-let g:TeX_package_option_ccaption = ''
-
-let g:TeX_package_ccaption =
-\ 'bra:contcaption,'
-\.'bra:legend,'
-\.'bra:namedlegend,'
-\.'abovelegendskip,'
-\.'belowlegendskip,'
-\.'brd:newfixedcaption,'
-\.'brd:renewfixedcaption,'
-\.'brd:providefixedcaption,'
-\.'brs:newfloatenv[<+counter+>]{<+name+>}{<+ext+>}{<+etiq+>},'
-\.'brd:listfloats'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/changebar b/.vim/ftplugin/latex-suite/packages/changebar
deleted file mode 100644
index e5002cf..0000000
--- a/.vim/ftplugin/latex-suite/packages/changebar
+++ /dev/null
@@ -1,35 +0,0 @@
-if exists("changebar_package_file")
- finish
-endif
-let changebar_package_file = 1
-
-let g:TeX_package_option_changebar =
-\ 'DVItoLN03,'
-\.'dvitoln03,'
-\.'DVItoPS,'
-\.'dvitops,'
-\.'DVIps,'
-\.'dvips,'
-\.'emTeX,'
-\.'emtex,'
-\.'textures,'
-\.'Textures,'
-\.'outerbars,'
-\.'innerbars,'
-\.'leftbars,'
-\.'rightbars,'
-\.'traceon,'
-\.'traceoff'
-
-let g:TeX_package_changebar =
-\ 'ens:changebar:[<+thickness+>],'
-\.'noo:cbstart,'
-\.'cbend,'
-\.'cbdelete,'
-\.'changebarwidth,'
-\.'deletebarwidth,'
-\.'changebarsep,'
-\.'spe:changebargrey,'
-\.'nochangebars'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/chapterbib b/.vim/ftplugin/latex-suite/packages/chapterbib
deleted file mode 100644
index 331e901..0000000
--- a/.vim/ftplugin/latex-suite/packages/chapterbib
+++ /dev/null
@@ -1,24 +0,0 @@
-if exists("chapterbib_package_file")
- finish
-endif
-let chapterbib_package_file = 1
-
-let g:TeX_package_option_chapterbib =
-\ 'sectionbib,'
-\.'rootbib,'
-\.'gather,'
-\.'duplicate'
-
-let g:TeX_package_chapterbib =
-\ 'env:cbunit,'
-\.'brd:sectionbib,'
-\.'bra:cbinput,'
-\.'sep:redefine,'
-\.'bra:citeform,'
-\.'bra:citepunct,'
-\.'bra:citeleft,'
-\.'bra:citeright,'
-\.'bra:citemid,'
-\.'bra:citedash'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/cite b/.vim/ftplugin/latex-suite/packages/cite
deleted file mode 100644
index aa43e5b..0000000
--- a/.vim/ftplugin/latex-suite/packages/cite
+++ /dev/null
@@ -1,32 +0,0 @@
-if exists("cite_package_file")
- finish
-endif
-let cite_package_file = 1
-
-let g:TeX_package_option_cite =
-\ 'verbose,'
-\.'nospace,'
-\.'space,'
-\.'nosort,'
-\.'sort,'
-\.'noadjust'
-
-let g:TeX_package_cite =
-\ 'bra:cite,'
-\.'bra:citen,'
-\.'bra:citenum,'
-\.'bra:citeonline,'
-\.'bra:nocite,'
-\.'sep:redefine,'
-\.'bra:citeform,'
-\.'bra:citepunct,'
-\.'bra:citeleft,'
-\.'bra:citeright,'
-\.'bra:citemid,'
-\.'bra:citedash'
-
-syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-syn region texRefZone matchgroup=texStatement start="\\citenum\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-syn region texRefZone matchgroup=texStatement start="\\citeonline\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/color b/.vim/ftplugin/latex-suite/packages/color
deleted file mode 100644
index 7f3aeac..0000000
--- a/.vim/ftplugin/latex-suite/packages/color
+++ /dev/null
@@ -1,43 +0,0 @@
-if exists("color_package_file")
- finish
-endif
-let color_package_file = 1
-
-let g:TeX_package_option_color =
-\ 'monochrome,'
-\.'debugshow,'
-\.'dvips,'
-\.'xdvi,'
-\.'dvipdf,'
-\.'pdftex,'
-\.'dvipsone,'
-\.'dviwindo,'
-\.'emtex,'
-\.'dviwin,'
-\.'oztex,'
-\.'textures,'
-\.'pctexps,'
-\.'pctexwin,'
-\.'pctexhp,'
-\.'pctex32,'
-\.'truetex,'
-\.'tcidvi,'
-\.'dvipsnames,'
-\.'nodvipsnames,'
-\.'usenames'
-
-let g:TeX_package_color =
-\ 'brs:definecolor{<++>}{<++>}{<++>},'
-\.'brs:DefineNamedColor{<++>}{<++>}{<++>}{<++>},'
-\.'bra:color,'
-\.'nob:color,'
-\.'brd:textcolor,'
-\.'brs:textcolor[<++>]{<++>}{<++>},'
-\.'brd:colorbox,'
-\.'brs:colorbox[<++>]{<++>}{<++>},'
-\.'brs:fcolorbox{<++>}{<++>}{<++>},'
-\.'brs:fcolorbox[<++>]{<++>}{<++>}{<++>},'
-\.'brd:pagecolor,'
-\.'nob:pagecolor'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/comma b/.vim/ftplugin/latex-suite/packages/comma
deleted file mode 100644
index 5ec8d70..0000000
--- a/.vim/ftplugin/latex-suite/packages/comma
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("comma_package_file")
- finish
-endif
-let comma_package_file = 1
-
-let g:TeX_package_option_comma = ''
-
-let g:TeX_package_comma =
-\ 'bra:commaform,'
-\.'bra:commaformtoken'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/deleq b/.vim/ftplugin/latex-suite/packages/deleq
deleted file mode 100644
index 58426d2..0000000
--- a/.vim/ftplugin/latex-suite/packages/deleq
+++ /dev/null
@@ -1,36 +0,0 @@
-if exists("deleq_package_file")
- finish
-endif
-let deleq_package_file = 1
-
-let g:TeX_package_option_deleq = ''
-
-let g:TeX_package_deleq =
-\.'env:deqn,'
-\.'env:ddeqn,'
-\.'env:deqarr,'
-\.'env:ddeqar,'
-\.'env:deqrarr,'
-\.'nor:nydeqno,'
-\.'nor:heqno,'
-\.'bra:reqno,'
-\.'bra:rndeqno,'
-\.'bra:rdeqno,'
-\.'nob:eqreqno,'
-\.'nob:deqreqno,'
-\.'nob:ddeqreqno,'
-\.'bra:arrlabel,'
-\.'nor:where,'
-\.'bra:remtext,'
-\.'nor:nydeleqno,'
-\.'nor:deleqno,'
-\.'nor:jotbaseline'
-
-if !exists("tex_no_math")
- syn region texMathZoneA start="\\begin\s*{\s*deqn\*\s*}" end="\\end\s*{\s*deqn\*\s*}" keepend fold contains=@texMathZoneGroup
- syn region texMathZoneB start="\\begin\s*{\s*ddeqn\*\s*}" end="\\end\s*{\s*ddeqn\*\s*}" keepend fold contains=@texMathZoneGroup
- syn region texMathZoneC start="\\begin\s*{\s*deqarr\s*}" end="\\end\s*{\s*deqarr\s*}" keepend fold contains=@texMathZoneGroup
- syn region texMathZoneD start="\\begin\s*{\s*ddeqar\s*}" end="\\end\s*{\s*ddeqar\s*}" keepend fold contains=@texMathZoneGroup
- syn region texMathZoneE start="\\begin\s*{\s*deqrarr\*\s*}" end="\\end\s*{\s*deqrarr\*\s*}" keepend fold contains=@texMathZoneGroup
-endif
-" vim:ft=vim:ff=unix:noet:ts=4:
diff --git a/.vim/ftplugin/latex-suite/packages/drftcite b/.vim/ftplugin/latex-suite/packages/drftcite
deleted file mode 100644
index 8c30447..0000000
--- a/.vim/ftplugin/latex-suite/packages/drftcite
+++ /dev/null
@@ -1,29 +0,0 @@
-if exists("drftcite_package_file")
- finish
-endif
-let drftcite_package_file = 1
-
-let g:TeX_package_option_drftcite =
-\ 'verbose,'
-\.'nospace,'
-\.'space,'
-\.'breakcites,'
-\.'manualsort,'
-\.'tt,'
-\.'shownumbers,'
-\.'nocitecount'
-
-let g:TeX_package_drftcite =
-\ 'bra:cite,'
-\.'bra:citen,'
-\.'sep:redefine,'
-\.'bra:citeform,'
-\.'bra:citepunct,'
-\.'bra:citeleft,'
-\.'bra:citeright,'
-\.'bra:citemid,'
-\.'bra:citedash'
-
-syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/dropping b/.vim/ftplugin/latex-suite/packages/dropping
deleted file mode 100644
index bcfc11f..0000000
--- a/.vim/ftplugin/latex-suite/packages/dropping
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("dropping_package_file")
- finish
-endif
-let dropping_package_file = 1
-
-let g:TeX_package_option_dropping = ''
-
-let g:TeX_package_dropping =
-\ 'brs:bigdrop{<+indent+>}{<+big+>}{<+font+>}{<+text+>},'
-\.'brs:dropping[<+indent+>]{<+big+>}{<+text+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/enumerate b/.vim/ftplugin/latex-suite/packages/enumerate
deleted file mode 100644
index 40c3f7c..0000000
--- a/.vim/ftplugin/latex-suite/packages/enumerate
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("enumerate_package_file")
- finish
-endif
-let enumerate_package_file = 1
-
-let g:TeX_package_option_enumerate = ''
-
-let g:TeX_package_enumerate = 'ens:enumerate:[<+prefix+>]'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/eqlist b/.vim/ftplugin/latex-suite/packages/eqlist
deleted file mode 100644
index e1e249e..0000000
--- a/.vim/ftplugin/latex-suite/packages/eqlist
+++ /dev/null
@@ -1,19 +0,0 @@
-if exists("eqlist_package_file")
- finish
-endif
-let eqlist_package_file = 1
-
-let g:TeX_package_option_eqlist = ''
-
-let g:TeX_package_eqlist =
-\ 'env:eqlist,'
-\.'env:eqlist*,'
-\.'env:Eqlist,'
-\.'env:Eqlist*,'
-\.'sep:modificators,'
-\.'eqlistinit,'
-\.'eqliststarinit,'
-\.'eqlistinitpar,'
-\.'eqlistlabel'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/eqparbox b/.vim/ftplugin/latex-suite/packages/eqparbox
deleted file mode 100644
index a05061b..0000000
--- a/.vim/ftplugin/latex-suite/packages/eqparbox
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("eqparbox_package_file")
- finish
-endif
-let eqparbox_package_file = 1
-
-let g:TeX_package_option_eqparbox = ''
-
-let g:TeX_package_eqparbox =
-\ 'brs:eqparbox[<+pos+>][<+height+>][<+inner-pos+>]{<+tag+>}{<+text+>},'
-\.'bra:eqboxwidth'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/everyshi b/.vim/ftplugin/latex-suite/packages/everyshi
deleted file mode 100644
index e42a3d5..0000000
--- a/.vim/ftplugin/latex-suite/packages/everyshi
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("everyshi_package_file")
- finish
-endif
-let everyshi_package_file = 1
-
-let g:TeX_package_option_everyshi = ''
-
-let g:TeX_package_everyshi = 'bra:EveryShipOut'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/exmpl b/.vim/ftplugin/latex-suite/packages/exmpl
deleted file mode 100644
index e9e37fc..0000000
--- a/.vim/ftplugin/latex-suite/packages/exmpl
+++ /dev/null
@@ -1,55 +0,0 @@
-if exists("exmpl_package_file")
- finish
-endif
-let exmpl_package_file = 1
-
-" Author: Mikolaj Machowski
-" Date: 10.04.2002
-" Example plugin for packages in latexSuite
-"
-
-" This variable creates Options submenu in package menu. Even when no options are
-" given for this package it HAS to exist in form
-" let TeX_package_option_exmpl = ""
-" Options and commands are delimited with comma ,
-
-let g:TeX_package_option_exmpl = "OpcjaA=,OpcjaB,OpcjaC"
-
-" Most command should have some definition before. Package menu system can
-" recognize type of command and behave in good manner:
-" env: (environment) creates simple environment template
-" \begin{command}
-" x <- cursor here
-" \end{command}
-"
-" bra: (brackets) useful when inserting brackets commands
-" \command{x}<<>> <- cursor at x, and placeholders as in other menu entries
-"
-" nor: (normal) nor: and pla: are `highlighted' in menu with `''
-" \command<Space>
-"
-" pla: (plain)
-" command<Space>
-"
-" spe: (special)
-" command <-literal insertion of command, in future here should go
-" commands with special characters
-"
-" sep: (separator) creates separator. Good for aesthetics and usability :)
-"
-" Command can be also given with no prefix:. The result is
-" \command (as in nor: but without <Space>)
-
-
-let g:TeX_package_exmpl = "env:AEnvFirst,env:aEnvSec,env:BThi,"
- \ . "sep:a,env:zzzz,"
- \ . "bra:aBraFirst,bra:bBraSec,bra:cBraThi,"
- \ . "sep:b,"
- \ . "nor:aNorPri,nor:bNorSec,nor:cNorTer,"
- \ . "sep:c,"
- \ . "pla:aPla1,pla:bPla2,pla:cPla3,"
- \ . "sep:d,"
- \ . "spe:aSpe1,spe:bSpe2,spe:cSpe3,"
- \ . "sep:e,"
- \ . "aNo1,bNo2,cNo3"
-" vim:ft=vim
diff --git a/.vim/ftplugin/latex-suite/packages/flafter b/.vim/ftplugin/latex-suite/packages/flafter
deleted file mode 100644
index 8859397..0000000
--- a/.vim/ftplugin/latex-suite/packages/flafter
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("flafter_package_file")
- finish
-endif
-let flafter_package_file = 1
-
-let g:TeX_package_option_flafter = ''
-
-let g:TeX_package_flafter = 'noo:suppressfloats,noo:suppress'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/float b/.vim/ftplugin/latex-suite/packages/float
deleted file mode 100644
index 7c1cf46..0000000
--- a/.vim/ftplugin/latex-suite/packages/float
+++ /dev/null
@@ -1,16 +0,0 @@
-if exists("float_package_file")
- finish
-endif
-let float_package_file = 1
-
-let g:TeX_package_option_float = ''
-
-let g:TeX_package_float =
-\ 'bra:floatstyle,'
-\.'brs:newfloat{<++>}{<++>}{<++>}[<++>],'
-\.'brd:floatname,'
-\.'brd:listof,'
-\.'bra:restylefloat,'
-\.'brd:floatplacement'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/floatflt b/.vim/ftplugin/latex-suite/packages/floatflt
deleted file mode 100644
index 4902d89..0000000
--- a/.vim/ftplugin/latex-suite/packages/floatflt
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("floatflt_package_file")
- finish
-endif
-let floatflt_package_file = 1
-
-let g:TeX_package_option_floatflt = 'rflt,lflt,vflt'
-
-let g:TeX_package_floatflt =
-\ 'ens:floatingfigure:[<+loc+>]{<+spec+>},'
-\.'ens:floatingtable:[<+loc+>]{<+spec+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/fn2end b/.vim/ftplugin/latex-suite/packages/fn2end
deleted file mode 100644
index aac4184..0000000
--- a/.vim/ftplugin/latex-suite/packages/fn2end
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("fn2end_package_file")
- finish
-endif
-let fn2end_package_file = 1
-
-let g:TeX_package_option_fn2end = ''
-
-let g:TeX_package_fn2end = 'makeendnotes,theendnotes'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/footmisc b/.vim/ftplugin/latex-suite/packages/footmisc
deleted file mode 100644
index 04723f6..0000000
--- a/.vim/ftplugin/latex-suite/packages/footmisc
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("footmisc_package_file")
- finish
-endif
-let footmisc_package_file = 1
-
-let g:TeX_package_option_footmisc =
-\ 'bottom,'
-\.'flushmargin,'
-\.'marginal,'
-\.'multiple,'
-\.'norule,'
-\.'para,'
-\.'perpage,'
-\.'splitrule,'
-\.'stable,'
-\.'symbol,'
-\.'symbol+'
-
-let g:TeX_package_footmisc = ''
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/geometry b/.vim/ftplugin/latex-suite/packages/geometry
deleted file mode 100644
index 667a289..0000000
--- a/.vim/ftplugin/latex-suite/packages/geometry
+++ /dev/null
@@ -1,93 +0,0 @@
-if exists("geometry_package_file")
- finish
-endif
-let geometry_package_file = 1
-
-let g:TeX_package_option_geometry =
-\ 'sbr:Boolean,'
-\.'verbose,'
-\.'landscape,'
-\.'portrait,'
-\.'twoside,'
-\.'includemp,'
-\.'reversemp,'
-\.'reversemarginpar,'
-\.'nohead,'
-\.'nofoot,'
-\.'noheadfoot,'
-\.'dvips,'
-\.'pdftex,'
-\.'vtex,'
-\.'truedimen,'
-\.'reset,'
-\.'sbr:BooleanDimensions,'
-\.'a0paper,'
-\.'a1paper,'
-\.'a2paper,'
-\.'a3paper,'
-\.'a4paper,'
-\.'a5paper,'
-\.'a6paper,'
-\.'b0paper,'
-\.'b1paper,'
-\.'b2paper,'
-\.'b3paper,'
-\.'b4paper,'
-\.'b5paper,'
-\.'b6paper,'
-\.'letterpaper,'
-\.'executivepaper,'
-\.'legalpaper,'
-\.'sbr:SingleValueOption,'
-\.'paper=,'
-\.'papername=,'
-\.'paperwidth=,'
-\.'paperheight=,'
-\.'width=,'
-\.'totalwidth=,'
-\.'height=,'
-\.'totalheight=,'
-\.'left=,'
-\.'lmargin=,'
-\.'right=,'
-\.'rmargin=,'
-\.'top=,'
-\.'tmargin=,'
-\.'bottom=,'
-\.'bmargin=,'
-\.'hscale=,'
-\.'vscale=,'
-\.'textwidth=,'
-\.'textheight=,'
-\.'marginparwidth=,'
-\.'marginpar=,'
-\.'marginparsep=,'
-\.'headheight=,'
-\.'head=,'
-\.'headsep=,'
-\.'footskip=,'
-\.'hoffset=,'
-\.'voffset=,'
-\.'twosideshift=,'
-\.'mag=,'
-\.'columnsep=,'
-\.'footnotesep=,'
-\.'sbr:TwoValueOptions,'
-\.'papersize={<++>},'
-\.'total={<++>},'
-\.'body={<++>},'
-\.'text={<++>},'
-\.'scale={<++>},'
-\.'hmargin={<++>},'
-\.'vmargin={<++>},'
-\.'margin={<++>},'
-\.'offset={<++>},'
-\.'sbr:ThreeValueOptions,'
-\.'hdivide={<++>},'
-\.'vdivide={<++>},'
-\.'divide={<++>}'
-
-let g:TeX_package_geometry =
-\ 'bra:geometry'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/german b/.vim/ftplugin/latex-suite/packages/german
deleted file mode 100644
index 9aa7519..0000000
--- a/.vim/ftplugin/latex-suite/packages/german
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("german_package_file")
- finish
-endif
-let german_package_file = 1
-
-let g:TeX_package_german = ''
-let g:TeX_package_option_german = ''
-" For now just define the smart quotes.
-let b:Tex_SmartQuoteOpen = '"`'
-let b:Tex_SmartQuoteClose = "\"'"
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/graphicx b/.vim/ftplugin/latex-suite/packages/graphicx
deleted file mode 100644
index 4aa7571..0000000
--- a/.vim/ftplugin/latex-suite/packages/graphicx
+++ /dev/null
@@ -1,69 +0,0 @@
-if exists("graphicx_package_file")
- finish
-endif
-let graphicx_package_file = 1
-
-let g:TeX_package_option_graphicx =
-\ 'sbr:Drivers,'
-\.'xdvi,'
-\.'dvipdf,'
-\.'dvipdfm,'
-\.'pdftex,'
-\.'dvipsone,'
-\.'dviwindo,'
-\.'emtex,'
-\.'dviwin,'
-\.'oztex,'
-\.'textures,'
-\.'pctexps,'
-\.'pctexwin,'
-\.'pctexhp,'
-\.'pctex32,'
-\.'truetex,'
-\.'tcidvi,'
-\.'vtex,'
-\.'sbr:Rest,'
-\.'debugshow,'
-\.'draft,'
-\.'final,'
-\.'hiderotate,'
-\.'hiresbb,'
-\.'hidescale,'
-\.'unknownkeysallowed,'
-\.'unknownkeyserror'
-
-let g:TeX_package_graphicx =
-\ 'sbr:Includegraphics,'
-\.'brs:includegraphics[<++>]{<++>},'
-\.'spe:height=,'
-\.'spe:width=,'
-\.'spe:keepaspectratio=,'
-\.'spe:totalheight=,'
-\.'spe:angle=,'
-\.'spe:scale=,'
-\.'spe:origin=,'
-\.'spe:clip,'
-\.'spe:bb=,'
-\.'spe:viewport=,'
-\.'spe:trim=,'
-\.'spe:draft,'
-\.'spe:hiresbb,'
-\.'spe:type=,'
-\.'spe:ext=,'
-\.'spe:read=,'
-\.'spe:command=,'
-\.'sbr:Rotatebox,'
-\.'brs:rotatebox[<++>]{<++>}{<++>},'
-\.'spe:origin=,'
-\.'spe:x=,'
-\.'spe:y=,'
-\.'spe:units=,'
-\.'sbr:Rest,'
-\.'brs:scalebox{<++>}[<++>]{<++>},'
-\.'brs:resizebox{<++>}{<++>}{<++>},'
-\.'brs:resizebox*{<++>}{<++>}{<++>},'
-\.'bra:DeclareGraphicsExtensions,'
-\.'brs:DeclareGraphicsRule{<++>}{<++>}{<++>}{<++>},'
-\.'bra:graphicspath'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/graphpap b/.vim/ftplugin/latex-suite/packages/graphpap
deleted file mode 100644
index ebbd268..0000000
--- a/.vim/ftplugin/latex-suite/packages/graphpap
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("graphpap_package_file")
- finish
-endif
-let graphpap_package_file = 1
-
-let g:TeX_package_option_graphpap = ''
-
-let g:TeX_package_graphpap = 'brs:graphpaper[<+step+>](<+x1,y1+>)(<+x2,y2+>)'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/harpoon b/.vim/ftplugin/latex-suite/packages/harpoon
deleted file mode 100644
index 994801d..0000000
--- a/.vim/ftplugin/latex-suite/packages/harpoon
+++ /dev/null
@@ -1,18 +0,0 @@
-if exists("harpoon_package_file")
- finish
-endif
-let harpoon_package_file = 1
-
-let g:TeX_package_option_harpoon = ''
-
-let g:TeX_package_harpoon =
-\ 'bra:overleftharp,'
-\.'bra:overrightharp,'
-\.'bra:overleftharpdown,'
-\.'bra:overrightharpdown,'
-\.'bra:underleftharp,'
-\.'bra:underrightharp,'
-\.'bra:underleftharpdown,'
-\.'bra:underrightharpdown'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/hhline b/.vim/ftplugin/latex-suite/packages/hhline
deleted file mode 100644
index a024c19..0000000
--- a/.vim/ftplugin/latex-suite/packages/hhline
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("hhline_package_file")
- finish
-endif
-let hhline_package_file = 1
-
-let g:TeX_package_option_hhline = ''
-
-let g:TeX_package_hhline =
-\ 'bra:hhline,'
-\.'sep:a,'
-\.'spe:=,'
-\.'spe:-,'
-\.'spe:~,'
-\."spe:\\\|,"
-\.'spe::,'
-\.'spe:#,'
-\.'spe:t,'
-\.'spe:b,'
-\.'spe:*'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/histogram b/.vim/ftplugin/latex-suite/packages/histogram
deleted file mode 100644
index b18fc07..0000000
--- a/.vim/ftplugin/latex-suite/packages/histogram
+++ /dev/null
@@ -1,13 +0,0 @@
-if exists("histogram_package_file")
- finish
-endif
-let histogram_package_file = 1
-
-let g:TeX_package_option_histogram = ''
-
-let g:TeX_package_histogram =
-\ 'histogram,'
-\.'noverticallines,'
-\.'verticallines'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/hyperref b/.vim/ftplugin/latex-suite/packages/hyperref
deleted file mode 100644
index a82aac3..0000000
--- a/.vim/ftplugin/latex-suite/packages/hyperref
+++ /dev/null
@@ -1,167 +0,0 @@
-if exists("hyperref_package_file")
- finish
-endif
-let hyperref_package_file = 1
-
-let g:TeX_package_option_hyperref =
-\ '4=,'
-\.'a4paper,'
-\.'a5paper,'
-\.'anchorcolor=,'
-\.'b5paper,'
-\.'backref=,'
-\.'baseurl={<++>},'
-\.'bookmarks=,'
-\.'bookmarksnumbered=,'
-\.'bookmarksopen=,'
-\.'bookmarksopenlevel=,'
-\.'bookmarkstype=,'
-\.'breaklinks=,'
-\.'citebordercolor=,'
-\.'citecolor=,'
-\.'colorlinks=,'
-\.'debug=,'
-\.'draft,'
-\.'dvipdf,'
-\.'dvipdfm,'
-\.'dvips,'
-\.'dvipsone,'
-\.'dviwindo,'
-\.'executivepaper,'
-\.'extension=,'
-\.'filebordercolor=,'
-\.'filecolor=,'
-\.'frenchlinks=,'
-\.'hyperfigures=,'
-\.'hyperindex=,'
-\.'hypertex,'
-\.'hypertexnames=,'
-\.'implicit=,'
-\.'latex2html,'
-\.'legalpaper,'
-\.'letterpaper,'
-\.'linkbordercolor=,'
-\.'linkcolor=,'
-\.'linktocpage=,'
-\.'menubordercolor=,'
-\.'menucolor=,'
-\.'naturalnames,'
-\.'nesting=,'
-\.'pageanchor=,'
-\.'pagebackref=,'
-\.'pagebordercolor=,'
-\.'pagecolor=,'
-\.'pdfauthor={<++>},'
-\.'pdfborder=,'
-\.'pdfcenterwindow=,'
-\.'pdfcreator={<++>},'
-\.'pdffitwindow,'
-\.'pdfhighlight=,'
-\.'pdfkeywords={<++>},'
-\.'pdfmenubar=,'
-\.'pdfnewwindow=,'
-\.'pdfpagelabels=,'
-\.'pdfpagelayout=,'
-\.'pdfpagemode=,'
-\.'pdfpagescrop=,'
-\.'pdfpagetransition=,'
-\.'pdfproducer={<++>},'
-\.'pdfstartpage={<++>},'
-\.'pdfstartview={<++>},'
-\.'pdfsubject={<++>},'
-\.'pdftex,'
-\.'pdftitle={<++>},'
-\.'pdftoolbar=,'
-\.'pdfusetitle=,'
-\.'pdfview,'
-\.'pdfwindowui=,'
-\.'plainpages=,'
-\.'ps2pdf,'
-\.'raiselinks=,'
-\.'runbordercolor,'
-\.'tex4ht,'
-\.'textures,'
-\.'unicode=,'
-\.'urlbordercolor=,'
-\.'urlcolor=,'
-\.'verbose=,'
-\.'vtex'
-
-let g:TeX_package_hyperref =
-\ 'sbr:Preamble,'
-\.'bra:hypersetup,'
-\.'wwwbrowser,'
-\.'sbr:Links,'
-\.'bra:hyperbaseurl,'
-\.'brs:href{<+URL+>}{<+text+>},'
-\.'bra:hyperimage,'
-\.'brs:hyperdef{<+category+>}{<+name+>}{<+text+>},'
-\.'brs:hyperref{<+URL+>}{<+category+>}{<+name+>}{<+text+>},'
-\.'brs:hyperlink{<+name+>}{<+text+>},'
-\.'brs:hypertarget{<+name+>}{<+text+>},'
-\.'bra:url,'
-\.'bra:htmladdnormallink,'
-\.'brs:Acrobatmenu{<+option+>}{<+tekst+>},'
-\.'brs:pdfbookmark[<++>]{<++>}{<++>},'
-\.'bra:thispdfpagelabel,'
-\.'sbr:Forms,'
-\.'env:Form,'
-\.'sep:Forms1,'
-\.'brs:TextField[<+parameters+>]{<+label+>},'
-\.'brs:CheckBox[<+parameters+>]{<+label+>},'
-\.'brs:ChoiceMenu[<+parameters+>]{<+label+>}{<+choices+>},'
-\.'brs:PushButton[<+parameters+>]{<+label+>},'
-\.'brs:Submit[<+parameters+>]{<+label+>},'
-\.'brs:Reset[<+parameters+>]{<+label+>},'
-\.'sep:Forms2,'
-\.'brs:LayoutTextField{<+label+>}{<+field+>},'
-\.'brs:LayoutChoiceField{<+label+>}{<+field+>},'
-\.'brs:LayoutCheckboxField{<+label+>}{<+field+>},'
-\.'sep:Forms3,'
-\.'brs:MakeRadioField{<+width+>}{<+height+>},'
-\.'brs:MakeCheckField{<+width+>}{<+height+>},'
-\.'brs:MakeTextField{<+width+>}{<+height+>},'
-\.'brs:MakeChoiceField{<+width+>}{<+height+>},'
-\.'brs:MakeButtonField{<+text+>},'
-\.'sbr:Parameters,'
-\.'spe:accesskey,'
-\.'spe:align,'
-\.'spe:backgroundcolor,'
-\.'spe:bordercolor,'
-\.'spe:bordersep,'
-\.'spe:borderwidth,'
-\.'spe:charsize,'
-\.'spe:checked,'
-\.'spe:color,'
-\.'spe:combo,'
-\.'spe:default,'
-\.'spe:disabled,'
-\.'spe:height,'
-\.'spe:hidden,'
-\.'spe:maxlen,'
-\.'spe:menulength,'
-\.'spe:multiline,'
-\.'spe:name,'
-\.'spe:onblur,'
-\.'spe:onchange,'
-\.'spe:onclick,'
-\.'spe:ondblclick,'
-\.'spe:onfocus,'
-\.'spe:onkeydown,'
-\.'spe:onkeypress,'
-\.'spe:onkeyup,'
-\.'spe:onmousedown,'
-\.'spe:onmousemove,'
-\.'spe:onmouseout,'
-\.'spe:onmouseover,'
-\.'spe:onmouseup,'
-\.'spe:onselect,'
-\.'spe:password,'
-\.'spe:popdown,'
-\.'spe:radio,'
-\.'spe:readonly,'
-\.'spe:tabkey,'
-\.'spe:value,'
-\.'spe:width'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/ifthen b/.vim/ftplugin/latex-suite/packages/ifthen
deleted file mode 100644
index 82dbe69..0000000
--- a/.vim/ftplugin/latex-suite/packages/ifthen
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("ifthen_package_file")
- finish
-endif
-let ifthen_package_file = 1
-
-let g:TeX_package_option_ifthen = ''
-
-let g:TeX_package_ifthen =
-\ 'brs:ifthenelse{<++>}{<++>}{<++>},'
-\.'brd:equal,'
-\.'bra:boolean,'
-\.'bra:lengthtest,'
-\.'bra:isodd,'
-\.'brd:whiledo,'
-\.'bra:newboolean,'
-\.'brd:setboolean,'
-\.'nor:and,'
-\.'nor:or,'
-\.'nor:not'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/inputenc b/.vim/ftplugin/latex-suite/packages/inputenc
deleted file mode 100644
index 73abe9a..0000000
--- a/.vim/ftplugin/latex-suite/packages/inputenc
+++ /dev/null
@@ -1,29 +0,0 @@
-if exists("inputenc_package_file")
- finish
-endif
-let inputenc_package_file = 1
-
-let g:TeX_package_option_inputenc =
-\ 'ascii,'
-\.'latin1,'
-\.'latin2,'
-\.'latin3,'
-\.'latin4,'
-\.'latin5,'
-\.'latin9,'
-\.'decmulti,'
-\.'cp850,'
-\.'cp852,'
-\.'cp437,'
-\.'cp437de,'
-\.'cp865,'
-\.'applemac,'
-\.'next,'
-\.'ansinew,'
-\.'cp1250,'
-\.'cp1252'
-
-let g:TeX_package_inputenc =
-\ 'bra:inputencoding'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/letterspace b/.vim/ftplugin/latex-suite/packages/letterspace
deleted file mode 100644
index 9a53eaa..0000000
--- a/.vim/ftplugin/latex-suite/packages/letterspace
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("letterspace_package_file")
- finish
-endif
-let letterspace_package_file = 1
-
-let g:TeX_package_option_letterspace = ''
-
-let g:TeX_package_letterspace = 'nor:letterspace'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/lineno b/.vim/ftplugin/latex-suite/packages/lineno
deleted file mode 100644
index 4567602..0000000
--- a/.vim/ftplugin/latex-suite/packages/lineno
+++ /dev/null
@@ -1,60 +0,0 @@
-if exists("lineno_package_file")
- finish
-endif
-let lineno_package_file = 1
-
-let g:TeX_package_option_lineno =
-\ 'left,'
-\.'right,'
-\.'switch,'
-\.'switch*,'
-\.'pagewise,'
-\.'running,'
-\.'modulo,'
-\.'mathlines,'
-\.'displaymath,'
-\.'hyperref'
-
-let g:TeX_package_lineno =
-\ 'sbr:Environments,'
-\.'env:linenumbers,'
-\.'env:linenumbers*,'
-\.'env:numquote,'
-\.'env:numquote*,'
-\.'env:numquotation,'
-\.'env:numquotation*,'
-\.'env:bframe,'
-\.'env:linenomath,'
-\.'env:linenomath*,'
-\.'bra:linelabel,'
-\.'sbr:Commands,'
-\.'nor:linenumbers,'
-\.'nor:linenumbers*,'
-\.'noo:linenumbers,'
-\.'nor:nolinenumbers,'
-\.'nor:runninglinenumbers,'
-\.'nor:runninglinenumbers*,'
-\.'noo:runninglinenumbers,'
-\.'nor:pagewiselinenumbers,'
-\.'nor:resetlinenumber,'
-\.'noo:resetlinenumber,'
-\.'nor:setrunninglinenumbers,'
-\.'nor:setpagewiselinenumbers,'
-\.'nor:switchlinenumbers,'
-\.'nor:switchlinenumbers*,'
-\.'nor:leftlinenumbers,'
-\.'nor:leftlinenumbers*,'
-\.'nor:rightlinenumbers,'
-\.'nor:rightlinenumbers*,'
-\.'nor:runningpagewiselinenumbers,'
-\.'nor:realpagewiselinenumbers,'
-\.'nor:modulolinenumbers,'
-\.'noo:modulolinenumbers,'
-\.'nor:linenumberdisplaymath,'
-\.'nor:nolinenumberdisplaymath,'
-\.'nor:thelinenumber,'
-\.'nob:linerefp,'
-\.'nob:linerefr,'
-\.'nob:lineref'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/longtable b/.vim/ftplugin/latex-suite/packages/longtable
deleted file mode 100644
index 6644862..0000000
--- a/.vim/ftplugin/latex-suite/packages/longtable
+++ /dev/null
@@ -1,35 +0,0 @@
-if exists("longtable_package_file")
- finish
-endif
-let longtable_package_file = 1
-
-let g:TeX_package_option_longtable =
-\ 'errorshow,'
-\.'pausing,'
-\.'set,'
-\.'final'
-
-let g:TeX_package_longtable =
-\ 'sbr:Commands,'
-\.'nor:setlongtables,'
-\.'bra:LTleft,'
-\.'bra:LTright,'
-\.'bra:LTpre,'
-\.'bra:LTpost,'
-\.'bra:LTchunksize,'
-\.'bra:LTcapwidth,'
-\.'bra:LTcapwidth,'
-\.'sbr:Longtable,'
-\.'env:longtable,'
-\.'sep:lt,'
-\.'nor:endhead,'
-\.'nor:endfirsthead,'
-\.'nor:endfoot,'
-\.'nor:endlastfoot,'
-\.'nor:kill,'
-\.'bra:caption,'
-\.'nob:caption,'
-\.'bra:caption*,'
-\.'nor:newpage'
-
-" vim:ft=vim:ts=4:sw=4:noet:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/lscape b/.vim/ftplugin/latex-suite/packages/lscape
deleted file mode 100644
index 33976ea..0000000
--- a/.vim/ftplugin/latex-suite/packages/lscape
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("lscape_package_file")
- finish
-endif
-let lscape_package_file = 1
-
-let g:TeX_package_option_lscape = ''
-
-let g:TeX_package_lscape = 'env:landscape'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/manyfoot b/.vim/ftplugin/latex-suite/packages/manyfoot
deleted file mode 100644
index 7cab55f..0000000
--- a/.vim/ftplugin/latex-suite/packages/manyfoot
+++ /dev/null
@@ -1,15 +0,0 @@
-if exists("manyfoot_package_file")
- finish
-endif
-let manyfoot_package_file = 1
-
-let g:TeX_package_option_manyfoot = 'para'
-
-let g:TeX_package_manyfoot =
-\ 'bra:newfootnote,bra:newfootnote[para],'
-\.'bra:footnoteA,bra:footnoteB,'
-\.'bra:FootnoteA,bra:FootnoteB,'
-\.'bra:Footnotemark,bra:Footnotetext,'
-\.'SplitNote'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/moreverb b/.vim/ftplugin/latex-suite/packages/moreverb
deleted file mode 100644
index 8614e3b..0000000
--- a/.vim/ftplugin/latex-suite/packages/moreverb
+++ /dev/null
@@ -1,28 +0,0 @@
-if exists("moreverb_package_file")
- finish
-endif
-let moreverb_package_file = 1
-
-let g:TeX_package_option_moreverb = ''
-
-let g:TeX_package_moreverb =
-\ 'ens:verbatimwrite:{<++>},'
-\.'ens:verbatimtab:[<++>],'
-\.'ens:listing:[<+step+>]{<+number+>},'
-\.'ens:listing*:[<+step+>]{<+number+>},'
-\.'env:boxedverbatim,'
-\.'bra:verbatimtabsize,'
-\.'bra:listingoffset,'
-\.'brs:listinginput[<++>]{<++>}{<++>},'
-\.'brs:verbatimtabinput[<++>]{<++>}'
-
-let g:Tex_completion_explorer = g:Tex_completion_explorer.'verbatimtabinput,'
-
-syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" fold
-syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" fold
-syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" fold
-syn region texZone start="\\begin{listing}" end="\\end{listing}\|%stopzone\>" fold
-syn region texZone start="\\begin{listing*}" end="\\end{listing*}\|%stopzone\>" fold
-
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/multibox b/.vim/ftplugin/latex-suite/packages/multibox
deleted file mode 100644
index 00bccb2..0000000
--- a/.vim/ftplugin/latex-suite/packages/multibox
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("multibox_package_file")
- finish
-endif
-let multibox_package_file = 1
-
-let g:TeX_package_option_multibox = ''
-
-let g:TeX_package_multibox = 'multimake,multiframe'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/multicol b/.vim/ftplugin/latex-suite/packages/multicol
deleted file mode 100644
index ca93189..0000000
--- a/.vim/ftplugin/latex-suite/packages/multicol
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("multicol_package_file")
- finish
-endif
-let multicol_package_file = 1
-
-let g:TeX_package_option_multicol = ''
-
-let g:TeX_package_multicol =
-\ 'ens:multicols:{<+cols+>}[<+text+>][<+sep+>],'
-\.'columnbreak,'
-\.'premulticols,'
-\.'postmulticols,'
-\.'multicolsep,'
-\.'columnsep,'
-\.'linewidth,'
-\.'columnseprule,'
-\.'flushcolumnt,'
-\.'raggedcolumns,'
-\.'unbalanced'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/newalg b/.vim/ftplugin/latex-suite/packages/newalg
deleted file mode 100644
index 1480bb6..0000000
--- a/.vim/ftplugin/latex-suite/packages/newalg
+++ /dev/null
@@ -1,26 +0,0 @@
-if exists("newalg_package_file")
- finish
-endif
-let newalg_package_file = 1
-
-let g:TeX_package_option_newalg = ''
-
-let g:TeX_package_newalg =
-\ 'ens:algorithm:{<+name+>}{<++>},'
-\.'ens:IF:{<+cond+>},'
-\.'ens:FOR:{<+loop+>},'
-\.'ens:WHILE:{<+cond+>},'
-\.'bra:ERROR,'
-\.'nor:ELSE,'
-\.'nor:RETURN,'
-\.'nor:NIL,'
-\.'nor:TO,'
-\.'bra:CALL,'
-\.'bra:text,'
-\.'env:REPEAT,'
-\.'env:SWITCH,'
-\.'nor:=,'
-\.'bra:item,'
-\.'nor:algkey'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/ngerman b/.vim/ftplugin/latex-suite/packages/ngerman
deleted file mode 100644
index 534ac30..0000000
--- a/.vim/ftplugin/latex-suite/packages/ngerman
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("ngerman_package_file")
- finish
-endif
-let ngerman_package_file = 1
-
-" For now just define the smart quotes.
-let b:Tex_SmartQuoteOpen = '"`'
-let b:Tex_SmartQuoteClose = "\"'"
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/numprint b/.vim/ftplugin/latex-suite/packages/numprint
deleted file mode 100644
index 4eab5a2..0000000
--- a/.vim/ftplugin/latex-suite/packages/numprint
+++ /dev/null
@@ -1,18 +0,0 @@
-if exists("numprint_package_file")
- finish
-endif
-let numprint_package_file = 1
-
-let g:TeX_package_option_numprint = ''
-
-let g:TeX_package_numprint =
-\ 'bra:numprint,'
-\.'nob:numprint,'
-\.'bra:thousandsep,'
-\.'bra:decimalsign,'
-\.'bra:productsign,'
-\.'bra:unitseparator,'
-\.'brd:expnumprint,'
-\.'global'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/oldstyle b/.vim/ftplugin/latex-suite/packages/oldstyle
deleted file mode 100644
index 72b2774..0000000
--- a/.vim/ftplugin/latex-suite/packages/oldstyle
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("oldstyle_package_file")
- finish
-endif
-let oldstyle_package_file = 1
-
-let g:TeX_package_option_oldstyle = ''
-
-let g:TeX_package_oldstyle =
-\ 'bra:textos,'
-\.'bra:mathos'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/outliner b/.vim/ftplugin/latex-suite/packages/outliner
deleted file mode 100644
index ca64322..0000000
--- a/.vim/ftplugin/latex-suite/packages/outliner
+++ /dev/null
@@ -1,19 +0,0 @@
-if exists("outliner_package_file")
- finish
-endif
-let outliner_package_file = 1
-
-let g:TeX_package_option_outliner = ''
-
-let g:TeX_package_outliner =
-\ 'env:Outline,'
-\.'bra:Level,'
-\.'bra:SetBaseLevel,'
-\.'sep:preamble,'
-\.'bra:OutlinePageBreaks,'
-\.'bra:OutlinePageBreaks,'
-\.'bra:OutlineLevelStart,'
-\.'bra:OutlineLevelCont,'
-\.'bra:OutlineLevelEnd'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/overcite b/.vim/ftplugin/latex-suite/packages/overcite
deleted file mode 100644
index 25bc17d..0000000
--- a/.vim/ftplugin/latex-suite/packages/overcite
+++ /dev/null
@@ -1,34 +0,0 @@
-if exists("overcite_package_file")
- finish
-endif
-let overcite_package_file = 1
-
-let g:TeX_package_option_overcite =
-\ 'verbose,'
-\.'ref,'
-\.'nospace,'
-\.'space,'
-\.'nosort,'
-\.'sort,'
-\.'nomove,'
-\.'noadjust'
-
-let g:TeX_package_overcite =
-\ 'bra:cite,'
-\.'bra:citen,'
-\.'bra:citenum,'
-\.'bra:citeonline,'
-\.'bra:nocite,'
-\.'sep:redefine,'
-\.'bra:citeform,'
-\.'bra:citepunct,'
-\.'bra:citeleft,'
-\.'bra:citeright,'
-\.'bra:citemid,'
-\.'bra:citedash'
-
-syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-syn region texRefZone matchgroup=texStatement start="\\citenum\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-syn region texRefZone matchgroup=texStatement start="\\citeonline\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/parallel b/.vim/ftplugin/latex-suite/packages/parallel
deleted file mode 100644
index 19dfe8e..0000000
--- a/.vim/ftplugin/latex-suite/packages/parallel
+++ /dev/null
@@ -1,15 +0,0 @@
-if exists("parallel_package_file")
- finish
-endif
-let parallel_package_file = 1
-
-let g:TeX_package_option_parallel = ''
-
-let g:TeX_package_parallel =
-\ 'env:Parallel,'
-\.'bra:ParallelLText,'
-\.'bra:ParallelRText,'
-\.'nor:ParallelPar,'
-\.'nor:tolerance'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/plain b/.vim/ftplugin/latex-suite/packages/plain
deleted file mode 100644
index 6a3d092..0000000
--- a/.vim/ftplugin/latex-suite/packages/plain
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("plain_package_file")
- finish
-endif
-let plain_package_file = 1
-
-let g:TeX_package_option_plain = ''
-
-let g:TeX_package_plain = 'env:plain'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/plates b/.vim/ftplugin/latex-suite/packages/plates
deleted file mode 100644
index e22817e..0000000
--- a/.vim/ftplugin/latex-suite/packages/plates
+++ /dev/null
@@ -1,16 +0,0 @@
-if exists("plates_package_file")
- finish
-endif
-let plates_package_file = 1
-
-let g:TeX_package_option_plates = 'figures,onefloatperpage,memoir'
-
-let g:TeX_package_plates =
-\ 'env:plate,'
-\.'listofplates,'
-\.'ProcessPlates,'
-\.'bra:setplatename,'
-\.'bra:setplatename,'
-\.'bra:atBeginPlates'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/polski b/.vim/ftplugin/latex-suite/packages/polski
deleted file mode 100644
index e2c4efe..0000000
--- a/.vim/ftplugin/latex-suite/packages/polski
+++ /dev/null
@@ -1,165 +0,0 @@
-" Author: Mikolaj Machowski <mikmach@wp.pl>
-" (c) Copyright by Mikolaj Machowski 2002-2003
-" License: Vim Charityware
-" Version: 1.6
-"
-" Plik jest w kodowaniu iso-8859-2. Je¶li chcesz go uzywac w MS-Windows musisz
-" go przekonwertowac na cp-1250.
-"
-" Plik ten jest czê¶ci± vim-latexSuite, ale:
-" Nie u¿ywaj±cy vim-latexSuite (http://vim-latex.sourceforge.net) mog± wyci±æ
-" oznaczon± czê¶æ. Reszta mo¿e byæ kopiowana jako osobny plik pod warunkiem
-" niezmieniania tej notki i informacji o prawach autorskich.
-"
-" This file is in iso-8859-2 encoding. If you want to use it in MS-Windows you
-" have to convert it to cp-1250.
-"
-" This file is part of vim-latexSuite but:
-" Those who do not use vim-latexSuite (http://vim-latex.sourceforge.net) can
-" cut off marked part. Rest of the file can be copied as separate file under
-" condition of leaving this notice and information about copyrights unchanged.
-
-if exists("acromake_package_file")
- finish
-endif
-let acromake_package_file = 1
-
-" --------8<-------------
-" Czesc odpowiedzialna za menu
-let g:TeX_package_option_polski =
-\'OT1,OT4,T1,QX,plmath,nomathsymbols,MeX,prefixingverb,noprefixingverb'
-let g:TeX_package_polski =
-\'sbr:Dywiz&Ska,'.
-\'nor:dywiz,'.
-\'nor:ppauza,'.
-\'nor:pauza,'.
-\'nor:prefixing,'.
-\'nor:nonprefixing,'.
-\'nor:PLdateending,'.
-\'sbr:Matematyka,'.
-\'nor:arccos,'.
-\'nor:arcctan,'.
-\'nor:arcsin,'.
-\'nor:arctan,'.
-\'nor:cot,'.
-\'nor:ctanh,'.
-\'nor:tan,'.
-\'nor:tanh,'.
-\'bra:arc,'.
-\'nor:ctg,'.
-\'nor:ctgh,'.
-\'nor:tg,'.
-\'nor:tgh,'.
-\'nor:nwd'
-
-" To wymaga calego pakietu vim-latexSuite - zakomentuj lub wytnij je¶li nie
-" u¿ywasz (albo go ¶ci±gnij z http://vim-latex.sf.net)
-function! TPackagePolskiTylda()
- call IMAP (" ---", "~---", "tex")
-endfunction
-call TPackagePolskiTylda()
-" --------8<-------------
-
-" Polskie znaki cudzyslowow
-TexLet g:Tex_SmartQuoteOpen = ",,"
-TexLet g:Tex_SmartQuoteClose = "''"
-
-" Zmodyfikowana i rozwinieta funkcja Andrzeja Ostruszki
-" Z dodatkiem od Benjiego Fishera (sprawdzanie sk³adni)
-"
-" Spacja
-inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR>
-inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR>
-
-" Wymuszenie tyldy
-inoremap <buffer> <silent> <S-Space> ~
-
-" Wymuszenie zwyklej spacji
-inoremap <buffer> <silent> <C-Space> <Space>
-
-" Latwe przelaczanie sie miedzy magiczna spacja a zwykla
-inoremap <buffer> <silent> <F8> <C-R>=<SID>TogglePolishSpace()<CR>
-
-function! s:TogglePolishSpace()
- if !exists("b:polishspace")
- iunmap <buffer> <Space>
- iunmap <buffer> <CR>
- let b:polishspace = 1
- return ''
- else
- inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR>
- inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR>
- unlet b:polishspace
- return ''
- endif
-endfunction
-
-
-function! s:Tex_polish_space()
- "Nic magicznego w matematyce
- if synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath\|^texZone\^texRefZone'
- return ' '
- else
- let s:col = col('.')
- let s:linelength = strlen(getline('.')) + 1
- " Wstaw tylde po spojnikach
- if strpart(getline('.'), col('.') - 3, 2) =~? '^[[:space:]~(\[{]\?[aiouwz]$'
- return '~'
- " Wstaw tylde po inicjalach - konkretnie po pojedynczych wielkich
- " literach i kropce. Obs³uguje poprawnie wiekszosc sytuacji.
- elseif strpart(getline('.'), col('.') - 4, 3) =~? '^[[:space:]~(\[{]\?\u\.$'
- return '~'
- " Wstaw tylde po tytulach, skrotach bibliograficznych, podpisach
- elseif strpart(getline('.'), col('.') - 9, 8) =~? '\(\s\|^\|\~\)\(str\.\|ryc\.\|rys\.\|tab\.\|art\.\|vol\.\|nr\|tabl\.\|rozdz\.\|ss\.\|s\.\|t\.\|z\.\|sir\|prof\.\|hab\.\|red\.\|min\.\|gen\.\|kpt\.\|przew\.\|p³k\|mjr\|mgr\|bp\|ks\.\|o\+\.\|¶w\.\|dr\)$'
- return '~'
- " Wstaw tylde miedzy rokiem, wiekiem, a odpowiednim skrotem
- elseif strpart(getline('.'), col('.') - 8, 7) =~? '[0-9IVXLCM]\s\+\(r\|w\)\.[^a-z±æê³ñ󶿼]\{-}$'
- s/[0-9IVXLCM]\zs\s\+\ze\(w\|r\)\.[^a-z±æê³ñ󶿼]\{-}\%#/\~/ei
- exe 'normal '.s:col.'|'
- if s:col == s:linelength
- startinsert!
- else
- startinsert
- endif
- return ' '
- " Wstaw tylde miedzy liczba a miara, itd.
- elseif strpart(getline('.'), col('.') - 10, 9) =~? '\(\d\|mln\|mld\|tys\.\)\s\+\(z³\|gr\|ha\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z±æê³ñ󶿼]\{-}$'
- s/\(\d\|mln\|mld\|tys\.\)\zs\s\+\ze\(z³\|gr\|ha\|m\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z±æê³ñ󶿼]\{-}\%#/\~/ei
- exe 'normal '.s:col.'|'
- if s:col == s:linelength
- startinsert!
- else
- startinsert
- endif
- return ' '
- " Rozwin myslnik w zbitkach w '\dywiz ':
- " bialo-czerwony -> bialo\dywiz czerwony
- elseif strpart(getline('.'), col('.') - 20, 19) =~? '[a-z±æê³ñ󶿼]-[a-z±æê³ñ󶿼]\{-}[^a-z±æê³ñ󶿼]\{-}$'
- s/[a-z±æê³ñ󶿼]\zs-\ze[a-z±æê³ñ󶿼]\{-}[^a-z±æê³ñ󶿼]\{-}\%#/\\dywiz /ei
- let colb = s:col + 6
- exe 'normal '.colb.'|'
- if s:col == s:linelength
- startinsert!
- else
- startinsert
- endif
- return ' '
- " Rozwin '--' miedzy liczbami w '\ppauza ':
- " 39--45 -> 39\ppauza 45
- elseif strpart(getline('.'), col('.') - 10, 9) =~? '[0-9IVXLCM]--[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}$'
- s/[0-9IVXLCM]\zs--\ze[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}\%#/\\ppauza /ei
- let colb = s:col + 6
- exe 'normal '.colb.'|'
- if s:col == s:linelength
- startinsert!
- else
- startinsert
- endif
- return ' '
- endif
- " Tu koncz komentowanie ostatniej sekcji
- endif
- return " "
-endfunction
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/psgo b/.vim/ftplugin/latex-suite/packages/psgo
deleted file mode 100644
index 1ef852c..0000000
--- a/.vim/ftplugin/latex-suite/packages/psgo
+++ /dev/null
@@ -1,27 +0,0 @@
-if exists("psgo_package_file")
- finish
-endif
-let psgo_package_file = 1
-
-let g:TeX_package_option_psgo = ''
-
-let g:TeX_package_psgo =
-\ 'env:psgogoard,'
-\.'env:psgoboard*,'
-\.'brs:stone{<+color+>}{<+letter+>}{<+number+>},'
-\.'brs:stone[<+marker+>]{<+color+>}{<+letter+>}{<+number+>},'
-\.'brs:move{<+letter+>}{<+number+>},'
-\.'brs:move*{<+letter+>}{<+number+>},'
-\.'brs:goline{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},'
-\.'brs:goarrow{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},'
-\.'sbr:Markers,'
-\.'brs:markpos{<+marker+>}{<+letter+>}{<+number+>},'
-\.'markma,'
-\.'marktr,'
-\.'markcr,'
-\.'marksq,'
-\.'bra:marklb,'
-\.'marksl,'
-\.'markdd'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/schedule b/.vim/ftplugin/latex-suite/packages/schedule
deleted file mode 100644
index 7d58f6d..0000000
--- a/.vim/ftplugin/latex-suite/packages/schedule
+++ /dev/null
@@ -1,20 +0,0 @@
-if exists("schedule_package_file")
- finish
-endif
-let schedule_package_file = 1
-
-let g:TeX_package_option_schedule = ''
-
-let g:TeX_package_schedule =
-\ 'ens:schedule:[<+title+>],'
-\.'bra:CellHeight,'
-\.'bra:CellWidth,'
-\.'bra:TimeRange,'
-\.'bra:SubUnits,'
-\.'bra:BeginOn,'
-\.'bra:TextSize,'
-\.'nor:FiveDay,'
-\.'nor:SevenDay,'
-\.'brs:NewAppointment{<+name+>}{<+bg+>}{<+fg+>}'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/textfit b/.vim/ftplugin/latex-suite/packages/textfit
deleted file mode 100644
index 4d52785..0000000
--- a/.vim/ftplugin/latex-suite/packages/textfit
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("textfit_package_file")
- finish
-endif
-let textfit_package_file = 1
-
-let g:TeX_package_option_textfit = ''
-
-let g:TeX_package_textfit =
-\ 'brd:scaletowidth,'
-\.'brd:scaletoheight'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/times b/.vim/ftplugin/latex-suite/packages/times
deleted file mode 100644
index 499a13b..0000000
--- a/.vim/ftplugin/latex-suite/packages/times
+++ /dev/null
@@ -1,10 +0,0 @@
-if exists("times_package_file")
- finish
-endif
-let times_package_file = 1
-
-let g:TeX_package_option_times = ''
-
-let g:TeX_package_times = ''
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/tipa b/.vim/ftplugin/latex-suite/packages/tipa
deleted file mode 100644
index c89cc5d..0000000
--- a/.vim/ftplugin/latex-suite/packages/tipa
+++ /dev/null
@@ -1,364 +0,0 @@
-if exists("tipa_package_file")
- finish
-endif
-let tipa_package_file = 1
-
-let g:TeX_package_option_tipa =
-\ 'T1,'
-\.'noenc,'
-\.'tone,'
-\.'extra,'
-\.'safe'
-
-let g:TeX_package_tipa =
-\ 'sbr:Common,'
-\.'bra:textipa,'
-\.'env:IPA,'
-\.'tipaencoding,'
-\.'bra:super,'
-\.'nor:ipabar,'
-\.'brd:tipalowaraccent,'
-\.'brd:tipaupperaccent,'
-\.'brd:tipaLowaraccent,'
-\.'brd:tipaUpperaccent,'
-\.'brd:ipaclap,'
-\.'sbr:VowelsandConsonants,'
-\.'nor:textturna,'
-\.'nor:textrhooka,'
-\.'nor:textlhookfour,'
-\.'nor:textscripta,'
-\.'nor:textturnscripta,'
-\.'nor:textinvscripta,'
-\.'ae,'
-\.'nor:textaolig,'
-\.'nor:textsca,'
-\.'nor:textinvsca,'
-\.'nor:textscaolig,'
-\.'nor:textturnv,'
-\.'nor:textsoftsign,'
-\.'nor:texthardsign,'
-\.'nor:texthtb,'
-\.'nor:textscb,'
-\.'nor:textcrb,'
-\.'nor:textbarb,'
-\.'nor:textbeta,'
-\.'nor:textbarc,'
-\.'nor:texthtc,'
-\.'bra:v,'
-\.'bra:c,'
-\.'nor:textctc,'
-\.'nor:textstretchc,'
-\.'nor:textstretchcvar,'
-\.'nor:textctstretchc,'
-\.'nor:textctstretchcvar,'
-\.'nor:textcrd,'
-\.'nor:textbard,'
-\.'nor:texthtd,'
-\.'nor:textrtaild,'
-\.'nor:texthtrtaild,'
-\.'nor:textctd,'
-\.'nor:textfrhookd,'
-\.'nor:textfrhookdvar,'
-\.'nor:textdblig,'
-\.'nor:textdzlig,'
-\.'nor:textdctzlig,'
-\.'nor:textdyoghlig,'
-\.'nor:textctdctzlig,'
-\.'nor:textscdelta,'
-\.'nor:dh,'
-\.'nor:textrhooke,'
-\.'nor:textschwa,'
-\.'nor:textrhookschwa,'
-\.'nor:textreve,'
-\.'nor:textsce,'
-\.'nor:textepsilon,'
-\.'nor:textrhookepsilon,'
-\.'nor:textcloseepsilon,'
-\.'nor:textrevepsilon,'
-\.'nor:textrhookrevepsilon,'
-\.'nor:textcloserevepsilon,'
-\.'nor:textscf,'
-\.'nor:textscriptg,'
-\.'nor:textbarg,'
-\.'nor:textcrg,'
-\.'nor:texthtg,'
-\.'nor:textg,'
-\.'nor:textscg,'
-\.'nor:texthtscg,'
-\.'nor:textgamma,'
-\.'nor:textgrgamma,'
-\.'nor:textfrtailgamma,'
-\.'nor:textbktailgamma,'
-\.'nor:textbabygamma,'
-\.'nor:textramshorns,'
-\.'nor:texthvlig,'
-\.'nor:textcrh,'
-\.'nor:texthth,'
-\.'nor:textrtailhth,'
-\.'nor:textheng,'
-\.'nor:texththeng,'
-\.'nor:textturnh,'
-\.'nor:textsch,'
-\.'nor:i,'
-\.'nor:textbari,'
-\.'nor:textiota,'
-\.'nor:textlhti,'
-\.'nor:textlhtlongi,'
-\.'nor:textvibyi,'
-\.'nor:textraisevibyi,'
-\.'nor:textsci,'
-\.'nor:j,'
-\.'nor:textctj,'
-\.'nor:textctjvar,'
-\.'nor:textscj,'
-\.'bra:v,'
-\.'nor:textbardotlessj,'
-\.'nor:textObardotlessj,'
-\.'nor:texthtbardotlessj,'
-\.'nor:texthtbardotlessjvar,'
-\.'nor:texthtk,'
-\.'nor:textturnk,'
-\.'nor:textsck,'
-\.'nor:textturnsck,'
-\.'nor:textltilde,'
-\.'nor:textbarl,'
-\.'nor:textbeltl,'
-\.'nor:textrtaill,'
-\.'nor:textlyoghlig,'
-\.'nor:textOlyoghlig,'
-\.'nor:textscl,'
-\.'nor:textrevscl,'
-\.'nor:textlambda,'
-\.'nor:textcrlambda,'
-\.'nor:textltailm,'
-\.'nor:textturnm,'
-\.'nor:textturnmrleg,'
-\.'nor:texthmlig,'
-\.'nor:textscm,'
-\.'nor:textnrleg,'
-\.'~,'
-\.'nor:textltailn,'
-\.'nor:textfrbarn,'
-\.'nor:ng,'
-\.'nor:textrtailn,'
-\.'nor:textctn,'
-\.'nor:textnrleg,'
-\.'nor:textscn,'
-\.'nor:textbullseye,'
-\.'nor:textObullseye,'
-\.'nor:textbaro,'
-\.'nor:o,'
-\.'nor:textfemale,'
-\.'nor:textuncrfemale,'
-\.'nor:oe,'
-\.'nor:textscoelig,'
-\.'nor:textopeno,'
-\.'nor:textrhookopeno,'
-\.'nor:textturncelig,'
-\.'nor:textomega,'
-\.'nor:textinvomega,'
-\.'nor:textscomega,'
-\.'nor:textcloseomega,'
-\.'nor:textlhookp,'
-\.'nor:textscp,'
-\.'nor:textwynn,'
-\.'nor:textthorn,'
-\.'nor:textthornvari,'
-\.'nor:textthornvarii,'
-\.'nor:textthornvariii,'
-\.'nor:textthornvariv,'
-\.'nor:texthtp,'
-\.'nor:textphi,'
-\.'nor:texthtq,'
-\.'nor:textqplig,'
-\.'nor:textscq,'
-\.'nor:textfishhookr,'
-\.'nor:textlonglegr,'
-\.'nor:textrtailr,'
-\.'nor:textturnr,'
-\.'nor:textturnrrtail,'
-\.'nor:textturnlonglegr,'
-\.'nor:textscr,'
-\.'nor:textinvscr,'
-\.'nor:textrevscr,'
-\.'bra:v,'
-\.'nor:textrtails,'
-\.'nor:textesh,'
-\.'nor:textdoublebaresh,'
-\.'nor:textctesh,'
-\.'nor:textlooptoprevesh,'
-\.'nor:texthtt,'
-\.'nor:textlhookt,'
-\.'nor:textrtailt,'
-\.'nor:textfrhookt,'
-\.'nor:textctturnt,'
-\.'nor:texttctclig,'
-\.'nor:texttslig,'
-\.'nor:textteshlig,'
-\.'nor:textturnt,'
-\.'nor:textctt,'
-\.'nor:textcttctclig,'
-\.'nor:texttheta,'
-\.'nor:textbaru,'
-\.'nor:textupsilon,'
-\.'nor:textscu,'
-\.'nor:textturnscu,'
-\.'nor:textscriptv,'
-\.'nor:textturnw,'
-\.'nor:textchi,'
-\.'nor:textturny,'
-\.'nor:textscy,'
-\.'nor:textlhtlongy,'
-\.'nor:textvibyy,'
-\.'nor:textcommatailz,'
-\.'bra:v,'
-\.'nor:textctz,'
-\.'nor:textrtailz,'
-\.'nor:textcrtwo,'
-\.'nor:textturntwo,'
-\.'nor:textyogh,'
-\.'nor:textbenttailyogh,'
-\.'nor:textrevyogh,'
-\.'nor:textctyogh,'
-\.'nor:textturnthree,'
-\.'nor:textglotstop,'
-\.'nor:textraiseglotstop,'
-\.'nor:textbarglotstop,'
-\.'nor:textinvglotstop,'
-\.'nor:textcrinvglotstop,'
-\.'nor:textctinvglotstop,'
-\.'nor:textrevglotstop,'
-\.'nor:textturnglotstop,'
-\.'nor:textbarrevglotstop,'
-\.'nor:textpipe,'
-\.'nor:textpipevar,'
-\.'nor:textdoublebarpipe,'
-\.'nor:textdoublebarpipevar,'
-\.'nor:textdoublepipevar,'
-\.'nor:textdoublepipe,'
-\.'nor:textdoublebarslash,'
-\.'sbr:Suprasegmentals,'
-\.'nor:textprimstress,'
-\.'nor:textsecstress,'
-\.'nor:textlengthmark,'
-\.'nor:texthalflength,'
-\.'nor:textvertline,'
-\.'nor:textdoublevertline,'
-\.'bra:textbottomtiebar,'
-\.'nor:textdownstep,'
-\.'nor:textupstep,'
-\.'nor:textglobfall,'
-\.'nor:textglobrise,'
-\.'nor:textspleftarrow,'
-\.'nor:textdownfullarrow,'
-\.'nor:textupfullarrow,'
-\.'nor:textsubrightarrow,'
-\.'nor:textsubdoublearrow,'
-\.'sbr:AccentsandDiacritics,'
-\.'`,'
-\."',"
-\.'^,'
-\.'~,'
-\.'",'
-\.'bra:H,'
-\.'bra:r,'
-\.'bra:v,'
-\.'bra:u,'
-\.'=,'
-\.'.,'
-\.'bra:c,'
-\.'bra:textpolhook,'
-\.'nor:textrevpolhook{o,'
-\.'bra:textdoublegrave,'
-\.'bra:textsubgrave,'
-\.'bra:textsubacute,'
-\.'bra:textsubcircum,'
-\.'bra:textroundcap,'
-\.'bra:textacutemacron,'
-\.'bra:textgravemacron,'
-\.'bra:textvbaraccent,'
-\.'bra:textdoublevbaraccent,'
-\.'bra:textgravedot,'
-\.'bra:textdotacute,'
-\.'bra:textcircumdot,'
-\.'bra:texttildedot,'
-\.'bra:textbrevemacron,'
-\.'bra:textringmacron,'
-\.'bra:textacutewedge,'
-\.'bra:textdotbreve,'
-\.'bra:textsubbridge,'
-\.'bra:textinvsubbridge,'
-\.'sbr:SubscriptSquare,'
-\.'bra:textsubrhalfring,'
-\.'bra:textsublhalfring,'
-\.'bra:textsubw,'
-\.'bra:textoverw,'
-\.'bra:textseagull,'
-\.'bra:textovercross,'
-\.'bra:textsubplus,'
-\.'bra:textraising,'
-\.'bra:textlowering,'
-\.'bra:textadvancing,'
-\.'bra:textretracting,'
-\.'bra:textsubtilde,'
-\.'bra:textsubumlaut,'
-\.'bra:textsubring,'
-\.'bra:textsubwedge,'
-\.'bra:textsubbar,'
-\.'bra:textsubdot,'
-\.'bra:textsubarch,'
-\.'bra:textsyllabic,'
-\.'bra:textsuperimposetilde,'
-\.'nor:textcorner,'
-\.'nor:textopencorner,'
-\.'nor:textrhoticity,'
-\.'nor:textceltpal,'
-\.'nor:textlptr,'
-\.'nor:textrptr,'
-\.'nor:textrectangle,'
-\.'nor:textretractingvar,'
-\.'bra:texttoptiebar,'
-\.'nor:textrevapostrophe,'
-\.'nor:texthooktop,'
-\.'nor:textrthook,'
-\.'nor:textrthooklong,'
-\.'nor:textpalhook,'
-\.'nor:textpalhooklong,'
-\.'nor:textpalhookvar,'
-\.'bra:textsuperscript,'
-\.'sbr:ToneLetters,'
-\.'bra:tone,'
-\.'bra:stone,'
-\.'bra:rtone,'
-\.'nor:tone{55},'
-\.'nor:tone{44},'
-\.'nor:tone{33},'
-\.'nor:tone{22},'
-\.'nor:tone{11},'
-\.'nor:tone{51},'
-\.'nor:tone{15},'
-\.'nor:tone{45},'
-\.'nor:tone{12},'
-\.'nor:tone{454},'
-\.'sbr:DiacriticsExtIPA,'
-\.'bra:spreadlips,'
-\.'bra:overbridge,'
-\.'bra:bibridge,'
-\.'bra:subdoublebar,'
-\.'bra:subdoublevert,'
-\.'bra:subcorner,'
-\.'bra:whistle,'
-\.'bra:sliding,'
-\.'bra:crtilde,'
-\.'bra:dottedtilde,'
-\.'bra:doubletilde,'
-\.'bra:partvoiceless,'
-\.'bra:inipartvoiceless,'
-\.'bra:finpartvoiceless,'
-\.'bra:partvoice,'
-\.'bra:inipartvoice,'
-\.'bra:finpartvoice,'
-\.'bra:sublptr,'
-\.'bra:subrptr'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/ulem b/.vim/ftplugin/latex-suite/packages/ulem
deleted file mode 100644
index 9257713..0000000
--- a/.vim/ftplugin/latex-suite/packages/ulem
+++ /dev/null
@@ -1,21 +0,0 @@
-if exists("ulem_package_file")
- finish
-endif
-let ulem_package_file = 1
-
-let g:TeX_package_option_ulem =
-\ 'normalem,'
-\.'ULforem,'
-\.'normalbf,'
-\.'UWforbf'
-
-let g:TeX_package_ulem =
-\ 'bra:uwave,'
-\.'bra:uline,'
-\.'bra:uuline,'
-\.'bra:sout,'
-\.'bra:xout,'
-\.'ULthickness,'
-\.'ULdepth'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/url b/.vim/ftplugin/latex-suite/packages/url
deleted file mode 100644
index 642148a..0000000
--- a/.vim/ftplugin/latex-suite/packages/url
+++ /dev/null
@@ -1,24 +0,0 @@
-if exists("url_package_file")
- finish
-endif
-let url_package_file = 1
-
-let g:TeX_package_option_url =
-\ 'hyphens,'
-\.'obeyspaces,'
-\.'spaces,'
-\.'T1'
-
-let g:TeX_package_url =
-\ 'bra:urlstyle,'
-\.'bra:url,'
-\.'bra:path,'
-\.'bra:urldef'
-
-" TODO uncomment if you figure out
-" 1. how to get this syn command to work every time instead of only the
-" first time this file is sourced.
-" syn region texZone start="\\url{" end="}\|%stopzone\>"
-" syn region texZone start="\\path{" end="}\|%stopzone\>"
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/verbatim b/.vim/ftplugin/latex-suite/packages/verbatim
deleted file mode 100644
index f2137ff..0000000
--- a/.vim/ftplugin/latex-suite/packages/verbatim
+++ /dev/null
@@ -1,18 +0,0 @@
-if exists("verbatim_package_file")
- finish
-endif
-let verbatim_package_file = 1
-
-let g:TeX_package_option_verbatim = ''
-
-let g:TeX_package_verbatim =
-\ 'env:comment,'
-\.'env:verbatim,'
-\.'env:verbatim*,'
-\.'bra:verbatiminput,'
-\.'bra:verbatiminput'
-
-syn region texZone start="\\begin{comment}" end="\\end{comment}\|%stopzone\>" fold
-syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" fold
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/packages/version b/.vim/ftplugin/latex-suite/packages/version
deleted file mode 100644
index 4de9da8..0000000
--- a/.vim/ftplugin/latex-suite/packages/version
+++ /dev/null
@@ -1,12 +0,0 @@
-if exists("version_package_file")
- finish
-endif
-let version_package_file = 1
-
-let g:TeX_package_option_version = ''
-
-let g:TeX_package_version =
-\ 'bra:includeversion,'
-\.'bra:excludeversion'
-
-" vim:ft=vim:ff=unix:
diff --git a/.vim/ftplugin/latex-suite/projecttemplate.vim b/.vim/ftplugin/latex-suite/projecttemplate.vim
deleted file mode 100644
index 1ab4be0..0000000
--- a/.vim/ftplugin/latex-suite/projecttemplate.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" Project name
-" let g:projName = ''
-"
-" Project files
-" let g:projFiles = ''
-
-
-" Vim settings/maps/abbrs specific for this project
-
-" Modeline for this file
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:ft=vim
diff --git a/.vim/ftplugin/latex-suite/pytools.py b/.vim/ftplugin/latex-suite/pytools.py
deleted file mode 100644
index 1934e23..0000000
--- a/.vim/ftplugin/latex-suite/pytools.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import string, vim, re, os, glob
-# catFile: assigns a local variable retval to the contents of a file {{{
-def catFile(filename):
- try:
- file = open(filename)
- lines = ''.join(file.readlines())
- file.close()
- except:
- lines = ''
-
- # escape double quotes and backslashes before quoting the string so
- # everything passes throught.
- vim.command("""let retval = "%s" """ % re.sub(r'"|\\', r'\\\g<0>', lines))
- return lines
-
-# }}}
-# isPresentInFile: check if regexp is present in the file {{{
-def isPresentInFile(regexp, filename):
- try:
- fp = open(filename)
- fcontents = string.join(fp.readlines(), '')
- fp.close()
- if re.search(regexp, fcontents):
- vim.command('let retval = 1')
- return 1
- else:
- vim.command('let retval = 0')
- return None
- except:
- vim.command('let retval = 0')
- return None
-
-# }}}
-# deleteFile: deletes a file if present {{{
-# If the file does not exist, check if its a filepattern rather than a
-# filename. If its a pattern, then deletes all files matching the
-# pattern.
-def deleteFile(filepattern):
- if os.path.exists(filepattern):
- try:
- os.remove(filepattern)
- except:
- vim.command('let retval = -1')
- else:
- if glob.glob(filepattern):
- for filename in glob.glob(filepattern):
- os.remove(filename)
- else:
- vim.command('let retval = -1')
-
-# }}}
-# vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
diff --git a/.vim/ftplugin/latex-suite/smartspace.vim b/.vim/ftplugin/latex-suite/smartspace.vim
deleted file mode 100644
index 07526d8..0000000
--- a/.vim/ftplugin/latex-suite/smartspace.vim
+++ /dev/null
@@ -1,102 +0,0 @@
-"=============================================================================
-" File: smartspace.vim
-" Author: Carl Muller
-" Created: Fri Dec 06 12:00 AM 2002 PST
-"
-" Description:
-" Maps the <space> key in insert mode so that mathematical formulaes are
-" always kept on the same line. i.e, $$'s dont get broken across multiple
-" lines.
-"=============================================================================
-
-" Avoid reinclusion or if the user doesn't want us.
-if exists('b:done_smartspace')
- \ || (exists('g:Tex_SmartKeySpace') && !g:Tex_SmartKeySpace)
- finish
-endif
-let b:done_smartspace = 1
-
-" Smart space relies on taking over vim's insertion of carriage returns in
-" order to keep $$'s on the same line. The only way to get vim not to break
-" lines is to set tw=0.
-"
-" NOTE: setting tw != 0 will break smartspace
-" the user's 'tw' setting is still respected in the insert mode.
-" However, normal mode actions which rely on 'tw' such as gqap will be
-" broken because of the faulty 'tw' setting.
-let b:tw = &l:tw
-setlocal tw=0
-
-inoremap <buffer> <silent> <Space> <Space><Esc>:call <SID>TexFill(b:tw)<CR>a
-
-" Do not redefine the function.
-if exists('*s:TexFill')
- finish
-endif
-
-" TexFormatLine: format line retaining $$'s on the same line. {{{
-function! s:TexFill(width)
- if a:width != 0 && col(".") > a:width
- " For future use, record the current line and the number of the current column
- let current_line = getline(".")
- let current_column = col(".")
- exe "normal! a##\<Esc>"
- call <SID>TexFormatLine(a:width,current_line,current_column)
- exe "normal! ?##\<CR>2s\<Esc>"
- " Remove ## from the search history.
- call histdel("/", -1)|let @/=histget("/", -1)
- endif
-endfunction
-
-" }}}
-function! s:TexFormatLine(width, current_line, current_column) " {{{
- " get the first non-blank character.
- let first = matchstr(getline('.'), '\S')
- normal! $
- let length = col('.')
- let go = 1
- while length > a:width+2 && go
- let between = 0
- let string = strpart(getline('.'), 0, a:width)
- " Count the dollar signs
- let number_of_dollars = 0
- let evendollars = 1
- let counter = 0
- while counter <= a:width-1
- " Pay attention to '$$'.
- if string[counter] == '$' && string[counter-1] != '$'
- let evendollars = 1 - evendollars
- let number_of_dollars = number_of_dollars + 1
- endif
- let counter = counter + 1
- endwhile
- " Get ready to split the line.
- exe 'normal! ' . (a:width + 1) . '|'
- if evendollars
- " Then you are not between dollars.
- exe "normal! ?\\$\\+\\| \<CR>W"
- else
- " Then you are between dollars.
- normal! F$
- if col(".") == 1 || getline('.')[col(".")-1] != "$"
- let go = 0
- endif
- endif
- if first == '$' && number_of_dollars == 1
- let go = 0
- else
- exe "normal! i\<CR>\<Esc>$"
- " get the first non-blank character.
- let first = matchstr(getline('.'), '\S')
- endif
- let length = col(".")
- endwhile
- if go == 0 && strpart(a:current_line, 0, a:current_column) =~ '.*\$.*\$.*'
- exe "normal! ^f$a\<CR>\<Esc>"
- call <SID>TexFormatLine(a:width, a:current_line, a:current_column)
- endif
-endfunction
-
-" }}}
-
-" vim:fdm=marker:ts=4:sw=4:noet
diff --git a/.vim/ftplugin/latex-suite/templates.vim b/.vim/ftplugin/latex-suite/templates.vim
deleted file mode 100644
index e28e429..0000000
--- a/.vim/ftplugin/latex-suite/templates.vim
+++ /dev/null
@@ -1,149 +0,0 @@
-"=============================================================================
-" File: templates.vim
-" Author: Gergely Kontra
-" (minor modifications by Srinath Avadhanula)
-" (plus other modifications by Mikolaj Machowski)
-" Version: 1.0
-" Created: Tue Apr 23 05:00 PM 2002 PST
-" CVS: $Id: templates.vim 1002 2006-03-23 04:02:21Z srinathava $
-"
-" Description: functions for handling templates in latex-suite/templates
-" directory.
-"=============================================================================
-
-let s:path = expand("<sfile>:p:h")
-
-" SetTemplateMenu: sets up the menu for templates {{{
-function! <SID>SetTemplateMenu()
- let flist = Tex_FindInRtp('', 'templates')
- let i = 1
- while 1
- let fname = Tex_Strntok(flist, ',', i)
- if fname == ''
- break
- endif
- exe "amenu ".g:Tex_TemplatesMenuLocation."&".i.":<Tab>".fname." ".
- \":call <SID>ReadTemplate('".fname."')<CR>"
- let i = i + 1
- endwhile
-endfunction
-
-if g:Tex_Menus
- call <SID>SetTemplateMenu()
-endif
-
-" }}}
-" ReadTemplate: reads in the template file from the template directory. {{{
-function! <SID>ReadTemplate(...)
- if a:0 > 0
- let filename = a:1
- else
- let filelist = Tex_FindInRtp('', 'templates')
- let filename =
- \ Tex_ChooseFromPrompt("Choose a template file:\n" .
- \ Tex_CreatePrompt(filelist, 2, ',') .
- \ "\nEnter number or name of file :",
- \ filelist, ',')
- endif
-
- let fname = Tex_FindInRtp(filename.'.tex', 'templates', ':p')
- call Tex_Debug("0read ".fname, 'templates')
-
- silent! exe "0read ".fname
-
- " The first line of the file contains the specifications of what the
- " placeholder characters and the other special characters are.
- let pattern = '\v(\S+)\t(\S+)\t(\S+)\t(\S+)'
-
- let s:phsTemp = substitute(getline(1), pattern, '\1', '')
- let s:pheTemp = substitute(getline(1), pattern, '\2', '')
- let s:exeTemp = substitute(getline(1), pattern, '\3', '')
- let s:comTemp = substitute(getline(1), pattern, '\4', '')
-
- 0 d_
-
- call s:ProcessTemplate()
- call Tex_pack_updateall(1)
-
- " Do not handle the placeholders here. Let IMAP_PutTextWithMovement do it
- " because it handles UTF-8 character substitutions etc. Therefore delete
- " the text into @a and paste it using IMAP_PutTextWithMovement().
- let _a = @a
- normal! ggVG"ax
-
- let _fo = &fo
- " Since IMAP_PutTextWithMovement simulates the key-presses, leading
- " indendatation can get duplicated in strange ways if ``fo`` is non-empty.
- " NOTE: the indentexpr thingie is still respected with an empty fo so that
- " environments etc are properly indented.
- set fo=
-
- call Tex_Debug("normal! i\<C-r>=IMAP_PutTextWithMovement(@a, '".s:phsTemp."', '".s:pheTemp."')\<CR>", 'templates')
- exec "normal! i\<C-r>=IMAP_PutTextWithMovement(@a, '".s:phsTemp."', '".s:pheTemp."')\<CR>"
-
- let &fo = _fo
- let @a = _a
-
- call Tex_Debug('phs = '.s:phsTemp.', phe = '.s:pheTemp.', exe = '.s:exeTemp.', com = '.s:comTemp, 'templates')
-
-endfunction
-
-" }}}
-" ProcessTemplate: processes the special characters in template file. {{{
-" This implementation follows from Gergely Kontra's
-" mu-template.vim
-" http://vim.sourceforge.net/scripts/script.php?script_id=222
-function! <SID>ProcessTemplate()
- if exists('s:phsTemp') && s:phsTemp != ''
-
- exec 'silent! %s/^'.s:comTemp.'\(\_.\{-}\)'.s:comTemp.'$/\=<SID>Compute(submatch(1))/ge'
- exec 'silent! %s/'.s:exeTemp.'\(.\{-}\)'.s:exeTemp.'/\=<SID>Exec(submatch(1))/ge'
- exec 'silent! g/'.s:comTemp.s:comTemp.'/d'
-
- " A function only puts one item into the search history...
- call Tex_CleanSearchHistory()
- endif
-endfunction
-
-function! <SID>Exec(what)
- exec 'return '.a:what
-endfunction
-
-" Back-Door to trojans !!!
-function! <SID>Compute(what)
- exe a:what
- if exists('s:comTemp')
- return s:comTemp.s:comTemp
- else
- return ''
- endif
-endfunction
-
-" }}}
-" Command definitions {{{
-if v:version >= 602
- com! -complete=custom,Tex_CompleteTemplateName -nargs=? TTemplate :call <SID>ReadTemplate(<f-args>)
- \| :startinsert
-
- " Tex_CompleteTemplateName: for completing names in TTemplate command {{{
- " Description: get list of template names with Tex_FindInRtp(), remove full path
- " and return list of names separated with newlines.
- "
- function! Tex_CompleteTemplateName(A,P,L)
- " Get name of macros from all runtimepath directories
- let tmplnames = Tex_FindInRtp('', 'templates')
- " Separate names with \n not ,
- let tmplnames = substitute(tmplnames,',','\n','g')
- return tmplnames
- endfunction
- " }}}
-
-else
- com! -nargs=? TTemplate :call <SID>ReadTemplate(<f-args>)
- \| :startinsert
-
-endif
-
-" }}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/templates/IEEEtran.tex b/.vim/ftplugin/latex-suite/templates/IEEEtran.tex
deleted file mode 100644
index 104f9b2..0000000
--- a/.vim/ftplugin/latex-suite/templates/IEEEtran.tex
+++ /dev/null
@@ -1,142 +0,0 @@
-<+ +> !comp! !exe!
-%% Based on <bare_jrnl.tex> in the ieee package available from CTAN,
-%% I have changed the options so that most useful ones are clubbed together,
-%% Have a look at <bare_jrnl.tex> to understand the function of each package.
-
-%% This code is offered as-is - no warranty - user assumes all risk.
-%% Free to use, distribute and modify.
-
-% *** Authors should verify (and, if needed, correct) their LaTeX system ***
-% *** with the testflow diagnostic prior to trusting their LaTeX platform ***
-% *** with production work. IEEE's font choices can trigger bugs that do ***
-% *** not appear when using other class files. ***
-% Testflow can be obtained at:
-% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/testflow
-
-% File: !comp!expand("%:p:t")!comp!
-% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-%
-\documentclass[journal]{IEEEtran}
-
-\usepackage{cite, graphicx, subfigure, amsmath}
-\interdisplaylinepenalty=2500
-
-% *** Do not adjust lengths that control margins, column widths, etc. ***
-% *** Do not use packages that alter fonts (such as pslatex). ***
-% There should be no need to do such things with IEEEtran.cls V1.6 and later.
-
-<++>
-% correct bad hyphenation here
-\hyphenation{<+op-tical net-works semi-conduc-tor+>}
-
-
-\begin{document}
-%
-% paper title
-\title{<+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>}
-%
-%
-% author names and IEEE memberships
-% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
-% a structure at a ~ so this keeps an author's name from being broken across
-% two lines.
-% use \thanks{} to gain access to the first footnote area
-% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
-% was not built to handle multiple paragraphs
-\author{<+Sumit Bhardwaj+>~\IEEEmembership{<+Student~Member,~IEEE,+>}
-<+John~Doe+>,~\IEEEmembership{<+Fellow,~OSA,+>}
-<+and~Jane~Doe,+>~\IEEEmembership{<+Life~Fellow,~IEEE+>}}% <-this % stops a space
-\thanks{<+Manuscript received January 20, 2002; revised August 13, 2002.
-This work was supported by the IEEE.+>}% <-this % stops a space
-\thanks{<+S. Bhardwaj is with the Indian Institute of Technology, Delhi.+>}
-%
-% The paper headers
-\markboth{<+Journal of VIM-\LaTeX\ Class Files,~Vol.~1, No.~8,~August~2002+>}{
-<+Bhardwaj \MakeLowercase{\textit{et al.}+>}: <+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>}
-% The only time the second header will appear is for the odd numbered pages
-% after the title page when using the twoside option.
-
-
-% If you want to put a publisher's ID mark on the page
-% (can leave text blank if you just want to see how the
-% text height on the first page will be reduced by IEEE)
-%\pubid{0000--0000/00\$00.00~\copyright~2002 IEEE}
-
-% use only for invited papers
-%\specialpapernotice{(Invited Paper)}
-
-% make the title area
-\maketitle
-
-
-\begin{abstract}
-<+The abstract goes here.+>
-\end{abstract}
-
-\begin{keywords}
-<+IEEEtran, journal, \LaTeX, paper, template, VIM, VIM-\LaTeX+>.
-\end{keywords}
-
-\section{Introduction}
-\PARstart{<+T+>}{<+his+>} <+demo file is intended to serve as a ``starter file"
-for IEEE journal papers produced under \LaTeX\ using IEEEtran.cls version
-1.6 and later.+>
-% You must have at least 2 lines in the paragraph with the drop letter
-% (should never be an issue)
-<+May all your publication endeavors be successful.+>
-
-% needed in second column of first page if using \pubid
-%\pubidadjcol
-
-% trigger a \newpage just before the given reference
-% number - used to balance the columns on the last page
-% adjust value as needed - may need to be readjusted if
-% the document is modified later
-%\IEEEtriggeratref{8}
-% The "triggered" command can be changed if desired:
-%\IEEEtriggercmd{\enlargethispage{-5in}}
-
-% references section
-
-%\bibliographystyle{IEEEtran.bst}
-%\bibliography{IEEEabrv,../bib/paper}
-\begin{thebibliography}{1}
-
-\bibitem{IEEEhowto:kopka}
-H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus
-0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999.
-
-\end{thebibliography}
-
-% biography section
-%
-\begin{biography}{Sumit Bhardwaj}
-Biography text here.
-\end{biography}
-
-% if you will not have a photo
-\begin{biographynophoto}{John Doe}
-Biography text here.
-\end{biographynophoto}
-
-% insert where needed to balance the two columns on the last page
-%\newpage
-
-\begin{biographynophoto}{Jane Doe}
-Biography text here.
-\end{biographynophoto}
-
-% You can push biographies down or up by placing
-% a \vfill before or after them. The appropriate
-% use of \vfill depends on what kind of text is
-% on the last page and whether or not the columns
-% are being equalized.
-
-%\vfill
-
-% Can be used to pull up biographies so that the bottom of the last one
-% is flush with the other column.
-%\enlargethispage{-5in}
-
-\end{document}
diff --git a/.vim/ftplugin/latex-suite/templates/article.tex b/.vim/ftplugin/latex-suite/templates/article.tex
deleted file mode 100644
index ea7e1d1..0000000
--- a/.vim/ftplugin/latex-suite/templates/article.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-<+ +> !comp! !exe!
-% File: !comp!expand("%:p:t")!comp!
-% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-%
-\documentclass[a4paper]{article}
-\begin{document}
-<++>
-\end{document}
diff --git a/.vim/ftplugin/latex-suite/templates/report.tex b/.vim/ftplugin/latex-suite/templates/report.tex
deleted file mode 100644
index 479c7b3..0000000
--- a/.vim/ftplugin/latex-suite/templates/report.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-<+ +> !comp! !exe!
-% File: !comp!expand("%")!comp!
-% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-%
-\documentclass[a4paper]{report}
-\begin{document}
-<++>
-\end{document}
diff --git a/.vim/ftplugin/latex-suite/templates/report_two_column.tex b/.vim/ftplugin/latex-suite/templates/report_two_column.tex
deleted file mode 100644
index 15bd95e..0000000
--- a/.vim/ftplugin/latex-suite/templates/report_two_column.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-<+ +> !comp! !exe!
-% File: !comp!expand("%:p:t")!comp!
-% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
-%
-\documentclass[a4paper,twocolumn]{report}
-\begin{document}
-<++>
-\end{document}
diff --git a/.vim/ftplugin/latex-suite/texmenuconf.vim b/.vim/ftplugin/latex-suite/texmenuconf.vim
deleted file mode 100644
index 405e46a..0000000
--- a/.vim/ftplugin/latex-suite/texmenuconf.vim
+++ /dev/null
@@ -1,131 +0,0 @@
-"=============================================================================
-" File: texmenuconf.vim
-" Author: Srinath Avadhanula
-" Copyright: Vim charityware license. :help license
-" Description:
-" CVS: $Id: texmenuconf.vim 997 2006-03-20 09:45:45Z srinathava $
-"
-"=============================================================================
-
-" Paths, crucial for functions
-let s:path = expand("<sfile>:p:h")
-let s:up_path = expand("<sfile>:p:h:h")
-let s:mainmenuname = g:Tex_MenuPrefix.'S&uite.'
-let s:mapleader = exists('mapleader') ? mapleader : "\\"
-
-" This glboal variable is incremented each time a top-level latex-suite menu
-" is created. We should always use this variable for setting the locations of
-" newly created top-level menus.
-let g:Tex_NextMenuLocation = g:Tex_MainMenuLocation
-
-" The templates and macros menus are always nested within the main latex-suit
-" menu.
-let g:Tex_TemplatesMenuLocation = g:Tex_MainMenuLocation.'.20 '.s:mainmenuname.'&Templates.'
-let g:Tex_MacrosMenuLocation = g:Tex_MainMenuLocation.'.20 '.s:mainmenuname.'&Macros.'
-
-" The packages menu can either be a child of the main menu or be a top-level
-" menu by itself.
-if g:Tex_NestPackagesMenu
- let g:Tex_PackagesMenuLocation = (g:Tex_MainMenuLocation).'.10 '.s:mainmenuname.'&Packages.'
-else
- let g:Tex_PackagesMenuLocation = (g:Tex_NextMenuLocation).'.10 '.g:Tex_MenuPrefix.'Packages.'
- let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1
-endif
-
-" Environments are always a top-level menu.
-let g:Tex_EnvMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix.'E&nvironments.'
-let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1
-
-" Elements are always a top-level menu.
-" If we choose to nest elements, then the top-level &TeX-Elements menu
-" contains <Fonts / Counters / Dimensions>
-" otherwise, the Fonts, Counters and Dimensions menus become top-level menus.
-if g:Tex_NestElementMenus
- let g:Tex_ElementsMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix.'E&lements.'
-else
- let g:Tex_ElementsMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix
-endif
-let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1
-
-
-" Set up the compiler/viewer menus. {{{
-"
-if has('gui_running') && g:Tex_Menus
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.25 '. s:mainmenuname.'-sepsuite0- :'
-
- " menus for compiling / viewing etc.
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.30 '.s:mainmenuname.'&Compile<tab>'.s:mapleader.'ll'.
- \' :silent! call Tex_RunLaTeX()<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.40 '.s:mainmenuname.'&View<tab>'.s:mapleader.'lv'.
- \' :silent! call Tex_ViewLaTeX()<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.50 '.s:mainmenuname.'&Search<tab>'.s:mapleader.'ls'.
- \' :silent! call ForwardSearchLaTeX()<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.60 '.s:mainmenuname.'&Target\ Format<tab>:TTarget'.
- \' :call SetTeXTarget()<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.70 '.s:mainmenuname.'&Compiler\ Target<tab>:TCTarget'.
- \' :call Tex_SetTeXCompilerTarget("Compile", "")<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.80 '.s:mainmenuname.'&Viewer\ Target<tab>:TVTarget'.
- \' :call Tex_SetTeXCompilerTarget("View", "")<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.90 '.s:mainmenuname.'Set\ &Ignore\ Level<tab>:TCLevel'.
- \' :TCLevel<CR>'
- exec 'imenu '.g:Tex_MainMenuLocation.'.100 '.s:mainmenuname.'C&omplete\ Ref/Cite'.
- \' <Plug>Tex_Completion'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.110 '.s:mainmenuname.'-sepsuite1- :'
- " refreshing folds
- if g:Tex_Folding
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.120 '.s:mainmenuname.'&Refresh\ Folds<tab>'.s:mapleader.'rf'.
- \' :call MakeTexFolds(1)<CR>'
- exec 'anoremenu '.g:Tex_MainMenuLocation.'.130 '.s:mainmenuname.'-sepsuite2- :'
- endif
-endif
-
-" }}}
-
-" ==============================================================================
-" MenuConf: configure the menus as compact/extended, with/without math
-" ==============================================================================
-function! Tex_MenuConfigure(type, action) " {{{
- let menuloc = s:mainmenuname.'Configure\ Menu.'
- if a:type == 'math'
- if a:action == 1
- let g:Tex_MathMenus = 1
- exe 'so '.s:path.'/mathmacros.vim'
- exe 'amenu disable '.menuloc.'Add\ Math\ Menu'
- exe 'amenu enable '.menuloc.'Remove\ Math\ Menu'
- elseif a:action == 0
- call Tex_MathMenuRemove()
- exe 'amenu enable '.menuloc.'Add\ Math\ Menu'
- exe 'amenu disable '.menuloc.'Remove\ Math\ Menu'
- endif
- elseif a:type == 'elements'
- if a:action == 'expand'
- let g:Tex_ElementsMenuLocation = '80.20 '.g:Tex_MenuPrefix
- exe 'amenu disable '.menuloc.'Expand\ Elements'
- exe 'amenu enable '.menuloc.'Compress\ Elements'
- elseif a:action == 'nest'
- let g:Tex_ElementsMenuLocation = '80.20 '.g:Tex_MenuPrefix.'Elements.'
- exe 'amenu enable '.menuloc.'Expand\ Elements'
- exe 'amenu disable '.menuloc.'Compress\ Elements'
- endif
- exe 'source '.s:path.'/elementmacros.vim'
- elseif a:type == 'packages'
- if a:action == 1
- let g:Tex_PackagesMenu = 1
- exe 'so '.s:path.'/packages.vim'
- exe 'amenu disable '.menuloc.'Load\ Packages\ Menu'
- endif
- endif
-endfunction
-
-" }}}
-
-" configuration menu.
-if g:Tex_Menus
- exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Add\ Math\ Menu :call Tex_MenuConfigure("math", 1)<cr>'
- exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Remove\ Math\ Menu :call Tex_MenuConfigure("math", 0)<cr>'
- exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Expand\ Elements :call Tex_MenuConfigure("elements", "expand")<cr>'
- exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Compress\ Elements :call Tex_MenuConfigure("elements", "nest")<cr>'
- exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Load\ Packages\ Menu :call Tex_MenuConfigure("packages", 1)<cr>'
-endif
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/texproject.vim b/.vim/ftplugin/latex-suite/texproject.vim
deleted file mode 100644
index bed9ed3..0000000
--- a/.vim/ftplugin/latex-suite/texproject.vim
+++ /dev/null
@@ -1,54 +0,0 @@
-"=============================================================================
-" File: texproject.vim
-" Author: Mikolaj Machowski
-" Version: 1.0
-" Created: Wen Apr 16 05:00 PM 2003
-"
-" Description: Handling tex projects.
-"=============================================================================
-
-let s:path = expand("<sfile>:p:h")
-
-command! -nargs=0 TProjectEdit :call <SID>Tex_ProjectEdit()
-
-" Tex_ProjectEdit: Edit project file " {{{
-" Description: If project file exists (*.latexmain) open it in window created
-" with ':split', if no create ':new' window and read there
-" project template
-"
-function! s:Tex_ProjectEdit()
-
- let file = expand("%:p")
- let mainfname = Tex_GetMainFileName()
- if glob(mainfname.'.latexmain') != ''
- exec 'split '.Tex_EscapeSpaces(mainfname.'.latexmain')
- else
- echohl WarningMsg
- echomsg "Master file not found."
- echomsg " :help latex-master-file"
- echomsg "for more information"
- echohl None
- endif
-
-endfunction " }}}
-" Tex_ProjectLoad: loads the .latexmain file {{{
-" Description: If a *.latexmain file exists, then sources it
-function! Tex_ProjectLoad()
- let curd = getcwd()
- call Tex_CD(expand('%:p:h'))
-
- if glob(Tex_GetMainFileName(':p').'.latexmain') != ''
- call Tex_Debug("Tex_ProjectLoad: sourcing [".Tex_GetMainFileName().".latexmain]", "proj")
- exec 'source '.Tex_GetMainFileName().'.latexmain'
- endif
-
- call Tex_CD(curd)
-endfunction " }}}
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug("texproject.vim: catching LatexSuiteFileType event", "proj") |
- \ call Tex_ProjectLoad()
-augroup END
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/texrc b/.vim/ftplugin/latex-suite/texrc
deleted file mode 100644
index 79068a8..0000000
--- a/.vim/ftplugin/latex-suite/texrc
+++ /dev/null
@@ -1,738 +0,0 @@
-"=============================================================================
-" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:ff=unix
-" File: texrc.vim
-" Author: Srinath Avadhanula
-" Created: Mon Apr 01 11:00 AM 2002 PST
-" CVS: $Id: texrc 998 2006-03-20 09:52:12Z srinathava $
-"
-" Description: This file contains resource configuration information for the
-" latex-suite package.
-"
-" NOTE: Do NOT be edit this file directly:
-" this file will be over-written each time you install a new copy
-" of latex-suite.
-"
-" You can do one of the following:
-" 1. Copy this file into $VIMFILES/ftplugin/tex/texrc
-" and edit the values in that file.
-" $VIMFILES is ~/.vim for UNIX systems and ~/vimfiles for
-" WINDOWS systems.
-"
-" 2. Just set values of each setting individually in your
-" $VIMFILES/ftplugin/tex.vim file. (See above for what
-" $VIMFILES is). You will need to use :let instead of :TexLet
-" in this case.
-"
-" NOTE: This file is best viewed with Vim-6.0+ with folding turned on.
-" CVS: $Id: texrc 998 2006-03-20 09:52:12Z srinathava $
-"=============================================================================
-
-" ==============================================================================
-" SafeLet: checks for value before giving default value {{{
-" Description: The function takes in a single argument and splits it into 2
-" parts, the first being the first <CWORD> found. this is taken
-" as a variable name and the next part is assigned to it
-" depending on whether the variable already exists or not.
-" handles the case where the next part is quoted or not.
-" All these calls work:
-" TexLet g:varname = 1
-" TexLet g:varname = '1'
-" TexLet g:varname = 'foo bar'
-" TexLet g:varname = "foo\nbar"
-" TexLet g:varname = foo bar
-function! <SID>SafeLet(arg)
- let name = matchstr(a:arg, '^\s*\zs\(\S\+\)\ze\s*=')
- let value = matchstr(a:arg, '=\s*\zs.*\ze')
- let value = substitute(value, '\s*$', '', '')
- if !exists(name)
- if value =~ "^'\\|^\""
- exec "let ".name." = ".value
- else
- exe "let ".name." = value"
- endif
- endif
-endfunction
-com! -nargs=+ TexLet :call <SID>SafeLet(<q-args>)
-" }}}
-" ==============================================================================
-
-" ==============================================================================
-" General settings {{{
-
-TexLet g:Tex_UsePython = 1
-
-" the system command which pulls in a file.
-if &shell =~ 'sh'
- TexLet g:Tex_CatCmd = 'cat'
- TexLet g:Tex_RmCmd = 'rm'
-else
- TexLet g:Tex_CatCmd = 'type'
- TexLet g:Tex_RmCmd = 'del'
-endif
-
-" whether to turn on debugging
-TexLet g:Tex_Debug = 0
-" If non empty, all the debugging information will be written to a file of
-" this name.
-TexLet g:Tex_DebugLog = ''
-
-" }}}
-" ==============================================================================
-" Rules: specifications of programs for compiling and viewing {{{
-"
-
-" By default, when you compile a tex file using \ll, then you will be
-" generating a .dvi file. Change this line if you want to set another default.
-" NOTE: Make sure that a target for this format exists in the 'Compiler rules'
-" section below and is set up properly for your system.
-if has('macunix')
- TexLet g:Tex_DefaultTargetFormat = 'pdf'
-else
- TexLet g:Tex_DefaultTargetFormat = 'dvi'
-endif
-
-" A comma seperated list of formats which need multiple compilations to be
-" correctly compiled.
-TexLet g:Tex_MultipleCompileFormats = 'dvi'
-
-" Uncomment this line if you compile ps files via dvi files.
-" TexLet g:Tex_FormatDependency_ps = 'dvi,ps'
-
-" ------------------------------------------------------------------------------
-" Compiler rules {{{
-" This is the first thing you should customize. It is set up for most common
-" values, but if use some other compiler, then you will want to change this.
-" As CompileFlags value you'd perhaps like to use, e.g., '-src-specials',
-" but it is known that it can sometimes give different results in the output,
-" so use it with care.
-TexLet g:Tex_CompileRule_dvi = 'latex -interaction=nonstopmode $*'
-TexLet g:Tex_EscapeChars = '{}\'
-
-TexLet g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
-
-" ways to generate pdf files. there are soo many...
-" NOTE: pdflatex generates the same output as latex. therefore quickfix is
-" possible.
-TexLet g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*'
-
-" TexLet g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
-" TexLet g:Tex_CompileRule_pdf = 'dvipdfm $*.dvi'
-" TexLet g:Tex_CompileRule_pdf = 'dvipdf $*.dvi'
-
-TexLet g:Tex_CompileRule_html = 'latex2html $*.tex'
-
-TexLet g:Tex_CompileRule_bib = g:Tex_BibtexFlavor . ' $*'
-
-" Set Tex_UseMakefile to 0 if you want to ignore the presence of a Makefile
-" when deciding how to compile
-TexLet g:Tex_UseMakefile = 1
-
-" }}}
-" ------------------------------------------------------------------------------
-" Viewer rules {{{
-" these programs are for viewing other formats.
-" NOTE: latex-suite will automatically append file.<format> to these functions
-" when calling them. The viewer therefore cannot accept arguments after
-" the filename.
-" NOTE: Windows users:
-" Set your $PATH variable to include the full path to these programs.
-if has('win32')
- TexLet g:Tex_ViewRule_ps = 'gsview32'
- TexLet g:Tex_ViewRule_pdf = 'AcroRd32'
- TexLet g:Tex_ViewRule_dvi = 'yap -1'
-elseif has('macunix')
- " Let the system pick. If you want, you can override the choice here.
- TexLet g:Tex_ViewRule_ps = ''
- TexLet g:Tex_ViewRule_pdf = ''
- " TexLet g:Tex_ViewRule_pdf = 'Acrobat\ Reader\ 5.1'
- TexLet g:Tex_ViewRule_dvi = ''
-else
- TexLet g:Tex_ViewRule_ps = 'ghostview'
- TexLet g:Tex_ViewRule_pdf = 'xpdf'
- TexLet g:Tex_ViewRule_dvi = 'xdvi'
- " the option below specifies an editor for the dvi viewer while starting
- " up the dvi viewer according to Dimitri Antoniou's tip on vim.sf.net (tip
- " #225)
- TexLet g:Tex_UseEditorSettingInDVIViewer = 0
-endif
-
-" Tex_ViewRuleComplete_{format}
-"
-" If a variable like this is specified, then it takes precedence over the
-" variable with the same suffix defined above. i.e, Tex_ViewRuleComplete_dvi
-" takes precedence over Tex_ViewRule_dvi.
-"
-" If only Tex_ViewRule_{format} is specified, then latex-suite constructs the
-" actual system command which calls that program automatically. For example,
-" if you specify Tex_ViewRule_dvi = 'kdvi', then latex-suite will issue the
-" command
-" !kdvi --unique file.dvi &
-"
-" However, if your viewer program accepts the file to be viewed in a way which
-" doesn't fit with the way latex-suite constructs the system command, then
-" specify it using this variable. You can use the same format here which
-" 'makeprg' accepts. So $* can be used in place of the main file name.
-"
-" IMPORTANT: Make sure you make the process go into the background otherwise
-" vim will wait for the viewer to terminate before letting you edit
-" the file again.
-"
-" Example:
-" Suppose you have a latex->html converter which converts a file say foo.tex
-" to a file foo/index.html. Then you would use:
-"
-" let g:Tex_ViewRuleComplete_html = 'MozillaFirebird $*/index.html &'
-"
-" Doing something like this would not be possible using Tex_ViewRule_html
-TexLet g:Tex_ViewRuleComplete_dvi = ''
-
-" }}}
-" ------------------------------------------------------------------------------
-" }}}
-" ==============================================================================
-" Compiler: latex-suite comes with a customizable compiler plugin. {{{
-" :help latex-compiling for a detailed description of these options.
-"
-" this is the list of patterns which will be ignored from the compiler output.
-" This is a handy way of specifying which warnings/errors to ignore. This is a
-" list of patterns seperated by '¡'
-TexLet g:Tex_IgnoredWarnings =
- \'Underfull'."\n".
- \'Overfull'."\n".
- \'specifier changed to'."\n".
- \'You have requested'."\n".
- \'Missing number, treated as zero.'."\n".
- \'There were undefined references'."\n".
- \'Citation %.%# undefined'
-
-" the 'ignore level' of the 'efm'. A value of 4 says that the first 4 kinds of
-" warnings in the list above will be ignored. Use the command TCLevel to set a
-" level dynamically.
-TexLet g:Tex_IgnoreLevel = 7
-
-" NOTE: The values of g:Tex_Flavor and g:Tex_CompilerFlags are provided as a
-" way to make compiler/tex.vim standalone. i.e independent of the rest
-" of latex-suite. These variables are NOT used if you have already
-" defined g:Tex_CompileRule_dvi above.
-"
-" specifies the current latex flavor.
-TexLet g:Tex_Flavor = 'latex'
-
-" specifies the BibTeX flavor and if necessary options. If you use $* in this
-" setting, it will be replaced by the *root* of the main file name, i.e, if
-" the main file is "thesis.tex", $* will be "thesis".
-TexLet g:Tex_BibtexFlavor = 'bibtex'
-
-" specifies the MakeIndedx flavor and if necessary options. $* will be
-" replaced by the *root* of the main file name. See above.
-TexLet g:Tex_MakeIndexFlavor = 'makeindex $*.idx'
-
-" By default the program described by g:Tex_Flavor above is called with the
-" flags '--src-specials --interaction=nonstopmode'. If your particular version
-" of latex does not accept these arguments, you will need to set this variable
-" to the appropriate value.
-" NOTE: leave commented for using the default flags.
-" TODO: Is it necessary (or even desirable) to use 2 variables to specify a
-" flavor and flags seperately? --SA
-" TexLet g:Tex_CompilerFlags = ''
-
-" If disabled (set to 0) LaTeX-Suite doesn't go immediately to warnings or
-" errors after compilation
-TexLet g:Tex_GotoError = 1
-
-" If set to 1, then latex-suite shows the context of the error in a preview
-" window beneath the window showing the actual errors.
-TexLet g:Tex_ShowErrorContext = 1
-
-" Remove temp files created during part compilations when vim exits.
-TexLet g:Tex_RemoveTempFiles = 1
-
-" }}}
-" ==============================================================================
-" Project: how to deal with multi file projects via latex-suite {{{
-
-" Use a valid vim expression here if you want to customize the way latex-suite
-" searches for a master file from within another file.
-TexLet g:Tex_MainFileExpression = ''
-
-" }}}
-" ==============================================================================
-" Macros: latex-suite comes with a large number of macros to speed up typing {{{
-" latex.
-"
-" Place Holder Options: {{{
-" (See |placeholders| for a description of what place-holders are).
-"
-" these options are actually used by imaps.vim, therefore the prefix is Imap_
-" and not Tex_. See |placeholders| for a description of how to use
-" place-holders. You can either completely disable placeholders (not
-" recommended) and/or you can change the place holder characters.
-
-TexLet g:Imap_UsePlaceHolders = 1
-TexLet g:Imap_PlaceHolderStart = '<+'
-TexLet g:Imap_PlaceHolderEnd = '+>'
-
-" This option when set to 1 makes <C-J> in insert mode delete
-" non-descriptive (empty) placeholders and enters insert mode.
-" NOTE: This option _has_ to be set in the .vimrc. Setting this in a filetype
-" plugin file such as ftplugin/tex.vim will not have any affect.
-TexLet g:Imap_DeleteEmptyPlaceHolders = 0
-
-" When set to 1, in visual mode, <C-J> takes you to the next placeholder
-" without deleting the current placeholder.
-" NOTE: This option _has_ to be set in the .vimrc. Setting this in a filetype
-" plugin file such as ftplugin/tex.vim will not have any affect.
-TexLet g:Imap_StickyPlaceHolders = 1
-
-
-" }}}
-" Menu Wizard Option: {{{
-" If the following variable is set to 1, then when an enviroment is chosen
-" from the menu then for selected environments, latex-suite asks a series of
-" questions on the command line and inserts a template with the corresponding
-" fields already filled in.
-" Setting this to zero will insert a template with |placeholders| marking off
-" the places where fields need to be filled.
-TexLet g:Tex_UseMenuWizard = 0
-
-" }}}
-" Visual Mode Mapping Correction: {{{
-" With so many visual maps, its helpful to have a way of catching typing
-" errors made in visual mode. What this does is to prompt you to correct your
-" visual mode mapping if you start out with g:Tex_Leader and then type some
-" illegal keys.
-" It basically maps just the g:Tex_Leader character to a function
-TexLet g:Tex_CatchVisMapErrors = 1
-
-" }}}
-" Diacritics: {{{
-" whether or not you want to use diacritics
-" (diacritics speed up typing some languages. the way they are set up in
-" latex-suite is
-" =char> = \'{<char>}
-" +char> = \v{<char>}
-" +} = \"a
-" :o = \^o
-" Default: 0
-TexLet g:Tex_Diacritics = 0
-
-" }}}
-" Leader Options: {{{
-" The mappings in latex-suite are by default prefixed with the back-tick
-" character. For example, `/ inserts \frac{<++>}{<++>}<++> etc. You can change the
-" prefix with the following setting.
-" ',', '/', '`' are preferred values. '' or '\' will lead to a _lot_ of
-" trouble.
-" g:Tex_Leader is also used for visual mode mappings for fonts.
-TexLet g:Tex_Leader = '`'
-
-" In order to avoid ambiguity between the large number of visual mode macros
-" provided, the visual mode macros for environments and sections start with a
-" character different from '`'.
-TexLet g:Tex_Leader2 = ','
-
-" }}}
-" Environment Macros: {{{
-" These mappings insert LaTeX "environments" such as
-" \begin{center}
-" <++>
-" \end{center}<++>
-" with the cursor left at the first place-holder.
-" (See |placeholders| for what these are.)
-" Mnemonic:
-" 1. All environment mappings begin with 'E'
-" 2. The next two capital letters are (for the common environments) the
-" first 2 letters of the environment name converted into upper case. For
-" example, for the center environment above, use ECE. There are a few
-" necessary exceptions such as:
-" equation --> EEQ
-" eqnarray --> EEA
-" Please see texmaps.vim for the complete list.
-"
-" Along with the insert mode mappings, a set of visual mode mappings is
-" provided which encloses the visually selected region in an environment.
-" These maps are related to the corresponding insert mode mappings by the
-" following rule:
-" EFI --> ,fi
-" and so on. i.e, the leading E becomes '`' and the next 2 letters are small
-" case. Some of the visual mode mappings are sensetive to whether you choose
-" line-wise or character wise. For example, if you choose a word and press
-" `ve, then you get \verb|word|, whereas if you press `ve on a line-wise
-" selection, you get:
-" \begin{verbatim}
-" line
-" \end{verbatim}
-"
-" these 2 options give finer control on which aspect of the macros you want
-" to enable.
-TexLet g:Tex_EnvironmentMaps = 1
-TexLet g:Tex_EnvironmentMenus = 1
-
-
-" }}}
-" Font Macros: {{{
-" These mappings insert font descriptions such as:
-" \textsf{<++>}<++>
-" again with the cursor at the first place-holder.
-" Mnemonic:
-" 1. first letter is always F (F for font)
-" 2. next 2 letters are the 2 letters describing the font.
-"
-" Example: the above mapping is triggered by FSF.
-"
-" Just like environment mappings, you can visually select an area and press
-" `sf to have it enclosed in:
-" \textsf{word}
-" or
-" {\sffamily
-" line
-" }
-" depending on character-wise or line-wise selection.
-TexLet g:Tex_FontMaps = 1
-TexLet g:Tex_FontMenus = 1
-
-" }}}
-" Section Macros: {{{
-" Inserts LaTeX sections:
-" \section
-" etc. Just as in the case of environments and fonts, can be enclosed with a
-" visual selection. The enclosing is not sensetive to character or line-wise
-" selection.
-" NOTE: In visual mode, you are supposed to select the name of the section
-" etc, not the whole section.
-" In the following case, select just the first line, not lines 1-3.
-" 1 section name
-" 2 some lines in this section
-" 3 and some more lines
-" Mnemonic: (make your own!)
-" SPA for part
-" SCH for chapter
-" SSE for section
-" SSS for subsection
-" SS2 for subsubsection
-" SPG for paragraph
-" SSP for subparagraph
-TexLet g:Tex_SectionMaps = 1
-TexLet g:Tex_SectionMenus = 1
-
-" }}}
-" Auctex Style Mappings: {{{
-" Auctex.vim has heavily inspired various portions of latex-suite providing
-" various new ways of conviniently inserting environments.
-"
-" If you press <F5> in the insert mode while on an empty line, latex-suite
-" prompts you with a list of environments you might want to insert. You can
-" either choose one from the list or type in a new environment name.
-" The variable below (which is a comma seperated list of environment names)
-" decides the prompt which latex-suite generates.
-" You can place as many items as you want here. If the environment name is a
-" standard latex environment such as table or figure, then latex-suite will
-" insert a template with additional fields, if not, just a bare bones
-" \begin{env}
-" <++>
-" \end{env}
-" is inserted.
-" \[ and $$ are also recognized.
-" NOTE: Setting this variable to the empty string is a way of leaving the
-" <F5> key unmapped
-
-TexLet g:Tex_PromptedEnvironments =
- \ 'eqnarray*,eqnarray,equation,equation*,\[,$$,align,align*'
-
-" Another quick way of inserting environments is to press one of the shifted
-" function keys from <F1> through <F4>.
-" Each environment in the following list is mapped to a corresponding shifted
-" function key.
-" NOTE: Setting this variable to the empty string is a way of leaving all the
-" shifted function keys untouched by latex-suite.
-" NOTE: Only the first 4 items of the list are used. The rest will be silently
-" ignored.
-" The number of items in this list decides how many shifted function keys are
-" mapped.
-TexLet g:Tex_HotKeyMappings =
- \ 'eqnarray*,eqnarray,bmatrix'
-
-" Similar to above mechanisms works <F7> key. It prompts for command with list
-" of commands from g:Tex_PromptedCommands. There are not HotKeys for commands.
-" It works for commands of style \com{}. Changing of current command is done
-" with <S-F7>
-
-TexLet g:Tex_PromptedCommands =
- \ 'footnote,cite,pageref,label'
-
-" }}}
-" Smart Key Mappings: {{{
-" Latex-suite shites with a number of 'smart' maps, where the behavior of
-" standard keys is modified in a way which makes editing tex files easy.
-
-" Pressing <BS> in insert mode checks to see whether we are just after
-" something like \'{a} and if so, deletes all of it. i.e, diacritics are
-" treated as single characters for backspacing.
-" Setting this to zero will leave the <BS> key unmapped.
-" Default: 1
-TexLet g:Tex_SmartKeyBS = 1
-" The pattern used to detect whether the previous characters comprise a
-" diacritic character. This default pattern detects the standard LaTeX
-" diacritics
-TexLet g:Tex_SmartBSPattern =
- \ '\(' .
- \ "\\\\[\"^'=v]{\\S}" . '\|' .
- \ "\\\\[\"^'=]\\S" . '\|' .
- \ '\\v \S' . '\|' .
- \ "\\\\[\"^'=v]{\\\\[iI]}" . '\|' .
- \ '\\v \\[iI]' . '\|' .
- \ '\\q \S' . '\|' .
- \ '\\-' .
- \ '\)' . "$"
-
-" Pressing " (english double quote) will insert `` or '' by making an
-" intelligent guess about whether we intended to open or close a quote.
-" Default: 1
-TexLet g:Tex_SmartKeyQuote = 1
-
-" Users of other languages might want to change the quote characters to suit
-" their locale. These global values will be ignored if there are buffer-local
-" versions, which may be set in the language-specific package files, such as
-" ftplugin/latex-suite/packages/german
-TexLet g:Tex_SmartQuoteOpen = "``"
-TexLet g:Tex_SmartQuoteClose = "''"
-
-" Latex-suite maps the <space> key in such a way that $ characters are not
-" broken across lines.
-" NOTE: Setting this to 1 has the side-effect of making the 'tw' setting be 0.
-" Default:
-TexLet g:Tex_SmartKeySpace = 0
-
-" Pressing ... (3 dots) results in \ldots outside math mode and \cdots in math
-" mode.
-"
-" TODO: Make it more intelligent within math mode. For example
-" $1+...+3$ should expand to $1+\cdots+n$, whereas $1,...,n$ should expand
-" to $1,\ldots,n$. The amsmath package actually provides a command \dots
-" which does this. Maybe use that if amsmath is detected?
-" Default: 1
-TexLet g:Tex_SmartKeyDot = 1
-
-" }}}
-" Advanced Math: {{{
-" These mappings allow for fast inserting of math constructions
-" brackets, better handling of space in math mode, unfortunately
-" they use <M-> mappings which conflicts with some encodings. This is easy way
-" of turning them off.
-"
-" <M-b> encloses the previous character in \mathbf{}
-" <M-c> is polymorphic as follows:
-" Insert mode:
-" 1. If the previous character is a letter or number, then capitalize it and
-" enclose it in \mathcal{}
-" 2. otherwise insert \cite{}
-" Visual Mode:
-" 1. Enclose selection in \mathcal{}
-" <M-l> is also polymorphic as follows:
-" If the character before typing <M-l> is one of '([{|<q', then do the
-" following:
-" 1. (<M-l> \left(\right
-" similarly for [, |
-" {<M-l> \left\{\right\}
-" 2. <<M-l> \langle\rangle
-" 3. q<M-l> \lefteqn{}
-" otherwise insert \label{}
-" <M-i> inserts \item commands at the current cursor location depending on
-" the surrounding environment. For example, inside itemize, it will
-" insert a simple \item, but within a description, it will insert
-" \item[<+label+>] etc.
-"
-" Default: 1
-TexLet g:Tex_AdvancedMath = 1
-
-" }}}
-
-" }}}
-" ==============================================================================
-" TeX Completion: {{{
-
-" Options for controlling the window sizes of the completion windows {{{
-
-" The height of the window which contains the \label's (when completing a
-" \ref) or bibtex entries (when completing a \cite). This option is used in
-" the newer methods of completing \ref's and \cite's.
-TexLet g:Tex_OutlineWindowHeight = 15
-
-" Options for preview window for ref/cite completion. The next two options
-" are used only when g:Tex_UseOutlineCompletion = 0 or
-" g:Tex_UseCiteCompletionVer2 = 0, i.e, when we use a classic method of
-" completing \refs and \cites.
-" Height of cwindow
-TexLet g:Tex_ViewerCwindowHeight = 5
-" Height of preview window
-TexLet g:Tex_ViewerPreviewHeight = 10
-
-" Options for explorer completion.
-" Height of explorer window
-TexLet g:Tex_ExplorerHeight = 10
-
-" Directory for images. Read |latex-completion-explorer| before changing
-TexLet g:Tex_ImageDir = ''
-
-" }}}
-" Options for completing a \ref {{{
-
-" Whether to use the "outline mode" for displaying the \label's while doing
-" \ref completion. In this mode, each label is displayed within the
-" document element it resides in. The entire thing is folded to ease
-" navigation. Should be easier/faster than the classical mode.
-TexLet g:Tex_UseOutlineCompletion = 1
-
-" This option should be set via the .latexmain file. It should be a newline
-" seperated list of files which make up all the "source" files in the
-" current project. This enables latex-suite to skip the more complicated
-" algorithm of finding the source files by recursively searching for
-" \input'ed files from the |latex-master-file|.
-"
-" Only used when g:Tex_UseOutlineCompletion = 0.
-TexLet g:Tex_ProjectSourceFiles = ''
-
-" Whether latex-suite simply searches for \\label's in all the .tex file
-" found in the current directory or whether it will use a more complex
-" algorithm. This is used only g:Tex_UseOutlineCompletion = 0 and
-" g:Tex_ProjectSourceFiles = ''.
-" See
-" :help Tex_UseSimpleLabelSearch
-" for more information
-TexLet g:Tex_UseSimpleLabelSearch = 0
-
-" }}}
-" Options for completing a \cite'ation {{{
-
-" If set to 1, then the newer way of presenting the bibtex entries is used.
-" Instead of a |cwindow| showing just the keys and a synced |preview|
-" window beneath, show a single window containing a nicely formatted list
-" of bibtex entries. This should be faster and easier to use than the
-" classic mode
-TexLet g:Tex_UseCiteCompletionVer2 = 1
-
-" This is a string which is displayed to the user when he wants to sort or
-" filter the bibtex entries. This string also serves to define acronyms for
-" the various fields of a bibtex entry.
-TexLet g:Tex_BibFieldPrompt =
- \ "Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)\n" .
- \ " [t] title [a] author [b] booktitle \n" .
- \ " [j] journal [y] year [p] bibtype \n" .
- \ " (you can also enter the complete field name) \n"
-
-" Whether or not to display the string above to aid the user in choosing
-" the field to filter/sort with.
-TexLet g:Tex_EchoBibFields = 1
-
-" A setting of this form defines the letter 'a' as standing for the field
-" 'author'. Thus when the user types
-" a ellington
-" when asked to enter a filter, it is equivalent to the user specifying the
-" filter
-" author ellington
-" TexLet g:Tex_BibAcronym_a = 'author'
-
-" Whether or not to use Jabref to complete citations
-" See
-" :help latex-suite-jabref
-" for more infomration
-TexLet g:Tex_UseJabref = 0
-
-" whether or not searches for \cite's are cached.
-TexLet g:Tex_RememberCiteSearch = 0
-" Paths to the bibliography files and custom packages.
-TexLet g:Tex_BIBINPUTS = ''
-TexLet g:Tex_TEXINPUTS = ''
-
-" }}}
-
-" }}}
-" ==============================================================================
-" Menus: set the kinds of menus which you would like to see. {{{
-"
-" Setting this variable to zero will immediately disable _all_ menus.
-" for finer control set this to 1 and then play with the other options.
-" Default: 1
-TexLet g:Tex_Menus = 1
-
-" The location of the main menu
-TexLet g:Tex_MainMenuLocation = 80
-
-" Math contains a large number of tex math elemets such as arrows,
-" mathematical fonts (\mathrm), mathematical diacritics (\dot), binary
-" relational operators etc. This menu compromises about 75% of the menus.
-" Default: 1
-TexLet g:Tex_MathMenus = 1
-
-" The following options control the "compactness" of the menus.
-"
-" Setting this option to 1 makes the Font, Counter and Dimensioning menus to
-" be collected together into a single 'Tex-Elements' menu. Setting this to 0
-" creates seperate menus for each of them.
-" Default: 1
-TexLet g:Tex_NestElementMenus = 1
-
-" Sometimes when you are using a lot of packages with lots of options etc,
-" then a lot of time might be spent at startup loading the menus.
-" Setting the following variable to 0 will stop autoloading the packages menu.
-" You can still goto TeX-Suite.Configure Menu and load this after startup.
-" Default: 1
-TexLet g:Tex_PackagesMenu = 1
-" The following option will create the packages option within the TeX-Suite
-" menu.
-" Default: 1
-TexLet g:Tex_NestPackagesMenu = 1
-
-" This is the prefix added to the menu names created by latex suite. Add a
-" dot to the following option to nest the menus under the menu name before the
-" dot.
-" NOTE: With a '.' as the last character of the following setting, every
-" single menu created by latex suite will be nested under the same menu.
-" Default: 'TeX-'
-TexLet g:Tex_MenuPrefix = 'TeX-'
-
-" Use utf-8 menus. There is plenty of math symbols in LaTeX. It is hard to
-" remember them. You can display them with utf-8. Your system/GUI interface
-" have to support utf-8. This addition is necessary for resetting 'encoding'.
-TexLet g:Tex_UseUtfMenus = 0
-
-if g:Tex_UseUtfMenus != 0 && has("gui_running")
- set encoding=utf-8
-endif
-
-" }}}
-" ==============================================================================
-" Folding: latex-suite comes with 'fake' syntax folding. {{{
-"
-" specifies whether the MakeTeXFolds() function will be defined. If this is
-" set to zero, then esentially you have disabled all of latex-suite's folding
-" functions. no maps for refreshing folds will be set up etc.
-" NOTE: However, the function TexFoldTextFunction() is still avaiable
-" and 'foldexpr' is set to point to it. This is so you can continue
-" using another folding scheme but still use the fold text function.
-TexLet g:Tex_Folding = 1
-
-" specifies whether a latex file is automatically folded up when opened.
-" Setting this to zero means that a file is not folded up as soon as its
-" opened.
-" NOTE: the MakeTeXFolds() function will still be available (unless disabled
-" by g:Tex_Folding), so you can do <F6> or \rf to refresh/create folds.
-TexLet g:Tex_AutoFolding = 1
-
-" }}}
-" ==============================================================================
-" Taglist: Support for taglist.vim {{{
-"
-" LaTeX-Suite offers now support for taglist.vim, the most popular Vim
-" interface for ctags. You should use ctags version >= 5.0 and taglist >= 3.0.
-TexLet g:Tex_TaglistSupport = 1
-
-" This option turns on definition of tags for LaTeX.
-" NOTE: In taglist window you may see duplicate entries for the same tag. It
-" means some definitions are repeated somewhere else. You can turn off
-" internal definitions or remove external (read ctags description
-" where).
-TexLet g:Tex_InternalTagsDefinitions = 1
-
-" }}}
-" ==============================================================================
diff --git a/.vim/ftplugin/latex-suite/texviewer.vim b/.vim/ftplugin/latex-suite/texviewer.vim
deleted file mode 100644
index 4dc8861..0000000
--- a/.vim/ftplugin/latex-suite/texviewer.vim
+++ /dev/null
@@ -1,1052 +0,0 @@
-" ============================================================================
-" File: texviewer.vim
-" Author: Mikolaj Machowski
-" Created: Sun Jan 26 06:00 PM 2003
-" Description: make a viewer for various purposes: \cite{, \ref{
-" License: Vim Charityware License
-" Part of vim-latexSuite: http://vim-latex.sourceforge.net
-" CVS: $Id: texviewer.vim 1004 2006-03-25 08:40:15Z srinathava $
-" ============================================================================
-" Tex_SetTexViewerMaps: sets maps for this ftplugin {{{
-function! Tex_SetTexViewerMaps()
- inoremap <silent> <Plug>Tex_Completion <Esc>:call Tex_Complete("default","text")<CR>
- if !hasmapto('<Plug>Tex_Completion', 'i')
- if has('gui_running')
- imap <buffer> <silent> <F9> <Plug>Tex_Completion
- else
- imap <buffer> <F9> <Plug>Tex_Completion
- endif
- endif
-endfunction
-
-augroup LatexSuite
- au LatexSuite User LatexSuiteFileType
- \ call Tex_Debug('texviewer.vim: Catching LatexSuiteFileType event', 'view') |
- \ call Tex_SetTexViewerMaps()
-augroup END
-
-command -nargs=1 TLook call Tex_Complete(<q-args>, 'tex')
-command -nargs=1 TLookAll call Tex_Complete(<q-args>, 'all')
-command -nargs=1 TLookBib call Tex_Complete(<q-args>, 'bib')
-
-" }}}
-
-" ==============================================================================
-" Main completion function
-" ==============================================================================
-" Tex_Complete: main function {{{
-" Description:
-function! Tex_Complete(what, where)
-
- " Get info about current window and position of cursor in file
- let s:winnum = winnr()
-
- " Change to the directory of the file being edited before running all the
- " :grep commands. We will change back to the original directory after we
- " finish with the grep.
- let s:origdir = getcwd()
- cd %:p:h
-
- let s:pos = line('.').' | normal! '.virtcol('.').'|'
-
- unlet! s:type
- unlet! s:typeoption
-
- if Tex_GetVarValue('Tex_WriteBeforeCompletion') == 1
- wall
- endif
-
- if a:where == "text"
- " What to do after <F9> depending on context
- let s:curfile = expand("%:p")
- let s:curline = strpart(getline('.'), 0, col('.'))
- let s:prefix = matchstr(s:curline, '.*{\zs.\{-}\(}\|$\)')
- " a command is of the type
- " \psfig[option=value]{figure=}
- " Thus
- " s:curline = '\psfig[option=value]{figure='
- " (with possibly some junk before \psfig)
- " from which we need to extract
- " s:type = 'psfig'
- " s:typeoption = '[option=value]'
- let pattern = '.*\\\(\w\{-}\)\(\[.\{-}\]\)\?{\(\S\+\)\?$'
- if s:curline =~ pattern
- let s:type = substitute(s:curline, pattern, '\1', 'e')
- let s:typeoption = substitute(s:curline, pattern, '\2', 'e')
- call Tex_Debug('Tex_Complete: s:type = '.s:type.', typeoption = '.s:typeoption, 'view')
- endif
-
- if exists("s:type") && s:type =~ 'ref'
- if Tex_GetVarValue('Tex_UseOutlineCompletion') == 1
- call Tex_Debug("Tex_Complete: using outline search method", "view")
- call Tex_StartOutlineCompletion()
-
- elseif Tex_GetVarValue('Tex_UseSimpleLabelSearch') == 1
- call Tex_Debug("Tex_Complete: searching for \\labels in all .tex files in the present directory", "view")
- call Tex_Debug("Tex_Complete: silent! grep! ".Tex_EscapeForGrep('\\label{'.s:prefix)." *.tex", 'view')
- call Tex_Grep('\\label{'.s:prefix, '*.tex')
- call <SID>Tex_SetupCWindow()
-
- elseif Tex_GetVarValue('Tex_ProjectSourceFiles') != ''
- call Tex_Debug('Tex_Complete: searching for \\labels in all Tex_ProjectSourceFiles', 'view')
- call Tex_CD(Tex_GetMainFileName(':p:h'))
- call Tex_Grep('\\label{'.s:prefix, Tex_GetVarValue('Tex_ProjectSourceFiles'))
- call <SID>Tex_SetupCWindow()
-
- else
- call Tex_Debug("Tex_Complete: calling Tex_GrepHelper", "view")
- silent! grep! ____HIGHLY_IMPROBABLE___ %
- call Tex_GrepHelper(s:prefix, 'label')
- call <SID>Tex_SetupCWindow()
- endif
-
- redraw!
-
- elseif exists("s:type") && s:type =~ 'cite'
-
- let s:prefix = matchstr(s:prefix, '\([^,]\+,\)*\zs\([^,]\+\)\ze$')
- call Tex_Debug(":Tex_Complete: using s:prefix = ".s:prefix, "view")
-
- if has('python') && Tex_GetVarValue('Tex_UsePython')
- \ && Tex_GetVarValue('Tex_UseCiteCompletionVer2') == 1
-
- call Tex_CD(s:origdir)
- silent! call Tex_StartCiteCompletion()
-
- elseif Tex_GetVarValue('Tex_UseJabref') == 1
-
- call Tex_CD(s:origdir)
- let g:Remote_WaitingForCite = 1
- let citation = input('Enter citation from jabref (<enter> to leave blank): ')
- let g:Remote_WaitingForCite = 0
- call Tex_CompleteWord(citation)
-
- else
- " grep! nothing %
- " does _not_ clear the search history contrary to what the
- " help-docs say. This was expected. So use something improbable.
- " TODO: Is there a way to clear the search-history w/o making a
- " useless, inefficient search?
- silent! grep! ____HIGHLY_IMPROBABLE___ %
- if g:Tex_RememberCiteSearch && exists('s:citeSearchHistory')
- call <SID>Tex_SetupCWindow(s:citeSearchHistory)
- else
- call Tex_GrepHelper(s:prefix, 'bib')
- redraw!
- call <SID>Tex_SetupCWindow()
- endif
- if g:Tex_RememberCiteSearch && &ft == 'qf'
- let _a = @a
- silent! normal! ggVG"ay
- let s:citeSearchHistory = @a
- let @a = _a
- endif
- endif
-
- elseif exists("s:type") && (s:type =~ 'includegraphics' || s:type == 'psfig')
- call Tex_SetupFileCompletion(
- \ '',
- \ '^\.\\|\.tex$\\|\.bib$\\|\.bbl$\\|\.zip$\\|\.gz$',
- \ 'noext')
-
- elseif exists("s:type") && s:type == 'bibliography'
- call Tex_SetupFileCompletion(
- \ '\.b..$',
- \ '',
- \ 'noext')
-
- elseif exists("s:type") && s:type =~ 'include\(only\)\='
- call Tex_SetupFileCompletion(
- \ '\.t..$',
- \ '',
- \ 'noext')
-
- elseif exists("s:type") && s:type == 'input'
- call Tex_SetupFileCompletion(
- \ '',
- \ '',
- \ 'ext')
-
- elseif exists('s:type') && exists("g:Tex_completion_".s:type)
- call <SID>Tex_CompleteRefCiteCustom('plugin_'.s:type)
-
- else
- let s:word = expand('<cword>')
- if s:word == ''
- if col('.') == strlen(getline('.'))
- startinsert!
- return
- else
- normal! l
- startinsert
- return
- endif
- endif
- call Tex_Debug("silent! grep! ".Tex_EscapeForGrep('\<'.s:word.'\>')." *.tex", 'view')
- call Tex_Grep('\<'.s:word.'\>', '*.tex')
-
- call <SID>Tex_SetupCWindow()
- endif
-
- elseif a:where == 'tex'
- " Process :TLook command
- call Tex_Grep(a:what, "*.tex")
- call <SID>Tex_SetupCWindow()
-
- elseif a:where == 'bib'
- " Process :TLookBib command
- call Tex_Grep(a:what, "*.bib")
- call Tex_Grepadd(a:what, "*.bbl")
- call <SID>Tex_SetupCWindow()
-
- elseif a:where == 'all'
- " Process :TLookAll command
- call Tex_Grep(a:what, "*")
- call <SID>Tex_SetupCWindow()
- endif
-
-endfunction
-" }}}
-" Tex_CompleteWord: inserts a word at the chosen location {{{
-" Description: This function is meant to be called when the user press
-" ``<enter>`` in one of the [Error List] windows which shows the list of
-" matches. completeword is the rest of the word which needs to be inserted.
-function! Tex_CompleteWord(completeword)
- exe s:pos
-
- " Complete word, check if add closing }
- exe 'normal! a'.a:completeword."\<Esc>"
-
- if getline('.')[col('.')-1] !~ '{' && getline('.')[col('.')] !~ '}'
- exe "normal! a}\<Esc>"
- endif
-
- " Return to Insert mode
- if col('.') == strlen(getline('.'))
- startinsert!
- else
- normal! l
- startinsert
- endif
-endfunction " }}}
-
-" ==============================================================================
-" File name completion helper functons
-" ==============================================================================
-" Tex_SetupFileCompletion: {{{
-" Description:
-function! Tex_SetupFileCompletion(accept, reject, ext)
- call FB_SetVar('FB_AllowRegexp', a:accept)
- call FB_SetVar('FB_RejectRegexp', a:reject)
- call FB_SetVar('FB_CallBackFunction', 'Tex_CompleteFileName')
- call FB_SetVar('FB_CallBackFunctionArgs', '"'.a:ext.'"')
-
- call FB_OpenFileBrowser('.')
-endfunction " }}}
-" Tex_CompleteFileName: {{{
-" Description:
-function! Tex_CompleteFileName(filename, ext)
- call Tex_Debug('+Tex_CompleteFileName: getting filename '.a:filename, 'view')
-
- if a:ext == 'noext'
- let completeword = fnamemodify(a:filename, ':r')
- endif
- let completeword = Tex_RelPath(completeword, Tex_GetMainFileName(':p:h'))
-
- call Tex_Debug(":Tex_CompleteFileName: completing with ".completeword, "view")
- call Tex_CompleteWord(completeword)
-endfunction " }}}
-" Tex_Common: common part of strings {{{
-function! s:Tex_Common(path1, path2)
- " Assume the caller handles 'ignorecase'
- if a:path1 == a:path2
- return a:path1
- endif
- let n = 0
- while a:path1[n] == a:path2[n]
- let n = n+1
- endwhile
- return strpart(a:path1, 0, n)
-endfunction " }}}
-" Tex_NormalizePath: {{{
-" Description:
-function! Tex_NormalizePath(path)
- let retpath = a:path
- if has("win32") || has("win16") || has("dos32") || has("dos16")
- let retpath = substitute(retpath, '\\', '/', 'ge')
- endif
- if isdirectory(retpath) && retpath !~ '/$'
- let retpath = retpath.'/'
- endif
- return retpath
-endfunction " }}}
-" Tex_RelPath: ultimate file name {{{
-function! Tex_RelPath(explfilename,texfilename)
- let path1 = Tex_NormalizePath(a:explfilename)
- let path2 = Tex_NormalizePath(a:texfilename)
-
- let n = matchend(<SID>Tex_Common(path1, path2), '.*/')
- let path1 = strpart(path1, n)
- let path2 = strpart(path2, n)
- if path2 !~ '/'
- let subrelpath = ''
- else
- let subrelpath = substitute(path2, '[^/]\{-}/', '../', 'ge')
- let subrelpath = substitute(subrelpath, '[^/]*$', '', 'ge')
- endif
- let relpath = subrelpath.path1
- return escape(Tex_NormalizePath(relpath), ' ')
-endfunction " }}}
-
-" ==============================================================================
-" Helper functions for dealing with the 'quickfix' and 'preview' windows.
-" ==============================================================================
-" Tex_SetupCWindow: set maps and local settings for cwindow {{{
-" Description: Set local maps jkJKq<cr> for cwindow. Also size and basic
-" settings
-"
-function! s:Tex_SetupCWindow(...)
- call Tex_Debug('+Tex_SetupCWindow', 'view')
- cclose
- exe 'copen '. g:Tex_ViewerCwindowHeight
- " If called with an argument, it means we want to re-use some search
- " history from last time. Therefore, just paste it here and proceed.
- if a:0 == 1
- set modifiable
- % d _
- silent! 0put!=a:1
- $ d _
- endif
- setlocal nonumber
- setlocal nowrap
-
- let s:scrollOffVal = &scrolloff
- call <SID>Tex_SyncPreviewWindow()
-
- " If everything went well, then we should be situated in the quickfix
- " window. If there were problems, (no matches etc), then we will not be.
- " Therefore return.
- if &ft != 'qf'
- call Tex_Debug('not in quickfix window, quitting', 'view')
- return
- endif
-
- nnoremap <buffer> <silent> j j:call <SID>Tex_SyncPreviewWindow()<CR>
- nnoremap <buffer> <silent> k k:call <SID>Tex_SyncPreviewWindow()<CR>
- nnoremap <buffer> <silent> <up> <up>:call <SID>Tex_SyncPreviewWindow()<CR>
- nnoremap <buffer> <silent> <down> <down>:call <SID>Tex_SyncPreviewWindow()<CR>
-
- " Change behaviour of <cr> only for 'ref' and 'cite' context.
- if exists("s:type") && s:type =~ 'ref\|cite'
- exec 'nnoremap <buffer> <silent> <cr> '
- \ .':set scrolloff='.s:scrollOffVal.'<CR>'
- \ .':cd '.s:origdir.'<CR>'
- \ .':silent! call <SID>Tex_CompleteRefCiteCustom("'.s:type.'")<CR>'
-
- else
- " In other contexts jump to place described in cwindow and close small
- " windows
- exec 'nnoremap <buffer> <silent> <cr> '
- \ .':set scrolloff='.s:scrollOffVal.'<CR>'
- \ .':cd '.s:origdir.'<CR>'
- \ .':call <SID>Tex_GoToLocation()<cr>'
-
- endif
-
- " Scroll the preview window while in the quickfix window
- nnoremap <buffer> <silent> J :wincmd j<cr><c-e>:wincmd k<cr>
- nnoremap <buffer> <silent> K :wincmd j<cr><c-y>:wincmd k<cr>
-
- " Exit the quickfix window without doing anything.
- exe 'nnoremap <buffer> <silent> q '
- \ .':set scrolloff='.s:scrollOffVal.'<CR>'
- \ .':cd '.s:origdir.'<CR>'
- \ .':call Tex_CloseSmallWindows()<CR>'
-
-endfunction " }}}
-" Tex_CompleteRefCiteCustom: complete/insert name for current item {{{
-" Description: handle completion of items depending on current context
-"
-function! s:Tex_CompleteRefCiteCustom(type)
-
- if a:type =~ 'cite'
- if getline('.') =~ '\\bibitem{'
- let bibkey = matchstr(getline('.'), '\\bibitem{\zs.\{-}\ze}')
- else
- let bibkey = matchstr(getline('.'), '{\zs.\{-}\ze\(,\|$\)')
- endif
- let completeword = strpart(bibkey, strlen(s:prefix))
-
- elseif a:type =~ 'ref'
- let label = matchstr(getline('.'), '\\label{\zs.\{-}\ze}')
- let completeword = strpart(label, strlen(s:prefix))
-
- elseif a:type =~ '^plugin_'
- let type = substitute(a:type, '^plugin_', '', '')
- let completeword = <SID>Tex_DoCompletion(type)
-
- endif
-
- call Tex_CloseSmallWindows()
- call Tex_Debug(":Tex_CompleteRefCiteCustom: completing with ".completeword, "view")
- call Tex_CompleteWord(completeword)
-endfunction " }}}
-" Tex_SyncPreviewWindow: synchronize quickfix and preview window {{{
-" Description: Usually quickfix engine takes care about most of these things
-" but we discard it for better control of events.
-"
-function! s:Tex_SyncPreviewWindow()
- call Tex_Debug('+Tex_SyncPreviewWindow', 'view')
-
- let viewfile = matchstr(getline('.'), '^\f*\ze|\d')
- let viewline = matchstr(getline('.'), '|\zs\d\+\ze')
-
- " Hilight current line in cwindow
- " Normally hightlighting is done with quickfix engine but we use something
- " different and have to do it separately
- syntax clear
- runtime syntax/qf.vim
- exe 'syn match vTodo /\%'. line('.') .'l.*/'
- hi link vTodo Todo
-
- " Close preview window and open it again in new place
- pclose
- exe 'silent! bot pedit +'.viewline.' '.viewfile
-
- " Vanilla 6.1 has bug. This additional setting of cwindow height prevents
- " resizing of this window
- exe g:Tex_ViewerCwindowHeight.' wincmd _'
-
- " Handle situation if there is no item beginning with s:prefix.
- " Unfortunately, because we know it late we have to close everything and
- " return as in complete process
- if v:errmsg =~ 'E32\>'
- exe s:winnum.' wincmd w'
- pclose!
- cclose
- if exists("s:prefix")
- echomsg 'No bibkey, label or word beginning with "'.s:prefix.'"'
- endif
- if col('.') == strlen(getline('.'))
- startinsert!
- else
- normal! l
- startinsert
- endif
- let v:errmsg = ''
- call Tex_Debug('Tex_SyncPreviewWindow: got error E32, no matches found, quitting', 'view')
- return 0
- endif
-
- " Move to preview window. Really is it under cwindow?
- wincmd j
-
- " Settings of preview window
- exe g:Tex_ViewerPreviewHeight.' wincmd _'
- setlocal nofoldenable
-
- if exists('s:type') && s:type =~ 'cite'
- " In cite context place bibkey at the top of preview window.
- setlocal scrolloff=0
- normal! zt
- else
- " In other contexts in the middle. Highlight this line?
- setlocal scrolloff=100
- normal! z.
- endif
-
- " Return to cwindow
- wincmd p
-
-endfunction " }}}
-" Tex_CloseSmallWindows: {{{
-" Description:
-"
-function! Tex_CloseSmallWindows()
- exe s:winnum.' wincmd w'
- pclose!
- cclose
- exe s:pos
-endfunction " }}}
-" Tex_GoToLocation: Go to chosen location {{{
-" Description: Get number of current line and go to this number
-"
-function! s:Tex_GoToLocation()
- pclose!
- let errmsg = v:errmsg
- let v:errmsg = ''
- exe 'silent! cc ' . line('.')
- " If the current buffer is modified, then split
- if v:errmsg =~ '^E37:'
- split
- exe 'silent! cc ' . line('.')
- endif
- cclose
- let v:errmsg = errmsg
-endfunction " }}}
-
-" ==============================================================================
-" Functions for finding \\label's or \\bibitem's in the main file.
-" ==============================================================================
-" Tex_GrepHelper: grep main filename for \\bibitem's or \\label's {{{
-" Description:
-function! Tex_GrepHelper(prefix, what)
- let _path = &path
- let _suffixesadd = &suffixesadd
- let _hidden = &hidden
-
- let mainfname = Tex_GetMainFileName(':p')
- " If we are already editing the file, then use :split without any
- " arguments so it works even if the file is modified.
- " FIXME: If mainfname is being presently edited in another window and
- " is 'modified', then the second split statement will not work.
- " We will need to travel to that window and back.
- if mainfname == expand('%:p')
- split
- else
- exec 'split '.Tex_EscapeSpaces(mainfname)
- endif
-
- let pos = line('.').'| normal! '.virtcol('.').'|'
- if a:what =~ 'bib'
- call Tex_ScanFileForCite(a:prefix)
- else
- call Tex_ScanFileForLabels(a:prefix)
- endif
- exec pos
-
- q
- let &path = _path
- let &suffixesadd = _suffixesadd
-
-endfunction " }}}
-" Tex_ScanFileForCite: search for \bibitem's in .bib or .bbl or tex files {{{
-" Description:
-" Search for bibliographic entries in the presently edited file in the
-" following manner:
-" 1. First see if the file has a \bibliography command.
-" If YES:
-" 1. If a .bib file corresponding to the \bibliography command can be
-" found, then search for '@.*'.a:prefix inside it.
-" 2. Otherwise, if a .bbl file corresponding to the \bibliography command
-" can be found, then search for '\bibitem'.a:prefix inside it.
-" 2. Next see if the file has a \thebibliography environment
-" If YES:
-" 1. Search for '\bibitem'.a:prefix in this file.
-"
-" If neither a \bibliography or \begin{thebibliography} are found, then repeat
-" steps 1 and 2 for every file \input'ed into this file. Abort any searching
-" as soon as the first \bibliography or \begin{thebibliography} is found.
-function! Tex_ScanFileForCite(prefix)
- call Tex_Debug('+Tex_ScanFileForCite: searching for bibkeys in '.bufname('%').' (buffer #'.bufnr('%').')', 'view')
- let presBufNum = bufnr('%')
-
- let foundCiteFile = 0
- " First find out if this file has a \bibliography command in it. If so,
- " assume that this is the only file in the project which defines a
- " bibliography.
- if search('\\\(no\)\?bibliography{', 'w')
- call Tex_Debug('Tex_ScanFileForCite: found bibliography command in '.bufname('%'), 'view')
- " convey that we have found a bibliography command. we do not need to
- " proceed any further.
- let foundCiteFile = 1
-
- " extract the bibliography filenames from the command.
- let bibnames = matchstr(getline('.'), '\\\(no\)\?bibliography{\zs.\{-}\ze}')
- let bibnames = substitute(bibnames, '\s', '', 'g')
-
- call Tex_Debug('trying to search through ['.bibnames.']', 'view')
-
- let &path = '.,'.g:Tex_BIBINPUTS
-
- let i = 1
- while 1
- let bibname = Tex_Strntok(bibnames, ',', i)
- if bibname == ''
- break
- endif
-
- " first try to find if a .bib file exists. If so do not search in
- " the corresponding .bbl file. (because the .bbl file will most
- " probly be generated automatically from the .bib file with
- " bibtex).
-
- let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bib')
- if fname != ''
- call Tex_Debug('finding .bib file ['.bufname('%').']', 'view')
- exec 'split '.Tex_EscapeSpaces(fname)
- call Tex_Grepadd('@.*{'.a:prefix, "%")
- q
- else
- let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bbl')
- if fname != ''
- exec 'split '.Tex_EscapeSpaces(fname)
- call Tex_Debug('finding .bbl file ['.bufname('.').']', 'view')
- call Tex_Grepadd('\\bibitem{'.a:prefix, "%")
- q
- endif
- endif
-
- let i = i + 1
- endwhile
-
- if foundCiteFile
- return 1
- endif
- endif
-
- " If we have a thebibliography environment, then again assume that this is
- " the only file which defines the bib-keys. Aand convey this information
- " upwards by returning 1.
- if search('^\s*\\begin{thebibliography}', 'w')
- call Tex_Debug('got a thebibliography environment in '.bufname('%'), 'view')
-
- let foundCiteFile = 1
-
- split
- lcd %:p:h
- call Tex_Debug("silent! grepadd! ".Tex_EscapeForGrep('\\bibitem{'.a:prefix)." %", 'view')
- call Tex_Grepadd('\\bibitem{'.a:prefix, "%")
- q
-
- return 1
- endif
-
- " If we have not found any \bibliography or \thebibliography environment
- " in this file, search for these environments in all the files which this
- " file includes.
-
- exec 0
- let wrap = 'w'
- while search('^\s*\\\(input\|include\)', wrap)
- let wrap = 'W'
-
- let filename = matchstr(getline('.'), '\\\(input\|include\){\zs.\{-}\ze}')
-
- let foundfile = Tex_FindFile(filename, '.,'.g:Tex_TEXINPUTS, '.tex')
- if foundfile != ''
- exec 'split '.Tex_EscapeSpaces(foundfile)
- call Tex_Debug('scanning recursively in ['.foundfile.']', 'view')
- let foundCiteFile = Tex_ScanFileForCite(a:prefix)
- q
- endif
-
- if foundCiteFile
- return 1
- endif
- endwhile
-
-
- return 0
-endfunction " }}}
-" Tex_ScanFileForLabels: greps present file and included files for \\label's {{{
-" Description:
-" Grep the presently edited file for \\label's. If the present file \include's
-" or \input's other files, then recursively scan those as well, i.e we support
-" arbitrary levels of \input'ed-ness.
-function! Tex_ScanFileForLabels(prefix)
- call Tex_Debug("+Tex_ScanFileForLabels: grepping in file [".bufname('%')."]", "view")
-
- lcd %:p:h
- call Tex_Grepadd('\\label{'.a:prefix, "%")
-
- " Then recursively grep for all \include'd or \input'ed files.
- exec 0
- let wrap = 'w'
- while search('^\s*\\\(input\|include\)', wrap)
- let wrap = 'W'
-
- let filename = matchstr(getline('.'), '\\\(input\|include\){\zs.\{-}\ze}')
- let foundfile = Tex_FindFile(filename, '.,'.Tex_TEXINPUTS, '.tex')
- if foundfile != ''
- exec 'split '.Tex_EscapeSpaces(foundfile)
- call Tex_Debug('Tex_ScanFileForLabels: scanning recursively in ['.foundfile.']', 'view')
- call Tex_ScanFileForLabels(a:prefix)
- q
- endif
- endwhile
-
-endfunction " }}}
-
-" ==============================================================================
-" Functions for custom command completion
-" ==============================================================================
-" Tex_completion_{var}: similar variables can be set in package files {{{
-let g:Tex_completion_bibliographystyle = 'abbr,alpha,plain,unsrt'
-let g:Tex_completion_addtocontents = 'lof}{,lot}{,toc}{'
-let g:Tex_completion_addcontentsline = 'lof}{figure}{,lot}{table}{,toc}{chapter}{,toc}{part}{,'.
- \ 'toc}{section}{,toc}{subsection}{,toc}{paragraph}{,'.
- \ 'toc}{subparagraph}{'
-" }}}
-" Tex_PromptForCompletion: prompts for a completion {{{
-" Description:
-function! s:Tex_PromptForCompletion(texcommand,ask)
-
- let common_completion_prompt =
- \ Tex_CreatePrompt(g:Tex_completion_{a:texcommand}, 2, ',') . "\n" .
- \ 'Enter number or completion: '
-
- let inp = input(a:ask."\n".common_completion_prompt)
- if inp =~ '^[0-9]\+$'
- let completion = Tex_Strntok(g:Tex_completion_{a:texcommand}, ',', inp)
- else
- let completion = inp
- endif
-
- return completion
-endfunction " }}}
-" Tex_DoCompletion: fast insertion of completion {{{
-" Description:
-"
-function! s:Tex_DoCompletion(texcommand)
- let completion = <SID>Tex_PromptForCompletion(a:texcommand, 'Choose a completion to insert: ')
- if completion != ''
- return completion
- else
- return ''
- endif
-endfunction " }}}
-
-" ==============================================================================
-" Functions for presenting an outlined version for completion
-" ==============================================================================
-" Tex_StartOutlineCompletion: sets up an outline window {{{
-
-" get the place where this plugin resides for setting cpt and dict options.
-" these lines need to be outside the function.
-let s:path = expand('<sfile>:p:h')
-if has('python') && Tex_GetVarValue('Tex_UsePython')
- python import sys, re
- exec "python sys.path += [r'". s:path . "']"
- python import outline
-endif
-
-function! Tex_StartOutlineCompletion()
- let mainfname = Tex_GetMainFileName(':p')
-
- " open the buffer
- let _report = &report
- let _cmdheight=&cmdheight
- let _lazyredraw = &lazyredraw
- set report=1000
- set cmdheight=1
- set lazyredraw
-
- bot split __OUTLINE__
- exec Tex_GetVarValue('Tex_OutlineWindowHeight', 15).' wincmd _'
-
- setlocal modifiable
- setlocal noswapfile
- setlocal buftype=nowrite
- setlocal bufhidden=delete
- setlocal nowrap
- setlocal foldmethod=marker
- setlocal foldmarker=<<<,>>>
-
- " delete everything in it to the blackhole
- % d _
-
- if has('python') && Tex_GetVarValue('Tex_UsePython')
- exec 'python retval = outline.main('
- \. 'r"' . fnamemodify(mainfname, ':p') . '", '
- \. 'r"' . s:prefix . '")'
-
- " transfer variable from python to a local variable.
- python vim.command("""let retval = "%s" """ % re.sub(r'"|\\', r'\\\g<0>', retval))
-
- 0put!=retval
- else
- exec '0r!'.s:path.'/outline.py '.mainfname.' '.s:prefix
- endif
-
- 0
-
- call Tex_SetupOutlineSyntax()
-
- exec 'nnoremap <buffer> <cr> '
- \ .':cd '.s:origdir.'<CR>'
- \ .':call Tex_FinishOutlineCompletion()<CR>'
- exec 'nnoremap <buffer> q '
- \ .':cd '.s:origdir.'<CR>'
- \ .':close<CR>'
-
- " once the buffer is initialized, go back to the original settings.
- setlocal nomodifiable
- setlocal nomodified
- let &report = _report
- let &cmdheight = _cmdheight
- let &lazyredraw = _lazyredraw
-
-endfunction " }}}
-" Tex_SetupOutlineSyntax: sets up the syntax items for the outline {{{
-" Description:
-function! Tex_SetupOutlineSyntax()
- syn match outlineFileName "<\f\+>$" contained
- syn match foldMarkers "<<<\d$" contained
- syn match firstSemiColon '^:' contained
- syn match firstAngle '^>' contained
-
- syn match sectionNames '\(\d\.\)\+ .*' contains=foldMarkers
- syn match previousLine '^:.*' contains=firstSemiColon
- syn match labelLine '^>.*' contains=firstAngle,outlineFileName
-
- hi def link outlineFileName Ignore
- hi def link foldMarkers Ignore
- hi def link firstSemiColon Ignore
- hi def link firstAngle Ignore
-
- hi def link sectionNames Type
- hi def link previousLine Special
- hi def link labelLine Comment
-endfunction " }}}
-" Tex_FinishOutlineCompletion: inserts the reference back in the text {{{
-function! Tex_FinishOutlineCompletion()
- if getline('.') !~ '^[>:]'
- return
- endif
-
- if getline('.') =~ '^>'
- let ref_complete = matchstr(getline('.'), '^>\s\+\zs\S\+\ze')
- elseif getline('.') =~ '^:'
- let ref_complete = matchstr(getline(line('.')-1), '^>\s\+\zs\S\+\ze')
- endif
-
- let ref_remaining = strpart(ref_complete, strlen(s:prefix))
- close
- call Tex_CompleteWord(ref_remaining)
-endfunction " }}}
-
-" ==============================================================================
-" Functions for presenting a nicer list of bibtex entries
-" ==============================================================================
-" Tex_FindBibFiles: finds all .bib files used by the main file {{{
-" Description:
-function! Tex_FindBibFiles()
-
- let mainfname = Tex_GetMainFileName(':p')
- wincmd n
- exec 'silent! e '.mainfname
-
- if search('\\\(no\)\?bibliography{', 'w')
-
- call Tex_Debug('Tex_FindBibFiles: found bibliography command in '.bufname('%'), 'view')
-
- " extract the bibliography filenames from the command.
- let bibnames = matchstr(getline('.'), '\\\(no\)\?bibliography{\zs.\{-}\ze}')
- let bibnames = substitute(bibnames, '\s', '', 'g')
-
- call Tex_Debug(':Tex_FindBibFiles: trying to search through ['.bibnames.']', 'view')
-
- let bibfiles = ''
- let i = 1
- while 1
- let bibname = Tex_Strntok(bibnames, ',', i)
- if bibname == ''
- break
- endif
- let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bib')
- if fname != ''
- let bibfiles = bibfiles.fname."\n"
- endif
- let i = i + 1
- endwhile
-
- call Tex_Debug(":Tex_FindBibFiles: returning [".bibfiles."]", "view")
- q
- return bibfiles
-
- else
- q
- return ''
- endif
-
-endfunction " }}}
-" Tex_StartBibtexOutline: sets up an outline window {{{
-
-" get the place where this plugin resides for setting cpt and dict options.
-" these lines need to be outside the function.
-if has('python') && Tex_GetVarValue('Tex_UsePython')
- python import sys, re
- exec "python sys.path += [r'". s:path . "']"
- python import bibtools
-endif
-
-function! Tex_StartCiteCompletion()
- let bibfiles = Tex_FindBibFiles()
- if bibfiles !~ '\S'
- echohl WarningMsg
- echomsg 'No bibfiles found! Sorry'
- echohl None
- return
- endif
-
- bot split __OUTLINE__
- exec Tex_GetVarValue('Tex_OutlineWindowHeight', 15).' wincmd _'
-
- exec 'python Tex_BibFile = bibtools.BibFile("""'.bibfiles.'""")'
- exec 'python Tex_BibFile.addfilter("key ^'.s:prefix.'")'
- call Tex_DisplayBibList()
-
- nnoremap <Plug>Tex_JumpToNextBibEntry :call search('^\S.*\]$', 'W')<CR>:call Tex_EchoBibShortcuts()<CR>z.
- nnoremap <Plug>Tex_JumpToPrevBibEntry :call search('^\S.*\]$', 'bW')<CR>:call Tex_EchoBibShortcuts()<CR>z.
- nnoremap <Plug>Tex_FilterBibEntries :call Tex_HandleBibShortcuts('filter')<CR>
- nnoremap <Plug>Tex_RemoveBibFilters :call Tex_HandleBibShortcuts('remove_filters')<CR>
- nnoremap <Plug>Tex_SortBibEntries :call Tex_HandleBibShortcuts('sort')<CR>
- nnoremap <Plug>Tex_CompleteCiteEntry :call Tex_CompleteCiteEntry()<CR>
-
- nmap <buffer> <silent> n <Plug>Tex_JumpToNextBibEntry
- nmap <buffer> <silent> p <Plug>Tex_JumpToPrevBibEntry
- nmap <buffer> <silent> f <Plug>Tex_FilterBibEntries
- nmap <buffer> <silent> s <Plug>Tex_SortBibEntries
- nmap <buffer> <silent> a <Plug>Tex_RemoveBibFilters
- nmap <buffer> <silent> q :close<CR>
- nmap <buffer> <silent> <CR> <Plug>Tex_CompleteCiteEntry
-
-endfunction " }}}
-" Tex_DisplayBibList: displays the list of bibtex entries {{{
-" Description:
-function! Tex_DisplayBibList()
- " open the buffer
- let _report = &report
- let _cmdheight=&cmdheight
- let _lazyredraw = &lazyredraw
- set report=1000
- set cmdheight=1
- set lazyredraw
-
- setlocal modifiable
- setlocal noswapfile
- setlocal buftype=nowrite
- setlocal bufhidden=delete
- setlocal nowrap
- setlocal foldmethod=marker
- setlocal foldmarker=<<<,>>>
-
-
- " delete everything in it to the blackhole
- % d _
-
- exec 'python Tex_CurBuf = vim.current.buffer'
- exec 'python Tex_CurBuf[:] = str(Tex_BibFile).splitlines()'
-
- call Tex_SetupBibSyntax()
-
- 0
- call Tex_EchoBibShortcuts()
-
- " once the buffer is initialized, go back to the original settings.
- setlocal nomodifiable
- setlocal nomodified
- let &report = _report
- let &cmdheight = _cmdheight
- let &lazyredraw = _lazyredraw
-
-endfunction " }}}
-" Tex_EchoBibShortcuts: echos all the shortcuts in the status line {{{
-" Description:
-function! Tex_EchoBibShortcuts()
- echomsg '(a) all (f) filter (s) sort (n) next (p) previous (q) quit (<CR>) choose'
-endfunction " }}}
-" Tex_SetupBibSyntax: sets up the syntax items for the outline {{{
-" Description:
-function! Tex_SetupBibSyntax()
- syn match BibTitleHeader "^TI" contained
- syn match BibAuthorHeader "^AU" contained
- syn match BibLocationHeader "^IN" contained
- syn match BibMiscHeader "^MI" contained
-
- syn match BibKeyLine '^\S.*\]$' contains=BibKey
- syn match BibTitle "^TI .*" contains=BibTitleHeader
- syn match BibAuthor "^AU .*" contains=BibAuthorHeader
- syn match BibLocation "^IN .*" contains=BibLocationHeader
- syn match BibMisc "^MI .*" contains=BibMiscHeader
-
- hi def link BibTitleHeader Ignore
- hi def link BibAuthorHeader Ignore
- hi def link BibLocationHeader Ignore
- hi def link BibMiscHeader Ignore
-
- hi def link BibKeyLine Visual
- hi def link BibTitle Type
- hi def link BibAuthor Special
- hi def link BibLocation Comment
- hi def link BibMisc Comment
-endfunction " }}}
-" Tex_HandleBibShortcuts: handles user keypresses {{{
-" Description:
-function! Tex_HandleBibShortcuts(command)
-
- if a:command == 'filter' || a:command == 'sort'
-
- let fieldprompt =
- \ "Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)\n" .
- \ " [t] title [a] author [b] booktitle \n" .
- \ " [j] journal [y] year [p] bibtype \n" .
- \ " (you can also enter the complete field name) \n"
-
- let fieldprompt = Tex_GetVarValue('Tex_BibFieldPrompt', fieldprompt)
-
- if Tex_GetVarValue('Tex_EchoBibFields', 1) == 1
- echo fieldprompt
- endif
-
- let inp = input('Enter '.a:command.' criterion [field<space>value]: ')
- if inp !~ '\v^\S+\s+\S.*'
- echohl WarningMsg
- echomsg 'Invalid filter specification. Use "field<space>value"'
- echohl None
- return
- endif
-
- if inp != ''
- " If the field is specified as a single character, then replace
- " it with the corresponding 'full form'.
- if inp =~ '^[a-z]\>'
- if Tex_GetVarValue('Tex_BibAcronym_'.inp[0]) != ''
- let inp = substitute(inp, '.', Tex_GetVarValue('Tex_BibAcronym_'.inp[0]), '')
- elseif fieldprompt =~ '\['.inp[0].'\]'
- let full = matchstr(fieldprompt, '\['.inp[0].'\] \zs\w\+\ze')
- let inp = substitute(inp, '.', full, '')
- endif
- endif
- call Tex_Debug(":Tex_HandleBibShortcuts: using inp = [".inp."]", "view")
- if a:command == 'filter'
- exec 'python Tex_BibFile.addfilter("'.inp.'")'
- elseif a:command == 'sort'
- exec "python Tex_BibFile.addsortfield(\"".inp."\")"
- exec 'python Tex_BibFile.sort()'
- endif
- silent! call Tex_DisplayBibList()
- endif
-
- elseif a:command == 'remove_filters'
-
- exec 'python Tex_BibFile.rmfilters()'
- exec 'python Tex_BibFile.addfilter("key ^'.s:prefix.'")'
- call Tex_DisplayBibList()
-
- endif
-
-endfunction " }}}
-" Tex_CompleteCiteEntry: completes cite entry {{{
-" Description:
-function! Tex_CompleteCiteEntry()
- normal! 0
- call search('\[\S\+\]$', 'W')
- if getline('.') !~ '\[\S\+\]$'
- call search('\[\S\+\]$', 'bW')
- endif
-
- if getline('.') !~ '\[\S\+\]$'
- return
- endif
-
- let ref = matchstr(getline('.'), '\[\zs\S\+\ze\]$')
- close
- call Tex_Debug(":Tex_CompleteCiteEntry: completing with ".ref, "view")
- call Tex_CompleteWord(strpart(ref, strlen(s:prefix)))
-endfunction " }}}
-
-com! -nargs=0 TClearCiteHist unlet! s:citeSearchHistory
-
-" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4
diff --git a/.vim/ftplugin/latex-suite/version.vim b/.vim/ftplugin/latex-suite/version.vim
deleted file mode 100644
index 41089cf..0000000
--- a/.vim/ftplugin/latex-suite/version.vim
+++ /dev/null
@@ -1,30 +0,0 @@
-" Tex_Version: returns a string which gives the current version number of latex-suite
-" Description:
-" Each time a bug fix/addition is done in any source file in latex-suite,
-" not just this file, the number below has to be incremented by the author.
-" This will ensure that there is a single 'global' version number for all of
-" latex-suite.
-"
-" If a change is done in the doc/ directory, i.e an addition/change in the
-" documentation, then this number should NOT be incremented.
-"
-" Latex-suite will follow a 3-tier system of versioning just as Vim. A
-" version number will be of the form:
-"
-" X.Y.ZZ
-"
-" 'X' will only be incremented for a major over-haul or feature addition.
-" 'Y' will be incremented for significant changes which do not qualify
-" as major.
-" 'ZZ' will be incremented for bug-fixes and very trivial additions such
-" as adding an option etc. Once ZZ reaches 50, then Y will be
-" incremented and ZZ will be reset to 01. Each time we have a
-" version number of the form X.Y.01, then we'll make a release on
-" vim.sf.net and also create a cvs tag at that point. We'll try to
-" "stabilize" that version by releasing a few pre-releases and then
-" keep that as a stable point.
-function! Tex_Version()
- return "Latex-Suite: version 1.8.13"
-endfunction
-
-com! -nargs=0 TVersion echo Tex_Version()
diff --git a/.vim/ftplugin/latex-suite/wizardfuncs.vim b/.vim/ftplugin/latex-suite/wizardfuncs.vim
deleted file mode 100644
index 113271c..0000000
--- a/.vim/ftplugin/latex-suite/wizardfuncs.vim
+++ /dev/null
@@ -1,377 +0,0 @@
-" File: wizardfuncs.vim
-" Author: Mikolaj Machowski <mikmach@wp.pl>
-" Description:
-"
-" Installation:
-" History: pluginized by Srinath Avadhanula
-"=============================================================================
-
-if exists('s:doneOnce')
- finish
-endif
-let s:doneOnce = 1
-
-let s:mapleader = exists('mapleader') ? mapleader : "\\"
-" ==============================================================================
-" Specialized functions for handling sections from command line
-" ==============================================================================
-
-com! -nargs=? TSection call Tex_section(<f-args>)
-com! -nargs=? TSectionAdvanced call Tex_section_adv(<f-args>)
-
-" Tex_VisSecAdv: handles visual selection for sections {{{
-function! Tex_VisSecAdv(section)
- let shorttitle = input("Short title? ")
- let toc = input("Include in table of contents [y]/n ? ")
- let sstructure = "\\".a:section
- if ( toc == "" || toc == "y" )
- let toc = ""
- else
- let toc = "*"
- endif
- if shorttitle != ""
- let shorttitle = '['.shorttitle.']'
- endif
- exe "normal `>a}\<cr>\<esc>`<i".sstructure.toc.shorttitle."{"
-endfunction
-
-" }}}
-" Tex_InsSecAdv: section wizard in insert mode {{{
-function! Tex_InsSecAdv(structure)
- let ttitle = input("Title? ")
- let shorttitle = input("Short title? ")
- let toc = input("Include in table of contents [y]/n ? ")
- "Structure
- let sstructure = "\\".a:structure
- "TOC
- if ( toc == "" || toc == "y" )
- let toc = ""
- else
- let toc = "*"
- endif
- "Shorttitle
- if shorttitle != ""
- let shorttitle = '['.shorttitle.']'
- endif
- "Title
- let ttitle = '{'.ttitle.'}'
- "Happy end?
- return sstructure.toc.shorttitle.ttitle
-endfunction
-
-
-" }}}
-function! Tex_section(...) "{{{
- silent let pos = line('.').' | normal! '.virtcol('.').'|'
- silent let last_section_value = s:Tex_section_detection()
- if a:0 == 0
- silent let last_section_name = s:Tex_section_name(last_section_value)
- silent call s:Tex_section_call(last_section_name)
- elseif a:1 =~ "[+=\-]"
- silent let sec_arg = a:1
- silent let curr_section_value = s:Tex_section_curr_rel_value(sec_arg, last_section_value)
- silent let curr_section_name = s:Tex_section_name(curr_section_value)
- silent call s:Tex_section_call(curr_section_name)
- elseif a:1 == "?"
- echo s:last_section_line
- else
- silent let curr_section_value = s:Tex_section_curr_value(a:1)
- silent let curr_section_name = s:Tex_section_name(curr_section_value)
- silent call s:Tex_section_call(curr_section_name)
- endif
- silent exe pos
-endfunction "}}}
-function! Tex_section_adv(...) "{{{
- let pos = line('.').' | normal! '.virtcol('.').'|'
- silent let last_section_value = s:Tex_section_detection()
- if a:0 == 0
- silent let last_section_name = s:Tex_section_name(last_section_value)
- let section = Tex_InsSecAdv(last_section_name)
- elseif a:1 =~ "[+=\-]"
- silent let sec_arg = a:1
- silent let curr_section_value = s:Tex_section_curr_rel_value(sec_arg, last_section_value)
- silent let curr_section_name = s:Tex_section_name(curr_section_value)
- let section = Tex_InsSecAdv(curr_section_name)
- else
- silent let curr_section_value = s:Tex_section_curr_value(a:1)
- silent let curr_section_name = s:Tex_section_name(curr_section_value)
- silent call s:Tex_section_call(curr_section_name)
- let section = Tex_InsSecAdv(curr_section_name)
- endif
- exe "normal i".section
- exe pos
-endfunction "}}}
-function! s:Tex_section_detection() "{{{
- let pos = line('.').' | normal! '.virtcol('.').'|'
- let last_section1 = search("\\\\\subparagraph\\|\\\\paragraph\\|\\\\subsubsection\\|\\\\subsection\\|\\\\section\\|\\\\chapter\\|\\\part\)", "b")
- exe pos
- let last_section2 = search("\\\\\part\\|\\\\chapter\\|\\\\section\\|\\\\subsection\\|\\\\subsubsection\\|\\\\paragraph\\|\\\subparagraph\)", "b")
- if last_section1 > last_section2
- let last_section = last_section1
- else
- let last_section = last_section2
- endif
- if last_section != 0
- exe last_section
- if getline(".") =~ "\\\\part"
- let last_section_value = 0
- elseif getline(".") =~ "\\\\chapter"
- let last_section_value = 1
- elseif getline(".") =~ "\\\\section"
- let last_section_value = 2
- elseif getline(".") =~ "\\\\subsection"
- let last_section_value = 3
- elseif getline(".") =~ "\\\\subsubsection"
- let last_section_value = 4
- elseif getline(".") =~ "\\\\paragraph"
- let last_section_value = 5
- elseif getline(".") =~ "\\\\subparagraph"
- let last_section_value = 6
- endif
- let s:last_section_line = getline(".")
- else
- let last_section_value = 0
- endif
- exe pos
- return last_section_value
-endfunction "}}}
-function! s:Tex_section_curr_value(sec_arg) "{{{
- if a:sec_arg == "pa" || a:sec_arg == "0" || a:sec_arg == "part"
- let curr_section_value = 0
- elseif a:sec_arg == "ch" || a:sec_arg == "1" || a:sec_arg == "chapter"
- let curr_section_value = 1
- elseif a:sec_arg == "se" || a:sec_arg == "2" || a:sec_arg == "section"
- let curr_section_value = 2
- elseif a:sec_arg == "ss" || a:sec_arg == "3" || a:sec_arg == "subsection"
- let curr_section_value = 3
- elseif a:sec_arg == "s2" || a:sec_arg == "4" || a:sec_arg == "subsubsection"
- let curr_section_value = 4
- elseif a:sec_arg == "pr" || a:sec_arg == "5" || a:sec_arg == "paragraph"
- let curr_section_value = 5
- elseif a:sec_arg == "sp" || a:sec_arg == "6" || a:sec_arg == "subparagraph"
- let curr_section_value = 6
- endif
- return curr_section_value
-endfunction "}}}
-function! s:Tex_section_curr_rel_value(sec_arg, last_section_value) "{{{
- let last_section_value = a:last_section_value
- if a:sec_arg == "+" || a:sec_arg == "+1"
- let curr_section_value = last_section_value + 1
- elseif a:sec_arg == "++" || a:sec_arg == "+2"
- let curr_section_value = last_section_value + 2
- elseif a:sec_arg == "-" || a:sec_arg == "-1"
- let curr_section_value = last_section_value - 1
- elseif a:sec_arg == "--" || a:sec_arg == "-2"
- let curr_section_value = last_section_value - 2
- elseif a:sec_arg == "="
- let curr_section_value = last_section_value
- else
- exe "let curr_section_value = last_section_value".a:sec_arg
- endif
- if curr_section_value < 0
- let curr_section_value = 0
- elseif curr_section_value > 6
- let curr_section_value = 6
- endif
- return curr_section_value
-endfunction "}}}
-function! s:Tex_section_name(section_value) "{{{
- if a:section_value == 0
- let section_name = "part"
- elseif a:section_value == 1
- let section_name = "chapter"
- elseif a:section_value == 2
- let section_name = "section"
- elseif a:section_value == 3
- let section_name = "subsection"
- elseif a:section_value == 4
- let section_name = "subsubsection"
- elseif a:section_value == 5
- let section_name = "paragraph"
- elseif a:section_value == 6
- let section_name = "subparagraph"
- endif
- return section_name
-endfunction "}}}
-function! s:Tex_section_call(section_name) "{{{
- exe "normal! i\\".a:section_name."{<++>}<++>\<Esc>0\<C-j>"
-" let ret_section = "\\".a:section_name."{<++>}<++>"
-" exe "normal! i\<C-r>=IMAP_PutTextWithMovement(ret_section)\<CR>"
-" normal f}i
-endfunction "}}}
-
-" ==============================================================================
-" Add looking help into latexhelp.txt
-" ==============================================================================
-
-inoremap <silent> <Plug>Tex_Help <C-o>:call <SID>TexHelp()<CR>
-nnoremap <silent> <Plug>Tex_Help :call <SID>TexHelp()<CR>
-command! -nargs=0 THelp call <SID>TexHelp()
-call Tex_MakeMap('<F1>', '<Plug>Tex_Help', 'i', '')
-call Tex_MakeMap('<F1>', '<Plug>Tex_Help', 'n', '')
-
-" TexHelp: Cursor being on LaTeX item check if exists help tag about it " {{{
-function! s:TexHelp()
- let syntax_item = synIDattr(synID(line('.'),col('.')-1,0),"name")
- if syntax_item =~ '^tex'
- setlocal isk+=\
- let curword = expand('<cword>')
- setlocal isk-=\
- let v:errmsg = ''
- if curword =~ "^\\" || syntax_item == 'texSectionName'
- exe 'silent! help '.curword
- if v:errmsg =~ '^E149:'
- echohl ErrorMsg
- exe "echomsg 'Sorry, no help for LaTeX: ".curword."'"
- echohl None
- let v:errmsg = ''
- endif
- else
- help
- endif
- else
- help
- endif
-endfunction " }}}
-
-" ==============================================================================
-" Tables of shortcuts
-" ==============================================================================
-"
-command! -nargs=? Tshortcuts call Tex_shortcuts(<f-args>)<CR>
-
-" Tex_shortcuts: Show shortcuts in terminal after : command {{{
-function! Tex_shortcuts(...)
- if a:0 == 0
- let shorts = input(" Allowed arguments are:"
- \."\n g General"
- \."\n e Environments"
- \."\n f Fonts"
- \."\n s Sections"
- \."\n m Math"
- \."\n a All"
- \."\n Enter your choice (<Enter> quits) : ")
- call Tex_shortcuts(shorts)
- elseif a:1 == 'g'
- echo g:generalshortcuts
- elseif a:1 == 'e'
- echo g:environmentshortcuts
- elseif a:1 == 'f'
- echo g:fontshortcuts
- elseif a:1 == 's'
- echo g:sectionshortcuts
- elseif a:1 == 'm'
- echo g:mathshortcuts
- elseif a:1 == 'a'
- echo g:generalshortcuts
- echo g:environmentshortcuts
- echo g:fontshortcuts
- echo g:sectionshortcuts
- echo g:mathshortcuts
- endif
-
-endfunction
-" }}}
-
-" General shortcuts {{{
-let g:generalshortcuts = ''
-\."\n General shortcuts"
-\."\n <mapleader> is a value of <Leader>"
-\."\n ".s:mapleader.'ll compile whole document'
-\."\n ".s:mapleader.'lv view compiled document'
-\."\n ".s:mapleader.'ls forward searching (if possible)'
-\."\n ".s:mapleader.'rf refresh folds'
-" }}}
-" Environment shortcuts {{{
-let g:environmentshortcuts = ''
-\."\n Environment shortcuts"
-\."\n <mapleader> is a value of g:Tex_Leader2"
-\."\n I v&V I v&V"
-\."\n ELI ".g:Tex_Leader2."li list EQN ".g:Tex_Leader2."qn quotation"
-\."\n EDE ".g:Tex_Leader2."de description ESB ".g:Tex_Leader2."sb sloppybar"
-\."\n EEN ".g:Tex_Leader2."en enumerate ETI ".g:Tex_Leader2."ti theindex"
-\."\n EIT ".g:Tex_Leader2."it itemize ETP ".g:Tex_Leader2."tp titlepage"
-\."\n ETI ".g:Tex_Leader2."ti theindex EVM ".g:Tex_Leader2."vm verbatim"
-\."\n ETL ".g:Tex_Leader2."tl trivlist EVE ".g:Tex_Leader2."ve verse"
-\."\n ETE ".g:Tex_Leader2."te table ETB ".g:Tex_Leader2."tb thebibliography"
-\."\n ETG ".g:Tex_Leader2."tg tabbing ENO ".g:Tex_Leader2."no note"
-\."\n ETR ".g:Tex_Leader2."tr tabular EOV ".g:Tex_Leader2."ov overlay"
-\."\n EAR ".g:Tex_Leader2."ar array ESL ".g:Tex_Leader2."sl slide"
-\."\n EDM ".g:Tex_Leader2."dm displaymath EAB ".g:Tex_Leader2."ab abstract"
-\."\n EEA ".g:Tex_Leader2."ea eqnarray EAP ".g:Tex_Leader2."ap appendix"
-\."\n EEQ ".g:Tex_Leader2."eq equation ECE ".g:Tex_Leader2."ce center"
-\."\n EDO ".g:Tex_Leader2."do document EFI ".g:Tex_Leader2."fi figure"
-\."\n EFC ".g:Tex_Leader2."fc filecontents ELR ".g:Tex_Leader2."lr lrbox"
-\."\n EFL ".g:Tex_Leader2."fl flushleft EMP ".g:Tex_Leader2."mp minipage"
-\."\n EFR ".g:Tex_Leader2."fr flushright EPI ".g:Tex_Leader2."pi picture"
-\."\n EMA ".g:Tex_Leader2."ma math EQE ".g:Tex_Leader2."qe quote"
-" }}}
-" Font shortcuts {{{
-let g:fontshortcuts = ''
-\."\n Font shortcuts"
-\."\n <mapleader> is a value of g:Tex_Leader"
-\."\n Shortcuts Effects"
-\."\n I v&V I&v V"
-\."\n FBF ".g:Tex_Leader."bf \\textbf{} {\\bfseries }"
-\."\n FMD ".g:Tex_Leader."md \\textmd{} {\\mdseries }"
-\."\n"
-\."\n FTT ".g:Tex_Leader."tt \\texttt{} {\\ttfamily }"
-\."\n FSF ".g:Tex_Leader."sf \\textsf{} {\\sffamily }"
-\."\n FRM ".g:Tex_Leader."rm \\textrm{} {\\rmfamily }"
-\."\n"
-\."\n FUP ".g:Tex_Leader."up \\textup{} {\\upshape }"
-\."\n FSL ".g:Tex_Leader."sl \\textsl{} {\\slshape }"
-\."\n FSC ".g:Tex_Leader."sc \\textsc{} {\\scshape }"
-\."\n FIT ".g:Tex_Leader."it \\textit{} {\\itshape }"
-" }}}
-" Section shortcuts {{{
-let g:sectionshortcuts = ''
-\."\n Section shortcuts"
-\."\n <mapleader> is a value of g:Tex_Leader2"
-\."\n I v&V"
-\."\n SPA ".g:Tex_Leader2."pa part"
-\."\n SCH ".g:Tex_Leader2."ch chapter"
-\."\n SSE ".g:Tex_Leader2."se section"
-\."\n SSS ".g:Tex_Leader2."ss subsection"
-\."\n SS2 ".g:Tex_Leader2."s2 subsubsection"
-\."\n SPG ".g:Tex_Leader2."pg paragraph"
-\."\n SSP ".g:Tex_Leader2."sp subparagraph"
-" }}}
-" Math shortcuts {{{
-let g:mathshortcuts = ''
-\."\n Math shortcuts - Insert mode"
-\."\n `a \\alpha `b \\beta"
-\."\n `g \\gamma `d \\delta"
-\."\n `e \\varepsilon `z \\zeta"
-\."\n `h \\eta `q \\theta"
-\."\n `i \\iota `k \\kappa"
-\."\n `l \\lambda `m \\mu"
-\."\n `n \\nu `x \\xi"
-\."\n `p \\pi `r \\rho"
-\."\n `s \\sigma `v \\varsigma"
-\."\n `t \\tau `u \\upsilon"
-\."\n `f \\varphi `c \\chi"
-\."\n `y \\psi `w \\omega"
-\."\n `A \\Alpha `B \\Beta"
-\."\n `G \\Gamma `D \\Delta"
-\."\n `E \\Epsilon `Z \\mathrm{Z}"
-\."\n `H \\Eta `K \\Kappa"
-\."\n `L \\Lambda `M \\Mu"
-\."\n `N \\Nu `X \\Xi"
-\."\n `P \\Pi `R \\Rho"
-\."\n `S \\Sigma `T \\Tau"
-\."\n `U \\Upsilon `C \\Chi"
-\."\n `Y \\Psi `W \\Omega"
-\."\n `( \\subset `) \\Subset"
-\."\n `= \\equiv =~ \\approx"
-\."\n `- \\bigcap `+ \\bigcup"
-\."\n `. \\cdot `* \\times"
-\."\n `\\ \\setminus `@ \\circ"
-\."\n `& \\wedge `, \\nonumber"
-\."\n `8 \\infty `_ \\bar{}"
-\."\n `: \\ddot{} `; \\dot{}"
-\."\n `^ \\hat{} `~ \\tilde{}"
-\."\n `6 \\partial"
-" }}}
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
diff --git a/.vim/ftplugin/po.vim b/.vim/ftplugin/po.vim
deleted file mode 100644
index 8b083ab..0000000
--- a/.vim/ftplugin/po.vim
+++ /dev/null
@@ -1,407 +0,0 @@
-" Vim ftplugin for PO file (GNU gettext) editing.
-" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
-" Last Change: Tue, 12 Apr 2005 13:49:55 -0400
-"
-" *** Latest version: http://www.vim.org/scripts/script.php?script_id=695 ***
-"
-" DESCRIPTION
-" This file is a Vim ftplugin for editing PO files (GNU gettext -- the GNU
-" i18n and l10n system). It automates over a dozen frequent tasks that
-" occur while editing files of this type.
-"
-" Key mappings
-" Action (Insert mode) GUI Vim Vim
-" ===============================================================
-" Move to an untransl. string forward <S-F1> \m
-" Move to an untransl. string backward <S-F2> \p
-" Copy the msgid string to msgstr <S-F3> \c
-" Delete the msgstr string <S-F4> \d
-" Move to the next fuzzy translation <S-F5> \f
-" Move to the previous fuzzy translation <S-F6> \b
-" Label the translation fuzzy <S-F7> \z
-" Remove the fuzzy label <S-F8> \r
-" Show msgfmt statistics for the file(*) <S-F11> \s
-" Browse through msgfmt errors for the file(*) <S-F12> \e
-" Put the translator info in the header \t \t
-" Put the lang. team info in the header \l \l
-" ---------------------------------------------------------------
-" (*) Only available on UNIX computers.
-"
-"
-" Key mappings
-" Action (Normal mode) GUI Vim Vim
-" ===============================================================
-" Move to an untransl. string forward <S-F1> \m
-" Move to an untransl. string backward <S-F2> \p
-" Move to the next fuzzy translation <S-F5> \f
-" Move to the previous fuzzy translation <S-F6> \b
-" Label the translation fuzzy <S-F7> \z
-" Remove the fuzzy label <S-F8> \r
-" Split-open the file under cursor gf gf
-" Show msgfmt statistics for the file(*) <S-F11> \s
-" Browse through msgfmt errors for the file(*) <S-F12> \e
-" Put the translator info in the header \t \t
-" Put the lang. team info in the header \l \l
-" ---------------------------------------------------------------
-" (*) Only available on UNIX computers.
-"
-" Remarks:
-" - "S" in the above key mappings stands for the <Shift> key and "\" in
-" fact means "<LocalLeader>" (:help <LocalLeader>), which is "\" by
-" Vim's default.
-" - Information about the translator and language team is supplied by two
-" global variables: 'g:po_translator' and 'g:po_lang_team'. They should
-" be defined in the ".vimrc" (UNIX) or "_vimrc" (Windows) file. If they
-" are not defined, the default values (descriptive strings) are put
-" instead.
-" - Vim's "gf" Normal mode command is remapped (local to the PO buffer, of
-" course). It will only function on lines starting with "#: ". Search
-" for the file is performed in the directories specified by the 'path'
-" option. The user can supply its own addition to this option via the
-" 'g:po_path' global variable. Its default value for PO files can be
-" found by typing ":set path?" from within a PO buffer. For the correct
-" format please see ":help 'path'". Warning messages are printed if no
-" or more than one file is found.
-" - Vim's Quickfix mode (see ":help quickfix") is used for browsing
-" through msgfmt-reported errors for the file. No MO file is created
-" when running the msgfmt program since its output is directed to
-" "/dev/null". The user can supply command-line arguments to the msgfmt
-" program via the global variable 'g:po_msgfmt_args'. All arguments are
-" allowed except the "-o" for output file. The default value is
-" "-vv -c".
-"
-" But there's even more!
-"
-" Every time the PO file is saved, a PO-formatted time stamp is
-" automatically added to the file header.
-"
-" INSTALLATION
-" Put this file in a Vim ftplugin directory. On UNIX computers it is
-" usually either "~/.vim/ftplugin" or "~/.vim/after/ftplugin". On Windows
-" computers, the defaults are "$VIM\vimfiles\ftplugin" or
-" "$VIM\vimfiles\after\ftplugin". For more information consult the Vim
-" help, ":help 'ftplugin'" and ":help 'runtimepath'".
-"
-" REMOVAL
-" Just delete the bloody file!
-
-" Only do this when not done yet for this buffer.
-if exists("b:did_po_mode_ftplugin") || exists("loaded_po_ftplugin")
- finish
-endif
-let b:did_po_mode_ftplugin = 1
-let loaded_po_ftplugin = 1
-
-setlocal comments=
-setlocal errorformat=%f:%l:\ %m
-setlocal makeprg=msgfmt
-
-let b:po_path = '.,..,../src,../src/*'
-if exists("g:po_path")
- let b:po_path = b:po_path . ',' . g:po_path
-endif
-exe "setlocal path=" . b:po_path
-unlet b:po_path
-
-" Check if GUI Vim is running.
-if has("gui_running")
- let gui = 1
-else
- let gui = 0
-endif
-
-" Move to the first untranslated msgstr string forward.
-if !hasmapto('<Plug>NextTransFwd')
- if gui
- imap <buffer> <unique> <S-F1> <Plug>NextTransFwd
- nmap <buffer> <unique> <S-F1> <Plug>NextTransFwd
- else
- imap <buffer> <unique> <LocalLeader>m <Plug>NextTransFwd
- nmap <buffer> <unique> <LocalLeader>m <Plug>NextTransFwd
- endif
-endif
-inoremap <buffer> <unique> <Plug>NextTransFwd <ESC>/^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.f"a
-nnoremap <buffer> <unique> <Plug>NextTransFwd /^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.
-
-" Move to the first untranslated msgstr string backward.
-if !hasmapto('<Plug>NextTransBwd')
- if gui
- imap <buffer> <unique> <S-F2> <Plug>NextTransBwd
- nmap <buffer> <unique> <S-F2> <Plug>NextTransBwd
- else
- imap <buffer> <unique> <LocalLeader>p <Plug>NextTransBwd
- nmap <buffer> <unique> <LocalLeader>p <Plug>NextTransBwd
- endif
-endif
-inoremap <buffer> <unique> <Plug>NextTransBwd <ESC>{?^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.f"a
-nnoremap <buffer> <unique> <Plug>NextTransBwd {?^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.
-
-" Copy original msgid string into msgstr string.
-if !hasmapto('<Plug>CopyMsgid')
- if gui
- imap <buffer> <unique> <S-F3> <Plug>CopyMsgid
- else
- imap <buffer> <unique> <LocalLeader>c <Plug>CopyMsgid
- endif
-endif
-inoremap <buffer> <unique> <Plug>CopyMsgid <ESC>}?^msgid<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f"y/^msgstr<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f""_d$pa
-
-" Erase the translation string.
-if !hasmapto('<Plug>DeleteTrans')
- if gui
- imap <buffer> <unique> <S-F4> <Plug>DeleteTrans
- else
- imap <buffer> <unique> <LocalLeader>d <Plug>DeleteTrans
- endif
-endif
-inoremap <buffer> <unique> <Plug>DeleteTrans <ESC>}?^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f"lc}"<ESC>i
-
-" Move to the first fuzzy translation forward.
-if !hasmapto('<Plug>NextFuzzy')
- if gui
- imap <buffer> <unique> <S-F5> <Plug>NextFuzzy
- nmap <buffer> <unique> <S-F5> <Plug>NextFuzzy
- else
- imap <buffer> <unique> <LocalLeader>f <Plug>NextFuzzy
- nmap <buffer> <unique> <LocalLeader>f <Plug>NextFuzzy
- endif
-endif
-inoremap <buffer> <unique> <Plug>NextFuzzy <ESC>/^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.$i
-nnoremap <buffer> <unique> <Plug>NextFuzzy /^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.$
-
-" Move to the first fuzzy descriptor backward.
-if !hasmapto('<Plug>PreviousFuzzy')
- if gui
- imap <buffer> <unique> <S-F6> <Plug>PreviousFuzzy
- nmap <buffer> <unique> <S-F6> <Plug>PreviousFuzzy
- else
- imap <buffer> <unique> <LocalLeader>b <Plug>PreviousFuzzy
- nmap <buffer> <unique> <LocalLeader>b <Plug>PreviousFuzzy
- endif
-endif
-inoremap <buffer> <unique> <Plug>PreviousFuzzy <ESC>{?^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.$i
-nnoremap <buffer> <unique> <Plug>PreviousFuzzy {?^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.$
-
-" Insert fuzzy description for the translation.
-if !hasmapto('<Plug>InsertFuzzy')
- if gui
- imap <buffer> <unique> <S-F7> <Plug>InsertFuzzy
- nmap <buffer> <unique> <S-F7> <Plug>InsertFuzzy
- else
- imap <buffer> <unique> <LocalLeader>z <Plug>InsertFuzzy
- nmap <buffer> <unique> <LocalLeader>z <Plug>InsertFuzzy
- endif
-endif
-inoremap <buffer> <unique> <Plug>InsertFuzzy <ESC>{vap:call <SID>InsertFuzzy()<CR>gv<ESC>}i
-nnoremap <buffer> <unique> <Plug>InsertFuzzy {vap:call <SID>InsertFuzzy()<CR>gv<ESC>}
-
-fu! <SID>InsertFuzzy() range
- let n = a:firstline
- while n <= a:lastline
- let line = getline(n)
- if line =~ '^#,.*fuzzy'
- return
- elseif line =~ '^#,'
- call setline(n, substitute(line, '#,','#, fuzzy,', ""))
- return
- elseif line =~ '^msgid'
- call append(n-1, '#, fuzzy')
- return
- endif
- let n = n + 1
- endwhile
-endf
-
-" Remove fuzzy description from the translation.
-if !hasmapto('<Plug>RemoveFuzzy')
- if gui
- imap <buffer> <unique> <S-F8> <Plug>RemoveFuzzy
- nmap <buffer> <unique> <S-F8> <Plug>RemoveFuzzy
- else
- imap <buffer> <unique> <LocalLeader>r <Plug>RemoveFuzzy
- nmap <buffer> <unique> <LocalLeader>r <Plug>RemoveFuzzy
- endif
-endif
-inoremap <buffer> <unique> <Plug>RemoveFuzzy <ESC>{vap:call <SID>RemoveFuzzy()<CR>i
-nnoremap <buffer> <unique> <Plug>RemoveFuzzy {vap:call <SID>RemoveFuzzy()<CR>
-
-fu! <SID>RemoveFuzzy()
- let line = getline(".")
- if line =~ '^#,\s*fuzzy$'
- exe "normal! dd"
- elseif line =~ '^#,\(.*,\)\=\s*fuzzy'
- exe 's/,\s*fuzzy//'
- endif
-endf
-
-" Show PO translation statistics. (Only available on UNIX computers for now.)
-if has("unix")
- if !hasmapto('<Plug>MsgfmtStats')
- if gui
- imap <buffer> <unique> <S-F11> <Plug>MsgfmtStats
- nmap <buffer> <unique> <S-F11> <Plug>MsgfmtStats
- else
- imap <buffer> <unique> <LocalLeader>s <Plug>MsgfmtStats
- nmap <buffer> <unique> <LocalLeader>s <Plug>MsgfmtStats
- endif
- endif
- inoremap <buffer> <unique> <Plug>MsgfmtStats <ESC>:call <SID>Msgfmt('stats')<CR>
- nnoremap <buffer> <unique> <Plug>MsgfmtStats :call <SID>Msgfmt('stats')<CR>
-
- if !hasmapto('<Plug>MsgfmtTest')
- if gui
- imap <buffer> <unique> <S-F12> <Plug>MsgfmtTest
- nmap <buffer> <unique> <S-F12> <Plug>MsgfmtTest
- else
- imap <buffer> <unique> <LocalLeader>e <Plug>MsgfmtTest
- nmap <buffer> <unique> <LocalLeader>e <Plug>MsgfmtTest
- endif
- endif
- inoremap <buffer> <unique> <Plug>MsgfmtTest <ESC>:call <SID>Msgfmt('test')<CR>
- nnoremap <buffer> <unique> <Plug>MsgfmtTest :call <SID>Msgfmt('test')<CR>
-
- fu! <SID>Msgfmt(action)
- " Check if the file needs to be saved first.
- exe "if &modified | w | endif"
- if a:action == 'stats'
- exe "!msgfmt --statistics -o /dev/null %"
- elseif a:action == 'test'
- if exists("g:po_msgfmt_args")
- let args = g:po_msgfmt_args
- else
- let args = '-vv -c'
- endif
- exe "make! " . args . " -o /dev/null %"
- copen
- endif
- endf
-endif
-
-" Add translator info in the file header.
-if !hasmapto('<Plug>TranslatorInfo')
- if gui
- imap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo
- nmap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo
- else
- imap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo
- nmap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo
- endif
-endif
-inoremap <buffer> <unique> <Plug>TranslatorInfo <ESC>:call <SID>AddHeaderInfo('person')<CR>i
-nnoremap <buffer> <unique> <Plug>TranslatorInfo :call <SID>AddHeaderInfo('person')<CR>
-
-" Add language team info in the file header.
-if !hasmapto('<Plug>LangTeamInfo')
- if gui
- imap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo
- nmap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo
- else
- imap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo
- nmap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo
- endif
-endif
-inoremap <buffer> <unique> <Plug>LangTeamInfo <ESC>:call <SID>AddHeaderInfo('team')<CR>i
-nnoremap <buffer> <unique> <Plug>LangTeamInfo :call <SID>AddHeaderInfo('team')<CR>
-
-fu! <SID>AddHeaderInfo(action)
- if a:action == 'person'
- let search_for = 'Last-Translator'
- if exists("g:po_translator")
- let add = g:po_translator
- else
- let add = 'YOUR NAME <E-MAIL@ADDRESS>'
- endif
- elseif a:action == 'team'
- let search_for = 'Language-Team'
- if exists("g:po_lang_team")
- let add = g:po_lang_team
- else
- let add = 'LANGUAGE TEAM <E-MAIL@ADDRESS or HOME PAGE>'
- endif
- else
- " Undefined action -- just do nothing.
- return
- endif
- let search_for = '"' . search_for . ':'
- let add = add . '\\n"'
-
- normal! 1G
- if search('^' . search_for)
- silent! exe 's/^\(' . search_for . '\).*$/\1 ' . add
- endif
- call histdel("/", -1)
-endf
-
-" Write automagically PO-formatted time stamp every time the file is saved.
-augroup PoFileTimestamp
- au!
- au BufWrite *.po,*.po.gz call <SID>PoFileTimestamp()
-augroup END
-
-fu! <SID>PoFileTimestamp()
- " Prepare for cleanup at the end of this function.
- let hist_search = histnr("/")
- let old_report = 'set report='.&report
- let &report = 100
- let cursor_pos_cmd = line(".").'normal! '.virtcol(".").'|'
- normal! H
- let scrn_pos = line(".").'normal! zt'
-
- " Put in time stamp.
- normal! 1G
- if search('^"PO-Revision-Date:')
- silent! exe 's/^\("PO-Revision-Date:\).*$/\1 ' . strftime("%Y-%m-%d %H:%M%z") . '\\n"'
- endif
-
- " Cleanup and restore old cursor position.
- while histnr("/") > hist_search && histnr("/") > 0
- call histdel("/", -1)
- endwhile
- exe scrn_pos
- exe cursor_pos_cmd
- exe old_report
-endf
-
-" On "gf" Normal mode command, split window and open the file under the
-" cursor.
-if !hasmapto('<Plug>OpenSourceFile')
- map <buffer> <unique> gf <Plug>OpenSourceFile
-endif
-noremap <buffer> <unique> <Plug>OpenSourceFile :call <SID>OpenSourceFile()<CR>
-
-" This opens the file under the cursor in a split-window.
-fu! <SID>OpenSourceFile()
- " Check if we're at the right line. Return if not.
- if getline(".") !~ '^#:\s\+' | return | endif
-
- " Get the reference, check it, and return if it doesn't have the assumed
- " format.
- let ref = expand("<cWORD>")
- if ref !~ ':\d\+$' | return | endif
-
- " Split the reference into the file name and the line number parts.
- let d = match(ref, ':')
- let flnm = strpart(ref, 0, d)
- let lnr = strpart(ref, d+1, 100)
-
- " Start searching for the file in the directories specified with the 'path'
- " option.
- let ff = globpath(&path, flnm)
-
- " Check what's been found. Report if no or more than one file found and
- " return.
- if ff == ''
- echohl WarningMsg | echo "No file found in the path."
- echohl None
- exe "normal \<Esc>"
- elseif match(ff, "\n") > 0
- echohl WarningMsg | echo "More than one file found: " . ff . "\nAborting."
- echohl None
- exe "normal \<Esc>"
- else
- " Split the window and open the file at the correct line.
- execute "silent sp +" . lnr . " " . ff
- endif
-endf
-
-unlet gui
diff --git a/.vim/ftplugin/pythoncomplete.vim b/.vim/ftplugin/pythoncomplete.vim
deleted file mode 100644
index 57add71..0000000
--- a/.vim/ftplugin/pythoncomplete.vim
+++ /dev/null
@@ -1,625 +0,0 @@
-"pythoncomplete.vim - Omni Completion for python
-" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
-" Version: 0.9
-" Last Updated: 18 Jun 2009
-"
-" Changes
-" TODO:
-" 'info' item output can use some formatting work
-" Add an "unsafe eval" mode, to allow for return type evaluation
-" Complete basic syntax along with import statements
-" i.e. "import url<c-x,c-o>"
-" Continue parsing on invalid line??
-"
-" v 0.9
-" * Fixed docstring parsing for classes and functions
-" * Fixed parsing of *args and **kwargs type arguments
-" * Better function param parsing to handle things like tuples and
-" lambda defaults args
-"
-" v 0.8
-" * Fixed an issue where the FIRST assignment was always used instead of
-" using a subsequent assignment for a variable
-" * Fixed a scoping issue when working inside a parameterless function
-"
-"
-" v 0.7
-" * Fixed function list sorting (_ and __ at the bottom)
-" * Removed newline removal from docs. It appears vim handles these better in
-" recent patches
-"
-" v 0.6:
-" * Fixed argument completion
-" * Removed the 'kind' completions, as they are better indicated
-" with real syntax
-" * Added tuple assignment parsing (whoops, that was forgotten)
-" * Fixed import handling when flattening scope
-"
-" v 0.5:
-" Yeah, I skipped a version number - 0.4 was never public.
-" It was a bugfix version on top of 0.3. This is a complete
-" rewrite.
-"
-
-if !has('python')
- echo "Error: Required vim compiled with +python"
- finish
-endif
-
-function! pythoncomplete#Complete(findstart, base)
- "findstart = 1 when we need to get the text length
- if a:findstart == 1
- let line = getline('.')
- let idx = col('.')
- while idx > 0
- let idx -= 1
- let c = line[idx]
- if c =~ '\w'
- continue
- elseif ! c =~ '\.'
- let idx = -1
- break
- else
- break
- endif
- endwhile
-
- return idx
- "findstart = 0 when we need to return the list of completions
- else
- "vim no longer moves the cursor upon completion... fix that
- let line = getline('.')
- let idx = col('.')
- let cword = ''
- while idx > 0
- let idx -= 1
- let c = line[idx]
- if c =~ '\w' || c =~ '\.'
- let cword = c . cword
- continue
- elseif strlen(cword) > 0 || idx == 0
- break
- endif
- endwhile
- execute "python vimcomplete('" . cword . "', '" . a:base . "')"
- return g:pythoncomplete_completions
- endif
-endfunction
-
-function! s:DefPython()
-python << PYTHONEOF
-import sys, tokenize, cStringIO, types
-from token import NAME, DEDENT, NEWLINE, STRING
-
-debugstmts=[]
-def dbg(s): debugstmts.append(s)
-def showdbg():
- for d in debugstmts: print "DBG: %s " % d
-
-def vimcomplete(context,match):
- global debugstmts
- debugstmts = []
- try:
- import vim
- def complsort(x,y):
- try:
- xa = x['abbr']
- ya = y['abbr']
- if xa[0] == '_':
- if xa[1] == '_' and ya[0:2] == '__':
- return xa > ya
- elif ya[0:2] == '__':
- return -1
- elif y[0] == '_':
- return xa > ya
- else:
- return 1
- elif ya[0] == '_':
- return -1
- else:
- return xa > ya
- except:
- return 0
- cmpl = Completer()
- cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
- all = cmpl.get_completions(context,match)
- all.sort(complsort)
- dictstr = '['
- # have to do this for double quoting
- for cmpl in all:
- dictstr += '{'
- for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x])
- dictstr += '"icase":0},'
- if dictstr[-1] == ',': dictstr = dictstr[:-1]
- dictstr += ']'
- #dbg("dict: %s" % dictstr)
- vim.command("silent let g:pythoncomplete_completions = %s" % dictstr)
- #dbg("Completion dict:\n%s" % all)
- except vim.error:
- dbg("VIM Error: %s" % vim.error)
-
-class Completer(object):
- def __init__(self):
- self.compldict = {}
- self.parser = PyParser()
-
- def evalsource(self,text,line=0):
- sc = self.parser.parse(text,line)
- src = sc.get_code()
- dbg("source: %s" % src)
- try: exec(src) in self.compldict
- except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
- for l in sc.locals:
- try: exec(l) in self.compldict
- except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
-
- def _cleanstr(self,doc):
- return doc.replace('"',' ').replace("'",' ')
-
- def get_arguments(self,func_obj):
- def _ctor(obj):
- try: return class_ob.__init__.im_func
- except AttributeError:
- for base in class_ob.__bases__:
- rc = _find_constructor(base)
- if rc is not None: return rc
- return None
-
- arg_offset = 1
- if type(func_obj) == types.ClassType: func_obj = _ctor(func_obj)
- elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
- else: arg_offset = 0
-
- arg_text=''
- if type(func_obj) in [types.FunctionType, types.LambdaType]:
- try:
- cd = func_obj.func_code
- real_args = cd.co_varnames[arg_offset:cd.co_argcount]
- defaults = func_obj.func_defaults or ''
- defaults = map(lambda name: "=%s" % name, defaults)
- defaults = [""] * (len(real_args)-len(defaults)) + defaults
- items = map(lambda a,d: a+d, real_args, defaults)
- if func_obj.func_code.co_flags & 0x4:
- items.append("...")
- if func_obj.func_code.co_flags & 0x8:
- items.append("***")
- arg_text = (','.join(items)) + ')'
-
- except:
- dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
- pass
- if len(arg_text) == 0:
- # The doc string sometimes contains the function signature
- # this works for alot of C modules that are part of the
- # standard library
- doc = func_obj.__doc__
- if doc:
- doc = doc.lstrip()
- pos = doc.find('\n')
- if pos > 0:
- sigline = doc[:pos]
- lidx = sigline.find('(')
- ridx = sigline.find(')')
- if lidx > 0 and ridx > 0:
- arg_text = sigline[lidx+1:ridx] + ')'
- if len(arg_text) == 0: arg_text = ')'
- return arg_text
-
- def get_completions(self,context,match):
- dbg("get_completions('%s','%s')" % (context,match))
- stmt = ''
- if context: stmt += str(context)
- if match: stmt += str(match)
- try:
- result = None
- all = {}
- ridx = stmt.rfind('.')
- if len(stmt) > 0 and stmt[-1] == '(':
- result = eval(_sanitize(stmt[:-1]), self.compldict)
- doc = result.__doc__
- if doc is None: doc = ''
- args = self.get_arguments(result)
- return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
- elif ridx == -1:
- match = stmt
- all = self.compldict
- else:
- match = stmt[ridx+1:]
- stmt = _sanitize(stmt[:ridx])
- result = eval(stmt, self.compldict)
- all = dir(result)
-
- dbg("completing: stmt:%s" % stmt)
- completions = []
-
- try: maindoc = result.__doc__
- except: maindoc = ' '
- if maindoc is None: maindoc = ' '
- for m in all:
- if m == "_PyCmplNoType": continue #this is internal
- try:
- dbg('possible completion: %s' % m)
- if m.find(match) == 0:
- if result is None: inst = all[m]
- else: inst = getattr(result,m)
- try: doc = inst.__doc__
- except: doc = maindoc
- typestr = str(inst)
- if doc is None or doc == '': doc = maindoc
-
- wrd = m[len(match):]
- c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
- if "function" in typestr:
- c['word'] += '('
- c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
- elif "method" in typestr:
- c['word'] += '('
- c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
- elif "module" in typestr:
- c['word'] += '.'
- elif "class" in typestr:
- c['word'] += '('
- c['abbr'] += '('
- completions.append(c)
- except:
- i = sys.exc_info()
- dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
- return completions
- except:
- i = sys.exc_info()
- dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
- return []
-
-class Scope(object):
- def __init__(self,name,indent,docstr=''):
- self.subscopes = []
- self.docstr = docstr
- self.locals = []
- self.parent = None
- self.name = name
- self.indent = indent
-
- def add(self,sub):
- #print 'push scope: [%s@%s]' % (sub.name,sub.indent)
- sub.parent = self
- self.subscopes.append(sub)
- return sub
-
- def doc(self,str):
- """ Clean up a docstring """
- d = str.replace('\n',' ')
- d = d.replace('\t',' ')
- while d.find(' ') > -1: d = d.replace(' ',' ')
- while d[0] in '"\'\t ': d = d[1:]
- while d[-1] in '"\'\t ': d = d[:-1]
- dbg("Scope(%s)::docstr = %s" % (self,d))
- self.docstr = d
-
- def local(self,loc):
- self._checkexisting(loc)
- self.locals.append(loc)
-
- def copy_decl(self,indent=0):
- """ Copy a scope's declaration only, at the specified indent level - not local variables """
- return Scope(self.name,indent,self.docstr)
-
- def _checkexisting(self,test):
- "Convienance function... keep out duplicates"
- if test.find('=') > -1:
- var = test.split('=')[0].strip()
- for l in self.locals:
- if l.find('=') > -1 and var == l.split('=')[0].strip():
- self.locals.remove(l)
-
- def get_code(self):
- str = ""
- if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
- for l in self.locals:
- if l.startswith('import'): str += l+'\n'
- str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
- for sub in self.subscopes:
- str += sub.get_code()
- for l in self.locals:
- if not l.startswith('import'): str += l+'\n'
-
- return str
-
- def pop(self,indent):
- #print 'pop scope: [%s] to [%s]' % (self.indent,indent)
- outer = self
- while outer.parent != None and outer.indent >= indent:
- outer = outer.parent
- return outer
-
- def currentindent(self):
- #print 'parse current indent: %s' % self.indent
- return ' '*self.indent
-
- def childindent(self):
- #print 'parse child indent: [%s]' % (self.indent+1)
- return ' '*(self.indent+1)
-
-class Class(Scope):
- def __init__(self, name, supers, indent, docstr=''):
- Scope.__init__(self,name,indent, docstr)
- self.supers = supers
- def copy_decl(self,indent=0):
- c = Class(self.name,self.supers,indent, self.docstr)
- for s in self.subscopes:
- c.add(s.copy_decl(indent+1))
- return c
- def get_code(self):
- str = '%sclass %s' % (self.currentindent(),self.name)
- if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers)
- str += ':\n'
- if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
- if len(self.subscopes) > 0:
- for s in self.subscopes: str += s.get_code()
- else:
- str += '%spass\n' % self.childindent()
- return str
-
-
-class Function(Scope):
- def __init__(self, name, params, indent, docstr=''):
- Scope.__init__(self,name,indent, docstr)
- self.params = params
- def copy_decl(self,indent=0):
- return Function(self.name,self.params,indent, self.docstr)
- def get_code(self):
- str = "%sdef %s(%s):\n" % \
- (self.currentindent(),self.name,','.join(self.params))
- if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
- str += "%spass\n" % self.childindent()
- return str
-
-class PyParser:
- def __init__(self):
- self.top = Scope('global',0)
- self.scope = self.top
-
- def _parsedotname(self,pre=None):
- #returns (dottedname, nexttoken)
- name = []
- if pre is None:
- tokentype, token, indent = self.next()
- if tokentype != NAME and token != '*':
- return ('', token)
- else: token = pre
- name.append(token)
- while True:
- tokentype, token, indent = self.next()
- if token != '.': break
- tokentype, token, indent = self.next()
- if tokentype != NAME: break
- name.append(token)
- return (".".join(name), token)
-
- def _parseimportlist(self):
- imports = []
- while True:
- name, token = self._parsedotname()
- if not name: break
- name2 = ''
- if token == 'as': name2, token = self._parsedotname()
- imports.append((name, name2))
- while token != "," and "\n" not in token:
- tokentype, token, indent = self.next()
- if token != ",": break
- return imports
-
- def _parenparse(self):
- name = ''
- names = []
- level = 1
- while True:
- tokentype, token, indent = self.next()
- if token in (')', ',') and level == 1:
- if '=' not in name: name = name.replace(' ', '')
- names.append(name.strip())
- name = ''
- if token == '(':
- level += 1
- name += "("
- elif token == ')':
- level -= 1
- if level == 0: break
- else: name += ")"
- elif token == ',' and level == 1:
- pass
- else:
- name += "%s " % str(token)
- return names
-
- def _parsefunction(self,indent):
- self.scope=self.scope.pop(indent)
- tokentype, fname, ind = self.next()
- if tokentype != NAME: return None
-
- tokentype, open, ind = self.next()
- if open != '(': return None
- params=self._parenparse()
-
- tokentype, colon, ind = self.next()
- if colon != ':': return None
-
- return Function(fname,params,indent)
-
- def _parseclass(self,indent):
- self.scope=self.scope.pop(indent)
- tokentype, cname, ind = self.next()
- if tokentype != NAME: return None
-
- super = []
- tokentype, next, ind = self.next()
- if next == '(':
- super=self._parenparse()
- elif next != ':': return None
-
- return Class(cname,super,indent)
-
- def _parseassignment(self):
- assign=''
- tokentype, token, indent = self.next()
- if tokentype == tokenize.STRING or token == 'str':
- return '""'
- elif token == '(' or token == 'tuple':
- return '()'
- elif token == '[' or token == 'list':
- return '[]'
- elif token == '{' or token == 'dict':
- return '{}'
- elif tokentype == tokenize.NUMBER:
- return '0'
- elif token == 'open' or token == 'file':
- return 'file'
- elif token == 'None':
- return '_PyCmplNoType()'
- elif token == 'type':
- return 'type(_PyCmplNoType)' #only for method resolution
- else:
- assign += token
- level = 0
- while True:
- tokentype, token, indent = self.next()
- if token in ('(','{','['):
- level += 1
- elif token in (']','}',')'):
- level -= 1
- if level == 0: break
- elif level == 0:
- if token in (';','\n'): break
- assign += token
- return "%s" % assign
-
- def next(self):
- type, token, (lineno, indent), end, self.parserline = self.gen.next()
- if lineno == self.curline:
- #print 'line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name)
- self.currentscope = self.scope
- return (type, token, indent)
-
- def _adjustvisibility(self):
- newscope = Scope('result',0)
- scp = self.currentscope
- while scp != None:
- if type(scp) == Function:
- slice = 0
- #Handle 'self' params
- if scp.parent != None and type(scp.parent) == Class:
- slice = 1
- newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
- for p in scp.params[slice:]:
- i = p.find('=')
- if len(p) == 0: continue
- pvar = ''
- ptype = ''
- if i == -1:
- pvar = p
- ptype = '_PyCmplNoType()'
- else:
- pvar = p[:i]
- ptype = _sanitize(p[i+1:])
- if pvar.startswith('**'):
- pvar = pvar[2:]
- ptype = '{}'
- elif pvar.startswith('*'):
- pvar = pvar[1:]
- ptype = '[]'
-
- newscope.local('%s = %s' % (pvar,ptype))
-
- for s in scp.subscopes:
- ns = s.copy_decl(0)
- newscope.add(ns)
- for l in scp.locals: newscope.local(l)
- scp = scp.parent
-
- self.currentscope = newscope
- return self.currentscope
-
- #p.parse(vim.current.buffer[:],vim.eval("line('.')"))
- def parse(self,text,curline=0):
- self.curline = int(curline)
- buf = cStringIO.StringIO(''.join(text) + '\n')
- self.gen = tokenize.generate_tokens(buf.readline)
- self.currentscope = self.scope
-
- try:
- freshscope=True
- while True:
- tokentype, token, indent = self.next()
- #dbg( 'main: token=[%s] indent=[%s]' % (token,indent))
-
- if tokentype == DEDENT or token == "pass":
- self.scope = self.scope.pop(indent)
- elif token == 'def':
- func = self._parsefunction(indent)
- if func is None:
- print "function: syntax error..."
- continue
- dbg("new scope: function")
- freshscope = True
- self.scope = self.scope.add(func)
- elif token == 'class':
- cls = self._parseclass(indent)
- if cls is None:
- print "class: syntax error..."
- continue
- freshscope = True
- dbg("new scope: class")
- self.scope = self.scope.add(cls)
-
- elif token == 'import':
- imports = self._parseimportlist()
- for mod, alias in imports:
- loc = "import %s" % mod
- if len(alias) > 0: loc += " as %s" % alias
- self.scope.local(loc)
- freshscope = False
- elif token == 'from':
- mod, token = self._parsedotname()
- if not mod or token != "import":
- print "from: syntax error..."
- continue
- names = self._parseimportlist()
- for name, alias in names:
- loc = "from %s import %s" % (mod,name)
- if len(alias) > 0: loc += " as %s" % alias
- self.scope.local(loc)
- freshscope = False
- elif tokentype == STRING:
- if freshscope: self.scope.doc(token)
- elif tokentype == NAME:
- name,token = self._parsedotname(token)
- if token == '=':
- stmt = self._parseassignment()
- dbg("parseassignment: %s = %s" % (name, stmt))
- if stmt != None:
- self.scope.local("%s = %s" % (name,stmt))
- freshscope = False
- except StopIteration: #thrown on EOF
- pass
- except:
- dbg("parse error: %s, %s @ %s" %
- (sys.exc_info()[0], sys.exc_info()[1], self.parserline))
- return self._adjustvisibility()
-
-def _sanitize(str):
- val = ''
- level = 0
- for c in str:
- if c in ('(','{','['):
- level += 1
- elif c in (']','}',')'):
- level -= 1
- elif level == 0:
- val += c
- return val
-
-sys.path.extend(['.','..'])
-PYTHONEOF
-endfunction
-
-call s:DefPython()
-" vim: set et ts=4:
diff --git a/.vim/ftplugin/tex.vim b/.vim/ftplugin/tex.vim
deleted file mode 100644
index e1d7438..0000000
--- a/.vim/ftplugin/tex.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" this is mostly a matter of taste. but LaTeX looks good with just a bit
-" of indentation.
-set sw=2
-" TIP: if you write your \label's as \label{fig:something}, then if you
-" type in \ref{fig: and press <C-n> you will automatically cycle through
-" all the figure labels. Very useful!
-set iskeyword+=:
-
-" So I can use e-acute
-imap <buffer> <leader>it <Plug>Tex_InsertItemOnThisLine
diff --git a/.vim/ftplugin/tex_latexSuite.vim b/.vim/ftplugin/tex_latexSuite.vim
deleted file mode 100644
index 582d014..0000000
--- a/.vim/ftplugin/tex_latexSuite.vim
+++ /dev/null
@@ -1,13 +0,0 @@
-" LaTeX filetype
-" Language: LaTeX (ft=tex)
-" Maintainer: Srinath Avadhanula
-" Email: srinath@fastmail.fm
-
-if !exists('s:initLatexSuite')
- let s:initLatexSuite = 1
- exec 'so '.expand('<sfile>:p:h').'/latex-suite/main.vim'
-
- silent! do LatexSuite User LatexSuiteInitPost
-endif
-
-silent! do LatexSuite User LatexSuiteFileType
diff --git a/.vim/haskellmode-20081031.vba b/.vim/haskellmode-20081031.vba
deleted file mode 100644
index 1a33424..0000000
--- a/.vim/haskellmode-20081031.vba
+++ /dev/null
@@ -1,1850 +0,0 @@
-" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
-UseVimball
-finish
-compiler/ghc.vim [[[1
-445
-
-" Vim Compiler File
-" Compiler: GHC
-" Maintainer: Claus Reinke <claus.reinke@talk21.com>
-" Last Change: 06/07/2008
-"
-" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/
-
-" ------------------------------ paths & quickfix settings first
-"
-
-if exists("current_compiler") && current_compiler == "ghc"
- finish
-endif
-let current_compiler = "ghc"
-
-let s:scriptname = "ghc.vim"
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
-let b:ghc_staticoptions = ''
-
-" set makeprg (for quickfix mode)
-execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %'
-"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %'
-
-" quickfix mode:
-" fetch file/line-info from error message
-" TODO: how to distinguish multiline errors from warnings?
-" (both have the same header, and errors have no common id-tag)
-" how to get rid of first empty message in result list?
-setlocal errorformat=
- \%-Z\ %#,
- \%W%f:%l:%c:\ Warning:\ %m,
- \%E%f:%l:%c:\ %m,
- \%E%>%f:%l:%c:,
- \%+C\ \ %#%m,
- \%W%>%f:%l:%c:,
- \%+C\ \ %#%tarning:\ %m,
-
-" oh, wouldn't you guess it - ghc reports (partially) to stderr..
-setlocal shellpipe=2>
-
-" ------------------------- but ghc can do a lot more for us..
-"
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-" initialize map of identifiers to their types
-" associate type map updates to changedtick
-if !exists("b:ghc_types")
- let b:ghc_types = {}
- let b:my_changedtick = b:changedtick
-endif
-
-if exists("g:haskell_functions")
- finish
-endif
-let g:haskell_functions = "ghc"
-
-" avoid hit-enter prompts
-set cmdheight=3
-
-" edit static GHC options
-" TODO: add completion for options/packages?
-command! GHCStaticOptions call GHC_StaticOptions()
-function! GHC_StaticOptions()
- let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions)
- execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %'
- let b:my_changedtick -=1
-endfunction
-
-map <LocalLeader>T :call GHC_ShowType(1)<cr>
-map <LocalLeader>t :call GHC_ShowType(0)<cr>
-function! GHC_ShowType(addTypeDecl)
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = ( symb ? '('.name.')' : name )
- call GHC_HaveTypes()
- if !has_key(b:ghc_types,name)
- redraw
- echo pname "type not known"
- else
- redraw
- for type in split(b:ghc_types[name],' -- ')
- echo pname "::" type
- if a:addTypeDecl
- call append( line(".")-1, pname . " :: " . type )
- endif
- endfor
- endif
-endfunction
-
-" show type of identifier under mouse pointer in balloon
-if has("balloon_eval")
- set ballooneval
- set balloondelay=600
- set balloonexpr=GHC_TypeBalloon()
- function! GHC_TypeBalloon()
- if exists("b:current_compiler") && b:current_compiler=="ghc"
- let [line] = getbufline(v:beval_bufnr,v:beval_lnum)
- let namsym = Haskell_GetNameSymbol(line,v:beval_col,0)
- if namsym==[]
- return ''
- endif
- let [start,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = name " ( symb ? '('.name.')' : name )
- silent call GHC_HaveTypes()
- if has("balloon_multiline")
- return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '')
- else
- return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '')
- endif
- else
- return ''
- endif
- endfunction
-endif
-
-map <LocalLeader>si :call GHC_ShowInfo()<cr>
-function! GHC_ShowInfo()
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : (qual.'.'.unqual)
- let output = GHC_Info(name)
- redraw
- echo output
-endfunction
-
-" fill the type map, unless nothing has changed since the last attempt
-function! GHC_HaveTypes()
- if b:ghc_types == {} && (b:my_changedtick != b:changedtick)
- let b:my_changedtick = b:changedtick
- return GHC_BrowseAll()
- endif
-endfunction
-
-" update b:ghc_types after successful make
-au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif
-
-" count only error entries in quickfix list, ignoring warnings
-function! GHC_CountErrors()
- let c=0
- for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor
- return c
-endfunction
-
-command! GHCReload call GHC_BrowseAll()
-function! GHC_BrowseAll()
- " let imports = Haskell_GatherImports()
- " let modules = keys(imports[0]) + keys(imports[1])
- let imports = {} " no need for them at the moment
- let current = GHC_NameCurrent()
- let module = current==[] ? 'Main' : current[0]
- if GHC_VersionGE([6,8,1])
- return GHC_BrowseBangStar(module)
- else
- return GHC_BrowseMultiple(imports,['*'.module])
- endif
-endfunction
-
-function! GHC_VersionGE(target)
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>=target[0]))
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
-
-function! GHC_NameCurrent()
- let last = line("$")
- let l = 1
- while l<last
- let ml = matchlist( getline(l), '^module\s*\([^ (]*\)')
- if ml != []
- let [_,module;x] = ml
- return [module]
- endif
- let l += 1
- endwhile
- redraw
- echo "cannot find module header for file " . expand("%")
- return []
-endfunction
-
-function! GHC_BrowseBangStar(module)
- redraw
- echo "browsing module " a:module
- let command = ":browse! *" . a:module
- let orig_shellredir = &shellredir
- let &shellredir = ">" " ignore error/warning messages, only output or lack of it
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- let &shellredir = orig_shellredir
- return GHC_ProcessBang(a:module,output)
-endfunction
-
-function! GHC_BrowseMultiple(imports,modules)
- redraw
- echo "browsing modules " a:modules
- let command = ":browse " . join( a:modules, " \n :browse ")
- let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g')
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- return GHC_Process(a:imports,output)
-endfunction
-
-function! GHC_Info(what)
- " call GHC_HaveTypes()
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what)
- return output
-endfunction
-
-function! GHC_ProcessBang(module,output)
- let module = a:module
- let b = a:output
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\)\(\S*\)\s*::\(.*\)'
- let commentPat = '^-- \(\S*\)'
- let definedPat = '^-- defined locally'
- let importedPat = '^-- imported via \(.*\)'
- if !(b=~commentPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute( id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse! *<current>, we get both unqualified and qualified ids
- let qualified = (id =~ '\.') && (id =~ '[A-Z]')
- let b:ghc_types[id] = type
- if !qualified
- for qual in qualifiers
- let b:ghc_types[qual.'.'.id] = type
- endfor
- endif
- else
- let mlImported = matchlist( l, importedPat )
- let mlDefined = matchlist( l, definedPat )
- if mlImported != []
- let [_,modules;x] = mlImported
- let qualifiers = split( modules, ', ' )
- elseif mlDefined != []
- let qualifiers = [module]
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-function! GHC_Process(imports,output)
- let b = a:output
- let imports = a:imports
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)'
- let modPat = '^-- \(\S*\)'
- " add '-- defined locally' and '-- imported via ..'
- if !(b=~modPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute(id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse *<current>, we get both unqualified and qualified ids
- if current_module " || has_key(imports[0],module)
- if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type)
- let b:ghc_types[id] .= ' -- '.type
- else
- let b:ghc_types[id] = type
- endif
- endif
- if 0 " has_key(imports[1],module)
- let qualid = module.'.'.id
- let b:ghc_types[qualid] = type
- endif
- else
- let mlMod = matchlist( l, modPat )
- if mlMod != []
- let [_,module;x] = mlMod
- let current_module = module[0]=='*'
- let module = current_module ? module[1:] : module
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "]
-
-" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O)
-function! GHC_CompleteImports(findstart, base)
- if a:findstart
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- call GHC_HaveTypes()
- for key in keys(b:ghc_types)
- if key[0 : l]==a:base
- let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}]
- endif
- endfor
- return res
- endif
-endfunction
-set omnifunc=GHC_CompleteImports
-set completeopt=menu,menuone,longest
-
-map <LocalLeader>ct :call GHC_CreateTagfile()<cr>
-function! GHC_CreateTagfile()
- redraw
- echo "creating tags file"
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%"))
- " for ghcs older than 6.6, you would need to call another program
- " here, such as hasktags
- echo output
-endfunction
-
-command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e <f-args>')
-
-" use :make 'not in scope' errors to explicitly list imported ids
-" cursor needs to be on import line, in correctly loadable module
-map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr>
-function! GHC_MkImportsExplicit()
- let save_cursor = getpos(".")
- let line = getline('.')
- let lineno = line('.')
- let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)')
- if ml!=[]
- let [_,q,mod;x] = ml
- silent make
- if getqflist()==[]
- call setline(lineno,'-- '.line)
- silent write
- silent make
- let qflist = getqflist()
- call setline(lineno,line)
- silent write
- let ids = []
- for d in qflist
- let ml = matchlist(d.text,'Not in scope: `\([^'']*\)''')
- if ml!=[]
- let [_,qid;x] = ml
- let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid )
- let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' )
- let ids += [pid]
- endif
- endfor
- call setline(lineno,'import'.q.' '.mod.'('.join(ids,',').')')
- endif
- endif
- call setpos('.', save_cursor)
-endfunction
-
-if GHC_VersionGE([6,8,2])
- let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"')
-else
- let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"]
-endif
-
-amenu ]OPTIONS_GHC.- :echo '-'<cr>
-aunmenu ]OPTIONS_GHC
-for o in opts
- exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>'
-endfor
-if has("gui_running")
- map <LocalLeader>opt :popup ]OPTIONS_GHC<cr>
-else
- map <LocalLeader>opt :emenu ]OPTIONS_GHC.
-endif
-
-amenu ]LANGUAGES_GHC.- :echo '-'<cr>
-aunmenu ]LANGUAGES_GHC
-if GHC_VersionGE([6,8])
- let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n')
- for l in ghc_supported_languages
- exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>'
- endfor
- if has("gui_running")
- map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr>
- else
- map <LocalLeader>lang :emenu ]LANGUAGES_GHC.
- endif
-endif
-ftplugin/haskell.vim [[[1
-149
-
-" todo: allow disabling and undo
-" (Claus Reinke, last modified: 18/07/2008)
-"
-" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/
-" please send patches to <claus.reinke@talk21.com>
-
-" try gf on import line, or ctrl-x ctrl-i, or [I, [i, ..
-set include=^import\\s*\\(qualified\\)\\?\\s*
-set includeexpr=substitute(v:fname,'\\.','/','g').'.hs'
-
-
-" find start/extent of name/symbol under cursor;
-" return start, symbolic flag, qualifier, unqualified id
-" (this is used in both haskell_doc.vim and in GHC.vim)
-function! Haskell_GetNameSymbol(line,col,off)
- let name = "[a-zA-Z0-9_']"
- let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]"
- "let [line] = getbufline(a:buf,a:lnum)
- let line = a:line
-
- " find the beginning of unqualified id or qualified id component
- let start = (a:col - 1) + a:off
- if line[start] =~ name
- let pattern = name
- elseif line[start] =~ symbol
- let pattern = symbol
- else
- return []
- endif
- while start > 0 && line[start - 1] =~ pattern
- let start -= 1
- endwhile
- let id = matchstr(line[start :],pattern.'*')
- " call confirm(id)
-
- " expand id to left and right, to get full id
- let idPos = id[0] == '.' ? start+2 : start+1
- let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c')
- let start = posA>-1 ? posA+1 : idPos
- let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)')
- let end = posB>-1 ? posB : idPos
-
- " special case: symbolic ids starting with .
- if id[0]=='.' && posA==-1
- let start = idPos-1
- let end = posB==-1 ? start : end
- endif
-
- " classify full id and split into qualifier and unqualified id
- let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ]
- let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in .
- let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+')
- let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : ''
- let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid
- " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId)
-
- return [start,symbolic,qualifier,unqualId]
-endfunction
-
-function! Haskell_GatherImports()
- let imports={0:{},1:{}}
- let i=1
- while i<=line('$')
- let res = Haskell_GatherImport(i)
- if !empty(res)
- let [i,import] = res
- let prefixPat = '^import\s*\(qualified\)\?\s\+'
- let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)'
- let asPat = '\(\s\+as\s\+'.modulePat.'\)\?'
- let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?'
- let listPat = '\(\s*\((.*)\)\)\?'
- let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$'
-
- let ml = matchlist(import,importPat)
- if ml!=[]
- let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml
- let what = as=='' ? module : as
- let hidings = split(hiding[1:-2],',')
- let explicits = split(explicit[1:-2],',')
- let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]}
- let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty)
- let imports[1][what] = Haskell_MergeImport(deepcopy(entry),i,hidings,explicits,module)
- if !(qualified=='qualified')
- let imports[0][what] = Haskell_MergeImport(deepcopy(entry),i,hidings,explicits,module)
- endif
- else
- echoerr "Haskell_GatherImports doesn't understand: ".import
- endif
- endif
- let i+=1
- endwhile
- if !has_key(imports[1],'Prelude')
- let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- endif
- return imports
-endfunction
-
-function! Haskell_ListElem(list,elem)
- for e in a:list | if e==a:elem | return 1 | endif | endfor
- return 0
-endfunction
-
-function! Haskell_ListIntersect(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! Haskell_ListUnion(list1,list2)
- let l = []
- for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor
- return a:list1 + l
-endfunction
-
-function! Haskell_ListWithout(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! Haskell_MergeImport(entry,line,hiding,explicit,module)
- let lines = a:entry['lines'] + [ a:line ]
- let hiding = a:explicit==[] ? Haskell_ListIntersect(a:entry['hiding'], a:hiding)
- \ : Haskell_ListWithout(a:entry['hiding'],a:explicit)
- let explicit = Haskell_ListUnion(a:entry['explicit'], a:explicit)
- let modules = Haskell_ListUnion(a:entry['modules'], [ a:module ])
- return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules}
-endfunction
-
-" collect lines belonging to a single import statement;
-" return number of last line and collected import statement
-" (assume opening parenthesis, if any, is on the first line)
-function! Haskell_GatherImport(lineno)
- let lineno = a:lineno
- let import = getline(lineno)
- if !(import=~'^import') | return [] | endif
- let open = strlen(substitute(import,'[^(]','','g'))
- let close = strlen(substitute(import,'[^)]','','g'))
- while open!=close
- let lineno += 1
- let linecont = getline(lineno)
- let open += strlen(substitute(linecont,'[^(]','','g'))
- let close += strlen(substitute(linecont,'[^)]','','g'))
- let import .= linecont
- endwhile
- return [lineno,import]
-endfunction
-ftplugin/haskell_doc.vim [[[1
-734
-"
-" use haddock docs and index files
-" show documentation, complete & qualify identifiers
-"
-" (Claus Reinke; last modified: 21/10/2008)
-"
-" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/
-" please send patches to <claus.reinke@talk21.com>
-
-" :Doc <name> and :IDoc <name> open haddocks for <name> in opera
-"
-" :Doc needs qualified name (default Prelude) and package (default base)
-" :IDoc needs unqualified name, looks up possible links in g:haddock_index
-"
-" :DocIndex populates g:haddock_index from haddock's index files
-" :ExportDocIndex saves g:haddock_index to cache file
-" :ImportDocIndex reloads g:haddock_index from cache file
-"
-" all the following use the haddock index (g:haddock_index)
-"
-" _? opens haddocks for unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _. fully qualifies unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _i add import <module>(<name>) statement for unqualified <name> under cursor,
-" _im add import <module> statement for unqualified <name> under cursor,
-" suggesting alternative full qualifications in popup menu
-" (this currently adds one statement per call, instead of
-" merging into existing import statements, but it's a start;-)
-"
-" CTRL-X CTRL-U (user-defined insert mode completion)
-" suggests completions of unqualified names in popup menu
-
-let s:scriptname = "haskell_doc.vim"
-
-" script parameters
-" g:haddock_browser *mandatory* which browser to call
-" g:haddock_browser_callformat [optional] how to call browser
-" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim'
-" g:haddock_docdir [optional] where to find html docs
-" g:ghc [optional] which ghc to call
-" g:ghc_pkg [optional] which ghc_pkg to call
-
-" been here before?
-if exists("g:haddock_index")
- finish
-endif
-
-" initialise nested dictionary, to be populated
-" - from haddock index files via :DocIndex
-" - from previous cached version via :ImportDocIndex
-let g:haddock_index = {}
-
-" initialise dictionary, mapping modules with haddocks to their packages,
-" populated via MkHaddockModuleIndex() or HaveModuleIndex()
-let g:haddock_moduleindex = {}
-
-" program to open urls, please set this in your vimrc
- "examples (for windows):
- "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe"
- "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe"
- "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe"
-if !exists("g:haddock_browser")
- echoerr s:scriptname." WARNING: please set g:haddock_browser!"
-endif
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-
-if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg))
- let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','')
-endif
-
-if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir)
- let s:docdir = g:haddock_docdir
-elseif executable(g:ghc_pkg)
-" try to figure out location of html docs
-" first choice: where the base docs are
- let field = substitute(system(g:ghc_pkg . ' field base haddock-html'),'\n','','')
- let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','')
- let field = substitute(field,'\\','/','g')
- let alternate = substitute(field,'html','doc/html','')
- if isdirectory(field)
- let s:docdir = field
- elseif isdirectory(alternate)
- let s:docdir = alternate
- endif
-else
- echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)."
-endif
-
-" second choice: try some known suspects for windows/unix
-if !exists('s:docdir') || !isdirectory(s:docdir)
- let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','')
- let location1a = s:ghc_libdir . '/doc/html/'
- let location1b = s:ghc_libdir . '/doc/'
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/'
- if isdirectory(location1a)
- let s:docdir = location1a
- elseif isdirectory(location1b)
- let s:docdir = location1b
- elseif isdirectory(location2)
- let s:docdir = location2
- else " give up
- echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)."
- finish
- endif
-endif
-
-" todo: can we turn s:docdir into a list of paths, and
-" include docs for third-party libs as well?
-
-let s:libraries = s:docdir . 'libraries/'
-let s:guide = s:docdir . 'users_guide/'
-let s:index = 'index.html'
-if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir)
- let s:haddock_indexfiledir = g:haddock_indexfiledir
-elseif filewritable(s:libraries)
- let s:haddock_indexfiledir = s:libraries
-elseif filewritable($HOME)
- let s:haddock_indexfiledir = $HOME.'/'
-else "give up
- echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir"
- finish
-endif
-let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim'
-
-" different browser setups require different call formats;
-" you might want to call the browser synchronously or
-" asynchronously, and the latter is os-dependent;
-"
-" by default, the browser is started in the background when on
-" windows or if running in a gui, and in the foreground otherwise
-" (eg, console-mode for remote sessions, with text-mode browsers).
-"
-" you can override these defaults in your vimrc, via a format
-" string including 2 %s parameters (the first being the browser
-" to call, the second being the url).
-if !exists("g:haddock_browser_callformat")
- if has("win32") || has("win64")
- let g:haddock_browser_callformat = 'start %s "file://%s"'
- else
- if has("gui_running")
- let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
- else
- let g:haddock_browser_callformat = '%s file://%s'
- endif
- endif
-endif
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-command! DocSettings call DocSettings()
-function! DocSettings()
- for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"]
- if exists(v)
- echo v '=' eval(v)
- else
- echo v '='
- endif
- endfor
-endfunction
-
-function! DocBrowser(url)
- "echomsg "DocBrowser(".url.")"
- if (!exists("g:haddock_browser") || !executable(g:haddock_browser))
- echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser"
- return
- endif
- " start browser to open url, according to specified format
- silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(a:url,'#%'))
-endfunction
-
-"usage examples:
-" :Doc length
-" :Doc Control.Monad.when
-" :Doc Data.List.
-" :Doc Control.Monad.State.runState mtl
-" :Doc -top
-" :Doc -libs
-" :Doc -guide
-command! -nargs=+ Doc call Doc('v',<f-args>)
-command! -nargs=+ Doct call Doc('t',<f-args>)
-
-function! Doc(kind,qualname,...)
- let suffix = '.html'
- let relative = '#'.a:kind.'%3A'
-
- if a:qualname=="-top"
- call DocBrowser(s:docdir . s:index)
- return
- elseif a:qualname=="-libs"
- call DocBrowser(s:libraries . s:index)
- return
- elseif a:qualname=="-guide"
- call DocBrowser(s:guide . s:index)
- return
- endif
-
- if a:0==0 " no package specified
- let package = 'base/'
- else
- let package = a:1 . '/'
- endif
-
- if match(a:qualname,'\.')==-1 " unqualified name
- let [qual,name] = [['Prelude'],a:qualname]
- let file = join(qual,'-') . suffix . relative . name
- elseif a:qualname[-1:]=='.' " module qualifier only
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-1
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix
- else " qualified name
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-2
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix . relative . name
- endif
-
-" let path = s:libraries . package . file
- let path = file
- call DocBrowser(path)
-endfunction
-
-" TODO: add commandline completion for :IDoc
-" indexed variant of Doc, looking up links in g:haddock_index
-" usage:
-" 1. :IDoc length
-" 2. click on one of the choices, or select by number (starting from 0)
-command! -nargs=+ IDoc call IDoc(<f-args>)
-function! IDoc(name,...)
- let choices = HaddockIndexLookup(a:name)
- if choices=={} | return | endif
- if a:0==0
- let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")')
- let choice = inputlist(keylist)
- else
- let choice = a:1
- endif
-
-" let path = s:libraries . values(choices)[choice]
- let path = values(choices)[choice] " assumes same order for keys/values..
- call DocBrowser(path)
-endfunction
-
-let s:flagref = s:guide . 'flag-reference.html'
-if filereadable(s:flagref)
- " extract the generated fragment ids for the
- " flag reference sections
- let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)'
- let s:flagheaders = []
- let s:flagheaderids = {}
- let s:contents = join(readfile(s:flagref))
- let s:ml = matchlist(s:contents,s:headerPat)
- while s:ml!=[]
- let [_,s:id,s:title,s:r;s:x] = s:ml
- let s:flagheaders = add(s:flagheaders, s:title)
- let s:flagheaderids[s:title] = s:id
- let s:ml = matchlist(s:r,s:headerPat)
- endwhile
- command! -nargs=1 -complete=customlist,CompleteFlagHeaders
- \ FlagReference call FlagReference(<f-args>)
- function! FlagReference(section)
- let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ?
- \ "" : "#".s:flagheaderids[a:section]
- call DocBrowser(s:flagref.relativeUrl)
- endfunction
- function! CompleteFlagHeaders(al,cl,cp)
- let s:choices = s:flagheaders
- return CompleteAux(a:al,a:cl,a:cp)
- endfunction
-endif
-
-command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>)
-function! MDoc(module)
- let suffix = '.html'
- call HaveModuleIndex()
- if !has_key(g:haddock_moduleindex,a:module)
- echoerr a:module 'not found in haddock module index'
- return
- endif
- let package = g:haddock_moduleindex[a:module]['package']
- let file = substitute(a:module,'\.','-','g') . suffix
-" let path = s:libraries . package . '/' . file
- let path = g:haddock_moduleindex[a:module]['html']
- call DocBrowser(path)
-endfunction
-
-function! CompleteHaddockModules(al,cl,cp)
- call HaveModuleIndex()
- let s:choices = keys(g:haddock_moduleindex)
- return CompleteAux(a:al,a:cl,a:cp)
-endfunction
-
-" create a dictionary g:haddock_index, containing the haddoc index
-command! DocIndex call DocIndex()
-function! DocIndex()
- let files = split(globpath(s:libraries,'doc-index*.html'),'\n')
- "let files = [s:libraries.'doc-index-33.html']
- let g:haddock_index = {}
- call ProcessHaddockIndexes2(s:libraries,files)
- if GHC_VersionGE([6,8,2])
- " TODO: escape * when?
- let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n')
- for addon in s:addon_libraries
- let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?')
- if ml!=[]
- let [_,quote,file,addon_path;x] = ml
- let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g')
- let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n')
- call ProcessHaddockIndexes2(addon_path,addon_files)
- endif
- endfor
- endif
- return 1
-endfunction
-
-function! ProcessHaddockIndexes(location,files)
- let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)'
- let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)'
-
- redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let contents = join(readfile(f))
- let ml = matchlist(contents,entryPat)
- while ml!=[]
- let [_,entry,links,r;x] = ml
- "echo entry links
- let ml2 = matchlist(links,linkPat)
- let link = {}
- while ml2!=[]
- let [_,l,m,links;x] = ml2
- "echo l m
- let link[m] = a:location . '/' . l
- let ml2 = matchlist(links,linkPat)
- endwhile
- let g:haddock_index[DeHTML(entry)] = deepcopy(link)
- "echo entry g:haddock_index[entry]
- let ml = matchlist(r,entryPat)
- endwhile
- endfor
-endfunction
-
-" concatenating all lines is too slow for a big file, process lines directly
-function! ProcessHaddockIndexes2(location,files)
- let entryPat= '^>\([^<]*\)</'
- let linkPat = '.\{-}A HREF="\([^"]*\)"'
- let kindPat = '#\(.\)'
-
- redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let isEntry = 0
- let isLink = ''
- let link = {}
- let entry = ''
- for line in readfile(f)
- if line=~'CLASS="indexentry'
- if (link!={}) && (entry!='')
- let g:haddock_index[DeHTML(entry)] = deepcopy(link)
- let link = {}
- let entry = ''
- endif
- let isEntry=1
- continue
- endif
- if isEntry==1
- let ml = matchlist(line,entryPat)
- if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif
- endif
- if entry!=''
- let ml = matchlist(line,linkPat)
- if ml!=[] | let [_,isLink;x]=ml | continue | endif
- endif
- if isLink!=''
- let ml = matchlist(line,entryPat)
- if ml!=[]
- let [_,module;x] = ml
- let [_,kind;x] = matchlist(isLink,kindPat)
- let last = a:location[strlen(a:location)-1]
- let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink
- let isLink=''
- continue
- endif
- endif
- endfor
- if link!={} | let g:haddock_index[DeHTML(entry)] = deepcopy(link) | endif
- endfor
-endfunction
-
-command! ExportDocIndex call ExportDocIndex()
-function! ExportDocIndex()
- call HaveIndex()
- let entries = []
- for key in keys(g:haddock_index)
- let entries += [key,string(g:haddock_index[key])]
- endfor
- call writefile(entries,s:haddock_indexfile)
- redir end
-endfunction
-
-command! ImportDocIndex call ImportDocIndex()
-function! ImportDocIndex()
- if filereadable(s:haddock_indexfile)
- let lines = readfile(s:haddock_indexfile)
- let i=0
- while i<len(lines)
- let [key,dict] = [lines[i],lines[i+1]]
- sandbox let g:haddock_index[key] = eval(dict)
- let i+=2
- endwhile
- return 1
- else
- return 0
- endif
-endfunction
-
-function! HaveIndex()
- return (g:haddock_index!={} || ImportDocIndex() || DocIndex() )
-endfunction
-
-function! MkHaddockModuleIndex()
- let g:haddock_moduleindex = {}
- call HaveIndex()
- for key in keys(g:haddock_index)
- let dict = g:haddock_index[key]
- for module in keys(dict)
- let html = dict[module]
- let ml = matchlist(html,'libraries/\([^\/]*\)\/')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- endfor
- endfor
-endfunction
-
-function! HaveModuleIndex()
- return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() )
-endfunction
-
-" decode HTML symbol encodings (are these all we need?)
-function! DeHTML(entry)
- let res = a:entry
- let decode = { '&lt;': '<', '&gt;': '>', '&amp;': '\\&' }
- for enc in keys(decode)
- exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")'
- endfor
- return res
-endfunction
-
-" find haddocks for word under cursor
-" also lists possible definition sites
-map <LocalLeader>? :call Haddock()<cr>
-function! Haddock()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let imports = Haskell_GatherImports()
- let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let name = unqual
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- let keys = ((qual=='')||(asm==[])||(qual==asm[0])) ? keys(dict)
- \ : Haskell_ListIntersect(keylist,asm)
- if (qual!='') && (asm!=[]) && (qual==asm[0])
- for key in keys
- if key==qual
- " call DocBrowser(s:libraries . dict[key])
- call DocBrowser(dict[key])
- endif
- endfor
- elseif has("gui_running")
- let i=0
- for key in keys
- exe 'amenu ]Popup.'.escape(key,'\.').' :call IDoc("'.escape(name,'|').'",'.i.')<cr>'
- let i+=1
- endfor
- popup ]Popup
- else
- let s:choices = keys
- let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux')
- if key!=''
- " call DocBrowser(s:libraries . dict[key])
- call DocBrowser(dict[key])
- endif
- endif
-endfunction
-
-" used to pass on choices to CompleteAux
-let s:choices=[]
-
-" if there's no gui, use commandline completion instead of :popup
-" completion function CompleteAux suggests completions for a:al, wrt to s:choices
-function! CompleteAux(al,cl,cp)
- "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|'
- let res = []
- let l = len(a:al)-1
- for r in s:choices
- if l==-1 || r[0 : l]==a:al
- let res += [r]
- endif
- endfor
- return res
-endfunction
-
-" CamelCase shorthand matching:
-" favour upper-case letters and module qualifier separators (.) for disambiguation
-function! CamelCase(shorthand,string)
- let s1 = a:shorthand
- let s2 = a:string
- let notFirst = 0 " don't elide before first pattern letter
- while ((s1!="")&&(s2!=""))
- let head1 = s1[0]
- let head2 = s2[0]
- let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]'))
- \ ||((head1=='.') && (head2!='.')) )
- if elide
- let s2=s2[1:]
- elseif (head1==head2)
- let s1=s1[1:]
- let s2=s2[1:]
- else
- return 0
- endif
- let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings
- endwhile
- return (s1=="")
-endfunction
-
-" use haddock name index for insert mode completion (CTRL-X CTRL-U)
-function! CompleteHaddock(findstart, base)
- if a:findstart
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$'
- call HaveIndex()
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if (key[0 : l]==a:base)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if word[0 : l]==a:base
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- if res==[] " no prefix matches, try CamelCase shortcuts
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if CamelCase(a:base,key)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if CamelCase(a:base,word)
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- endif
- return res
- endif
-endfunction
-set completefunc=CompleteHaddock
-set completeopt=menu,menuone,longest
-
-" fully qualify an unqualified name
-map <LocalLeader>. :call Qualify()<cr>
-function! Qualify()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- if qual!='' " TODO: should we support re-qualification?
- redraw
- echo 'already qualified'
- return 0
- endif
- let name = unqual
- let line = line('.')
- let prefix = (start<=1 ? '' : getline(line)[0:start-2] )
- let i=0
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- let imports = Haskell_GatherImports()
- for qualifiedImport in keys(imports[1])
- let c=0
- for module in imports[1][qualifiedImport]['modules']
- if Haskell_ListElem(keylist,module) | let c+=1 | endif
- endfor
- if c>0 | let keylist=[qualifiedImport]+keylist | endif
- endfor
- "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- if has("gui_running")
- for key in keylist
- let lhs=escape(prefix.name,'/.|\')
- let rhs=escape(prefix.key.'.'.name,'/&|\')
- exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>'
- let i+=1
- endfor
- popup ]Popup
- else
- let s:choices = keylist
- let key = input('qualify '.name.' with: ','','customlist,CompleteAux')
- if key!=''
- let lhs=escape(prefix.name,'/.\')
- let rhs=escape(prefix.key.'.'.name,'/&\')
- exe line.'s/'.lhs.'/'.rhs.'/'
- noh
- endif
- endif
-endfunction
-
-" create (qualified) import for a (qualified) name
-map <LocalLeader>i :call Import(0,0)<cr>
-map <LocalLeader>im :call Import(1,0)<cr>
-map <LocalLeader>iq :call Import(0,1)<cr>
-map <LocalLeader>iqm :call Import(1,1)<cr>
-function! Import(module,qualified)
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let name = unqual
- let pname = ( symb ? '('.name.')' : name )
- let importlist = a:module ? '' : '('.pname.')'
- let qualified = a:qualified ? 'qualified ' : ''
-
- if qual!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')'
- return
- endif
-
- let line = line('.')
- let prefix = getline(line)[0:start-1]
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- if has("gui_running")
- for key in keylist
- " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>'
- exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = keylist
- let key = input('import '.name.' from: ','','customlist,CompleteAux')
- if key!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')'
- endif
- endif
-endfunction
-
-function! HaddockIndexLookup(name)
- call HaveIndex()
- if !has_key(g:haddock_index,a:name)
- echoerr a:name 'not found in haddock index'
- return {}
- endif
- return g:haddock_index[a:name]
-endfunction
-
-" copied from ghc.vim :-( should we move everything to using autoload instead?
-" we query the ghc version here, as we don't otherwise need it..
-function! GHC_VersionGE(target)
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>=target[0]))
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
-ftplugin/haskell_hpaste.vim [[[1
-75
-" rudimentary hpaste support for vim
-" (using netrw for reading, wget for posting/annotating)
-"
-" claus reinke, last modified: 19/08/2007
-"
-" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/
-
-" unless wget is in your PATH, you need to set g:wget
-" before loading this script. windows users are out of
-" luck, unless they have wget installed (such as the
-" cygwin one looked for here), or adapt this script to
-" whatever alternative they have at hand (perhaps using
-" vim's perl/python bindings?)
-if !exists("g:wget")
- if executable("wget")
- let g:wget = "!wget -q"
- else
- let g:wget = "!c:\\cygwin\\bin\\wget -q"
- endif
-endif
-
-" read (recent) hpaste files
-" show index in new buffer, where ,r will open current entry
-" and ,p will annotate current entry with current buffer
-command! HpasteIndex call HpasteIndex()
-function! HpasteIndex()
- new
- read http://hpaste.org
- %s/\_$\_.//g
- %s/<tr[^>]*>//g
- %s/<\/tr>/ /g
- g/<\/table>/d
- g/DOCTYPE/d
- %s/<td><a href="\/\([0-9]*\)">view<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\1 \2 (\3) "\4" \5/
- map <buffer> ,r 0ye:noh<cr>:call HpasteEditEntry('"')<cr>
-endfunction
-
-" load an existing entry for editing
-command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>)
-function! HpasteEditEntry(entry)
- exe 'edit! http://hpaste.org/'.a:entry.'/0/plain'
- exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>'
-endfunction
-
-" annotate existing entry (only to be called via ,p in HpasteIndex)
-function! HpasteAnnotate(entry)
- let nick = input("nick? ")
- let title = input("title? ")
- if nick=='' || title==''
- echo "nick or title missing. aborting annotation"
- return
- endif
- call HpastePost('annotate/'.a:entry,nick,title)
-endfunction
-
-" post new hpaste entry
-" using 'wget --post-data' and url-encoded content
-command! HpastePostNew call HpastePost('new',<args>)
-function! HpastePost(mode,nick,title,...)
- let lines = getbufline("%",1,"$")
- let pat = '\([^[:alnum:]]\)'
- let code = '\=printf("%%%02X",char2nr(submatch(1)))'
- let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')')
-
- let url = 'http://hpaste.org/' . a:mode
- let nick = substitute(a:nick,pat,code,'g')
- let title = substitute(a:title,pat,code,'g')
- if a:0==0
- let announce = 'false'
- else
- let announce = a:1
- endif
- let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url
- exe escape(cmd,'%')
-endfunction
-doc/haskellmode.txt [[[1
-434
-*haskellmode.txt* Haskell Mode Plugins 18/07/2008
-
-Authors:
- Claus Reinke <claus.reinke@talk21.com> ~
-
-Homepage:
- http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/
-
-CONTENTS *haskellmode*
-
- 1. Overview |haskellmode-overview|
- 1.1 Runtime Requirements |haskellmode-requirements|
- 1.2 Quick Reference |haskellmode-quickref|
- 2. Settings |haskellmode-settings|
- 2.1 GHC and web browser |haskellmode-settings-main|
- 2.2 Fine tuning - more configuration options |haskellmode-settings-fine|
- 3. GHC Compiler Integration |haskellmode-compiler|
- 4. Haddock Integration |haskellmode-haddock|
- 4.1 Indexing |haskellmode-indexing|
- 4.2 Lookup |haskellmode-lookup|
- 4.3 Editing |haskellmode-editing|
- 5. Hpaste Integration |haskellmode-hpaste|
- 6. Additional Resources |haskellmode-resources|
-
-==============================================================================
- *haskellmode-overview*
-1. Overview ~
-
- The Haskell mode plugins provide advanced support for Haskell development
- using GHC/GHCi on Windows and Unix-like systems. The functionality is
- based on Haddock-generated library indices, on GHCi's interactive
- commands, or on simply activating (some of) Vim's built-in program editing
- support in Haskell-relevant fashion. These plugins live side-by-side with
- the pre-defined |syntax-highlighting| support for |haskell| sources, and
- any other Haskell-related plugins you might want to install (see
- |haskellmode-resources|).
-
- The Haskell mode plugins consist of three filetype plugins (haskell.vim,
- haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection
- mechanism will be auto-loaded whenever files with the extension '.hs' are
- opened, and one compiler plugin (ghc.vim) which you will need to load from
- your vimrc file (see |haskellmode-settings|).
-
-
- *haskellmode-requirements*
-1.1 Runtime Requirements ~
-
- The plugins require a recent installation of GHC/GHCi. The functionality
- derived from Haddock-generated library indices also requires a local
- installation of the Haddock documentation for GHC's libraries (if there is
- no documentation package for your system, you can download a tar-ball from
- haskell.org), as well as an HTML browser (see |haddock_browser|). If you
- want to use the experimental hpaste interface, you will also need Wget.
-
- * GHC/GHCi ~
- Provides core functionality. http://www.haskell.org/ghc
-
- * HTML library documentation files and indices generated by Haddock ~
- These usually come with your GHC installation, possibly as a separate
- package. If you cannot get them this way, you can download a tar-ball
- from http://www.haskell.org/ghc/docs/latest/
-
- * HTML browser with basic CSS support ~
- For browsing Haddock docs.
-
- * Wget ~
- For interfacing with http://hpaste.org.
-
- Wget is widely available for modern Unix-like operating systems. Several
- ports also exist for Windows, including:
-
- - Official GNU Wget (natively compiled for Win32)
- http://www.gnu.org/software/wget/#downloading
-
- - UnxUtils Wget (natively compiled for Win32, bundled with other ported
- Unix utilities)
- http://sourceforge.net/projects/unxutils/
-
- - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin)
- http://cygwin.com/packages/wget/
-
- *haskellmode-quickref*
-1.2 Quick Reference ~
-
-|:make| load into GHCi, show errors (|quickfix| |:copen|)
-|_ct| create |tags| file
-|_si| show info for id under cursor
-|_t| show type for id under cursor
-|_T| insert type declaration for id under cursor
-|balloon| show type for id under mouse pointer
-|_?| browse Haddock entry for id under cursor
-|:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
-|:MDoc| {module} browse Haddock entry for {module}
-|:FlagReference| {s} browse Users Guide Flag Reference for section {s}
-|_.| qualify unqualified id under cursor
-|_i| add 'import <module>(<identifier>)' for id under cursor
-|_im| add 'import <module>' for id under cursor
-|_iq| add 'import qualified <module>(<identifier>)' for id under cursor
-|_iqm| add 'import qualified <module>' for id under cursor
-|_ie| make imports explit for import statement under cursor
-|_opt| add OPTIONS_GHC pragma
-|_lang| add LANGUAGE pragma
-|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|)
-|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|)
-|i_CTRL-N| insert-mode completion based on imported sources
-|:GHCi|{command/expr} run GHCi command/expr in current module
-
-|:GHCStaticOptions| edit static GHC options for this buffer
-|:DocSettings| show current Haddock-files-related plugin settings
-|:DocIndex| populate Haddock index
-|:ExportDocIndex| cache current Haddock index to a file
-|:HpasteIndex| Read index of most recent entries from hpaste.org
-|:HpastePostNew| Submit current buffer as a new hpaste
-
-
-==============================================================================
- *haskellmode-settings*
-2. Settings ~
-
- The plugins try to find their dependencies in standard locations, so if
- you're lucky, you will only need to set |compiler| to ghc, and configure
- the location of your favourite web browser. Given the variety of things to
- guess, however, some dependencies might not be found correctly, or the
- defaults might not be to your liking, in which case you can do some more
- fine tuning. All of this configuration should happen in your |vimrc|.
-
- *haskellmode-settings-main*
-2.1 GHC and web browser ~
-
- *compiler-ghc* *ghc-compiler*
- To use the features provided by the GHC |compiler| plugin, use the
- following |autocommand| in your vimrc:
->
- au BufEnter *.hs compiler ghc
-<
- *g:ghc*
- If the compiler plugin can't locate your GHC binary, or if you have
- several versions of GHC installed and have a preference as to which binary
- is used, set |g:ghc|:
->
- :let g:ghc="/usr/bin/ghc-6.6.1"
-<
-
- *:GHCStaticOptions*
-:GHCStaticOptions Edit the static GHC options for the current buffer.
- Useful for adding hidden packages (-package ghc).
-
- *g:haddock_browser*
- The preferred HTML browser for viewing Haddock documentation can be set as
- follows:
->
- :let g:haddock_browser="/usr/bin/firefox"
-<
-
- *haskellmode-settings-fine*
-2.2 Fine tuning - more configuration options ~
-
- Most of the fine tuning is likely to happen for the haskellmode_doc.vim
- plugin, so you can check the current settings for this plugin via the
- command |:DocSettings|. If all the settings reported there are to your
- liking, you probably won't need to do any fine tuning.
-
- *g:haddock_browser_callformat*
- By default, the web browser|g:haddock_browser| will be started
- asynchronously (in the background) on Windows or when vim is running in a
- GUI, and synchronously (in the foreground) otherwise. These settings seem
- to work fine if you are using a console mode browser (eg, when editing in
- a remote session), or if you are starting a GUI browser that will launch
- itself in the background. But if these settings do not work for you, you
- can change the default browser launching behavior.
-
- This is controlled by |g:haddock_browser_callformat|. It specifies a
- format string which uses two '%s' parameters, the first representing the
- path of the browser to launch, and the second is the documentation URL
- (minus the protocol specifier, i.e. file://) passed to it by the Haddock
- plugin. For instance, to launch a GUI browser on Unix-like systems and
- force it to the background (see also |shellredir|):
->
- :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
-<
- *g:haddock_docdir*
- Your system's installed Haddock documentation for GHC and its libraries
- should be automatically detected. If the plugin can't locate them, you
- must point |g:haddock_docdir| to the path containing the master index.html
- file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.:
->
- :let g:haddock_docdir="/usr/local/share/doc/ghc/html/"
-<
- *g:haddock_indexfiledir*
- The information gathered from Haddock's index files will be stored in a
- file called 'haddock_index.vim' in a directory derived from the Haddock
- location, or in $HOME. To configure another directory for the index file,
- use:
->
- :let g:haddock_indexfiledir="~/.vim"
-<
- *g:wget*
- If you also want to try the experimental hpaste functionality, you might
- you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget
- is in your PATH):
->
- :let g:wget="C:\Program Files\wget\wget.exe"
-<
-
- Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if
- you have to, you can redefine|maplocalleader|to something other than '_'.
- Just remember that the docs still refer to mappings starting with '_', to
- avoid confusing the majority of users!-)
-
-==============================================================================
- *haskellmode-compiler* *ghc*
-3. GHC Compiler Integration ~
-
- The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to
- enable |quickfix| mode using GHCi, and provides functionality for show
- info (|_si|), show type (|_t| or mouse |balloon|), add type declaration
- (|_T|), create tag file (|_ct|), and insert-mode completion
- (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported
- modules.
-
- To avoid frequent calls to GHCi, type information is cached in Vim. The
- cache will be populated the first time a command depends on it, and will
- be refreshed every time a |:make| goes through without generating errors
- (if the |:make| does not succeed, the old types will remain available in
- Vim). You can also unconditionally force reloading of type info using
- |:GHCReload| (if GHCi cannot load your file, the type info will be empty).
-
-
- In addition to the standard|quickfix| commands, the GHC compiler plugin
- provides:
-
- *:GHCReload*
-:GHCReload Reload modules and unconditionally refresh cache of
- type info. Usually, |:make| is prefered, as that will
- refresh the cache only if GHCi reports no errors, and
- show the errors otherwise.
-
- *:GHCi*
-:GHCi {command/expr} Run GHCi commands/expressions in the current module.
-
- *_ct*
-_ct Create |tags| file for the current Haskell source
- file. This uses GHCi's :ctags command, so it will work
- recursively, but will only list tags for exported
- entities.
-
- *_opt*
-_opt Shows a menu of frequently used GHC compiler options
- (selecting an entry adds the option as a pragma to the
- start of the file). Uses popup menu (GUI) or :emenu
- and command-line completion (CLI).
-
- *_lang*
-_lang Shows a menu of the LANGUAGE options supported by GHC
- (selecting an entry adds the language as a pragma to
- the start of the file). Uses popup menu (GUI) or
- :emenu and command-line completion (CLI).
-
- *_si*
-_si Show extended information for the name under the
- cursor. Uses GHCi's :info command.
-
- *_t*
-_t Show type for the name under the cursor. Uses cached
- info from GHCi's :browse command.
-
- *_T*
-_T Insert type declaration for the name under the cursor.
- Uses cached info from GHCi's :browse command.
-
- *haskellmode-XO* *haskellmode-omni-completion*
-CTRL-X CTRL-O Standard insert-mode omni-completion based on the
- cached type info from GHCi browsing current and
- imported modules. Only names from the current and from
- imported modules are included (the completion menu
- also show the type of each identifier).
-
-==============================================================================
- *haskellmode-haddock* *haddock*
-4. Haddock Integration ~
-
- Haskell mode integrates with Haddock-generated HTML documentation,
- providing features such as navigating to the Haddock entry for the
- identifier under the cursor (|_?|), completion for the identifier under
- the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im|
- |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the
- cursor.
-
- These commands operate on an internal Haddock index built from the
- platform's installed Haddock documentation for GHC's libraries. Since
- populating this index takes several seconds, it should be stored as a
- file called 'haddock_index.vim' in the directory specified by
- |g:haddock_indexfiledir|.
-
- Some commands present a different interface (popup menu or command-line
- completion) according to whether the current Vim instance is graphical or
- console-based (actually: whether or not the GUI is running). Such
- differences are marked below with the annotations (GUI) and (CLI),
- respectively.
-
- |:DocSettings| shows the settings for this plugin. If you are happy with
- them, you can call |:ExportDocIndex| to populate and write out the
- documentation index (should be called once for every new version of GHC).
-
- *:DocSettings*
-:DocSettings Show current Haddock-files-related plugin settings.
-
-
- *haskellmode-indexing*
-4.1 Indexing ~
-
- *:DocIndex*
-:DocIndex Populate the Haddock index from the GHC library
- documentation.
-
- *:ExportDocIndex*
-:ExportDocIndex Cache the current Haddock index to a file (populate
- index first, if empty).
-
-
- *haskellmode-lookup*
-4.2 Lookup ~
-
- *_?*
-_? Open the Haddock entry (in |haddock_browser|) for an
- identifier under the cursor, selecting full
- qualifications from a popup menu (GUI) or via
- command-line completion (CLI), if the identifier is
- not qualified.
-
- *:IDoc*
-:IDoc {identifier} Open the Haddock entry for the unqualified
- {identifier} in |haddock_browser|, suggesting possible
- full qualifications.
-
- *:MDoc*
-:MDoc {module} Open the Haddock entry for {module} in
- |haddock_browser| (with command-line completion for
- the fully qualified module name).
-
- *:FlagReference*
-:FlagReference {s} Browse Users Guide Flag Reference for section {s}
- (with command-line completion for section headers).
-
-
- *haskellmode-editing*
-4.3 Editing ~
-
- *_.*
-_. Fully qualify the unqualified name under the cursor
- selecting full qualifications from a popup menu (GUI)
- or via command-line completion (CLI).
-
- *_iq* *_i*
-_i _iq Add 'import [qualified] <module>(<identifier>)'
- statement for the identifier under the cursor,
- selecting fully qualified modules from a popup menu
- (GUI) or via command-line completion (CLI), if the
- identifier is not qualified. This currently adds one
- import statement per call instead of merging into
- existing import statements.
-
- *_iqm* *_im*
-_im Add 'import [qualified] <module>' statement for the
- identifier under the cursor, selecting fully qualified
- modules from a popup menu (GUI) or via command-line
- completion (CLI), if the identifier is not qualified.
- This currently adds one import statement per call
- instead of merging into existing import statements.
-
- *_ie*
-_ie On an 'import <module>' line, in a correctly loadable
- module, temporarily comment out import and use :make
- 'not in scope' errors to explicitly list imported
- identifiers.
-
- *haskellmode-XU* *haskellmode-user-completion*
-CTRL-X CTRL-U User-defined insert mode name completion based on all
- names known to the Haddock index, including package
- names. Completions are presented in a popup menu which
- also displays the fully qualified module from which
- each entry may be imported.
-
- CamelCode shortcuts are supported, meaning that
- lower-case letters can be elided, using only
- upper-case letters and module qualifier separators (.)
- for disambiguation:
-
- pSL -> putStrLn
- C.E.t -> Control.Exception.t
- C.M.MP -> Control.Monad.MonadPlus
-
- To reduce unwanted matches, the first letter of such
- shortcuts and the first letter after each '.' have to
- match directly.
-
-==============================================================================
- *haskellmode-hpaste* *hpaste*
-5. Hpaste Integration ~
-
- This experimental feature allows browsing and posting to
- http://hpaste.org, a Web-based pastebin tailored for Haskell code.
-
-
- *:HpasteIndex*
-:HpasteIndex Read the most recent entries from hpaste.org. Show an
- index of the entries in a new buffer, where ',r' will
- open the current highlighted entry and ',p' will
- annotate it with the current buffer.
-
- *:HpastePostNew*
-:HpastePostNew Submit current buffer as a new hpaste entry.
-
-==============================================================================
- *haskellmode-resources*
-6. Additional Resources ~
-
- An illustrated walk-through of these plugins is available at:
-
- http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/vim.html
-
- Other Haskell-related Vim plugins can be found here:
-
- http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
-
- Make sure to read about Vim's other program-editing features in its online
- |user-manual|. Also have a look at Vim tips and plugins at www.vim.org -
- two other plugins I tend to use when editing Haskell are AlignPlugin.vim
- (to line up regexps for definitions, keywords, comments, etc. in
- consecutive lines) and surround.vim (to surround text with quotes,
- brackets, parentheses, comments, etc.).
-
-==============================================================================
- vim:tw=78:ts=8:ft=help:
diff --git a/.vim/haskellmode-20090424.vba b/.vim/haskellmode-20090424.vba
deleted file mode 100644
index e096c85..0000000
--- a/.vim/haskellmode-20090424.vba
+++ /dev/null
@@ -1,2005 +0,0 @@
-" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
-UseVimball
-finish
-compiler/ghc.vim [[[1
-470
-
-" Vim Compiler File
-" Compiler: GHC
-" Maintainer: Claus Reinke <claus.reinke@talk21.com>
-" Last Change: 21/04/2009
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-
-" ------------------------------ paths & quickfix settings first
-"
-
-if exists("current_compiler") && current_compiler == "ghc"
- finish
-endif
-let current_compiler = "ghc"
-
-let s:scriptname = "ghc.vim"
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
-if (!exists("b:ghc_staticoptions"))
- let b:ghc_staticoptions = ''
-endif
-
-" set makeprg (for quickfix mode)
-execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %'
-"execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %'
-"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %'
-
-" quickfix mode:
-" fetch file/line-info from error message
-" TODO: how to distinguish multiline errors from warnings?
-" (both have the same header, and errors have no common id-tag)
-" how to get rid of first empty message in result list?
-setlocal errorformat=
- \%-Z\ %#,
- \%W%f:%l:%c:\ Warning:\ %m,
- \%E%f:%l:%c:\ %m,
- \%E%>%f:%l:%c:,
- \%+C\ \ %#%m,
- \%W%>%f:%l:%c:,
- \%+C\ \ %#%tarning:\ %m,
-
-" oh, wouldn't you guess it - ghc reports (partially) to stderr..
-setlocal shellpipe=2>
-
-" ------------------------- but ghc can do a lot more for us..
-"
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-" initialize map of identifiers to their types
-" associate type map updates to changedtick
-if !exists("b:ghc_types")
- let b:ghc_types = {}
- let b:my_changedtick = b:changedtick
-endif
-
-if exists("g:haskell_functions")
- finish
-endif
-let g:haskell_functions = "ghc"
-
-" avoid hit-enter prompts
-set cmdheight=3
-
-" edit static GHC options
-" TODO: add completion for options/packages?
-command! GHCStaticOptions call GHC_StaticOptions()
-function! GHC_StaticOptions()
- let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions)
- execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %'
- let b:my_changedtick -=1
-endfunction
-
-map <LocalLeader>T :call GHC_ShowType(1)<cr>
-map <LocalLeader>t :call GHC_ShowType(0)<cr>
-function! GHC_ShowType(addTypeDecl)
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = ( symb ? '('.name.')' : name )
- call GHC_HaveTypes()
- if !has_key(b:ghc_types,name)
- redraw
- echo pname "type not known"
- else
- redraw
- for type in split(b:ghc_types[name],' -- ')
- echo pname "::" type
- if a:addTypeDecl
- call append( line(".")-1, pname . " :: " . type )
- endif
- endfor
- endif
-endfunction
-
-" show type of identifier under mouse pointer in balloon
-if has("balloon_eval")
- set ballooneval
- set balloondelay=600
- set balloonexpr=GHC_TypeBalloon()
- function! GHC_TypeBalloon()
- if exists("b:current_compiler") && b:current_compiler=="ghc"
- let [line] = getbufline(v:beval_bufnr,v:beval_lnum)
- let namsym = haskellmode#GetNameSymbol(line,v:beval_col,0)
- if namsym==[]
- return ''
- endif
- let [start,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : qual.'.'.unqual
- let pname = name " ( symb ? '('.name.')' : name )
- silent call GHC_HaveTypes()
- if has("balloon_multiline")
- return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '')
- else
- return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '')
- endif
- else
- return ''
- endif
- endfunction
-endif
-
-map <LocalLeader>si :call GHC_ShowInfo()<cr>
-function! GHC_ShowInfo()
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [_,symb,qual,unqual] = namsym
- let name = qual=='' ? unqual : (qual.'.'.unqual)
- let output = GHC_Info(name)
- pclose | new
- setlocal previewwindow
- setlocal buftype=nofile
- setlocal noswapfile
- put =output
- wincmd w
- "redraw
- "echo output
-endfunction
-
-" fill the type map, unless nothing has changed since the last attempt
-function! GHC_HaveTypes()
- if b:ghc_types == {} && (b:my_changedtick != b:changedtick)
- let b:my_changedtick = b:changedtick
- return GHC_BrowseAll()
- endif
-endfunction
-
-" update b:ghc_types after successful make
-au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif
-
-" count only error entries in quickfix list, ignoring warnings
-function! GHC_CountErrors()
- let c=0
- for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor
- return c
-endfunction
-
-command! GHCReload call GHC_BrowseAll()
-function! GHC_BrowseAll()
- " let imports = haskellmode#GatherImports()
- " let modules = keys(imports[0]) + keys(imports[1])
- let imports = {} " no need for them at the moment
- let current = GHC_NameCurrent()
- let module = current==[] ? 'Main' : current[0]
- if GHC_VersionGE([6,8,1])
- return GHC_BrowseBangStar(module)
- else
- return GHC_BrowseMultiple(imports,['*'.module])
- endif
-endfunction
-
-function! GHC_VersionGE(target)
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>target[0]))
- return 1
- elseif (i==target[0])
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
-
-function! GHC_NameCurrent()
- let last = line("$")
- let l = 1
- while l<last
- let ml = matchlist( getline(l), '^module\s*\([^ (]*\)')
- if ml != []
- let [_,module;x] = ml
- return [module]
- endif
- let l += 1
- endwhile
- redraw
- echo "cannot find module header for file " . expand("%")
- return []
-endfunction
-
-function! GHC_BrowseBangStar(module)
- redraw
- echo "browsing module " a:module
- let command = ":browse! *" . a:module
- let orig_shellredir = &shellredir
- let &shellredir = ">" " ignore error/warning messages, only output or lack of it
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- let &shellredir = orig_shellredir
- return GHC_ProcessBang(a:module,output)
-endfunction
-
-function! GHC_BrowseMultiple(imports,modules)
- redraw
- echo "browsing modules " a:modules
- let command = ":browse " . join( a:modules, " \n :browse ")
- let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g')
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command )
- return GHC_Process(a:imports,output)
-endfunction
-
-function! GHC_Info(what)
- " call GHC_HaveTypes()
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what)
- return output
-endfunction
-
-function! GHC_ProcessBang(module,output)
- let module = a:module
- let b = a:output
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\)\(\S*\)\s*::\(.*\)'
- let commentPat = '^-- \(\S*\)'
- let definedPat = '^-- defined locally'
- let importedPat = '^-- imported via \(.*\)'
- if !(b=~commentPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute( id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse! *<current>, we get both unqualified and qualified ids
- let qualified = (id =~ '\.') && (id =~ '[A-Z]')
- let b:ghc_types[id] = type
- if !qualified
- for qual in qualifiers
- let b:ghc_types[qual.'.'.id] = type
- endfor
- endif
- else
- let mlImported = matchlist( l, importedPat )
- let mlDefined = matchlist( l, definedPat )
- if mlImported != []
- let [_,modules;x] = mlImported
- let qualifiers = split( modules, ', ' )
- elseif mlDefined != []
- let qualifiers = [module]
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-function! GHC_Process(imports,output)
- let b = a:output
- let imports = a:imports
- let linePat = '^\(.\{-}\)\n\(.*\)'
- let contPat = '\s\+\(.\{-}\)\n\(.*\)'
- let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)'
- let modPat = '^-- \(\S*\)'
- " add '-- defined locally' and '-- imported via ..'
- if !(b=~modPat)
- echo s:scriptname.": GHCi reports errors (try :make?)"
- return 0
- endif
- let b:ghc_types = {}
- let ml = matchlist( b , linePat )
- while ml != []
- let [_,l,rest;x] = ml
- let mlDecl = matchlist( l, typePat )
- if mlDecl != []
- let [_,indent,id,type;x] = mlDecl
- let ml2 = matchlist( rest , '^'.indent.contPat )
- while ml2 != []
- let [_,c,rest;x] = ml2
- let type .= c
- let ml2 = matchlist( rest , '^'.indent.contPat )
- endwhile
- let id = substitute(id, '^(\(.*\))$', '\1', '')
- let type = substitute( type, '\s\+', " ", "g" )
- " using :browse *<current>, we get both unqualified and qualified ids
- if current_module " || has_key(imports[0],module)
- if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type)
- let b:ghc_types[id] .= ' -- '.type
- else
- let b:ghc_types[id] = type
- endif
- endif
- if 0 " has_key(imports[1],module)
- let qualid = module.'.'.id
- let b:ghc_types[qualid] = type
- endif
- else
- let mlMod = matchlist( l, modPat )
- if mlMod != []
- let [_,module;x] = mlMod
- let current_module = module[0]=='*'
- let module = current_module ? module[1:] : module
- endif
- endif
- let ml = matchlist( rest , linePat )
- endwhile
- return 1
-endfunction
-
-let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "]
-
-" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O)
-function! GHC_CompleteImports(findstart, base)
- if a:findstart
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- call GHC_HaveTypes()
- for key in keys(b:ghc_types)
- if key[0 : l]==a:base
- let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}]
- endif
- endfor
- return res
- endif
-endfunction
-set omnifunc=GHC_CompleteImports
-set completeopt=menu,menuone,longest
-
-map <LocalLeader>ct :call GHC_CreateTagfile()<cr>
-function! GHC_CreateTagfile()
- redraw
- echo "creating tags file"
- let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%"))
- " for ghcs older than 6.6, you would need to call another program
- " here, such as hasktags
- echo output
-endfunction
-
-command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e "'.escape(<f-args>,'"').'"')
-
-" use :make 'not in scope' errors to explicitly list imported ids
-" cursor needs to be on import line, in correctly loadable module
-map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr>
-function! GHC_MkImportsExplicit()
- let save_cursor = getpos(".")
- let line = getline('.')
- let lineno = line('.')
- let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)')
- if ml!=[]
- let [_,q,mod;x] = ml
- silent make
- if getqflist()==[]
- if line=~"import[^(]*Prelude"
- call setline(lineno,substitute(line,"(.*","","").'()')
- else
- call setline(lineno,'-- '.line)
- endif
- silent write
- silent make
- let qflist = getqflist()
- call setline(lineno,line)
- silent write
- let ids = {}
- for d in qflist
- let ml = matchlist(d.text,'Not in scope: \([^`]*\)`\([^'']*\)''')
- if ml!=[]
- let [_,what,qid;x] = ml
- let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid )
- let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' )
- if what =~ "data"
- call GHC_HaveTypes()
- if has_key(b:ghc_types,id)
- let pid = substitute(b:ghc_types[id],'^.*->\s*\(\S*\).*$','\1','').'('.pid.')'
- else
- let pid = '???('.pid.')'
- endif
- endif
- let ids[pid] = 1
- endif
- endfor
- call setline(lineno,'import'.q.' '.mod.'('.join(keys(ids),',').')')
- else
- copen
- endif
- endif
- call setpos('.', save_cursor)
-endfunction
-
-if GHC_VersionGE([6,8,2])
- let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"')
-else
- let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"]
-endif
-
-amenu ]OPTIONS_GHC.- :echo '-'<cr>
-aunmenu ]OPTIONS_GHC
-for o in opts
- exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>'
-endfor
-if has("gui_running")
- map <LocalLeader>opt :popup ]OPTIONS_GHC<cr>
-else
- map <LocalLeader>opt :emenu ]OPTIONS_GHC.
-endif
-
-amenu ]LANGUAGES_GHC.- :echo '-'<cr>
-aunmenu ]LANGUAGES_GHC
-if GHC_VersionGE([6,8])
- let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n')
- for l in ghc_supported_languages
- exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>'
- endfor
- if has("gui_running")
- map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr>
- else
- map <LocalLeader>lang :emenu ]LANGUAGES_GHC.
- endif
-endif
-ftplugin/haskell.vim [[[1
-13
-"
-" general Haskell source settings
-" (shared functions are in autoload/haskellmode.vim)
-"
-" (Claus Reinke, last modified: 21/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-" try gf on import line, or ctrl-x ctrl-i, or [I, [i, ..
-set include=^import\\s*\\(qualified\\)\\?\\s*
-set includeexpr=substitute(v:fname,'\\.','/','g').'.hs'
-
-ftplugin/haskell_doc.vim [[[1
-817
-"
-" use haddock docs and index files
-" show documentation, complete & qualify identifiers
-"
-" (Claus Reinke; last modified: 24/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-" :Doc <name> and :IDoc <name> open haddocks for <name> in opera
-"
-" :Doc needs qualified name (default Prelude) and package (default base)
-" :IDoc needs unqualified name, looks up possible links in g:haddock_index
-"
-" :DocIndex populates g:haddock_index from haddock's index files
-" :ExportDocIndex saves g:haddock_index to cache file
-" :ImportDocIndex reloads g:haddock_index from cache file
-"
-" all the following use the haddock index (g:haddock_index)
-"
-" _? opens haddocks for unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _. fully qualifies unqualified name under cursor,
-" suggesting alternative full qualifications in popup menu
-"
-" _i add import <module>(<name>) statement for unqualified <name> under cursor,
-" _im add import <module> statement for unqualified <name> under cursor,
-" suggesting alternative full qualifications in popup menu
-" (this currently adds one statement per call, instead of
-" merging into existing import statements, but it's a start;-)
-"
-" CTRL-X CTRL-U (user-defined insert mode completion)
-" suggests completions of unqualified names in popup menu
-
-let s:scriptname = "haskell_doc.vim"
-
-" script parameters
-" g:haddock_browser *mandatory* which browser to call
-" g:haddock_browser_callformat [optional] how to call browser
-" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim'
-" g:haddock_docdir [optional] where to find html docs
-" g:ghc [optional] which ghc to call
-" g:ghc_pkg [optional] which ghc_pkg to call
-
-" been here before?
-if exists("g:haddock_index")
- finish
-endif
-
-" initialise nested dictionary, to be populated
-" - from haddock index files via :DocIndex
-" - from previous cached version via :ImportDocIndex
-let g:haddock_index = {}
-
-" initialise dictionary, mapping modules with haddocks to their packages,
-" populated via MkHaddockModuleIndex() or HaveModuleIndex()
-let g:haddock_moduleindex = {}
-
-" program to open urls, please set this in your vimrc
- "examples (for windows):
- "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe"
- "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe"
- "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe"
-if !exists("g:haddock_browser")
- echoerr s:scriptname." WARNING: please set g:haddock_browser!"
-endif
-
-if (!exists("g:ghc") || !executable(g:ghc))
- if !executable('ghc')
- echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH"
- finish
- else
- let g:ghc = 'ghc'
- endif
-endif
-
-if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg))
- let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','')
-endif
-
-if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir)
- let s:docdir = g:haddock_docdir
-elseif executable(g:ghc_pkg)
-" try to figure out location of html docs
-" first choice: where the base docs are (from the first base listed)
- let [field;x] = split(system(g:ghc_pkg . ' field base haddock-html'),'\n')
- let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','')
- let field = substitute(field,'\\','/','g')
- let alternate = substitute(field,'html','doc/html','')
- if isdirectory(field)
- let s:docdir = field
- elseif isdirectory(alternate)
- let s:docdir = alternate
- endif
-else
- echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)."
-endif
-
-" second choice: try some known suspects for windows/unix
-if !exists('s:docdir') || !isdirectory(s:docdir)
- let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','')
- let location1a = s:ghc_libdir . '/doc/html/'
- let location1b = s:ghc_libdir . '/doc/'
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/'
- if isdirectory(location1a)
- let s:docdir = location1a
- elseif isdirectory(location1b)
- let s:docdir = location1b
- elseif isdirectory(location2)
- let s:docdir = location2
- else " give up
- echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)."
- finish
- endif
-endif
-
-" todo: can we turn s:docdir into a list of paths, and
-" include docs for third-party libs as well?
-
-let s:libraries = s:docdir . 'libraries/'
-let s:guide = s:docdir . 'users_guide/'
-let s:index = 'index.html'
-if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir)
- let s:haddock_indexfiledir = g:haddock_indexfiledir
-elseif filewritable(s:libraries)
- let s:haddock_indexfiledir = s:libraries
-elseif filewritable($HOME)
- let s:haddock_indexfiledir = $HOME.'/'
-else "give up
- echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir"
- finish
-endif
-let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim'
-
-" different browser setups require different call formats;
-" you might want to call the browser synchronously or
-" asynchronously, and the latter is os-dependent;
-"
-" by default, the browser is started in the background when on
-" windows or if running in a gui, and in the foreground otherwise
-" (eg, console-mode for remote sessions, with text-mode browsers).
-"
-" you can override these defaults in your vimrc, via a format
-" string including 2 %s parameters (the first being the browser
-" to call, the second being the url).
-if !exists("g:haddock_browser_callformat")
- if has("win32") || has("win64")
- let g:haddock_browser_callformat = 'start %s "%s"'
- else
- if has("gui_running")
- let g:haddock_browser_callformat = '%s %s '.printf(&shellredir,'/dev/null').' &'
- else
- let g:haddock_browser_callformat = '%s %s'
- endif
- endif
-endif
-
-" allow map leader override
-if !exists("maplocalleader")
- let maplocalleader='_'
-endif
-
-command! DocSettings call DocSettings()
-function! DocSettings()
- for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"]
- if exists(v)
- echo v '=' eval(v)
- else
- echo v '='
- endif
- endfor
-endfunction
-
-function! DocBrowser(url)
- "echomsg "DocBrowser(".url.")"
- if (!exists("g:haddock_browser") || !executable(g:haddock_browser))
- echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser"
- return
- endif
- " start browser to open url, according to specified format
- let url = a:url=~'^\(file://\|http://\)' ? a:url : 'file://'.a:url
- silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(url,'#%'))
-endfunction
-
-"usage examples:
-" :Doc length
-" :Doc Control.Monad.when
-" :Doc Data.List.
-" :Doc Control.Monad.State.runState mtl
-" :Doc -top
-" :Doc -libs
-" :Doc -guide
-command! -nargs=+ Doc call Doc('v',<f-args>)
-command! -nargs=+ Doct call Doc('t',<f-args>)
-
-function! Doc(kind,qualname,...)
- let suffix = '.html'
- let relative = '#'.a:kind.'%3A'
-
- if a:qualname=="-top"
- call DocBrowser(s:docdir . s:index)
- return
- elseif a:qualname=="-libs"
- call DocBrowser(s:libraries . s:index)
- return
- elseif a:qualname=="-guide"
- call DocBrowser(s:guide . s:index)
- return
- endif
-
- if a:0==0 " no package specified
- let package = 'base/'
- else
- let package = a:1 . '/'
- endif
-
- if match(a:qualname,'\.')==-1 " unqualified name
- let [qual,name] = [['Prelude'],a:qualname]
- let file = join(qual,'-') . suffix . relative . name
- elseif a:qualname[-1:]=='.' " module qualifier only
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-1
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix
- else " qualified name
- let parts = split(a:qualname,'\.')
- let quallen = len(parts)-2
- let [qual,name] = [parts[0:quallen],parts[-1]]
- let file = join(qual,'-') . suffix . relative . name
- endif
-
-" let path = s:libraries . package . file
- let path = file
- call DocBrowser(path)
-endfunction
-
-" TODO: add commandline completion for :IDoc
-" indexed variant of Doc, looking up links in g:haddock_index
-" usage:
-" 1. :IDoc length
-" 2. click on one of the choices, or select by number (starting from 0)
-command! -nargs=+ IDoc call IDoc(<f-args>)
-function! IDoc(name,...)
- let choices = HaddockIndexLookup(a:name)
- if choices=={} | return | endif
- if a:0==0
- let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")')
- let choice = inputlist(keylist)
- else
- let choice = a:1
- endif
- let path = values(choices)[choice] " assumes same order for keys/values..
- call DocBrowser(path)
-endfunction
-
-let s:flagref = s:guide . 'flag-reference.html'
-if filereadable(s:flagref)
- " extract the generated fragment ids for the
- " flag reference sections
- let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)'
- let s:flagheaders = []
- let s:flagheaderids = {}
- let s:contents = join(readfile(s:flagref))
- let s:ml = matchlist(s:contents,s:headerPat)
- while s:ml!=[]
- let [_,s:id,s:title,s:r;s:x] = s:ml
- let s:flagheaders = add(s:flagheaders, s:title)
- let s:flagheaderids[s:title] = s:id
- let s:ml = matchlist(s:r,s:headerPat)
- endwhile
- command! -nargs=1 -complete=customlist,CompleteFlagHeaders FlagReference call FlagReference(<f-args>)
- function! FlagReference(section)
- let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ?
- \ "" : "#".s:flagheaderids[a:section]
- call DocBrowser(s:flagref.relativeUrl)
- endfunction
- function! CompleteFlagHeaders(al,cl,cp)
- let s:choices = s:flagheaders
- return CompleteAux(a:al,a:cl,a:cp)
- endfunction
-endif
-
-command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>)
-function! MDoc(module)
- let suffix = '.html'
- call HaveModuleIndex()
- if !has_key(g:haddock_moduleindex,a:module)
- echoerr a:module 'not found in haddock module index'
- return
- endif
- let package = g:haddock_moduleindex[a:module]['package']
- let file = substitute(a:module,'\.','-','g') . suffix
-" let path = s:libraries . package . '/' . file
- let path = g:haddock_moduleindex[a:module]['html']
- call DocBrowser(path)
-endfunction
-
-function! CompleteHaddockModules(al,cl,cp)
- call HaveModuleIndex()
- let s:choices = keys(g:haddock_moduleindex)
- return CompleteAux(a:al,a:cl,a:cp)
-endfunction
-
-" create a dictionary g:haddock_index, containing the haddoc index
-command! DocIndex call DocIndex()
-function! DocIndex()
- let files = split(globpath(s:libraries,'doc-index*.html'),'\n')
- let g:haddock_index = {}
- call ProcessHaddockIndexes2(s:libraries,files)
- if GHC_VersionGE([6,8,2])
- if &shell =~ 'sh' " unix-type shell
- let s:addon_libraries = split(system(g:ghc_pkg . ' field \* haddock-html'),'\n')
- else " windows cmd.exe and the like
- let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n')
- endif
- for addon in s:addon_libraries
- let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?')
- if ml!=[]
- let [_,quote,file,addon_path;x] = ml
- let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g')
- let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n')
- call ProcessHaddockIndexes2(addon_path,addon_files)
- endif
- endfor
- endif
- return 1
-endfunction
-
-function! ProcessHaddockIndexes(location,files)
- let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)'
- let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)'
-
- redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let contents = join(readfile(f))
- let ml = matchlist(contents,entryPat)
- while ml!=[]
- let [_,entry,links,r;x] = ml
- "echo entry links
- let ml2 = matchlist(links,linkPat)
- let link = {}
- while ml2!=[]
- let [_,l,m,links;x] = ml2
- "echo l m
- let link[m] = a:location . '/' . l
- let ml2 = matchlist(links,linkPat)
- endwhile
- let g:haddock_index[DeHTML(entry)] = deepcopy(link)
- "echo entry g:haddock_index[entry]
- let ml = matchlist(r,entryPat)
- endwhile
- endfor
-endfunction
-
-" concatenating all lines is too slow for a big file, process lines directly
-function! ProcessHaddockIndexes2(location,files)
- let entryPat= '^>\([^<]*\)</'
- let linkPat = '.\{-}A HREF="\([^"]*\)"'
- let kindPat = '#\(.\)'
-
- " redraw
- echo 'populating g:haddock_index from haddock index files in ' a:location
- for f in a:files
- echo f[len(a:location):]
- let isEntry = 0
- let isLink = ''
- let link = {}
- let entry = ''
- for line in readfile(f)
- if line=~'CLASS="indexentry'
- if (link!={}) && (entry!='')
- if has_key(g:haddock_index,DeHTML(entry))
- let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link))
- else
- let dict = deepcopy(link)
- endif
- let g:haddock_index[DeHTML(entry)] = dict
- let link = {}
- let entry = ''
- endif
- let isEntry=1
- continue
- endif
- if isEntry==1
- let ml = matchlist(line,entryPat)
- if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif
- endif
- if entry!=''
- let ml = matchlist(line,linkPat)
- if ml!=[] | let [_,isLink;x]=ml | continue | endif
- endif
- if isLink!=''
- let ml = matchlist(line,entryPat)
- if ml!=[]
- let [_,module;x] = ml
- let [_,kind;x] = matchlist(isLink,kindPat)
- let last = a:location[strlen(a:location)-1]
- let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink
- let isLink=''
- continue
- endif
- endif
- endfor
- if link!={}
- if has_key(g:haddock_index,DeHTML(entry))
- let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link))
- else
- let dict = deepcopy(link)
- endif
- let g:haddock_index[DeHTML(entry)] = dict
- endif
- endfor
-endfunction
-
-command! ExportDocIndex call ExportDocIndex()
-function! ExportDocIndex()
- call HaveIndex()
- let entries = []
- for key in keys(g:haddock_index)
- let entries += [key,string(g:haddock_index[key])]
- endfor
- call writefile(entries,s:haddock_indexfile)
- redir end
-endfunction
-
-command! ImportDocIndex call ImportDocIndex()
-function! ImportDocIndex()
- if filereadable(s:haddock_indexfile)
- let lines = readfile(s:haddock_indexfile)
- let i=0
- while i<len(lines)
- let [key,dict] = [lines[i],lines[i+1]]
- sandbox let g:haddock_index[key] = eval(dict)
- let i+=2
- endwhile
- return 1
- else
- return 0
- endif
-endfunction
-
-function! HaveIndex()
- return (g:haddock_index!={} || ImportDocIndex() || DocIndex() )
-endfunction
-
-function! MkHaddockModuleIndex()
- let g:haddock_moduleindex = {}
- call HaveIndex()
- for key in keys(g:haddock_index)
- let dict = g:haddock_index[key]
- for module in keys(dict)
- let html = dict[module]
- let html = substitute(html ,'#.*$','','')
- let module = substitute(module,'\[.\]','','')
- let ml = matchlist(html,'libraries/\([^\/]*\)\/')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]')
- if ml!=[]
- let [_,package;x] = ml
- let g:haddock_moduleindex[module] = {'package':package,'html':html}
- endif
- endfor
- endfor
-endfunction
-
-function! HaveModuleIndex()
- return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() )
-endfunction
-
-" decode HTML symbol encodings (are these all we need?)
-function! DeHTML(entry)
- let res = a:entry
- let decode = { '&lt;': '<', '&gt;': '>', '&amp;': '\\&' }
- for enc in keys(decode)
- exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")'
- endfor
- return res
-endfunction
-
-" find haddocks for word under cursor
-" also lists possible definition sites
-" - needs to work for both qualified and unqualified items
-" - for 'import qualified M as A', consider M.item as source of A.item
-" - offer sources from both type [t] and value [v] namespaces
-" - for unqualified items, list all possible sites
-" - for qualified items, list imported sites only
-" keep track of keys with and without namespace tags:
-" the former are needed for lookup, the latter for matching against source
-map <LocalLeader>? :call Haddock()<cr>
-function! Haddock()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let imports = haskellmode#GatherImports()
- let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let name = unqual
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- " for qualified items, narrow results to possible imports that provide qualifier
- let filteredKeys = filter(copy(keys(dict))
- \ ,'match(asm,substitute(v:val,''\[.\]'','''',''''))!=-1')
- let keys = (qual!='') ? filteredKeys : keys(dict)
- if (keys==[]) && (qual!='')
- echoerr qual.'.'.unqual.' not found in imports'
- return 0
- endif
- if len(keys)==1 && exists("g:haskell_avoid_singleton_menus")
- call DocBrowser(dict[keys[0]])
- elseif has("gui_running")
- for key in keys
- exe 'amenu ]Popup.'.escape(key,'\.').' :call DocBrowser('''.dict[key].''')<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = keys
- let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux')
- if key!=''
- call DocBrowser(dict[key])
- endif
- endif
-endfunction
-
-if !exists("g:haskell_search_engines")
- let g:haskell_search_engines =
- \ {'hoogle':'http://www.haskell.org/hoogle/?hoogle=%s'
- \ ,'hayoo!':'http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=%s'
- \ }
-endif
-
-map <LocalLeader>?? :let es=g:haskell_search_engines
- \ \|echo "g:haskell_search_engines"
- \ \|for e in keys(es)
- \ \|echo e.' : '.es[e]
- \ \|endfor<cr>
-map <LocalLeader>?1 :call HaskellSearchEngine('hoogle')<cr>
-map <LocalLeader>?2 :call HaskellSearchEngine('hayoo!')<cr>
-
-" query one of the Haskell search engines for the thing under cursor
-" - unqualified symbols need to be url-escaped
-" - qualified ids need to be fed as separate qualifier and id for
-" both hoogle (doesn't handle qualified symbols) and hayoo! (no qualified
-" ids at all)
-" - qualified ids referring to import-qualified-as qualifiers need to be
-" translated to the multi-module searches over the list of original modules
-function! HaskellSearchEngine(engine)
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let imports = haskellmode#GatherImports()
- let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let unqual = haskellmode#UrlEncode(unqual)
- if a:engine=='hoogle'
- let name = asm!=[] ? unqual.'+'.join(map(copy(asm),'"%2B".v:val'),'+')
- \ : qual!='' ? unqual.'+'.haskellmode#UrlEncode('+').qual
- \ : unqual
- elseif a:engine=='hayoo!'
- let name = asm!=[] ? unqual.'+module:('.join(copy(asm),' OR ').')'
- \ : qual!='' ? unqual.'+module:'.qual
- \ : unqual
- else
- let name = qual=="" ? unqual : qual.".".unqual
- endif
- if has_key(g:haskell_search_engines,a:engine)
- call DocBrowser(printf(g:haskell_search_engines[a:engine],name))
- else
- echoerr "unknown search engine: ".a:engine
- endif
-endfunction
-
-" used to pass on choices to CompleteAux
-let s:choices=[]
-
-" if there's no gui, use commandline completion instead of :popup
-" completion function CompleteAux suggests completions for a:al, wrt to s:choices
-function! CompleteAux(al,cl,cp)
- "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|'
- let res = []
- let l = len(a:al)-1
- for r in s:choices
- if l==-1 || r[0 : l]==a:al
- let res += [r]
- endif
- endfor
- return res
-endfunction
-
-" CamelCase shorthand matching:
-" favour upper-case letters and module qualifier separators (.) for disambiguation
-function! CamelCase(shorthand,string)
- let s1 = a:shorthand
- let s2 = a:string
- let notFirst = 0 " don't elide before first pattern letter
- while ((s1!="")&&(s2!=""))
- let head1 = s1[0]
- let head2 = s2[0]
- let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]'))
- \ ||((head1=='.') && (head2!='.')) )
- if elide
- let s2=s2[1:]
- elseif (head1==head2)
- let s1=s1[1:]
- let s2=s2[1:]
- else
- return 0
- endif
- let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings
- endwhile
- return (s1=="")
-endfunction
-
-" use haddock name index for insert mode completion (CTRL-X CTRL-U)
-function! CompleteHaddock(findstart, base)
- if a:findstart
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return -1
- endif
- let [start,symb,qual,unqual] = namsym
- return (start-1)
- else " find keys matching with "a:base"
- let res = []
- let l = len(a:base)-1
- let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$'
- call HaveIndex()
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if (key[0 : l]==a:base)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if word[0 : l]==a:base
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- if res==[] " no prefix matches, try CamelCase shortcuts
- for key in keys(g:haddock_index)
- let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")')
- if CamelCase(a:base,key)
- for m in keylist
- let res += [{"word":key,"menu":m,"dup":1}]
- endfor
- elseif qual " this tends to be slower
- for m in keylist
- let word = m . '.' . key
- if CamelCase(a:base,word)
- let res += [{"word":word,"menu":m,"dup":1}]
- endif
- endfor
- endif
- endfor
- endif
- return res
- endif
-endfunction
-set completefunc=CompleteHaddock
-set completeopt=menu,menuone,longest
-
-" fully qualify an unqualified name
-" TODO: - standardise commandline versions of menus
-map <LocalLeader>. :call Qualify()<cr>
-function! Qualify()
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- if qual!='' " TODO: should we support re-qualification?
- redraw
- echo 'already qualified'
- return 0
- endif
- let name = unqual
- let line = line('.')
- let prefix = (start<=1 ? '' : getline(line)[0:start-2] )
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- let imports = haskellmode#GatherImports()
- let qualifiedImports = []
- for qualifiedImport in keys(imports[1])
- let c=0
- for module in imports[1][qualifiedImport]['modules']
- if haskellmode#ListElem(keylist,module) | let c+=1 | endif
- endfor
- if c>0 | let qualifiedImports=[qualifiedImport]+qualifiedImports | endif
- endfor
- "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : []
- let keylist = filter(copy(keylist),'index(qualifiedImports,v:val)==-1')
- if has("gui_running")
- " amenu ]Popup.-imported- :
- for key in qualifiedImports
- let lhs=escape(prefix.name,'/.|\')
- let rhs=escape(prefix.key.'.'.name,'/&|\')
- exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>'
- endfor
- amenu ]Popup.-not\ imported- :
- for key in keylist
- let lhs=escape(prefix.name,'/.|\')
- let rhs=escape(prefix.key.'.'.name,'/&|\')
- exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = qualifiedImports+keylist
- let key = input('qualify '.name.' with: ','','customlist,CompleteAux')
- if key!=''
- let lhs=escape(prefix.name,'/.\')
- let rhs=escape(prefix.key.'.'.name,'/&\')
- exe line.'s/'.lhs.'/'.rhs.'/'
- noh
- endif
- endif
-endfunction
-
-" create (qualified) import for a (qualified) name
-" TODO: refine search patterns, to avoid misinterpretation of
-" oddities like import'Neither or not'module
-map <LocalLeader>i :call Import(0,0)<cr>
-map <LocalLeader>im :call Import(1,0)<cr>
-map <LocalLeader>iq :call Import(0,1)<cr>
-map <LocalLeader>iqm :call Import(1,1)<cr>
-function! Import(module,qualified)
- amenu ]Popup.- :echo '-'<cr>
- aunmenu ]Popup
- let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0)
- if namsym==[]
- redraw
- echo 'no name/symbol under cursor!'
- return 0
- endif
- let [start,symb,qual,unqual] = namsym
- let name = unqual
- let pname = ( symb ? '('.name.')' : name )
- let importlist = a:module ? '' : '('.pname.')'
- let qualified = a:qualified ? 'qualified ' : ''
-
- if qual!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')'
- return
- endif
-
- let line = line('.')
- let prefix = getline(line)[0:start-1]
- let dict = HaddockIndexLookup(name)
- if dict=={} | return | endif
- let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")')
- if has("gui_running")
- for key in keylist
- " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>'
- exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>'
- endfor
- popup ]Popup
- else
- let s:choices = keylist
- let key = input('import '.name.' from: ','','customlist,CompleteAux')
- if key!=''
- exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')'
- endif
- endif
-endfunction
-
-function! HaddockIndexLookup(name)
- call HaveIndex()
- if !has_key(g:haddock_index,a:name)
- echoerr a:name 'not found in haddock index'
- return {}
- endif
- return g:haddock_index[a:name]
-endfunction
-
-" copied from ghc.vim :-( should we move everything to using autoload instead?
-" we query the ghc version here, as we don't otherwise need it..
-function! GHC_VersionGE(target)
- let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','')
- let current = split(g:ghc_version, '\.' )
- let target = a:target
- for i in current
- if ((target==[]) || (i>target[0]))
- return 1
- elseif (i==target[0])
- let target = target[1:]
- else
- return 0
- endif
- endfor
- return 1
-endfunction
-ftplugin/haskell_hpaste.vim [[[1
-79
-" rudimentary hpaste support for vim
-" (using netrw for reading, wget for posting/annotating)
-"
-" claus reinke, last modified: 07/04/2009
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-
-" unless wget is in your PATH, you need to set g:wget
-" before loading this script. windows users are out of
-" luck, unless they have wget installed (such as the
-" cygwin one looked for here), or adapt this script to
-" whatever alternative they have at hand (perhaps using
-" vim's perl/python bindings?)
-if !exists("g:wget")
- if executable("wget")
- let g:wget = "!wget -q"
- else
- let g:wget = "!c:\\cygwin\\bin\\wget -q"
- endif
-endif
-
-" read (recent) hpaste files
-" show index in new buffer, where ,r will open current entry
-" and ,p will annotate current entry with current buffer
-command! HpasteIndex call HpasteIndex()
-function! HpasteIndex()
- new
- read http://hpaste.org
- %s/\_$\_.//g
- %s/<tr[^>]*>//g
- %s/<\/tr>/ /g
- g/<\/table>/d
- g/DOCTYPE/d
- %s/<td>\([^<]*\)<\/td><td><a href="\/fastcgi\/hpaste\.fcgi\/view?id=\([0-9]*\)">\([^<]*\)<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\2 [\1] "\3" \4 \5 \6/
- map <buffer> ,r 0yE:noh<cr>:call HpasteEditEntry('"')<cr>
-endfunction
-
-" load an existing entry for editing
-command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>)
-function! HpasteEditEntry(entry)
- new
- exe 'Nread http://hpaste.org/fastcgi/hpaste.fcgi/raw?id='.a:entry
- "exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>'
-endfunction
-
-" " posting temporarily disabled -- needs someone to look into new
-" " hpaste.org structure
-
-" " annotate existing entry (only to be called via ,p in HpasteIndex)
-" function! HpasteAnnotate(entry)
-" let nick = input("nick? ")
-" let title = input("title? ")
-" if nick=='' || title==''
-" echo "nick or title missing. aborting annotation"
-" return
-" endif
-" call HpastePost('annotate/'.a:entry,nick,title)
-" endfunction
-"
-" " post new hpaste entry
-" " using 'wget --post-data' and url-encoded content
-" command! HpastePostNew call HpastePost('new',<args>)
-" function! HpastePost(mode,nick,title,...)
-" let lines = getbufline("%",1,"$")
-" let pat = '\([^[:alnum:]]\)'
-" let code = '\=printf("%%%02X",char2nr(submatch(1)))'
-" let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')')
-"
-" let url = 'http://hpaste.org/' . a:mode
-" let nick = substitute(a:nick,pat,code,'g')
-" let title = substitute(a:title,pat,code,'g')
-" if a:0==0
-" let announce = 'false'
-" else
-" let announce = a:1
-" endif
-" let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url
-" exe escape(cmd,'%')
-" endfunction
-autoload/haskellmode.vim [[[1
-155
-"
-" utility functions for haskellmode plugins
-"
-" (Claus Reinke; last modified: 23/04/2009)
-"
-" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
-" please send patches to <claus.reinke@talk21.com>
-
-
-
-" find start/extent of name/symbol under cursor;
-" return start, symbolic flag, qualifier, unqualified id
-" (this is used in both haskell_doc.vim and in GHC.vim)
-function! haskellmode#GetNameSymbol(line,col,off)
- let name = "[a-zA-Z0-9_']"
- let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]"
- "let [line] = getbufline(a:buf,a:lnum)
- let line = a:line
-
- " find the beginning of unqualified id or qualified id component
- let start = (a:col - 1) + a:off
- if line[start] =~ name
- let pattern = name
- elseif line[start] =~ symbol
- let pattern = symbol
- else
- return []
- endif
- while start > 0 && line[start - 1] =~ pattern
- let start -= 1
- endwhile
- let id = matchstr(line[start :],pattern.'*')
- " call confirm(id)
-
- " expand id to left and right, to get full id
- let idPos = id[0] == '.' ? start+2 : start+1
- let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c')
- let start = posA>-1 ? posA+1 : idPos
- let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)')
- let end = posB>-1 ? posB : idPos
-
- " special case: symbolic ids starting with .
- if id[0]=='.' && posA==-1
- let start = idPos-1
- let end = posB==-1 ? start : end
- endif
-
- " classify full id and split into qualifier and unqualified id
- let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ]
- let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in .
- let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+')
- let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : ''
- let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid
- " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId)
-
- return [start,symbolic,qualifier,unqualId]
-endfunction
-
-function! haskellmode#GatherImports()
- let imports={0:{},1:{}}
- let i=1
- while i<=line('$')
- let res = haskellmode#GatherImport(i)
- if !empty(res)
- let [i,import] = res
- let prefixPat = '^import\s*\(qualified\)\?\s\+'
- let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)'
- let asPat = '\(\s\+as\s\+'.modulePat.'\)\?'
- let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?'
- let listPat = '\(\s*\((.*)\)\)\?'
- let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$'
-
- let ml = matchlist(import,importPat)
- if ml!=[]
- let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml
- let what = as=='' ? module : as
- let hidings = split(hiding[1:-2],',')
- let explicits = split(explicit[1:-2],',')
- let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]}
- let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty)
- let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
- if !(qualified=='qualified')
- let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
- endif
- else
- echoerr "haskellmode#GatherImports doesn't understand: ".import
- endif
- endif
- let i+=1
- endwhile
- if !has_key(imports[1],'Prelude')
- let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
- endif
- return imports
-endfunction
-
-function! haskellmode#ListElem(list,elem)
- for e in a:list | if e==a:elem | return 1 | endif | endfor
- return 0
-endfunction
-
-function! haskellmode#ListIntersect(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! haskellmode#ListUnion(list1,list2)
- let l = []
- for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor
- return a:list1 + l
-endfunction
-
-function! haskellmode#ListWithout(list1,list2)
- let l = []
- for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor
- return l
-endfunction
-
-function! haskellmode#MergeImport(entry,line,hiding,explicit,module)
- let lines = a:entry['lines'] + [ a:line ]
- let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding)
- \ : haskellmode#ListWithout(a:entry['hiding'],a:explicit)
- let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit)
- let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ])
- return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules}
-endfunction
-
-" collect lines belonging to a single import statement;
-" return number of last line and collected import statement
-" (assume opening parenthesis, if any, is on the first line)
-function! haskellmode#GatherImport(lineno)
- let lineno = a:lineno
- let import = getline(lineno)
- if !(import=~'^import\s') | return [] | endif
- let open = strlen(substitute(import,'[^(]','','g'))
- let close = strlen(substitute(import,'[^)]','','g'))
- while open!=close
- let lineno += 1
- let linecont = getline(lineno)
- let open += strlen(substitute(linecont,'[^(]','','g'))
- let close += strlen(substitute(linecont,'[^)]','','g'))
- let import .= linecont
- endwhile
- return [lineno,import]
-endfunction
-
-function! haskellmode#UrlEncode(string)
- let pat = '\([^[:alnum:]]\)'
- let code = '\=printf("%%%02X",char2nr(submatch(1)))'
- let url = substitute(a:string,pat,code,'g')
- return url
-endfunction
-
-doc/haskellmode.txt [[[1
-456
-*haskellmode.txt* Haskell Mode Plugins 23/04/2009
-
-Authors:
- Claus Reinke <claus.reinke@talk21.com> ~
-
-Homepage:
- http://projects.haskell.org/haskellmode-vim
-
-CONTENTS *haskellmode*
-
- 1. Overview |haskellmode-overview|
- 1.1 Runtime Requirements |haskellmode-requirements|
- 1.2 Quick Reference |haskellmode-quickref|
- 2. Settings |haskellmode-settings|
- 2.1 GHC and web browser |haskellmode-settings-main|
- 2.2 Fine tuning - more configuration options |haskellmode-settings-fine|
- 3. GHC Compiler Integration |haskellmode-compiler|
- 4. Haddock Integration |haskellmode-haddock|
- 4.1 Indexing |haskellmode-indexing|
- 4.2 Lookup |haskellmode-lookup|
- 4.3 Editing |haskellmode-editing|
- 5. Hpaste Integration |haskellmode-hpaste|
- 6. Additional Resources |haskellmode-resources|
-
-==============================================================================
- *haskellmode-overview*
-1. Overview ~
-
- The Haskell mode plugins provide advanced support for Haskell development
- using GHC/GHCi on Windows and Unix-like systems. The functionality is
- based on Haddock-generated library indices, on GHCi's interactive
- commands, or on simply activating (some of) Vim's built-in program editing
- support in Haskell-relevant fashion. These plugins live side-by-side with
- the pre-defined |syntax-highlighting| support for |haskell| sources, and
- any other Haskell-related plugins you might want to install (see
- |haskellmode-resources|).
-
- The Haskell mode plugins consist of three filetype plugins (haskell.vim,
- haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection
- mechanism will be auto-loaded whenever files with the extension '.hs' are
- opened, and one compiler plugin (ghc.vim) which you will need to load from
- your vimrc file (see |haskellmode-settings|).
-
-
- *haskellmode-requirements*
-1.1 Runtime Requirements ~
-
- The plugins require a recent installation of GHC/GHCi. The functionality
- derived from Haddock-generated library indices also requires a local
- installation of the Haddock documentation for GHC's libraries (if there is
- no documentation package for your system, you can download a tar-ball from
- haskell.org), as well as an HTML browser (see |haddock_browser|). If you
- want to use the experimental hpaste interface, you will also need Wget.
-
- * GHC/GHCi ~
- Provides core functionality. http://www.haskell.org/ghc
-
- * HTML library documentation files and indices generated by Haddock ~
- These usually come with your GHC installation, possibly as a separate
- package. If you cannot get them this way, you can download a tar-ball
- matching your GHC version from http://www.haskell.org/ghc/docs/
-
- * HTML browser with basic CSS support ~
- For browsing Haddock docs.
-
- * Wget ~
- For interfacing with http://hpaste.org.
-
- Wget is widely available for modern Unix-like operating systems. Several
- ports also exist for Windows, including:
-
- - Official GNU Wget (natively compiled for Win32)
- http://www.gnu.org/software/wget/#downloading
-
- - UnxUtils Wget (natively compiled for Win32, bundled with other ported
- Unix utilities)
- http://sourceforge.net/projects/unxutils/
-
- - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin)
- http://cygwin.com/packages/wget/
-
- *haskellmode-quickref*
-1.2 Quick Reference ~
-
-|:make| load into GHCi, show errors (|quickfix| |:copen|)
-|_ct| create |tags| file
-|_si| show info for id under cursor
-|_t| show type for id under cursor
-|_T| insert type declaration for id under cursor
-|balloon| show type for id under mouse pointer
-|_?| browse Haddock entry for id under cursor
-|_?1| search Hoogle for id under cursor
-|_?2| search Hayoo! for id under cursor
-|:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
-|:MDoc| {module} browse Haddock entry for {module}
-|:FlagReference| {s} browse Users Guide Flag Reference for section {s}
-|_.| qualify unqualified id under cursor
-|_i| add 'import <module>(<identifier>)' for id under cursor
-|_im| add 'import <module>' for id under cursor
-|_iq| add 'import qualified <module>(<identifier>)' for id under cursor
-|_iqm| add 'import qualified <module>' for id under cursor
-|_ie| make imports explit for import statement under cursor
-|_opt| add OPTIONS_GHC pragma
-|_lang| add LANGUAGE pragma
-|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|)
-|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|)
-|i_CTRL-N| insert-mode completion based on imported sources
-|:GHCi|{command/expr} run GHCi command/expr in current module
-
-|:GHCStaticOptions| edit static GHC options for this buffer
-|:DocSettings| show current Haddock-files-related plugin settings
-|:DocIndex| populate Haddock index
-|:ExportDocIndex| cache current Haddock index to a file
-|:HpasteIndex| Read index of most recent entries from hpaste.org
-|:HpastePostNew| Submit current buffer as a new hpaste
-
-
-==============================================================================
- *haskellmode-settings*
-2. Settings ~
-
- The plugins try to find their dependencies in standard locations, so if
- you're lucky, you will only need to set |compiler| to ghc, and configure
- the location of your favourite web browser. You will also want to make
- sure that |filetype| detection and |syntax| highlighting are on. Given the
- variety of things to guess, however, some dependencies might not be found
- correctly, or the defaults might not be to your liking, in which case you
- can do some more fine tuning. All of this configuration should happen in
- your |vimrc|.
->
- " enable syntax highlighting
- syntax on
-
- " enable filetype detection and plugin loading
- filetype plugin on
-<
-
- *haskellmode-settings-main*
-2.1 GHC and web browser ~
-
- *compiler-ghc* *ghc-compiler*
- To use the features provided by the GHC |compiler| plugin, use the
- following |autocommand| in your vimrc:
->
- au BufEnter *.hs compiler ghc
-<
- *g:ghc*
- If the compiler plugin can't locate your GHC binary, or if you have
- several versions of GHC installed and have a preference as to which binary
- is used, set |g:ghc|:
->
- :let g:ghc="/usr/bin/ghc-6.6.1"
-<
- *g:haddock_browser*
- The preferred HTML browser for viewing Haddock documentation can be set as
- follows:
->
- :let g:haddock_browser="/usr/bin/firefox"
-<
-
- *haskellmode-settings-fine*
-2.2 Fine tuning - more configuration options ~
-
- Most of the fine tuning is likely to happen for the haskellmode_doc.vim
- plugin, so you can check the current settings for this plugin via the
- command |:DocSettings|. If all the settings reported there are to your
- liking, you probably won't need to do any fine tuning.
-
- *g:haddock_browser_callformat*
- By default, the web browser|g:haddock_browser| will be started
- asynchronously (in the background) on Windows or when vim is running in a
- GUI, and synchronously (in the foreground) otherwise. These settings seem
- to work fine if you are using a console mode browser (eg, when editing in
- a remote session), or if you are starting a GUI browser that will launch
- itself in the background. But if these settings do not work for you, you
- can change the default browser launching behavior.
-
- This is controlled by |g:haddock_browser_callformat|. It specifies a
- format string which uses two '%s' parameters, the first representing the
- path of the browser to launch, and the second is the documentation URL
- (minus the protocol specifier, i.e. file://) passed to it by the Haddock
- plugin. For instance, to launch a GUI browser on Unix-like systems and
- force it to the background (see also |shellredir|):
->
- :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
-<
- *g:haddock_docdir*
- Your system's installed Haddock documentation for GHC and its libraries
- should be automatically detected. If the plugin can't locate them, you
- must point |g:haddock_docdir| to the path containing the master index.html
- file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.:
->
- :let g:haddock_docdir="/usr/local/share/doc/ghc/html/"
-<
- *g:haddock_indexfiledir*
- The information gathered from Haddock's index files will be stored in a
- file called 'haddock_index.vim' in a directory derived from the Haddock
- location, or in $HOME. To configure another directory for the index file,
- use:
->
- :let g:haddock_indexfiledir="~/.vim/"
-<
- *g:wget*
- If you also want to try the experimental hpaste functionality, you might
- you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget
- is in your PATH):
->
- :let g:wget="C:\Program Files\wget\wget.exe"
-<
-
- Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if
- you have to, you can redefine|maplocalleader|to something other than '_'.
- Just remember that the docs still refer to mappings starting with '_', to
- avoid confusing the majority of users!-)
-
-==============================================================================
- *haskellmode-compiler* *ghc*
-3. GHC Compiler Integration ~
-
- The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to
- enable |quickfix| mode using GHCi, and provides functionality for show
- info (|_si|), show type (|_t| or mouse |balloon|), add type declaration
- (|_T|), create tag file (|_ct|), and insert-mode completion
- (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported
- modules.
-
- To avoid frequent calls to GHCi, type information is cached in Vim. The
- cache will be populated the first time a command depends on it, and will
- be refreshed every time a |:make| goes through without generating errors
- (if the |:make| does not succeed, the old types will remain available in
- Vim). You can also unconditionally force reloading of type info using
- |:GHCReload| (if GHCi cannot load your file, the type info will be empty).
-
-
- In addition to the standard|quickfix| commands, the GHC compiler plugin
- provides:
-
- *:GHCReload*
-:GHCReload Reload modules and unconditionally refresh cache of
- type info. Usually, |:make| is prefered, as that will
- refresh the cache only if GHCi reports no errors, and
- show the errors otherwise.
-
- *:GHCStaticOptions*
-:GHCStaticOptions Edit the static GHC options for the current buffer.
- Useful for adding hidden packages (-package ghc).
-
- *:GHCi*
-:GHCi {command/expr} Run GHCi commands/expressions in the current module.
-
- *_ct*
-_ct Create |tags| file for the current Haskell source
- file. This uses GHCi's :ctags command, so it will work
- recursively, but will only list tags for exported
- entities.
-
- *_opt*
-_opt Shows a menu of frequently used GHC compiler options
- (selecting an entry adds the option as a pragma to the
- start of the file). Uses popup menu (GUI) or :emenu
- and command-line completion (CLI).
-
- *_lang*
-_lang Shows a menu of the LANGUAGE options supported by GHC
- (selecting an entry adds the language as a pragma to
- the start of the file). Uses popup menu (GUI) or
- :emenu and command-line completion (CLI).
-
- *_si*
-_si Show extended information for the name under the
- cursor. Uses GHCi's :info command. Output appears in
- |preview-window| (when done, close with |:pclose|).
-
- *_t*
-_t Show type for the name under the cursor. Uses cached
- info from GHCi's :browse command.
-
- *_T*
-_T Insert type declaration for the name under the cursor.
- Uses cached info from GHCi's :browse command.
-
- *haskellmode-XO* *haskellmode-omni-completion*
-CTRL-X CTRL-O Standard insert-mode omni-completion based on the
- cached type info from GHCi browsing current and
- imported modules. Only names from the current and from
- imported modules are included (the completion menu
- also show the type of each identifier).
-
-==============================================================================
- *haskellmode-haddock* *haddock*
-4. Haddock Integration ~
-
- Haskell mode integrates with Haddock-generated HTML documentation,
- providing features such as navigating to the Haddock entry for the
- identifier under the cursor (|_?|), completion for the identifier under
- the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im|
- |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the
- cursor.
-
- These commands operate on an internal Haddock index built from the
- platform's installed Haddock documentation for GHC's libraries. Since
- populating this index takes several seconds, it should be stored as a
- file called 'haddock_index.vim' in the directory specified by
- |g:haddock_indexfiledir|.
-
- Some commands present a different interface (popup menu or command-line
- completion) according to whether the current Vim instance is graphical or
- console-based (actually: whether or not the GUI is running). Such
- differences are marked below with the annotations (GUI) and (CLI),
- respectively.
-
- |:DocSettings| shows the settings for this plugin. If you are happy with
- them, you can call |:ExportDocIndex| to populate and write out the
- documentation index (should be called once for every new version of GHC).
-
- *:DocSettings*
-:DocSettings Show current Haddock-files-related plugin settings.
-
-
- *haskellmode-indexing*
-4.1 Indexing ~
-
- *:DocIndex*
-:DocIndex Populate the Haddock index from the GHC library
- documentation.
-
- *:ExportDocIndex*
-:ExportDocIndex Cache the current Haddock index to a file (populate
- index first, if empty).
-
-
- *haskellmode-lookup*
-4.2 Lookup ~
-
- *_?*
-_? Open the Haddock entry (in |haddock_browser|) for an
- identifier under the cursor, selecting full
- qualifications from a popup menu (GUI) or via
- command-line completion (CLI), if the identifier is
- not qualified.
-
- *_?1*
-_?1 Search Hoogle (using |haddock_browser|) for an
- identifier under the cursor.
-
-
- *_?2*
-_?2 Search Hayoo! (using |haddock_browser|) for an
- identifier under the cursor.
-
- *:IDoc*
-:IDoc {identifier} Open the Haddock entry for the unqualified
- {identifier} in |haddock_browser|, suggesting possible
- full qualifications.
-
- *:MDoc*
-:MDoc {module} Open the Haddock entry for {module} in
- |haddock_browser| (with command-line completion for
- the fully qualified module name).
-
- *:FlagReference*
-:FlagReference {s} Browse Users Guide Flag Reference for section {s}
- (with command-line completion for section headers).
-
-
- *haskellmode-editing*
-4.3 Editing ~
-
- *_.*
-_. Fully qualify the unqualified name under the cursor
- selecting full qualifications from a popup menu (GUI)
- or via command-line completion (CLI).
-
- *_iq* *_i*
-_i _iq Add 'import [qualified] <module>(<identifier>)'
- statement for the identifier under the cursor,
- selecting fully qualified modules from a popup menu
- (GUI) or via command-line completion (CLI), if the
- identifier is not qualified. This currently adds one
- import statement per call instead of merging into
- existing import statements.
-
- *_iqm* *_im*
-_im Add 'import [qualified] <module>' statement for the
- identifier under the cursor, selecting fully qualified
- modules from a popup menu (GUI) or via command-line
- completion (CLI), if the identifier is not qualified.
- This currently adds one import statement per call
- instead of merging into existing import statements.
-
- *_ie*
-_ie On an 'import <module>' line, in a correctly loadable
- module, temporarily comment out import and use :make
- 'not in scope' errors to explicitly list imported
- identifiers.
-
- *haskellmode-XU* *haskellmode-user-completion*
-CTRL-X CTRL-U User-defined insert mode name completion based on all
- names known to the Haddock index, including package
- names. Completions are presented in a popup menu which
- also displays the fully qualified module from which
- each entry may be imported.
-
- CamelCode shortcuts are supported, meaning that
- lower-case letters can be elided, using only
- upper-case letters and module qualifier separators (.)
- for disambiguation:
-
- pSL -> putStrLn
- C.E.t -> Control.Exception.t
- C.M.MP -> Control.Monad.MonadPlus
-
- To reduce unwanted matches, the first letter of such
- shortcuts and the first letter after each '.' have to
- match directly.
-
-==============================================================================
- *haskellmode-hpaste* *hpaste*
-5. Hpaste Integration ~
-
- This experimental feature allows browsing and posting to
- http://hpaste.org, a Web-based pastebin tailored for Haskell code.
-
-
- *:HpasteIndex*
-:HpasteIndex Read the most recent entries from hpaste.org. Show an
- index of the entries in a new buffer, where ',r' will
- open the current highlighted entry [and ',p' will
- annotate it with the current buffer].
-
- *:HpastePostNew*
-:HpastePostNew Submit current buffer as a new hpaste entry.
- [This, and ',p' above, are temporarily disabled,
- needs update to new hpaste.org layout]
-
-==============================================================================
- *haskellmode-resources*
-6. Additional Resources ~
-
- An quick screencast tour through of these plugins is available at:
-
- http://projects.haskell.org/haskellmode-vim/screencasts.html
-
- Other Haskell-related Vim plugins can be found here:
-
- http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
-
- Make sure to read about Vim's other program-editing features in its online
- |user-manual|. Also have a look at Vim tips and plugins at www.vim.org -
- two other plugins I tend to use when editing Haskell are AlignPlugin.vim
- (to line up regexps for definitions, keywords, comments, etc. in
- consecutive lines) and surround.vim (to surround text with quotes,
- brackets, parentheses, comments, etc.).
-
-==============================================================================
- vim:tw=78:ts=8:ft=help:
diff --git a/.vim/indent/indent-r.vim b/.vim/indent/indent-r.vim
deleted file mode 100644
index 30c03c5..0000000
--- a/.vim/indent/indent-r.vim
+++ /dev/null
@@ -1,50 +0,0 @@
-" Vim indent file
-" Language: R
-" Author: Jeremy Stephens <jeremy.f.stephens@vanderbilt.edu>
-" URL:
-" Last Change:
-" Version:
-" Notes:
-" Changes:
-" Options:
-
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
- finish
-endif
-let b:did_indent = 1
-
-setlocal indentexpr=GetRIndent()
-"setlocal indentkeys+=0=,0),=EO
-setlocal indentkeys+=0=,0),=EO,=>
-
-" Only define the function once.
-if exists("*GetRIndent")
- finish
-endif
-
-function GetRIndent()
- " Find a non-blank line above the current line.
- let lnum = prevnonblank(v:lnum - 1)
- " Hit the start of the file, use zero indent.
- if lnum == 0
- return 0
- endif
-
- let line = getline(lnum) " last line
- let cline = getline(v:lnum) " current line
- let pline = getline(lnum - 1) " previous to last line
- let ind = indent(lnum)
-
- " Indent blocks enclosed by {} or ()
- "if line =~ '[{(]\s*\(#[^)}]*\)\=$'
- if line =~ '[{(]\s*[^)}]*$'
- let ind = ind + &sw
- endif
- if cline =~ '^\s*[)}]'
- let ind = ind - &sw
- endif
-
- return ind
-endfunction
-" vim: set ts=4 sw=4:
diff --git a/.vim/indent/tex.vim b/.vim/indent/tex.vim
deleted file mode 100644
index 5823dae..0000000
--- a/.vim/indent/tex.vim
+++ /dev/null
@@ -1,139 +0,0 @@
-" Vim indent file
-" Language: LaTeX
-" Maintainer: Johannes Tanzler <jtanzler@yline.com>
-" Created: Sat, 16 Feb 2002 16:50:19 +0100
-" Last Change: Sun, 17 Feb 2002 00:09:11 +0100
-" Last Update: 18th feb 2002, by LH :
-" (*) better support for the option
-" (*) use some regex instead of several '||'.
-" Version: 0.02
-" URL: comming soon: http://www.unet.univie.ac.at/~a9925098/vim/indent/tex.vim
-
-" --> If you're a Vim guru & and you find something that could be done in a
-" better (perhaps in a more Vim-ish or Vi-ish) way, please let me know!
-
-" Options: {{{
-"
-" To set the following options (ok, currently it's just one), add a line like
-" let g:tex_indent_items = 1
-" to your ~/.vimrc.
-"
-" * g:tex_indent_items
-"
-" If this variable is set, item-environments are indented like Emacs does
-" it, i.e., continuation lines are indented with a shiftwidth.
-"
-" NOTE: I've already set the variable below; delete the corresponding line
-" if you don't like this behaviour.
-"
-" Per default, it is unset.
-"
-" set unset
-" ----------------------------------------------------------------
-" \begin{itemize} \begin{itemize}
-" \item blablabla \item blablabla
-" bla bla bla bla bla bla
-" \item blablabla \item blablabla
-" bla bla bla bla bla bla
-" \end{itemize} \end{itemize}
-"
-"
-" This option applies to itemize, description, enumerate, and
-" thebibliography.
-"
-" }}}
-
-" Delete the next line to avoid the special indention of items
-if !exists("g:tex_indent_items")
- let g:tex_indent_items = 1
-endif
-
-if exists("b:did_indent") | finish
-endif
-let b:did_indent = 1
-
-
-setlocal indentexpr=GetTeXIndent()
-setlocal nolisp
-setlocal nosmartindent
-setlocal autoindent
-setlocal indentkeys+=},=\\item,=\\bibitem
-
-
-" Only define the function once
-if exists("*GetTeXIndent") | finish
-endif
-
-
-
-function GetTeXIndent()
-
- " Find a non-blank line above the current line.
- let lnum = prevnonblank(v:lnum - 1)
-
- " At the start of the file use zero indent.
- if lnum == 0 | return 0
- endif
-
- let ind = indent(lnum)
- let line = getline(lnum) " last line
- let cline = getline(v:lnum) " current line
-
- " Do not change indentation of commented lines.
- if line =~ '^\s*%'
- return ind
- endif
-
- " Add a 'shiftwidth' after beginning of environments.
- " Don't add it for \begin{document} and \begin{verbatim}
- ""if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
- " LH modification : \begin does not always start a line
- if line =~ '\\begin{\(.*\)}' && line !~ 'verbatim'
- \ && line !~ 'document'
-
- let ind = ind + &sw
-
- if g:tex_indent_items == 1
- " Add another sw for item-environments
- if line =~ 'itemize\|description\|enumerate\|thebibliography'
- let ind = ind + &sw
- endif
- endif
- endif
-
-
- " Subtract a 'shiftwidth' when an environment ends
- if cline =~ '^\s*\\end' && cline !~ 'verbatim'
- \&& cline !~ 'document'
-
- if g:tex_indent_items == 1
- " Remove another sw for item-environments
- if cline =~ 'itemize\|description\|enumerate\|thebibliography'
- let ind = ind - &sw
- endif
- endif
-
- let ind = ind - &sw
- endif
-
-
- " Special treatment for 'item'
- " ----------------------------
-
- if g:tex_indent_items == 1
-
- " '\item' or '\bibitem' itself:
- if cline =~ '^\s*\\\(bib\)\=item'
- let ind = ind - &sw
- endif
-
- " lines following to '\item' are intented once again:
- if line =~ '^\s*\\\(bib\)\=item'
- let ind = ind + &sw
- endif
-
- endif
-
- return ind
-endfunction
-
diff --git a/.vim/kde-devel-vim.vim b/.vim/kde-devel-vim.vim
deleted file mode 100644
index 7ce39a9..0000000
--- a/.vim/kde-devel-vim.vim
+++ /dev/null
@@ -1,1029 +0,0 @@
-" To use this file, add this line to your ~/.vimrc:, w/o the dquote
-" source /path/to/kde/sources/kdesdk/scripts/kde-devel-vim.vim
-"
-" For CreateChangeLogEntry() : If you don't want to re-enter your
-" Name/Email in each vim session then make sure to have the viminfo
-" option enabled in your ~/.vimrc, with the '!' flag, enabling persistent
-" storage of global variables. Something along the line of
-" set viminfo=%,!,'50,\"100,:100,n~/.viminfo
-" should do the trick.
-"
-" To make use of the ,ll and ,lg shortcuts you need to have the files
-" GPLHEADER and LGPLHEADER in your home directory. Their content will be
-" copied as license header then.
-
-" Don't include these in filename completions
-set suffixes+=.lo,.o,.moc,.la,.closure,.loT
-
-" Search for headers here
-set path=.,/usr/include,/usr/local/include,
-if $QTDIR != ''
- let &path = &path . $QTDIR . '/include/,'
- let &path = &path . $QTDIR . '/include/Qt/,'
- let &path = &path . $QTDIR . '/include/QtCore/,'
- let &path = &path . $QTDIR . '/include/Qt3Support/,'
- let &path = &path . $QTDIR . '/include/QtAssistant/,'
- let &path = &path . $QTDIR . '/include/QtDBus/,'
- let &path = &path . $QTDIR . '/include/QtDesigner/,'
- let &path = &path . $QTDIR . '/include/QtGui/,'
- let &path = &path . $QTDIR . '/include/QtNetwork/,'
- let &path = &path . $QTDIR . '/include/QtOpenGL/,'
- let &path = &path . $QTDIR . '/include/QtSql/,'
- let &path = &path . $QTDIR . '/include/QtSvg/,'
- let &path = &path . $QTDIR . '/include/QtTest/,'
- let &path = &path . $QTDIR . '/include/QtUiTools/,'
- let &path = &path . $QTDIR . '/include/QtXml/,'
-endif
-if $KDEDIR != ''
- let &path = &path . $KDEDIR . '/include/,'
-endif
-if $KDEDIRS != ''
- let &path = &path . substitute( $KDEDIRS, '\(:\|$\)', '/include,', 'g' )
-endif
-set path+=,
-
-" Use makeobj to build
-set mp=makeobj
-
-" If TagList is Loaded then get a funny statusline
-" Only works if kde-devel-vim.vim is loaded after taglist.
-" Droping this script in ~/.vim/plugin works fine
-if exists('loaded_taglist')
- let Tlist_Process_File_Always=1
- set statusline=%<%f:[\ %{Tlist_Get_Tag_Prototype_By_Line()}\ ]\ %h%m%r%=%-14.(%l,%c%V%)\ %P
-endif
-
-" Insert tab character in whitespace-only lines, complete otherwise
-inoremap <Tab> <C-R>=SmartTab()<CR>
-
-if !exists("DisableSmartParens")
-" Insert a space after ( or [ and before ] or ) unless preceded by a matching
-" paren/bracket or space or inside a string or comment. Comments are only
-" recognized as such if they start on the current line :-(
-inoremap ( <C-R>=SmartParens( '(' )<CR>
-inoremap [ <C-R>=SmartParens( '[' )<CR>
-inoremap ] <C-R>=SmartParens( ']', '[' )<CR>
-inoremap ) <C-R>=SmartParens( ')', '(' )<CR>
-endif
-
-" Insert an #include statement for the current/last symbol
-inoremap <F5> <C-O>:call AddHeader()<CR>
-
-" Insert a forward declaration for the current/last symbol
-inoremap <S-F5> <C-O>:call AddForward()<CR>
-
-" Switch between header and implementation files on ,h
-nmap <silent> ,h :call SwitchHeaderImpl()<CR>
-nmap <silent> ,p :call SwitchPrivateHeaderImpl()<CR>
-
-" Comment selected lines on ,c in visual mode
-vmap ,c :s,^,//X ,<CR>:noh<CR>
-" Uncomment selected lines on ,u in visual mode
-vmap ,u :s,^//X ,,<CR>
-
-" Insert an include guard based on the file name on ,i
-nmap ,i :call IncludeGuard()<CR>
-
-" Insert license headers at the top of the file
-nmap ,lg :call LicenseHeader( "GPL" )<CR>
-nmap ,ll :call LicenseHeader( "LGPL" )<CR>
-nmap ,lm :call LicenseHeader( "MIT" )<CR>
-
-" Insert simple debug statements into each method
-nmap ,d :call InsertMethodTracer()<CR>
-
-" Expand #i to #include <.h> or #include ".h". The latter is chosen
-" if the character typed after #i is a dquote
-" If the character is > #include <> is inserted (standard C++ headers w/o .h)
-iab #i <C-R>=SmartInclude()<CR>
-
-" Insert a stripped down CVS diff
-iab DIFF <Esc>:call RunDiff()<CR>
-
-" mark 'misplaced' tab characters
-set listchars=tab:·\ ,trail:·
-set list
-
-set incsearch
-
-function! SetCodingStyle()
- if &syntax == 'cmake'
- call SmartParensOff()
- set sw=3
- set ts=3
- set et
- set tw=0
- return
- endif
- if ( &syntax !~ '^\(c\|cpp\|java\)$' )
- return
- endif
- "the path for the file
- let pathfn = expand( '%:p:h' )
- if pathfn =~ 'nmm'
- call SmartParensOff()
- inoremap ( <C-R>=SpaceBetweenKeywordAndParens()<CR>
- let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>'
- let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|enum\|for\|try\|catch\)\>'
- set sw=4
- set ts=4
- set noet
- set tw=100
- elseif pathfn =~ 'kdepim'
- if strlen(mapcheck('(','i')) > 0
- iunmap (
- endif
- call SmartParensOn()
- let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>'
- let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>'
- set sw=2
- set sts=2
- set et
- set tw=100
- elseif pathfn =~ 'kdemultimedia\/juk'
- call SmartParensOff()
- let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\|if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>'
- let g:need_brace_on_same_line = ''
- set sw=4
- set sts=4
- set et
- set tw=100
- else "if pathfn =~ '\(kdelibs\|qt-copy\)'
- call SmartParensOff()
- inoremap ( <C-R>=SpaceBetweenKeywordAndParens()<CR>
- let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>'
- let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>'
- set sw=4
- set sts=4
- set et
- set tw=100
- endif
- if ( !exists("g:noautobrace") )
- call EnableSmartLineBreak()
- endif
-endfunction
-
-function! DisableSmartLineBreak()
- iunmap <CR>
- iuna else
-endfunction
-function! EnableSmartLineBreak()
- if exists("*pumvisible")
- inoremap <CR> <C-R>=pumvisible() ? "\<lt>CR>" : "\<lt>ESC>:call SmartLineBreak()\<lt>CR>a\<lt>CR>"<CR>
- else
- inoremap <CR> <ESC>:call SmartLineBreak()<CR>a<CR>
- endif
- iab else <C-R>=SmartElse()<CR>
-endfunction
-
-function! SmartElse()
- "let next = nr2char( getchar( 0 ) )
- let prefix = ''
- if strlen(g:need_brace_on_same_line) > 0 && 'else' =~ g:need_brace_on_same_line
- if getline('.') =~ '^\s*$'
- if getline(line('.') - 1) =~ '}$'
- let prefix = prefix . "\<ESC>kmMjdd`MA "
- elseif getline(line('.') - 1) =~ '}\s*$'
- let prefix = prefix . "\<ESC>kmMjdd`MA"
- endif
- endif
- endif
- return prefix . "else\<Right>"
-endfunction
-
-" automatic indenting is required for SmartLineBreak to work correctly
-filetype indent on
-
-function! CreateMatchLine()
- let linenum = line( '.' )
- let current_line = getline( linenum )
- " don't do magic if the cursor isn't at the end of the line or if it's
- " inside a // comment
- if col( '.' ) != strlen( current_line ) || match( current_line, '//' ) >= 0
- return ''
- endif
- " remove whitespace at the end
- if match( current_line, '\s\+$' ) >= 0
- :execute ':s/\s*$//'
- " the following is needed if return '' is called
- :execute "normal $"
- endif
- let current_line = getline( linenum )
- " remove all /* */ comments
- let current_line = substitute( current_line, '/\*.\{-}\*/', '', 'g' )
- " remove all strings
- let current_line = substitute( current_line, "'[^']*'", '', 'g' )
- let current_line = substitute( current_line, '"\(\\"\|[^"]\)*"', '', 'g' )
- " remove all ( )
- while current_line =~ '(.*)'
- let current_line = substitute( current_line, '([^()]*)', '', 'g' )
- endwhile
- " prepend earlier lines until we find a ; or {
- while linenum > 1 && current_line !~ ';' && current_line !~ '{.\+$'
- let linenum = linenum - 1
- let prev_line = getline(linenum)
- if synIDattr(synID(linenum, 1, 1), "name") == 'cComment' "inside a /* */ comment at the beginning of the line
- if stridx(prev_line, '*/') == -1
- " next line please
- let prev_line = ''
- else
- " remove everything before */
- let prev_line = substitute(prev_line, '^.*\*/', '*/', '')
- endif
- endif
- " remove // comment
- let prev_line = substitute(prev_line, '//.*$', '', '' )
- " concatenate the lines with a space in between
- let current_line = prev_line.' '.current_line
- " remove all /* */ comments
- let current_line = substitute( current_line, '/\*.\{-}\*/', '', 'g' )
- " remove all strings
- let current_line = substitute( current_line, "'[^']*'", '', 'g' )
- let current_line = substitute( current_line, '"\(\\"\|[^"]\)*"', '', 'g' )
- " remove all ( )
- while current_line =~ '(.*)'
- let current_line = substitute( current_line, '([^()]*)', '', 'g' )
- endwhile
- endwhile
- " remove everything until the last ;
- let current_line = substitute( current_line, '^.*;', '', '' )
- " remove everything until the last { which is not at the end of the line
- let current_line = substitute( current_line, '^.*{\(.\+\)$', '\1', '' )
- " remove all [ ]
- while current_line =~ '\[.*\]'
- let current_line = substitute( current_line, '\[[^\[\]]*\]', '', 'g' )
- endwhile
- " if <CR> was pressed inside ( ), [ ] or /* */ don't add braces
- if current_line =~ '[(\[]' || current_line =~ '/\*'
- return ''
- endif
- return current_line
-endfunction
-
-function! AddClosingBrace(current_line)
- if a:current_line =~ '\<enum\|class\|struct\>'
- :execute "normal o};\<ESC>k"
- elseif a:current_line =~ '\<namespace\>'
- let namespace = substitute( a:current_line, '^.*namespace\s\+', '', '' )
- let namespace = substitute( namespace, '\s.*$', '', '' )
- :execute "normal o} // namespace " . namespace . "\<ESC>k"
- else
- :execute "normal o}\<ESC>k"
- endif
-endfunction
-
-function! SmartLineBreak()
- if synIDattr(synID(line("."), col("."), 1), "name") == 'cComment' "inside a /* */ comment at the point where the line break occurs
- return
- endif
- let match_line = CreateMatchLine()
- if match_line == ''
- return
- endif
-
- let match_position1 = -1
- let match_position2 = -1
- if strlen(g:need_brace_on_same_line) > 0
- let match_position1 = match(match_line, g:need_brace_on_same_line)
- if match_position1 > 0
- while strpart(match_line, match_position1 - 1, 1) == '#'
- let old_position = match_position1
- let match_position1 = match(match_line, g:need_brace_on_same_line, match_position1 + 1)
- if match_position1 == -1
- if strpart(match_line, old_position, 2) == 'if'
- :execute "normal o#endif\<ESC>k$"
- endif
- return
- endif
- endwhile
- endif
- endif
- if strlen(g:need_brace_on_next_line) > 0 && match_position1 == -1
- let match_position2 = match(match_line, g:need_brace_on_next_line)
- if match_position2 > 0
- while strpart(match_line, match_position2 - 1, 1) == '#'
- let old_position = match_position2
- let match_position2 = match(match_line, g:need_brace_on_same_line, match_position2 + 1)
- if match_position2 == -1
- if strpart(match_line, old_position, 2) == 'if'
- :execute "normal o#endif\<ESC>k$"
- endif
- return
- endif
- endwhile
- endif
- endif
-
- if match_position1 > -1
- if match_line =~ '}\s*else\>'
- " make sure else is on the same line as the closing brace
- if getline('.') =~ '^\s*else'
- if getline(line('.') - 1) =~ '}$'
- :execute "normal kA \<ESC>J"
- elseif getline(line('.') - 1) =~ '}\s*$'
- :execute "normal kJ"
- endif
- endif
- endif
- while getline('.') =~ '^\s*{$'
- " opening brace is on its own line: move it up
- :execute "normal kJ"
- endwhile
- if match_line =~ '{$'
- if getline('.') =~ '[^ ]{$'
- :execute ':s/{$/ {/'
- endif
- else
- :execute ':s/$/ {/'
- endif
- call AddClosingBrace(match_line)
- elseif getline('.') =~ '^\s*{$'
- call AddClosingBrace('')
- elseif match_position2 > -1
- if match_line =~ '{$'
- :execute ':s/\s*{$//'
- endif
- :execute "normal o{"
- call AddClosingBrace(match_line)
- endif
- :execute "normal $"
-endfunction
-
-function! SmartParensOn()
- inoremap ( <C-R>=SmartParens( '(' )<CR>
- inoremap [ <C-R>=SmartParens( '[' )<CR>
- inoremap ] <C-R>=SmartParens( ']', '[' )<CR>
- inoremap ) <C-R>=SmartParens( ')', '(' )<CR>
-endfunction
-
-function! SmartParensOff()
- if strlen(mapcheck('[','i')) > 0
- iunmap (
- iunmap [
- iunmap ]
- iunmap )
- endif
-endfunction
-
-function! SmartTab()
- let col = col('.') - 1
- if !col || getline('.')[col-1] !~ '\k'
- return "\<Tab>"
- else
- return "\<C-P>"
- endif
-endfunction
-
-function! SmartParens( char, ... )
- if ! ( &syntax =~ '^\(c\|cpp\|java\)$' )
- return a:char
- endif
- let s = strpart( getline( '.' ), 0, col( '.' ) - 1 )
- if s =~ '//'
- return a:char
- endif
- let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' )
- let s = substitute( s, "'[^']*'", '', 'g' )
- let s = substitute( s, '"\(\\"\|[^"]\)*"', '', 'g' )
- if s =~ "\\([\"']\\|/\\*\\)"
- return a:char
- endif
- if a:0 > 0
- if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == a:1 . ' '
- return "\<BS>" . a:char
- endif
- if strpart( getline( '.' ), col( '.' ) - 2, 1 ) == ' '
- return a:char
- endif
- return ' ' . a:char
- endif
- if !exists("g:DisableSpaceBeforeParen")
- if a:char == '('
- if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == 'if' ||
- \strpart( getline( '.' ), col( '.' ) - 4, 3 ) == 'for' ||
- \strpart( getline( '.' ), col( '.' ) - 6, 5 ) == 'while' ||
- \strpart( getline( '.' ), col( '.' ) - 7, 6 ) == 'switch'
- return ' ( '
- endif
- endif
- endif
- return a:char . ' '
-endfunction
-
-function! SpaceBetweenKeywordAndParens()
- if ! ( &syntax =~ '^\(c\|cpp\|java\)$' )
- return '('
- endif
- let s = strpart( getline( '.' ), 0, col( '.' ) - 1 )
- if s =~ '//'
- " text inside a comment
- return '('
- endif
- let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' )
- let s = substitute( s, "'[^']*'", '', 'g' )
- let s = substitute( s, '"\(\\"\|[^"]\)*"', '', 'g' )
- if s =~ "\\([\"']\\|/\\*\\)"
- " text inside a string
- return '('
- endif
- if a:0 > 0
- if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == a:1 . ' '
- return "\<BS>" . a:char
- endif
- if strpart( getline( '.' ), col( '.' ) - 2, 1 ) == ' '
- return a:char
- endif
- return ' ' . a:char
- endif
- if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == 'if' ||
- \strpart( getline( '.' ), col( '.' ) - 4, 3 ) == 'for' ||
- \strpart( getline( '.' ), col( '.' ) - 6, 5 ) == 'while' ||
- \strpart( getline( '.' ), col( '.' ) - 7, 6 ) == 'switch' ||
- \strpart( getline( '.' ), col( '.' ) - 8, 7 ) == 'foreach' ||
- \strpart( getline( '.' ), col( '.' ) - 8, 7 ) == 'forever'
- return ' ('
- endif
- return '('
-endfunction
-
-function! SwitchHeaderImpl()
- let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$'
- let headers = '\.\([hH]\|hpp\|hxx\)$'
- let impl = '\.\([cC]\|cpp\|cc\|cxx\)$'
- let fn = expand( '%' )
- if fn =~ privateheaders
- let list = glob( substitute( fn, privateheaders, '.*', '' ) )
- elseif fn =~ headers
- let list = glob( substitute( fn, headers, '.*', '' ) )
- elseif fn =~ impl
- let list = glob( substitute( fn, impl, '.*', '' ) )
- endif
- while strlen( list ) > 0
- let file = substitute( list, "\n.*", '', '' )
- let list = substitute( list, "[^\n]*", '', '' )
- let list = substitute( list, "^\n", '', '' )
- if ( ( fn =~ headers || fn =~ privateheaders ) && file =~ impl ) || ( fn =~ impl && file =~ headers )
- call AskToSave()
- execute( "edit " . file )
- return
- endif
- endwhile
- if ( fn =~ headers )
- call AskToSave()
- if exists( "$implextension" )
- let file = substitute( fn, headers, '.' . $implextension, '' )
- else
- let file = substitute( fn, headers, '.cpp', '' )
- endif
- " check for modified state of current buffer and if modified ask:
- " save, discard, cancel
- execute( 'edit '.file )
- call append( 0, "#include \"".fn."\"" )
- call append( 2, "// vim: sw=4 sts=4 et tw=100" )
- execute( "set sw=4" )
- execute( "set sts=4" )
- execute( "set et" )
- execute( "set tw=100" )
- elseif fn =~ impl
- call AskToSave()
- let file = substitute( fn, impl, '.h', '' )
- execute( "edit ".file )
- endif
-endfunction
-
-function! SwitchPrivateHeaderImpl()
- let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$'
- let headers = '\.\([hH]\|hpp\|hxx\)$'
- let impl = '\.\([cC]\|cpp\|cc\|cxx\)$'
- let fn = expand( '%' )
- if fn =~ privateheaders
- let list = glob( substitute( fn, privateheaders, '.*', '' ) )
- elseif fn =~ headers
- let list = glob( substitute( fn, headers, '_p.*', '' ) )
- elseif fn =~ impl
- let list = glob( substitute( fn, impl, '_p.*', '' ) )
- endif
- while strlen( list ) > 0
- let file = substitute( list, "\n.*", '', '' )
- let list = substitute( list, "[^\n]*", '', '' )
- let list = substitute( list, "^\n", '', '' )
- if ( fn =~ privateheaders && file =~ impl ) || ( fn =~ impl && file =~ privateheaders ) || ( fn =~ headers && file =~ privateheaders )
- call AskToSave()
- execute( "edit " . file )
- return
- endif
- endwhile
- if ( fn =~ privateheaders )
- call AskToSave()
- if exists( "$implextension" )
- let file = substitute( fn, privateheaders, '.' . $implextension, '' )
- else
- let file = substitute( fn, privateheaders, '.cpp', '' )
- endif
- " check for modified state of current buffer and if modified ask:
- " save, discard, cancel
- execute( 'edit '.file )
- call append( 0, "#include \"".fn."\"" )
- call append( 2, "// vim: sw=4 ts=4 noet" )
- execute( "set sw=4" )
- execute( "set ts=4" )
- elseif fn =~ impl
- let file = substitute( fn, impl, '_p.h', '' )
- call CreatePrivateHeader( file )
- elseif fn =~ headers
- let file = substitute( fn, headers, '_p.h', '' )
- call CreatePrivateHeader( file )
- endif
-endfunction
-
-function! AskToSave()
- if &modified
- let yesorno = input("Save changes before switching file? [Y/n]")
- if yesorno == 'y' || yesorno == '' || yesorno == 'Y'
- :execute 'w'
- return 1
- else
- return 0
- endif
- endif
- return 1
-endfunction
-
-function! CreatePrivateHeader( privateHeader )
- let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$'
- let headers = '\.\([hH]\|hpp\|hxx\)$'
- let impl = '\.\([cC]\|cpp\|cc\|cxx\)$'
- let fn = expand( '%' )
- if fn =~ headers
- let className = ClassNameFromHeader()
- elseif fn =~ impl
- let className = ClassNameFromImpl()
- endif
-
- if AskToSave() && fn =~ headers
- :normal gg
- " check whether a Q_DECLARE_PRIVATE is needed
- let dp = search( '\(^\|\s\+\)Q_DECLARE_PRIVATE\s*(\s*'.className.'\s*)' )
- if dp == 0 "nothing found
- call search( '^\s*class\s\+\([A-Za-z0-9]\+_EXPORT\s\+\)[A-Za-z_]\+\s*\(:\s*[,\t A-Za-z_]\+\)\?\s*\n\?\s*{' )
- call search( '{' )
- let @c = className
- if match(getline(line('.')+1), 'Q_OBJECT')
- :normal joQ_DECLARE_PRIVATE(c)
- else
- :normal oQ_DECLARE_PRIVATE(c)
- endif
- :execute 'w'
- endif
- endif
- execute( "edit ".a:privateHeader )
- let privateClassName = className . 'Private'
- let header = substitute( a:privateHeader, privateheaders, '.h', '' )
-
- call IncludeGuard()
- " FIXME: find out what license to use
- call LicenseHeader( "LGPL" )
- :set sw=4
- :set sts=4
- :set et
- :set tw=100
- :normal Go// vim: sw=4 sts=4 et tw=100
- let @h = header
- let @p = privateClassName
- let @c = className
- :normal kkko #include "h" class p { Q_DECLARE_PUBLIC(c) protected: c* q_ptr; };
-endfunction
-
-function! ClassNameFromHeader()
- :normal gg
- call search( '^\s*class\s\+\([A-Za-z0-9]\+_EXPORT\s\+\)\?[A-Za-z_]\+\s*\(:\s*[,\t A-Za-z_]\+\)\?\s*\n\?\s*{' )
- "\zs and \ze mark start and end of the matching
- return matchstr( getline('.'), '\s\+\zs\w\+\ze\s*\(:\|{\|$\)' )
-endfunction
-
-function! ClassNameFromImpl()
- :normal gg
- call search( '\s*\([A-Za-z_]\+\)::\1\s*(' )
- :normal "cye
- return @c
-endfunction
-
-function! IncludeGuard()
- let guard = toupper( substitute( substitute( expand( '%' ), '\([^.]*\)\.h', '\1_h', '' ), '/', '_', '' ) )
- call append( '^', '#define ' . guard )
- +
- call append( '^', '#ifndef ' . guard )
- call append( '$', '#endif // ' . guard )
- +
-endfunction
-
-function! LicenseHeader( license )
- let filename = $HOME . "/" . a:license . "HEADER"
- execute ":0r " . filename
-" call append( 0, system( "cat " . filename ) )
-endfunction
-
-function! SmartInclude()
- let next = nr2char( getchar( 0 ) )
- if next == '"'
- return "#include \".h\"\<Left>\<Left>\<Left>"
- endif
- if next == '>'
- return "#include <>\<Left>"
- endif
- return "#include <.h>\<Left>\<Left>\<Left>"
-endfunction
-
-function! MapIdentHeader( ident )
- let header = tolower(substitute(a:ident, '::', '/', 'g')).'.h'
- if a:ident =~ 'Private$'
- let header = substitute(header, 'private', '_p', '')
- endif
- " always prefer the headers in the same directory
- let check = header
- let slash = 1
- while slash != -1
- if filereadable( check )
- return '"' . check . '"'
- endif
- let slash = match( check, '/' )
- let check = strpart( check, slash + 1 )
- endwhile
- let check = tolower(substitute(a:ident, '::', '/', 'g')).'_p.h'
- let slash = 1
- while slash != -1
- if filereadable(check)
- return '"' . check . '"'
- endif
- let slash = match(check, '/')
- let check = strpart(check, slash + 1)
- endwhile
-
- " Qt stuff
- if a:ident =~ '^Q[A-Z]'
- " let's try to find the module
- let module = ''
- if $QTDIR != ''
- if filereadable($QTDIR.'/include/QtCore/'.a:ident)
- let module = 'QtCore/'
- elseif filereadable($QTDIR.'/include/QtGui/'.a:ident)
- let module = 'QtGui/'
- elseif filereadable($QTDIR.'/include/Qt3Support/'.a:ident)
- let module = 'Qt3Support/'
- elseif filereadable($QTDIR.'/include/QtAssistant/'.a:ident)
- let module = 'QtAssistant/'
- elseif filereadable($QTDIR.'/include/QtDBus/'.a:ident)
- let module = 'QtDBus/'
- elseif filereadable($QTDIR.'/include/QtDesigner/'.a:ident)
- let module = 'QtDesigner/'
- elseif filereadable($QTDIR.'/include/QtNetwork/'.a:ident)
- let module = 'QtNetwork/'
- elseif filereadable($QTDIR.'/include/QtOpenGL/'.a:ident)
- let module = 'QtOpenGL/'
- elseif filereadable($QTDIR.'/include/QtSql/'.a:ident)
- let module = 'QtSql/'
- elseif filereadable($QTDIR.'/include/QtSvg/'.a:ident)
- let module = 'QtSvg/'
- elseif filereadable($QTDIR.'/include/QtTest/'.a:ident)
- let module = 'QtTest/'
- elseif filereadable($QTDIR.'/include/QtUiTools/'.a:ident)
- let module = 'QtUiTools/'
- elseif filereadable($QTDIR.'/include/QtXml/'.a:ident)
- let module = 'QtXml/'
- endif
- endif
- return '<'.module.a:ident.'>'
- elseif a:ident == 'qDebug' ||
- \a:ident == 'qWarning' ||
- \a:ident == 'qCritical' ||
- \a:ident == 'qFatal'
- return '<QtCore/QtDebug>'
- elseif a:ident =~ 'Q_DECLARE_INTERFACE'
- return '<QtCore/QObject>'
- elseif a:ident =~ '^QT_VERSION' ||
- \a:ident =~ '^Q_\(W\|O\)S_' ||
- \a:ident =~ '^Q_CC_' ||
- \a:ident =~ '^Q_.*STRUCTOR_FUNCTION$' ||
- \a:ident =~ '^qu\?int' ||
- \a:ident =~ '^Q_.*_RESOURCE$' ||
- \a:ident == 'qreal' ||
- \a:ident == 'qAbs' ||
- \a:ident == 'qRound' ||
- \a:ident == 'qRound64' ||
- \a:ident == 'qMin' ||
- \a:ident == 'qMax' ||
- \a:ident == 'qBound' ||
- \a:ident == 'qVersion' ||
- \a:ident == 'qSharedBuild' ||
- \a:ident == 'Q_UNUSED' ||
- \a:ident == 'Q_ASSERT' ||
- \a:ident == 'qInstallMsgHandler' ||
- \a:ident == 'Q_GLOBAL_STATIC' ||
- \a:ident == 'Q_GLOBAL_STATIC_WITH_ARGS' ||
- \a:ident == 'qFuzzyCompare' ||
- \a:ident == 'qIsNull' ||
- \a:ident == 'qSwap' ||
- \a:ident =~ 'Q_DECLARE_\(FLAGS\|OPERATORS_FOR_FLAGS\|PRIVATE\|PUBLIC\)' ||
- \a:ident == 'Q_D' ||
- \a:ident == 'Q_Q' ||
- \a:ident == 'Q_DISABLE_COPY' ||
- \a:ident == 'qsrand' ||
- \a:ident == 'qrand'
- return '<QtCore/QtGlobal>'
-
- " Phonon stuff
- elseif a:ident =~ '^Phonon::[A-Z]'
- if a:ident =~ '^Phonon::\(NoDisc\|Cd\|Dvd\|Vcd\|.\+MetaData\|.*State\|.*Category\|.\+Error\)'
- return '<Phonon/Global>'
- endif
- return '<'.substitute(a:ident, '::', '/', 'g').'>'
- endif
-
- " KDE stuff
- let kdeincdir = substitute(system('kde4-config --prefix'), '[\n\r]*', '', 'g').'/include/KDE/'
- let classname = substitute(a:ident, '^.*:', '', '')
- let pathfn = expand('%:p:h')
- if filereadable(kdeincdir.classname) && !pathfn =~ 'kdelibs'
- return '<'.classname.'>'
- elseif filereadable(kdeincdir.'Phonon/'.classname)
- return '<Phonon/'.classname.'>'
- elseif filereadable(kdeincdir.'Solid/'.classname)
- return '<Solid/'.classname.'>'
- elseif filereadable(kdeincdir.'KIO/'.classname)
- return '<KIO/'.classname.'>'
- elseif filereadable(kdeincdir.'KParts/'.classname)
- return '<KParts/'.classname.'>'
- elseif a:ident == 'K\(Double\|Int\)\(NumInput\|SpinBox\)'
- return '<knuminput.h>'
- elseif a:ident == 'KSharedConfig'
- return '<kconfig.h>'
- elseif a:ident == 'KConfigGroup'
- return '<kconfiggroup.h>'
- elseif a:ident == 'KListViewItem'
- return '<klistview.h>'
- elseif a:ident =~ 'kd\(Debug\|Warning\|Error\|Fatal\|Backtrace\)'
- return '<kdebug.h>'
- elseif a:ident == 'kapp'
- return '<kapplication.h>'
- elseif a:ident == 'i18n' ||
- \a:ident == 'I18N_NOOP'
- return '<klocale.h>'
- elseif a:ident == 'locate' ||
- \a:ident == 'locateLocal'
- return '<kstandarddirs.h>'
- elseif a:ident =~ '\(Small\|Desktop\|Bar\|MainBar\|User\)Icon\(Set\)\?' ||
- \a:ident == 'IconSize'
- return '<kiconloader.h>'
-
- " aRts stuff
- elseif a:ident =~ '\arts_\(debug\|info\|warning\|fatal\)'
- return '<debug.h>'
-
- " Standard Library stuff
- elseif a:ident =~ '\(std::\)\?\(cout\|cerr\|endl\)'
- return '<iostream>'
- elseif a:ident =~ '\(std::\)\?is\(alnum\|alpha\|ascii\|blank\|graph\|lower\|print\|punct\|space\|upper\|xdigit\)'
- return '<cctype>'
- elseif a:ident == 'printf'
- return '<cstdio>'
- endif
-
- let check = header
- while 1
- if filereadable( check )
- return '"' . check . '"'
- endif
- let slash = match( check, '/' )
- if slash == -1
- return '<' . header . '>'
- endif
- let check = strpart( check, slash + 1 )
- endwhile
-endfunction
-
-" This is a rather dirty hack, but seems to work somehow :-) (malte)
-function! AddHeader()
- let s = getline( '.' )
- let i = col( '.' ) - 1
- while i > 0 && strpart( s, i, 1 ) !~ '[A-Za-z0-9_:]'
- let i = i - 1
- endwhile
- while i > 0 && strpart( s, i, 1 ) =~ '[A-Za-z0-9_:]'
- let i = i - 1
- endwhile
- let start = match( s, '[A-Za-z0-9_]\+\(::[A-Z][A-Za-z0-9_]*\)*', i )
- let end = matchend( s, '[A-Za-z0-9_]\+\(::[A-Z][A-Za-z0-9_]*\)*', i )
-" if end > col( '.' )
-" let end = matchend( s, '[A-Za-z0-9_]\+', i )
-" endif
- let ident = strpart( s, start, end - start )
- let header = MapIdentHeader(ident)
- let include = '#include '.header
-
- let line = 1
- let incomment = 0
- let appendpos = 0
- let codestart = 0
- let similarpos = 0
- let similarity = 0
- while line <= line( '$' )
- let s = getline( line )
- if incomment == 1
- let end = matchend( s, '\*/' )
- if end == -1
- let line = line + 1
- continue
- else
- let s = strpart( s, end )
- let incomment = 0
- endif
- endif
- let s = substitute( s, '//.*', '', '' )
- let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' )
- if s =~ '/\*'
- let incomment = 1
- elseif s =~ '^' . include
- break
- elseif s =~ '^#include' && s !~ '\.moc"'
- let appendpos = line
- if s =~ '^#include '.header[0:similarity+1]
- let similarpos = line
- let similarity = similarity + 1
- while s =~ '^#include '.header[0:similarity+1]
- let similarity = similarity + 1
- endwhile
- if s[9:strlen(s)-2] > header[0:strlen(header)-2]
- let similarpos = similarpos - 1
- let similarity = 100 "this include belongs one line higher (assuming the order of includes already is alphabetically)
- endif
- endif
- elseif codestart == 0 && s !~ '^$'
- let codestart = line
- endif
- let line = line + 1
- endwhile
- if similarpos > 0
- let appendpos = similarpos
- endif
- if line == line( '$' ) + 1
- if appendpos == 0
- call append( codestart - 1, include )
- call append( codestart, '' )
- else
- call append( appendpos, include )
- endif
- endif
-endfunction
-
-function! AddForward()
- let s = getline( '.' )
- let i = col( '.' ) - 1
- while i > 0 && strpart( s, i, 1 ) !~ '[A-Za-z0-9_:]'
- let i = i - 1
- endwhile
- while i > 0 && strpart( s, i, 1 ) =~ '[A-Za-z0-9_:]'
- let i = i - 1
- endwhile
- let start = match( s, '[A-Za-z0-9_]\+\(::[A-Za-z0-9_]\+\)*', i )
- let end = matchend( s, '[A-Za-z0-9_]\+\(::[A-Za-z0-9_]\+\)*', i )
- if end > col( '.' )
- let end = matchend( s, '[A-Za-z0-9_]\+', i )
- endif
- let ident = strpart( s, start, end - start )
- let forward = 'class ' . ident . ';'
-
- let line = 1
- let incomment = 0
- let appendpos = 0
- let codestart = 0
- while line <= line( '$' )
- let s = getline( line )
- if incomment == 1
- let end = matchend( s, '\*/' )
- if end == -1
- let line = line + 1
- continue
- else
- let s = strpart( s, end )
- let incomment = 0
- endif
- endif
- let s = substitute( s, '//.*', '', '' )
- let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' )
- if s =~ '/\*'
- let incomment = 1
- elseif s =~ '^' . forward
- break
- elseif s =~ '^\s*class [A-za-z0-9_]\+;' || (s =~ '^#include' && s !~ '\.moc"')
- let appendpos = line
- elseif codestart == 0 && s !~ '^$'
- let codestart = line
- endif
- let line = line + 1
- endwhile
- if line == line( '$' ) + 1
- if appendpos == 0
- call append( codestart - 1, forward )
- call append( codestart, '' )
- else
- call append( appendpos, forward )
- endif
- endif
-endfunction
-
-function! RunDiff()
- echo 'Diffing....'
- read! cvs diff -bB -I \\\#include | egrep -v '(^Index:|^=+$|^RCS file:|^retrieving revision|^diff -u|^[+-]{3})'
-endfunction
-
-function! CreateChangeLogEntry()
- let currentBuffer = expand( "%" )
-
- if exists( "g:EMAIL" )
- let mail = g:EMAIL
- elseif exists( "$EMAIL" )
- let mail = $EMAIL
- else
- let mail = inputdialog( "Enter Name/Email for Changelog entry: " )
- if mail == ""
- echo "Aborted ChangeLog edit..."
- return
- endif
- let g:EMAIL = mail
- endif
-
- if bufname( "ChangeLog" ) != "" && bufwinnr( bufname( "ChangeLog" ) ) != -1
- execute bufwinnr( bufname( "ChangeLog" ) ) . " wincmd w"
- else
- execute "split ChangeLog"
- endif
-
- let lastEntry = getline( nextnonblank( 1 ) )
- let newEntry = strftime("%Y-%m-%d") . " " . mail
-
- if lastEntry != newEntry
- call append( 0, "" )
- call append( 0, "" )
- call append( 0, newEntry )
- endif
-
- " like emacs, prepend the current buffer name to the entry. but unlike
- " emacs I have no idea how to figure out the current function name :(
- " (Simon)
- if currentBuffer != ""
- let newLine = "\t* " . currentBuffer . ": "
- else
- let newLine = "\t* "
- endif
-
- call append( 2, newLine )
-
- execute "normal 3G$"
-endfunction
-
-function! AddQtSyntax()
- if expand( "<amatch>" ) == "cpp"
- syn keyword qtKeywords signals slots emit Q_SLOTS Q_SIGNALS
- syn keyword qtMacros Q_OBJECT Q_WIDGET Q_PROPERTY Q_ENUMS Q_OVERRIDE Q_CLASSINFO Q_SETS SIGNAL SLOT Q_DECLARE_PUBLIC Q_DECLARE_PRIVATE Q_D Q_Q Q_DISABLE_COPY Q_DECLARE_METATYPE Q_PRIVATE_SLOT Q_FLAGS Q_INTERFACES Q_DECLARE_INTERFACE Q_EXPORT_PLUGIN2 Q_GADGET Q_SCRIPTABLE Q_INVOKABLE METHOD Q_ARG Q_RETURN_ARG
- syn keyword qtCast qt_cast qobject_cast qvariant_cast qstyleoption_cast
- syn keyword qtTypedef uchar uint ushort ulong Q_INT8 Q_UINT8 Q_INT16 Q_UINT16 Q_INT32 Q_UINT32 Q_LONG Q_ULONG Q_INT64 Q_UINT64 Q_LLONG Q_ULLONG pchar puchar pcchar qint8 quint8 qint16 quint16 qint32 quint32 qint64 quint64 qlonglong qulonglong qreal
- syn keyword kdeKeywords k_dcop k_dcop_signals
- syn keyword kdeMacros K_DCOP ASYNC PHONON_ABSTRACTBASE PHONON_OBJECT PHONON_HEIR PHONON_ABSTRACTBASE_IMPL PHONON_OBJECT_IMPL PHONON_HEIR_IMPL PHONON_PRIVATECLASS PHONON_PRIVATEABSTRACTCLASS K_DECLARE_PRIVATE K_D
- syn keyword cRepeat foreach
- syn keyword cRepeat forever
-
- hi def link qtKeywords Statement
- hi def link qtMacros Type
- hi def link qtCast Statement
- hi def link qtTypedef Type
- hi def link kdeKeywords Statement
- hi def link kdeMacros Type
- endif
-endfunction
-
-function! InsertMethodTracer()
- :normal [[kf(yBjokDebug() << ""()" << endl;
-endfunction
-
-function! UpdateMocFiles()
- if &syntax == "cpp"
- let i = 1
- while i < 80
- let s = getline( i )
- if s =~ '^#include ".*\.moc"'
- let s = substitute( s, '.*"\(.*\)\.moc"', '\1.h', '' )
- if stridx( &complete, s ) == -1
- let &complete = &complete . ',k' . s
- endif
- break
- endif
- let i = i + 1
- endwhile
- endif
-endfunction
-
-autocmd Syntax * call AddQtSyntax()
-autocmd CursorHold * call UpdateMocFiles()
-autocmd BufNewFile,BufRead * call SetCodingStyle()
-
-" vim: sw=4 sts=4 et
diff --git a/.vim/ltags b/.vim/ltags
deleted file mode 100644
index bec7c56..0000000
--- a/.vim/ltags
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/perl
-# Author: Dimitri Antoniou <dimitri@risc2.aecom.yu.edu>
-# usage: ltags filename
-# handles: \label and \cite{ } with one or more arguments
-# fails if arguments of cite spread over more than one line
-# also searches in files that are \include or \input in the main file
-
-# get main LaTeX source file from command line:
-$mainfile = shift;
-
-# get names of included files and store them in an array
-open MAIN, $mainfile or die "$!" ;
-@mainfile=<MAIN>;
-@allsrcfiles = map{ /^\\(?:input|include){(.*?)}/ } @mainfile;
-unshift @allsrcfiles, $mainfile;
-
-# loop over all source files
-for $srcfile (@allsrcfiles) {
- # if \input{fname} append .tex to fname
- unless ( $srcfile =~ m/\.tex/ ) { $srcfile = $srcfile . "\.tex" }
- open SRC, $srcfile or die "$!" ;
- # store contents of source file in array @texfile
- @texfile=<SRC>;
-
- # store lines with \label and \cite (or \citeonline) in arrays
- @labelList = grep{ /\\label{/ } @texfile;
- @citeList = grep{ /\\(cite|citeonline){/ } @texfile;
-
- # see if we use an external database; if yes, store its name in $bibfile
- ($dbase) = grep{ /^\\bibliography{/ } @texfile;
- if ($dbase) {
- $dbase =~ m/\\bibliography{(.*?)}/;
- $bibfile = $1;
- }
-
- # write \bibitem in tags file
- @mrefs=();
- @refs=();
- @multirefs=();
- foreach (@citeList) {
- while ( m/\\(?:cite|citeonline){(.*?)}/g ) {
- $refs = $1;
- # if \cite has more than one argument, split them:
- if ($refs =~ /,/) {
- @mrefs = split /,/, $refs;
- # there might be more than one \cite in a line:
- push (@multirefs, @mrefs);
- }
- else {
- @refs = ($refs);
- push (@multirefs, @refs);
- }
- }
- # in BibTeX, format is @ARTICLE{Name, }; in source file, \bibitem{Name}
- for $ref (@multirefs) {
- if ( $dbase ) {
- push @unsorttag, "$ref\t$bibfile\t/{$ref,/\n"
- }
- else {
- push @unsorttag, "$ref\t$srcfile\t/bibitem{$ref}/\n"
- }
- }
- }
-
- # write \label in tag file
- foreach (@labelList) {
- m/\\label{(.*?)}/;
- push @unsorttag, "$1\t$srcfile\t/label{$1}/\n";
- }
-}
-
-# sort tag file; then, eliminate duplicates
-@sortedtag = sort @unsorttag;
-%seen = ();
-@uniqtag = grep { ! $seen{$_} ++ } @sortedtag;
-
-open(TAGS, "> tags");
-print TAGS @uniqtag;
diff --git a/.vim/moin1_6.vim b/.vim/moin1_6.vim
deleted file mode 100644
index f654af6..0000000
--- a/.vim/moin1_6.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" MoinMoin structured text syntax file
-" Filename: moin.vim
-" Language: MoinMoin structured text
-" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com>
-" Last Change: Sun, 02 Mar 2008 23:42:31 -0300
-
-" remove any old syntax stuff hanging around
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-syn sync lines=30
-
-syn region moinSettings start="\%^@@ Syntax:" end="^[^@]"me=e-1 end="^$" nextgroup=moinPragma
-syn region moinPragma start="^#" end="^$" contained
-syn region moinItalic start="''" end="''"
-syn region moinBold start="'''" end="'''"
-syn region moinUnderline start="__" end="__"
-syn match moinSub ",,.{1,40},,"
-syn match moinSup "\^.\{-}\^"
-syn region moinCode start="^{{{\z([^#]*\)" keepend end="\z1}}}"
-syn match moinCode "{{{[^$]\{-}}}}"
-syn region moinCode start="`" end="`"
-syn cluster moinTextMarkup contains=moinItalic,moinBold,moinCode,moinUnderline,moinSup,moinSub
-syn match moinComment "^##.*$"
-syn region moinInlineComment start="/\*" end="\*/"
-syn region moinMacro start="<<" end=">>"
-syn region moinStrike start="--(" end=")--"
-syn region moinHeader start="^\z(=\{1,5}\) " end=" \z1$" oneline
-syn match moinRule "^-\{4,}$"
-syn match moinSmileys "\(\s\|\_^\)\(%)\|(!)\|(./)\|/!\\\|:(\|:)\|:))\|:-(\|:-)\|:-))\|:-?\|:D\|:\\\|:o\|;)\|;-)\|<!>\|<:(\|>:>\|B)\|B-)\|X-(\|{\*}\|{1}\|{2}\|{3}\|{OK}\|{X}\|{da}\|{de}\|{en}\|{es}\|{fi}\|{fr}\|{it}\|{i}\|{ja}\|{ko}\|{nl}\|{o}\|{pt}\|{sv}\|{us}\|{zh}\||)\||-)\)\(\s\|\_$\)"
-syn match moinLinkMoin "\([^!]\@<=\|^\)\<\(/\?\([[:upper:]][[:lower:][:digit:]]\+\)\{2,}\)\+\>"
-syn match moinLinkMoinBang "!\ze\(/\?\([[:upper:]][[:lower:][:digit:]]\+\)\{2,}\)\+"
-syn region moinLinkExplicit start="\[\[" end="\]\]"
-syn region moinLinkEmbedded start="{{[^{]" end="}}"
-syn match moinLinkEmail "<\?[[:alnum:]-._+]\+@[[:alnum:]-]\+\.[[:alnum:]-.]\+>\?"
-syn match moinLinkUrl "\(http\|https\|ftp\|file\|mailto\|nntp\|news\|telnet\|irc\|ircs\|xmpp\|drawing\):\([^][:space:]<"'}|:,.)?!]\|[]"'}|:,.)?!][^][:space:]<"'}|:,.)?!]\)\+"
-syn match moinLinkInter "[A-Z][a-zA-Z]\+:[^[:space:]'\":<]\([^][:space:]<"'}|:,.)?!]\|[]"'}|:,.)?!][^][:space:]<"'}|:,.)?!]\)\+"
-syn cluster moinLinks contains=moinLinkMoin,moinLinkExplicit,moinLinkEmbedded,moinLinkEmail,moinLinkUrl,moinLinkInter
-syn cluster moinMarkup contains=@moinTextMarkup,@moinLinks,moinMacro,moinStrike,moinSmileys
-syn match moinTableOpt "<[^>]*>" contained
-syn match moinTableMark "||\(<[^>]*>\)\?" contained contains=moinTableOpt
-syn region moinTable start="^\s*||"rs=s end="||$"re=e oneline contains=moinTableMark,@moinMarkup
-syn match moinDefinition "^\s\+.\{-}::\ze\(\s.*\)\?$"
-syn match moinList "^\s\+\*\s"
-
-if !exists("did_dic_syntax_inits")
- let did_dic_syntax_inits = 1
- hi link moinComment Comment
- hi link moinInlineComment Comment
- hi def moinBold term=bold cterm=bold gui=bold
- hi def moinItalic ctermfg=darkcyan gui=italic
- hi link moinUnderline moinItalic
- hi link moinSub moinItalic
- hi link moinSup moinItalic
- hi def moinSettings ctermfg=green guifg=green
- hi def moinPragma ctermfg=darkred guifg=darkred
- hi link moinMacro Macro
- hi def moinStrike ctermfg=darkgray guifg=darkgray
- hi link moinHeader Title
- hi def moinTableMark ctermfg=yellow guifg=yellow
- hi def moinTableOpt ctermfg=darkyellow guifg=darkyellow
- hi link moinDefinition moinBold
- hi link moinList moinBold
- hi link moinRule Title
- hi def moinCode ctermfg=cyan guifg=cyan
- hi def moinLink ctermfg=red guifg=red
- hi link moinLinkExplicit moinLink
- hi link moinLinkEmbedded moinLink
- hi link moinLinkMoin moinLink
- hi link moinLinkMoinBang moinLink
- hi link moinLinkEmail moinLink
- hi link moinLinkUrl moinLink
- hi link moinLinkBUrl moinLinkUrl
- hi link moinLinkQUrl moinLinkUrl
- hi link moinLinkInter moinLink
- hi def moinSmileys ctermfg=yellow guifg=yellow
-endif
-
-let b:current_syntax = "moin"
-
diff --git a/.vim/plugin/SyntaxFolds.vim b/.vim/plugin/SyntaxFolds.vim
deleted file mode 100644
index 27c622c..0000000
--- a/.vim/plugin/SyntaxFolds.vim
+++ /dev/null
@@ -1,323 +0,0 @@
-" ==============================================================================
-" File: syntaxFolds.vim
-" Author: Srinath Avadhanula
-" ( srinath@fastmail.fm )
-" Last Change: Sun Oct 27 01:00 AM 2002 PST
-" Description: Emulation of the syntax folding capability of vim using manual
-" folding
-"
-" This script provides an emulation of the syntax folding of vim using manual
-" folding. Just as in syntax folding, the folds are defined by regions. Each
-" region is specified by a call to FoldRegions() which accepts 4 parameters:
-"
-" call FoldRegions(startpat, endpat, startoff, endoff)
-"
-" startpat: a line matching this pattern defines the beginning of a fold.
-" endpat : a line matching this pattern defines the end of a fold.
-" startoff: this is the offset from the starting line at which folding will
-" actually start
-" endoff : like startoff, but gives the offset of the actual fold end from
-" the line satisfying endpat.
-" startoff and endoff are necessary when the folding region does
-" not have a specific end pattern corresponding to a start
-" pattern. for example in latex,
-" \begin{section}
-" defines the beginning of a section, but its not necessary to
-" have a corresponding
-" \end{section}
-" the section is assumed to end 1 line _before_ another section
-" starts.
-" startskip: a pattern which defines the beginning of a "skipped" region.
-"
-" For example, suppose we define a \itemize fold as follows:
-" startpat = '^\s*\\item',
-" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
-" startoff = 0,
-" endoff = -1
-"
-" This defines a fold which starts with a line beginning with an
-" \item and ending one line before a line beginning with an
-" \item or \end{enumerate} etc.
-"
-" Then, as long as \item's are not nested things are fine.
-" However, once items begin to nest, the fold started by one
-" \item can end because of an \item in an \itemize
-" environment within this \item. i.e, the following can happen:
-"
-" \begin{itemize}
-" \item Some text <------- fold will start here
-" This item will contain a nested item
-" \begin{itemize} <----- fold will end here because next line contains \item...
-" \item Hello
-" \end{itemize} <----- ... instead of here.
-" \item Next item of the parent itemize
-" \end{itemize}
-"
-" Therefore, in order to completely define a folding item which
-" allows nesting, we need to also define a "skip" pattern.
-" startskip and end skip do that.
-" Leave '' when there is no nesting.
-" endskip: the pattern which defines the end of the "skip" pattern for
-" nested folds.
-"
-" Example:
-" 1. A syntax fold region for a latex section is
-" startpat = "\\section{"
-" endpat = "\\section{"
-" startoff = 0
-" endoff = -1
-" startskip = ''
-" endskip = ''
-" Note that the start and end patterns are thus the same and endoff has a
-" negative value to capture the effect of a section ending one line before
-" the next starts.
-" 2. A syntax fold region for the \itemize environment is:
-" startpat = '^\s*\\item',
-" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
-" startoff = 0,
-" endoff = -1,
-" startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}',
-" endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}'
-" Note the use of startskip and endskip to allow nesting.
-"
-"
-" Each time a call is made to FoldRegions(), all the regions (which might be
-" disjoint, but not nested) are folded up.
-" Nested folds can be created by successive calls to FoldRegions(). The first
-" call defines the region which is deepest in the folding. See MakeTexFolds()
-" for an idea of how this works for latex files.
-
-" Function: AddSyntaxFoldItem (start, end, startoff, endoff [, skipStart, skipEnd]) {{{
-function! AddSyntaxFoldItem(start, end, startoff, endoff, ...)
- if a:0 > 0
- let skipStart = a:1
- let skipEnd = a:2
- else
- let skipStart = ''
- let skipEnd = ''
- end
- if !exists('b:numFoldItems')
- let b:numFoldItems = 0
- end
- let b:numFoldItems = b:numFoldItems + 1
-
- exe 'let b:startPat_'.b:numFoldItems.' = a:start'
- exe 'let b:endPat_'.b:numFoldItems.' = a:end'
- exe 'let b:startOff_'.b:numFoldItems.' = a:startoff'
- exe 'let b:endOff_'.b:numFoldItems.' = a:endoff'
- exe 'let b:skipStartPat_'.b:numFoldItems.' = skipStart'
- exe 'let b:skipEndPat_'.b:numFoldItems.' = skipEnd'
-endfunction
-
-
-" }}}
-" Function: MakeSyntaxFolds (force) {{{
-" Description: This function calls FoldRegions() several times with the
-" parameters specifying various regions resulting in a nested fold
-" structure for the file.
-function! MakeSyntaxFolds(force, ...)
- if exists('b:doneFolding') && a:force == 0
- return
- end
-
- let skipEndPattern = ''
- if a:0 > 0
- let line1 = a:1
- let skipEndPattern = '\|'.a:2
- else
- let line1 = 1
- let r = line('.')
- let c = virtcol('.')
-
- setlocal fdm=manual
- normal! zE
- end
- if !exists('b:numFoldItems')
- b:numFoldItems = 1000000
- end
-
- let i = 1
-
- let maxline = line('.')
-
- while exists('b:startPat_'.i) && i <= b:numFoldItems
- exe 'let startPat = b:startPat_'.i
- exe 'let endPat = b:endPat_'.i
- exe 'let startOff = b:startOff_'.i
- exe 'let endOff = b:endOff_'.i
-
- let skipStart = ''
- let skipEnd = ''
- if exists('b:skipStartPat_'.i)
- exe 'let skipStart = b:skipStartPat_'.i
- exe 'let skipEnd = b:skipEndPat_'.i
- end
- exe line1
- let lastLoc = line1
-
- if skipStart != ''
- call InitStack('BeginSkipArray')
- call FoldRegionsWithSkip(startPat, endPat, startOff, endOff, skipStart, skipEnd, 1, line('$'))
- " call PrintError('done folding ['.startPat.']')
- else
- call FoldRegionsWithNoSkip(startPat, endPat, startOff, endOff, 1, line('$'), '')
- end
-
- let i = i + 1
- endwhile
-
- exe maxline
-
- if a:0 == 0
- exe r
- exe "normal! ".c."|"
- if foldlevel(r) > 1
- exe "normal! ".(foldlevel(r) - 1)."zo"
- end
- let b:doneFolding = 0
- end
-endfunction
-
-
-" }}}
-" FoldRegionsWithSkip: folding things such as \item's which can be nested. {{{
-function! FoldRegionsWithSkip(startpat, endpat, startoff, endoff, startskip, endskip, line1, line2)
- exe a:line1
- " count the regions which have been skipped as we go along. do not want to
- " create a fold which with a beginning or end line in one of the skipped
- " regions.
- let skippedRegions = ''
-
- " start searching for either the starting pattern or the end pattern.
- while search(a:startskip.'\|'.a:endskip, 'W')
-
- if getline('.') =~ a:endskip
-
- let lastBegin = Pop('BeginSkipArray')
- " call PrintError('popping '.lastBegin.' from stack and folding till '.line('.'))
- call FoldRegionsWithNoSkip(a:startpat, a:endpat, a:startoff, a:endoff, lastBegin, line('.'), skippedRegions)
- let skippedRegions = skippedRegions.lastBegin.','.line('.').'|'
-
-
- " if this is the beginning of a skip region, then, push this line as
- " the beginning of a skipped region.
- elseif getline('.') =~ a:startskip
-
- " call PrintError('pushing '.line('.').' ['.getline('.').'] into stack')
- call Push('BeginSkipArray', line('.'))
-
- end
- endwhile
-
- " call PrintError('with skip starting at '.a:line1.' returning at line# '.line('.'))
-endfunction
-
-" }}}
-" FoldRegionsWithNoSkip: folding things such as \sections which do not nest. {{{
-function! FoldRegionsWithNoSkip(startpat, endpat, startoff, endoff, line1, line2, skippedRegions)
- exe a:line1
-
- " call PrintError('line1 = '.a:line1.', searching from '.line('.').'... for ['.a:startpat.'')
- let lineBegin = s:MySearch(a:startpat, 'in')
- " call PrintError('... and finding it at '.lineBegin)
-
- while lineBegin <= a:line2
- if IsInSkippedRegion(lineBegin, a:skippedRegions)
- let lineBegin = s:MySearch(a:startpat, 'out')
- " call PrintError(lineBegin.' is being skipped')
- continue
- end
- let lineEnd = s:MySearch(a:endpat, 'out')
- while IsInSkippedRegion(lineEnd, a:skippedRegions) && lineEnd <= a:line2
- let lineEnd = s:MySearch(a:endpat, 'out')
- endwhile
- if lineEnd > a:line2
- exe (lineBegin + a:startoff).','.a:line2.' fold'
- break
- else
- " call PrintError ('for ['.a:startpat.'] '.(lineBegin + a:startoff).','.(lineEnd + a:endoff).' fold')
- exe (lineBegin + a:startoff).','.(lineEnd + a:endoff).' fold'
- end
-
- " call PrintError('line1 = '.a:line1.', searching from '.line('.').'... for ['.a:startpat.'')
- let lineBegin = s:MySearch(a:startpat, 'in')
- " call PrintError('... and finding it at '.lineBegin)
- endwhile
-
- exe a:line2
- return
-endfunction
-
-" }}}
-" InitStack: initialize a stack {{{
-function! InitStack(name)
- exe 'let s:'.a:name.'_numElems = 0'
-endfunction
-" }}}
-" Push: push element into stack {{{
-function! Push(name, elem)
- exe 'let numElems = s:'.a:name.'_numElems'
- let numElems = numElems + 1
- exe 'let s:'.a:name.'_Element_'.numElems.' = a:elem'
- exe 'let s:'.a:name.'_numElems = numElems'
-endfunction
-" }}}
-" Pop: pops element off stack {{{
-function! Pop(name)
- exe 'let numElems = s:'.a:name.'_numElems'
- if numElems == 0
- return ''
- else
- exe 'let ret = s:'.a:name.'_Element_'.numElems
- let numElems = numElems - 1
- exe 'let s:'.a:name.'_numElems = numElems'
- return ret
- end
-endfunction
-" }}}
-" MySearch: just like search(), but returns large number on failure {{{
-function! <SID>MySearch(pat, opt)
- if a:opt == 'in'
- if getline('.') =~ a:pat
- let ret = line('.')
- else
- let ret = search(a:pat, 'W')
- end
- else
- normal! $
- let ret = search(a:pat, 'W')
- end
-
- if ret == 0
- let ret = line('$') + 1
- end
- return ret
-endfunction
-" }}}
-" Function: IsInSkippedRegion (lnum, regions) {{{
-" Description: finds whether a given line number is within one of the regions
-" skipped.
-function! IsInSkippedRegion(lnum, regions)
- let i = 1
- let subset = s:Strntok(a:regions, '|', i)
- while subset != ''
- let n1 = s:Strntok(subset, ',', 1)
- let n2 = s:Strntok(subset, ',', 2)
- if a:lnum >= n1 && a:lnum <= n2
- return 1
- end
-
- let subset = s:Strntok(a:regions, '|', i)
- let i = i + 1
- endwhile
-
- return 0
-endfunction " }}}
-" Function: Strntok (string, tok, n) {{{
-" extract the n^th token from s seperated by tok.
-" example: Strntok('1,23,3', ',', 2) = 23
-fun! <SID>Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun " }}}
-
-" vim600:fdm=marker
diff --git a/.vim/plugin/c.vim b/.vim/plugin/c.vim
deleted file mode 100644
index bb9390f..0000000
--- a/.vim/plugin/c.vim
+++ /dev/null
@@ -1,2678 +0,0 @@
-"###############################################################################################
-"
-" Filename: c.vim
-"
-" Description: C/C++-IDE. Write programs by inserting complete statements,
-" comments, idioms, code snippets, templates and comments.
-" Compile, link and run one-file-programs without a makefile.
-" See also help file csupport.txt .
-"
-" GVIM Version: 7.0+
-"
-" Configuration: There are some personal details which should be configured
-" (see the files README.csupport and csupport.txt).
-"
-" Author: Dr.-Ing. Fritz Mehner, FH Südwestfalen, 58644 Iserlohn, Germany
-" Email: mehner@fh-swf.de
-"
-" Version: see variable g:C_Version below
-" Created: 04.11.2000
-" License: Copyright (c) 2000-2007, Fritz Mehner
-" This program is free software; you can redistribute it and/or
-" modify it under the terms of the GNU General Public License as
-" published by the Free Software Foundation, version 2 of the
-" License.
-" This program is distributed in the hope that it will be
-" useful, but WITHOUT ANY WARRANTY; without even the implied
-" warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-" PURPOSE.
-" See the GNU General Public License version 2 for more details.
-" Revision: $Id: c.vim,v 1.35 2007/11/21 09:14:16 mehner Exp $
-"
-"------------------------------------------------------------------------------
-"
-if v:version < 700
- echohl WarningMsg | echo 'The plugin c-support.vim needs Vim version >= 7 .'| echohl None
- finish
-endif
-"
-" Prevent duplicate loading:
-"
-if exists("g:C_Version") || &cp
- finish
-endif
-let g:C_Version= "5.0.5" " version number of this script; do not change
-"
-"###############################################################################################
-"
-" Global variables (with default values) which can be overridden.
-"
-" Platform specific items: {{{1
-" - root directory
-" - characters that must be escaped for filenames
-"
-let s:MSWIN = has("win16") || has("win32") || has("win64") ||
- \ has("win95") || has("win32unix")
-"
-if s:MSWIN
- "
- let s:escfilename = ''
- let s:plugin_dir = $VIM.'\vimfiles\'
- let s:C_CodeSnippets = s:plugin_dir.'c-support/codesnippets/'
- let s:C_IndentErrorLog = $HOME.'.indent.errorlog'
- let s:installation = 'system'
- "
- let s:C_Display = ''
- "
-else
- "
- let s:escfilename = ' \%#[]'
- let s:installation = 'local'
- "
- " user / system wide installation (Linux/Unix)
- "
- if match( expand("<sfile>"), $VIM ) >= 0
- " system wide installation
- let s:plugin_dir = $VIM.'/vimfiles/'
- let s:installation = 'system'
- else
- " user installation assumed
- let s:plugin_dir = $HOME.'/.vim/'
- endif
- "
- let s:C_CodeSnippets = $HOME.'/.vim/c-support/codesnippets/'
- let s:C_IndentErrorLog = $HOME.'/.indent.errorlog'
- "
- let s:C_Display = system("echo -n $DISPLAY")
- "
-endif
-" Use of dictionaries {{{1
-" Key word completion is enabled by the filetype plugin 'c.vim'
-" g:C_Dictionary_File must be global
-"
-if !exists("g:C_Dictionary_File")
- let g:C_Dictionary_File = s:plugin_dir.'c-support/wordlists/c-c++-keywords.list,'.
- \ s:plugin_dir.'c-support/wordlists/k+r.list,'.
- \ s:plugin_dir.'c-support/wordlists/stl_index.list'
-endif
-"
-" Modul global variables (with default values) which can be overridden. {{{1
-"
-if s:MSWIN
- let s:C_CCompiler = 'gcc.exe' " the C compiler
- let s:C_CplusCompiler = 'g++.exe' " the C++ compiler
- let s:C_ExeExtension = '.exe' " file extension for executables (leading point required)
- let s:C_ObjExtension = '.obj' " file extension for objects (leading point required)
-else
- let s:C_CCompiler = 'gcc' " the C compiler
- let s:C_CplusCompiler = 'g++' " the C++ compiler
- let s:C_ExeExtension = '' " file extension for executables (leading point required)
- let s:C_ObjExtension = '.o' " file extension for objects (leading point required)
-endif
-"
-let s:C_CExtension = 'c' " C file extension; everything else is C++
-let s:C_CFlags = '-Wall -g -O0 -c' " compiler flags: compile, don't optimize
-let s:C_CodeCheckExeName = 'check'
-let s:C_CodeCheckOptions = '-K13'
-let s:C_LFlags = '-Wall -g -O0' " compiler flags: link , don't optimize
-let s:C_Libs = '-lm' " libraries to use
-let s:C_LineEndCommColDefault = 49
-let s:C_LoadMenus = 'yes'
-let s:C_MenuHeader = 'yes'
-let s:C_OutputGvim = 'vim'
-let s:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} Page %N"
-let s:C_Root = '&C\/C\+\+.' " the name of the root menu of this plugin
-let s:C_TypeOfH = 'cpp'
-let s:C_Wrapper = s:plugin_dir.'c-support/scripts/wrapper.sh'
-let s:C_XtermDefaults = '-fa courier -fs 12 -geometry 80x24'
-"
-let s:C_GlobalTemplateFile = s:plugin_dir.'c-support/templates/Templates'
-let s:C_GlobalTemplateDir = fnamemodify( s:C_GlobalTemplateFile, ":p:h" ).'/'
-let s:C_LocalTemplateFile = $HOME.'/.vim/c-support/templates/Templates'
-let s:C_LocalTemplateDir = fnamemodify( s:C_LocalTemplateFile, ":p:h" ).'/'
-let s:C_TemplateOverwrittenMsg= 'yes'
-"
-let s:C_FormatDate = '%x'
-let s:C_FormatTime = '%X'
-let s:C_FormatYear = '%Y'
-"
-"------------------------------------------------------------------------------
-"
-" Look for global variables (if any), to override the defaults.
-"
-function! C_CheckGlobal ( name )
- if exists('g:'.a:name)
- exe 'let s:'.a:name.' = g:'.a:name
- endif
-endfunction " ---------- end of function C_CheckGlobal ----------
-"
-call C_CheckGlobal('C_CCompiler ')
-call C_CheckGlobal('C_CExtension ')
-call C_CheckGlobal('C_CFlags ')
-call C_CheckGlobal('C_CodeCheckExeName ')
-call C_CheckGlobal('C_CodeCheckOptions ')
-call C_CheckGlobal('C_CodeSnippets ')
-call C_CheckGlobal('C_CplusCompiler ')
-call C_CheckGlobal('C_ExeExtension ')
-call C_CheckGlobal('C_FormatDate ')
-call C_CheckGlobal('C_FormatTime ')
-call C_CheckGlobal('C_FormatYear ')
-call C_CheckGlobal('C_GlobalTemplateFile ')
-call C_CheckGlobal('C_IndentErrorLog ')
-call C_CheckGlobal('C_LFlags ')
-call C_CheckGlobal('C_Libs ')
-call C_CheckGlobal('C_LineEndCommColDefault ')
-call C_CheckGlobal('C_LoadMenus ')
-call C_CheckGlobal('C_LocalTemplateFile ')
-call C_CheckGlobal('C_MenuHeader ')
-call C_CheckGlobal('C_ObjExtension ')
-call C_CheckGlobal('C_OutputGvim ')
-call C_CheckGlobal('C_Printheader ')
-call C_CheckGlobal('C_Root ')
-call C_CheckGlobal('C_TemplateOverwrittenMsg ')
-call C_CheckGlobal('C_TypeOfH ')
-call C_CheckGlobal('C_XtermDefaults ')
-"
-"----- some variables for internal use only -----------------------------------
-"
-"
-" set default geometry if not specified
-"
-if match( s:C_XtermDefaults, "-geometry\\s\\+\\d\\+x\\d\\+" ) < 0
- let s:C_XtermDefaults = s:C_XtermDefaults." -geometry 80x24"
-endif
-"
-" escape the printheader
-"
-let s:C_Printheader = escape( s:C_Printheader, ' %' )
-"
-let s:C_HlMessage = ""
-"
-" characters that must be escaped for filenames
-"
-let s:C_If0_Counter = 0
-let s:C_If0_Txt = "If0Label_"
-"
-let s:C_SplintIsExecutable = 0
-if executable( "splint" )
- let s:C_SplintIsExecutable = 1
-endif
-"
-let s:C_CodeCheckIsExecutable = 0
-if executable( s:C_CodeCheckExeName )
- let s:C_CodeCheckIsExecutable = 1
-endif
-"
-"------------------------------------------------------------------------------
-" Control variables (not user configurable)
-"------------------------------------------------------------------------------
-let s:Attribute = { 'below':'', 'above':'', 'start':'', 'append':'', 'insert':'' }
-let s:C_Attribute = {}
-let s:C_ExpansionLimit = 10
-let s:C_FileVisited = []
-"
-let s:C_MacroNameRegex = '\([a-zA-Z][a-zA-Z0-9_]*\)'
-let s:C_MacroLineRegex = '^\s*|'.s:C_MacroNameRegex.'|\s*=\s*\(.*\)'
-let s:C_ExpansionRegex = '|?'.s:C_MacroNameRegex.'\(:\a\)\?|'
-let s:C_NonExpansionRegex = '|'.s:C_MacroNameRegex.'\(:\a\)\?|'
-"
-let s:C_TemplateNameDelimiter = '-+_,\. '
-let s:C_TemplateLineRegex = '^==\s*\([a-zA-Z][0-9a-zA-Z'.s:C_TemplateNameDelimiter
-let s:C_TemplateLineRegex .= ']\+\)\s*==\s*\([a-z]\+\s*==\)\?'
-"
-let s:C_ExpansionCounter = {}
-let s:C_Template = {}
-let s:C_Macro = {'|AUTHOR|' : 'first name surname',
- \ '|AUTHORREF|' : '',
- \ '|EMAIL|' : '',
- \ '|COMPANY|' : '',
- \ '|PROJECT|' : '',
- \ '|COPYRIGHTHOLDER|': ''
- \ }
-let s:C_MacroFlag = { ':l' : 'lowercase' ,
- \ ':u' : 'uppercase' ,
- \ ':c' : 'capitalize' ,
- \ ':L' : 'legalize name' ,
- \ }
-
-"------------------------------------------------------------------------------
-" C : C_InitMenus {{{1
-" Initialization of C support menus
-"------------------------------------------------------------------------------
-"
-function! C_InitMenus ()
- "
- "===============================================================================================
- "----- Menu : C main menu entry ------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_Root != ""
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'-Sep00- :'
- endif
- endif
- "
- "===============================================================================================
- "----- Menu : C-Comments -------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'&Comments.&Comments<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.-Sep00- :'
- endif
- exe "amenu <silent> ".s:C_Root.'&Comments.end-of-&line\ comment <Esc><Esc><Esc>:call C_LineEndComment( )<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Comments.end-of-&line\ comment <Esc><Esc><Esc>:call C_MultiLineEndComments( )<CR>'
-
- exe "amenu <silent> ".s:C_Root.'&Comments.ad&just\ end-of-line\ com\. <Esc><Esc>:call C_AdjustLineEndComm("a")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Comments.ad&just\ end-of-line\ com\. <Esc><Esc>:call C_AdjustLineEndComm("v")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'&Comments.&set\ end-of-line\ com\.\ col\. <Esc><Esc>:call C_GetLineEndCommCol()<CR>'
-
- exe "amenu ".s:C_Root.'&Comments.-SEP10- :'
- exe "amenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ \/&*\ *\/ <Esc><Esc>:call C_CodeComment("a","yes")<CR><Esc>:nohlsearch<CR>j'
- exe "vmenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ \/&*\ *\/ <Esc><Esc>:call C_CodeComment("v","yes")<CR><Esc>:nohlsearch<CR>j'
- exe "amenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ &\/\/ <Esc><Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j'
- exe "vmenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ &\/\/ <Esc><Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j'
- exe "amenu <silent> ".s:C_Root.'&Comments.c&omment\ ->\ code <Esc><Esc>:call C_CommentCode("a")<CR><Esc>:nohlsearch<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Comments.c&omment\ ->\ code <Esc><Esc>:call C_CommentCode("v")<CR><Esc>:nohlsearch<CR>'
-
- exe "amenu ".s:C_Root.'&Comments.-SEP0- :'
- exe "amenu <silent> ".s:C_Root.'&Comments.&frame\ comment <Esc><Esc>:call C_InsertTemplate("comment.frame")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Comments.f&unction\ description <Esc><Esc>:call C_InsertTemplate("comment.function")<CR>'
- exe "amenu ".s:C_Root.'&Comments.-SEP1- :'
- exe "amenu <silent> ".s:C_Root.'&Comments.&method\ description <Esc><Esc>:call C_InsertTemplate("comment.method")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Comments.cl&ass\ description <Esc><Esc>:call C_InsertTemplate("comment.class")<CR>'
- exe "amenu ".s:C_Root.'&Comments.-SEP2- :'
- exe "amenu <silent> ".s:C_Root.'&Comments.file\ description <Esc><Esc>:call C_InsertTemplate("comment.file-description")<CR>'
- exe "amenu ".s:C_Root.'&Comments.-SEP3- :'
- "
- "----- Submenu : C-Comments : file sections -------------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.file\ sections<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-Sep0- :'
- "
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Header\ File\ Includes <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-header-includes")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Macros <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-macros")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Type\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-typedefs")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Data\ Types <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-data-types")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Variables <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-defs")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Prototypes <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-local-variables")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Exp\.\ Function\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-prototypes")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Local\ Function\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-function-defs-exported")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-SEP6- :'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Class\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-function-defs-local")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.E&xp\.\ Class\ Impl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-implementations-exported")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.L&ocal\ Class\ Impl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-implementations-local")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-SEP7- :'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&All\ sections,\ C '
- \'<Esc><Esc>:call C_Comment_C_SectionAll("c")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.All\ &sections,\ C++ '
- \'<Esc><Esc>:call C_Comment_C_SectionAll("cpp")<CR>'
- "
- "
- "----- Submenu : H-Comments : file sections -------------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.H-file\ sections<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-Sep0- :'
- "'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.&Header\ File\ Includes <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-header-includes")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Macros <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-macros")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Type\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-typedefs")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Data\ Types <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-data-types")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Variables <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-class-defs")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Funct\.\ Decl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-variables")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-SEP4- :'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.E&xported\ Class\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-function-declarations")<CR>'
-
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-SEP5- :'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.&All\ sections,\ C '
- \'<Esc><Esc>:call C_Comment_H_SectionAll("c")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.All\ &sections,\ C++ '
- \'<Esc><Esc>:call C_Comment_H_SectionAll("cpp")<CR>'
- "
- exe "amenu ".s:C_Root.'&Comments.-SEP8- :'
- "
- "----- Submenu : C-Comments : keyword comments ----------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..keyw\.+comm\.<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..-Sep0- :'
-"
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&BUG\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-bug")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&COMPILER\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-compiler")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&TODO\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-todo")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:T&RICKY\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-tricky")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&WARNING\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-warning")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:W&ORKAROUND\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-workaround")<CR>'
- exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&new\ keyword\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-keyword")<CR>'
- "
- "----- Submenu : C-Comments : special comments ----------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..special\ comm\.<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..-Sep0- :'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&EMPTY <Esc><Esc>$<Esc>:call C_CommentSpecial("EMPTY") <CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&FALL\ THROUGH <Esc><Esc>$<Esc>:call C_CommentSpecial("FALL THROUGH") <CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&IMPL\.\ TYPE\ CONV <Esc><Esc>$<Esc>:call C_CommentSpecial("IMPLICIT TYPE CONVERSION") <CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&NO\ RETURN <Esc><Esc>$<Esc>:call C_CommentSpecial("NO RETURN") <CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..NOT\ &REACHED <Esc><Esc>$<Esc>:call C_CommentSpecial("NOT REACHED") <CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&TO\ BE\ IMPL\. <Esc><Esc>$<Esc>:call C_CommentSpecial("REMAINS TO BE IMPLEMENTED")<CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..-SEP81- :'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ &long\ (L) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is long")<CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ &unsigned\ (U) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is unsigned")<CR>kgJA'
- exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ unsigned\ l&ong\ (UL) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is unsigned long")<CR>kgJA'
-
- "
- "----- Submenu : C-Comments : Tags ----------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).tags\ (plugin)<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).-Sep0- :'
- "
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&AUTHOR <Esc><Esc>:call C_InsertMacroValue("AUTHOR")<CR>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).AUTHOR&REF <Esc><Esc>:call C_InsertMacroValue("AUTHORREF")<CR>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&COMPANY <Esc><Esc>:call C_InsertMacroValue("COMPANY")<CR>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).C&OPYRIGHTHOLDER <Esc><Esc>:call C_InsertMacroValue("COPYRIGHTHOLDER")<CR>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&EMAIL <Esc><Esc>:call C_InsertMacroValue("EMAIL")<CR>'
- exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&PROJECT <Esc><Esc>:call C_InsertMacroValue("PROJECT")<CR>'
-
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&AUTHOR <Esc><Esc>:call C_InsertMacroValue("AUTHOR")<CR>a'
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).AUTHOR&REF <Esc><Esc>:call C_InsertMacroValue("AUTHORREF")<CR>a'
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&COMPANY <Esc><Esc>:call C_InsertMacroValue("COMPANY")<CR>a'
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).C&OPYRIGHTHOLDER <Esc><Esc>:call C_InsertMacroValue("COPYRIGHTHOLDER")<CR>a'
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&EMAIL <Esc><Esc>:call C_InsertMacroValue("EMAIL")<CR>a'
- exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&PROJECT <Esc><Esc>:call C_InsertMacroValue("PROJECT")<CR>a'
- "
- "
- exe "amenu ".s:C_Root.'&Comments.-SEP9- :'
- "
- exe " menu ".s:C_Root.'&Comments.&date a<C-R>=C_InsertDateAndTime("d")<CR>'
- exe "imenu ".s:C_Root.'&Comments.&date <C-R>=C_InsertDateAndTime("d")<CR>'
- exe " menu ".s:C_Root.'&Comments.date\ &time a<C-R>=C_InsertDateAndTime("dt")<CR>'
- exe "imenu ".s:C_Root.'&Comments.date\ &time <C-R>=C_InsertDateAndTime("dt")<CR>'
-
- exe "amenu ".s:C_Root.'&Comments.-SEP12- :'
- exe "amenu <silent> ".s:C_Root.'&Comments.\/\/\ xxx\ \ \ \ \ &->\ \ \/*\ xxx\ *\/ <Esc><Esc>:call C_CommentCppToC()<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Comments.\/\/\ xxx\ \ \ \ \ &->\ \ \/*\ xxx\ *\/ <Esc><Esc>:'."'<,'>".'call C_CommentCppToC()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Comments.\/*\ xxx\ *\/\ \ -&>\ \ \/\/\ xxx <Esc><Esc>:call C_CommentCToCpp()<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Comments.\/*\ xxx\ *\/\ \ -&>\ \ \/\/\ xxx <Esc><Esc>:'."'<,'>".'call C_CommentCToCpp()<CR>'
- "
- "===============================================================================================
- "----- Menu : C-Statements------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'&Statements.&Statements<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Statements.-Sep00- :'
- endif
- "
- exe "amenu <silent>".s:C_Root.'&Statements.&do\ \{\ \}\ while <Esc><Esc>:call C_InsertTemplate("statements.do-while")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.&do\ \{\ \}\ while <Esc><Esc>:call C_InsertTemplate("statements.do-while", "v")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.f&or <Esc><Esc>:call C_InsertTemplate("statements.for")<CR>'
- "
- exe "anoremenu <silent>".s:C_Root.'&Statements.fo&r\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.for-block")<CR>'
- exe "vnoremenu <silent>".s:C_Root.'&Statements.fo&r\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.for-block", "v")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.&if <Esc><Esc>:call C_InsertTemplate("statements.if")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.i&f\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.i&f\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block", "v")<CR>'
-
- exe "amenu <silent>".s:C_Root.'&Statements.if\ &else <Esc><Esc>:call C_InsertTemplate("statements.if-else")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.if\ &else <Esc><Esc>:call C_InsertTemplate("statements.if-else", "v")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.if\ \{\ \}\ e&lse\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block-else")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.if\ \{\ \}\ e&lse\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.&while <Esc><Esc>:call C_InsertTemplate("statements.while")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.w&hile\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.while-block")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.w&hile\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.while-block", "v")<CR>'
- "
- exe "amenu <silent>".s:C_Root.'&Statements.&switch\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.switch")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.&switch\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.switch", "v")<CR>'
- "
- exe "amenu ".s:C_Root.'&Statements.&case\ \.\.\.\ break <<Esc><Esc>:call C_InsertTemplate("statements.case")<CR>'
- "
- "
- exe "amenu <silent>".s:C_Root.'&Statements.&\{\ \} <Esc><Esc>:call C_InsertTemplate("statements.block")<CR>'
- exe "vmenu <silent>".s:C_Root.'&Statements.&\{\ \} <Esc><Esc>:call C_InsertTemplate("statements.block", "v")<CR>'
- "
- "
- "===============================================================================================
- "----- Menu : C-Idioms ---------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'&Idioms.&Idioms<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Idioms.-Sep00- :'
- endif
- exe "amenu <silent> ".s:C_Root.'&Idioms.&function <Esc><Esc>:call C_InsertTemplate("idioms.function")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.&function <Esc><Esc>:call C_InsertTemplate("idioms.function", "v")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.s&tatic\ function <Esc><Esc>:call C_InsertTemplate("idioms.function-static")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.s&tatic\ function <Esc><Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.&main <Esc><Esc>:call C_InsertTemplate("idioms.main")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.&main <Esc><Esc>:call C_InsertTemplate("idioms.main", "v")<CR>'
-
- exe "amenu ".s:C_Root.'&Idioms.-SEP1- :'
- exe "amenu ".s:C_Root.'&Idioms.for(x=&0;\ x<n;\ x\+=1) <Esc><Esc>:call C_CodeFor("up" , "a")<CR>a'
- exe "amenu ".s:C_Root.'&Idioms.for(x=&n-1;\ x>=0;\ x\-=1) <Esc><Esc>:call C_CodeFor("down", "a")<CR>a'
- exe "vmenu ".s:C_Root.'&Idioms.for(x=&0;\ x<n;\ x\+=1) <Esc><Esc>:call C_CodeFor("up" , "v")<CR>'
- exe "vmenu ".s:C_Root.'&Idioms.for(x=&n-1;\ x>=0;\ x\-=1) <Esc><Esc>:call C_CodeFor("down", "v")<CR>'
-
- exe "amenu ".s:C_Root.'&Idioms.-SEP2- :'
- exe "amenu <silent> ".s:C_Root.'&Idioms.&enum\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.enum")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.&struct\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.struct")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.&union\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.union")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.&enum\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.enum" , "v")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.&struct\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.struct", "v")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Idioms.&union\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.union" , "v")<CR>'
- exe "amenu ".s:C_Root.'&Idioms.-SEP3- :'
- "
- exe " noremenu ".s:C_Root.'&Idioms.&printf <Esc><Esc>oprintf("\n");<Esc>2F"a'
- exe "inoremenu ".s:C_Root.'&Idioms.&printf printf("\n");<Esc>2F"a'
-
- exe " noremenu ".s:C_Root.'&Idioms.s&canf <Esc><Esc>oscanf("", & );<Esc>F"i'
- exe "inoremenu ".s:C_Root.'&Idioms.s&canf scanf("", & );<Esc>F"i'
- "
- exe "amenu ".s:C_Root.'&Idioms.-SEP4- :'
- exe "amenu <silent> ".s:C_Root.'&Idioms.p=ca&lloc\(n,sizeof(type)\) <Esc><Esc>:call C_InsertTemplate("idioms.calloc")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.p=m&alloc\(sizeof(type)\) <Esc><Esc>:call C_InsertTemplate("idioms.malloc")<CR>'
- "
- exe "anoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) isizeof()<Left>'
- exe "inoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) sizeof()<Left>'
- exe "vnoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) ssizeof()<Esc>P'
- "
- exe "anoremenu <silent> ".s:C_Root.'&Idioms.asse&rt(\ \) oassert();<Left><Left>'
- exe "vnoremenu <silent> ".s:C_Root.'&Idioms.asse&rt(\ \) sassert();<Esc>F(p'
- exe "amenu ".s:C_Root.'&Idioms.-SEP5- :'
- exe "amenu <silent> ".s:C_Root.'&Idioms.open\ &input\ file <Esc><Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.open\ &output\ file <Esc><Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.fscanf <Esc><Esc>:call C_InsertTemplate("idioms.fscanf")<CR>'
- exe "amenu <silent> ".s:C_Root.'&Idioms.fprintf <Esc><Esc>:call C_InsertTemplate("idioms.fprintf")<CR>'
- "
- "===============================================================================================
- "----- Menu : C-Preprocessor ---------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'&Preprocessor.&Preprocessor<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Preprocessor.-Sep00- :'
- endif
- "
- "----- Submenu : C-Idioms: standard library -------------------------------------------------------
- "'
- exe "amenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..Std\.Lib\.<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..-Sep0- :'
- "
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&assert\.h <Esc><Esc>o#include<Tab><assert.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&ctype\.h <Esc><Esc>o#include<Tab><ctype.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&errno\.h <Esc><Esc>o#include<Tab><errno.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&float\.h <Esc><Esc>o#include<Tab><float.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&limits\.h <Esc><Esc>o#include<Tab><limits.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..l&ocale\.h <Esc><Esc>o#include<Tab><locale.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&math\.h <Esc><Esc>o#include<Tab><math.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..set&jmp\.h <Esc><Esc>o#include<Tab><setjmp.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..s&ignal\.h <Esc><Esc>o#include<Tab><signal.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..stdar&g\.h <Esc><Esc>o#include<Tab><stdarg.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..st&ddef\.h <Esc><Esc>o#include<Tab><stddef.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&stdio\.h <Esc><Esc>o#include<Tab><stdio.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..stdli&b\.h <Esc><Esc>o#include<Tab><stdlib.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..st&ring\.h <Esc><Esc>o#include<Tab><string.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&time\.h <Esc><Esc>o#include<Tab><time.h>'
- "
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.C99<Tab>C\/C\+\+ <Esc>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.-Sep0- :'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&complex\.h <Esc><Esc>o#include<Tab><complex.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&fenv\.h <Esc><Esc>o#include<Tab><fenv.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&inttypes\.h <Esc><Esc>o#include<Tab><inttypes.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.is&o646\.h <Esc><Esc>o#include<Tab><iso646.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&stdbool\.h <Esc><Esc>o#include<Tab><stdbool.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.s&tdint\.h <Esc><Esc>o#include<Tab><stdint.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.tg&math\.h <Esc><Esc>o#include<Tab><tgmath.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&wchar\.h <Esc><Esc>o#include<Tab><wchar.h>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.wct&ype\.h <Esc><Esc>o#include<Tab><wctype.h>'
- "
- exe "amenu ".s:C_Root.'&Preprocessor.-SEP2- :'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &\<\.\.\.\> <Esc><Esc>o#include<Tab><><Left>'
- exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &\"\.\.\.\" <Esc><Esc>o#include<Tab>""<Left>'
- exe "amenu ".s:C_Root.'&Preprocessor.#&define <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>'
- exe "amenu ".s:C_Root.'&Preprocessor.&#undef <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>'
- "
- exe "amenu ".s:C_Root.'&Preprocessor.#&if\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>'
- exe "amenu ".s:C_Root.'&Preprocessor.#i&fdef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>'
- exe "amenu ".s:C_Root.'&Preprocessor.#if&ndef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>'
- exe "amenu ".s:C_Root.'&Preprocessor.#ifnd&ef\ #def\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>'
- exe "amenu ".s:C_Root.'&Preprocessor.#if\ &0\ #endif <Esc><Esc>:call C_PPIf0("a")<CR>2ji'
- "
- exe "vmenu ".s:C_Root.'&Preprocessor.#&if\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR>'
- exe "vmenu ".s:C_Root.'&Preprocessor.#i&fdef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR>'
- exe "vmenu ".s:C_Root.'&Preprocessor.#if&ndef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR>'
- exe "vmenu ".s:C_Root.'&Preprocessor.#ifnd&ef\ #def\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR>'
- exe "vmenu ".s:C_Root.'&Preprocessor.#if\ &0\ #endif <Esc><Esc>:call C_PPIf0("v")<CR>'
- "
- exe "amenu <silent> ".s:C_Root.'&Preprocessor.&remove\ #if\ 0\ #endif <Esc><Esc>:call C_PPIf0Remove()<CR>'
- "
- "===============================================================================================
- "----- Menu : Snippets ---------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'S&nippets.S&nippets<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'S&nippets.-Sep00- :'
- endif
- if s:C_CodeSnippets != ""
- exe "amenu <silent> ".s:C_Root.'S&nippets.&read\ code\ snippet <C-C>:call C_CodeSnippet("r")<CR>'
- exe "amenu <silent> ".s:C_Root.'S&nippets.&write\ code\ snippet <C-C>:call C_CodeSnippet("w")<CR>'
- exe "vmenu <silent> ".s:C_Root.'S&nippets.&write\ code\ snippet <C-C>:call C_CodeSnippet("wv")<CR>'
- exe "amenu <silent> ".s:C_Root.'S&nippets.&edit\ code\ snippet <C-C>:call C_CodeSnippet("e")<CR>'
- exe " menu <silent> ".s:C_Root.'S&nippets.-SEP1- :'
- endif
- exe " menu <silent> ".s:C_Root.'S&nippets.&pick\ up\ prototype <C-C>:call C_ProtoPick("n")<CR>'
- exe "vmenu <silent> ".s:C_Root.'S&nippets.&pick\ up\ prototype <C-C>:call C_ProtoPick("v")<CR>'
- exe " menu <silent> ".s:C_Root.'S&nippets.&insert\ prototype(s) <C-C>:call C_ProtoInsert()<CR>'
- exe " menu <silent> ".s:C_Root.'S&nippets.&clear\ prototype(s) <C-C>:call C_ProtoClear()<CR>'
- exe " menu <silent> ".s:C_Root.'S&nippets.&show\ prototype(s) <C-C>:call C_ProtoShow()<CR>'
-
- "
- "===============================================================================================
- "----- Menu : C++ --------------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'C&++.C&\+\+<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.-Sep00- :'
- endif
- exe " noremenu ".s:C_Root.'C&++.c&in <Esc><Esc>ocin<Tab>>> ;<Esc>i'
- exe " noremenu ".s:C_Root.'C&++.cout\ &variable <Esc><Esc>ocout<Tab><< << endl;<Esc>2F<hi'
- exe " noremenu ".s:C_Root.'C&++.cout\ &string <Esc><Esc>ocout<Tab><< "\n";<Esc>2F"a'
- exe " noremenu ".s:C_Root.'C&++.<<\ &\"\" i<< "" <Left><Left>'
- "
- exe "inoremenu ".s:C_Root.'C&++.c&in cin<Tab>>> ;<Esc>i'
- exe "inoremenu ".s:C_Root.'C&++.cout\ &variable cout<Tab><< << endl;<Esc>2F<hi'
- exe "inoremenu ".s:C_Root.'C&++.cout\ &string cout<Tab><< "\n";<Esc>2F"a'
- exe "inoremenu ".s:C_Root.'C&++.<<\ &\"\" << "" <Left><Left>'
- "
- "----- Submenu : C++ : output manipulators -------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.&output\ manipulators.output\ manip\.<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.&output\ manipulators.-Sep0- :'
- "
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &boolalpha i<< boolalpha<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &dec i<< dec<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &endl i<< endl<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &fixed i<< fixed<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ fl&ush i<< flush<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &hex i<< hex<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &internal i<< internal<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &left i<< left<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &oct i<< oct<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &right i<< right<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ s&cientific i<< scientific<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &setbase\(\ \) i<< setbase(10) <Left><Left>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ se&tfill\(\ \) i<< setfill() <Left><Left>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ setiosfla&g\(\ \) i<< setiosflags() <Left><Left>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&precision\(\ \) i<< setprecision(6) <Left><Left>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&w\(\ \) i<< setw(0) <Left><Left>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showb&ase i<< showbase<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpoi&nt i<< showpoint<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpos\ \(&1\) i<< showpos<Space>'
- exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ uppercase\ \(&2\) i<< uppercase<Space>'
- "
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &boolalpha << boolalpha<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &dec << dec<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &endl << endl<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &fixed << fixed<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ fl&ush << flush<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &hex << hex<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &internal << internal<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &left << left<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ o&ct << oct<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &right << right<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ s&cientific << scientific<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &setbase\(\ \) << setbase(10) <Left><Left>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ se&tfill\(\ \) << setfill() <Left><Left>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ setiosfla&g\(\ \) << setiosflags() <Left><Left>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&precision\(\ \) << setprecision(6) <Left><Left>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&w\(\ \) << setw(0) <Left><Left>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showb&ase << showbase<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpoi&nt << showpoint<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpos\ \(&1\) << showpos<Space>'
- exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ uppercase\ \(&2\) << uppercase<Space>'
- "
- "----- Submenu : C++ : ios flag bits -------------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.ios\ flag&bits.ios\ flags<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.ios\ flag&bits.-Sep0- :'
- "
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&adjustfield iios::adjustfield'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::bas&efield iios::basefield'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&boolalpha iios::boolalpha'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&dec iios::dec'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&fixed iios::fixed'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::floa&tfield iios::floatfield'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&hex iios::hex'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&internal iios::internal'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&left iios::left'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&oct iios::oct'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&right iios::right'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::s&cientific iios::scientific'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::sho&wbase iios::showbase'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::showpoint\ \(&1\) iios::showpoint'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::show&pos iios::showpos'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&skipws iios::skipws'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::u&nitbuf iios::unitbuf'
- exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&uppercase iios::uppercase'
- "
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&adjustfield ios::adjustfield'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::bas&efield ios::basefield'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&boolalpha ios::boolalpha'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&dec ios::dec'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&fixed ios::fixed'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::floa&tfield ios::floatfield'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&hex ios::hex'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&internal ios::internal'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&left ios::left'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&oct ios::oct'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&right ios::right'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::s&cientific ios::scientific'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::sho&wbase ios::showbase'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::showpoint\ \(&1\) ios::showpoint'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::show&pos ios::showpos'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&skipws ios::skipws'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::u&nitbuf ios::unitbuf'
- exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&uppercase ios::uppercase'
- "
- "----- Submenu : C++ library (algorithm - locale) ----------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).alg\.\.loc<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).-Sep0- :'
- "
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&algorithm <Esc><Esc>o#include<Tab><algorithm>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&bitset <Esc><Esc>o#include<Tab><bitset>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&complex <Esc><Esc>o#include<Tab><complex>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&deque <Esc><Esc>o#include<Tab><deque>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&exception <Esc><Esc>o#include<Tab><exception>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&fstream <Esc><Esc>o#include<Tab><fstream>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).f&unctional <Esc><Esc>o#include<Tab><functional>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iomani&p <Esc><Esc>o#include<Tab><iomanip>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&ios <Esc><Esc>o#include<Tab><ios>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iosf&wd <Esc><Esc>o#include<Tab><iosfwd>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).io&stream <Esc><Esc>o#include<Tab><iostream>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).istrea&m <Esc><Esc>o#include<Tab><istream>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iterato&r <Esc><Esc>o#include<Tab><iterator>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&limits <Esc><Esc>o#include<Tab><limits>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).lis&t <Esc><Esc>o#include<Tab><list>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).l&ocale <Esc><Esc>o#include<Tab><locale>'
- "
- "----- Submenu : C++ library (map - vector) ----------------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).map\.\.vec<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).-Sep0- :'
-
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&map <Esc><Esc>o#include<Tab><map>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).memor&y <Esc><Esc>o#include<Tab><memory>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&new <Esc><Esc>o#include<Tab><new>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).numeri&c <Esc><Esc>o#include<Tab><numeric>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&ostream <Esc><Esc>o#include<Tab><ostream>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&queue <Esc><Esc>o#include<Tab><queue>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&set <Esc><Esc>o#include<Tab><set>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).sst&ream <Esc><Esc>o#include<Tab><sstream>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).st&ack <Esc><Esc>o#include<Tab><stack>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).stde&xcept <Esc><Esc>o#include<Tab><stdexcept>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).stream&buf <Esc><Esc>o#include<Tab><streambuf>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).str&ing <Esc><Esc>o#include<Tab><string>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&typeinfo <Esc><Esc>o#include<Tab><typeinfo>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&utility <Esc><Esc>o#include<Tab><utility>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&valarray <Esc><Esc>o#include<Tab><valarray>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).v&ector <Esc><Esc>o#include<Tab><vector>'
- "
- "----- Submenu : C library (cassert - ctime) -------------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cX<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).-Sep0- :'
- "
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&assert <Esc><Esc>o#include<Tab><cassert>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&ctype <Esc><Esc>o#include<Tab><cctype>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&errno <Esc><Esc>o#include<Tab><cerrno>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&float <Esc><Esc>o#include<Tab><cfloat>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&limits <Esc><Esc>o#include<Tab><climits>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cl&ocale <Esc><Esc>o#include<Tab><clocale>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&math <Esc><Esc>o#include<Tab><cmath>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cset&jmp <Esc><Esc>o#include<Tab><csetjmp>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cs&ignal <Esc><Esc>o#include<Tab><csignal>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cstdar&g <Esc><Esc>o#include<Tab><cstdarg>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cst&ddef <Esc><Esc>o#include<Tab><cstddef>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&stdio <Esc><Esc>o#include<Tab><cstdio>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cstdli&b <Esc><Esc>o#include<Tab><cstdlib>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cst&ring <Esc><Esc>o#include<Tab><cstring>'
- exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&time <Esc><Esc>o#include<Tab><ctime>'
- "
- "----- End Submenu : C library (cassert - ctime) ---------------------------------------------
- "
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP2- :'
- exe "amenu <silent> ".s:C_Root.'C&++.&method\ implement\. <Esc><Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'C&++.&class <Esc><Esc>:call C_InsertTemplate("cpp.class")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.class\ (w\.\ &new) <Esc><Esc>:call C_InsertTemplate("cpp.class-using-new")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP3- :'
- exe "amenu <silent> ".s:C_Root.'C&++.tem&pl\.\ method\ impl\. <Esc><Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.&templ\.\ class <Esc><Esc>:call C_InsertTemplate("cpp.template-class")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.templ\.\ class\ (w\.\ ne&w) <Esc><Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP31- :'
- exe "amenu <silent> ".s:C_Root.'C&++.templ\.\ &function <Esc><Esc>:call C_InsertTemplate("cpp.template-function")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.&error\ class <Esc><Esc>:call C_InsertTemplate("cpp.error-class")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP4- :'
- exe "amenu <silent> ".s:C_Root.'C&++.operator\ &<< <Esc><Esc>:call C_InsertTemplate("cpp.operator-in")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.operator\ &>> <Esc><Esc>:call C_InsertTemplate("cpp.operator-out")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP5- :'
- exe "amenu <silent> ".s:C_Root.'C&++.tr&y\ \.\.\ catch <Esc><Esc>:call C_InsertTemplate("cpp.try-catch")<CR>'
- exe "vmenu <silent> ".s:C_Root.'C&++.tr&y\ \.\.\ catch <Esc><Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.catc&h <Esc><Esc>:call C_InsertTemplate("cpp.catch")<CR>'
- exe "vmenu <silent> ".s:C_Root.'C&++.catc&h <Esc><Esc>:call C_InsertTemplate("cpp.catch", "v")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'C&++.catch\(&\.\.\.\) <Esc><Esc>:call C_InsertTemplate("cpp.catch-points")<CR>'
- exe "vmenu <silent> ".s:C_Root.'C&++.catch\(&\.\.\.\) <Esc><Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP6- :'
- exe "amenu <silent> ".s:C_Root.'C&++.open\ input\ file\ \ \(&4\) <Esc><Esc>:call C_InsertTemplate("cpp.open-input-file")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.open\ output\ file\ \(&5\) <Esc><Esc>:call C_InsertTemplate("cpp.open-output-file")<CR>'
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP7- :'
-
- exe " menu <silent> ".s:C_Root.'C&++.&using\ namespace\ std; <Esc><Esc>ousing namespace std;<CR>'
- exe " menu <silent> ".s:C_Root.'C&++.usin&g\ namespace\ ; <Esc><Esc>ousing namespace ;<Esc>$i'
- exe "amenu <silent> ".s:C_Root.'C&++.namespace\ &\{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.namespace")<CR>'
-
- exe "imenu <silent> ".s:C_Root.'C&++.&using\ namespace\ std; using namespace std;<CR>'
- exe "imenu <silent> ".s:C_Root.'C&++.usin&g\ namespace\ ; using namespace ;<Esc>$i'
- exe "vmenu <silent> ".s:C_Root.'C&++.namespace\ &\{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.namespace", "v")<CR>'
-
- exe "amenu <silent> ".s:C_Root.'C&++.-SEP8- :'
- "
- "----- Submenu : RTTI ----------------------------------------------------------------------------
- "
- exe "amenu ".s:C_Root.'C&++.&RTTI.RTTI<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'C&++.&RTTI.-Sep0- :'
- "
- exe " noremenu ".s:C_Root.'C&++.&RTTI.&typeid atypeid()<Esc>hr(a'
- exe " noremenu ".s:C_Root.'C&++.&RTTI.&static_cast astatic_cast<>()<Left>'
- exe " noremenu ".s:C_Root.'C&++.&RTTI.&const_cast aconst_cast<>()<Left>'
- exe " noremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast areinterpret_cast<>()<Left>'
- exe " noremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast adynamic_cast<>()<Left>'
- "
- exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&typeid stypeid()<Esc>hr(p'
- exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&static_cast sstatic_cast<>()<Esc>P'
- exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&const_cast sconst_cast<>()<Esc>P'
- exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast sreinterpret_cast<>()<Esc>P'
- exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast sdynamic_cast<>()<Esc>P'
- "
- exe "inoremenu ".s:C_Root.'C&++.&RTTI.&typeid typeid()<Esc>hr(a'
- exe "inoremenu ".s:C_Root.'C&++.&RTTI.&static_cast static_cast<>()<Left>'
- exe "inoremenu ".s:C_Root.'C&++.&RTTI.&const_cast const_cast<>()<Left>'
- exe "inoremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast reinterpret_cast<>()<Left>'
- exe "inoremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast dynamic_cast<>()<Left>'
- "
- "----- End Submenu : RTTI ------------------------------------------------------------------------
- "
- exe "amenu <silent>".s:C_Root.'C&++.e&xtern\ \"C\"\ \{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.extern")<CR>'
- exe "vmenu <silent>".s:C_Root.'C&++.e&xtern\ \"C\"\ \{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.extern", "v")<CR>'
- "
- "===============================================================================================
- "----- Menu : run ----- -------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_MenuHeader == 'yes'
- exe "amenu ".s:C_Root.'&Run.&Run<Tab>C\/C\+\+ <Esc>'
- exe "amenu ".s:C_Root.'&Run.-Sep00- :'
- endif
- "
- exe "amenu <silent> ".s:C_Root.'&Run.save\ and\ &compile<Tab>\<A-F9\> <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.&link<Tab>\<F9\> <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.&run<Tab>\<C-F9\> <C-C>:call C_Run()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ &arg\.<Tab>\<S-F9\> <C-C>:call C_Arguments()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.-SEP0- :'
- exe "amenu <silent> ".s:C_Root.'&Run.&make <C-C>:call C_Make()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ ar&g\.\ for\ make <C-C>:call C_MakeArguments()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.-SEP1- :'
- if s:C_SplintIsExecutable==1
- exe "amenu <silent> ".s:C_Root.'&Run.s&plint <C-C>:call C_SplintCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ arg\.\ for\ spl&int <C-C>:call C_SplintArguments()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.-SEP2- :'
- endif
- "
- if s:C_CodeCheckIsExecutable==1
- exe "amenu <silent> ".s:C_Root.'&Run.CodeChec&k <C-C>:call C_CodeCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ arg\.\ for\ Cod&eCheck <C-C>:call C_CodeCheckArguments()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.-SEP3- :'
- endif
- "
- exe "amenu ".s:C_Root.'&Run.in&dent <C-C>:call C_Indent("a")<CR>:redraw<CR>:call C_HlMessage()<CR>'
- exe "vmenu ".s:C_Root.'&Run.in&dent <C-C>:call C_Indent("v")<CR>:redraw<CR>:call C_HlMessage()<CR>'
- if s:MSWIN
- exe "amenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ printer <C-C>:call C_Hardcopy("n")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ printer <C-C>:call C_Hardcopy("v")<CR>'
- else
- exe "amenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ FILENAME\.ps <C-C>:call C_Hardcopy("n")<CR>'
- exe "vmenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ FILENAME\.ps <C-C>:call C_Hardcopy("v")<CR>'
- endif
- exe "imenu <silent> ".s:C_Root.'&Run.-SEP4- :'
-
- exe "amenu <silent> ".s:C_Root.'&Run.rebuild\ &templates <C-C>:call C_RebuildTemplates()<CR>'
- exe "amenu <silent> ".s:C_Root.'&Run.&settings <C-C>:call C_Settings()<CR>'
- exe "imenu <silent> ".s:C_Root.'&Run.-SEP5- :'
-
- if !s:MSWIN
- exe "amenu <silent> ".s:C_Root.'&Run.&xterm\ size <C-C>:call C_XtermSize()<CR>'
- endif
- if s:C_OutputGvim == "vim"
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- else
- if s:C_OutputGvim == "buffer"
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- else
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- endif
- endif
- "
- "===============================================================================================
- "----- Menu : help ------------------------------------------------------- {{{2
- "===============================================================================================
- "
- if s:C_Root != ""
- exe "menu <silent> ".s:C_Root.'&help\ \(plugin\) <C-C><C-C>:call C_HelpCsupport()<CR>'
- endif
-
-endfunction " ---------- end of function C_InitMenus ----------
-"
-"===============================================================================================
-"----- Menu Functions --------------------------------------------------------------------------
-"===============================================================================================
-"
-"------------------------------------------------------------------------------
-" C_Input: Input after a highlighted prompt {{{1
-"------------------------------------------------------------------------------
-function! C_Input ( promp, text )
- echohl Search " highlight prompt
- call inputsave() " preserve typeahead
- let retval=input( a:promp, a:text ) " read input
- call inputrestore() " restore typeahead
- echohl None " reset highlighting
- let retval = substitute( retval, '^\s\+', "", "" ) " remove leading whitespaces
- let retval = substitute( retval, '\s\+$', "", "" ) " remove trailing whitespaces
- return retval
-endfunction " ---------- end of function C_Input ----------
-"
-"------------------------------------------------------------------------------
-" C_AdjustLineEndComm: adjust line-end comments {{{1
-"------------------------------------------------------------------------------
-function! C_AdjustLineEndComm ( mode ) range
- "
- if !exists("b:C_LineEndCommentColumn")
- let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault
- endif
-
- let save_cursor = getpos(".")
-
- let save_expandtab = &expandtab
- exe ":set expandtab"
-
- if a:mode == 'v'
- let pos0 = line("'<")
- let pos1 = line("'>")
- else
- let pos0 = line(".")
- let pos1 = pos0
- endif
-
- let linenumber = pos0
- exe ":".pos0
-
- while linenumber <= pos1
- let line= getline(".")
- " look for a C comment
- let idx1 = 1 + match( line, '\s*\/\*.\{-}\*\/' )
- let idx2 = 1 + match( line, '\/\*.\{-}\*\/' )
- if idx2 == 0
- " look for a C++ comment
- let idx1 = 1 + match( line, '\s*\/\/.*$' )
- let idx2 = 1 + match( line, '\/\/.*$' )
- endif
-
- let ln = line(".")
- call setpos(".", [ 0, ln, idx1, 0 ] )
- let vpos1 = virtcol(".")
- call setpos(".", [ 0, ln, idx2, 0 ] )
- let vpos2 = virtcol(".")
-
- if ! ( vpos2 == b:C_LineEndCommentColumn
- \ || vpos1 > b:C_LineEndCommentColumn
- \ || idx2 == 0 )
-
- exe ":.,.retab"
- " insert some spaces
- if vpos2 < b:C_LineEndCommentColumn
- let diff = b:C_LineEndCommentColumn-vpos2
- call setpos(".", [ 0, ln, vpos2, 0 ] )
- let @" = ' '
- exe "normal ".diff."P"
- endif
-
- " remove some spaces
- if vpos1 < b:C_LineEndCommentColumn && vpos2 > b:C_LineEndCommentColumn
- let diff = vpos2 - b:C_LineEndCommentColumn
- call setpos(".", [ 0, ln, b:C_LineEndCommentColumn, 0 ] )
- exe "normal ".diff."x"
- endif
-
- endif
- let linenumber=linenumber+1
- normal j
- endwhile
- " restore tab expansion settings and cursor position
- let &expandtab = save_expandtab
- call setpos('.', save_cursor)
-
-endfunction " ---------- end of function C_AdjustLineEndComm ----------
-"
-"------------------------------------------------------------------------------
-" C_GetLineEndCommCol: get line-end comment position {{{1
-"------------------------------------------------------------------------------
-function! C_GetLineEndCommCol ()
- let actcol = virtcol(".")
- if actcol+1 == virtcol("$")
- let b:C_LineEndCommentColumn = C_Input( 'start line-end comment at virtual column : ', actcol )
- else
- let b:C_LineEndCommentColumn = virtcol(".")
- endif
- echomsg "line end comments will start at column ".b:C_LineEndCommentColumn
-endfunction " ---------- end of function C_GetLineEndCommCol ----------
-"
-"------------------------------------------------------------------------------
-" C_LineEndComment: single line-end comment {{{1
-"------------------------------------------------------------------------------
-function! C_LineEndComment ( )
- if !exists("b:C_LineEndCommentColumn")
- let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault
- endif
- " ----- trim whitespaces -----
- exe 's/\s*$//'
- let linelength= virtcol("$") - 1
- if linelength < b:C_LineEndCommentColumn
- let diff = b:C_LineEndCommentColumn -1 -linelength
- exe "normal ".diff."A "
- endif
- " append at least one blank
- if linelength >= b:C_LineEndCommentColumn
- exe "normal A "
- endif
- call C_InsertTemplate('comment.end-of-line-comment')
-endfunction " ---------- end of function C_LineEndComment ----------
-"
-"------------------------------------------------------------------------------
-" C_MultiLineEndComments: multi line-end comments {{{1
-"------------------------------------------------------------------------------
-function! C_MultiLineEndComments ( )
- "
- if !exists("b:C_LineEndCommentColumn")
- let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault
- endif
- "
- let pos0 = line("'<")
- let pos1 = line("'>")
- "
- " ----- trim whitespaces -----
- exe pos0.','.pos1.'s/\s*$//'
- "
- " ----- find the longest line -----
- let maxlength = 0
- let linenumber = pos0
- normal '<
- while linenumber <= pos1
- if getline(".") !~ "^\\s*$" && maxlength<virtcol("$")
- let maxlength= virtcol("$")
- endif
- let linenumber=linenumber+1
- normal j
- endwhile
- "
- if maxlength < b:C_LineEndCommentColumn
- let maxlength = b:C_LineEndCommentColumn
- else
- let maxlength = maxlength+1 " at least 1 blank
- endif
- "
- " ----- fill lines with blanks -----
- let linenumber = pos0
- while linenumber <= pos1
- exe ":".linenumber
- if getline(".") !~ "^\\s*$"
- let diff = maxlength - virtcol("$")
- exe "normal ".diff."A "
- call C_InsertTemplate('comment.end-of-line-comment')
- endif
- let linenumber=linenumber+1
- endwhile
- "
- " ----- back to the begin of the marked block -----
- let diff = pos1-pos0
- normal a
- if pos1-pos0 > 0
- exe "normal ".diff."k"
- end
-endfunction " ---------- end of function C_MultiLineEndComments ----------
-"
-"------------------------------------------------------------------------------
-" C_CommentSpecial : special comments {{{1
-"------------------------------------------------------------------------------
-function! C_CommentSpecial (special)
- put = ' '.s:C_Com1.' '.a:special.' '.s:C_Com2
-endfunction " ---------- end of function C_CommentSpecial ----------
-"
-"------------------------------------------------------------------------------
-" C_Comment_C_SectionAll: Section Comments {{{1
-"------------------------------------------------------------------------------
-"
-function! C_Comment_C_SectionAll ( type )
-
- call C_InsertTemplate("comment.file-section-cpp-header-includes")
- call C_InsertTemplate("comment.file-section-cpp-macros")
- call C_InsertTemplate("comment.file-section-cpp-typedefs")
- call C_InsertTemplate("comment.file-section-cpp-data-types")
- if a:type=="cpp"
- call C_InsertTemplate("comment.file-section-cpp-class-defs")
- endif
- call C_InsertTemplate("comment.file-section-cpp-local-variables")
- call C_InsertTemplate("comment.file-section-cpp-prototypes")
- call C_InsertTemplate("comment.file-section-cpp-function-defs-exported")
- call C_InsertTemplate("comment.file-section-cpp-function-defs-local")
- if a:type=="cpp"
- call C_InsertTemplate("comment.file-section-cpp-class-implementations-exported")
- call C_InsertTemplate("comment.file-section-cpp-class-implementations-local")
- endif
-
-endfunction " ---------- end of function C_Comment_C_SectionAll ----------
-"
-function! C_Comment_H_SectionAll ( type )
-
- call C_InsertTemplate("comment.file-section-hpp-header-includes")
- call C_InsertTemplate("comment.file-section-hpp-macros")
- call C_InsertTemplate("comment.file-section-hpp-exported-typedefs")
- call C_InsertTemplate("comment.file-section-hpp-exported-data-types")
- if a:type=="cpp"
- call C_InsertTemplate("comment.file-section-hpp-exported-class-defs")
- endif
- call C_InsertTemplate("comment.file-section-hpp-exported-variables")
- call C_InsertTemplate("comment.file-section-hpp-exported-function-declarations")
-
-endfunction " ---------- end of function C_Comment_H_SectionAll ----------
-"
-"----------------------------------------------------------------------
-" C_CodeComment : Code -> Comment {{{1
-"----------------------------------------------------------------------
-function! C_CodeComment( mode, style )
-
- if a:mode=="a"
- if a:style == 'yes'
- silent exe ":s#^#/\* #"
- silent put = ' */'
- else
- silent exe ":s#^#//#"
- endif
- endif
-
- if a:mode=="v"
- if a:style == 'yes'
- silent exe ":'<,'>s/^/ \* /"
- silent exe ":'< s'^ '\/'"
- silent exe ":'>"
- silent put = ' */'
- else
- silent exe ":'<,'>s#^#//#"
- endif
- endif
-
-endfunction " ---------- end of function C_CodeComment ----------
-"
-"----------------------------------------------------------------------
-" C_StartMultilineComment : Comment -> Code {{{1
-"----------------------------------------------------------------------
-let s:C_StartMultilineComment = '^\s*\/\*[\*! ]\='
-
-function! C_RemoveCComment( start, end )
-
- if a:end-a:start<1
- return 0 " lines removed
- endif
- "
- " Is the C-comment complete ? Get length.
- "
- let check = getline( a:start ) =~ s:C_StartMultilineComment
- let linenumber = a:start+1
- while linenumber < a:end && getline( linenumber ) !~ '^\s*\*\/'
- let check = check && getline( linenumber ) =~ '^\s*\*[ ]\='
- let linenumber = linenumber+1
- endwhile
- let check = check && getline( linenumber ) =~ '^\s*\*\/'
- "
- " remove a complete comment
- "
- if check
- exe "silent :".a:start.' s/'.s:C_StartMultilineComment.'//'
- let linenumber1 = a:start+1
- while linenumber1 < linenumber
- exe "silent :".linenumber1.' s/^\s*\*[ ]\=//'
- let linenumber1 = linenumber1+1
- endwhile
- exe "silent :".linenumber1.' s/^\s*\*\///'
- endif
-
- return linenumber-a:start+1 " lines removed
-endfunction " ---------- end of function C_RemoveCComment ----------
-"
-"----------------------------------------------------------------------
-" C_CommentCode : Comment -> Code {{{1
-"----------------------------------------------------------------------
-function! C_CommentCode(mode)
- if a:mode=="a"
- let pos1 = line(".")
- let pos2 = pos1
- endif
- if a:mode=="v"
- let pos1 = line("'<")
- let pos2 = line("'>")
- endif
-
- let removed = 0
- "
- let linenumber=pos1
- while linenumber <= pos2
- " Do we have a C++ comment ?
- if getline( linenumber ) =~ '^\s*//'
- exe "silent :".linenumber.' s#^\s*//##'
- let removed = 1
- endif
- " Do we have a C comment ?
- if removed == 0 && getline( linenumber ) =~ s:C_StartMultilineComment
- let removed = C_RemoveCComment(linenumber,pos2)
- endif
-
- if removed!=0
- let linenumber = linenumber+removed
- let removed = 0
- else
- let linenumber = linenumber+1
- endif
- endwhile
-endfunction " ---------- end of function C_CommentCode ----------
-"
-"----------------------------------------------------------------------
-" C_CommentCppToC : C++ Comment -> C Comment {{{1
-" Removes trailing whitespaces.
-"----------------------------------------------------------------------
-function! C_CommentCppToC()
- silent! exe ':s#\/\/\s*\(.*\)\s*$#/* \1 */#'
-endfunction " ---------- end of function C_CommentCppToC ----------
-"
-"----------------------------------------------------------------------
-" C_CommentCToCpp : C Comment -> C++ Comment {{{1
-" Changes the first comment in case of multiple comments:
-" xxxx; /* */ /* */
-" xxxx; // /* */
-" Removes trailing whitespaces.
-"----------------------------------------------------------------------
-function! C_CommentCToCpp()
- silent! exe ':s!\/\*\s*\(.\{-}\)\*\/!\/\/ \1!'
- silent! exe ':s!\s*$!!'
-endfunction " ---------- end of function C_CommentCToCpp ----------
-"
-"=====================================================================================
-"----- Menu : Statements -----------------------------------------------------------
-"=====================================================================================
-"
-"------------------------------------------------------------------------------
-" C_PPIf0 : #if 0 .. #endif {{{1
-"------------------------------------------------------------------------------
-function! C_PPIf0 (mode)
- "
- let s:C_If0_Counter = 0
- let save_line = line(".")
- let actual_line = 0
- "
- " search for the maximum option number (if any)
- "
- normal gg
- while actual_line < search( s:C_If0_Txt."\\d\\+" )
- let actual_line = line(".")
- let actual_opt = matchstr( getline(actual_line), s:C_If0_Txt."\\d\\+" )
- let actual_opt = strpart( actual_opt, strlen(s:C_If0_Txt),strlen(actual_opt)-strlen(s:C_If0_Txt))
- if s:C_If0_Counter < actual_opt
- let s:C_If0_Counter = actual_opt
- endif
- endwhile
- let s:C_If0_Counter = s:C_If0_Counter+1
- silent exe ":".save_line
- "
- if a:mode=='a'
- let zz= "\n#if 0 ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n"
- let zz= zz."\n#endif ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n\n"
- put =zz
- if v:version >= 700
- normal 4k
- endif
- endif
-
- if a:mode=='v'
- let zz= "\n#if 0 ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n"
- :'<put! =zz
- let zz= "#endif ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n\n"
- :'>put =zz
- :normal '<
- endif
-
-endfunction " ---------- end of function C_PPIf0 ----------
-"
-"------------------------------------------------------------------------------
-" C_PPIf0Remove : remove #if 0 .. #endif {{{1
-"------------------------------------------------------------------------------
-function! C_PPIf0Remove ()
-
- let frstline = searchpair( '^\s*#if\s\+0', '', '^\s*#endif\>.\+\<If0Label_', 'bn' )
- if frstline<=0
- echohl WarningMsg | echo 'no #if 0 ... #endif found or cursor not inside such a directive'| echohl None
- return
- endif
- let lastline = searchpair( '^\s*#if\s\+0', '', '^\s*#endif\>.\+\<If0Label_', 'n' )
- if lastline<=0
- echohl WarningMsg | echo 'no #if 0 ... #endif found or cursor not inside such a directive'| echohl None
- return
- endif
- let actualnumber1 = matchstr( getline(frstline), s:C_If0_Txt."\\d\\+" )
- let actualnumber2 = matchstr( getline(lastline), s:C_If0_Txt."\\d\\+" )
- if actualnumber1 != actualnumber2
- echohl WarningMsg | echo 'lines '.frstline.', '.lastline.': comment tags do not match'| echohl None
- return
- endif
-
- silent exe ':'.lastline.','.lastline.'d'
- silent exe ':'.frstline.','.frstline.'d'
-
-endfunction " ---------- end of function C_PPIf0Remove ----------
-"
-"-------------------------------------------------------------------------------
-" C_LegalizeName : replace non-word characters by underscores
-" - multiple whitespaces
-" - multiple non-word characters
-" - multiple underscores
-"-------------------------------------------------------------------------------
-function! C_LegalizeName ( name )
- let identifier = substitute( a:name, '\s\+', '_', 'g' )
- let identifier = substitute( identifier, '\W\+', '_', 'g' )
- let identifier = substitute( identifier, '_\+', '_', 'g' )
- return identifier
-endfunction " ---------- end of function C_LegalizeName ----------
-
-"------------------------------------------------------------------------------
-" C_CodeSnippet : read / edit code snippet {{{1
-"------------------------------------------------------------------------------
-function! C_CodeSnippet(mode)
-
- if isdirectory(s:C_CodeSnippets)
- "
- " read snippet file, put content below current line and indent
- "
- if a:mode == "r"
- if has("gui_running")
- let l:snippetfile=browse(0,"read a code snippet",s:C_CodeSnippets,"")
- else
- let l:snippetfile=input("read snippet ", s:C_CodeSnippets, "file" )
- end
- if filereadable(l:snippetfile)
- let linesread= line("$")
- let l:old_cpoptions = &cpoptions " Prevent the alternate buffer from being set to this files
- setlocal cpoptions-=a
- :execute "read ".l:snippetfile
- let &cpoptions = l:old_cpoptions " restore previous options
- let linesread= line("$")-linesread-1
- if linesread>=0 && match( l:snippetfile, '\.\(ni\|noindent\)$' ) < 0
- endif
- endif
- if line(".")==2 && getline(1)=~"^$"
- silent exe ":1,1d"
- endif
- endif
- "
- " update current buffer / split window / edit snippet file
- "
- if a:mode == "e"
- if has("gui_running")
- let l:snippetfile = browse(0,"edit a code snippet",s:C_CodeSnippets,"")
- else
- let l:snippetfile=input("edit snippet ", s:C_CodeSnippets, "file" )
- end
- if l:snippetfile != ""
- :execute "update! | split | edit ".l:snippetfile
- endif
- endif
- "
- " write whole buffer into snippet file
- "
- if a:mode == "w" || a:mode == "wv"
- if has("gui_running")
- let l:snippetfile = browse(0,"edit a code snippet",s:C_CodeSnippets,"")
- else
- let l:snippetfile=input("edit snippet ", s:C_CodeSnippets, "file" )
- end
- if l:snippetfile != ""
- if filereadable(l:snippetfile)
- if confirm("File ".l:snippetfile." exists ! Overwrite ? ", "&Cancel\n&No\n&Yes") != 3
- return
- endif
- endif
- if a:mode == "w"
- :execute ":write! ".l:snippetfile
- else
- :execute ":*write! ".l:snippetfile
- end
- endif
- endif
-
- else
- echo "code snippet directory ".s:C_CodeSnippets." does not exist (please create it)"
- endif
-endfunction " ---------- end of function C_CodeSnippets ----------
-"
-"------------------------------------------------------------------------------
-" C_CodeFor : for (idiom) {{{1
-"------------------------------------------------------------------------------
-function! C_CodeFor( direction, mode )
- if a:direction=="up"
- let string = C_Input( " loop var. [ start [ end [ incr. ]]] : ", "" )
- else
- let string = C_Input( " loop var. [ start [ end [ decr. ]]] : ", "" )
- endif
- let pos = 0
- let jmp = 0
- if string != ""
- "
- " use internal formatting to avoid conficts when using == below
- let equalprg_save = &equalprg
- set equalprg=
- "
- " loop variable
- let loopvar = matchstr( string, '\S\+\s*', pos )
- let pos = pos + strlen(loopvar)
- let loopvar = substitute( loopvar, '\s*$', "", "" )
- "
- " start value
- let startval = matchstr( string, '\S\+\s*', pos )
- let pos = pos + strlen(startval)
- let startval = substitute( startval, '\s*$', "", "" )
-
- " end value
- let endval = matchstr( string, '\S\+\s*', pos )
- let pos = pos + strlen(endval)
- let endval = substitute( endval, '\s*$', "", "" )
-
- " increment
- let incval = matchstr( string, '\S\+\s*', pos )
- let pos = pos + strlen(incval)
- let incval = substitute( incval, '\s*$', "", "" )
-
- if incval==""
- let incval = '1'
- let jmp = 10
- endif
-
- if a:direction=="up"
- if endval==""
- let endval = 'n'
- let jmp = 7
- endif
- if startval==""
- let startval = '0'
- let jmp = 4
- endif
- let zz= "for ( ".loopvar." = ".startval."; ".loopvar." < ".endval."; ".loopvar." += ".incval." )"
- else
- if endval==""
- let endval = '0'
- let jmp = 7
- endif
- if startval==""
- let startval = 'n-1'
- let jmp = 4
- endif
- let zz= "for ( ".loopvar." = ".startval."; ".loopvar." >= ".endval."; ".loopvar." -= ".incval." )"
- endif
-
- " ----- normal mode ----------------
- if a:mode=="a"
- put =zz
- normal 2==
- if jmp!=0
- exe "normal ".jmp."Wh"
- else
- exe 'normal $'
- endif
- endif
-
- " ----- visual mode ----------------
- if a:mode=="v"
- let zz = zz." {"
- :'<put! =zz
- let zz= "}"
- :'>put =zz
- :'<-1
- :exe "normal =".(line("'>")-line(".")+3)."+"
- endif
- "
- " restore formatter programm
- let &equalprg = equalprg_save
- "
- endif
-endfunction " ---------- end of function C_CodeFor ----------
-"
-"------------------------------------------------------------------------------
-" Handle prototypes {{{1
-"------------------------------------------------------------------------------
-"
-let s:C_Prototype = []
-let s:C_PrototypeShow = []
-let s:C_PrototypeCounter = 0
-let s:C_CComment = '\/\*.\{-}\*\/\s*' " C comment with trailing whitespaces
- " '.\{-}' any character, non-greedy
-let s:C_CppComment = '\/\/.*$' " C++ comment
-"
-"------------------------------------------------------------------------------
-" C_ProtoPick : pick up (normal/visual) {{{1
-"------------------------------------------------------------------------------
-function! C_ProtoPick (mode)
- if a:mode=="n"
- " --- normal mode -------------------
- let pos1 = line(".")
- let pos2 = pos1
- else
- " --- visual mode -------------------
- let pos1 = line("'<")
- let pos2 = line("'>")
- endif
- "
- " remove C/C++-comments, leading and trailing whitespaces, squeeze whitespaces
- "
- let prototyp = ''
- let linenumber = pos1
- while linenumber <= pos2
- let newline = getline(linenumber)
- let newline = substitute( newline, s:C_CppComment, "", "" ) " remove C++ comment
- let prototyp = prototyp." ".newline
- let linenumber = linenumber+1
- endwhile
- "
- let prototyp = substitute( prototyp, '^\s\+', "", "" ) " remove leading whitespaces
- let prototyp = substitute( prototyp, s:C_CComment, "", "g" ) " remove (multiline) C comments
- let prototyp = substitute( prototyp, '\s\+', " ", "g" ) " squeeze whitespaces
- let prototyp = substitute( prototyp, '\s\+$', "", "" ) " remove trailing whitespaces
- "
- " remove template keyword
- "
- let prototyp = substitute( prototyp, '^template\s*<\s*class \w\+\s*>\s*', "", "" )
- "
- let parlist = stridx( prototyp, '(' ) " start of the parameter list
- let part1 = strpart( prototyp, 0, parlist )
- let part2 = strpart( prototyp, parlist )
- "
- " remove the scope res. operator
- "
- let part1 = substitute( part1, '<\s*\w\+\s*>', "", "g" )
- let part1 = substitute( part1, '\<std\s*::', 'std##', 'g' ) " remove the scope res. operator
- let part1 = substitute( part1, '\<\h\w*\s*::', '', 'g' ) " remove the scope res. operator
- let part1 = substitute( part1, '\<std##', 'std::', 'g' ) " remove the scope res. operator
- let prototyp = part1.part2
- "
- " remove trailing parts of the function body; add semicolon
- "
- let prototyp = substitute( prototyp, '\s*{.*$', "", "" )
- let prototyp = prototyp.";\n"
- "
- " bookkeeping
- "
- let s:C_PrototypeCounter += 1
- let s:C_Prototype += [prototyp]
- let s:C_PrototypeShow += ["(".s:C_PrototypeCounter.") ".bufname("%")." # ".prototyp]
- "
- echo s:C_PrototypeCounter.' prototype(s)'
- "
-endfunction " --------- end of function C_ProtoPick ----------
-"
-"------------------------------------------------------------------------------
-" C_ProtoInsert : insert {{{1
-"------------------------------------------------------------------------------
-function! C_ProtoInsert ()
- "
- " use internal formatting to avoid conficts when using == below
- let equalprg_save = &equalprg
- set equalprg=
- "
- if s:C_PrototypeCounter > 0
- for protytype in s:C_Prototype
- put =protytype
- endfor
- let lines = s:C_PrototypeCounter - 1
- silent exe "normal =".lines."-"
- call C_ProtoClear()
- else
- echo "currently no prototypes available"
- endif
- "
- " restore formatter programm
- let &equalprg = equalprg_save
- "
-endfunction " --------- end of function C_ProtoInsert ----------
-"
-"------------------------------------------------------------------------------
-" C_ProtoClear : clear {{{1
-"------------------------------------------------------------------------------
-function! C_ProtoClear ()
- if s:C_PrototypeCounter > 0
- let s:C_Prototype = []
- let s:C_PrototypeShow = []
- let s:C_PrototypeCounter = 0
- echo 'prototypes deleted'
- else
- echo "currently no prototypes available"
- endif
-endfunction " --------- end of function C_ProtoClear ----------
-"
-"------------------------------------------------------------------------------
-" C_ProtoShow : show {{{1
-"------------------------------------------------------------------------------
-function! C_ProtoShow ()
- if s:C_PrototypeCounter > 0
- for protytype in s:C_PrototypeShow
- echo protytype
- endfor
- else
- echo "currently no prototypes available"
- endif
-endfunction " --------- end of function C_ProtoShow ----------
-"
-"------------------------------------------------------------------------------
-" C_EscapeBlanks : C_EscapeBlanks {{{1
-"------------------------------------------------------------------------------
-function! C_EscapeBlanks (arg)
- return substitute( a:arg, " ", "\\ ", "g" )
-endfunction " --------- end of function C_EscapeBlanks ----------
-"
-"------------------------------------------------------------------------------
-" C_Compile : C_Compile {{{1
-"------------------------------------------------------------------------------
-" The standard make program 'make' called by vim is set to the C or C++ compiler
-" and reset after the compilation (set makeprg=... ).
-" The errorfile created by the compiler will now be read by gvim and
-" the commands cl, cp, cn, ... can be used.
-"------------------------------------------------------------------------------
-function! C_Compile ()
-
- let l:currentbuffer = bufname("%")
- let s:C_HlMessage = ""
- exe ":cclose"
- let Sou = expand("%:p") " name of the file in the current buffer
- let Obj = expand("%:p:r").s:C_ObjExtension " name of the object
- let SouEsc= escape( Sou, s:escfilename )
- let ObjEsc= escape( Obj, s:escfilename )
-
- " update : write source file if necessary
- exe ":update"
-
- " compilation if object does not exist or object exists and is older then the source
- if !filereadable(Obj) || (filereadable(Obj) && (getftime(Obj) < getftime(Sou)))
- " &makeprg can be a string containing blanks
- let makeprg_saved='"'.&makeprg.'"'
- if expand("%:e") == s:C_CExtension
- exe "set makeprg=".s:C_CCompiler
- else
- exe "set makeprg=".s:C_CplusCompiler
- endif
- "
- " COMPILATION
- "
- if s:MSWIN
- exe "make ".s:C_CFlags." \"".SouEsc."\" -o \"".ObjEsc."\""
- else
- exe "make ".s:C_CFlags." ".SouEsc." -o ".ObjEsc
- endif
- exe "set makeprg=".makeprg_saved
- "
- " open error window if necessary
- exe ":botright cwindow"
- else
- let s:C_HlMessage = " '".Obj."' is up to date "
- endif
-
-endfunction " ---------- end of function C_Compile ----------
-"
-"------------------------------------------------------------------------------
-" C_Link : C_Link {{{1
-"------------------------------------------------------------------------------
-" The standard make program which is used by gvim is set to the compiler
-" (for linking) and reset after linking.
-"
-" calls: C_Compile
-"------------------------------------------------------------------------------
-function! C_Link ()
-
- call C_Compile()
-
- let s:C_HlMessage = ""
- let Sou = expand("%:p") " name of the file in the current buffer
- let Obj = expand("%:p:r").s:C_ObjExtension " name of the object file
- let Exe = expand("%:p:r").s:C_ExeExtension " name of the executable
- let ObjEsc= escape( Obj, s:escfilename )
- let ExeEsc= escape( Exe, s:escfilename )
-
- " no linkage if:
- " executable exists
- " object exists
- " source exists
- " executable newer then object
- " object newer then source
-
- if filereadable(Exe) &&
- \ filereadable(Obj) &&
- \ filereadable(Sou) &&
- \ (getftime(Exe) >= getftime(Obj)) &&
- \ (getftime(Obj) >= getftime(Sou))
- let s:C_HlMessage = " '".Exe."' is up to date "
- return
- endif
-
- " linkage if:
- " object exists
- " source exists
- " object newer then source
-
- if filereadable(Obj) && (getftime(Obj) >= getftime(Sou))
- let makeprg_saved='"'.&makeprg.'"'
- if expand("%:e") == s:C_CExtension
- exe "set makeprg=".s:C_CCompiler
- else
- exe "set makeprg=".s:C_CplusCompiler
- endif
- let v:statusmsg=""
- if s:MSWIN
- silent exe "make ".s:C_LFlags." ".s:C_Libs." -o \"".ExeEsc."\" \"".ObjEsc."\""
- else
- silent exe "make ".s:C_LFlags." ".s:C_Libs." -o ".ExeEsc." ".ObjEsc
- endif
- if v:statusmsg != ""
- let s:C_HlMessage = v:statusmsg
- endif
- exe "set makeprg=".makeprg_saved
- endif
-endfunction " ---------- end of function C_Link ----------
-"
-"------------------------------------------------------------------------------
-" C_Run : C_Run {{{1
-" calls: C_Link
-"------------------------------------------------------------------------------
-"
-let s:C_OutputBufferName = "C-Output"
-let s:C_OutputBufferNumber = -1
-"
-function! C_Run ()
-"
- let Sou = expand("%:p") " name of the source file
- let Obj = expand("%:p:r").s:C_ObjExtension " name of the object file
- let Exe = expand("%:p:r").s:C_ExeExtension " name of the executable
- let ExeEsc = escape( Exe, s:escfilename ) " name of the executable, escaped
- "
- let l:arguments = exists("b:C_CmdLineArgs") ? b:C_CmdLineArgs : ''
- "
- let l:currentbuffer = bufname("%")
- "
- "==============================================================================
- " run : run from the vim command line
- "==============================================================================
- if s:C_OutputGvim == "vim"
- "
- silent call C_Link()
- "
- if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou)
- if s:MSWIN
- exe "!\"".ExeEsc."\" ".l:arguments
- else
- exe "!".ExeEsc." ".l:arguments
- endif
- else
- echomsg "file ".Exe." does not exist / is not executable"
- endif
-
- endif
- "
- "==============================================================================
- " run : redirect output to an output buffer
- "==============================================================================
- if s:C_OutputGvim == "buffer"
- let l:currentbuffernr = bufnr("%")
- "
- silent call C_Link()
- "
- if l:currentbuffer == bufname("%")
- "
- "
- if bufloaded(s:C_OutputBufferName) != 0 && bufwinnr(s:C_OutputBufferNumber)!=-1
- exe bufwinnr(s:C_OutputBufferNumber) . "wincmd w"
- " buffer number may have changed, e.g. after a 'save as'
- if bufnr("%") != s:C_OutputBufferNumber
- let s:C_OutputBufferNumber = bufnr(s:C_OutputBufferName)
- exe ":bn ".s:C_OutputBufferNumber
- endif
- else
- silent exe ":new ".s:C_OutputBufferName
- let s:C_OutputBufferNumber=bufnr("%")
- setlocal buftype=nofile
- setlocal noswapfile
- setlocal syntax=none
- setlocal bufhidden=delete
- setlocal tabstop=8
- endif
- "
- " run programm
- "
- setlocal modifiable
- if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou)
- if s:MSWIN
- exe "%!\"".ExeEsc."\" ".l:arguments
- else
- exe "%!".ExeEsc." ".l:arguments
- endif
- endif
- setlocal nomodifiable
- "
- if winheight(winnr()) >= line("$")
- exe bufwinnr(l:currentbuffernr) . "wincmd w"
- endif
- "
- endif
- endif
- "
- "==============================================================================
- " run : run in a detached xterm (not available for MS Windows)
- "==============================================================================
- if s:C_OutputGvim == "xterm"
- "
- silent call C_Link()
- "
- if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou)
- if s:MSWIN
- exe "!\"".ExeEsc."\" ".l:arguments
- else
- silent exe '!xterm -title '.ExeEsc.' '.s:C_XtermDefaults.' -e '.s:C_Wrapper.' '.ExeEsc.' '.l:arguments.' &'
- :redraw!
- endif
- endif
- endif
-
-endfunction " ---------- end of function C_Run ----------
-"
-"------------------------------------------------------------------------------
-" C_Arguments : Arguments for the executable {{{1
-"------------------------------------------------------------------------------
-function! C_Arguments ()
- let Exe = expand("%:r").s:C_ExeExtension
- if Exe == ""
- redraw
- echohl WarningMsg | echo " no file name " | echohl None
- return
- endif
- let prompt = 'command line arguments for "'.Exe.'" : '
- if exists("b:C_CmdLineArgs")
- let b:C_CmdLineArgs= C_Input( prompt, b:C_CmdLineArgs )
- else
- let b:C_CmdLineArgs= C_Input( prompt , "" )
- endif
-endfunction " ---------- end of function C_Arguments ----------
-"
-"----------------------------------------------------------------------
-" C_Toggle_Gvim_Xterm : change output destination {{{1
-"----------------------------------------------------------------------
-function! C_Toggle_Gvim_Xterm ()
-
- if s:C_OutputGvim == "vim"
- if has("gui_running")
- exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm'
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- endif
- let s:C_OutputGvim = "buffer"
- else
- if s:C_OutputGvim == "buffer"
- if has("gui_running")
- exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim'
- if (!s:MSWIN)
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- else
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- endif
- endif
- if (!s:MSWIN) && (s:C_Display != '')
- let s:C_OutputGvim = "xterm"
- else
- let s:C_OutputGvim = "vim"
- end
- else
- " ---------- output : xterm -> gvim
- if has("gui_running")
- exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer'
- exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>'
- endif
- let s:C_OutputGvim = "vim"
- endif
- endif
- echomsg "output destination is '".s:C_OutputGvim."'"
-
-endfunction " ---------- end of function C_Toggle_Gvim_Xterm ----------
-"
-"------------------------------------------------------------------------------
-" C_XtermSize : xterm geometry {{{1
-"------------------------------------------------------------------------------
-function! C_XtermSize ()
- let regex = '-geometry\s\+\d\+x\d\+'
- let geom = matchstr( s:C_XtermDefaults, regex )
- let geom = matchstr( geom, '\d\+x\d\+' )
- let geom = substitute( geom, 'x', ' ', "" )
- let answer= C_Input(" xterm size (COLUMNS LINES) : ", geom )
- while match(answer, '^\s*\d\+\s\+\d\+\s*$' ) < 0
- let answer= C_Input(" + xterm size (COLUMNS LINES) : ", geom )
- endwhile
- let answer = substitute( answer, '\s\+', "x", "" ) " replace inner whitespaces
- let s:C_XtermDefaults = substitute( s:C_XtermDefaults, regex, "-geometry ".answer , "" )
-endfunction " ---------- end of function C_XtermSize ----------
-"
-"------------------------------------------------------------------------------
-" C_MakeArguments : run make(1) {{{1
-"------------------------------------------------------------------------------
-
-let s:C_MakeCmdLineArgs = "" " command line arguments for Run-make; initially empty
-
-function! C_MakeArguments ()
- let s:C_MakeCmdLineArgs= C_Input("make command line arguments : ",s:C_MakeCmdLineArgs)
-endfunction " ---------- end of function C_MakeArguments ----------
-"
-function! C_Make()
- " update : write source file if necessary
- exe ":update"
- " run make
- exe ":!make ".s:C_MakeCmdLineArgs
-endfunction " ---------- end of function C_Make ----------
-"
-"------------------------------------------------------------------------------
-" C_SplintArguments : splint command line arguments {{{1
-"------------------------------------------------------------------------------
-function! C_SplintArguments ()
- if s:C_SplintIsExecutable==0
- let s:C_HlMessage = ' Splint is not executable or not installed! '
- else
- let prompt = 'Splint command line arguments for "'.expand("%").'" : '
- if exists("b:C_SplintCmdLineArgs")
- let b:C_SplintCmdLineArgs= C_Input( prompt, b:C_SplintCmdLineArgs )
- else
- let b:C_SplintCmdLineArgs= C_Input( prompt , "" )
- endif
- endif
-endfunction " ---------- end of function C_SplintArguments ----------
-"
-"------------------------------------------------------------------------------
-" C_SplintCheck : run splint(1) {{{1
-"------------------------------------------------------------------------------
-function! C_SplintCheck ()
- if s:C_SplintIsExecutable==0
- let s:C_HlMessage = ' Splint is not executable or not installed! '
- return
- endif
- let l:currentbuffer=bufname("%")
- if &filetype != "c" && &filetype != "cpp"
- let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file '
- return
- endif
- let s:C_HlMessage = ""
- exe ":cclose"
- silent exe ":update"
- let makeprg_saved='"'.&makeprg.'"'
- " Windows seems to need this:
- if s:MSWIN
- :compiler splint
- endif
- :set makeprg=splint
- "
- let l:arguments = exists("b:C_SplintCmdLineArgs") ? b:C_SplintCmdLineArgs : ' '
- silent exe "make ".l:arguments." ".escape(l:currentbuffer,s:escfilename)
- exe "set makeprg=".makeprg_saved
- exe ":botright cwindow"
- "
- " message in case of success
- "
- if l:currentbuffer == bufname("%")
- let s:C_HlMessage = " Splint --- no warnings for : ".l:currentbuffer
- endif
-endfunction " ---------- end of function C_SplintCheck ----------
-"
-"------------------------------------------------------------------------------
-" C_CodeCheckArguments : CodeCheck command line arguments {{{1
-"------------------------------------------------------------------------------
-function! C_CodeCheckArguments ()
- if s:C_CodeCheckIsExecutable==0
- let s:C_HlMessage = ' CodeCheck is not executable or not installed! '
- else
- let prompt = 'CodeCheck command line arguments for "'.expand("%").'" : '
- if exists("b:C_CodeCheckCmdLineArgs")
- let b:C_CodeCheckCmdLineArgs= C_Input( prompt, b:C_CodeCheckCmdLineArgs )
- else
- let b:C_CodeCheckCmdLineArgs= C_Input( prompt , s:C_CodeCheckOptions )
- endif
- endif
-endfunction " ---------- end of function C_CodeCheckArguments ----------
-"
-"------------------------------------------------------------------------------
-" C_CodeCheck : run CodeCheck {{{1
-"------------------------------------------------------------------------------
-function! C_CodeCheck ()
- if s:C_CodeCheckIsExecutable==0
- let s:C_HlMessage = ' CodeCheck is not executable or not installed! '
- return
- endif
- let l:currentbuffer=bufname("%")
- if &filetype != "c" && &filetype != "cpp"
- let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file '
- return
- endif
- let s:C_HlMessage = ""
- exe ":cclose"
- silent exe ":update"
- let makeprg_saved='"'.&makeprg.'"'
- exe "set makeprg=".s:C_CodeCheckExeName
- "
- " match the splint error messages (quickfix commands)
- " ignore any lines that didn't match one of the patterns
- "
- :setlocal errorformat=%f(%l)%m
- "
- let l:arguments = exists("b:C_CodeCheckCmdLineArgs") ? b:C_CodeCheckCmdLineArgs : ""
- if l:arguments == ""
- let l:arguments = s:C_CodeCheckOptions
- endif
- exe ":make ".l:arguments." ".escape( l:currentbuffer, s:escfilename )
- exe ':setlocal errorformat='
- exe "set makeprg=".makeprg_saved
- exe ":botright cwindow"
- "
- " message in case of success
- "
- if l:currentbuffer == bufname("%")
- let s:C_HlMessage = " CodeCheck --- no warnings for : ".l:currentbuffer
- endif
-endfunction " ---------- end of function C_CodeCheck ----------
-"
-"------------------------------------------------------------------------------
-" C_Indent : run indent(1) {{{1
-"------------------------------------------------------------------------------
-"
-function! C_Indent ( mode )
- if !executable("indent")
- let s:C_HlMessage = ' indent is not executable or not installed! '
- return
- endif
- let l:currentbuffer=bufname("%")
- if &filetype != "c" && &filetype != "cpp"
- let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file '
- return
- endif
- let s:C_HlMessage = ""
-
- if a:mode=="a"
- if C_Input("indent whole file [y/n/Esc] : ", "y" ) != "y"
- return
- endif
- exe ":update"
- if has("MSWIN")
- silent exe ":%!indent"
- else
- silent exe ":%!indent 2> ".s:C_IndentErrorLog
- endif
- let s:C_HlMessage = ' File "'.l:currentbuffer.'" reformatted.'
- endif
-
- if a:mode=="v"
- if has("MSWIN")
- silent exe ":'<,'>!indent"
- else
- silent exe ":'<,'>!indent 2> ".s:C_IndentErrorLog
- endif
- let s:C_HlMessage = ' File "'.l:currentbuffer.'" (lines '.line("'<").'-'.line("'>").') reformatted. '
- endif
-
- if v:shell_error != 0
- let s:C_HlMessage = ' Indent reported an error when processing file "'.l:currentbuffer.'". '
- endif
-
-endfunction " ---------- end of function C_Indent ----------
-"
-"------------------------------------------------------------------------------
-" C_HlMessage : indent message {{{1
-"------------------------------------------------------------------------------
-function! C_HlMessage ()
- echohl Search
- echo s:C_HlMessage
- echohl None
-endfunction " ---------- end of function C_HlMessage ----------
-"
-"------------------------------------------------------------------------------
-" C_Settings : settings {{{1
-"------------------------------------------------------------------------------
-function! C_Settings ()
- let txt = " C/C++-Support settings\n\n"
- let txt = txt.' author : "'.s:C_Macro['|AUTHOR|']."\"\n"
- let txt = txt.' initials : "'.s:C_Macro['|AUTHORREF|']."\"\n"
- let txt = txt.' email : "'.s:C_Macro['|EMAIL|']."\"\n"
- let txt = txt.' company : "'.s:C_Macro['|COMPANY|']."\"\n"
- let txt = txt.' project : "'.s:C_Macro['|PROJECT|']."\"\n"
- let txt = txt.' copyright holder : "'.s:C_Macro['|COPYRIGHTHOLDER|']."\"\n"
- let txt = txt.' C / C++ compiler : '.s:C_CCompiler.' / '.s:C_CplusCompiler."\n"
- let txt = txt.' C file extension : "'.s:C_CExtension.'" (everything else is C++)'."\n"
- let txt = txt.' extension for objects : "'.s:C_ObjExtension."\"\n"
- let txt = txt.'extension for executables : "'.s:C_ExeExtension."\"\n"
- let txt = txt.' compiler flags : "'.s:C_CFlags."\"\n"
- let txt = txt.' linker flags : "'.s:C_LFlags."\"\n"
- let txt = txt.' libraries : "'.s:C_Libs."\"\n"
- let txt = txt.' code snippet directory : '.s:C_CodeSnippets."\n"
- if s:installation == 'system'
- let txt = txt.'global template directory : '.s:C_GlobalTemplateDir."\n"
- if filereadable( s:C_LocalTemplateFile )
- let txt = txt.' local template directory : '.s:C_LocalTemplateDir."\n"
- endif
- else
- let txt = txt.' local template directory : '.s:C_GlobalTemplateDir."\n"
- endif
- if !s:MSWIN
- let txt = txt.' xterm defaults : '.s:C_XtermDefaults."\n"
- endif
- " ----- dictionaries ------------------------
- if g:C_Dictionary_File != ""
- let ausgabe= substitute( g:C_Dictionary_File, ",", ",\n + ", "g" )
- let txt = txt." dictionary file(s) : ".ausgabe."\n"
- endif
- let txt = txt.' current output dest. : '.s:C_OutputGvim."\n"
- " ----- splint ------------------------------
- if s:C_SplintIsExecutable==1
- if exists("b:C_SplintCmdLineArgs")
- let ausgabe = b:C_SplintCmdLineArgs
- else
- let ausgabe = ""
- endif
- let txt = txt." splint options(s) : ".ausgabe."\n"
- endif
- " ----- code check --------------------------
- if s:C_CodeCheckIsExecutable==1
- if exists("b:C_CodeCheckCmdLineArgs")
- let ausgabe = b:C_CodeCheckCmdLineArgs
- else
- let ausgabe = s:C_CodeCheckOptions
- endif
- let txt = txt."CodeCheck (TM) options(s) : ".ausgabe."\n"
- endif
- let txt = txt."\n"
- let txt = txt."__________________________________________________________________________\n"
- let txt = txt." C/C++-Support, Version ".g:C_Version." / Dr.-Ing. Fritz Mehner / mehner@fh-swf.de\n\n"
- echo txt
-endfunction " ---------- end of function C_Settings ----------
-"
-"------------------------------------------------------------------------------
-" C_Hardcopy : hardcopy {{{1
-" MSWIN : a printer dialog is displayed
-" other : print PostScript to file
-"------------------------------------------------------------------------------
-function! C_Hardcopy (arg1)
- let Sou = expand("%")
- if Sou == ""
- redraw
- echohl WarningMsg | echo " no file name " | echohl None
- return
- endif
- let Sou = escape(Sou,s:escfilename) " name of the file in the current buffer
- let old_printheader=&printheader
- exe ':set printheader='.s:C_Printheader
- " ----- normal mode ----------------
- if a:arg1=="n"
- silent exe "hardcopy > ".Sou.".ps"
- if !s:MSWIN
- echo "file \"".Sou."\" printed to \"".Sou.".ps\""
- endif
- endif
- " ----- visual mode ----------------
- if a:arg1=="v"
- silent exe "*hardcopy > ".Sou.".ps"
- if !s:MSWIN
- echo "file \"".Sou."\" (lines ".line("'<")."-".line("'>").") printed to \"".Sou.".ps\""
- endif
- endif
- exe ':set printheader='.escape( old_printheader, ' %' )
-endfunction " ---------- end of function C_Hardcopy ----------
-"
-"------------------------------------------------------------------------------
-" C_HelpCsupport : help csupport {{{1
-"------------------------------------------------------------------------------
-function! C_HelpCsupport ()
- try
- :help csupport
- catch
- exe ':helptags '.s:plugin_dir.'doc'
- :help csupport
- endtry
-endfunction " ---------- end of function C_HelpCsupport ----------
-
-"------------------------------------------------------------------------------
-" C_CreateGuiMenus {{{1
-"------------------------------------------------------------------------------
-let s:C_MenuVisible = 0 " state variable controlling the C-menus
-"
-function! C_CreateGuiMenus ()
- if s:C_MenuVisible != 1
- aunmenu <silent> &Tools.Load\ C\ Support
- amenu <silent> 40.1000 &Tools.-SEP100- :
- amenu <silent> 40.1030 &Tools.Unload\ C\ Support <C-C>:call C_RemoveGuiMenus()<CR>
- call C_InitMenus()
- let s:C_MenuVisible = 1
- endif
-endfunction " ---------- end of function C_CreateGuiMenus ----------
-
-"------------------------------------------------------------------------------
-" C_ToolMenu {{{1
-"------------------------------------------------------------------------------
-function! C_ToolMenu ()
- amenu <silent> 40.1000 &Tools.-SEP100- :
- amenu <silent> 40.1030 &Tools.Load\ C\ Support <C-C>:call C_CreateGuiMenus()<CR>
-endfunction " ---------- end of function C_ToolMenu ----------
-
-"------------------------------------------------------------------------------
-" C_RemoveGuiMenus {{{1
-"------------------------------------------------------------------------------
-function! C_RemoveGuiMenus ()
- if s:C_MenuVisible == 1
- if s:C_Root == ""
- aunmenu <silent> Comments
- aunmenu <silent> Statements
- aunmenu <silent> Preprocessor
- aunmenu <silent> Idioms
- aunmenu <silent> Snippets
- aunmenu <silent> C++
- aunmenu <silent> Run
- else
- exe "aunmenu <silent> ".s:C_Root
- endif
- "
- aunmenu <silent> &Tools.Unload\ C\ Support
- call C_ToolMenu()
- "
- let s:C_MenuVisible = 0
- endif
-endfunction " ---------- end of function C_RemoveGuiMenus ----------
-
-"------------------------------------------------------------------------------
-" C_RebuildTemplates
-" rebuild commands and the menu from the (changed) template file
-"------------------------------------------------------------------------------
-function! C_RebuildTemplates ()
- let s:C_Template = {}
- let s:C_FileVisited = []
- call C_ReadTemplates(s:C_GlobalTemplateFile)
- echomsg "templates rebuilt from '".s:C_GlobalTemplateFile."'"
- "
- if s:installation == 'system' && filereadable( s:C_LocalTemplateFile )
- call C_ReadTemplates( s:C_LocalTemplateFile )
- echomsg " and from '".s:C_LocalTemplateFile."'"
- endif
-endfunction " ---------- end of function C_RebuildTemplates ----------
-
-"------------------------------------------------------------------------------
-" C_ReadTemplates
-" read the template file(s), build the macro and the template dictionary
-"
-"------------------------------------------------------------------------------
-function! C_ReadTemplates ( templatefile )
-
- if !filereadable( a:templatefile )
- echohl WarningMsg
- echomsg "C/C++ template file '".a:templatefile."' does not exist or is not readable"
- echohl None
- return
- endif
-
- let skipmacros = 0
- let s:C_FileVisited += [a:templatefile]
-
- "------------------------------------------------------------------------------
- " read template file, start with an empty template dictionary
- "------------------------------------------------------------------------------
-
- let item = ''
- for line in readfile( a:templatefile )
- " if not a comment :
- if line !~ '^\$'
- "
- " macros and file includes
- "
-
- let string = matchlist( line, s:C_MacroLineRegex )
- if !empty(string) && skipmacros == 0
- let key = '|'.string[1].'|'
- let val = string[2]
- let val = substitute( val, '\s\+$', '', '' )
- let val = substitute( val, "[\"\']$", '', '' )
- let val = substitute( val, "^[\"\']", '', '' )
- "
- if key == '|includefile|' && count( s:C_FileVisited, val ) == 0
- let path = fnamemodify( a:templatefile, ":p:h" )
- call C_ReadTemplates( path.'/'.val ) " recursive call
- else
- let s:C_Macro[key] = val
- endif
- continue " next line
- endif
- "
- " template header
- "
- let name = matchstr( line, s:C_TemplateLineRegex )
- "
- if name != ''
- let part = split( name, '\s*==\s*')
- let item = part[0]
- if has_key( s:C_Template, item ) && s:C_TemplateOverwrittenMsg == 'yes'
- echomsg "existing C/C++ template '".item."' overwritten"
- endif
- let s:C_Template[item] = ''
- let skipmacros = 1
- "
- let s:C_Attribute[item] = 'below'
- if has_key( s:Attribute, get( part, 1, 'NONE' ) )
- let s:C_Attribute[item] = part[1]
- endif
- else
- if item != ''
- let s:C_Template[item] = s:C_Template[item].line."\n"
- endif
- endif
- endif
- endfor
-
- call C_SetSmallCommentStyle()
-endfunction " ---------- end of function C_ReadTemplates ----------
-
-"------------------------------------------------------------------------------
-" C_InsertTemplate
-" insert a template from the template dictionary
-" do macro expansion
-"------------------------------------------------------------------------------
-function! C_InsertTemplate ( key, ... )
-
- if !has_key( s:C_Template, a:key )
- echomsg "Template '".a:key."' not found. Please check your template file in '".s:C_GlobalTemplateDir."'"
- return
- endif
-
- "------------------------------------------------------------------------------
- " insert the user macros
- "------------------------------------------------------------------------------
-
- " use internal formatting to avoid conficts when using == below
- "
- let equalprg_save = &equalprg
- set equalprg=
-
- let mode = s:C_Attribute[a:key]
-
- " remove <SPLIT> and insert the complete macro
- "
- if a:0 == 0
- let val = C_ExpandUserMacros (a:key)
- if val == ""
- return
- endif
- let val = C_ExpandSingleMacro( val, '<SPLIT>', '' )
-
- if mode == 'below'
- let pos1 = line(".")+1
- put =val
- let pos2 = line(".")
- " proper indenting
- exe ":".pos1
- let ins = pos2-pos1+1
- exe "normal ".ins."=="
- endif
-
- if mode == 'above'
- let pos1 = line(".")
- put! =val
- let pos2 = line(".")
- " proper indenting
- exe ":".pos1
- let ins = pos2-pos1+1
- exe "normal ".ins."=="
- endif
-
- if mode == 'start'
- normal gg
- let pos1 = 1
- put! =val
- let pos2 = line(".")
- " proper indenting
- exe ":".pos1
- let ins = pos2-pos1+1
- exe "normal ".ins."=="
- endif
-
- if mode == 'append'
- let pos1 = line(".")
- put =val
- let pos2 = line(".")-1
- exe ":".pos1
- :join!
- endif
-
- if mode == 'insert'
- let val = substitute( val, '\n$', '', '' )
- let pos1 = line(".")
- let pos2 = pos1 + count( split(val,'\zs'), "\n" )
- exe "normal a".val
- endif
- "
- else
- "
- " ===== visual mode ===============================
- "
- if a:1 == 'v'
- let val = C_ExpandUserMacros (a:key)
- if val == ""
- return
- endif
-
- let part = split( val, '<SPLIT>' )
- if len(part) < 2
- let part = [ "" ] + part
- echomsg 'SPLIT missing in template '.a:key
- endif
-
- if mode == 'below'
-
- :'<put! =part[0]
- :'>put =part[1]
-
- let pos1 = line("'<") - len(split(part[0], '\n' ))
- let pos2 = line("'>") + len(split(part[1], '\n' ))
- "" echo part[0] part[1] pos1 pos2
- " " proper indenting
- exe ":".pos1
- let ins = pos2-pos1+1
- exe "normal ".ins."=="
- endif
-
- "
- endif
- endif
-
- " restore formatter programm
- let &equalprg = equalprg_save
-
- "------------------------------------------------------------------------------
- " position the cursor
- "------------------------------------------------------------------------------
- exe ":".pos1
- let mtch = search( '<CURSOR>', "c", pos2 )
- if mtch != 0
- if matchend( getline(mtch) ,'<CURSOR>') == match( getline(mtch) ,"$" )
- normal 8x
- :startinsert!
- else
- normal 8x
- :startinsert
- endif
- else
- " to the end of the block; needed for repeated inserts
- if mode == 'below'
- exe ":".pos2
- endif
- endif
-
-endfunction " ---------- end of function C_InsertTemplate ----------
-
-"------------------------------------------------------------------------------
-" C_ExpandUserMacros
-"------------------------------------------------------------------------------
-function! C_ExpandUserMacros ( key )
-
- let template = s:C_Template[ a:key ]
- let s:C_ExpansionCounter = {} " reset the expansion counter
-
- "------------------------------------------------------------------------------
- " renew the predefined macros and expand them
- " can be replaced, with e.g. |?DATE|
- "------------------------------------------------------------------------------
- let s:C_Macro['|BASENAME|'] = toupper(expand("%:t:r"))
- let s:C_Macro['|DATE|'] = C_InsertDateAndTime('d')
- let s:C_Macro['|FILENAME|'] = expand("%:t")
- let s:C_Macro['|PATH|'] = expand("%:p:h")
- let s:C_Macro['|SUFFIX|'] = expand("%:e")
- let s:C_Macro['|TIME|'] = C_InsertDateAndTime('t')
- let s:C_Macro['|YEAR|'] = C_InsertDateAndTime('y')
-
- "------------------------------------------------------------------------------
- " look for replacements
- "------------------------------------------------------------------------------
- while match( template, s:C_ExpansionRegex ) != -1
- let macro = matchstr( template, s:C_ExpansionRegex )
- let replacement = substitute( macro, '?', '', '' )
- let template = substitute( template, macro, replacement, "g" )
-
- let match = matchlist( macro, s:C_ExpansionRegex )
-
- if match[1] != ''
- let macroname = '|'.match[1].'|'
- "
- " notify flag action, if any
- let flagaction = ''
- if has_key( s:C_MacroFlag, match[2] )
- let flagaction = ' (-> '.s:C_MacroFlag[ match[2] ].')'
- endif
- "
- " ask for a replacement
- if has_key( s:C_Macro, macroname )
- let name = C_Input( match[1].flagaction.' : ', C_ApplyFlag( s:C_Macro[macroname], match[2] ) )
- else
- let name = C_Input( match[1].flagaction.' : ', '' )
- endif
- if name == ""
- return ""
- endif
- "
- " keep the modified name
- let s:C_Macro[macroname] = C_ApplyFlag( name, match[2] )
- endif
- endwhile
-
- "------------------------------------------------------------------------------
- " do the actual macro expansion
- " loop over the macros found in the template
- "------------------------------------------------------------------------------
- while match( template, s:C_NonExpansionRegex ) != -1
-
- let macro = matchstr( template, s:C_NonExpansionRegex )
- let match = matchlist( macro, s:C_NonExpansionRegex )
-
- if match[1] != ''
- let macroname = '|'.match[1].'|'
-
- if has_key( s:C_Macro, macroname )
- "-------------------------------------------------------------------------------
- " check for recursion
- "-------------------------------------------------------------------------------
- if has_key( s:C_ExpansionCounter, macroname )
- let s:C_ExpansionCounter[macroname] += 1
- else
- let s:C_ExpansionCounter[macroname] = 0
- endif
- if s:C_ExpansionCounter[macroname] >= s:C_ExpansionLimit
- echomsg " recursion terminated for recursive macro ".macroname
- return template
- endif
- "-------------------------------------------------------------------------------
- " replace
- "-------------------------------------------------------------------------------
- let replacement = C_ApplyFlag( s:C_Macro[macroname], match[2] )
- let template = substitute( template, macro, replacement, "g" )
- else
- "
- " macro not yet defined
- let s:C_Macro['|'.match[1].'|'] = ''
- endif
- endif
-
- endwhile
-
- return template
-endfunction " ---------- end of function C_ExpandUserMacros ----------
-
-"------------------------------------------------------------------------------
-" C_ApplyFlag
-"------------------------------------------------------------------------------
-function! C_ApplyFlag ( val, flag )
- "
- " l : lowercase
- if a:flag == ':l'
- return tolower(a:val)
- end
- "
- " u : uppercase
- if a:flag == ':u'
- return toupper(a:val)
- end
- "
- " c : capitalize
- if a:flag == ':c'
- return toupper(a:val[0]).a:val[1:]
- end
- "
- " L : legalized name
- if a:flag == ':L'
- return C_LegalizeName(a:val)
- end
- "
- " flag not valid
- return a:val
-endfunction " ---------- end of function C_ApplyFlag ----------
-"
-"------------------------------------------------------------------------------
-" C_ExpandSingleMacro
-"------------------------------------------------------------------------------
-function! C_ExpandSingleMacro ( val, macroname, replacement )
- return substitute( a:val, escape(a:macroname, '$' ), a:replacement, "g" )
-endfunction " ---------- end of function C_ExpandSingleMacro ----------
-
-"------------------------------------------------------------------------------
-" C_SetSmallCommentStyle
-"------------------------------------------------------------------------------
-function! C_SetSmallCommentStyle ()
- if has_key( s:C_Template, 'comment.end-of-line-comment' )
- if match( s:C_Template['comment.end-of-line-comment'], '^\s*/\*' ) != -1
- let s:C_Com1 = '/*' " C-style : comment start
- let s:C_Com2 = '*/' " C-style : comment end
- else
- let s:C_Com1 = '//' " C++style : comment start
- let s:C_Com2 = '' " C++style : comment end
- endif
- endif
-endfunction " ---------- end of function C_SetSmallCommentStyle ----------
-
-"------------------------------------------------------------------------------
-" C_InsertMacroValue
-"------------------------------------------------------------------------------
-function! C_InsertMacroValue ( key )
- if col(".") > 1
- exe 'normal a'.s:C_Macro['|'.a:key.'|']
- else
- exe 'normal i'.s:C_Macro['|'.a:key.'|']
- end
-endfunction " ---------- end of function C_InsertMacroValue ----------
-
-"------------------------------------------------------------------------------
-" date and time
-"------------------------------------------------------------------------------
-function! C_InsertDateAndTime ( format )
- if a:format == 'd'
- return strftime( s:C_FormatDate )
- end
- if a:format == 't'
- return strftime( s:C_FormatTime )
- end
- if a:format == 'dt'
- return strftime( s:C_FormatDate ).' '.strftime( s:C_FormatTime )
- end
- if a:format == 'y'
- return strftime( s:C_FormatYear )
- end
-endfunction " ---------- end of function C_InsertDateAndTime ----------
-
-"------------------------------------------------------------------------------
-" show / hide the c-support menus
-" define key mappings (gVim only)
-"------------------------------------------------------------------------------
-"
-if has("gui_running")
- "
- call C_ToolMenu()
- "
- if s:C_LoadMenus == 'yes'
- call C_CreateGuiMenus()
- endif
- "
- nmap <unique> <silent> <Leader>lcs :call C_CreateGuiMenus()<CR>
- nmap <unique> <silent> <Leader>ucs :call C_RemoveGuiMenus()<CR>
- "
-endif
-
-"------------------------------------------------------------------------------
-" Automated header insertion
-" Local settings for the quickfix window
-"------------------------------------------------------------------------------
-if has("autocmd")
- "
- " Automated header insertion (suffixes from the gcc manual)
- "
- autocmd BufNewFile * if (&filetype=='cpp' || &filetype=='c') |
- \ call C_InsertTemplate("comment.file-description") | endif
- "
- " *.h has filetype 'cpp' by default; this can be changed to 'c' :
- "
- if s:C_TypeOfH=='c'
- autocmd BufNewFile,BufEnter *.h :set filetype=c
- endif
- "
- " C/C++ source code files which should not be preprocessed.
- "
- autocmd BufNewFile,BufRead *.i :set filetype=c
- autocmd BufNewFile,BufRead *.ii :set filetype=cpp
- "
- " Wrap error descriptions in the quickfix window.
- "
- autocmd BufReadPost quickfix setlocal wrap | setlocal linebreak
- "
-endif " has("autocmd")
-"
-"------------------------------------------------------------------------------
-" READ THE TEMPLATE FILES
-"------------------------------------------------------------------------------
-call C_ReadTemplates(s:C_GlobalTemplateFile)
-if s:installation == 'system' && filereadable( s:C_LocalTemplateFile )
- call C_ReadTemplates( s:C_LocalTemplateFile )
-endif
-
-"
-"=====================================================================================
-" vim: tabstop=2 shiftwidth=2 foldmethod=marker
diff --git a/.vim/plugin/filebrowser.vim b/.vim/plugin/filebrowser.vim
deleted file mode 100644
index e9de049..0000000
--- a/.vim/plugin/filebrowser.vim
+++ /dev/null
@@ -1,251 +0,0 @@
-" filebrowser.vim: utility file for vim 6.2+
-"
-" Copyright: Srinath Avadhanula <srinath AT fastmail DOT fm>
-" Parts of this file are taken from explorer.vim which is a plugin file
-" distributed with vim under the Vim charityware license.
-" License: distributed under the Vim charityware license.
-"
-" Settings:
-" FB_CallBackFunction: the function name which gets called when the user
-" presses <cr> on a file-name in the file browser.
-" FB_AllowRegexp: A filename has to match this regexp to be displayed.
-" FB_RejectRegexp: If a filename matches this regexp, then its not displayed.
-" (Both these regexps are '' by default which means no filtering is
-" done).
-
-" line continuation used here.
-let s:save_cpo = &cpo
-set cpo&vim
-
-"======================================================================
-" Globally visible functions (API)
-"======================================================================
-" FB_OpenFileBrowser: opens a new buffer and displays the file list {{{
-" Description:
-function! FB_OpenFileBrowser(dir)
- if !isdirectory(a:dir)
- return
- endif
- if exists('s:FB_BufferNumber')
- if bufwinnr(s:FB_BufferNumber) != -1
- execute bufwinnr(s:FB_BufferNumber).' wincmd w'
- return
- endif
- execute 'aboveleft split #'.s:FB_BufferNumber
- else
- aboveleft split __Choose_File__
- let s:FB_BufferNumber = bufnr('%')
- endif
- call FB_DisplayFiles(a:dir)
-endfunction " }}}
-" FB_DisplayFiles: displays the files in a given directory {{{
-" Description:
-" Call this function only when the cursor is in a temporary buffer
-function! FB_DisplayFiles(dir)
- if !isdirectory(a:dir)
- return
- endif
- call s:FB_SetSilentSettings()
- " make this a "scratch" buffer
- call s:FB_SetScratchSettings()
-
- let allowRegexp = s:FB_GetVar('FB_AllowRegexp', '')
- let rejectRegexp = s:FB_GetVar('FB_RejectRegexp', '')
-
- " change to the directory to make processing simpler.
- execute "lcd ".a:dir
- " delete everything in the buffer.
- " IMPORTANT: we need to be in a scratch buffer
- 0,$ d_
-
- let allFilenames = glob('*')
- let dispFiles = ""
- let subDirs = "../\n"
-
- let i = 1
- while 1
- let filename = s:FB_Strntok(allFilenames, "\n", i)
- if filename == ''
- break
- endif
- if isdirectory(filename)
- let subDirs = subDirs.filename."/\n"
- else
- if allowRegexp != '' && filename !~ allowRegexp
- elseif rejectRegexp != '' && filename =~ rejectRegexp
- else
- let dispFiles = dispFiles.filename."\n"
- endif
- endif
- let i = i + 1
- endwhile
- 0put!=dispFiles
- 0put!=subDirs
- " delte the last empty line resulting from the put
- $ d_
-
- call s:FB_SetHighlighting()
- call s:FB_DisplayHelp()
- call s:FB_SetMaps()
-
- " goto the first file/directory
- 0
- call search('^"=', 'w')
- normal! j:<bs>
-
- set nomodified nomodifiable
-
- call s:FB_ResetSilentSettings()
-endfunction " }}}
-" FB_SetVar: sets script local variables from outside this script {{{
-" Description:
-function! FB_SetVar(varname, value)
- let s:{a:varname} = a:value
-endfunction " }}}
-
-" FB_SetHighlighting: sets syntax highlighting for the buffer {{{
-" Description:
-" Origin: from explorer.vim in vim
-function! <SID>FB_SetHighlighting()
- " Set up syntax highlighting
- " Something wrong with the evaluation of the conditional though...
- if has("syntax") && exists("g:syntax_on") && !has("syntax_items")
- syn match browseSynopsis "^\"[ -].*"
- syn match browseDirectory "[^\"].*/ "
- syn match browseDirectory "[^\"].*/$"
- syn match browseCurDir "^\"= .*$"
- syn match browseSortBy "^\" Sorted by .*$" contains=browseSuffixInfo
- syn match browseSuffixInfo "(.*)$" contained
- syn match browseFilter "^\" Not Showing:.*$"
- syn match browseFiletime "«\d\+$"
-
- "hi def link browseSynopsis PreProc
- hi def link browseSynopsis Special
- hi def link browseDirectory Directory
- hi def link browseCurDir Statement
- hi def link browseSortBy String
- hi def link browseSuffixInfo Type
- hi def link browseFilter String
- hi def link browseFiletime Ignore
- hi def link browseSuffixes Type
- endif
-endfunction " }}}
-" FB_SetMaps: sets buffer local maps {{{
-" Description:
-function! <SID>FB_SetMaps()
- nnoremap <buffer> <silent> q :bdelete<cr>
- nnoremap <buffer> <silent> C :call FB_DisplayFiles(getcwd())<CR>
- nnoremap <buffer> <silent> <esc> :bdelete<cr>
- nnoremap <buffer> <silent> <CR> :call <SID>FB_EditEntry()<CR>
- nnoremap <buffer> <silent> ? :call <SID>FB_ToggleHelp()<CR>
-
- " lock the user in this window
- nnoremap <buffer> <C-w> <nop>
-endfunction " }}}
-" FB_SetSilentSettings: some settings which make things silent {{{
-" Description:
-" Origin: from explorer.vim distributed with vim.
-function! <SID>FB_SetSilentSettings()
- let s:save_report=&report
- let s:save_showcmd = &sc
- set report=10000 noshowcmd
-endfunction
-" FB_ResetSilentSettings: reset settings set by FB_SetSilentSettings
-" Description:
-function! <SID>FB_ResetSilentSettings()
- let &report=s:save_report
- let &showcmd = s:save_showcmd
-endfunction " }}}
-" FB_SetScratchSettings: makes the present buffer a scratch buffer {{{
-" Description:
-function! <SID>FB_SetScratchSettings()
- " Turn off the swapfile, set the buffer type so that it won't get
- " written, and so that it will get deleted when it gets hidden.
- setlocal noreadonly modifiable
- setlocal noswapfile
- setlocal buftype=nowrite
- setlocal bufhidden=delete
- " Don't wrap around long lines
- setlocal nowrap
-endfunction
-
-" }}}
-" FB_ToggleHelp: toggles verbosity of help {{{
-" Description:
-function! <SID>FB_ToggleHelp()
- let s:FB_VerboseHelp = 1 - s:FB_GetVar('FB_VerboseHelp', 0)
-
- call FB_DisplayFiles('.')
-endfunction " }}}
-" FB_DisplayHelp: displays a helpful header {{{
-" Description:
-function! <SID>FB_DisplayHelp()
- let verboseHelp = s:FB_GetVar('FB_VerboseHelp', 0)
- if verboseHelp
- let txt =
- \ "\" <cr>: on file, choose the file and quit\n"
- \ ."\" on dir, enter directory\n"
- \ ."\" q/<esc>: quit without choosing\n"
- \ ."\" C: change directory to getcwd()\n"
- \ ."\" ?: toggle help verbosity\n"
- \ ."\"= ".getcwd()
- else
- let txt = "\" ?: toggle help verbosity\n"
- \ ."\"= ".getcwd()
- endif
- 0put!=txt
-endfunction " }}}
-
-" Handles various actions in the file-browser
-" FB_EditEntry: handles the user pressing <enter> on a line {{{
-" Description:
-function! <SID>FB_EditEntry()
- let line = getline('.')
-
- if isdirectory(line)
- call FB_DisplayFiles(line)
- endif
-
- " If the user has a call back function defined on choosing a file, handle
- " it.
- let cbf = s:FB_GetVar('FB_CallBackFunction', '')
- if cbf != '' && line !~ '^" ' && filereadable(line)
- let fname = fnamemodify(line, ':p')
- bdelete
-
- let arguments = s:FB_GetVar('FB_CallBackFunctionArgs', '')
- if arguments != ''
- let arguments = ','.arguments
- endif
- call Tex_Debug('arguments = '.arguments, 'fb')
- call Tex_Debug("call ".cbf."('".fname."'".arguments.')', 'fb')
- exec "call ".cbf."('".fname."'".arguments.')'
- endif
-endfunction " }}}
-
-" FB_Strntok (string, tok, n) {{{
-" extract the n^th token from s seperated by tok.
-" example: FB_Strntok('1,23,3', ',', 2) = 23
-fun! <SID>FB_Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun " }}}
-" FB_GetVar: gets the most local value of a variable {{{
-function! <SID>FB_GetVar(name, default)
- if exists('s:'.a:name)
- return s:{a:name}
- elseif exists('w:'.a:name)
- return w:{a:name}
- elseif exists('b:'.a:name)
- return b:{a:name}
- elseif exists('g:'.a:name)
- return g:{a:name}
- else
- return a:default
- endif
-endfunction
-
-" }}}
-
-let &cpo = s:save_cpo
-
-" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
diff --git a/.vim/plugin/gnupg.vim b/.vim/plugin/gnupg.vim
deleted file mode 100644
index e2e7665..0000000
--- a/.vim/plugin/gnupg.vim
+++ /dev/null
@@ -1,1226 +0,0 @@
-" Name: gnupg.vim
-" Last Change: 2011 Nov 23
-" Maintainer: James McCoy <vega.james@gmail.com>
-" Original Author: Markus Braun <markus.braun@krawel.de>
-" Summary: Vim plugin for transparent editing of gpg encrypted files.
-" License: This program is free software; you can redistribute it and/or
-" modify it under the terms of the GNU General Public License
-" as published by the Free Software Foundation; either version
-" 2 of the License, or (at your option) any later version.
-" See http://www.gnu.org/copyleft/gpl-2.0.txt
-"
-" Section: Documentation {{{1
-"
-" Description: {{{2
-"
-" This script implements transparent editing of gpg encrypted files. The
-" filename must have a ".gpg", ".pgp" or ".asc" suffix. When opening such
-" a file the content is decrypted, when opening a new file the script will
-" ask for the recipients of the encrypted file. The file content will be
-" encrypted to all recipients before it is written. The script turns off
-" viminfo and swapfile to increase security.
-"
-" Installation: {{{2
-"
-" Copy the gnupg.vim file to the $HOME/.vim/plugin directory.
-" Refer to ':help add-plugin', ':help add-global-plugin' and ':help
-" runtimepath' for more details about Vim plugins.
-"
-" From "man 1 gpg-agent":
-"
-" ...
-" You should always add the following lines to your .bashrc or whatever
-" initialization file is used for all shell invocations:
-"
-" GPG_TTY=`tty`
-" export GPG_TTY
-"
-" It is important that this environment variable always reflects the outâ€
-" put of the tty command. For W32 systems this option is not required.
-" ...
-"
-" Most distributions provide software to ease handling of gpg and gpg-agent.
-" Examples are keychain or seahorse.
-"
-" Commands: {{{2
-"
-" :GPGEditRecipients
-" Opens a scratch buffer to change the list of recipients. Recipients that
-" are unknown (not in your public key) are highlighted and have
-" a prepended "!". Closing the buffer makes the changes permanent.
-"
-" :GPGViewRecipients
-" Prints the list of recipients.
-"
-" :GPGEditOptions
-" Opens a scratch buffer to change the options for encryption (symmetric,
-" asymmetric, signing). Closing the buffer makes the changes permanent.
-" WARNING: There is no check of the entered options, so you need to know
-" what you are doing.
-"
-" :GPGViewOptions
-" Prints the list of options.
-"
-" Variables: {{{2
-"
-" g:GPGExecutable
-" If set used as gpg executable, otherwise the system chooses what is run
-" when "gpg" is called. Defaults to "gpg".
-"
-" g:GPGUseAgent
-" If set to 0 a possible available gpg-agent won't be used. Defaults to 1.
-"
-" g:GPGPreferSymmetric
-" If set to 1 symmetric encryption is preferred for new files. Defaults to 0.
-"
-" g:GPGPreferArmor
-" If set to 1 armored data is preferred for new files. Defaults to 0
-" unless a "*.asc" file is being edited.
-"
-" g:GPGPreferSign
-" If set to 1 signed data is preferred for new files. Defaults to 0.
-"
-" g:GPGDefaultRecipients
-" If set, these recipients are used as defaults when no other recipient is
-" defined. This variable is a Vim list. Default is unset.
-"
-" g:GPGUsePipes
-" If set to 1, use pipes instead of temporary files when interacting with
-" gnupg. When set to 1, this can cause terminal-based gpg agents to not
-" display correctly when prompting for passwords. Defaults to 0.
-"
-" Known Issues: {{{2
-"
-" In some cases gvim can't decrypt files
-
-" This is caused by the fact that a running gvim has no TTY and thus gpg is
-" not able to ask for the passphrase by itself. This is a problem for Windows
-" and Linux versions of gvim and could not be solved unless a "terminal
-" emulation" is implemented for gvim. To circumvent this you have to use any
-" combination of gpg-agent and a graphical pinentry program:
-"
-" - gpg-agent only:
-" you need to provide the passphrase for the needed key to gpg-agent
-" in a terminal before you open files with gvim which require this key.
-"
-" - pinentry only:
-" you will get a popup window every time you open a file that needs to
-" be decrypted.
-"
-" - gpgagent and pinentry:
-" you will get a popup window the first time you open a file that
-" needs to be decrypted.
-"
-" Credits: {{{2
-"
-" - Mathieu Clabaut for inspirations through his vimspell.vim script.
-" - Richard Bronosky for patch to enable ".pgp" suffix.
-" - Erik Remmelzwaal for patch to enable windows support and patient beta
-" testing.
-" - Lars Becker for patch to make gpg2 working.
-" - Thomas Arendsen Hein for patch to convert encoding of gpg output.
-" - Karl-Heinz Ruskowski for patch to fix unknown recipients and trust model
-" and patient beta testing.
-" - Giel van Schijndel for patch to get GPG_TTY dynamically.
-" - Sebastian Luettich for patch to fix issue with symmetric encryption an set
-" recipients.
-" - Tim Swast for patch to generate signed files.
-" - James Vega for patches for better '*.asc' handling, better filename
-" escaping and better handling of multiple keyrings.
-"
-" Section: Plugin header {{{1
-
-" guard against multiple loads {{{2
-if (exists("g:loaded_gnupg") || &cp || exists("#BufReadCmd*.\(gpg\|asc\|pgp\)"))
- finish
-endif
-let g:loaded_gnupg = '2.3'
-let s:GPGInitRun = 0
-
-" check for correct vim version {{{2
-if (v:version < 702)
- echohl ErrorMsg | echo 'plugin gnupg.vim requires Vim version >= 7.2' | echohl None
- finish
-endif
-
-" Section: Autocmd setup {{{1
-
-augroup GnuPG
- autocmd!
-
- " do the decryption
- autocmd BufReadCmd,FileReadCmd *.\(gpg\|asc\|pgp\) call s:GPGInit()
- autocmd BufReadCmd,FileReadCmd *.\(gpg\|asc\|pgp\) call s:GPGDecrypt()
- autocmd BufReadCmd *.\(gpg\|asc\|pgp\) call s:GPGBufReadPost()
-
- " convert all text to encrypted text before writing
- autocmd BufWriteCmd,FileWriteCmd *.\(gpg\|asc\|pgp\) call s:GPGInit()
- autocmd BufWriteCmd,FileWriteCmd *.\(gpg\|asc\|pgp\) call s:GPGEncrypt()
-
- " cleanup on leaving vim
- autocmd VimLeave *.\(gpg\|asc\|pgp\) call s:GPGCleanup()
-augroup END
-
-" Section: Constants {{{1
-
-let s:GPGMagicString = "\t \t"
-
-" Section: Highlight setup {{{1
-
-highlight default link GPGWarning WarningMsg
-highlight default link GPGError ErrorMsg
-highlight default link GPGHighlightUnknownRecipient ErrorMsg
-
-" Section: Functions {{{1
-
-" Function: s:GPGInit() {{{2
-"
-" initialize the plugin
-"
-function s:GPGInit()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGInit()")
-
- " we don't want a swap file, as it writes unencrypted data to disk
- setl noswapfile
-
- " if persistent undo is present, disable it for this buffer
- if exists('+undofile')
- setl noundofile
- endif
-
- " the rest only has to be run once
- if s:GPGInitRun
- return
- endif
-
- " first make sure nothing is written to ~/.viminfo while editing
- " an encrypted file.
- set viminfo=
-
- " check what gpg command to use
- if (!exists("g:GPGExecutable"))
- let g:GPGExecutable = "gpg --trust-model always"
- endif
-
- " check if gpg-agent is allowed
- if (!exists("g:GPGUseAgent"))
- let g:GPGUseAgent = 1
- endif
-
- " check if symmetric encryption is preferred
- if (!exists("g:GPGPreferSymmetric"))
- let g:GPGPreferSymmetric = 0
- endif
-
- " check if armored files are preferred
- if (!exists("g:GPGPreferArmor"))
- " .asc files should be armored as that's what the extension is used for
- if expand('<afile>') =~ '\.asc$'
- let g:GPGPreferArmor = 1
- else
- let g:GPGPreferArmor = 0
- endif
- endif
-
- " check if signed files are preferred
- if (!exists("g:GPGPreferSign"))
- let g:GPGPreferSign = 0
- endif
-
- " start with empty default recipients if none is defined so far
- if (!exists("g:GPGDefaultRecipients"))
- let g:GPGDefaultRecipients = []
- endif
-
- " prefer not to use pipes since it can garble gpg agent display
- if (!exists("g:GPGUsePipes"))
- let g:GPGUsePipes = 0
- endif
-
- " allow alternate gnupg homedir
- if (!exists('g:GPGHomedir'))
- let g:GPGHomedir = ''
- endif
-
- " print version
- call s:GPGDebug(1, "gnupg.vim ". g:loaded_gnupg)
-
- " determine if gnupg can use the gpg-agent
- if (exists("$GPG_AGENT_INFO") && g:GPGUseAgent == 1)
- if (!exists("$GPG_TTY") && !has("gui_running"))
- let $GPG_TTY = system("tty")
- if (v:shell_error)
- let $GPG_TTY = ""
- echohl GPGError
- echom "The GPG_TTY is not set and no TTY could be found using the `tty` command!"
- echom "gpg-agent might not work."
- echohl None
- endif
- endif
- let s:GPGCommand = g:GPGExecutable . " --use-agent"
- else
- let s:GPGCommand = g:GPGExecutable . " --no-use-agent"
- endif
-
- " don't use tty in gvim except for windows: we get their a tty for free.
- " FIXME find a better way to avoid an error.
- " with this solution only --use-agent will work
- if (has("gui_running") && !has("gui_win32"))
- let s:GPGCommand = s:GPGCommand . " --no-tty"
- endif
-
- " setup shell environment for unix and windows
- let s:shellredirsave = &shellredir
- let s:shellsave = &shell
- let s:shelltempsave = &shelltemp
- " noshelltemp isn't currently supported on Windows, but it doesn't cause any
- " errors and this future proofs us against requiring changes if Windows
- " gains noshelltemp functionality
- let s:shelltemp = !g:GPGUsePipes
- if (has("unix"))
- " unix specific settings
- let s:shellredir = ">%s 2>&1"
- let s:shell = '/bin/sh'
- let s:stderrredirnull = '2>/dev/null'
- let s:GPGCommand = "LANG=C LC_ALL=C " . s:GPGCommand
- else
- " windows specific settings
- let s:shellredir = '>%s'
- let s:shell = &shell
- let s:stderrredirnull = '2>nul'
- endif
-
- call s:GPGDebug(3, "shellredirsave: " . s:shellredirsave)
- call s:GPGDebug(3, "shellsave: " . s:shellsave)
- call s:GPGDebug(3, "shelltempsave: " . s:shelltempsave)
-
- call s:GPGDebug(3, "shell: " . s:shell)
- call s:GPGDebug(3, "shellcmdflag: " . &shellcmdflag)
- call s:GPGDebug(3, "shellxquote: " . &shellxquote)
- call s:GPGDebug(3, "shellredir: " . s:shellredir)
- call s:GPGDebug(3, "stderrredirnull: " . s:stderrredirnull)
-
- call s:GPGDebug(3, "shell implementation: " . resolve(s:shell))
-
- " find the supported algorithms
- let output = s:GPGSystem({ 'level': 2, 'args': '--version' })
-
- let s:GPGPubkey = substitute(output, ".*Pubkey: \\(.\\{-}\\)\n.*", "\\1", "")
- let s:GPGCipher = substitute(output, ".*Cipher: \\(.\\{-}\\)\n.*", "\\1", "")
- let s:GPGHash = substitute(output, ".*Hash: \\(.\\{-}\\)\n.*", "\\1", "")
- let s:GPGCompress = substitute(output, ".*Compress.\\{-}: \\(.\\{-}\\)\n.*", "\\1", "")
-
- call s:GPGDebug(2, "public key algorithms: " . s:GPGPubkey)
- call s:GPGDebug(2, "cipher algorithms: " . s:GPGCipher)
- call s:GPGDebug(2, "hashing algorithms: " . s:GPGHash)
- call s:GPGDebug(2, "compression algorithms: " . s:GPGCompress)
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGInit()")
- let s:GPGInitRun = 1
-endfunction
-
-" Function: s:GPGCleanup() {{{2
-"
-" cleanup on leaving vim
-"
-function s:GPGCleanup()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGCleanup()")
-
- " wipe out screen
- new +only
- redraw!
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGCleanup()")
-endfunction
-
-" Function: s:GPGDecrypt() {{{2
-"
-" decrypt the buffer and find all recipients of the encrypted file
-"
-function s:GPGDecrypt()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGDecrypt()")
-
- " get the filename of the current buffer
- let filename = expand("<afile>:p")
-
- " clear GPGRecipients and GPGOptions
- let b:GPGRecipients = g:GPGDefaultRecipients
- let b:GPGOptions = []
-
- " File doesn't exist yet, so nothing to decrypt
- if empty(glob(filename))
- return
- endif
-
- " Only let this if the file actually exists, otherwise GPG functionality
- " will be disabled when editing a buffer that doesn't yet have a backing
- " file
- let b:GPGEncrypted = 0
-
- " find the recipients of the file
- let cmd = { 'level': 3 }
- let cmd.args = '--verbose --decrypt --list-only --dry-run --batch --no-use-agent --logger-fd 1 ' . shellescape(filename)
- let output = s:GPGSystem(cmd)
-
- let asymmPattern = 'gpg: public key is \%(0x\)\=[[:xdigit:]]\{8,16}'
- " check if the file is symmetric/asymmetric encrypted
- if (match(output, "gpg: encrypted with [[:digit:]]\\+ passphrase") >= 0)
- " file is symmetric encrypted
- let b:GPGEncrypted = 1
- call s:GPGDebug(1, "this file is symmetric encrypted")
-
- let b:GPGOptions += ["symmetric"]
-
- " find the used cipher algorithm
- let cipher = substitute(output, ".*gpg: \\([^ ]\\+\\) encrypted data.*", "\\1", "")
- if (match(s:GPGCipher, "\\<" . cipher . "\\>") >= 0)
- let b:GPGOptions += ["cipher-algo " . cipher]
- call s:GPGDebug(1, "cipher-algo is " . cipher)
- else
- echohl GPGWarning
- echom "The cipher " . cipher . " is not known by the local gpg command. Using default!"
- echo
- echohl None
- endif
- elseif (match(output, asymmPattern) >= 0)
- " file is asymmetric encrypted
- let b:GPGEncrypted = 1
- call s:GPGDebug(1, "this file is asymmetric encrypted")
-
- let b:GPGOptions += ["encrypt"]
-
- " find the used public keys
- let start = match(output, asymmPattern)
- while (start >= 0)
- let start = start + strlen("gpg: public key is ")
- let recipient = matchstr(output, '[[:xdigit:]]\{8,16}', start)
- call s:GPGDebug(1, "recipient is " . recipient)
- let name = s:GPGNameToID(recipient)
- if (strlen(name) > 0)
- let b:GPGRecipients += [name]
- call s:GPGDebug(1, "name of recipient is " . name)
- else
- let b:GPGRecipients += [recipient]
- echohl GPGWarning
- echom "The recipient \"" . recipient . "\" is not in your public keyring!"
- echohl None
- end
- let start = match(output, asymmPattern, start)
- endwhile
- else
- " file is not encrypted
- let b:GPGEncrypted = 0
- call s:GPGDebug(1, "this file is not encrypted")
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- silent exe '.r ' . fnameescape(filename)
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()")
- return
- endif
-
- " check if the message is armored
- if (match(output, "gpg: armor header") >= 0)
- call s:GPGDebug(1, "this file is armored")
- let b:GPGOptions += ["armor"]
- endif
-
- " finally decrypt the buffer content
- " since even with the --quiet option passphrase typos will be reported,
- " we must redirect stderr (using shell temporarily)
- call s:GPGDebug(1, "decrypting file")
- let cmd = { 'level': 1, 'ex': 'r !' }
- let cmd.args = '--quiet --decrypt ' . shellescape(filename, 1)
- call s:GPGExecute(cmd)
-
- if (v:shell_error) " message could not be decrypted
- echohl GPGError
- let blackhole = input("Message could not be decrypted! (Press ENTER)")
- echohl None
- silent bwipeout!
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()")
- return
- endif
-
- " refresh screen
- redraw!
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()")
-endfunction
-
-function s:GPGBufReadPost()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGBufReadPost()")
- silent 1delete
- " call the autocommand for the file minus .gpg$
- execute ':doautocmd BufReadPost ' . fnameescape(expand('<afile>:r'))
- call s:GPGDebug(2, 'called autocommand for ' . fnameescape(expand('<afile>:r')))
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGBufReadPost()")
-endfunction
-
-" Function: s:GPGEncrypt() {{{2
-"
-" encrypts the buffer to all previous recipients
-"
-function s:GPGEncrypt()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEncrypt()")
-
- " store encoding and switch to a safe one
- if (&fileencoding != &encoding)
- let s:GPGEncoding = &encoding
- let &encoding = &fileencoding
- call s:GPGDebug(2, "encoding was \"" . s:GPGEncoding . "\", switched to \"" . &encoding . "\"")
- else
- let s:GPGEncoding = ""
- call s:GPGDebug(2, "encoding and fileencoding are the same (\"" . &encoding . "\"), not switching")
- endif
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGError
- let blackhole = input("Message could not be encrypted! (Press ENTER)")
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()")
- return
- endif
-
- " initialize GPGOptions if not happened before
- if (!exists("b:GPGOptions") || len(b:GPGOptions) == 0)
- let b:GPGOptions = []
- if (exists("g:GPGPreferSymmetric") && g:GPGPreferSymmetric == 1)
- let b:GPGOptions += ["symmetric"]
- let b:GPGRecipients = []
- else
- let b:GPGOptions += ["encrypt"]
- endif
- if (exists("g:GPGPreferArmor") && g:GPGPreferArmor == 1)
- let b:GPGOptions += ["armor"]
- endif
- if (exists("g:GPGPreferSign") && g:GPGPreferSign == 1)
- let b:GPGOptions += ["sign"]
- endif
- call s:GPGDebug(1, "no options set, so using default options: " . string(b:GPGOptions))
- endif
-
- " built list of options
- let options = ""
- for option in b:GPGOptions
- let options = options . " --" . option . " "
- endfor
-
- if (!exists('b:GPGRecipients'))
- let b:GPGRecipients = []
- endif
-
- " check here again if all recipients are available in the keyring
- let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(b:GPGRecipients)
-
- " check if there are unknown recipients and warn
- if (len(unknownrecipients) > 0)
- echohl GPGWarning
- echom "Please use GPGEditRecipients to correct!!"
- echo
- echohl None
-
- " Let user know whats happend and copy known_recipients back to buffer
- let dummy = input("Press ENTER to quit")
- endif
-
- " built list of recipients
- if (len(recipients) > 0)
- for gpgid in recipients
- let options = options . " -r " . gpgid
- endfor
- endif
-
- " encrypt the buffer
- let destfile = tempname()
- let cmd = { 'level': 1, 'ex': "'[,']w !" }
- let cmd.args = '--quiet --no-encrypt-to ' . options
- let cmd.redirect = '>' . shellescape(destfile, 1)
- call s:GPGExecute(cmd)
-
- " restore encoding
- if (s:GPGEncoding != "")
- let &encoding = s:GPGEncoding
- call s:GPGDebug(2, "restored encoding \"" . &encoding . "\"")
- endif
-
- if (v:shell_error) " message could not be encrypted
- " Command failed, so clean up the tempfile
- call delete(destfile)
- echohl GPGError
- let blackhole = input("Message could not be encrypted! (Press ENTER)")
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()")
- return
- endif
-
- call rename(destfile, resolve(expand('<afile>')))
- setl nomodified
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()")
-endfunction
-
-" Function: s:GPGViewRecipients() {{{2
-"
-" echo the recipients
-"
-function s:GPGViewRecipients()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGViewRecipients()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewRecipients()")
- return
- endif
-
- let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(b:GPGRecipients)
-
- echo 'This file has following recipients (Unknown recipients have a prepended "!"):'
- " echo the recipients
- for name in recipients
- let name = s:GPGIDToName(name)
- echo name
- endfor
-
- " echo the unknown recipients
- echohl GPGWarning
- for name in unknownrecipients
- let name = "!" . name
- echo name
- endfor
- echohl None
-
- " check if there is any known recipient
- if (len(recipients) == 0)
- echohl GPGError
- echom 'There are no known recipients!'
- echohl None
- endif
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewRecipients()")
-endfunction
-
-" Function: s:GPGEditRecipients() {{{2
-"
-" create a scratch buffer with all recipients to add/remove recipients
-"
-function s:GPGEditRecipients()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEditRecipients()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditRecipients()")
- return
- endif
-
- " only do this if it isn't already a GPGRecipients_* buffer
- if (match(bufname("%"), "^\\(GPGRecipients_\\|GPGOptions_\\)") != 0 && match(bufname("%"), "\.\\(gpg\\|asc\\|pgp\\)$") >= 0)
-
- " save buffer name
- let buffername = bufname("%")
- let editbuffername = "GPGRecipients_" . buffername
-
- " check if this buffer exists
- if (!bufexists(editbuffername))
- " create scratch buffer
- execute 'silent! split ' . fnameescape(editbuffername)
-
- " add a autocommand to regenerate the recipients after a write
- autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer()
- else
- if (bufwinnr(editbuffername) >= 0)
- " switch to scratch buffer window
- execute 'silent! ' . bufwinnr(editbuffername) . "wincmd w"
- else
- " split scratch buffer window
- execute 'silent! sbuffer ' . fnameescape(editbuffername)
-
- " add a autocommand to regenerate the recipients after a write
- autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer()
- endif
-
- " empty the buffer
- silent %delete
- endif
-
- " Mark the buffer as a scratch buffer
- setlocal buftype=acwrite
- setlocal bufhidden=hide
- setlocal noswapfile
- setlocal nowrap
- setlocal nobuflisted
- setlocal nonumber
-
- " so we know for which other buffer this edit buffer is
- let b:GPGCorrespondingTo = buffername
-
- " put some comments to the scratch buffer
- silent put ='GPG: ----------------------------------------------------------------------'
- silent put ='GPG: Please edit the list of recipients, one recipient per line.'
- silent put ='GPG: Unknown recipients have a prepended \"!\".'
- silent put ='GPG: Lines beginning with \"GPG:\" are removed automatically.'
- silent put ='GPG: Data after recipients between and including \"(\" and \")\" is ignored.'
- silent put ='GPG: Closing this buffer commits changes.'
- silent put ='GPG: ----------------------------------------------------------------------'
-
- " get the recipients
- let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(getbufvar(b:GPGCorrespondingTo, "GPGRecipients"))
-
- " if there are no known or unknown recipients, use the default ones
- if (len(recipients) == 0 && len(unknownrecipients) == 0)
- if (type(g:GPGDefaultRecipients) == type([]))
- let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(g:GPGDefaultRecipients)
- else
- echohl GPGWarning
- echom "g:GPGDefaultRecipients is not a Vim list, please correct this in your vimrc!"
- echohl None
- endif
- endif
-
- " put the recipients in the scratch buffer
- for name in recipients
- let name = s:GPGIDToName(name)
- silent put =name
- endfor
-
- " put the unknown recipients in the scratch buffer
- let syntaxPattern = "\\(nonexxistinwordinthisbuffer"
- for name in unknownrecipients
- let name = "!" . name
- let syntaxPattern = syntaxPattern . "\\|" . fnameescape(name)
- silent put =name
- endfor
- let syntaxPattern = syntaxPattern . "\\)"
-
- " define highlight
- if (has("syntax") && exists("g:syntax_on"))
- execute 'syntax match GPGUnknownRecipient "' . syntaxPattern . '"'
- highlight clear GPGUnknownRecipient
- highlight link GPGUnknownRecipient GPGHighlightUnknownRecipient
-
- syntax match GPGComment "^GPG:.*$"
- execute 'syntax match GPGComment "' . s:GPGMagicString . '.*$"'
- highlight clear GPGComment
- highlight link GPGComment Comment
- endif
-
- " delete the empty first line
- silent 1delete
-
- " jump to the first recipient
- silent $
-
- endif
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditRecipients()")
-endfunction
-
-" Function: s:GPGFinishRecipientsBuffer() {{{2
-"
-" create a new recipient list from RecipientsBuffer
-"
-function s:GPGFinishRecipientsBuffer()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGFinishRecipientsBuffer()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishRecipientsBuffer()")
- return
- endif
-
- " go to buffer before doing work
- if (bufnr("%") != expand("<abuf>"))
- " switch to scratch buffer window
- execute 'silent! ' . bufwinnr(expand("<afile>")) . "wincmd w"
- endif
-
- " delete the autocommand
- autocmd! * <buffer>
-
-
- " get the recipients from the scratch buffer
- let recipients = []
- let lines = getline(1,"$")
- for recipient in lines
- " delete all text after magic string
- let recipient = substitute(recipient, s:GPGMagicString . ".*$", "", "")
-
- " delete all spaces at beginning and end of the recipient
- " also delete a '!' at the beginning of the recipient
- let recipient = substitute(recipient, "^[[:space:]!]*\\(.\\{-}\\)[[:space:]]*$", "\\1", "")
-
- " delete comment lines
- let recipient = substitute(recipient, "^GPG:.*$", "", "")
-
- " only do this if the line is not empty
- if (strlen(recipient) > 0)
- let gpgid = s:GPGNameToID(recipient)
- if (strlen(gpgid) > 0)
- if (match(recipients, gpgid) < 0)
- let recipients += [gpgid]
- endif
- else
- if (match(recipients, recipient) < 0)
- let recipients += [recipient]
- echohl GPGWarning
- echom "The recipient \"" . recipient . "\" is not in your public keyring!"
- echohl None
- endif
- endif
- endif
- endfor
-
- " write back the new recipient list to the corresponding buffer and mark it
- " as modified. Buffer is now for sure a encrypted buffer.
- call setbufvar(b:GPGCorrespondingTo, "GPGRecipients", recipients)
- call setbufvar(b:GPGCorrespondingTo, "&mod", 1)
- call setbufvar(b:GPGCorrespondingTo, "GPGEncrypted", 1)
-
- " check if there is any known recipient
- if (len(recipients) == 0)
- echohl GPGError
- echom 'There are no known recipients!'
- echohl None
- endif
-
- " reset modified flag
- setl nomodified
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishRecipientsBuffer()")
-endfunction
-
-" Function: s:GPGViewOptions() {{{2
-"
-" echo the recipients
-"
-function s:GPGViewOptions()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGViewOptions()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewOptions()")
- return
- endif
-
- if (exists("b:GPGOptions"))
- echo 'This file has following options:'
- " echo the options
- for option in b:GPGOptions
- echo option
- endfor
- endif
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewOptions()")
-endfunction
-
-" Function: s:GPGEditOptions() {{{2
-"
-" create a scratch buffer with all recipients to add/remove recipients
-"
-function s:GPGEditOptions()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEditOptions()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditOptions()")
- return
- endif
-
- " only do this if it isn't already a GPGOptions_* buffer
- if (match(bufname("%"), "^\\(GPGRecipients_\\|GPGOptions_\\)") != 0 && match(bufname("%"), "\.\\(gpg\\|asc\\|pgp\\)$") >= 0)
-
- " save buffer name
- let buffername = bufname("%")
- let editbuffername = "GPGOptions_" . buffername
-
- " check if this buffer exists
- if (!bufexists(editbuffername))
- " create scratch buffer
- execute 'silent! split ' . fnameescape(editbuffername)
-
- " add a autocommand to regenerate the options after a write
- autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer()
- else
- if (bufwinnr(editbuffername) >= 0)
- " switch to scratch buffer window
- execute 'silent! ' . bufwinnr(editbuffername) . "wincmd w"
- else
- " split scratch buffer window
- execute 'silent! sbuffer ' . fnameescape(editbuffername)
-
- " add a autocommand to regenerate the options after a write
- autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer()
- endif
-
- " empty the buffer
- silent %delete
- endif
-
- " Mark the buffer as a scratch buffer
- setlocal buftype=nofile
- setlocal noswapfile
- setlocal nowrap
- setlocal nobuflisted
- setlocal nonumber
-
- " so we know for which other buffer this edit buffer is
- let b:GPGCorrespondingTo = buffername
-
- " put some comments to the scratch buffer
- silent put ='GPG: ----------------------------------------------------------------------'
- silent put ='GPG: THERE IS NO CHECK OF THE ENTERED OPTIONS!'
- silent put ='GPG: YOU NEED TO KNOW WHAT YOU ARE DOING!'
- silent put ='GPG: IF IN DOUBT, QUICKLY EXIT USING :x OR :bd.'
- silent put ='GPG: Please edit the list of options, one option per line.'
- silent put ='GPG: Please refer to the gpg documentation for valid options.'
- silent put ='GPG: Lines beginning with \"GPG:\" are removed automatically.'
- silent put ='GPG: Closing this buffer commits changes.'
- silent put ='GPG: ----------------------------------------------------------------------'
-
- " put the options in the scratch buffer
- let options = getbufvar(b:GPGCorrespondingTo, "GPGOptions")
-
- for option in options
- silent put =option
- endfor
-
- " delete the empty first line
- silent 1delete
-
- " jump to the first option
- silent $
-
- " define highlight
- if (has("syntax") && exists("g:syntax_on"))
- syntax match GPGComment "^GPG:.*$"
- highlight clear GPGComment
- highlight link GPGComment Comment
- endif
- endif
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditOptions()")
-endfunction
-
-" Function: s:GPGFinishOptionsBuffer() {{{2
-"
-" create a new option list from OptionsBuffer
-"
-function s:GPGFinishOptionsBuffer()
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGFinishOptionsBuffer()")
-
- " guard for unencrypted files
- if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0)
- echohl GPGWarning
- echom "File is not encrypted, all GPG functions disabled!"
- echohl None
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishOptionsBuffer()")
- return
- endif
-
- " go to buffer before doing work
- if (bufnr("%") != expand("<abuf>"))
- " switch to scratch buffer window
- execute 'silent! ' . bufwinnr(expand("<afile>")) . "wincmd w"
- endif
-
- " clear options and unknownOptions
- let options = []
- let unknownOptions = []
-
- " delete the autocommand
- autocmd! * <buffer>
-
- " get the options from the scratch buffer
- let lines = getline(1, "$")
- for option in lines
- " delete all spaces at beginning and end of the option
- " also delete a '!' at the beginning of the option
- let option = substitute(option, "^[[:space:]!]*\\(.\\{-}\\)[[:space:]]*$", "\\1", "")
- " delete comment lines
- let option = substitute(option, "^GPG:.*$", "", "")
-
- " only do this if the line is not empty
- if (strlen(option) > 0 && match(options, option) < 0)
- let options += [option]
- endif
- endfor
-
- " write back the new option list to the corresponding buffer and mark it
- " as modified
- call setbufvar(b:GPGCorrespondingTo, "GPGOptions", options)
- call setbufvar(b:GPGCorrespondingTo, "&mod", 1)
-
- " reset modified flag
- setl nomodified
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishOptionsBuffer()")
-endfunction
-
-" Function: s:GPGCheckRecipients(tocheck) {{{2
-"
-" check if recipients are known
-" Returns: two lists recipients and unknownrecipients
-"
-function s:GPGCheckRecipients(tocheck)
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGCheckRecipients()")
-
- let recipients = []
- let unknownrecipients = []
-
- if (type(a:tocheck) == type([]))
- for recipient in a:tocheck
- let gpgid = s:GPGNameToID(recipient)
- if (strlen(gpgid) > 0)
- if (match(recipients, gpgid) < 0)
- let recipients += [gpgid]
- endif
- else
- if (match(unknownrecipients, recipient) < 0)
- let unknownrecipients += [recipient]
- echohl GPGWarning
- echom "The recipient \"" . recipient . "\" is not in your public keyring!"
- echohl None
- endif
- end
- endfor
- endif
-
- call s:GPGDebug(2, "recipients are: " . string(recipients))
- call s:GPGDebug(2, "unknown recipients are: " . string(unknownrecipients))
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGCheckRecipients()")
- return [ recipients, unknownrecipients ]
-endfunction
-
-" Function: s:GPGNameToID(name) {{{2
-"
-" find GPG key ID corresponding to a name
-" Returns: ID for the given name
-"
-function s:GPGNameToID(name)
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGNameToID()")
-
- " ask gpg for the id for a name
- let cmd = { 'level': 2 }
- let cmd.args = '--quiet --with-colons --fixed-list-mode --list-keys ' . shellescape(a:name)
- let output = s:GPGSystem(cmd)
-
- " when called with "--with-colons" gpg encodes its output _ALWAYS_ as UTF-8,
- " so convert it, if necessary
- if (&encoding != "utf-8")
- let output = iconv(output, "utf-8", &encoding)
- endif
- let lines = split(output, "\n")
-
- " parse the output of gpg
- let pubseen = 0
- let counter = 0
- let gpgids = []
- let duplicates = {}
- let choices = "The name \"" . a:name . "\" is ambiguous. Please select the correct key:\n"
- for line in lines
-
- " check if this line has already been processed
- if !has_key(duplicates, line)
- let duplicates[line] = 1
-
- let fields = split(line, ":")
- " search for the next uid
- if (pubseen == 1)
- if (fields[0] == "uid")
- let choices = choices . " " . fields[9] . "\n"
- else
- let pubseen = 0
- endif
- endif
-
- " search for the next pub
- if (pubseen == 0)
- if (fields[0] == "pub")
- let identity = fields[4]
- let gpgids += [identity]
- if exists("*strftime")
- let choices = choices . counter . ": ID: 0x" . identity . " created at " . strftime("%c", fields[5]) . "\n"
- else
- let choices = choices . counter . ": ID: 0x" . identity . "\n"
- endif
- let counter = counter+1
- let pubseen = 1
- endif
- endif
- endif
-
- endfor
-
- " counter > 1 means we have more than one results
- let answer = 0
- if (counter > 1)
- let choices = choices . "Enter number: "
- let answer = input(choices, "0")
- while (answer == "")
- let answer = input("Enter number: ", "0")
- endwhile
- endif
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGNameToID()")
- return get(gpgids, answer, "")
-endfunction
-
-" Function: s:GPGIDToName(identity) {{{2
-"
-" find name corresponding to a GPG key ID
-" Returns: Name for the given ID
-"
-function s:GPGIDToName(identity)
- call s:GPGDebug(3, ">>>>>>>> Entering s:GPGIDToName()")
-
- " TODO is the encryption subkey really unique?
-
- " ask gpg for the id for a name
- let cmd = { 'level': 2 }
- let cmd.args = '--quiet --with-colons --fixed-list-mode --list-keys ' . a:identity
- let output = s:GPGSystem(cmd)
-
- " when called with "--with-colons" gpg encodes its output _ALWAYS_ as UTF-8,
- " so convert it, if necessary
- if (&encoding != "utf-8")
- let output = iconv(output, "utf-8", &encoding)
- endif
- let lines = split(output, "\n")
-
- " parse the output of gpg
- let pubseen = 0
- let uid = ""
- for line in lines
- let fields = split(line, ":")
- if (pubseen == 0) " search for the next pub
- if (fields[0] == "pub")
- let pubseen = 1
- endif
- else " search for the next uid
- if (fields[0] == "uid")
- let pubseen = 0
- if exists("*strftime")
- let uid = fields[9] . s:GPGMagicString . "(ID: 0x" . a:identity . " created at " . strftime("%c", fields[5]) . ")"
- else
- let uid = fields[9] . s:GPGMagicString . "(ID: 0x" . a:identity . ")"
- endif
- break
- endif
- endif
- endfor
-
- call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGIDToName()")
- return uid
-endfunction
-
-function s:GPGPreCmd()
- let &shellredir = s:shellredir
- let &shell = s:shell
- let &shelltemp = s:shelltemp
-endfunction
-
-function s:GPGPostCmd()
- let &shellredir = s:shellredirsave
- let &shell = s:shellsave
- let &shelltemp = s:shelltempsave
-endfunction
-
-" Function: s:GPGSystem(dict) {{{2
-"
-" run g:GPGCommand using system(), logging the commandline and output
-" Recognized keys are:
-" level - Debug level at which the commandline and output will be logged
-" args - Arguments to be given to g:GPGCommand
-"
-" Returns: command output
-"
-function s:GPGSystem(dict)
- let commandline = printf('%s %s', s:GPGCommand, a:dict.args)
- if (!empty(g:GPGHomedir))
- let commandline .= ' --homedir ' . shellescape(g:GPGHomedir)
- endif
- let commandline .= ' ' . s:stderrredirnull
- call s:GPGDebug(a:dict.level, "command: ". commandline)
-
- call s:GPGPreCmd()
- let output = system(commandline)
- call s:GPGPostCmd()
-
- call s:GPGDebug(a:dict.level, "output: ". output)
- return output
-endfunction
-
-" Function: s:GPGExecute(dict) {{{2
-"
-" run g:GPGCommand using :execute, logging the commandline
-" Recognized keys are:
-" level - Debug level at which the commandline will be logged
-" args - Arguments to be given to g:GPGCommand
-" ex - Ex command which will be :executed
-" redirect - Shell redirect to use, if needed
-"
-function s:GPGExecute(dict)
- let commandline = printf('%s%s %s', a:dict.ex, s:GPGCommand, a:dict.args)
- if (!empty(g:GPGHomedir))
- let commandline .= ' --homedir ' . shellescape(g:GPGHomedir, 1)
- endif
- if (has_key(a:dict, 'redirect'))
- let commandline .= ' ' . a:dict.redirect
- endif
- let commandline .= ' ' . s:stderrredirnull
- call s:GPGDebug(a:dict.level, "command: " . commandline)
-
- call s:GPGPreCmd()
- execute commandline
- call s:GPGPostCmd()
-endfunction
-
-" Function: s:GPGDebug(level, text) {{{2
-"
-" output debug message, if this message has high enough importance
-" only define function if GPGDebugLevel set at all
-"
-function s:GPGDebug(level, text)
- if exists("g:GPGDebugLevel") && g:GPGDebugLevel >= a:level
- if exists("g:GPGDebugLog")
- execute "redir >> " . g:GPGDebugLog
- echom "GnuPG: " . a:text
- redir END
- else
- echom "GnuPG: " . a:text
- endif
- endif
-endfunction
-
-" Section: Commands {{{1
-
-command! GPGViewRecipients call s:GPGViewRecipients()
-command! GPGEditRecipients call s:GPGEditRecipients()
-command! GPGViewOptions call s:GPGViewOptions()
-command! GPGEditOptions call s:GPGEditOptions()
-
-" Section: Menu {{{1
-
-if (has("menu"))
- amenu <silent> Plugin.GnuPG.View\ Recipients :GPGViewRecipients<CR>
- amenu <silent> Plugin.GnuPG.Edit\ Recipients :GPGEditRecipients<CR>
- amenu <silent> Plugin.GnuPG.View\ Options :GPGViewOptions<CR>
- amenu <silent> Plugin.GnuPG.Edit\ Options :GPGEditOptions<CR>
-endif
-
-" vim600: set foldmethod=marker foldlevel=0 :
diff --git a/.vim/plugin/imaps.vim b/.vim/plugin/imaps.vim
deleted file mode 100644
index d871aa1..0000000
--- a/.vim/plugin/imaps.vim
+++ /dev/null
@@ -1,831 +0,0 @@
-" File: imaps.vim
-" Authors: Srinath Avadhanula <srinath AT fastmail.fm>
-" Benji Fisher <benji AT member.AMS.org>
-"
-" WWW: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/vimfiles/plugin/imaps.vim?only_with_tag=MAIN
-"
-" Description: insert mode template expander with cursor placement
-" while preserving filetype indentation.
-"
-" $Id: imaps.vim 997 2006-03-20 09:45:45Z srinathava $
-"
-" Documentation: {{{
-"
-" Motivation:
-" this script provides a way to generate insert mode mappings which do not
-" suffer from some of the problem of mappings and abbreviations while allowing
-" cursor placement after the expansion. It can alternatively be thought of as
-" a template expander.
-"
-" Consider an example. If you do
-"
-" imap lhs something
-"
-" then a mapping is set up. However, there will be the following problems:
-" 1. the 'ttimeout' option will generally limit how easily you can type the
-" lhs. if you type the left hand side too slowly, then the mapping will not
-" be activated.
-" 2. if you mistype one of the letters of the lhs, then the mapping is
-" deactivated as soon as you backspace to correct the mistake.
-"
-" If, in order to take care of the above problems, you do instead
-"
-" iab lhs something
-"
-" then the timeout problem is solved and so is the problem of mistyping.
-" however, abbreviations are only expanded after typing a non-word character.
-" which causes problems of cursor placement after the expansion and invariably
-" spurious spaces are inserted.
-"
-" Usage Example:
-" this script attempts to solve all these problems by providing an emulation
-" of imaps wchich does not suffer from its attendant problems. Because maps
-" are activated without having to press additional characters, therefore
-" cursor placement is possible. furthermore, file-type specific indentation is
-" preserved, because the rhs is expanded as if the rhs is typed in literally
-" by the user.
-"
-" The script already provides some default mappings. each "mapping" is of the
-" form:
-"
-" call IMAP (lhs, rhs, ft)
-"
-" Some characters in the RHS have special meaning which help in cursor
-" placement.
-"
-" Example One:
-"
-" call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex")
-"
-" This effectively sets up the map for "bit`" whenever you edit a latex file.
-" When you type in this sequence of letters, the following text is inserted:
-"
-" \begin{itemize}
-" \item *
-" \end{itemize}<++>
-"
-" where * shows the cursor position. The cursor position after inserting the
-" text is decided by the position of the first "place-holder". Place holders
-" are special characters which decide cursor placement and movement. In the
-" example above, the place holder characters are <+ and +>. After you have typed
-" in the item, press <C-j> and you will be taken to the next set of <++>'s.
-" Therefore by placing the <++> characters appropriately, you can minimize the
-" use of movement keys.
-"
-" NOTE: Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether.
-" Set
-" g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd
-" to something else if you want different place holder characters.
-" Also, b:Imap_PlaceHolderStart and b:Imap_PlaceHolderEnd override the values
-" of g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd respectively. This is
-" useful for setting buffer specific place hoders.
-"
-" Example Two:
-" You can use the <C-r> command to insert dynamic elements such as dates.
-" call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '')
-"
-" sets up the map for date` to insert the current date.
-"
-"--------------------------------------%<--------------------------------------
-" Bonus: This script also provides a command Snip which puts tearoff strings,
-" '----%<----' above and below the visually selected range of lines. The
-" length of the string is chosen to be equal to the longest line in the range.
-" Recommended Usage:
-" '<,'>Snip
-"--------------------------------------%<--------------------------------------
-" }}}
-
-" line continuation used here.
-let s:save_cpo = &cpo
-set cpo&vim
-
-" ==============================================================================
-" Script Options / Variables
-" ==============================================================================
-" Options {{{
-if !exists('g:Imap_StickyPlaceHolders')
- let g:Imap_StickyPlaceHolders = 1
-endif
-if !exists('g:Imap_DeleteEmptyPlaceHolders')
- let g:Imap_DeleteEmptyPlaceHolders = 1
-endif
-" }}}
-" Variables {{{
-" s:LHS_{ft}_{char} will be generated automatically. It will look like
-" s:LHS_tex_o = 'fo\|foo\|boo' and contain all mapped sequences ending in "o".
-" s:Map_{ft}_{lhs} will be generated automatically. It will look like
-" s:Map_c_foo = 'for(<++>; <++>; <++>)', the mapping for "foo".
-"
-" }}}
-
-" ==============================================================================
-" functions for easy insert mode mappings.
-" ==============================================================================
-" IMAP: Adds a "fake" insert mode mapping. {{{
-" For example, doing
-" IMAP('abc', 'def' ft)
-" will mean that if the letters abc are pressed in insert mode, then
-" they will be replaced by def. If ft != '', then the "mapping" will be
-" specific to the files of type ft.
-"
-" Using IMAP has a few advantages over simply doing:
-" imap abc def
-" 1. with imap, if you begin typing abc, the cursor will not advance and
-" long as there is a possible completion, the letters a, b, c will be
-" displayed on on top of the other. using this function avoids that.
-" 2. with imap, if a backspace or arrow key is pressed before completing
-" the word, then the mapping is lost. this function allows movement.
-" (this ofcourse means that this function is only limited to
-" left-hand-sides which do not have movement keys or unprintable
-" characters)
-" It works by only mapping the last character of the left-hand side.
-" when this character is typed in, then a reverse lookup is done and if
-" the previous characters consititute the left hand side of the mapping,
-" the previously typed characters and erased and the right hand side is
-" inserted
-
-" IMAP: set up a filetype specific mapping.
-" Description:
-" "maps" the lhs to rhs in files of type 'ft'. If supplied with 2
-" additional arguments, then those are assumed to be the placeholder
-" characters in rhs. If unspecified, then the placeholder characters
-" are assumed to be '<+' and '+>' These placeholder characters in
-" a:rhs are replaced with the users setting of
-" [bg]:Imap_PlaceHolderStart and [bg]:Imap_PlaceHolderEnd settings.
-"
-function! IMAP(lhs, rhs, ft, ...)
-
- " Find the place holders to save for IMAP_PutTextWithMovement() .
- if a:0 < 2
- let phs = '<+'
- let phe = '+>'
- else
- let phs = a:1
- let phe = a:2
- endif
-
- let hash = s:Hash(a:lhs)
- let s:Map_{a:ft}_{hash} = a:rhs
- let s:phs_{a:ft}_{hash} = phs
- let s:phe_{a:ft}_{hash} = phe
-
- " Add a:lhs to the list of left-hand sides that end with lastLHSChar:
- let lastLHSChar = a:lhs[strlen(a:lhs)-1]
- let hash = s:Hash(lastLHSChar)
- if !exists("s:LHS_" . a:ft . "_" . hash)
- let s:LHS_{a:ft}_{hash} = escape(a:lhs, '\')
- else
- let s:LHS_{a:ft}_{hash} = escape(a:lhs, '\') .'\|'. s:LHS_{a:ft}_{hash}
- endif
-
- " map only the last character of the left-hand side.
- if lastLHSChar == ' '
- let lastLHSChar = '<space>'
- end
- exe 'inoremap <silent>'
- \ escape(lastLHSChar, '|')
- \ '<C-r>=<SID>LookupCharacter("' .
- \ escape(lastLHSChar, '\|"') .
- \ '")<CR>'
-endfunction
-
-" }}}
-" IMAP_list: list the rhs and place holders corresponding to a:lhs {{{
-"
-" Added mainly for debugging purposes, but maybe worth keeping.
-function! IMAP_list(lhs)
- let char = a:lhs[strlen(a:lhs)-1]
- let charHash = s:Hash(char)
- if exists("s:LHS_" . &ft ."_". charHash) && a:lhs =~ s:LHS_{&ft}_{charHash}
- let ft = &ft
- elseif exists("s:LHS__" . charHash) && a:lhs =~ s:LHS__{charHash}
- let ft = ""
- else
- return ""
- endif
- let hash = s:Hash(a:lhs)
- return "rhs = " . s:Map_{ft}_{hash} . " place holders = " .
- \ s:phs_{ft}_{hash} . " and " . s:phe_{ft}_{hash}
-endfunction
-" }}}
-" LookupCharacter: inserts mapping corresponding to this character {{{
-"
-" This function extracts from s:LHS_{&ft}_{a:char} or s:LHS__{a:char}
-" the longest lhs matching the current text. Then it replaces lhs with the
-" corresponding rhs saved in s:Map_{ft}_{lhs} .
-" The place-holder variables are passed to IMAP_PutTextWithMovement() .
-function! s:LookupCharacter(char)
- if IMAP_GetVal('Imap_FreezeImap', 0) == 1
- return a:char
- endif
- let charHash = s:Hash(a:char)
-
- " The line so far, including the character that triggered this function:
- let text = strpart(getline("."), 0, col(".")-1) . a:char
- " Prefer a local map to a global one, even if the local map is shorter.
- " Is this what we want? Do we care?
- " Use '\V' (very no-magic) so that only '\' is special, and it was already
- " escaped when building up s:LHS_{&ft}_{charHash} .
- if exists("s:LHS_" . &ft . "_" . charHash)
- \ && text =~ "\\C\\V\\(" . s:LHS_{&ft}_{charHash} . "\\)\\$"
- let ft = &ft
- elseif exists("s:LHS__" . charHash)
- \ && text =~ "\\C\\V\\(" . s:LHS__{charHash} . "\\)\\$"
- let ft = ""
- else
- " If this is a character which could have been used to trigger an
- " abbreviation, check if an abbreviation exists.
- if a:char !~ '\k'
- let lastword = matchstr(getline('.'), '\k\+$', '')
- call IMAP_Debug('getting lastword = ['.lastword.']', 'imap')
- if lastword != ''
- " An extremeley wierd way to get around the fact that vim
- " doesn't have the equivalent of the :mapcheck() function for
- " abbreviations.
- let _a = @a
- exec "redir @a | silent! iab ".lastword." | redir END"
- let abbreviationRHS = matchstr(@a."\n", "\n".'i\s\+'.lastword.'\s\+@\?\zs.*\ze'."\n")
-
- call IMAP_Debug('getting abbreviationRHS = ['.abbreviationRHS.']', 'imap')
-
- if @a =~ "No abbreviation found" || abbreviationRHS == ""
- let @a = _a
- return a:char
- endif
-
- let @a = _a
- let abbreviationRHS = escape(abbreviationRHS, '\<"')
- exec 'let abbreviationRHS = "'.abbreviationRHS.'"'
-
- let lhs = lastword.a:char
- let rhs = abbreviationRHS.a:char
- let phs = IMAP_GetPlaceHolderStart()
- let phe = IMAP_GetPlaceHolderEnd()
- else
- return a:char
- endif
- else
- return a:char
- endif
- endif
- " Find the longest left-hand side that matches the line so far.
- " matchstr() returns the match that starts first. This automatically
- " ensures that the longest LHS is used for the mapping.
- if !exists('lhs') || !exists('rhs')
- let lhs = matchstr(text, "\\C\\V\\(" . s:LHS_{ft}_{charHash} . "\\)\\$")
- let hash = s:Hash(lhs)
- let rhs = s:Map_{ft}_{hash}
- let phs = s:phs_{ft}_{hash}
- let phe = s:phe_{ft}_{hash}
- endif
-
- if strlen(lhs) == 0
- return a:char
- endif
- " enough back-spaces to erase the left-hand side; -1 for the last
- " character typed:
- let bs = substitute(strpart(lhs, 1), ".", "\<bs>", "g")
- return bs . IMAP_PutTextWithMovement(rhs, phs, phe)
-endfunction
-
-" }}}
-" IMAP_PutTextWithMovement: returns the string with movement appended {{{
-" Description:
-" If a:str contains "placeholders", then appends movement commands to
-" str in a way that the user moves to the first placeholder and enters
-" insert or select mode. If supplied with 2 additional arguments, then
-" they are assumed to be the placeholder specs. Otherwise, they are
-" assumed to be '<+' and '+>'. These placeholder chars are replaced
-" with the users settings of [bg]:Imap_PlaceHolderStart and
-" [bg]:Imap_PlaceHolderEnd.
-function! IMAP_PutTextWithMovement(str, ...)
-
- " The placeholders used in the particular input string. These can be
- " different from what the user wants to use.
- if a:0 < 2
- let phs = '<+'
- let phe = '+>'
- else
- let phs = escape(a:1, '\')
- let phe = escape(a:2, '\')
- endif
-
- let text = a:str
-
- " The user's placeholder settings.
- let phsUser = IMAP_GetPlaceHolderStart()
- let pheUser = IMAP_GetPlaceHolderEnd()
-
- " Problem: depending on the setting of the 'encoding' option, a character
- " such as "\xab" may not match itself. We try to get around this by
- " changing the encoding of all our strings. At the end, we have to
- " convert text back.
- let phsEnc = s:Iconv(phs, "encode")
- let pheEnc = s:Iconv(phe, "encode")
- let phsUserEnc = s:Iconv(phsUser, "encode")
- let pheUserEnc = s:Iconv(pheUser, "encode")
- let textEnc = s:Iconv(text, "encode")
- if textEnc != text
- let textEncoded = 1
- else
- let textEncoded = 0
- endif
-
- let pattern = '\V\(\.\{-}\)' .phs. '\(\.\{-}\)' .phe. '\(\.\*\)'
- " If there are no placeholders, just return the text.
- if textEnc !~ pattern
- call IMAP_Debug('Not getting '.phs.' and '.phe.' in '.textEnc, 'imap')
- return text
- endif
- " Break text up into "initial <+template+> final"; any piece may be empty.
- let initialEnc = substitute(textEnc, pattern, '\1', '')
- let templateEnc = substitute(textEnc, pattern, '\2', '')
- let finalEnc = substitute(textEnc, pattern, '\3', '')
-
- " If the user does not want to use placeholders, then remove all but the
- " first placeholder.
- " Otherwise, replace all occurences of the placeholders here with the
- " user's choice of placeholder settings.
- if exists('g:Imap_UsePlaceHolders') && !g:Imap_UsePlaceHolders
- let finalEnc = substitute(finalEnc, '\V'.phs.'\.\{-}'.phe, '', 'g')
- else
- let finalEnc = substitute(finalEnc, '\V'.phs.'\(\.\{-}\)'.phe,
- \ phsUserEnc.'\1'.pheUserEnc, 'g')
- endif
-
- " The substitutions are done, so convert back, if necessary.
- if textEncoded
- let initial = s:Iconv(initialEnc, "decode")
- let template = s:Iconv(templateEnc, "decode")
- let final = s:Iconv(finalEnc, "decode")
- else
- let initial = initialEnc
- let template = templateEnc
- let final = finalEnc
- endif
-
- " Build up the text to insert:
- " 1. the initial text plus an extra character;
- " 2. go to Normal mode with <C-\><C-N>, so it works even if 'insertmode'
- " is set, and mark the position;
- " 3. replace the extra character with tamplate and final;
- " 4. back to Normal mode and restore the cursor position;
- " 5. call IMAP_Jumpfunc().
- let template = phsUser . template . pheUser
- " Old trick: insert and delete a character to get the same behavior at
- " start, middle, or end of line and on empty lines.
- let text = initial . "X\<C-\>\<C-N>:call IMAP_Mark('set')\<CR>\"_s"
- let text = text . template . final
- let text = text . "\<C-\>\<C-N>:call IMAP_Mark('go')\<CR>"
- let text = text . "i\<C-r>=IMAP_Jumpfunc('', 1)\<CR>"
-
- call IMAP_Debug('IMAP_PutTextWithMovement: text = ['.text.']', 'imap')
- return text
-endfunction
-
-" }}}
-" IMAP_Jumpfunc: takes user to next <+place-holder+> {{{
-" Author: Luc Hermitte
-" Arguments:
-" direction: flag for the search() function. If set to '', search forwards,
-" if 'b', then search backwards. See the {flags} argument of the
-" |search()| function for valid values.
-" inclusive: In vim, the search() function is 'exclusive', i.e we always goto
-" next cursor match even if there is a match starting from the
-" current cursor position. Setting this argument to 1 makes
-" IMAP_Jumpfunc() also respect a match at the current cursor
-" position. 'inclusive'ness is necessary for IMAP() because a
-" placeholder string can occur at the very beginning of a map which
-" we want to select.
-" We use a non-zero value only in special conditions. Most mappings
-" should use a zero value.
-function! IMAP_Jumpfunc(direction, inclusive)
-
- " The user's placeholder settings.
- let phsUser = IMAP_GetPlaceHolderStart()
- let pheUser = IMAP_GetPlaceHolderEnd()
-
- let searchString = ''
- " If this is not an inclusive search or if it is inclusive, but the
- " current cursor position does not contain a placeholder character, then
- " search for the placeholder characters.
- if !a:inclusive || strpart(getline('.'), col('.')-1) !~ '\V\^'.phsUser
- let searchString = '\V'.phsUser.'\_.\{-}'.pheUser
- endif
-
- " If we didn't find any placeholders return quietly.
- if searchString != '' && !search(searchString, a:direction)
- return ''
- endif
-
- " Open any closed folds and make this part of the text visible.
- silent! foldopen!
-
- " Calculate if we have an empty placeholder or if it contains some
- " description.
- let template =
- \ matchstr(strpart(getline('.'), col('.')-1),
- \ '\V\^'.phsUser.'\zs\.\{-}\ze\('.pheUser.'\|\$\)')
- let placeHolderEmpty = !strlen(template)
-
- " If we are selecting in exclusive mode, then we need to move one step to
- " the right
- let extramove = ''
- if &selection == 'exclusive'
- let extramove = 'l'
- endif
-
- " Select till the end placeholder character.
- let movement = "\<C-o>v/\\V".pheUser."/e\<CR>".extramove
-
- " First remember what the search pattern was. s:RemoveLastHistoryItem will
- " reset @/ to this pattern so we do not create new highlighting.
- let g:Tex_LastSearchPattern = @/
-
- " Now either goto insert mode or select mode.
- if placeHolderEmpty && g:Imap_DeleteEmptyPlaceHolders
- " delete the empty placeholder into the blackhole.
- return movement."\"_c\<C-o>:".s:RemoveLastHistoryItem."\<CR>"
- else
- return movement."\<C-\>\<C-N>:".s:RemoveLastHistoryItem."\<CR>gv\<C-g>"
- endif
-
-endfunction
-
-" }}}
-" Maps for IMAP_Jumpfunc {{{
-"
-" These mappings use <Plug> and thus provide for easy user customization. When
-" the user wants to map some other key to jump forward, he can do for
-" instance:
-" nmap ,f <plug>IMAP_JumpForward
-" etc.
-
-" jumping forward and back in insert mode.
-imap <silent> <Plug>IMAP_JumpForward <c-r>=IMAP_Jumpfunc('', 0)<CR>
-imap <silent> <Plug>IMAP_JumpBack <c-r>=IMAP_Jumpfunc('b', 0)<CR>
-
-" jumping in normal mode
-nmap <silent> <Plug>IMAP_JumpForward i<c-r>=IMAP_Jumpfunc('', 0)<CR>
-nmap <silent> <Plug>IMAP_JumpBack i<c-r>=IMAP_Jumpfunc('b', 0)<CR>
-
-" deleting the present selection and then jumping forward.
-vmap <silent> <Plug>IMAP_DeleteAndJumpForward "_<Del>i<c-r>=IMAP_Jumpfunc('', 0)<CR>
-vmap <silent> <Plug>IMAP_DeleteAndJumpBack "_<Del>i<c-r>=IMAP_Jumpfunc('b', 0)<CR>
-
-" jumping forward without deleting present selection.
-vmap <silent> <Plug>IMAP_JumpForward <C-\><C-N>i<c-r>=IMAP_Jumpfunc('', 0)<CR>
-vmap <silent> <Plug>IMAP_JumpBack <C-\><C-N>`<i<c-r>=IMAP_Jumpfunc('b', 0)<CR>
-
-" }}}
-" Default maps for IMAP_Jumpfunc {{{
-" map only if there is no mapping already. allows for user customization.
-" NOTE: Default mappings for jumping to the previous placeholder are not
-" provided. It is assumed that if the user will create such mappings
-" hself if e so desires.
-if !hasmapto('<Plug>IMAP_JumpForward', 'i')
- imap <C-J> <Plug>IMAP_JumpForward
-endif
-if !hasmapto('<Plug>IMAP_JumpForward', 'n')
- nmap <C-J> <Plug>IMAP_JumpForward
-endif
-if exists('g:Imap_StickyPlaceHolders') && g:Imap_StickyPlaceHolders
- if !hasmapto('<Plug>IMAP_JumpForward', 'v')
- vmap <C-J> <Plug>IMAP_JumpForward
- endif
-else
- if !hasmapto('<Plug>IMAP_DeleteAndJumpForward', 'v')
- vmap <C-J> <Plug>IMAP_DeleteAndJumpForward
- endif
-endif
-" }}}
-
-nmap <silent> <script> <plug><+SelectRegion+> `<v`>
-
-" ==============================================================================
-" enclosing selected region.
-" ==============================================================================
-" VEnclose: encloses the visually selected region with given arguments {{{
-" Description: allows for differing action based on visual line wise
-" selection or visual characterwise selection. preserves the
-" marks and search history.
-function! VEnclose(vstart, vend, VStart, VEnd)
-
- " its characterwise if
- " 1. characterwise selection and valid values for vstart and vend.
- " OR
- " 2. linewise selection and invalid values for VStart and VEnd
- if (visualmode() == 'v' && (a:vstart != '' || a:vend != '')) || (a:VStart == '' && a:VEnd == '')
-
- let newline = ""
- let _r = @r
-
- let normcmd = "normal! \<C-\>\<C-n>`<v`>\"_s"
-
- exe "normal! \<C-\>\<C-n>`<v`>\"ry"
- if @r =~ "\n$"
- let newline = "\n"
- let @r = substitute(@r, "\n$", '', '')
- endif
-
- " In exclusive selection, we need to select an extra character.
- if &selection == 'exclusive'
- let movement = 8
- else
- let movement = 7
- endif
- let normcmd = normcmd.
- \ a:vstart."!!mark!!".a:vend.newline.
- \ "\<C-\>\<C-N>?!!mark!!\<CR>v".movement."l\"_s\<C-r>r\<C-\>\<C-n>"
-
- " this little if statement is because till very recently, vim used to
- " report col("'>") > length of selected line when `> is $. on some
- " systems it reports a -ve number.
- if col("'>") < 0 || col("'>") > strlen(getline("'>"))
- let lastcol = strlen(getline("'>"))
- else
- let lastcol = col("'>")
- endif
- if lastcol - col("'<") != 0
- let len = lastcol - col("'<")
- else
- let len = ''
- endif
-
- " the next normal! is for restoring the marks.
- let normcmd = normcmd."`<v".len."l\<C-\>\<C-N>"
-
- " First remember what the search pattern was. s:RemoveLastHistoryItem
- " will reset @/ to this pattern so we do not create new highlighting.
- let g:Tex_LastSearchPattern = @/
-
- silent! exe normcmd
- " this is to restore the r register.
- let @r = _r
- " and finally, this is to restore the search history.
- execute s:RemoveLastHistoryItem
-
- else
-
- exec 'normal! `<O'.a:VStart."\<C-\>\<C-n>"
- exec 'normal! `>o'.a:VEnd."\<C-\>\<C-n>"
- if &indentexpr != ''
- silent! normal! `<kV`>j=
- endif
- silent! normal! `>
- endif
-endfunction
-
-" }}}
-" ExecMap: adds the ability to correct an normal/visual mode mapping. {{{
-" Author: Hari Krishna Dara <hari_vim@yahoo.com>
-" Reads a normal mode mapping at the command line and executes it with the
-" given prefix. Press <BS> to correct and <Esc> to cancel.
-function! ExecMap(prefix, mode)
- " Temporarily remove the mapping, otherwise it will interfere with the
- " mapcheck call below:
- let myMap = maparg(a:prefix, a:mode)
- exec a:mode."unmap ".a:prefix
-
- " Generate a line with spaces to clear the previous message.
- let i = 1
- let clearLine = "\r"
- while i < &columns
- let clearLine = clearLine . ' '
- let i = i + 1
- endwhile
-
- let mapCmd = a:prefix
- let foundMap = 0
- let breakLoop = 0
- echon "\rEnter Map: " . mapCmd
- while !breakLoop
- let char = getchar()
- if char !~ '^\d\+$'
- if char == "\<BS>"
- let mapCmd = strpart(mapCmd, 0, strlen(mapCmd) - 1)
- endif
- else " It is the ascii code.
- let char = nr2char(char)
- if char == "\<Esc>"
- let breakLoop = 1
- else
- let mapCmd = mapCmd . char
- if maparg(mapCmd, a:mode) != ""
- let foundMap = 1
- let breakLoop = 1
- elseif mapcheck(mapCmd, a:mode) == ""
- let mapCmd = strpart(mapCmd, 0, strlen(mapCmd) - 1)
- endif
- endif
- endif
- echon clearLine
- echon "\rEnter Map: " . mapCmd
- endwhile
- if foundMap
- if a:mode == 'v'
- " use a plug to select the region instead of using something like
- " `<v`> to avoid problems caused by some of the characters in
- " '`<v`>' being mapped.
- let gotoc = "\<plug><+SelectRegion+>"
- else
- let gotoc = ''
- endif
- exec "normal ".gotoc.mapCmd
- endif
- exec a:mode.'noremap '.a:prefix.' '.myMap
-endfunction
-
-" }}}
-
-" ==============================================================================
-" helper functions
-" ==============================================================================
-" Strntok: extract the n^th token from a list {{{
-" example: Strntok('1,23,3', ',', 2) = 23
-fun! <SID>Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun
-
-" }}}
-" s:RemoveLastHistoryItem: removes last search item from search history {{{
-" Description: Execute this string to clean up the search history.
-let s:RemoveLastHistoryItem = ':call histdel("/", -1)|let @/=g:Tex_LastSearchPattern'
-
-" }}}
-" s:Hash: Return a version of a string that can be used as part of a variable" {{{
-" name.
-" Converts every non alphanumeric character into _{ascii}_ where {ascii} is
-" the ASCII code for that character...
-fun! s:Hash(text)
- return substitute(a:text, '\([^[:alnum:]]\)',
- \ '\="_".char2nr(submatch(1))."_"', 'g')
-endfun
-"" }}}
-" IMAP_GetPlaceHolderStart and IMAP_GetPlaceHolderEnd: "{{{
-" return the buffer local placeholder variables, or the global one, or the default.
-function! IMAP_GetPlaceHolderStart()
- if exists("b:Imap_PlaceHolderStart") && strlen(b:Imap_PlaceHolderEnd)
- return b:Imap_PlaceHolderStart
- elseif exists("g:Imap_PlaceHolderStart") && strlen(g:Imap_PlaceHolderEnd)
- return g:Imap_PlaceHolderStart
- else
- return "<+"
-endfun
-function! IMAP_GetPlaceHolderEnd()
- if exists("b:Imap_PlaceHolderEnd") && strlen(b:Imap_PlaceHolderEnd)
- return b:Imap_PlaceHolderEnd
- elseif exists("g:Imap_PlaceHolderEnd") && strlen(g:Imap_PlaceHolderEnd)
- return g:Imap_PlaceHolderEnd
- else
- return "+>"
-endfun
-" }}}
-" s:Iconv: a wrapper for iconv()" {{{
-" Problem: after
-" let text = "\xab"
-" (or using the raw 8-bit ASCII character in a file with 'fenc' set to
-" "latin1") if 'encoding' is set to utf-8, then text does not match itself:
-" echo text =~ text
-" returns 0.
-" Solution: When this happens, a re-encoded version of text does match text:
-" echo iconv(text, "latin1", "utf8") =~ text
-" returns 1. In this case, convert text to utf-8 with iconv().
-" TODO: Is it better to use &encoding instead of "utf8"? Internally, vim
-" uses utf-8, and can convert between latin1 and utf-8 even when compiled with
-" -iconv, so let's try using utf-8.
-" Arguments:
-" a:text = text to be encoded or decoded
-" a:mode = "encode" (latin1 to utf8) or "decode" (utf8 to latin1)
-" Caution: do not encode and then decode without checking whether the text
-" has changed, becuase of the :if clause in encoding!
-function! s:Iconv(text, mode)
- if a:mode == "decode"
- return iconv(a:text, "utf8", "latin1")
- endif
- if a:text =~ '\V\^' . escape(a:text, '\') . '\$'
- return a:text
- endif
- let textEnc = iconv(a:text, "latin1", "utf8")
- if textEnc !~ '\V\^' . escape(a:text, '\') . '\$'
- call IMAP_Debug('Encoding problems with text '.a:text.' ', 'imap')
- endif
- return textEnc
-endfun
-"" }}}
-" IMAP_Debug: interface to Tex_Debug if available, otherwise emulate it {{{
-" Description:
-" Do not want a memory leak! Set this to zero so that imaps always
-" starts out in a non-debugging mode.
-if !exists('g:Imap_Debug')
- let g:Imap_Debug = 0
-endif
-function! IMAP_Debug(string, pattern)
- if !g:Imap_Debug
- return
- endif
- if exists('*Tex_Debug')
- call Tex_Debug(a:string, a:pattern)
- else
- if !exists('s:debug_'.a:pattern)
- let s:debug_{a:pattern} = a:string
- else
- let s:debug_{a:pattern} = s:debug_{a:pattern}.a:string
- endif
- endif
-endfunction " }}}
-" IMAP_DebugClear: interface to Tex_DebugClear if avaialable, otherwise emulate it {{{
-" Description:
-function! IMAP_DebugClear(pattern)
- if exists('*Tex_DebugClear')
- call Tex_DebugClear(a:pattern)
- else
- let s:debug_{a:pattern} = ''
- endif
-endfunction " }}}
-" IMAP_PrintDebug: interface to Tex_DebugPrint if avaialable, otherwise emulate it {{{
-" Description:
-function! IMAP_PrintDebug(pattern)
- if exists('*Tex_PrintDebug')
- call Tex_PrintDebug(a:pattern)
- else
- if exists('s:debug_'.a:pattern)
- echo s:debug_{a:pattern}
- endif
- endif
-endfunction " }}}
-" IMAP_Mark: Save the cursor position (if a:action == 'set') in a" {{{
-" script-local variable; restore this position if a:action == 'go'.
-let s:Mark = "(0,0)"
-let s:initBlanks = ''
-function! IMAP_Mark(action)
- if a:action == 'set'
- let s:Mark = "(" . line(".") . "," . col(".") . ")"
- let s:initBlanks = matchstr(getline('.'), '^\s*')
- elseif a:action == 'go'
- execute "call cursor" s:Mark
- let blanksNow = matchstr(getline('.'), '^\s*')
- if strlen(blanksNow) > strlen(s:initBlanks)
- execute 'silent! normal! '.(strlen(blanksNow) - strlen(s:initBlanks)).'l'
- elseif strlen(blanksNow) < strlen(s:initBlanks)
- execute 'silent! normal! '.(strlen(s:initBlanks) - strlen(blanksNow)).'h'
- endif
- endif
-endfunction "" }}}
-" IMAP_GetVal: gets the value of a variable {{{
-" Description: first checks window local, then buffer local etc.
-function! IMAP_GetVal(name, ...)
- if a:0 > 0
- let default = a:1
- else
- let default = ''
- endif
- if exists('w:'.a:name)
- return w:{a:name}
- elseif exists('b:'.a:name)
- return b:{a:name}
- elseif exists('g:'.a:name)
- return g:{a:name}
- else
- return default
- endif
-endfunction " }}}
-
-" ==============================================================================
-" A bonus function: Snip()
-" ==============================================================================
-" Snip: puts a scissor string above and below block of text {{{
-" Desciption:
-"-------------------------------------%<-------------------------------------
-" this puts a the string "--------%<---------" above and below the visually
-" selected block of lines. the length of the 'tearoff' string depends on the
-" maximum string length in the selected range. this is an aesthetically more
-" pleasing alternative instead of hardcoding a length.
-"-------------------------------------%<-------------------------------------
-function! <SID>Snip() range
- let i = a:firstline
- let maxlen = -2
- " find out the maximum virtual length of each line.
- while i <= a:lastline
- exe i
- let length = virtcol('$')
- let maxlen = (length > maxlen ? length : maxlen)
- let i = i + 1
- endwhile
- let maxlen = (maxlen > &tw && &tw != 0 ? &tw : maxlen)
- let half = maxlen/2
- exe a:lastline
- " put a string below
- exe "norm! o\<esc>".(half - 1)."a-\<esc>A%<\<esc>".(half - 1)."a-"
- " and above. its necessary to put the string below the block of lines
- " first because that way the first line number doesnt change...
- exe a:firstline
- exe "norm! O\<esc>".(half - 1)."a-\<esc>A%<\<esc>".(half - 1)."a-"
-endfunction
-
-com! -nargs=0 -range Snip :<line1>,<line2>call <SID>Snip()
-" }}}
-
-let &cpo = s:save_cpo
-
-" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:nowrap
diff --git a/.vim/plugin/libList.vim b/.vim/plugin/libList.vim
deleted file mode 100644
index 7d72c3e..0000000
--- a/.vim/plugin/libList.vim
+++ /dev/null
@@ -1,249 +0,0 @@
-" File: libList.vim
-" Last Change: 2001 Dec 10
-" Maintainer: Gontran BAERTS <gbcreation@free.fr>
-" Version: 0.1
-"
-" Please don't hesitate to correct my english :)
-" Send corrections to <gbcreation@free.fr>
-"
-"-----------------------------------------------------------------------------
-" Description: libList.vim is a set of functions to work with lists or one
-" level arrays.
-"
-"-----------------------------------------------------------------------------
-" To Enable: Normally, this file will reside in your plugins directory and be
-" automatically sourced.
-"
-"-----------------------------------------------------------------------------
-" Usage: Lists are strings variable with values separated by g:listSep
-" character (comma" by default). You may redefine g:listSep variable as you
-" wish.
-"
-" Here are available functions :
-"
-" - AddListItem( array, newItem, index ) :
-" Add item "newItem" to array "array" at "index" position
-" - GetListItem( array, index ) :
-" Return item at "index" position in array "array"
-" - GetListMatchItem( array, pattern ) :
-" Return item matching "pattern" in array "array"
-" - GetListCount( array ) :
-" Return the number of items in array "array"
-" - RemoveListItem( array, index ) :
-" Remove item at "index" position from array "array"
-" - ReplaceListItem( array, index, item ) :
-" Remove item at "index" position by "item" in array "array"
-" - ExchangeListItems( array, item1Index, item2Index ) :
-" Exchange item "item1Index" with item "item2Index" in array "array"
-" - QuickSortList( array, beg, end ) :
-" Return array "array" with items between "beg" and "end" sorted
-"
-" Example:
-" let mylist=""
-" echo GetListCount( mylist ) " --> 0
-" let mylist = AddListItem( mylist, "One", 0 ) " mylist == "One"
-" let mylist = AddListItem( mylist, "Three", 1 ) " mylist == "One,Three"
-" let mylist = AddListItem( mylist, "Two", 1 ) " mylist == "One,Two,Three"
-" echo GetListCount( mylist ) " --> 3
-" echo GetListItem( mylist, 2 ) " --> Three
-" echo GetListMatchItem( mylist, "w" ) " --> two
-" echo GetListMatchItem( mylist, "e" ) " --> One
-" let mylist = RemoveListItem( mylist, 2 ) " mylist == "One,Two"
-" echo GetListCount( mylist ) " --> 2
-" let mylist = ReplaceListItem( mylist, 0, "Three" ) " mylist == "Three,Two"
-" let mylist = ExchangeListItems( mylist, 0, 1 ) " mylist == "Two,Three"
-" let mylist = AddListItem( mylist, "One", 0 ) " mylist == "One,Two,Three"
-" let mylist = QuickSortList( mylist, 0, GetListCount(mylist)-1 )
-" " mylist == "One,Three,Two"
-"
-"-----------------------------------------------------------------------------
-" Updates:
-" in version 0.1
-" - First version
-
-" Has this already been loaded ?
-if exists("loaded_libList")
- finish
-endif
-let loaded_libList=1
-
-"**
-" Separator:
-" You may change the separator character et any time.
-"**
-let g:listSep = ","
-
-"**
-"AddListItem:
-" Add new item at given position.
-" First item index is 0 (zero).
-"Parameters:
-" - array : Array/List (string of values) which receives the new item.
-" - newItem : String containing the item value to add.
-" - index : Integer indicating the position at which the new item is added.
-" It must be greater than or equals to 0 (zero).
-"Return:
-"String containing array values, including newItem.
-"**
-function AddListItem( array, newItem, index )
- if a:index == 0
- if a:array == ""
- return a:newItem
- endif
- return a:newItem . g:listSep . a:array
- endif
- return substitute( a:array, '\(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}', '\0' . g:listSep . a:newItem , "" )
-endfunction
-
-"**
-"GetListItem:
-" Get item at given position.
-"Parameters:
-" - array : Array/List (string of values).
-" - index : Integer indicating the position of item to return.
-" It must be greater than or equals to 0 (zero).
-"Return:
-"String representing the item.
-"**
-function GetListItem( array, index )
- if a:index == 0
- return matchstr( a:array, '^[^' . g:listSep . ']\+' )
- else
- return matchstr( a:array, "[^" . g:listSep . "]\\+", matchend( a:array, '\(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}' . g:listSep ) )
- endif
-endfunction
-
-"**
-"GetListMatchItem:
-" Get the first item matching given pattern.
-"Parameters:
-" - array : Array/List (string of values).
-" - pattern : Regular expression to match with items.
-" Avoid to use ^, $ and listSep characters in pattern, unless you
-" know what you do.
-"Return:
-"String representing the first item that matches the pattern.
-"**
-function GetListMatchItem( array, pattern )
- return matchstr( a:array, '[^' . g:listSep . ']*' . a:pattern . '[^' . g:listSep . ']*' )
-endfunction
-
-"**
-"ReplaceListItem:
-" Replace item at given position by a new one.
-"Parameters:
-" - array : Array/List (string of values).
-" - index : Integer indicating the position of item to replace.
-" It must be greater than or equals to 0 (zero).
-" - item : String containing the new value of the replaced item.
-"Return:
-"String containing array values.
-"**
-function ReplaceListItem( array, index, item )
- if a:index == 0
- return substitute( a:array, '^[^' .g:listSep. ']\+', a:item, "" )
- else
- return substitute( a:array, '\(\%(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}\)' . g:listSep . '[^' . g:listSep . ']\+', '\1' . g:listSep . a:item , "" )
- endif
-endfunction
-
-"**
-"RemoveListItem:
-" Remove item at given position.
-"Parameters:
-" - array : Array/List (string of values) from which remove an item.
-" - index : Integer indicating the position of item to remove.
-" It must be greater than or equals to 0 (zero).
-"Return:
-"String containing array values, except the removed one.
-"**
-function RemoveListItem( array, index )
- if a:index == 0
- return substitute( a:array, '^[^' .g:listSep. ']\+\(' . g:listSep . '\|$\)', "", "" )
- else
- return substitute( a:array, '\(\%(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}\)' . g:listSep . '[^' . g:listSep . ']\+', '\1', "" )
- endif
-endfunction
-
-"**
-"ExchangeListItems:
-" Exchange item at position item1Index with item at position item2Index.
-"Parameters:
-" - array : Array/List (string of values).
-" - item1index : Integer indicating the position of the first item to exchange.
-" It must be greater than or equals to 0 (zero).
-" - item2index : Integer indicating the position of the second item to
-" exchange. It must be greater than or equals to 0 (zero).
-"Return:
-"String containing array values.
-"**
-function ExchangeListItems( array, item1Index, item2Index )
- let item1 = GetListItem( a:array, a:item1Index )
- let array = ReplaceListItem( a:array, a:item1Index, GetListItem( a:array, a:item2Index ) )
- return ReplaceListItem( array, a:item2Index, item1 )
-endfunction
-
-"**
-"GetListCount:
-" Number of items in array.
-"Parameters:
-" - array : Array/List (string of values).
-"Return:
-"Integer representing the number of items in array.
-"Index of last item is GetListCount(array)-1.
-"**
-function GetListCount( array )
- if a:array == "" | return 0 | endif
- let pos = 0
- let cnt = 0
- while pos != -1
- let pos = matchend( a:array, g:listSep, pos )
- let cnt = cnt + 1
- endwhile
- return cnt
-endfunction
-
-"**
-"QuickSortList:
-" Sort array.
-"Parameters:
-" - array : Array/List (string of values).
-" - beg : Min index of the range of items to sort.
-" - end : Max index of the range of items to sort.
-"Return:
-"String containing array values with indicated range of items sorted.
-"**
-function QuickSortList( array, beg, end )
- let array = a:array
- let pivot = GetListItem( array, a:beg )
- let l = a:beg
- let r = a:end
- while l < r
- while GetListItem( array, r ) > pivot
- let r = r - 1
- endwhile
- if l != r
- let array = ReplaceListItem( array, l, GetListItem( array, r ) )
- let array = ReplaceListItem( array, r, pivot )
- let l = l + 1
- endif
-
- while GetListItem( array, l ) < pivot
- let l = l + 1
- endwhile
- if l != r
- let array = ReplaceListItem( array, r, GetListItem( array, l ) )
- let array = ReplaceListItem( array, l, pivot )
- let r = r - 1
- endif
- endwhile
- if a:beg < l-1
- let array = QuickSortList( array, a:beg, l-1 )
- endif
- if a:end > l+1
- let array = QuickSortList( array, l+1, a:end )
- endif
- return array
-endfunction
-
-
diff --git a/.vim/plugin/minibufexpl.vim b/.vim/plugin/minibufexpl.vim
deleted file mode 100644
index 4e78063..0000000
--- a/.vim/plugin/minibufexpl.vim
+++ /dev/null
@@ -1,1838 +0,0 @@
-" Mini Buffer Explorer <minibufexpl.vim>
-"
-" HINT: Type zR if you don't know how to use folds
-"
-" Script Info and Documentation {{{
-"=============================================================================
-" Copyright: Copyright (C) 2002 & 2003 Bindu Wavell
-" Permission is hereby granted to use and distribute this code,
-" with or without modifications, provided that this copyright
-" notice is copied with it. Like anything else that's free,
-" minibufexplorer.vim is provided *as is* and comes with no
-" warranty of any kind, either expressed or implied. In no
-" event will the copyright holder be liable for any damamges
-" resulting from the use of this software.
-"
-" Name Of File: minibufexpl.vim
-" Description: Mini Buffer Explorer Vim Plugin
-" Maintainer: Bindu Wavell <bindu@wavell.net>
-" URL: http://vim.sourceforge.net/scripts/script.php?script_id=159
-" Last Change: Sunday, June 21, 2004
-" Version: 6.3.2
-" Derived from Jeff Lanzarotta's bufexplorer.vim version 6.0.7
-" Jeff can be reached at (jefflanzarotta@yahoo.com) and the
-" original plugin can be found at:
-" http://lanzarotta.tripod.com/vim/plugin/6/bufexplorer.vim.zip
-"
-" Usage: Normally, this file should reside in the plugins
-" directory and be automatically sourced. If not, you must
-" manually source this file using ':source minibufexplorer.vim'.
-"
-" You may use the default keymappings of
-"
-" <Leader>mbe - Opens MiniBufExplorer
-"
-" or you may want to add something like the following
-" key mapping to your _vimrc/.vimrc file.
-"
-" map <Leader>b :MiniBufExplorer<cr>
-"
-" However, in most cases you won't need any key-bindings at all.
-"
-" <Leader> is usually backslash so type "\mbe" (quickly) to open
-" the -MiniBufExplorer- window.
-"
-" Other keymappings include: <Leader>mbc to close the Explorer
-" window, <Leader>mbu to force the Explorer to Update and
-" <Leader>mbt to toggle the Explorer window; it will open if
-" closed or close if open. Each of these key bindings can be
-" overridden (see the notes on <Leader>mbe above.)
-"
-" You can map these additional commands as follows:
-"
-" map <Leader>c :CMiniBufExplorer<cr>
-" map <Leader>u :UMiniBufExplorer<cr>
-" map <Leader>t :TMiniBufExplorer<cr>
-"
-" NOTE: you can change the key binding used in these mappings
-" so that they fit with your configuration of vim.
-"
-" You can also call each of these features by typing the
-" following in command mode:
-"
-" :MiniBufExplorer " Open and/or goto Explorer
-" :CMiniBufExplorer " Close the Explorer if it's open
-" :UMiniBufExplorer " Update Explorer without navigating
-" :TMiniBufExplorer " Toggle the Explorer window open and
-" closed.
-"
-" To control where the new split window goes relative to the
-" current window, use the setting:
-"
-" let g:miniBufExplSplitBelow=0 " Put new window above
-" " current or on the
-" " left for vertical split
-" let g:miniBufExplSplitBelow=1 " Put new window below
-" " current or on the
-" " right for vertical split
-"
-" The default for this is read from the &splitbelow VIM option.
-"
-" By default we are now (as of 6.0.2) forcing the -MiniBufExplorer-
-" window to open up at the edge of the screen. You can turn this
-" off by setting the following variable in your .vimrc:
-"
-" let g:miniBufExplSplitToEdge = 0
-"
-" If you would like a vertical explorer you can assign the column
-" width (in characters) you want for your explorer window with the
-" following .vimrc variable (this was introduced in 6.3.0):
-"
-" let g:miniBufExplVSplit = 20 " column width in chars
-"
-" IN HORIZONTAL MODE:
-" It is now (as of 6.1.1) possible to set a maximum height for
-" the -MiniBufExplorer- window. You can set the max height by
-" letting the following variable in your .vimrc:
-"
-" let g:miniBufExplMaxSize = <max lines: defualt 0>
-"
-" setting this to 0 will mean the window gets as big as
-" needed to fit all your buffers.
-"
-" NOTE: This was g:miniBufExplMaxHeight before 6.3.0; the old
-" setting is backwards compatible if you don't use MaxSize.
-"
-" As of 6.2.2 it is possible to set a minimum height for the
-" -MiniBufExplorer- window. You can set the min height by
-" letting the following variable in your .vimrc:
-"
-" let g:miniBufExplMinSize = <min height: default 1>
-"
-" NOTE: This was g:miniBufExplMinHeight before 6.3.0; the old
-" setting is backwards compatible if you don't use MinSize.
-"
-" IN VERTICAL MODE: (as of 6.3.0)
-" By default the vertical explorer has a fixed width. If you put:
-"
-" let g:miniBufExplMaxSize = <max width: default 0>
-"
-" into your .vimrc then MBE will attempt to set the width of the
-" MBE window to be as wide as your widest tab. The width will not
-" exceed MaxSize even if you have wider tabs.
-"
-" Accepting the default value of 0 for this will give you a fixed
-" width MBE window.
-"
-" You can specify a MinSize for the vertical explorer window by
-" putting the following in your .vimrc:
-"
-" let g:miniBufExplMinSize = <min width: default 1>
-"
-" This will have no effect unless you also specivy MaxSize.
-"
-" By default we are now (as of 6.0.1) turning on the MoreThanOne
-" option. This stops the -MiniBufExplorer- from opening
-" automatically until more than one eligible buffer is available.
-" You can turn this feature off by setting the following variable
-" in your .vimrc:
-"
-" let g:miniBufExplorerMoreThanOne=1
-"
-" (The following enhancement is as of 6.2.2)
-" Setting this to 0 will cause the MBE window to be loaded even
-" if no buffers are available. Setting it to 1 causes the MBE
-" window to be loaded as soon as an eligible buffer is read. You
-" can also set it to larger numbers. So if you set it to 4 for
-" example the MBE window wouldn't auto-open until 4 eligibles
-" buffers had been loaded. This is nice for folks that don't
-" want an MBE window unless they are editing more than two or
-" three buffers.
-"
-" To enable the optional mapping of Control + Vim Direction Keys
-" [hjkl] to window movement commands, you can put the following into
-" your .vimrc:
-"
-" let g:miniBufExplMapWindowNavVim = 1
-"
-" To enable the optional mapping of Control + Arrow Keys to window
-" movement commands, you can put the following into your .vimrc:
-"
-" let g:miniBufExplMapWindowNavArrows = 1
-"
-" To enable the optional mapping of <C-TAB> and <C-S-TAB> to a
-" function that will bring up the next or previous buffer in the
-" current window, you can put the following into your .vimrc:
-"
-" let g:miniBufExplMapCTabSwitchBufs = 1
-"
-" To enable the optional mapping of <C-TAB> and <C-S-TAB> to mappings
-" that will move to the next and previous (respectively) window, you
-" can put the following into your .vimrc:
-"
-" let g:miniBufExplMapCTabSwitchWindows = 1
-"
-"
-" NOTE: If you set the ...TabSwitchBufs AND ...TabSwitchWindows,
-" ...TabSwitchBufs will be enabled and ...TabSwitchWindows
-" will not.
-"
-" As of MBE 6.3.0, you can put the following into your .vimrc:
-"
-" let g:miniBufExplUseSingleClick = 1
-"
-" If you would like to single click on tabs rather than double
-" clicking on them to goto the selected buffer.
-"
-" NOTE: If you use the single click option in taglist.vim you may
-" need to get an updated version that includes a patch I
-" provided to allow both explorers to provide single click
-" buffer selection.
-"
-" It is possible to customize the the highlighting for the tabs in
-" the MBE by configuring the following highlighting groups:
-"
-" MBENormal - for buffers that have NOT CHANGED and
-" are NOT VISIBLE.
-" MBEChanged - for buffers that HAVE CHANGED and are
-" NOT VISIBLE
-" MBEVisibleNormal - buffers that have NOT CHANGED and are
-" VISIBLE
-" MBEVisibleChanged - buffers that have CHANGED and are VISIBLE
-"
-" You can either link to an existing highlighting group by
-" adding a command like:
-"
-" hi link MBEVisibleChanged Error
-"
-" to your .vimrc or you can specify exact foreground and background
-" colors using the following syntax:
-"
-" hi MBEChanged guibg=darkblue ctermbg=darkblue termbg=white
-"
-" NOTE: If you set a colorscheme in your .vimrc you should do it
-" BEFORE updating the MBE highlighting groups.
-"
-" If you use other explorers like TagList you can (As of 6.2.8) put:
-"
-" let g:miniBufExplModSelTarget = 1
-"
-" into your .vimrc in order to force MBE to try to place selected
-" buffers into a window that does not have a nonmodifiable buffer.
-" The upshot of this should be that if you go into MBE and select
-" a buffer, the buffer should not show up in a window that is
-" hosting an explorer.
-"
-" There is a VIM bug that can cause buffers to show up without
-" their highlighting. The following setting will cause MBE to
-" try and turn highlighting back on (introduced in 6.3.1):
-"
-" let g:miniBufExplForceSyntaxEnable = 1
-"
-" MBE has had a basic debugging capability for quite some time.
-" However, it has not been very friendly in the past. As of 6.0.8,
-" you can put one of each of the following into your .vimrc:
-"
-" let g:miniBufExplorerDebugLevel = 0 " MBE serious errors output
-" let g:miniBufExplorerDebugLevel = 4 " MBE all errors output
-" let g:miniBufExplorerDebugLevel = 10 " MBE reports everything
-"
-" You can also set a DebugMode to cause output to be target as
-" follows (default is mode 3):
-"
-" let g:miniBufExplorerDebugMode = 0 " Errors will show up in
-" " a vim window
-" let g:miniBufExplorerDebugMode = 1 " Uses VIM's echo function
-" " to display on the screen
-" let g:miniBufExplorerDebugMode = 2 " Writes to a file
-" " MiniBufExplorer.DBG
-" let g:miniBufExplorerDebugMode = 3 " Store output in global:
-" " g:miniBufExplorerDebugOutput
-"
-" Or if you are able to start VIM, you might just perform these
-" at a command prompt right before you do the operation that is
-" failing.
-"
-" History: Moved to end of file
-"
-" Known Issues: When debugging is turned on and set to output to a window, there
-" are some cases where the window is opened more than once, there
-" are other cases where an old debug window can be lost.
-"
-" Several MBE commands can break the window history so <C-W>[pnw]
-" might not take you to the expected window.
-"
-" Todo: Add the ability to specify a regexp for eligible buffers
-" allowing the ability to filter out certain buffers that
-" you don't want to control from MBE
-"
-"=============================================================================
-" }}}
-
-" Startup Check
-"
-" Has this plugin already been loaded? {{{
-"
-if exists('loaded_minibufexplorer')
- finish
-endif
-let loaded_minibufexplorer = 1
-" }}}
-
-" Mappings and Commands
-"
-" MBE Keyboard Mappings {{{
-" If we don't already have keyboard mappings for MBE then create them
-"
-if !hasmapto('<Plug>MiniBufExplorer')
- map <unique> <Leader>mbe <Plug>MiniBufExplorer
-endif
-if !hasmapto('<Plug>CMiniBufExplorer')
- map <unique> <Leader>mbc <Plug>CMiniBufExplorer
-endif
-if !hasmapto('<Plug>UMiniBufExplorer')
- map <unique> <Leader>mbu <Plug>UMiniBufExplorer
-endif
-if !hasmapto('<Plug>TMiniBufExplorer')
- map <unique> <Leader>mbt <Plug>TMiniBufExplorer
-endif
-
-" }}}
-" MBE <Script> internal map {{{
-"
-noremap <unique> <script> <Plug>MiniBufExplorer :call <SID>StartExplorer(1, -1)<CR>:<BS>
-noremap <unique> <script> <Plug>CMiniBufExplorer :call <SID>StopExplorer(1)<CR>:<BS>
-noremap <unique> <script> <Plug>UMiniBufExplorer :call <SID>AutoUpdate(-1)<CR>:<BS>
-noremap <unique> <script> <Plug>TMiniBufExplorer :call <SID>ToggleExplorer()<CR>:<BS>
-
-" }}}
-" MBE commands {{{
-"
-if !exists(':MiniBufExplorer')
- command! MiniBufExplorer call <SID>StartExplorer(1, -1)
-endif
-if !exists(':CMiniBufExplorer')
- command! CMiniBufExplorer call <SID>StopExplorer(1)
-endif
-if !exists(':UMiniBufExplorer')
- command! UMiniBufExplorer call <SID>AutoUpdate(-1)
-endif
-if !exists(':TMiniBufExplorer')
- command! TMiniBufExplorer call <SID>ToggleExplorer()
-endif
-if !exists(':MBEbn')
- command! MBEbn call <SID>CycleBuffer(1)
-endif
-if !exists(':MBEbp')
- command! MBEbp call <SID>CycleBuffer(0)
-endif " }}}
-
-" Global Configuration Variables
-"
-" Debug Level {{{
-"
-" 0 = no logging
-" 1=5 = errors ; 1 is the most important
-" 5-9 = info ; 5 is the most important
-" 10 = Entry/Exit
-if !exists('g:miniBufExplorerDebugLevel')
- let g:miniBufExplorerDebugLevel = 0
-endif
-
-" }}}
-" Debug Mode {{{
-"
-" 0 = debug to a window
-" 1 = use vim's echo facility
-" 2 = write to a file named MiniBufExplorer.DBG
-" in the directory where vim was started
-" THIS IS VERY SLOW
-" 3 = Write into g:miniBufExplorerDebugOutput
-" global variable [This is the default]
-if !exists('g:miniBufExplorerDebugMode')
- let g:miniBufExplorerDebugMode = 3
-endif
-
-" }}}
-" Allow auto update? {{{
-"
-" We start out with this off for startup, but once vim is running we
-" turn this on.
-if !exists('g:miniBufExplorerAutoUpdate')
- let g:miniBufExplorerAutoUpdate = 0
-endif
-
-" }}}
-" MoreThanOne? {{{
-" Display Mini Buf Explorer when there are 'More Than One' eligible buffers
-"
-if !exists('g:miniBufExplorerMoreThanOne')
- let g:miniBufExplorerMoreThanOne = 2
-endif
-
-" }}}
-" Split below/above/left/right? {{{
-" When opening a new -MiniBufExplorer- window, split the new windows below or
-" above the current window? 1 = below, 0 = above.
-"
-if !exists('g:miniBufExplSplitBelow')
- let g:miniBufExplSplitBelow = &splitbelow
-endif
-
-" }}}
-" Split to edge? {{{
-" When opening a new -MiniBufExplorer- window, split the new windows to the
-" full edge? 1 = yes, 0 = no.
-"
-if !exists('g:miniBufExplSplitToEdge')
- let g:miniBufExplSplitToEdge = 1
-endif
-
-" }}}
-" MaxHeight (depreciated) {{{
-" When sizing the -MiniBufExplorer- window, assign a maximum window height.
-" 0 = size to fit all buffers, otherwise the value is number of lines for
-" buffer. [Depreciated use g:miniBufExplMaxSize]
-"
-if !exists('g:miniBufExplMaxHeight')
- let g:miniBufExplMaxHeight = 0
-endif
-
-" }}}
-" MaxSize {{{
-" Same as MaxHeight but also works for vertical splits if specified with a
-" vertical split then vertical resizing will be performed. If left at 0
-" then the number of columns in g:miniBufExplVSplit will be used as a
-" static window width.
-if !exists('g:miniBufExplMaxSize')
- let g:miniBufExplMaxSize = g:miniBufExplMaxHeight
-endif
-
-" }}}
-" MinHeight (depreciated) {{{
-" When sizing the -MiniBufExplorer- window, assign a minumum window height.
-" the value is minimum number of lines for buffer. Setting this to zero can
-" cause strange height behavior. The default value is 1 [Depreciated use
-" g:miniBufExplMinSize]
-"
-if !exists('g:miniBufExplMinHeight')
- let g:miniBufExplMinHeight = 1
-endif
-
-" }}}
-" MinSize {{{
-" Same as MinHeight but also works for vertical splits. For vertical splits,
-" this is ignored unless g:miniBufExplMax(Size|Height) are specified.
-if !exists('g:miniBufExplMinSize')
- let g:miniBufExplMinSize = g:miniBufExplMinHeight
-endif
-
-" }}}
-" Horizontal or Vertical explorer? {{{
-" For folks that like vertical explorers, I'm caving in and providing for
-" veritcal splits. If this is set to 0 then the current horizontal
-" splitting logic will be run. If however you want a vertical split,
-" assign the width (in characters) you wish to assign to the MBE window.
-"
-if !exists('g:miniBufExplVSplit')
- let g:miniBufExplVSplit = 0
-endif
-
-" }}}
-" TabWrap? {{{
-" By default line wrap is used (possibly breaking a tab name between two
-" lines.) Turning this option on (setting it to 1) can take more screen
-" space, but will make sure that each tab is on one and only one line.
-"
-if !exists('g:miniBufExplTabWrap')
- let g:miniBufExplTabWrap = 0
-endif
-
-" }}}
-" Extended window navigation commands? {{{
-" Global flag to turn extended window navigation commands on or off
-" enabled = 1, dissabled = 0
-"
-if !exists('g:miniBufExplMapWindowNav')
- " This is for backwards compatibility and may be removed in a
- " later release, please use the ...NavVim and/or ...NavArrows
- " settings.
- let g:miniBufExplMapWindowNav = 0
-endif
-if !exists('g:miniBufExplMapWindowNavVim')
- let g:miniBufExplMapWindowNavVim = 0
-endif
-if !exists('g:miniBufExplMapWindowNavArrows')
- let g:miniBufExplMapWindowNavArrows = 0
-endif
-if !exists('g:miniBufExplMapCTabSwitchBufs')
- let g:miniBufExplMapCTabSwitchBufs = 0
-endif
-" Notice: that if CTabSwitchBufs is turned on then
-" we turn off CTabSwitchWindows.
-if g:miniBufExplMapCTabSwitchBufs == 1 || !exists('g:miniBufExplMapCTabSwitchWindows')
- let g:miniBufExplMapCTabSwitchWindows = 0
-endif
-
-"
-" If we have enabled control + vim direction key remapping
-" then perform the remapping
-"
-" Notice: I left g:miniBufExplMapWindowNav in for backward
-" compatibility. Eventually this mapping will be removed so
-" please use the newer g:miniBufExplMapWindowNavVim setting.
-if g:miniBufExplMapWindowNavVim || g:miniBufExplMapWindowNav
- noremap <C-J> <C-W>j
- noremap <C-K> <C-W>k
- noremap <C-H> <C-W>h
- noremap <C-L> <C-W>l
-endif
-
-"
-" If we have enabled control + arrow key remapping
-" then perform the remapping
-"
-if g:miniBufExplMapWindowNavArrows
- noremap <C-Down> <C-W>j
- noremap <C-Up> <C-W>k
- noremap <C-Left> <C-W>h
- noremap <C-Right> <C-W>l
-endif
-
-" If we have enabled <C-TAB> and <C-S-TAB> to switch buffers
-" in the current window then perform the remapping
-"
-if g:miniBufExplMapCTabSwitchBufs
- noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS>
- noremap <C-S-TAB> :call <SID>CycleBuffer(0)<CR>:<BS>
-endif
-
-"
-" If we have enabled <C-TAB> and <C-S-TAB> to switch windows
-" then perform the remapping
-"
-if g:miniBufExplMapCTabSwitchWindows
- noremap <C-TAB> <C-W>w
- noremap <C-S-TAB> <C-W>W
-endif
-
-" }}}
-" Modifiable Select Target {{{
-"
-if !exists('g:miniBufExplModSelTarget')
- let g:miniBufExplModSelTarget = 0
-endif
-
-"}}}
-" Force Syntax Enable {{{
-"
-if !exists('g:miniBufExplForceSyntaxEnable')
- let g:miniBufExplForceSyntaxEnable = 0
-endif
-
-" }}}
-" Single/Double Click? {{{
-" flag that can be set to 1 in a users .vimrc to allow
-" single click switching of tabs. By default we use
-" double click for tab selection.
-"
-if !exists('g:miniBufExplUseSingleClick')
- let g:miniBufExplUseSingleClick = 0
-endif
-
-"
-" attempt to perform single click mapping, it would be much
-" nicer if we could nnoremap <buffer> ... however vim does
-" not fire the <buffer> <leftmouse> when you use the mouse
-" to enter a buffer.
-"
-if g:miniBufExplUseSingleClick == 1
- let s:clickmap = ':if bufname("%") == "-MiniBufExplorer-" <bar> call <SID>MBEClick() <bar> endif <CR>'
- if maparg('<LEFTMOUSE>', 'n') == ''
- " no mapping for leftmouse
- exec ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>' . s:clickmap
- else
- " we have a mapping
- let g:miniBufExplDoneClickSave = 1
- let s:m = ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>'
- let s:m = s:m . substitute(substitute(maparg('<LEFTMOUSE>', 'n'), '|', '<bar>', 'g'), '\c^<LEFTMOUSE>', '', '')
- let s:m = s:m . s:clickmap
- exec s:m
- endif
-endif " }}}
-
-" Variables used internally
-"
-" Script/Global variables {{{
-" Global used to store the buffer list so we don't update the
-" UI unless the list has changed.
-if !exists('g:miniBufExplBufList')
- let g:miniBufExplBufList = ''
-endif
-
-" Variable used as a mutex so that we don't do lots
-" of AutoUpdates at the same time.
-if !exists('g:miniBufExplInAutoUpdate')
- let g:miniBufExplInAutoUpdate = 0
-endif
-
-" In debug mode 3 this variable will hold the debug output
-if !exists('g:miniBufExplorerDebugOutput')
- let g:miniBufExplorerDebugOutput = ''
-endif
-
-" In debug mode 3 this variable will hold the debug output
-if !exists('g:miniBufExplForceDisplay')
- let g:miniBufExplForceDisplay = 0
-endif
-
-" Variable used to pass maxTabWidth info between functions
-let s:maxTabWidth = 0
-
-" Variable used to count debug output lines
-let s:debugIndex = 0
-
-
-" }}}
-" Setup an autocommand group and some autocommands {{{
-" that keep our explorer updated automatically.
-"
-augroup MiniBufExplorer
-autocmd MiniBufExplorer BufDelete * call <SID>DEBUG('-=> BufDelete AutoCmd', 10) |call <SID>AutoUpdate(expand('<abuf>'))
-autocmd MiniBufExplorer BufEnter * call <SID>DEBUG('-=> BufEnter AutoCmd', 10) |call <SID>AutoUpdate(-1)
-autocmd MiniBufExplorer VimEnter * call <SID>DEBUG('-=> VimEnter AutoCmd', 10) |let g:miniBufExplorerAutoUpdate = 1 |call <SID>AutoUpdate(-1)
-" }}}
-
-" Functions
-"
-" StartExplorer - Sets up our explorer and causes it to be displayed {{{
-"
-function! <SID>StartExplorer(sticky, delBufNum)
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering StartExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
- if a:sticky == 1
- let g:miniBufExplorerAutoUpdate = 1
- endif
-
- " Store the current buffer
- let l:curBuf = bufnr('%')
-
- " Prevent a report of our actions from showing up.
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
- call <SID>FindCreateWindow('-MiniBufExplorer-', -1, 1, 1)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('StartExplorer called in invalid window',1)
- let &report = l:save_rep
- let &showcmd = l:save_sc
- return
- endif
-
- " !!! We may want to make the following optional -- Bindu
- " New windows don't cause all windows to be resized to equal sizes
- set noequalalways
- " !!! We may want to make the following optional -- Bindu
- " We don't want the mouse to change focus without a click
- set nomousefocus
-
- " If folks turn numbering and columns on by default we will turn
- " them off for the MBE window
- setlocal foldcolumn=0
- setlocal nonumber
-
- if has("syntax")
- syn clear
- syn match MBENormal '\[[^\]]*\]'
- syn match MBEChanged '\[[^\]]*\]+'
- syn match MBEVisibleNormal '\[[^\]]*\]\*+\='
- syn match MBEVisibleChanged '\[[^\]]*\]\*+'
-
- if !exists("g:did_minibufexplorer_syntax_inits")
- let g:did_minibufexplorer_syntax_inits = 1
- hi def link MBENormal Comment
- hi def link MBEChanged String
- hi def link MBEVisibleNormal Special
- hi def link MBEVisibleChanged Special
- endif
- endif
-
- " If you press return in the -MiniBufExplorer- then try
- " to open the selected buffer in the previous window.
- nnoremap <buffer> <CR> :call <SID>MBESelectBuffer()<CR>:<BS>
- " If you DoubleClick in the -MiniBufExplorer- then try
- " to open the selected buffer in the previous window.
- nnoremap <buffer> <2-LEFTMOUSE> :call <SID>MBEDoubleClick()<CR>:<BS>
- " If you press d in the -MiniBufExplorer- then try to
- " delete the selected buffer.
- nnoremap <buffer> d :call <SID>MBEDeleteBuffer()<CR>:<BS>
- " If you press w in the -MiniBufExplorer- then switch back
- " to the previous window.
- nnoremap <buffer> p :wincmd p<CR>:<BS>
- " The following allow us to use regular movement keys to
- " scroll in a wrapped single line buffer
- nnoremap <buffer> j gj
- nnoremap <buffer> k gk
- nnoremap <buffer> <down> gj
- nnoremap <buffer> <up> gk
- " The following allows for quicker moving between buffer
- " names in the [MBE] window it also saves the last-pattern
- " and restores it.
- nnoremap <buffer> <TAB> :call search('\[[0-9]*:[^\]]*\]')<CR>:<BS>
- nnoremap <buffer> <S-TAB> :call search('\[[0-9]*:[^\]]*\]','b')<CR>:<BS>
-
- call <SID>DisplayBuffers(a:delBufNum)
-
- if (l:curBuf != -1)
- call search('\['.l:curBuf.':'.expand('#'.l:curBuf.':t').'\]')
- else
- call <SID>DEBUG('No current buffer to search for',9)
- endif
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed StartExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
-endfunction
-
-" }}}
-" StopExplorer - Looks for our explorer and closes the window if it is open {{{
-"
-function! <SID>StopExplorer(sticky)
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering StopExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
- if a:sticky == 1
- let g:miniBufExplorerAutoUpdate = 0
- endif
-
- let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1)
-
- if l:winNum != -1
- exec l:winNum.' wincmd w'
- silent! close
- wincmd p
- endif
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed StopExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
-endfunction
-
-" }}}
-" ToggleExplorer - Looks for our explorer and opens/closes the window {{{
-"
-function! <SID>ToggleExplorer()
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering ToggleExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
- let g:miniBufExplorerAutoUpdate = 0
-
- let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1)
-
- if l:winNum != -1
- call <SID>StopExplorer(1)
- else
- call <SID>StartExplorer(1, -1)
- wincmd p
- endif
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed ToggleExplorer()' ,10)
- call <SID>DEBUG('===========================',10)
-
-endfunction
-
-" }}}
-" FindWindow - Return the window number of a named buffer {{{
-" If none is found then returns -1.
-"
-function! <SID>FindWindow(bufName, doDebug)
- if a:doDebug
- call <SID>DEBUG('Entering FindWindow()',10)
- endif
-
- " Try to find an existing window that contains
- " our buffer.
- let l:bufNum = bufnr(a:bufName)
- if l:bufNum != -1
- if a:doDebug
- call <SID>DEBUG('Found buffer ('.a:bufName.'): '.l:bufNum,9)
- endif
- let l:winNum = bufwinnr(l:bufNum)
- else
- let l:winNum = -1
- endif
-
- return l:winNum
-
-endfunction
-
-" }}}
-" FindCreateWindow - Attempts to find a window for a named buffer. {{{
-"
-" If it is found then moves there. Otherwise creates a new window and
-" configures it and moves there.
-"
-" forceEdge, -1 use defaults, 0 below, 1 above
-" isExplorer, 0 no, 1 yes
-" doDebug, 0 no, 1 yes
-"
-function! <SID>FindCreateWindow(bufName, forceEdge, isExplorer, doDebug)
- if a:doDebug
- call <SID>DEBUG('Entering FindCreateWindow('.a:bufName.')',10)
- endif
-
- " Save the user's split setting.
- let l:saveSplitBelow = &splitbelow
-
- " Set to our new values.
- let &splitbelow = g:miniBufExplSplitBelow
-
- " Try to find an existing explorer window
- let l:winNum = <SID>FindWindow(a:bufName, a:doDebug)
-
- " If found goto the existing window, otherwise
- " split open a new window.
- if l:winNum != -1
- if a:doDebug
- call <SID>DEBUG('Found window ('.a:bufName.'): '.l:winNum,9)
- endif
- exec l:winNum.' wincmd w'
- let l:winFound = 1
- else
-
- if g:miniBufExplSplitToEdge == 1 || a:forceEdge >= 0
-
- let l:edge = &splitbelow
- if a:forceEdge >= 0
- let l:edge = a:forceEdge
- endif
-
- if l:edge
- if g:miniBufExplVSplit == 0
- exec 'bo sp '.a:bufName
- else
- exec 'bo vsp '.a:bufName
- endif
- else
- if g:miniBufExplVSplit == 0
- exec 'to sp '.a:bufName
- else
- exec 'to vsp '.a:bufName
- endif
- endif
- else
- if g:miniBufExplVSplit == 0
- exec 'sp '.a:bufName
- else
- " &splitbelow doesn't affect vertical splits
- " so we have to do this explicitly.. ugh.
- if &splitbelow
- exec 'rightb vsp '.a:bufName
- else
- exec 'vsp '.a:bufName
- endif
- endif
- endif
-
- let g:miniBufExplForceDisplay = 1
-
- " Try to find an existing explorer window
- let l:winNum = <SID>FindWindow(a:bufName, a:doDebug)
- if l:winNum != -1
- if a:doDebug
- call <SID>DEBUG('Created and then found window ('.a:bufName.'): '.l:winNum,9)
- endif
- exec l:winNum.' wincmd w'
- else
- if a:doDebug
- call <SID>DEBUG('FindCreateWindow failed to create window ('.a:bufName.').',1)
- endif
- return
- endif
-
- if a:isExplorer
- " Turn off the swapfile, set the buffer type so that it won't get written,
- " and so that it will get deleted when it gets hidden and turn on word wrap.
- setlocal noswapfile
- setlocal buftype=nofile
- setlocal bufhidden=delete
- if g:miniBufExplVSplit == 0
- setlocal wrap
- else
- setlocal nowrap
- exec('setlocal winwidth='.g:miniBufExplMinSize)
- endif
- endif
-
- if a:doDebug
- call <SID>DEBUG('Window ('.a:bufName.') created: '.winnr(),9)
- endif
-
- endif
-
- " Restore the user's split setting.
- let &splitbelow = l:saveSplitBelow
-
-endfunction
-
-" }}}
-" DisplayBuffers - Wrapper for getting MBE window shown {{{
-"
-" Makes sure we are in our explorer, then erases the current buffer and turns
-" it into a mini buffer explorer window.
-"
-function! <SID>DisplayBuffers(delBufNum)
- call <SID>DEBUG('Entering DisplayBuffers()',10)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('DisplayBuffers called in invalid window',1)
- return
- endif
-
- " We need to be able to modify the buffer
- setlocal modifiable
-
- call <SID>ShowBuffers(a:delBufNum)
- call <SID>ResizeWindow()
-
- normal! zz
-
- " Prevent the buffer from being modified.
- setlocal nomodifiable
- set nobuflisted
-
-endfunction
-
-" }}}
-" Resize Window - Set width/height of MBE window {{{
-"
-" Makes sure we are in our explorer, then sets the height/width for our explorer
-" window so that we can fit all of our information without taking extra lines.
-"
-function! <SID>ResizeWindow()
- call <SID>DEBUG('Entering ResizeWindow()',10)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('ResizeWindow called in invalid window',1)
- return
- endif
-
- let l:width = winwidth('.')
-
- " Horizontal Resize
- if g:miniBufExplVSplit == 0
-
- if g:miniBufExplTabWrap == 0
- let l:length = strlen(getline('.'))
- let l:height = 0
- if (l:width == 0)
- let l:height = winheight('.')
- else
- let l:height = (l:length / l:width)
- " handle truncation from div
- if (l:length % l:width) != 0
- let l:height = l:height + 1
- endif
- endif
- else
- exec("setlocal textwidth=".l:width)
- normal gg
- normal gq}
- normal G
- let l:height = line('.')
- normal gg
- endif
-
- " enforce max window height
- if g:miniBufExplMaxSize != 0
- if g:miniBufExplMaxSize < l:height
- let l:height = g:miniBufExplMaxSize
- endif
- endif
-
- " enfore min window height
- if l:height < g:miniBufExplMinSize || l:height == 0
- let l:height = g:miniBufExplMinSize
- endif
-
- call <SID>DEBUG('ResizeWindow to '.l:height.' lines',9)
-
- exec('resize '.l:height)
-
- " Vertical Resize
- else
-
- if g:miniBufExplMaxSize != 0
- let l:newWidth = s:maxTabWidth
- if l:newWidth > g:miniBufExplMaxSize
- let l:newWidth = g:miniBufExplMaxSize
- endif
- if l:newWidth < g:miniBufExplMinSize
- let l:newWidth = g:miniBufExplMinSize
- endif
- else
- let l:newWidth = g:miniBufExplVSplit
- endif
-
- if l:width != l:newWidth
- call <SID>DEBUG('ResizeWindow to '.l:newWidth.' columns',9)
- exec('vertical resize '.l:newWidth)
- endif
-
- endif
-
-endfunction
-
-" }}}
-" ShowBuffers - Clear current buffer and put the MBE text into it {{{
-"
-" Makes sure we are in our explorer, then adds a list of all modifiable
-" buffers to the current buffer. Special marks are added for buffers that
-" are in one or more windows (*) and buffers that have been modified (+)
-"
-function! <SID>ShowBuffers(delBufNum)
- call <SID>DEBUG('Entering ShowBuffers()',10)
-
- let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 1)
-
- if (l:ListChanged == 1 || g:miniBufExplForceDisplay)
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
- " Delete all lines in buffer.
- 1,$d _
-
- " Goto the end of the buffer put the buffer list
- " and then delete the extra trailing blank line
- $
- put! =g:miniBufExplBufList
- $ d _
-
- let g:miniBufExplForceDisplay = 0
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
- else
- call <SID>DEBUG('Buffer list not update since there was no change',9)
- endif
-
-endfunction
-
-" }}}
-" Max - Returns the max of two numbers {{{
-"
-function! <SID>Max(argOne, argTwo)
- if a:argOne > a:argTwo
- return a:argOne
- else
- return a:argTwo
- endif
-endfunction
-
-" }}}
-" BuildBufferList - Build the text for the MBE window {{{
-"
-" Creates the buffer list string and returns 1 if it is different than
-" last time this was called and 0 otherwise.
-"
-function! <SID>BuildBufferList(delBufNum, updateBufList)
- call <SID>DEBUG('Entering BuildBufferList()',10)
-
- let l:NBuffers = bufnr('$') " Get the number of the last buffer.
- let l:i = 0 " Set the buffer index to zero.
-
- let l:fileNames = ''
- let l:maxTabWidth = 0
-
- " Loop through every buffer less than the total number of buffers.
- while(l:i <= l:NBuffers)
- let l:i = l:i + 1
-
- " If we have a delBufNum and it is the current
- " buffer then ignore the current buffer.
- " Otherwise, continue.
- if (a:delBufNum == -1 || l:i != a:delBufNum)
- " Make sure the buffer in question is listed.
- if(getbufvar(l:i, '&buflisted') == 1)
- " Get the name of the buffer.
- let l:BufName = bufname(l:i)
- " Check to see if the buffer is a blank or not. If the buffer does have
- " a name, process it.
- if(strlen(l:BufName))
- " Only show modifiable buffers (The idea is that we don't
- " want to show Explorers)
- if (getbufvar(l:i, '&modifiable') == 1 && BufName != '-MiniBufExplorer-')
-
- " Get filename & Remove []'s & ()'s
- let l:shortBufName = fnamemodify(l:BufName, ":t")
- let l:shortBufName = substitute(l:shortBufName, '[][()]', '', 'g')
- let l:tab = '['.l:i.':'.l:shortBufName.']'
-
- " If the buffer is open in a window mark it
- if bufwinnr(l:i) != -1
- let l:tab = l:tab . '*'
- endif
-
- " If the buffer is modified then mark it
- if(getbufvar(l:i, '&modified') == 1)
- let l:tab = l:tab . '+'
- endif
-
- let l:maxTabWidth = <SID>Max(strlen(l:tab), l:maxTabWidth)
- let l:fileNames = l:fileNames.l:tab
-
- " If horizontal and tab wrap is turned on we need to add spaces
- if g:miniBufExplVSplit == 0
- if g:miniBufExplTabWrap != 0
- let l:fileNames = l:fileNames.' '
- endif
- " If not horizontal we need a newline
- else
- let l:fileNames = l:fileNames . "\n"
- endif
- endif
- endif
- endif
- endif
- endwhile
-
- if (g:miniBufExplBufList != l:fileNames)
- if (a:updateBufList)
- let g:miniBufExplBufList = l:fileNames
- let s:maxTabWidth = l:maxTabWidth
- endif
- return 1
- else
- return 0
- endif
-
-endfunction
-
-" }}}
-" HasEligibleBuffers - Are there enough MBE eligible buffers to open the MBE window? {{{
-"
-" Returns 1 if there are any buffers that can be displayed in a
-" mini buffer explorer. Otherwise returns 0. If delBufNum is
-" any non -1 value then don't include that buffer in the list
-" of eligible buffers.
-"
-function! <SID>HasEligibleBuffers(delBufNum)
- call <SID>DEBUG('Entering HasEligibleBuffers()',10)
-
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
- let l:NBuffers = bufnr('$') " Get the number of the last buffer.
- let l:i = 0 " Set the buffer index to zero.
- let l:found = 0 " No buffer found
-
- if (g:miniBufExplorerMoreThanOne > 1)
- call <SID>DEBUG('More Than One mode turned on',6)
- endif
- let l:needed = g:miniBufExplorerMoreThanOne
-
- " Loop through every buffer less than the total number of buffers.
- while(l:i <= l:NBuffers && l:found < l:needed)
- let l:i = l:i + 1
-
- " If we have a delBufNum and it is the current
- " buffer then ignore the current buffer.
- " Otherwise, continue.
- if (a:delBufNum == -1 || l:i != a:delBufNum)
- " Make sure the buffer in question is listed.
- if (getbufvar(l:i, '&buflisted') == 1)
- " Get the name of the buffer.
- let l:BufName = bufname(l:i)
- " Check to see if the buffer is a blank or not. If the buffer does have
- " a name, process it.
- if (strlen(l:BufName))
- " Only show modifiable buffers (The idea is that we don't
- " want to show Explorers)
- if ((getbufvar(l:i, '&modifiable') == 1) && (BufName != '-MiniBufExplorer-'))
-
- let l:found = l:found + 1
-
- endif
- endif
- endif
- endif
- endwhile
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
-
- call <SID>DEBUG('HasEligibleBuffers found '.l:found.' eligible buffers of '.l:needed.' needed',6)
-
- return (l:found >= l:needed)
-
-endfunction
-
-" }}}
-" Auto Update - Function called by auto commands for auto updating the MBE {{{
-"
-" IF auto update is turned on AND
-" we are in a real buffer AND
-" we have enough eligible buffers THEN
-" Update our explorer and get back to the current window
-"
-" If we get a buffer number for a buffer that
-" is being deleted, we need to make sure and
-" remove the buffer from the list of eligible
-" buffers in case we are down to one eligible
-" buffer, in which case we will want to close
-" the MBE window.
-"
-function! <SID>AutoUpdate(delBufNum)
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering AutoUpdate('.a:delBufNum.') : '.bufnr('%').' : '.bufname('%'),10)
- call <SID>DEBUG('===========================',10)
-
- if (g:miniBufExplInAutoUpdate == 1)
- call <SID>DEBUG('AutoUpdate recursion stopped',9)
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Terminated AutoUpdate()' ,10)
- call <SID>DEBUG('===========================',10)
- return
- else
- let g:miniBufExplInAutoUpdate = 1
- endif
-
- " Don't bother autoupdating the MBE window
- if (bufname('%') == '-MiniBufExplorer-')
- " If this is the only buffer left then toggle the buffer
- if (winbufnr(2) == -1)
- call <SID>CycleBuffer(1)
- call <SID>DEBUG('AutoUpdate does not run for cycled windows', 9)
- else
- call <SID>DEBUG('AutoUpdate does not run for the MBE window', 9)
- endif
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Terminated AutoUpdate()' ,10)
- call <SID>DEBUG('===========================',10)
-
- let g:miniBufExplInAutoUpdate = 0
- return
-
- endif
-
- if (a:delBufNum != -1)
- call <SID>DEBUG('AutoUpdate will make sure that buffer '.a:delBufNum.' is not included in the buffer list.', 5)
- endif
-
- " Only allow updates when the AutoUpdate flag is set
- " this allows us to stop updates on startup.
- if g:miniBufExplorerAutoUpdate == 1
- " Only show MiniBufExplorer if we have a real buffer
- if ((g:miniBufExplorerMoreThanOne == 0) || (bufnr('%') != -1 && bufname('%') != ""))
- if <SID>HasEligibleBuffers(a:delBufNum) == 1
- " if we don't have a window then create one
- let l:bufnr = <SID>FindWindow('-MiniBufExplorer-', 0)
- if (l:bufnr == -1)
- call <SID>DEBUG('About to call StartExplorer (Create MBE)', 9)
- call <SID>StartExplorer(0, a:delBufNum)
- else
- " otherwise only update the window if the contents have
- " changed
- let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 0)
- if (l:ListChanged)
- call <SID>DEBUG('About to call StartExplorer (Update MBE)', 9)
- call <SID>StartExplorer(0, a:delBufNum)
- endif
- endif
-
- " go back to the working buffer
- if (bufname('%') == '-MiniBufExplorer-')
- wincmd p
- endif
- else
- call <SID>DEBUG('Failed in eligible check', 9)
- call <SID>StopExplorer(0)
- endif
-
- " VIM sometimes turns syntax highlighting off,
- " we can force it on, but this may cause weird
- " behavior so this is an optional hack to force
- " syntax back on when we enter a buffer
- if g:miniBufExplForceSyntaxEnable
- call <SID>DEBUG('Enable Syntax', 9)
- exec 'syntax enable'
- endif
-
- else
- call <SID>DEBUG('No buffers loaded...',9)
- endif
- else
- call <SID>DEBUG('AutoUpdates are turned off, terminating',9)
- endif
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed AutoUpdate()' ,10)
- call <SID>DEBUG('===========================',10)
-
- let g:miniBufExplInAutoUpdate = 0
-
-endfunction
-
-" }}}
-" GetSelectedBuffer - From the MBE window, return the bufnum for buf under cursor {{{
-"
-" If we are in our explorer window then return the buffer number
-" for the buffer under the cursor.
-"
-function! <SID>GetSelectedBuffer()
- call <SID>DEBUG('Entering GetSelectedBuffer()',10)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('GetSelectedBuffer called in invalid window',1)
- return -1
- endif
-
- let l:save_reg = @"
- let @" = ""
- normal ""yi[
- if @" != ""
- let l:retv = substitute(@",'\([0-9]*\):.*', '\1', '') + 0
- let @" = l:save_reg
- return l:retv
- else
- let @" = l:save_reg
- return -1
- endif
-
-endfunction
-
-" }}}
-" MBESelectBuffer - From the MBE window, open buffer under the cursor {{{
-"
-" If we are in our explorer, then we attempt to open the buffer under the
-" cursor in the previous window.
-"
-function! <SID>MBESelectBuffer()
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering MBESelectBuffer()' ,10)
- call <SID>DEBUG('===========================',10)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('MBESelectBuffer called in invalid window',1)
- return
- endif
-
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
- let l:bufnr = <SID>GetSelectedBuffer()
- let l:resize = 0
-
- if(l:bufnr != -1) " If the buffer exists.
-
- let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
- let g:miniBufExplorerAutoUpdate = 0
- " Switch to the previous window
- wincmd p
-
- " If we are in the buffer explorer or in a nonmodifiable buffer with
- " g:miniBufExplModSelTarget set then try another window (a few times)
- if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
- wincmd w
- if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
- wincmd w
- if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
- wincmd w
- " The following handles the case where -MiniBufExplorer-
- " is the only window left. We need to resize so we don't
- " end up with a 1 or two line buffer.
- if bufname('%') == '-MiniBufExplorer-'
- let l:resize = 1
- endif
- endif
- endif
- endif
-
- exec('b! '.l:bufnr)
- if (l:resize)
- resize
- endif
- let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
- call <SID>AutoUpdate(-1)
-
- endif
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed MBESelectBuffer()',10)
- call <SID>DEBUG('===========================',10)
-
-endfunction
-
-" }}}
-" MBEDeleteBuffer - From the MBE window, delete selected buffer from list {{{
-"
-" After making sure that we are in our explorer, This will delete the buffer
-" under the cursor. If the buffer under the cursor is being displayed in a
-" window, this routine will attempt to get different buffers into the
-" windows that will be affected so that windows don't get removed.
-"
-function! <SID>MBEDeleteBuffer()
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Entering MBEDeleteBuffer()' ,10)
- call <SID>DEBUG('===========================',10)
-
- " Make sure we are in our window
- if bufname('%') != '-MiniBufExplorer-'
- call <SID>DEBUG('MBEDeleteBuffer called in invalid window',1)
- return
- endif
-
- let l:curLine = line('.')
- let l:curCol = virtcol('.')
- let l:selBuf = <SID>GetSelectedBuffer()
- let l:selBufName = bufname(l:selBuf)
-
- if l:selBufName == 'MiniBufExplorer.DBG' && g:miniBufExplorerDebugLevel > 0
- call <SID>DEBUG('MBEDeleteBuffer will not delete the debug window, when debugging is turned on.',1)
- return
- endif
-
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
-
- if l:selBuf != -1
-
- " Don't want auto updates while we are processing a delete
- " request.
- let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
- let g:miniBufExplorerAutoUpdate = 0
-
- " Save previous window so that if we show a buffer after
- " deleting. The show will come up in the correct window.
- wincmd p
- let l:prevWin = winnr()
- let l:prevWinBuf = winbufnr(winnr())
-
- call <SID>DEBUG('Previous window: '.l:prevWin.' buffer in window: '.l:prevWinBuf,5)
- call <SID>DEBUG('Selected buffer is <'.l:selBufName.'>['.l:selBuf.']',5)
-
- " If buffer is being displayed in a window then
- " move window to a different buffer before
- " deleting this one.
- let l:winNum = (bufwinnr(l:selBufName) + 0)
- " while we have windows that contain our buffer
- while l:winNum != -1
- call <SID>DEBUG('Buffer '.l:selBuf.' is being displayed in window: '.l:winNum,5)
-
- " move to window that contains our selected buffer
- exec l:winNum.' wincmd w'
-
- call <SID>DEBUG('We are now in window: '.winnr().' which contains buffer: '.bufnr('%').' and should contain buffer: '.l:selBuf,5)
-
- let l:origBuf = bufnr('%')
- call <SID>CycleBuffer(1)
- let l:curBuf = bufnr('%')
-
- call <SID>DEBUG('Window now contains buffer: '.bufnr('%').' which should not be: '.l:selBuf,5)
-
- if l:origBuf == l:curBuf
- " we wrapped so we are going to have to delete a buffer
- " that is in an open window.
- let l:winNum = -1
- else
- " see if we have anymore windows with our selected buffer
- let l:winNum = (bufwinnr(l:selBufName) + 0)
- endif
- endwhile
-
- " Attempt to restore previous window
- call <SID>DEBUG('Restoring previous window to: '.l:prevWin,5)
- exec l:prevWin.' wincmd w'
-
- " Try to get back to the -MiniBufExplorer- window
- let l:winNum = bufwinnr(bufnr('-MiniBufExplorer-'))
- if l:winNum != -1
- exec l:winNum.' wincmd w'
- call <SID>DEBUG('Got to -MiniBufExplorer- window: '.winnr(),5)
- else
- call <SID>DEBUG('Unable to get to -MiniBufExplorer- window',1)
- endif
-
- " Delete the buffer selected.
- call <SID>DEBUG('About to delete buffer: '.l:selBuf,5)
- exec('silent! bd '.l:selBuf)
-
- let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
- call <SID>DisplayBuffers(-1)
- call cursor(l:curLine, l:curCol)
-
- endif
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
-
- call <SID>DEBUG('===========================',10)
- call <SID>DEBUG('Completed MBEDeleteBuffer()',10)
- call <SID>DEBUG('===========================',10)
-
-endfunction
-
-" }}}
-" MBEClick - Handle mouse double click {{{
-"
-function! s:MBEClick()
- call <SID>DEBUG('Entering MBEClick()',10)
- call <SID>MBESelectBuffer()
-endfunction
-
-"
-" MBEDoubleClick - Double click with the mouse.
-"
-function! s:MBEDoubleClick()
- call <SID>DEBUG('Entering MBEDoubleClick()',10)
- call <SID>MBESelectBuffer()
-endfunction
-
-" }}}
-" CycleBuffer - Cycle Through Buffers {{{
-"
-" Move to next or previous buffer in the current window. If there
-" are no more modifiable buffers then stay on the current buffer.
-" can be called with no parameters in which case the buffers are
-" cycled forward. Otherwise a single argument is accepted, if
-" it's 0 then the buffers are cycled backwards, otherwise they
-" are cycled forward.
-"
-function! <SID>CycleBuffer(forward)
-
- " The following hack handles the case where we only have one
- " window open and it is too small
- let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
- if (winbufnr(2) == -1)
- resize
- let g:miniBufExplorerAutoUpdate = 0
- endif
-
- " Change buffer (keeping track of before and after buffers)
- let l:origBuf = bufnr('%')
- if (a:forward == 1)
- bn!
- else
- bp!
- endif
- let l:curBuf = bufnr('%')
-
- " Skip any non-modifiable buffers, but don't cycle forever
- " This should stop us from stopping in any of the [Explorers]
- while getbufvar(l:curBuf, '&modifiable') == 0 && l:origBuf != l:curBuf
- if (a:forward == 1)
- bn!
- else
- bp!
- endif
- let l:curBuf = bufnr('%')
- endwhile
-
- let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
- if (l:saveAutoUpdate == 1)
- call <SID>AutoUpdate(-1)
- endif
-
-endfunction
-
-" }}}
-" DEBUG - Display debug output when debugging is turned on {{{
-"
-" Thanks to Charles E. Campbell, Jr. PhD <cec@NgrOyphSon.gPsfAc.nMasa.gov>
-" for Decho.vim which was the inspiration for this enhanced debugging
-" capability.
-"
-function! <SID>DEBUG(msg, level)
-
- if g:miniBufExplorerDebugLevel >= a:level
-
- " Prevent a report of our actions from showing up.
- let l:save_rep = &report
- let l:save_sc = &showcmd
- let &report = 10000
- set noshowcmd
-
- " Debug output to a buffer
- if g:miniBufExplorerDebugMode == 0
- " Save the current window number so we can come back here
- let l:prevWin = winnr()
- wincmd p
- let l:prevPrevWin = winnr()
- wincmd p
-
- " Get into the debug window or create it if needed
- call <SID>FindCreateWindow('MiniBufExplorer.DBG', 1, 0, 0)
-
- " Make sure we really got to our window, if not we
- " will display a confirm dialog and turn debugging
- " off so that we won't break things even more.
- if bufname('%') != 'MiniBufExplorer.DBG'
- call confirm('Error in window debugging code. Dissabling MiniBufExplorer debugging.', 'OK')
- let g:miniBufExplorerDebugLevel = 0
- endif
-
- " Write Message to DBG buffer
- let res=append("$",s:debugIndex.':'.a:level.':'.a:msg)
- norm G
- "set nomodified
-
- " Return to original window
- exec l:prevPrevWin.' wincmd w'
- exec l:prevWin.' wincmd w'
- " Debug output using VIM's echo facility
- elseif g:miniBufExplorerDebugMode == 1
- echo s:debugIndex.':'.a:level.':'.a:msg
- " Debug output to a file -- VERY SLOW!!!
- " should be OK on UNIX and Win32 (not the 95/98 variants)
- elseif g:miniBufExplorerDebugMode == 2
- if has('system') || has('fork')
- if has('win32') && !has('win95')
- let l:result = system("cmd /c 'echo ".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'")
- endif
- if has('unix')
- let l:result = system("echo '".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'")
- endif
- else
- call confirm('Error in file writing version of the debugging code, vim not compiled with system or fork. Dissabling MiniBufExplorer debugging.', 'OK')
- let g:miniBufExplorerDebugLevel = 0
- endif
- elseif g:miniBufExplorerDebugMode == 3
- let g:miniBufExplorerDebugOutput = g:miniBufExplorerDebugOutput."\n".s:debugIndex.':'.a:level.':'.a:msg
- endif
- let s:debugIndex = s:debugIndex + 1
-
- let &report = l:save_rep
- let &showcmd = l:save_sc
-
- endif
-
-endfunc " }}}
-
-" MBE Script History {{{
-"=============================================================================
-"
-" History: 6.3.2 o For some reason there was still a call to StopExplorer
-" with 2 params. Very old bug. I know I fixed before,
-" any way many thanks to Jason Mills for reporting this!
-" 6.3.1 o Include folds in source so that it's easier to
-" navigate.
-" o Added g:miniBufExplForceSyntaxEnable setting for folks
-" that want a :syntax enable to be called when we enter
-" buffers. This can resolve issues caused by a vim bug
-" where buffers show up without highlighting when another
-" buffer has been closed, quit, wiped or deleted.
-" 6.3.0 o Added an option to allow single click (rather than
-" the default double click) to select buffers in the
-" MBE window. This feature was requested by AW Law
-" and was inspired by taglist.vim. Note that you will
-" need the latest version of taglist.vim if you want to
-" use MBE and taglist both with singleclick turned on.
-" Also thanks to AW Law for pointing out that you can
-" make an Explorer not be listed in a standard :ls.
-" o Added the ability to have your tabs show up in a
-" vertical window rather than the standard horizontal
-" one. Just let g:miniBufExplVSplit = <width> in your
-" .vimrc and your will get this functionality.
-" o If you use the vertical explorer and you want it to
-" autosize then let g:miniBufExplMaxSize = <max width>
-" in your .vimrc. You may use the MinSize letting in
-" addition to the MaxLetting if you don't want a super
-" thin window.
-" o g:miniBufExplMaxHeight was renamed g:miniBufExplMaxSize
-" g:miniBufExplMinHeight was renamed g:miniBufExplMinSize
-" the old settings are backwards compatible if you don't
-" use the new settings, but they are depreciated.
-" 6.2.8 o Add an option to stop MBE from targeting non-modifiable
-" buffers when switching buffers. Thanks to AW Law for
-" the inspiration for this. This may not work if a user
-" has lots of explorer/help windows open.
-" 6.2.7 o Very minor bug fix for people who want to set
-" loaded_minibufexplorer in their .vimrc in order to
-" stop MBE from loading. 99.99% of users do not need
-" this update.
-" 6.2.6 o Moved history to end of source file
-" o Updated highlighting documentation
-" o Created global commands MBEbn and MBEbp that can be
-" used in mappings if folks want to cycle buffers while
-" skipping non-eligible buffers.
-" 6.2.5 o Added <Leader>mbt key mapping which will toggle
-" the MBE window. I map this to F3 in my .vimrc
-" with "map <F3> :TMiniBufExplorer<CR>" which
-" means I can easily close the MBE window when I'm
-" not using it and get it back when I want it.
-" o Changed default debug mode to 3 (write to global
-" g:miniBufExplorerDebugOutput)
-" o Made a pass through the documentation to clarify
-" serveral issues and provide more complete docs
-" for mappings and commands.
-" 6.2.4 o Because of the autocommand switch (see 6.2.0) it
-" was possible to remove the restriction on the
-" :set hidden option. It is now possible to use
-" this option with MBE.
-" 6.2.3 o Added miniBufExplTabWrap option. It is turned
-" off by default. When turned on spaces are added
-" between tabs and gq} is issued to perform line
-" formatting. This won't work very well if filenames
-" contain spaces. It would be pretty easy to write
-" my own formatter, but I'm too lazy, so if someone
-" really needs that feature I'll add it :)
-" 6.2.2 o Changed the way the g:miniBufExplorerMoreThanOne
-" global is handled. You can set this to the number
-" of eligible buffers you want to be loaded before
-" the MBE window is loaded. Setting it to 0 causes
-" the MBE window to be opened even if there are no
-" buffers. Setting it to 4 causes the window to stay
-" closed until the 4th eligible buffer is loaded.
-" o Added a MinHeight option. This is nice if you want
-" the MBE window to always take the same amount of
-" space. For example set MaxSize and MinSize to 2
-" and set MoreThanOne to 0 and you will always have
-" a 2 row (plus the ruler :) MBE window.
-" NOTE: in 6.3.0 we started using MinSize instead of
-" Minheight. This will still work if MinSize is not
-" specified, but it is depreciated. Use MinSize instead.
-" o I now setlocal foldcomun=0 and nonumber in the MBE
-" window. This is for those of you that like to have
-" these options turned on locally. I'm assuming noone
-" outthere wants foldcolumns and line numbers in the
-" MBE window? :)
-" o Fixed a bug where an empty MBE window was taking half
-" of the screen (partly why the MinHeight option was
-" added.)
-" 6.2.1 o If MBE is the only window (because of :bd for example)
-" and there are still eligible buffers then one of them
-" will be displayed.
-" o The <Leader>mbe mapping now highlights the buffer from
-" the current window.
-" o The delete ('d') binding in the MBE window now restors
-" the cursor position, which can help if you want to
-" delete several buffers in a row that are not at the
-" beginning of the buffer list.
-" o Added a new key binding ('p') in the MBE window to
-" switch to the previous window (last edit window)
-" 6.2.0 o Major overhaul of autocommand and list updating code,
-" we now have much better handling of :bd (which is the
-" most requested feature.) As well as resolving other
-" issues where the buffer list would not be updated
-" automatically. The old version tried to trap specific
-" events, this one just updates frequently, but it keeps
-" track and only changes the screen if there has been
-" a change.
-" o Added g:miniBufExplMaxHeight variable so you can keep
-" the -MiniBufExplorer- window small when you have lots
-" of buffers (or buffers with long names :)
-" NOTE: in 6.3.0 we started using MaxSize instead of
-" MaxHeight. This will still work if MaxSize is not
-" specified, but it is depreciated. Use MaxSize instead.
-" o Improvement to internal syntax highlighting code
-" I renamed the syntax group names. Anyone who has
-" figured out how to use them already shouldn't have
-" any trouble with the new Nameing :)
-" o Added debug mode 3 which writes to a global variable
-" this is fast and doesn't mess with the buffer/window
-" lists.
-" 6.1.0 o <Leader>mbc was failing because I was calling one of
-" my own functions with the wrong number of args. :(
-" Thanks to Gerry Patterson for finding this!
-" This code is very stable (although it has some
-" idiocyncracies.)
-" 6.0.9 o Double clicking tabs was overwriting the cliboard
-" register on MS Windows. Thanks to Shoeb Bhinderwala
-" for reporting this issue.
-" 6.0.8 o Apparently some VIM builds are having a hard time with
-" line continuation in scripts so the few that were here
-" have been removed.
-" o Generalized FindExplorer and FindCreateExplorer so
-" that they can be used for the debug window. Renaming
-" to FindWindow and FindCreateWindow.
-" o Updated debugging code so that debug output is put into
-" a buffer which can then be written to disk or emailed
-" to me when someone is having a major issue. Can also
-" write directly to a file (VERY SLOWLY) on UNIX or Win32
-" (not 95 or 98 at the moment) or use VIM's echo function
-" to display the output to the screen.
-" o Several people have had issues when the hidden option
-" is turned on. So I have put in several checks to make
-" sure folks know this if they try to use MBE with this
-" option set.
-" 6.0.7 o Handling BufDelete autocmd so that the UI updates
-" properly when using :bd (rather than going through
-" the MBE UI.)
-" o The AutoUpdate code will now close the MBE window when
-" there is a single eligible buffer available.
-" This has the usefull side effect of stopping the MBE
-" window from blocking the VIM session open when you close
-" the last buffer.
-" o Added functions, commands and maps to close & update
-" the MBE window (<leader>mbc and <leader>mbu.)
-" o Made MBE open/close state be sticky if set through
-" StartExplorer(1) or StopExplorer(1), which are
-" called from the standard mappings. So if you close
-" the mbe window with \mbc it won't be automatically
-" opened again unless you do a \mbe (or restart VIM).
-" o Removed spaces between "tabs" (even more mini :)
-" o Simplified MBE tab processing
-" 6.0.6 o Fixed register overwrite bug found by Sébastien Pierre
-" 6.0.5 o Fixed an issue with window sizing when we run out of
-" buffers.
-" o Fixed some weird commenting bugs.
-" o Added more optional fancy window/buffer navigation:
-" o You can turn on the capability to use control and the
-" arrow keys to move between windows.
-" o You can turn on the ability to use <C-TAB> and
-" <C-S-TAB> to open the next and previous (respectively)
-" buffer in the current window.
-" o You can turn on the ability to use <C-TAB> and
-" <C-S-TAB> to switch windows (forward and backwards
-" respectively.)
-" 6.0.4 o Added optional fancy window navigation:
-" o Holding down control and pressing a vim direction
-" [hjkl] will switch windows in the indicated direction.
-" 6.0.3 o Changed buffer name to -MiniBufExplorer- to resolve
-" Issue in filename pattern matching on Windows.
-" 6.0.2 o 2 Changes requested by Suresh Govindachar:
-" o Added SplitToEdge option and set it on by default
-" o Added tab and shift-tab mappings in [MBE] window
-" 6.0.1 o Added MoreThanOne option and set it on by default
-" MiniBufExplorer will not automatically open until
-" more than one eligible buffers are opened. This
-" reduces cluter when you are only working on a
-" single file.
-" NOTE: See change log for 6.2.2 for more details about
-" this feature
-" 6.0.0 o Initial Release on November 20, 2001
-"
-"=============================================================================
-" }}}
-" vim:ft=vim:fdm=marker:ff=unix:nowrap:tabstop=4:shiftwidth=4:softtabstop=4:smarttab:shiftround:expandtab
diff --git a/.vim/plugin/openssl.vim b/.vim/plugin/openssl.vim
deleted file mode 100644
index 2e2db44..0000000
--- a/.vim/plugin/openssl.vim
+++ /dev/null
@@ -1,201 +0,0 @@
-" openssl.vim version 3.2 2008 Noah Spurrier <noah@noah.org>
-"
-" == Edit OpenSSL encrypted files and turn Vim into a Password Safe! ==
-"
-" This plugin enables reading and writing of files encrypted using OpenSSL.
-" The file must have the extension of one of the ciphers used by OpenSSL. For
-" example:
-"
-" .des3 .aes .bf .bfa .idea .cast .rc2 .rc4 .rc5 (.bfa is base64 ASCII
-" encoded blowfish.)
-"
-" This will turn off the swap file and the .viminfo log. The `openssl` command
-" line tool must be in the path.
-"
-" == Install ==
-"
-" Put this in your plugin directory and Vim will automatically load it:
-"
-" ~/.vim/plugin/openssl.vim
-"
-" You can start by editing an empty unencrypted file. Give it one of the
-" extensions above. When you write the file you will be asked to give it a new
-" password.
-"
-" == Simple Vim Password Safe ==
-"
-" If you edit any file named '.auth.bfa' (that's the full name, not just the
-" extension) then this plugin will add folding features and an automatic quit
-" timeout.
-"
-" Vim will quit automatically after 5 minutes of no typing activity (unless
-" the file has been changed).
-"
-" This plugin will fold on wiki-style headlines in the following format:
-"
-" == This is a headline ==
-"
-" Any notes under the headline will be inside the fold until the next headline
-" is reached. The SPACE key will toggle a fold open and closed. The q key will
-" quit Vim. Create the following example file named ~/.auth.bfa:
-"
-" == Colo server ==
-"
-" username: maryjane password: esydpm
-"
-" == Office server ==
-"
-" username: peter password: 4m4z1ng
-"
-" Then create this bash alias:
-"
-" alias auth='view ~/.auth.bfa'
-"
-" Now you can view your password safe by typing 'auth'. When Vim starts all
-" the password information will be hidden under the headlines. To view the
-" password information put the cursor on the headline and press SPACE. When
-" you write an encrypted file a backup will automatically be made.
-"
-" This plugin can also make a backup of an encrypted file before writing
-" changes. This helps guard against the situation where you may edit a file
-" and write changes with the wrong password. You can still go back to the
-" previous backup version. The backup file will have the same name as the
-" original file with .bak before the original extension. For example:
-"
-" .auth.bfa --> .auth.bak.bfa
-"
-" To turn on backups put the following global definition in your .vimrc file:
-"
-" let g:openssl_backup = 1
-"
-" Thanks to Tom Purl for the original des3 tip.
-"
-" I release all copyright claims. This code is in the public domain.
-" Permission is granted to use, copy modify, distribute, and sell this
-" software for any purpose. I make no guarantee about the suitability of this
-" software for any purpose and I am not liable for any damages resulting from
-" its use. Further, I am under no obligation to maintain or extend this
-" software. It is provided on an 'as is' basis without any expressed or
-" implied warranty.
-"
-" $Id: openssl.vim 189 2008-01-28 20:44:44Z root $
-
-augroup openssl_encrypted
-if exists("openssl_encrypted_loaded")
- finish
-endif
-let openssl_encrypted_loaded = 1
-autocmd!
-
-function! s:OpenSSLReadPre()
- set cmdheight=3
- set viminfo=
- set noswapfile
- set shell=/bin/sh
- set bin
-endfunction
-
-function! s:OpenSSLReadPost()
- let l:cipher = expand("%:e")
- if l:cipher == "aes"
- let l:cipher = "aes-256-cbc"
- endif
- if l:cipher == "bfa"
- let l:cipher = "bf"
- let l:expr = "0,$!openssl " . l:cipher . " -d -a -salt"
- else
- let l:expr = "0,$!openssl " . l:cipher . " -d -salt"
- endif
-
- silent! execute l:expr
- if v:shell_error
- silent! 0,$y
- silent! undo
- echo "COULD NOT DECRYPT USING EXPRESSION: " . expr
- echo "Note that your version of openssl may not have the given cipher engine built-in"
- echo "even though the engine may be documented in the openssl man pages."
- echo "ERROR FROM OPENSSL:"
- echo @"
- echo "COULD NOT DECRYPT"
- return
- endif
- set nobin
- set cmdheight&
- set shell&
- execute ":doautocmd BufReadPost ".expand("%:r")
- redraw!
-endfunction
-
-function! s:OpenSSLWritePre()
- set cmdheight=3
- set shell=/bin/sh
- set bin
-
- if !exists("g:openssl_backup")
- let g:openssl_backup=0
- endif
- if (g:openssl_backup)
- silent! execute '!cp % %:r.bak.%:e'
- endif
-
- let l:cipher = expand("<afile>:e")
- if l:cipher == "aes"
- let l:cipher = "aes-256-cbc"
- endif
- if l:cipher == "bfa"
- let l:cipher = "bf"
- let l:expr = "0,$!openssl " . l:cipher . " -e -a -salt"
- else
- let l:expr = "0,$!openssl " . l:cipher . " -e -salt"
- endif
-
- silent! execute l:expr
- if v:shell_error
- silent! 0,$y
- silent! undo
- echo "COULD NOT ENCRYPT USING EXPRESSION: " . expr
- echo "Note that your version of openssl may not have the given cipher engine built in"
- echo "even though the engine may be documented in the openssl man pages."
- echo "ERROR FROM OPENSSL:"
- echo @"
- echo "COULD NOT ENCRYPT"
- return
- endif
-endfunction
-
-function! s:OpenSSLWritePost()
- silent! undo
- set nobin
- set shell&
- set cmdheight&
- redraw!
-endfunction
-
-autocmd BufReadPre,FileReadPre *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLReadPre()
-autocmd BufReadPost,FileReadPost *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLReadPost()
-autocmd BufWritePre,FileWritePre *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLWritePre()
-autocmd BufWritePost,FileWritePost *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLWritePost()
-
-" The following implements a simple password safe for any file named
-" '.auth.bfa'. The file is encrypted with Blowfish and base64 encoded.
-" Folding is supported for == headlines == style lines.
-
-function! HeadlineDelimiterExpression(lnum)
- if a:lnum == 1
- return ">1"
- endif
- return (getline(a:lnum)=~"^\\s*==.*==\\s*$") ? ">1" : "="
-endfunction
-autocmd BufReadPost,FileReadPost .auth.bfa set foldexpr=HeadlineDelimiterExpression(v:lnum)
-autocmd BufReadPost,FileReadPost .auth.bfa set foldlevel=0
-autocmd BufReadPost,FileReadPost .auth.bfa set foldcolumn=0
-autocmd BufReadPost,FileReadPost .auth.bfa set foldmethod=expr
-autocmd BufReadPost,FileReadPost .auth.bfa set foldtext=getline(v:foldstart)
-autocmd BufReadPost,FileReadPost .auth.bfa nnoremap <silent><space> :exe 'silent! normal! za'.(foldlevel('.')?'':'l')<CR>
-autocmd BufReadPost,FileReadPost .auth.bfa nnoremap <silent>q :q<CR>
-autocmd BufReadPost,FileReadPost .auth.bfa highlight Folded ctermbg=red ctermfg=black
-autocmd BufReadPost,FileReadPost .auth.bfa set updatetime=300000
-autocmd CursorHold .auth.bfa quit
-
-augroup END
-
diff --git a/.vim/plugin/remoteOpen.vim b/.vim/plugin/remoteOpen.vim
deleted file mode 100644
index cb550ff..0000000
--- a/.vim/plugin/remoteOpen.vim
+++ /dev/null
@@ -1,163 +0,0 @@
-" File: remoteOpen.vim
-" Author: Srinath Avadhanula <srinath AT fastmail DOT fm>
-" $Id: remoteOpen.vim 997 2006-03-20 09:45:45Z srinathava $
-"
-" Description:
-" Often times, an external program needs to open a file in gvim from the
-" command line. However, it will not know if the file is already opened in a
-" previous vim session. It is not sufficient to simply specify
-"
-" gvim --remote-silent <filename>
-"
-" because this simply opens up <filename> in the first remote gvim session it
-" sees. This script provides a command RemoteOpen which is meant to be used
-" from the command line as follows:
-"
-" gvim -c ":RemoteOpen +<lnum> <filename>"
-"
-" where <lnum> is the line-number you wish <filename> to open to. What will
-" happen is that a new gvim will start up and enquire from all previous
-" sessions if <filename> is already open in any of them. If it is, then it
-" will edit the file in that session and bring it to the foreground and itself
-" quit. Otherwise, it will not quit and instead open up the file for editing
-" at <lnum>.
-"
-" This was mainly created to be used with Yap (the dvi previewer in miktex),
-" so you can specify the program for "inverse search" as specified above.
-" This ensures that the inverse search uses the correct gvim each time.
-"
-" Ofcourse, this requires vim with +clientserver. If not, then RemoteOpen just
-" opens in the present session.
-
-" Enclose <args> in single quotes so it can be passed as a function argument.
-com -nargs=1 RemoteOpen :call RemoteOpen('<args>')
-com -nargs=? RemoteInsert :call RemoteInsert('<args>')
-
-" RemoteOpen: open a file remotely (if possible) {{{
-" Description: checks all open vim windows to see if this file has been opened
-" anywhere and if so, opens it there instead of in this session.
-function! RemoteOpen(arglist)
-
- " First construct line number and filename from argument. a:arglist is of
- " the form:
- " +10 c:\path\to\file
- " or just
- " c:\path\to\file
- if a:arglist =~ '^\s*+\d\+'
- let linenum = matchstr(a:arglist, '^\s*+\zs\d\+\ze')
- let filename = matchstr(a:arglist, '^\s*+\d\+\s*\zs.*\ze')
- else
- let linenum = 1
- let filename = matchstr(a:arglist, '^\s*\zs.*\ze')
- endif
- let filename = escape(filename, ' ')
- call Tex_Debug("linenum = ".linenum.', filename = '.filename, "ropen")
-
- " If there is no clientserver functionality, then just open in the present
- " session and return
- if !has('clientserver')
- call Tex_Debug("-clientserver, opening locally and returning", "ropen")
- exec "e ".filename
- exec linenum
- normal! zv
- return
- endif
-
- " Otherwise, loop through all available servers
- let servers = serverlist()
- " If there are no servers, open file locally.
- if servers == ''
- call Tex_Debug("no open servers, opening locally", "ropen")
- exec "e ".filename
- exec linenum
- let g:Remote_Server = 1
- normal! zv
- return
- endif
-
- let i = 1
- let server = s:Strntok(servers, "\n", i)
- let targetServer = v:servername
-
- while server != ''
- " Find out if there was any server which was used by remoteOpen before
- " this. If a new gvim session was ever started via remoteOpen, then
- " g:Remote_Server will be set.
- if remote_expr(server, 'exists("g:Remote_Server")')
- let targetServer = server
- endif
-
- " Ask each server if that file is being edited by them.
- let bufnum = remote_expr(server, "bufnr('".filename."')")
- " If it is...
- if bufnum != -1
- " ask the server to edit that file and come to the foreground.
- " set a variable g:Remote_Server to indicate that this server
- " session has at least one file opened via RemoteOpen
- let targetServer = server
- break
- end
-
- let i = i + 1
- let server = s:Strntok(servers, "\n", i)
- endwhile
-
- " If none of the servers have the file open, then open this file in the
- " first server. This has the advantage if yap tries to make vim open
- " multiple vims, then at least they will all be opened by the same gvim
- " server.
- call remote_send(targetServer,
- \ "\<C-\>\<C-n>".
- \ ":let g:Remote_Server = 1\<CR>".
- \ ":drop ".filename."\<CR>".
- \ ":".linenum."\<CR>zv"
- \ )
- call remote_foreground(targetServer)
- " quit this vim session
- if v:servername != targetServer
- q
- endif
-endfunction " }}}
-" RemoteInsert: inserts a \cite'ation remotely (if possible) {{{
-" Description:
-function! RemoteInsert(...)
-
- let citation = matchstr(argv(0), "\\[InsText('.cite{\\zs.\\{-}\\ze}');\\]")
- if citation == ""
- q
- endif
-
- " Otherwise, loop through all available servers
- let servers = serverlist()
-
- let i = 1
- let server = s:Strntok(servers, "\n", i)
- let targetServer = v:servername
-
- while server != ''
- if remote_expr(server, 'exists("g:Remote_WaitingForCite")')
- call remote_send(server, citation . "\<CR>")
- call remote_foreground(server)
- if v:servername != server
- q
- else
- return
- endif
- endif
-
- let i = i + 1
- let server = s:Strntok(servers, "\n", i)
- endwhile
-
- q
-
-endfunction " }}}
-" Strntok: extract the n^th token from a list {{{
-" example: Strntok('1,23,3', ',', 2) = 23
-fun! <SID>Strntok(s, tok, n)
- return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
-endfun
-
-" }}}
-
-" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:nowrap
diff --git a/.vim/plugin/taglist.vim b/.vim/plugin/taglist.vim
deleted file mode 100644
index 59901f6..0000000
--- a/.vim/plugin/taglist.vim
+++ /dev/null
@@ -1,4546 +0,0 @@
-" File: taglist.vim
-" Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-" Version: 4.5
-" Last Modified: September 21, 2007
-" Copyright: Copyright (C) 2002-2007 Yegappan Lakshmanan
-" Permission is hereby granted to use and distribute this code,
-" with or without modifications, provided that this copyright
-" notice is copied with it. Like anything else that's free,
-" taglist.vim is provided *as is* and comes with no warranty of any
-" kind, either expressed or implied. In no event will the copyright
-" holder be liable for any damamges resulting from the use of this
-" software.
-"
-" The "Tag List" plugin is a source code browser plugin for Vim and provides
-" an overview of the structure of the programming language files and allows
-" you to efficiently browse through source code files for different
-" programming languages. You can visit the taglist plugin home page for more
-" information:
-"
-" http://vim-taglist.sourceforge.net
-"
-" You can subscribe to the taglist mailing list to post your questions
-" or suggestions for improvement or to report bugs. Visit the following
-" page for subscribing to the mailing list:
-"
-" http://groups.yahoo.com/group/taglist/
-"
-" For more information about using this plugin, after installing the
-" taglist plugin, use the ":help taglist" command.
-"
-" Installation
-" ------------
-" 1. Download the taglist.zip file and unzip the files to the $HOME/.vim
-" or the $HOME/vimfiles or the $VIM/vimfiles directory. This should
-" unzip the following two files (the directory structure should be
-" preserved):
-"
-" plugin/taglist.vim - main taglist plugin file
-" doc/taglist.txt - documentation (help) file
-"
-" Refer to the 'add-plugin', 'add-global-plugin' and 'runtimepath'
-" Vim help pages for more details about installing Vim plugins.
-" 2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or
-" $VIM/vimfiles/doc directory, start Vim and run the ":helptags ."
-" command to process the taglist help file.
-" 3. If the exuberant ctags utility is not present in your PATH, then set the
-" Tlist_Ctags_Cmd variable to point to the location of the exuberant ctags
-" utility (not to the directory) in the .vimrc file.
-" 4. If you are running a terminal/console version of Vim and the
-" terminal doesn't support changing the window width then set the
-" 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
-" 5. Restart Vim.
-" 6. You can now use the ":TlistToggle" command to open/close the taglist
-" window. You can use the ":help taglist" command to get more
-" information about using the taglist plugin.
-"
-" ****************** Do not modify after this line ************************
-
-" Line continuation used here
-let s:cpo_save = &cpo
-set cpo&vim
-
-if !exists('loaded_taglist')
- " First time loading the taglist plugin
- "
- " To speed up the loading of Vim, the taglist plugin uses autoload
- " mechanism to load the taglist functions.
- " Only define the configuration variables, user commands and some
- " auto-commands and finish sourcing the file
-
- " The taglist plugin requires the built-in Vim system() function. If this
- " function is not available, then don't load the plugin.
- if !exists('*system')
- echomsg 'Taglist: Vim system() built-in function is not available. ' .
- \ 'Plugin is not loaded.'
- let loaded_taglist = 'no'
- let &cpo = s:cpo_save
- finish
- endif
-
- " Location of the exuberant ctags tool
- if !exists('Tlist_Ctags_Cmd')
- if executable('exuberant-ctags')
- " On Debian Linux, exuberant ctags is installed
- " as exuberant-ctags
- let Tlist_Ctags_Cmd = 'exuberant-ctags'
- elseif executable('exctags')
- " On Free-BSD, exuberant ctags is installed as exctags
- let Tlist_Ctags_Cmd = 'exctags'
- elseif executable('ctags')
- let Tlist_Ctags_Cmd = 'ctags'
- elseif executable('ctags.exe')
- let Tlist_Ctags_Cmd = 'ctags.exe'
- elseif executable('tags')
- let Tlist_Ctags_Cmd = 'tags'
- else
- echomsg 'Taglist: Exuberant ctags (http://ctags.sf.net) ' .
- \ 'not found in PATH. Plugin is not loaded.'
- " Skip loading the plugin
- let loaded_taglist = 'no'
- let &cpo = s:cpo_save
- finish
- endif
- endif
-
-
- " Automatically open the taglist window on Vim startup
- if !exists('Tlist_Auto_Open')
- let Tlist_Auto_Open = 0
- endif
-
- " When the taglist window is toggle opened, move the cursor to the
- " taglist window
- if !exists('Tlist_GainFocus_On_ToggleOpen')
- let Tlist_GainFocus_On_ToggleOpen = 0
- endif
-
- " Process files even when the taglist window is not open
- if !exists('Tlist_Process_File_Always')
- let Tlist_Process_File_Always = 0
- endif
-
- if !exists('Tlist_Show_Menu')
- let Tlist_Show_Menu = 0
- endif
-
- " Tag listing sort type - 'name' or 'order'
- if !exists('Tlist_Sort_Type')
- let Tlist_Sort_Type = 'order'
- endif
-
- " Tag listing window split (horizontal/vertical) control
- if !exists('Tlist_Use_Horiz_Window')
- let Tlist_Use_Horiz_Window = 0
- endif
-
- " Open the vertically split taglist window on the left or on the right
- " side. This setting is relevant only if Tlist_Use_Horiz_Window is set to
- " zero (i.e. only for vertically split windows)
- if !exists('Tlist_Use_Right_Window')
- let Tlist_Use_Right_Window = 0
- endif
-
- " Increase Vim window width to display vertically split taglist window.
- " For MS-Windows version of Vim running in a MS-DOS window, this must be
- " set to 0 otherwise the system may hang due to a Vim limitation.
- if !exists('Tlist_Inc_Winwidth')
- if (has('win16') || has('win95')) && !has('gui_running')
- let Tlist_Inc_Winwidth = 0
- else
- let Tlist_Inc_Winwidth = 1
- endif
- endif
-
- " Vertically split taglist window width setting
- if !exists('Tlist_WinWidth')
- let Tlist_WinWidth = 30
- endif
-
- " Horizontally split taglist window height setting
- if !exists('Tlist_WinHeight')
- let Tlist_WinHeight = 10
- endif
-
- " Display tag prototypes or tag names in the taglist window
- if !exists('Tlist_Display_Prototype')
- let Tlist_Display_Prototype = 0
- endif
-
- " Display tag scopes in the taglist window
- if !exists('Tlist_Display_Tag_Scope')
- let Tlist_Display_Tag_Scope = 1
- endif
-
- " Use single left mouse click to jump to a tag. By default this is disabled.
- " Only double click using the mouse will be processed.
- if !exists('Tlist_Use_SingleClick')
- let Tlist_Use_SingleClick = 0
- endif
-
- " Control whether additional help is displayed as part of the taglist or
- " not. Also, controls whether empty lines are used to separate the tag
- " tree.
- if !exists('Tlist_Compact_Format')
- let Tlist_Compact_Format = 0
- endif
-
- " Exit Vim if only the taglist window is currently open. By default, this is
- " set to zero.
- if !exists('Tlist_Exit_OnlyWindow')
- let Tlist_Exit_OnlyWindow = 0
- endif
-
- " Automatically close the folds for the non-active files in the taglist
- " window
- if !exists('Tlist_File_Fold_Auto_Close')
- let Tlist_File_Fold_Auto_Close = 0
- endif
-
- " Close the taglist window when a tag is selected
- if !exists('Tlist_Close_On_Select')
- let Tlist_Close_On_Select = 0
- endif
-
- " Automatically update the taglist window to display tags for newly
- " edited files
- if !exists('Tlist_Auto_Update')
- let Tlist_Auto_Update = 1
- endif
-
- " Automatically highlight the current tag
- if !exists('Tlist_Auto_Highlight_Tag')
- let Tlist_Auto_Highlight_Tag = 1
- endif
-
- " Automatically highlight the current tag on entering a buffer
- if !exists('Tlist_Highlight_Tag_On_BufEnter')
- let Tlist_Highlight_Tag_On_BufEnter = 1
- endif
-
- " Enable fold column to display the folding for the tag tree
- if !exists('Tlist_Enable_Fold_Column')
- let Tlist_Enable_Fold_Column = 1
- endif
-
- " Display the tags for only one file in the taglist window
- if !exists('Tlist_Show_One_File')
- let Tlist_Show_One_File = 0
- endif
-
- if !exists('Tlist_Max_Submenu_Items')
- let Tlist_Max_Submenu_Items = 20
- endif
-
- if !exists('Tlist_Max_Tag_Length')
- let Tlist_Max_Tag_Length = 10
- endif
-
- " Do not change the name of the taglist title variable. The winmanager
- " plugin relies on this name to determine the title for the taglist
- " plugin.
- let TagList_title = "__Tag_List__"
-
- " Taglist debug messages
- let s:tlist_msg = ''
-
- " Define the taglist autocommand to automatically open the taglist window
- " on Vim startup
- if g:Tlist_Auto_Open
- autocmd VimEnter * nested call s:Tlist_Window_Check_Auto_Open()
- endif
-
- " Refresh the taglist
- if g:Tlist_Process_File_Always
- autocmd BufEnter * call s:Tlist_Refresh()
- endif
-
- if g:Tlist_Show_Menu
- autocmd GUIEnter * call s:Tlist_Menu_Init()
- endif
-
- " When the taglist buffer is created when loading a Vim session file,
- " the taglist buffer needs to be initialized. The BufFilePost event
- " is used to handle this case.
- autocmd BufFilePost __Tag_List__ call s:Tlist_Vim_Session_Load()
-
- " Define the user commands to manage the taglist window
- command! -nargs=0 -bar TlistToggle call s:Tlist_Window_Toggle()
- command! -nargs=0 -bar TlistOpen call s:Tlist_Window_Open()
- " For backwards compatiblity define the Tlist command
- command! -nargs=0 -bar Tlist TlistToggle
- command! -nargs=+ -complete=file TlistAddFiles
- \ call s:Tlist_Add_Files(<f-args>)
- command! -nargs=+ -complete=dir TlistAddFilesRecursive
- \ call s:Tlist_Add_Files_Recursive(<f-args>)
- command! -nargs=0 -bar TlistClose call s:Tlist_Window_Close()
- command! -nargs=0 -bar TlistUpdate call s:Tlist_Update_Current_File()
- command! -nargs=0 -bar TlistHighlightTag call s:Tlist_Window_Highlight_Tag(
- \ fnamemodify(bufname('%'), ':p'), line('.'), 2, 1)
- " For backwards compatiblity define the TlistSync command
- command! -nargs=0 -bar TlistSync TlistHighlightTag
- command! -nargs=* -complete=buffer TlistShowPrototype
- \ echo Tlist_Get_Tag_Prototype_By_Line(<f-args>)
- command! -nargs=* -complete=buffer TlistShowTag
- \ echo Tlist_Get_Tagname_By_Line(<f-args>)
- command! -nargs=* -complete=file TlistSessionLoad
- \ call s:Tlist_Session_Load(<q-args>)
- command! -nargs=* -complete=file TlistSessionSave
- \ call s:Tlist_Session_Save(<q-args>)
- command! -bar TlistLock let Tlist_Auto_Update=0
- command! -bar TlistUnlock let Tlist_Auto_Update=1
-
- " Commands for enabling/disabling debug and to display debug messages
- command! -nargs=? -complete=file -bar TlistDebug
- \ call s:Tlist_Debug_Enable(<q-args>)
- command! -nargs=0 -bar TlistUndebug call s:Tlist_Debug_Disable()
- command! -nargs=0 -bar TlistMessages call s:Tlist_Debug_Show()
-
- " Define autocommands to autoload the taglist plugin when needed.
-
- " Trick to get the current script ID
- map <SID>xx <SID>xx
- let s:tlist_sid = substitute(maparg('<SID>xx'), '<SNR>\(\d\+_\)xx$',
- \ '\1', '')
- unmap <SID>xx
-
- exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_* source ' .
- \ escape(expand('<sfile>'), ' ')
- exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_Window_* source ' .
- \ escape(expand('<sfile>'), ' ')
- exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_Menu_* source ' .
- \ escape(expand('<sfile>'), ' ')
- exe 'autocmd FuncUndefined Tlist_* source ' .
- \ escape(expand('<sfile>'), ' ')
- exe 'autocmd FuncUndefined TagList_* source ' .
- \ escape(expand('<sfile>'), ' ')
-
- let loaded_taglist = 'fast_load_done'
-
- if g:Tlist_Show_Menu && has('gui_running')
- call s:Tlist_Menu_Init()
- endif
-
- " restore 'cpo'
- let &cpo = s:cpo_save
- finish
-endif
-
-if !exists('s:tlist_sid')
- " Two or more versions of taglist plugin are installed. Don't
- " load this version of the plugin.
- finish
-endif
-
-unlet! s:tlist_sid
-
-if loaded_taglist != 'fast_load_done'
- " restore 'cpo'
- let &cpo = s:cpo_save
- finish
-endif
-
-" Taglist plugin functionality is available
-let loaded_taglist = 'available'
-
-"------------------- end of user configurable options --------------------
-
-" Default language specific settings for supported file types and tag types
-"
-" Variable name format:
-"
-" s:tlist_def_{vim_ftype}_settings
-"
-" vim_ftype - Filetype detected by Vim
-"
-" Value format:
-"
-" <ctags_ftype>;<flag>:<name>;<flag>:<name>;...
-"
-" ctags_ftype - File type supported by exuberant ctags
-" flag - Flag supported by exuberant ctags to generate a tag type
-" name - Name of the tag type used in the taglist window to display the
-" tags of this type
-"
-
-" assembly language
-let s:tlist_def_asm_settings = 'asm;d:define;l:label;m:macro;t:type'
-
-" aspperl language
-let s:tlist_def_aspperl_settings = 'asp;f:function;s:sub;v:variable'
-
-" aspvbs language
-let s:tlist_def_aspvbs_settings = 'asp;f:function;s:sub;v:variable'
-
-" awk language
-let s:tlist_def_awk_settings = 'awk;f:function'
-
-" beta language
-let s:tlist_def_beta_settings = 'beta;f:fragment;s:slot;v:pattern'
-
-" c language
-let s:tlist_def_c_settings = 'c;d:macro;g:enum;s:struct;u:union;t:typedef;' .
- \ 'v:variable;f:function'
-
-" c++ language
-let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
- \ 'c:class;g:enum;s:struct;u:union;f:function'
-
-" c# language
-let s:tlist_def_cs_settings = 'c#;d:macro;t:typedef;n:namespace;c:class;' .
- \ 'E:event;g:enum;s:struct;i:interface;' .
- \ 'p:properties;m:method'
-
-" cobol language
-let s:tlist_def_cobol_settings = 'cobol;d:data;f:file;g:group;p:paragraph;' .
- \ 'P:program;s:section'
-
-" eiffel language
-let s:tlist_def_eiffel_settings = 'eiffel;c:class;f:feature'
-
-" erlang language
-let s:tlist_def_erlang_settings = 'erlang;d:macro;r:record;m:module;f:function'
-
-" expect (same as tcl) language
-let s:tlist_def_expect_settings = 'tcl;c:class;f:method;p:procedure'
-
-" fortran language
-let s:tlist_def_fortran_settings = 'fortran;p:program;b:block data;' .
- \ 'c:common;e:entry;i:interface;k:type;l:label;m:module;' .
- \ 'n:namelist;t:derived;v:variable;f:function;s:subroutine'
-
-" HTML language
-let s:tlist_def_html_settings = 'html;a:anchor;f:javascript function'
-
-" java language
-let s:tlist_def_java_settings = 'java;p:package;c:class;i:interface;' .
- \ 'f:field;m:method'
-
-" javascript language
-let s:tlist_def_javascript_settings = 'javascript;f:function'
-
-" lisp language
-let s:tlist_def_lisp_settings = 'lisp;f:function'
-
-" lua language
-let s:tlist_def_lua_settings = 'lua;f:function'
-
-" makefiles
-let s:tlist_def_make_settings = 'make;m:macro'
-
-" pascal language
-let s:tlist_def_pascal_settings = 'pascal;f:function;p:procedure'
-
-" perl language
-let s:tlist_def_perl_settings = 'perl;c:constant;l:label;p:package;s:subroutine'
-
-" php language
-let s:tlist_def_php_settings = 'php;c:class;d:constant;v:variable;f:function'
-
-" python language
-let s:tlist_def_python_settings = 'python;c:class;m:member;f:function'
-
-" rexx language
-let s:tlist_def_rexx_settings = 'rexx;s:subroutine'
-
-" ruby language
-let s:tlist_def_ruby_settings = 'ruby;c:class;f:method;F:function;' .
- \ 'm:singleton method'
-
-" scheme language
-let s:tlist_def_scheme_settings = 'scheme;s:set;f:function'
-
-" shell language
-let s:tlist_def_sh_settings = 'sh;f:function'
-
-" C shell language
-let s:tlist_def_csh_settings = 'sh;f:function'
-
-" Z shell language
-let s:tlist_def_zsh_settings = 'sh;f:function'
-
-" slang language
-let s:tlist_def_slang_settings = 'slang;n:namespace;f:function'
-
-" sml language
-let s:tlist_def_sml_settings = 'sml;e:exception;c:functor;s:signature;' .
- \ 'r:structure;t:type;v:value;f:function'
-
-" sql language
-let s:tlist_def_sql_settings = 'sql;c:cursor;F:field;P:package;r:record;' .
- \ 's:subtype;t:table;T:trigger;v:variable;f:function;p:procedure'
-
-" tcl language
-let s:tlist_def_tcl_settings = 'tcl;c:class;f:method;m:method;p:procedure'
-
-" vera language
-let s:tlist_def_vera_settings = 'vera;c:class;d:macro;e:enumerator;' .
- \ 'f:function;g:enum;m:member;p:program;' .
- \ 'P:prototype;t:task;T:typedef;v:variable;' .
- \ 'x:externvar'
-
-"verilog language
-let s:tlist_def_verilog_settings = 'verilog;m:module;c:constant;P:parameter;' .
- \ 'e:event;r:register;t:task;w:write;p:port;v:variable;f:function'
-
-" vim language
-let s:tlist_def_vim_settings = 'vim;a:autocmds;v:variable;f:function'
-
-" yacc language
-let s:tlist_def_yacc_settings = 'yacc;l:label'
-
-"------------------- end of language specific options --------------------
-
-" Vim window size is changed by the taglist plugin or not
-let s:tlist_winsize_chgd = -1
-" Taglist window is maximized or not
-let s:tlist_win_maximized = 0
-" Name of files in the taglist
-let s:tlist_file_names=''
-" Number of files in the taglist
-let s:tlist_file_count = 0
-" Number of filetypes supported by taglist
-let s:tlist_ftype_count = 0
-" Is taglist part of other plugins like winmanager or cream?
-let s:tlist_app_name = "none"
-" Are we displaying brief help text
-let s:tlist_brief_help = 1
-" List of files removed on user request
-let s:tlist_removed_flist = ""
-" Index of current file displayed in the taglist window
-let s:tlist_cur_file_idx = -1
-" Taglist menu is empty or not
-let s:tlist_menu_empty = 1
-
-" An autocommand is used to refresh the taglist window when entering any
-" buffer. We don't want to refresh the taglist window if we are entering the
-" file window from one of the taglist functions. The 'Tlist_Skip_Refresh'
-" variable is used to skip the refresh of the taglist window and is set
-" and cleared appropriately.
-let s:Tlist_Skip_Refresh = 0
-
-" Tlist_Window_Display_Help()
-function! s:Tlist_Window_Display_Help()
- if s:tlist_app_name == "winmanager"
- " To handle a bug in the winmanager plugin, add a space at the
- " last line
- call setline('$', ' ')
- endif
-
- if s:tlist_brief_help
- " Add the brief help
- call append(0, '" Press <F1> to display help text')
- else
- " Add the extensive help
- call append(0, '" <enter> : Jump to tag definition')
- call append(1, '" o : Jump to tag definition in new window')
- call append(2, '" p : Preview the tag definition')
- call append(3, '" <space> : Display tag prototype')
- call append(4, '" u : Update tag list')
- call append(5, '" s : Select sort field')
- call append(6, '" d : Remove file from taglist')
- call append(7, '" x : Zoom-out/Zoom-in taglist window')
- call append(8, '" + : Open a fold')
- call append(9, '" - : Close a fold')
- call append(10, '" * : Open all folds')
- call append(11, '" = : Close all folds')
- call append(12, '" [[ : Move to the start of previous file')
- call append(13, '" ]] : Move to the start of next file')
- call append(14, '" q : Close the taglist window')
- call append(15, '" <F1> : Remove help text')
- endif
-endfunction
-
-" Tlist_Window_Toggle_Help_Text()
-" Toggle taglist plugin help text between the full version and the brief
-" version
-function! s:Tlist_Window_Toggle_Help_Text()
- if g:Tlist_Compact_Format
- " In compact display mode, do not display help
- return
- endif
-
- " Include the empty line displayed after the help text
- let brief_help_size = 1
- let full_help_size = 16
-
- setlocal modifiable
-
- " Set report option to a huge value to prevent informational messages
- " while deleting the lines
- let old_report = &report
- set report=99999
-
- " Remove the currently highlighted tag. Otherwise, the help text
- " might be highlighted by mistake
- match none
-
- " Toggle between brief and full help text
- if s:tlist_brief_help
- let s:tlist_brief_help = 0
-
- " Remove the previous help
- exe '1,' . brief_help_size . ' delete _'
-
- " Adjust the start/end line numbers for the files
- call s:Tlist_Window_Update_Line_Offsets(0, 1, full_help_size - brief_help_size)
- else
- let s:tlist_brief_help = 1
-
- " Remove the previous help
- exe '1,' . full_help_size . ' delete _'
-
- " Adjust the start/end line numbers for the files
- call s:Tlist_Window_Update_Line_Offsets(0, 0, full_help_size - brief_help_size)
- endif
-
- call s:Tlist_Window_Display_Help()
-
- " Restore the report option
- let &report = old_report
-
- setlocal nomodifiable
-endfunction
-
-" Taglist debug support
-let s:tlist_debug = 0
-
-" File for storing the debug messages
-let s:tlist_debug_file = ''
-
-" Tlist_Debug_Enable
-" Enable logging of taglist debug messages.
-function! s:Tlist_Debug_Enable(...)
- let s:tlist_debug = 1
-
- " Check whether a valid file name is supplied.
- if a:1 != ''
- let s:tlist_debug_file = fnamemodify(a:1, ':p')
-
- " Empty the log file
- exe 'redir! > ' . s:tlist_debug_file
- redir END
-
- " Check whether the log file is present/created
- if !filewritable(s:tlist_debug_file)
- call s:Tlist_Warning_Msg('Taglist: Unable to create log file '
- \ . s:tlist_debug_file)
- let s:tlist_debug_file = ''
- endif
- endif
-endfunction
-
-" Tlist_Debug_Disable
-" Disable logging of taglist debug messages.
-function! s:Tlist_Debug_Disable(...)
- let s:tlist_debug = 0
- let s:tlist_debug_file = ''
-endfunction
-
-" Tlist_Debug_Show
-" Display the taglist debug messages in a new window
-function! s:Tlist_Debug_Show()
- if s:tlist_msg == ''
- call s:Tlist_Warning_Msg('Taglist: No debug messages')
- return
- endif
-
- " Open a new window to display the taglist debug messages
- new taglist_debug.txt
- " Delete all the lines (if the buffer already exists)
- silent! %delete _
- " Add the messages
- silent! put =s:tlist_msg
- " Move the cursor to the first line
- normal! gg
-endfunction
-
-" Tlist_Log_Msg
-" Log the supplied debug message along with the time
-function! s:Tlist_Log_Msg(msg)
- if s:tlist_debug
- if s:tlist_debug_file != ''
- exe 'redir >> ' . s:tlist_debug_file
- silent echon strftime('%H:%M:%S') . ': ' . a:msg . "\n"
- redir END
- else
- " Log the message into a variable
- " Retain only the last 3000 characters
- let len = strlen(s:tlist_msg)
- if len > 3000
- let s:tlist_msg = strpart(s:tlist_msg, len - 3000)
- endif
- let s:tlist_msg = s:tlist_msg . strftime('%H:%M:%S') . ': ' .
- \ a:msg . "\n"
- endif
- endif
-endfunction
-
-" Tlist_Warning_Msg()
-" Display a message using WarningMsg highlight group
-function! s:Tlist_Warning_Msg(msg)
- echohl WarningMsg
- echomsg a:msg
- echohl None
-endfunction
-
-" Last returned file index for file name lookup.
-" Used to speed up file lookup
-let s:tlist_file_name_idx_cache = -1
-
-" Tlist_Get_File_Index()
-" Return the index of the specified filename
-function! s:Tlist_Get_File_Index(fname)
- if s:tlist_file_count == 0 || a:fname == ''
- return -1
- endif
-
- " If the new filename is same as the last accessed filename, then
- " return that index
- if s:tlist_file_name_idx_cache != -1 &&
- \ s:tlist_file_name_idx_cache < s:tlist_file_count
- if s:tlist_{s:tlist_file_name_idx_cache}_filename == a:fname
- " Same as the last accessed file
- return s:tlist_file_name_idx_cache
- endif
- endif
-
- " First, check whether the filename is present
- let s_fname = a:fname . "\n"
- let i = stridx(s:tlist_file_names, s_fname)
- if i == -1
- let s:tlist_file_name_idx_cache = -1
- return -1
- endif
-
- " Second, compute the file name index
- let nl_txt = substitute(strpart(s:tlist_file_names, 0, i), "[^\n]", '', 'g')
- let s:tlist_file_name_idx_cache = strlen(nl_txt)
- return s:tlist_file_name_idx_cache
-endfunction
-
-" Last returned file index for line number lookup.
-" Used to speed up file lookup
-let s:tlist_file_lnum_idx_cache = -1
-
-" Tlist_Window_Get_File_Index_By_Linenum()
-" Return the index of the filename present in the specified line number
-" Line number refers to the line number in the taglist window
-function! s:Tlist_Window_Get_File_Index_By_Linenum(lnum)
- call s:Tlist_Log_Msg('Tlist_Window_Get_File_Index_By_Linenum (' . a:lnum . ')')
-
- " First try to see whether the new line number is within the range
- " of the last returned file
- if s:tlist_file_lnum_idx_cache != -1 &&
- \ s:tlist_file_lnum_idx_cache < s:tlist_file_count
- if a:lnum >= s:tlist_{s:tlist_file_lnum_idx_cache}_start &&
- \ a:lnum <= s:tlist_{s:tlist_file_lnum_idx_cache}_end
- return s:tlist_file_lnum_idx_cache
- endif
- endif
-
- let fidx = -1
-
- if g:Tlist_Show_One_File
- " Displaying only one file in the taglist window. Check whether
- " the line is within the tags displayed for that file
- if s:tlist_cur_file_idx != -1
- if a:lnum >= s:tlist_{s:tlist_cur_file_idx}_start
- \ && a:lnum <= s:tlist_{s:tlist_cur_file_idx}_end
- let fidx = s:tlist_cur_file_idx
- endif
-
- endif
- else
- " Do a binary search in the taglist
- let left = 0
- let right = s:tlist_file_count - 1
-
- while left < right
- let mid = (left + right) / 2
-
- if a:lnum >= s:tlist_{mid}_start && a:lnum <= s:tlist_{mid}_end
- let s:tlist_file_lnum_idx_cache = mid
- return mid
- endif
-
- if a:lnum < s:tlist_{mid}_start
- let right = mid - 1
- else
- let left = mid + 1
- endif
- endwhile
-
- if left >= 0 && left < s:tlist_file_count
- \ && a:lnum >= s:tlist_{left}_start
- \ && a:lnum <= s:tlist_{left}_end
- let fidx = left
- endif
- endif
-
- let s:tlist_file_lnum_idx_cache = fidx
-
- return fidx
-endfunction
-
-" Tlist_Exe_Cmd_No_Acmds
-" Execute the specified Ex command after disabling autocommands
-function! s:Tlist_Exe_Cmd_No_Acmds(cmd)
- let old_eventignore = &eventignore
- set eventignore=all
- exe a:cmd
- let &eventignore = old_eventignore
-endfunction
-
-" Tlist_Skip_File()
-" Check whether tag listing is supported for the specified file
-function! s:Tlist_Skip_File(filename, ftype)
- " Skip buffers with no names and buffers with filetype not set
- if a:filename == '' || a:ftype == ''
- return 1
- endif
-
- " Skip files which are not supported by exuberant ctags
- " First check whether default settings for this filetype are available.
- " If it is not available, then check whether user specified settings are
- " available. If both are not available, then don't list the tags for this
- " filetype
- let var = 's:tlist_def_' . a:ftype . '_settings'
- if !exists(var)
- let var = 'g:tlist_' . a:ftype . '_settings'
- if !exists(var)
- return 1
- endif
- endif
-
- " Skip files which are not readable or files which are not yet stored
- " to the disk
- if !filereadable(a:filename)
- return 1
- endif
-
- return 0
-endfunction
-
-" Tlist_User_Removed_File
-" Returns 1 if a file is removed by a user from the taglist
-function! s:Tlist_User_Removed_File(filename)
- return stridx(s:tlist_removed_flist, a:filename . "\n") != -1
-endfunction
-
-" Tlist_Update_Remove_List
-" Update the list of user removed files from the taglist
-" add == 1, add the file to the removed list
-" add == 0, delete the file from the removed list
-function! s:Tlist_Update_Remove_List(filename, add)
- if a:add
- let s:tlist_removed_flist = s:tlist_removed_flist . a:filename . "\n"
- else
- let idx = stridx(s:tlist_removed_flist, a:filename . "\n")
- let text_before = strpart(s:tlist_removed_flist, 0, idx)
- let rem_text = strpart(s:tlist_removed_flist, idx)
- let next_idx = stridx(rem_text, "\n")
- let text_after = strpart(rem_text, next_idx + 1)
-
- let s:tlist_removed_flist = text_before . text_after
- endif
-endfunction
-
-" Tlist_FileType_Init
-" Initialize the ctags arguments and tag variable for the specified
-" file type
-function! s:Tlist_FileType_Init(ftype)
- call s:Tlist_Log_Msg('Tlist_FileType_Init (' . a:ftype . ')')
- " If the user didn't specify any settings, then use the default
- " ctags args. Otherwise, use the settings specified by the user
- let var = 'g:tlist_' . a:ftype . '_settings'
- if exists(var)
- " User specified ctags arguments
- let settings = {var} . ';'
- else
- " Default ctags arguments
- let var = 's:tlist_def_' . a:ftype . '_settings'
- if !exists(var)
- " No default settings for this file type. This filetype is
- " not supported
- return 0
- endif
- let settings = s:tlist_def_{a:ftype}_settings . ';'
- endif
-
- let msg = 'Taglist: Invalid ctags option setting - ' . settings
-
- " Format of the option that specifies the filetype and ctags arugments:
- "
- " <language_name>;flag1:name1;flag2:name2;flag3:name3
- "
-
- " Extract the file type to pass to ctags. This may be different from the
- " file type detected by Vim
- let pos = stridx(settings, ';')
- if pos == -1
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- let ctags_ftype = strpart(settings, 0, pos)
- if ctags_ftype == ''
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- " Make sure a valid filetype is supplied. If the user didn't specify a
- " valid filetype, then the ctags option settings may be treated as the
- " filetype
- if ctags_ftype =~ ':'
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
-
- " Remove the file type from settings
- let settings = strpart(settings, pos + 1)
- if settings == ''
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
-
- " Process all the specified ctags flags. The format is
- " flag1:name1;flag2:name2;flag3:name3
- let ctags_flags = ''
- let cnt = 0
- while settings != ''
- " Extract the flag
- let pos = stridx(settings, ':')
- if pos == -1
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- let flag = strpart(settings, 0, pos)
- if flag == ''
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- " Remove the flag from settings
- let settings = strpart(settings, pos + 1)
-
- " Extract the tag type name
- let pos = stridx(settings, ';')
- if pos == -1
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- let name = strpart(settings, 0, pos)
- if name == ''
- call s:Tlist_Warning_Msg(msg)
- return 0
- endif
- let settings = strpart(settings, pos + 1)
-
- let cnt = cnt + 1
-
- let s:tlist_{a:ftype}_{cnt}_name = flag
- let s:tlist_{a:ftype}_{cnt}_fullname = name
- let ctags_flags = ctags_flags . flag
- endwhile
-
- let s:tlist_{a:ftype}_ctags_args = '--language-force=' . ctags_ftype .
- \ ' --' . ctags_ftype . '-types=' . ctags_flags
- let s:tlist_{a:ftype}_count = cnt
- let s:tlist_{a:ftype}_ctags_flags = ctags_flags
-
- " Save the filetype name
- let s:tlist_ftype_{s:tlist_ftype_count}_name = a:ftype
- let s:tlist_ftype_count = s:tlist_ftype_count + 1
-
- return 1
-endfunction
-
-" Tlist_Detect_Filetype
-" Determine the filetype for the specified file using the filetypedetect
-" autocmd.
-function! s:Tlist_Detect_Filetype(fname)
- " Ignore the filetype autocommands
- let old_eventignore = &eventignore
- set eventignore=FileType
-
- " Save the 'filetype', as this will be changed temporarily
- let old_filetype = &filetype
-
- " Run the filetypedetect group of autocommands to determine
- " the filetype
- exe 'doautocmd filetypedetect BufRead ' . a:fname
-
- " Save the detected filetype
- let ftype = &filetype
-
- " Restore the previous state
- let &filetype = old_filetype
- let &eventignore = old_eventignore
-
- return ftype
-endfunction
-
-" Tlist_Get_Buffer_Filetype
-" Get the filetype for the specified buffer
-function! s:Tlist_Get_Buffer_Filetype(bnum)
- let buf_ft = getbufvar(a:bnum, '&filetype')
-
- if bufloaded(a:bnum)
- " For loaded buffers, the 'filetype' is already determined
- return buf_ft
- endif
-
- " For unloaded buffers, if the 'filetype' option is set, return it
- if buf_ft != ''
- return buf_ft
- endif
-
- " Skip non-existent buffers
- if !bufexists(a:bnum)
- return ''
- endif
-
- " For buffers whose filetype is not yet determined, try to determine
- " the filetype
- let bname = bufname(a:bnum)
-
- return s:Tlist_Detect_Filetype(bname)
-endfunction
-
-" Tlist_Discard_TagInfo
-" Discard the stored tag information for a file
-function! s:Tlist_Discard_TagInfo(fidx)
- call s:Tlist_Log_Msg('Tlist_Discard_TagInfo (' .
- \ s:tlist_{a:fidx}_filename . ')')
- let ftype = s:tlist_{a:fidx}_filetype
-
- " Discard information about the tags defined in the file
- let i = 1
- while i <= s:tlist_{a:fidx}_tag_count
- let fidx_i = 's:tlist_' . a:fidx . '_' . i
- unlet! {fidx_i}_tag
- unlet! {fidx_i}_tag_name
- unlet! {fidx_i}_tag_type
- unlet! {fidx_i}_ttype_idx
- unlet! {fidx_i}_tag_proto
- unlet! {fidx_i}_tag_searchpat
- unlet! {fidx_i}_tag_linenum
- let i = i + 1
- endwhile
-
- let s:tlist_{a:fidx}_tag_count = 0
-
- " Discard information about tag type groups
- let i = 1
- while i <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{i}_name
- if s:tlist_{a:fidx}_{ttype} != ''
- let fidx_ttype = 's:tlist_' . a:fidx . '_' . ttype
- let {fidx_ttype} = ''
- let {fidx_ttype}_offset = 0
- let cnt = {fidx_ttype}_count
- let {fidx_ttype}_count = 0
- let j = 1
- while j <= cnt
- unlet! {fidx_ttype}_{j}
- let j = j + 1
- endwhile
- endif
- let i = i + 1
- endwhile
-
- " Discard the stored menu command also
- let s:tlist_{a:fidx}_menu_cmd = ''
-endfunction
-
-" Tlist_Window_Update_Line_Offsets
-" Update the line offsets for tags for files starting from start_idx
-" and displayed in the taglist window by the specified offset
-function! s:Tlist_Window_Update_Line_Offsets(start_idx, increment, offset)
- let i = a:start_idx
-
- while i < s:tlist_file_count
- if s:tlist_{i}_visible
- " Update the start/end line number only if the file is visible
- if a:increment
- let s:tlist_{i}_start = s:tlist_{i}_start + a:offset
- let s:tlist_{i}_end = s:tlist_{i}_end + a:offset
- else
- let s:tlist_{i}_start = s:tlist_{i}_start - a:offset
- let s:tlist_{i}_end = s:tlist_{i}_end - a:offset
- endif
- endif
- let i = i + 1
- endwhile
-endfunction
-
-" Tlist_Discard_FileInfo
-" Discard the stored information for a file
-function! s:Tlist_Discard_FileInfo(fidx)
- call s:Tlist_Log_Msg('Tlist_Discard_FileInfo (' .
- \ s:tlist_{a:fidx}_filename . ')')
- call s:Tlist_Discard_TagInfo(a:fidx)
-
- let ftype = s:tlist_{a:fidx}_filetype
-
- let i = 1
- while i <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{i}_name
- unlet! s:tlist_{a:fidx}_{ttype}
- unlet! s:tlist_{a:fidx}_{ttype}_offset
- unlet! s:tlist_{a:fidx}_{ttype}_count
- let i = i + 1
- endwhile
-
- unlet! s:tlist_{a:fidx}_filename
- unlet! s:tlist_{a:fidx}_sort_type
- unlet! s:tlist_{a:fidx}_filetype
- unlet! s:tlist_{a:fidx}_mtime
- unlet! s:tlist_{a:fidx}_start
- unlet! s:tlist_{a:fidx}_end
- unlet! s:tlist_{a:fidx}_valid
- unlet! s:tlist_{a:fidx}_visible
- unlet! s:tlist_{a:fidx}_tag_count
- unlet! s:tlist_{a:fidx}_menu_cmd
-endfunction
-
-" Tlist_Window_Remove_File_From_Display
-" Remove the specified file from display
-function! s:Tlist_Window_Remove_File_From_Display(fidx)
- call s:Tlist_Log_Msg('Tlist_Window_Remove_File_From_Display (' .
- \ s:tlist_{a:fidx}_filename . ')')
- " If the file is not visible then no need to remove it
- if !s:tlist_{a:fidx}_visible
- return
- endif
-
- " Remove the tags displayed for the specified file from the window
- let start = s:tlist_{a:fidx}_start
- " Include the empty line after the last line also
- if g:Tlist_Compact_Format
- let end = s:tlist_{a:fidx}_end
- else
- let end = s:tlist_{a:fidx}_end + 1
- endif
-
- setlocal modifiable
- exe 'silent! ' . start . ',' . end . 'delete _'
- setlocal nomodifiable
-
- " Correct the start and end line offsets for all the files following
- " this file, as the tags for this file are removed
- call s:Tlist_Window_Update_Line_Offsets(a:fidx + 1, 0, end - start + 1)
-endfunction
-
-" Tlist_Remove_File
-" Remove the file under the cursor or the specified file index
-" user_request - User requested to remove the file from taglist
-function! s:Tlist_Remove_File(file_idx, user_request)
- let fidx = a:file_idx
-
- if fidx == -1
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.'))
- if fidx == -1
- return
- endif
- endif
- call s:Tlist_Log_Msg('Tlist_Remove_File (' .
- \ s:tlist_{fidx}_filename . ', ' . a:user_request . ')')
-
- let save_winnr = winnr()
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- " Taglist window is open, remove the file from display
-
- if save_winnr != winnum
- let old_eventignore = &eventignore
- set eventignore=all
- exe winnum . 'wincmd w'
- endif
-
- call s:Tlist_Window_Remove_File_From_Display(fidx)
-
- if save_winnr != winnum
- exe save_winnr . 'wincmd w'
- let &eventignore = old_eventignore
- endif
- endif
-
- let fname = s:tlist_{fidx}_filename
-
- if a:user_request
- " As the user requested to remove the file from taglist,
- " add it to the removed list
- call s:Tlist_Update_Remove_List(fname, 1)
- endif
-
- " Remove the file name from the taglist list of filenames
- let idx = stridx(s:tlist_file_names, fname . "\n")
- let text_before = strpart(s:tlist_file_names, 0, idx)
- let rem_text = strpart(s:tlist_file_names, idx)
- let next_idx = stridx(rem_text, "\n")
- let text_after = strpart(rem_text, next_idx + 1)
- let s:tlist_file_names = text_before . text_after
-
- call s:Tlist_Discard_FileInfo(fidx)
-
- " Shift all the file variables by one index
- let i = fidx + 1
-
- while i < s:tlist_file_count
- let j = i - 1
-
- let s:tlist_{j}_filename = s:tlist_{i}_filename
- let s:tlist_{j}_sort_type = s:tlist_{i}_sort_type
- let s:tlist_{j}_filetype = s:tlist_{i}_filetype
- let s:tlist_{j}_mtime = s:tlist_{i}_mtime
- let s:tlist_{j}_start = s:tlist_{i}_start
- let s:tlist_{j}_end = s:tlist_{i}_end
- let s:tlist_{j}_valid = s:tlist_{i}_valid
- let s:tlist_{j}_visible = s:tlist_{i}_visible
- let s:tlist_{j}_tag_count = s:tlist_{i}_tag_count
- let s:tlist_{j}_menu_cmd = s:tlist_{i}_menu_cmd
-
- let k = 1
- while k <= s:tlist_{j}_tag_count
- let s:tlist_{j}_{k}_tag = s:tlist_{i}_{k}_tag
- let s:tlist_{j}_{k}_tag_name = s:tlist_{i}_{k}_tag_name
- let s:tlist_{j}_{k}_tag_type = s:Tlist_Get_Tag_Type_By_Tag(i, k)
- let s:tlist_{j}_{k}_ttype_idx = s:tlist_{i}_{k}_ttype_idx
- let s:tlist_{j}_{k}_tag_proto = s:Tlist_Get_Tag_Prototype(i, k)
- let s:tlist_{j}_{k}_tag_searchpat = s:Tlist_Get_Tag_SearchPat(i, k)
- let s:tlist_{j}_{k}_tag_linenum = s:Tlist_Get_Tag_Linenum(i, k)
- let k = k + 1
- endwhile
-
- let ftype = s:tlist_{i}_filetype
-
- let k = 1
- while k <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{k}_name
- let s:tlist_{j}_{ttype} = s:tlist_{i}_{ttype}
- let s:tlist_{j}_{ttype}_offset = s:tlist_{i}_{ttype}_offset
- let s:tlist_{j}_{ttype}_count = s:tlist_{i}_{ttype}_count
- if s:tlist_{j}_{ttype} != ''
- let l = 1
- while l <= s:tlist_{j}_{ttype}_count
- let s:tlist_{j}_{ttype}_{l} = s:tlist_{i}_{ttype}_{l}
- let l = l + 1
- endwhile
- endif
- let k = k + 1
- endwhile
-
- " As the file and tag information is copied to the new index,
- " discard the previous information
- call s:Tlist_Discard_FileInfo(i)
-
- let i = i + 1
- endwhile
-
- " Reduce the number of files displayed
- let s:tlist_file_count = s:tlist_file_count - 1
-
- if g:Tlist_Show_One_File
- " If the tags for only one file is displayed and if we just
- " now removed that file, then invalidate the current file idx
- if s:tlist_cur_file_idx == fidx
- let s:tlist_cur_file_idx = -1
- endif
- endif
-endfunction
-
-" Tlist_Window_Goto_Window
-" Goto the taglist window
-function! s:Tlist_Window_Goto_Window()
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- if winnr() != winnum
- call s:Tlist_Exe_Cmd_No_Acmds(winnum . 'wincmd w')
- endif
- endif
-endfunction
-
-" Tlist_Window_Create
-" Create a new taglist window. If it is already open, jump to it
-function! s:Tlist_Window_Create()
- call s:Tlist_Log_Msg('Tlist_Window_Create()')
- " If the window is open, jump to it
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- " Jump to the existing window
- if winnr() != winnum
- exe winnum . 'wincmd w'
- endif
- return
- endif
-
- " If used with winmanager don't open windows. Winmanager will handle
- " the window/buffer management
- if s:tlist_app_name == "winmanager"
- return
- endif
-
- " Create a new window. If user prefers a horizontal window, then open
- " a horizontally split window. Otherwise open a vertically split
- " window
- if g:Tlist_Use_Horiz_Window
- " Open a horizontally split window
- let win_dir = 'botright'
- " Horizontal window height
- let win_size = g:Tlist_WinHeight
- else
- if s:tlist_winsize_chgd == -1
- " Open a vertically split window. Increase the window size, if
- " needed, to accomodate the new window
- if g:Tlist_Inc_Winwidth &&
- \ &columns < (80 + g:Tlist_WinWidth)
- " Save the original window position
- let s:tlist_pre_winx = getwinposx()
- let s:tlist_pre_winy = getwinposy()
-
- " one extra column is needed to include the vertical split
- let &columns= &columns + g:Tlist_WinWidth + 1
-
- let s:tlist_winsize_chgd = 1
- else
- let s:tlist_winsize_chgd = 0
- endif
- endif
-
- if g:Tlist_Use_Right_Window
- " Open the window at the rightmost place
- let win_dir = 'botright vertical'
- else
- " Open the window at the leftmost place
- let win_dir = 'topleft vertical'
- endif
- let win_size = g:Tlist_WinWidth
- endif
-
- " If the tag listing temporary buffer already exists, then reuse it.
- " Otherwise create a new buffer
- let bufnum = bufnr(g:TagList_title)
- if bufnum == -1
- " Create a new buffer
- let wcmd = g:TagList_title
- else
- " Edit the existing buffer
- let wcmd = '+buffer' . bufnum
- endif
-
- " Create the taglist window
- exe 'silent! ' . win_dir . ' ' . win_size . 'split ' . wcmd
-
- " Save the new window position
- let s:tlist_winx = getwinposx()
- let s:tlist_winy = getwinposy()
-
- " Initialize the taglist window
- call s:Tlist_Window_Init()
-endfunction
-
-" Tlist_Window_Zoom
-" Zoom (maximize/minimize) the taglist window
-function! s:Tlist_Window_Zoom()
- if s:tlist_win_maximized
- " Restore the window back to the previous size
- if g:Tlist_Use_Horiz_Window
- exe 'resize ' . g:Tlist_WinHeight
- else
- exe 'vert resize ' . g:Tlist_WinWidth
- endif
- let s:tlist_win_maximized = 0
- else
- " Set the window size to the maximum possible without closing other
- " windows
- if g:Tlist_Use_Horiz_Window
- resize
- else
- vert resize
- endif
- let s:tlist_win_maximized = 1
- endif
-endfunction
-
-" Tlist_Ballon_Expr
-" When the mouse cursor is over a tag in the taglist window, display the
-" tag prototype (balloon)
-function! Tlist_Ballon_Expr()
- " Get the file index
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(v:beval_lnum)
- if fidx == -1
- return ''
- endif
-
- " Get the tag output line for the current tag
- let tidx = s:Tlist_Window_Get_Tag_Index(fidx, v:beval_lnum)
- if tidx == 0
- return ''
- endif
-
- " Get the tag search pattern and display it
- return s:Tlist_Get_Tag_Prototype(fidx, tidx)
-endfunction
-
-" Tlist_Window_Check_Width
-" Check the width of the taglist window. For horizontally split windows, the
-" 'winfixheight' option is used to fix the height of the window. For
-" vertically split windows, Vim doesn't support the 'winfixwidth' option. So
-" need to handle window width changes from this function.
-function! s:Tlist_Window_Check_Width()
- let tlist_winnr = bufwinnr(g:TagList_title)
- if tlist_winnr == -1
- return
- endif
-
- let width = winwidth(tlist_winnr)
- if width != g:Tlist_WinWidth
- call s:Tlist_Log_Msg("Tlist_Window_Check_Width: Changing window " .
- \ "width from " . width . " to " . g:Tlist_WinWidth)
- let save_winnr = winnr()
- if save_winnr != tlist_winnr
- call s:Tlist_Exe_Cmd_No_Acmds(tlist_winnr . 'wincmd w')
- endif
- exe 'vert resize ' . g:Tlist_WinWidth
- if save_winnr != tlist_winnr
- call s:Tlist_Exe_Cmd_No_Acmds('wincmd p')
- endif
- endif
-endfunction
-
-" Tlist_Window_Exit_Only_Window
-" If the 'Tlist_Exit_OnlyWindow' option is set, then exit Vim if only the
-" taglist window is present.
-function! s:Tlist_Window_Exit_Only_Window()
- " Before quitting Vim, delete the taglist buffer so that
- " the '0 mark is correctly set to the previous buffer.
- if v:version < 700
- if winbufnr(2) == -1
- bdelete
- quit
- endif
- else
- if winbufnr(2) == -1
- if tabpagenr('$') == 1
- " Only one tag page is present
- bdelete
- quit
- else
- " More than one tab page is present. Close only the current
- " tab page
- close
- endif
- endif
- endif
-endfunction
-
-" Tlist_Window_Init
-" Set the default options for the taglist window
-function! s:Tlist_Window_Init()
- call s:Tlist_Log_Msg('Tlist_Window_Init()')
-
- " The 'readonly' option should not be set for the taglist buffer.
- " If Vim is started as "view/gview" or if the ":view" command is
- " used, then the 'readonly' option is set for all the buffers.
- " Unset it for the taglist buffer
- setlocal noreadonly
-
- " Set the taglist buffer filetype to taglist
- setlocal filetype=taglist
-
- " Define taglist window element highlighting
- syntax match TagListComment '^" .*'
- syntax match TagListFileName '^[^" ].*$'
- syntax match TagListTitle '^ \S.*$'
- syntax match TagListTagScope '\s\[.\{-\}\]$'
-
- " Define the highlighting only if colors are supported
- if has('gui_running') || &t_Co > 2
- " Colors to highlight various taglist window elements
- " If user defined highlighting group exists, then use them.
- " Otherwise, use default highlight groups.
- if hlexists('MyTagListTagName')
- highlight link TagListTagName MyTagListTagName
- else
- highlight default link TagListTagName Search
- endif
- " Colors to highlight comments and titles
- if hlexists('MyTagListComment')
- highlight link TagListComment MyTagListComment
- else
- highlight clear TagListComment
- highlight default link TagListComment Comment
- endif
- if hlexists('MyTagListTitle')
- highlight link TagListTitle MyTagListTitle
- else
- highlight clear TagListTitle
- highlight default link TagListTitle Title
- endif
- if hlexists('MyTagListFileName')
- highlight link TagListFileName MyTagListFileName
- else
- highlight clear TagListFileName
- highlight default TagListFileName guibg=Grey ctermbg=darkgray
- \ guifg=white ctermfg=white
- endif
- if hlexists('MyTagListTagScope')
- highlight link TagListTagScope MyTagListTagScope
- else
- highlight clear TagListTagScope
- highlight default link TagListTagScope Identifier
- endif
- else
- highlight default TagListTagName term=reverse cterm=reverse
- endif
-
- " Folding related settings
- setlocal foldenable
- setlocal foldminlines=0
- setlocal foldmethod=manual
- setlocal foldlevel=9999
- if g:Tlist_Enable_Fold_Column
- setlocal foldcolumn=3
- else
- setlocal foldcolumn=0
- endif
- setlocal foldtext=v:folddashes.getline(v:foldstart)
-
- if s:tlist_app_name != "winmanager"
- " Mark buffer as scratch
- silent! setlocal buftype=nofile
- if s:tlist_app_name == "none"
- silent! setlocal bufhidden=delete
- endif
- silent! setlocal noswapfile
- " Due to a bug in Vim 6.0, the winbufnr() function fails for unlisted
- " buffers. So if the taglist buffer is unlisted, multiple taglist
- " windows will be opened. This bug is fixed in Vim 6.1 and above
- if v:version >= 601
- silent! setlocal nobuflisted
- endif
- endif
-
- silent! setlocal nowrap
-
- " If the 'number' option is set in the source window, it will affect the
- " taglist window. So forcefully disable 'number' option for the taglist
- " window
- silent! setlocal nonumber
-
- " Use fixed height when horizontally split window is used
- if g:Tlist_Use_Horiz_Window
- if v:version >= 602
- set winfixheight
- endif
- endif
- if !g:Tlist_Use_Horiz_Window && v:version >= 700
- set winfixwidth
- endif
-
- " Setup balloon evaluation to display tag prototype
- if v:version >= 700 && has('balloon_eval')
- setlocal balloonexpr=Tlist_Ballon_Expr()
- set ballooneval
- endif
-
- " Setup the cpoptions properly for the maps to work
- let old_cpoptions = &cpoptions
- set cpoptions&vim
-
- " Create buffer local mappings for jumping to the tags and sorting the list
- nnoremap <buffer> <silent> <CR>
- \ :call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR>
- nnoremap <buffer> <silent> o
- \ :call <SID>Tlist_Window_Jump_To_Tag('newwin')<CR>
- nnoremap <buffer> <silent> p
- \ :call <SID>Tlist_Window_Jump_To_Tag('preview')<CR>
- nnoremap <buffer> <silent> P
- \ :call <SID>Tlist_Window_Jump_To_Tag('prevwin')<CR>
- if v:version >= 700
- nnoremap <buffer> <silent> t
- \ :call <SID>Tlist_Window_Jump_To_Tag('checktab')<CR>
- nnoremap <buffer> <silent> <C-t>
- \ :call <SID>Tlist_Window_Jump_To_Tag('newtab')<CR>
- endif
- nnoremap <buffer> <silent> <2-LeftMouse>
- \ :call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR>
- nnoremap <buffer> <silent> s
- \ :call <SID>Tlist_Change_Sort('cmd', 'toggle', '')<CR>
- nnoremap <buffer> <silent> + :silent! foldopen<CR>
- nnoremap <buffer> <silent> - :silent! foldclose<CR>
- nnoremap <buffer> <silent> * :silent! %foldopen!<CR>
- nnoremap <buffer> <silent> = :silent! %foldclose<CR>
- nnoremap <buffer> <silent> <kPlus> :silent! foldopen<CR>
- nnoremap <buffer> <silent> <kMinus> :silent! foldclose<CR>
- nnoremap <buffer> <silent> <kMultiply> :silent! %foldopen!<CR>
- nnoremap <buffer> <silent> <Space> :call <SID>Tlist_Window_Show_Info()<CR>
- nnoremap <buffer> <silent> u :call <SID>Tlist_Window_Update_File()<CR>
- nnoremap <buffer> <silent> d :call <SID>Tlist_Remove_File(-1, 1)<CR>
- nnoremap <buffer> <silent> x :call <SID>Tlist_Window_Zoom()<CR>
- nnoremap <buffer> <silent> [[ :call <SID>Tlist_Window_Move_To_File(-1)<CR>
- nnoremap <buffer> <silent> <BS> :call <SID>Tlist_Window_Move_To_File(-1)<CR>
- nnoremap <buffer> <silent> ]] :call <SID>Tlist_Window_Move_To_File(1)<CR>
- nnoremap <buffer> <silent> <Tab> :call <SID>Tlist_Window_Move_To_File(1)<CR>
- nnoremap <buffer> <silent> <F1> :call <SID>Tlist_Window_Toggle_Help_Text()<CR>
- nnoremap <buffer> <silent> q :close<CR>
-
- " Insert mode mappings
- inoremap <buffer> <silent> <CR>
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR>
- " Windows needs return
- inoremap <buffer> <silent> <Return>
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR>
- inoremap <buffer> <silent> o
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('newwin')<CR>
- inoremap <buffer> <silent> p
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('preview')<CR>
- inoremap <buffer> <silent> P
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('prevwin')<CR>
- if v:version >= 700
- inoremap <buffer> <silent> t
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('checktab')<CR>
- inoremap <buffer> <silent> <C-t>
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('newtab')<CR>
- endif
- inoremap <buffer> <silent> <2-LeftMouse>
- \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR>
- inoremap <buffer> <silent> s
- \ <C-o>:call <SID>Tlist_Change_Sort('cmd', 'toggle', '')<CR>
- inoremap <buffer> <silent> + <C-o>:silent! foldopen<CR>
- inoremap <buffer> <silent> - <C-o>:silent! foldclose<CR>
- inoremap <buffer> <silent> * <C-o>:silent! %foldopen!<CR>
- inoremap <buffer> <silent> = <C-o>:silent! %foldclose<CR>
- inoremap <buffer> <silent> <kPlus> <C-o>:silent! foldopen<CR>
- inoremap <buffer> <silent> <kMinus> <C-o>:silent! foldclose<CR>
- inoremap <buffer> <silent> <kMultiply> <C-o>:silent! %foldopen!<CR>
- inoremap <buffer> <silent> <Space> <C-o>:call
- \ <SID>Tlist_Window_Show_Info()<CR>
- inoremap <buffer> <silent> u
- \ <C-o>:call <SID>Tlist_Window_Update_File()<CR>
- inoremap <buffer> <silent> d <C-o>:call <SID>Tlist_Remove_File(-1, 1)<CR>
- inoremap <buffer> <silent> x <C-o>:call <SID>Tlist_Window_Zoom()<CR>
- inoremap <buffer> <silent> [[ <C-o>:call <SID>Tlist_Window_Move_To_File(-1)<CR>
- inoremap <buffer> <silent> <BS> <C-o>:call <SID>Tlist_Window_Move_To_File(-1)<CR>
- inoremap <buffer> <silent> ]] <C-o>:call <SID>Tlist_Window_Move_To_File(1)<CR>
- inoremap <buffer> <silent> <Tab> <C-o>:call <SID>Tlist_Window_Move_To_File(1)<CR>
- inoremap <buffer> <silent> <F1> <C-o>:call <SID>Tlist_Window_Toggle_Help_Text()<CR>
- inoremap <buffer> <silent> q <C-o>:close<CR>
-
- " Map single left mouse click if the user wants this functionality
- if g:Tlist_Use_SingleClick == 1
- " Contributed by Bindu Wavell
- " attempt to perform single click mapping, it would be much
- " nicer if we could nnoremap <buffer> ... however vim does
- " not fire the <buffer> <leftmouse> when you use the mouse
- " to enter a buffer.
- let clickmap = ':if bufname("%") =~ "__Tag_List__" <bar> ' .
- \ 'call <SID>Tlist_Window_Jump_To_Tag("useopen") ' .
- \ '<bar> endif <CR>'
- if maparg('<leftmouse>', 'n') == ''
- " no mapping for leftmouse
- exe ':nnoremap <silent> <leftmouse> <leftmouse>' . clickmap
- else
- " we have a mapping
- let mapcmd = ':nnoremap <silent> <leftmouse> <leftmouse>'
- let mapcmd = mapcmd . substitute(substitute(
- \ maparg('<leftmouse>', 'n'), '|', '<bar>', 'g'),
- \ '\c^<leftmouse>', '', '')
- let mapcmd = mapcmd . clickmap
- exe mapcmd
- endif
- endif
-
- " Define the taglist autocommands
- augroup TagListAutoCmds
- autocmd!
- " Display the tag prototype for the tag under the cursor.
- autocmd CursorHold __Tag_List__ call s:Tlist_Window_Show_Info()
- " Highlight the current tag periodically
- autocmd CursorHold * silent call s:Tlist_Window_Highlight_Tag(
- \ fnamemodify(bufname('%'), ':p'), line('.'), 1, 0)
-
- " Adjust the Vim window width when taglist window is closed
- autocmd BufUnload __Tag_List__ call s:Tlist_Post_Close_Cleanup()
- " Close the fold for this buffer when leaving the buffer
- if g:Tlist_File_Fold_Auto_Close
- autocmd BufEnter * silent
- \ call s:Tlist_Window_Open_File_Fold(expand('<abuf>'))
- endif
- " Exit Vim itself if only the taglist window is present (optional)
- if g:Tlist_Exit_OnlyWindow
- autocmd BufEnter __Tag_List__ nested
- \ call s:Tlist_Window_Exit_Only_Window()
- endif
- if s:tlist_app_name != "winmanager" &&
- \ !g:Tlist_Process_File_Always &&
- \ (!has('gui_running') || !g:Tlist_Show_Menu)
- " Auto refresh the taglist window
- autocmd BufEnter * call s:Tlist_Refresh()
- endif
-
- if !g:Tlist_Use_Horiz_Window
- if v:version < 700
- autocmd WinEnter * call s:Tlist_Window_Check_Width()
- endif
- endif
- if v:version >= 700
- autocmd TabEnter * silent call s:Tlist_Refresh_Folds()
- endif
- augroup end
-
- " Restore the previous cpoptions settings
- let &cpoptions = old_cpoptions
-endfunction
-
-" Tlist_Window_Refresh
-" Display the tags for all the files in the taglist window
-function! s:Tlist_Window_Refresh()
- call s:Tlist_Log_Msg('Tlist_Window_Refresh()')
- " Set report option to a huge value to prevent informational messages
- " while deleting the lines
- let old_report = &report
- set report=99999
-
- " Mark the buffer as modifiable
- setlocal modifiable
-
- " Delete the contents of the buffer to the black-hole register
- silent! %delete _
-
- " As we have cleared the taglist window, mark all the files
- " as not visible
- let i = 0
- while i < s:tlist_file_count
- let s:tlist_{i}_visible = 0
- let i = i + 1
- endwhile
-
- if g:Tlist_Compact_Format == 0
- " Display help in non-compact mode
- call s:Tlist_Window_Display_Help()
- endif
-
- " Mark the buffer as not modifiable
- setlocal nomodifiable
-
- " Restore the report option
- let &report = old_report
-
- " If the tags for only one file should be displayed in the taglist
- " window, then no need to add the tags here. The bufenter autocommand
- " will add the tags for that file.
- if g:Tlist_Show_One_File
- return
- endif
-
- " List all the tags for the previously processed files
- " Do this only if taglist is configured to display tags for more than
- " one file. Otherwise, when Tlist_Show_One_File is configured,
- " tags for the wrong file will be displayed.
- let i = 0
- while i < s:tlist_file_count
- call s:Tlist_Window_Refresh_File(s:tlist_{i}_filename,
- \ s:tlist_{i}_filetype)
- let i = i + 1
- endwhile
-
- if g:Tlist_Auto_Update
- " Add and list the tags for all buffers in the Vim buffer list
- let i = 1
- let last_bufnum = bufnr('$')
- while i <= last_bufnum
- if buflisted(i)
- let fname = fnamemodify(bufname(i), ':p')
- let ftype = s:Tlist_Get_Buffer_Filetype(i)
- " If the file doesn't support tag listing, skip it
- if !s:Tlist_Skip_File(fname, ftype)
- call s:Tlist_Window_Refresh_File(fname, ftype)
- endif
- endif
- let i = i + 1
- endwhile
- endif
-
- " If Tlist_File_Fold_Auto_Close option is set, then close all the folds
- if g:Tlist_File_Fold_Auto_Close
- " Close all the folds
- silent! %foldclose
- endif
-
- " Move the cursor to the top of the taglist window
- normal! gg
-endfunction
-
-" Tlist_Post_Close_Cleanup()
-" Close the taglist window and adjust the Vim window width
-function! s:Tlist_Post_Close_Cleanup()
- call s:Tlist_Log_Msg('Tlist_Post_Close_Cleanup()')
- " Mark all the files as not visible
- let i = 0
- while i < s:tlist_file_count
- let s:tlist_{i}_visible = 0
- let i = i + 1
- endwhile
-
- " Remove the taglist autocommands
- silent! autocmd! TagListAutoCmds
-
- " Clear all the highlights
- match none
-
- silent! syntax clear TagListTitle
- silent! syntax clear TagListComment
- silent! syntax clear TagListTagScope
-
- " Remove the left mouse click mapping if it was setup initially
- if g:Tlist_Use_SingleClick
- if hasmapto('<LeftMouse>')
- nunmap <LeftMouse>
- endif
- endif
-
- if s:tlist_app_name != "winmanager"
- if g:Tlist_Use_Horiz_Window || g:Tlist_Inc_Winwidth == 0 ||
- \ s:tlist_winsize_chgd != 1 ||
- \ &columns < (80 + g:Tlist_WinWidth)
- " No need to adjust window width if using horizontally split taglist
- " window or if columns is less than 101 or if the user chose not to
- " adjust the window width
- else
- " If the user didn't manually move the window, then restore the window
- " position to the pre-taglist position
- if s:tlist_pre_winx != -1 && s:tlist_pre_winy != -1 &&
- \ getwinposx() == s:tlist_winx &&
- \ getwinposy() == s:tlist_winy
- exe 'winpos ' . s:tlist_pre_winx . ' ' . s:tlist_pre_winy
- endif
-
- " Adjust the Vim window width
- let &columns= &columns - (g:Tlist_WinWidth + 1)
- endif
- endif
-
- let s:tlist_winsize_chgd = -1
-
- " Reset taglist state variables
- if s:tlist_app_name == "winmanager"
- let s:tlist_app_name = "none"
- endif
- let s:tlist_window_initialized = 0
-endfunction
-
-" Tlist_Window_Refresh_File()
-" List the tags defined in the specified file in a Vim window
-function! s:Tlist_Window_Refresh_File(filename, ftype)
- call s:Tlist_Log_Msg('Tlist_Window_Refresh_File (' . a:filename . ')')
- " First check whether the file already exists
- let fidx = s:Tlist_Get_File_Index(a:filename)
- if fidx != -1
- let file_listed = 1
- else
- let file_listed = 0
- endif
-
- if !file_listed
- " Check whether this file is removed based on user request
- " If it is, then don't display the tags for this file
- if s:Tlist_User_Removed_File(a:filename)
- return
- endif
- endif
-
- if file_listed && s:tlist_{fidx}_visible
- " Check whether the file tags are currently valid
- if s:tlist_{fidx}_valid
- " Goto the first line in the file
- exe s:tlist_{fidx}_start
-
- " If the line is inside a fold, open the fold
- if foldclosed('.') != -1
- exe "silent! " . s:tlist_{fidx}_start . "," .
- \ s:tlist_{fidx}_end . "foldopen!"
- endif
- return
- endif
-
- " Discard and remove the tags for this file from display
- call s:Tlist_Discard_TagInfo(fidx)
- call s:Tlist_Window_Remove_File_From_Display(fidx)
- endif
-
- " Process and generate a list of tags defined in the file
- if !file_listed || !s:tlist_{fidx}_valid
- let ret_fidx = s:Tlist_Process_File(a:filename, a:ftype)
- if ret_fidx == -1
- return
- endif
- let fidx = ret_fidx
- endif
-
- " Set report option to a huge value to prevent informational messages
- " while adding lines to the taglist window
- let old_report = &report
- set report=99999
-
- if g:Tlist_Show_One_File
- " Remove the previous file
- if s:tlist_cur_file_idx != -1
- call s:Tlist_Window_Remove_File_From_Display(s:tlist_cur_file_idx)
- let s:tlist_{s:tlist_cur_file_idx}_visible = 0
- let s:tlist_{s:tlist_cur_file_idx}_start = 0
- let s:tlist_{s:tlist_cur_file_idx}_end = 0
- endif
- let s:tlist_cur_file_idx = fidx
- endif
-
- " Mark the buffer as modifiable
- setlocal modifiable
-
- " Add new files to the end of the window. For existing files, add them at
- " the same line where they were previously present. If the file is not
- " visible, then add it at the end
- if s:tlist_{fidx}_start == 0 || !s:tlist_{fidx}_visible
- if g:Tlist_Compact_Format
- let s:tlist_{fidx}_start = line('$')
- else
- let s:tlist_{fidx}_start = line('$') + 1
- endif
- endif
-
- let s:tlist_{fidx}_visible = 1
-
- " Goto the line where this file should be placed
- if g:Tlist_Compact_Format
- exe s:tlist_{fidx}_start
- else
- exe s:tlist_{fidx}_start - 1
- endif
-
- let txt = fnamemodify(s:tlist_{fidx}_filename, ':t') . ' (' .
- \ fnamemodify(s:tlist_{fidx}_filename, ':p:h') . ')'
- if g:Tlist_Compact_Format == 0
- silent! put =txt
- else
- silent! put! =txt
- " Move to the next line
- exe line('.') + 1
- endif
- let file_start = s:tlist_{fidx}_start
-
- " Add the tag names grouped by tag type to the buffer with a title
- let i = 1
- let ttype_cnt = s:tlist_{a:ftype}_count
- while i <= ttype_cnt
- let ttype = s:tlist_{a:ftype}_{i}_name
- " Add the tag type only if there are tags for that type
- let fidx_ttype = 's:tlist_' . fidx . '_' . ttype
- let ttype_txt = {fidx_ttype}
- if ttype_txt != ''
- let txt = ' ' . s:tlist_{a:ftype}_{i}_fullname
- if g:Tlist_Compact_Format == 0
- let ttype_start_lnum = line('.') + 1
- silent! put =txt
- else
- let ttype_start_lnum = line('.')
- silent! put! =txt
- endif
- silent! put =ttype_txt
-
- let {fidx_ttype}_offset = ttype_start_lnum - file_start
-
- " create a fold for this tag type
- let fold_start = ttype_start_lnum
- let fold_end = fold_start + {fidx_ttype}_count
- exe fold_start . ',' . fold_end . 'fold'
-
- " Adjust the cursor position
- if g:Tlist_Compact_Format == 0
- exe ttype_start_lnum + {fidx_ttype}_count
- else
- exe ttype_start_lnum + {fidx_ttype}_count + 1
- endif
-
- if g:Tlist_Compact_Format == 0
- " Separate the tag types by a empty line
- silent! put =''
- endif
- endif
- let i = i + 1
- endwhile
-
- if s:tlist_{fidx}_tag_count == 0
- if g:Tlist_Compact_Format == 0
- silent! put =''
- endif
- endif
-
- let s:tlist_{fidx}_end = line('.') - 1
-
- " Create a fold for the entire file
- exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'fold'
- exe 'silent! ' . s:tlist_{fidx}_start . ',' .
- \ s:tlist_{fidx}_end . 'foldopen!'
-
- " Goto the starting line for this file,
- exe s:tlist_{fidx}_start
-
- if s:tlist_app_name == "winmanager"
- " To handle a bug in the winmanager plugin, add a space at the
- " last line
- call setline('$', ' ')
- endif
-
- " Mark the buffer as not modifiable
- setlocal nomodifiable
-
- " Restore the report option
- let &report = old_report
-
- " Update the start and end line numbers for all the files following this
- " file
- let start = s:tlist_{fidx}_start
- " include the empty line after the last line
- if g:Tlist_Compact_Format
- let end = s:tlist_{fidx}_end
- else
- let end = s:tlist_{fidx}_end + 1
- endif
- call s:Tlist_Window_Update_Line_Offsets(fidx + 1, 1, end - start + 1)
-
- " Now that we have updated the taglist window, update the tags
- " menu (if present)
- if g:Tlist_Show_Menu
- call s:Tlist_Menu_Update_File(1)
- endif
-endfunction
-
-" Tlist_Init_File
-" Initialize the variables for a new file
-function! s:Tlist_Init_File(filename, ftype)
- call s:Tlist_Log_Msg('Tlist_Init_File (' . a:filename . ')')
- " Add new files at the end of the list
- let fidx = s:tlist_file_count
- let s:tlist_file_count = s:tlist_file_count + 1
- " Add the new file name to the taglist list of file names
- let s:tlist_file_names = s:tlist_file_names . a:filename . "\n"
-
- " Initialize the file variables
- let s:tlist_{fidx}_filename = a:filename
- let s:tlist_{fidx}_sort_type = g:Tlist_Sort_Type
- let s:tlist_{fidx}_filetype = a:ftype
- let s:tlist_{fidx}_mtime = -1
- let s:tlist_{fidx}_start = 0
- let s:tlist_{fidx}_end = 0
- let s:tlist_{fidx}_valid = 0
- let s:tlist_{fidx}_visible = 0
- let s:tlist_{fidx}_tag_count = 0
- let s:tlist_{fidx}_menu_cmd = ''
-
- " Initialize the tag type variables
- let i = 1
- while i <= s:tlist_{a:ftype}_count
- let ttype = s:tlist_{a:ftype}_{i}_name
- let s:tlist_{fidx}_{ttype} = ''
- let s:tlist_{fidx}_{ttype}_offset = 0
- let s:tlist_{fidx}_{ttype}_count = 0
- let i = i + 1
- endwhile
-
- return fidx
-endfunction
-
-" Tlist_Get_Tag_Type_By_Tag
-" Return the tag type for the specified tag index
-function! s:Tlist_Get_Tag_Type_By_Tag(fidx, tidx)
- let ttype_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_type'
-
- " Already parsed and have the tag name
- if exists(ttype_var)
- return {ttype_var}
- endif
-
- let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag
- let {ttype_var} = s:Tlist_Extract_Tagtype(tag_line)
-
- return {ttype_var}
-endfunction
-
-" Tlist_Get_Tag_Prototype
-function! s:Tlist_Get_Tag_Prototype(fidx, tidx)
- let tproto_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_proto'
-
- " Already parsed and have the tag prototype
- if exists(tproto_var)
- return {tproto_var}
- endif
-
- " Parse and extract the tag prototype
- let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag
- let start = stridx(tag_line, '/^') + 2
- let end = stridx(tag_line, '/;"' . "\t")
- if tag_line[end - 1] == '$'
- let end = end -1
- endif
- let tag_proto = strpart(tag_line, start, end - start)
- let {tproto_var} = substitute(tag_proto, '\s*', '', '')
-
- return {tproto_var}
-endfunction
-
-" Tlist_Get_Tag_SearchPat
-function! s:Tlist_Get_Tag_SearchPat(fidx, tidx)
- let tpat_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_searchpat'
-
- " Already parsed and have the tag search pattern
- if exists(tpat_var)
- return {tpat_var}
- endif
-
- " Parse and extract the tag search pattern
- let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag
- let start = stridx(tag_line, '/^') + 2
- let end = stridx(tag_line, '/;"' . "\t")
- if tag_line[end - 1] == '$'
- let end = end -1
- endif
- let {tpat_var} = '\V\^' . strpart(tag_line, start, end - start) .
- \ (tag_line[end] == '$' ? '\$' : '')
-
- return {tpat_var}
-endfunction
-
-" Tlist_Get_Tag_Linenum
-" Return the tag line number, given the tag index
-function! s:Tlist_Get_Tag_Linenum(fidx, tidx)
- let tline_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_linenum'
-
- " Already parsed and have the tag line number
- if exists(tline_var)
- return {tline_var}
- endif
-
- " Parse and extract the tag line number
- let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag
- let start = strridx(tag_line, 'line:') + 5
- let end = strridx(tag_line, "\t")
- if end < start
- let {tline_var} = strpart(tag_line, start) + 0
- else
- let {tline_var} = strpart(tag_line, start, end - start) + 0
- endif
-
- return {tline_var}
-endfunction
-
-" Tlist_Parse_Tagline
-" Parse a tag line from the ctags output. Separate the tag output based on the
-" tag type and store it in the tag type variable.
-" The format of each line in the ctags output is:
-"
-" tag_name<TAB>file_name<TAB>ex_cmd;"<TAB>extension_fields
-"
-function! s:Tlist_Parse_Tagline(tag_line)
- if a:tag_line == ''
- " Skip empty lines
- return
- endif
-
- " Extract the tag type
- let ttype = s:Tlist_Extract_Tagtype(a:tag_line)
-
- " Make sure the tag type is a valid and supported one
- if ttype == '' || stridx(s:ctags_flags, ttype) == -1
- " Line is not in proper tags format or Tag type is not supported
- return
- endif
-
- " Update the total tag count
- let s:tidx = s:tidx + 1
-
- " The following variables are used to optimize this code. Vim is slow in
- " using curly brace names. To reduce the amount of processing needed, the
- " curly brace variables are pre-processed here
- let fidx_tidx = 's:tlist_' . s:fidx . '_' . s:tidx
- let fidx_ttype = 's:tlist_' . s:fidx . '_' . ttype
-
- " Update the count of this tag type
- let ttype_idx = {fidx_ttype}_count + 1
- let {fidx_ttype}_count = ttype_idx
-
- " Store the ctags output for this tag
- let {fidx_tidx}_tag = a:tag_line
-
- " Store the tag index and the tag type index (back pointers)
- let {fidx_ttype}_{ttype_idx} = s:tidx
- let {fidx_tidx}_ttype_idx = ttype_idx
-
- " Extract the tag name
- let tag_name = strpart(a:tag_line, 0, stridx(a:tag_line, "\t"))
-
- " Extract the tag scope/prototype
- if g:Tlist_Display_Prototype
- let ttxt = ' ' . s:Tlist_Get_Tag_Prototype(s:fidx, s:tidx)
- else
- let ttxt = ' ' . tag_name
-
- " Add the tag scope, if it is available and is configured. Tag
- " scope is the last field after the 'line:<num>\t' field
- if g:Tlist_Display_Tag_Scope
- let tag_scope = s:Tlist_Extract_Tag_Scope(a:tag_line)
- if tag_scope != ''
- let ttxt = ttxt . ' [' . tag_scope . ']'
- endif
- endif
- endif
-
- " Add this tag to the tag type variable
- let {fidx_ttype} = {fidx_ttype} . ttxt . "\n"
-
- " Save the tag name
- let {fidx_tidx}_tag_name = tag_name
-endfunction
-
-" Tlist_Process_File
-" Get the list of tags defined in the specified file and store them
-" in Vim variables. Returns the file index where the tags are stored.
-function! s:Tlist_Process_File(filename, ftype)
- call s:Tlist_Log_Msg('Tlist_Process_File (' . a:filename . ', ' .
- \ a:ftype . ')')
- " Check whether this file is supported
- if s:Tlist_Skip_File(a:filename, a:ftype)
- return -1
- endif
-
- " If the tag types for this filetype are not yet created, then create
- " them now
- let var = 's:tlist_' . a:ftype . '_count'
- if !exists(var)
- if s:Tlist_FileType_Init(a:ftype) == 0
- return -1
- endif
- endif
-
- " If this file is already processed, then use the cached values
- let fidx = s:Tlist_Get_File_Index(a:filename)
- if fidx == -1
- " First time, this file is loaded
- let fidx = s:Tlist_Init_File(a:filename, a:ftype)
- else
- " File was previously processed. Discard the tag information
- call s:Tlist_Discard_TagInfo(fidx)
- endif
-
- let s:tlist_{fidx}_valid = 1
-
- " Exuberant ctags arguments to generate a tag list
- let ctags_args = ' -f - --format=2 --excmd=pattern --fields=nks '
-
- " Form the ctags argument depending on the sort type
- if s:tlist_{fidx}_sort_type == 'name'
- let ctags_args = ctags_args . '--sort=yes'
- else
- let ctags_args = ctags_args . '--sort=no'
- endif
-
- " Add the filetype specific arguments
- let ctags_args = ctags_args . ' ' . s:tlist_{a:ftype}_ctags_args
-
- " Ctags command to produce output with regexp for locating the tags
- let ctags_cmd = g:Tlist_Ctags_Cmd . ctags_args
- let ctags_cmd = ctags_cmd . ' "' . a:filename . '"'
-
- if &shellxquote == '"'
- " Double-quotes within double-quotes will not work in the
- " command-line.If the 'shellxquote' option is set to double-quotes,
- " then escape the double-quotes in the ctags command-line.
- let ctags_cmd = escape(ctags_cmd, '"')
- endif
-
- " In Windows 95, if not using cygwin, disable the 'shellslash'
- " option. Otherwise, this will cause problems when running the
- " ctags command.
- if has('win95') && !has('win32unix')
- let old_shellslash = &shellslash
- set noshellslash
- endif
-
- if has('win32') && !has('win32unix') && !has('win95')
- \ && (&shell =~ 'cmd.exe')
- " Windows does not correctly deal with commands that have more than 1
- " set of double quotes. It will strip them all resulting in:
- " 'C:\Program' is not recognized as an internal or external command
- " operable program or batch file. To work around this, place the
- " command inside a batch file and call the batch file.
- " Do this only on Win2K, WinXP and above.
- " Contributed by: David Fishburn.
- let s:taglist_tempfile = fnamemodify(tempname(), ':h') .
- \ '\taglist.cmd'
- exe 'redir! > ' . s:taglist_tempfile
- silent echo ctags_cmd
- redir END
-
- call s:Tlist_Log_Msg('Cmd inside batch file: ' . ctags_cmd)
- let ctags_cmd = '"' . s:taglist_tempfile . '"'
- endif
-
- call s:Tlist_Log_Msg('Cmd: ' . ctags_cmd)
-
- " Run ctags and get the tag list
- let cmd_output = system(ctags_cmd)
-
- " Restore the value of the 'shellslash' option.
- if has('win95') && !has('win32unix')
- let &shellslash = old_shellslash
- endif
-
- if exists('s:taglist_tempfile')
- " Delete the temporary cmd file created on MS-Windows
- call delete(s:taglist_tempfile)
- endif
-
- " Handle errors
- if v:shell_error
- let msg = "Taglist: Failed to generate tags for " . a:filename
- call s:Tlist_Warning_Msg(msg)
- if cmd_output != ''
- call s:Tlist_Warning_Msg(cmd_output)
- endif
- return fidx
- endif
-
- " Store the modification time for the file
- let s:tlist_{fidx}_mtime = getftime(a:filename)
-
- " No tags for current file
- if cmd_output == ''
- call s:Tlist_Log_Msg('No tags defined in ' . a:filename)
- return fidx
- endif
-
- call s:Tlist_Log_Msg('Generated tags information for ' . a:filename)
-
- if v:version > 601
- " The following script local variables are used by the
- " Tlist_Parse_Tagline() function.
- let s:ctags_flags = s:tlist_{a:ftype}_ctags_flags
- let s:fidx = fidx
- let s:tidx = 0
-
- " Process the ctags output one line at a time. The substitute()
- " command is used to parse the tag lines instead of using the
- " matchstr()/stridx()/strpart() functions for performance reason
- call substitute(cmd_output, "\\([^\n]\\+\\)\n",
- \ '\=s:Tlist_Parse_Tagline(submatch(1))', 'g')
-
- " Save the number of tags for this file
- let s:tlist_{fidx}_tag_count = s:tidx
-
- " The following script local variables are no longer needed
- unlet! s:ctags_flags
- unlet! s:tidx
- unlet! s:fidx
- else
- " Due to a bug in Vim earlier than version 6.1,
- " we cannot use substitute() to parse the ctags output.
- " Instead the slow str*() functions are used
- let ctags_flags = s:tlist_{a:ftype}_ctags_flags
- let tidx = 0
-
- while cmd_output != ''
- " Extract one line at a time
- let idx = stridx(cmd_output, "\n")
- let one_line = strpart(cmd_output, 0, idx)
- " Remove the line from the tags output
- let cmd_output = strpart(cmd_output, idx + 1)
-
- if one_line == ''
- " Line is not in proper tags format
- continue
- endif
-
- " Extract the tag type
- let ttype = s:Tlist_Extract_Tagtype(one_line)
-
- " Make sure the tag type is a valid and supported one
- if ttype == '' || stridx(ctags_flags, ttype) == -1
- " Line is not in proper tags format or Tag type is not
- " supported
- continue
- endif
-
- " Update the total tag count
- let tidx = tidx + 1
-
- " The following variables are used to optimize this code. Vim is
- " slow in using curly brace names. To reduce the amount of
- " processing needed, the curly brace variables are pre-processed
- " here
- let fidx_tidx = 's:tlist_' . fidx . '_' . tidx
- let fidx_ttype = 's:tlist_' . fidx . '_' . ttype
-
- " Update the count of this tag type
- let ttype_idx = {fidx_ttype}_count + 1
- let {fidx_ttype}_count = ttype_idx
-
- " Store the ctags output for this tag
- let {fidx_tidx}_tag = one_line
-
- " Store the tag index and the tag type index (back pointers)
- let {fidx_ttype}_{ttype_idx} = tidx
- let {fidx_tidx}_ttype_idx = ttype_idx
-
- " Extract the tag name
- let tag_name = strpart(one_line, 0, stridx(one_line, "\t"))
-
- " Extract the tag scope/prototype
- if g:Tlist_Display_Prototype
- let ttxt = ' ' . s:Tlist_Get_Tag_Prototype(fidx, tidx)
- else
- let ttxt = ' ' . tag_name
-
- " Add the tag scope, if it is available and is configured. Tag
- " scope is the last field after the 'line:<num>\t' field
- if g:Tlist_Display_Tag_Scope
- let tag_scope = s:Tlist_Extract_Tag_Scope(one_line)
- if tag_scope != ''
- let ttxt = ttxt . ' [' . tag_scope . ']'
- endif
- endif
- endif
-
- " Add this tag to the tag type variable
- let {fidx_ttype} = {fidx_ttype} . ttxt . "\n"
-
- " Save the tag name
- let {fidx_tidx}_tag_name = tag_name
- endwhile
-
- " Save the number of tags for this file
- let s:tlist_{fidx}_tag_count = tidx
- endif
-
- call s:Tlist_Log_Msg('Processed ' . s:tlist_{fidx}_tag_count .
- \ ' tags in ' . a:filename)
-
- return fidx
-endfunction
-
-" Tlist_Update_File
-" Update the tags for a file (if needed)
-function! Tlist_Update_File(filename, ftype)
- call s:Tlist_Log_Msg('Tlist_Update_File (' . a:filename . ')')
- " If the file doesn't support tag listing, skip it
- if s:Tlist_Skip_File(a:filename, a:ftype)
- return
- endif
-
- " Convert the file name to a full path
- let fname = fnamemodify(a:filename, ':p')
-
- " First check whether the file already exists
- let fidx = s:Tlist_Get_File_Index(fname)
-
- if fidx != -1 && s:tlist_{fidx}_valid
- " File exists and the tags are valid
- " Check whether the file was modified after the last tags update
- " If it is modified, then update the tags
- if s:tlist_{fidx}_mtime == getftime(fname)
- return
- endif
- else
- " If the tags were removed previously based on a user request,
- " as we are going to update the tags (based on the user request),
- " remove the filename from the deleted list
- call s:Tlist_Update_Remove_List(fname, 0)
- endif
-
- " If the taglist window is opened, update it
- let winnum = bufwinnr(g:TagList_title)
- if winnum == -1
- " Taglist window is not present. Just update the taglist
- " and return
- call s:Tlist_Process_File(fname, a:ftype)
- else
- if g:Tlist_Show_One_File && s:tlist_cur_file_idx != -1
- " If tags for only one file are displayed and we are not
- " updating the tags for that file, then no need to
- " refresh the taglist window. Otherwise, the taglist
- " window should be updated.
- if s:tlist_{s:tlist_cur_file_idx}_filename != fname
- call s:Tlist_Process_File(fname, a:ftype)
- return
- endif
- endif
-
- " Save the current window number
- let save_winnr = winnr()
-
- " Goto the taglist window
- call s:Tlist_Window_Goto_Window()
-
- " Save the cursor position
- let save_line = line('.')
- let save_col = col('.')
-
- " Update the taglist window
- call s:Tlist_Window_Refresh_File(fname, a:ftype)
-
- " Restore the cursor position
- if v:version >= 601
- call cursor(save_line, save_col)
- else
- exe save_line
- exe 'normal! ' . save_col . '|'
- endif
-
- if winnr() != save_winnr
- " Go back to the original window
- call s:Tlist_Exe_Cmd_No_Acmds(save_winnr . 'wincmd w')
- endif
- endif
-
- " Update the taglist menu
- if g:Tlist_Show_Menu
- call s:Tlist_Menu_Update_File(1)
- endif
-endfunction
-
-" Tlist_Window_Close
-" Close the taglist window
-function! s:Tlist_Window_Close()
- call s:Tlist_Log_Msg('Tlist_Window_Close()')
- " Make sure the taglist window exists
- let winnum = bufwinnr(g:TagList_title)
- if winnum == -1
- call s:Tlist_Warning_Msg('Error: Taglist window is not open')
- return
- endif
-
- if winnr() == winnum
- " Already in the taglist window. Close it and return
- if winbufnr(2) != -1
- " If a window other than the taglist window is open,
- " then only close the taglist window.
- close
- endif
- else
- " Goto the taglist window, close it and then come back to the
- " original window
- let curbufnr = bufnr('%')
- exe winnum . 'wincmd w'
- close
- " Need to jump back to the original window only if we are not
- " already in that window
- let winnum = bufwinnr(curbufnr)
- if winnr() != winnum
- exe winnum . 'wincmd w'
- endif
- endif
-endfunction
-
-" Tlist_Window_Mark_File_Window
-" Mark the current window as the file window to use when jumping to a tag.
-" Only if the current window is a non-plugin, non-preview and non-taglist
-" window
-function! s:Tlist_Window_Mark_File_Window()
- if getbufvar('%', '&buftype') == '' && !&previewwindow
- let w:tlist_file_window = "yes"
- endif
-endfunction
-
-" Tlist_Window_Open
-" Open and refresh the taglist window
-function! s:Tlist_Window_Open()
- call s:Tlist_Log_Msg('Tlist_Window_Open()')
- " If the window is open, jump to it
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- " Jump to the existing window
- if winnr() != winnum
- exe winnum . 'wincmd w'
- endif
- return
- endif
-
- if s:tlist_app_name == "winmanager"
- " Taglist plugin is no longer part of the winmanager app
- let s:tlist_app_name = "none"
- endif
-
- " Get the filename and filetype for the specified buffer
- let curbuf_name = fnamemodify(bufname('%'), ':p')
- let curbuf_ftype = s:Tlist_Get_Buffer_Filetype('%')
- let cur_lnum = line('.')
-
- " Mark the current window as the desired window to open a file when a tag
- " is selected.
- call s:Tlist_Window_Mark_File_Window()
-
- " Open the taglist window
- call s:Tlist_Window_Create()
-
- call s:Tlist_Window_Refresh()
-
- if g:Tlist_Show_One_File
- " Add only the current buffer and file
- "
- " If the file doesn't support tag listing, skip it
- if !s:Tlist_Skip_File(curbuf_name, curbuf_ftype)
- call s:Tlist_Window_Refresh_File(curbuf_name, curbuf_ftype)
- endif
- endif
-
- if g:Tlist_File_Fold_Auto_Close
- " Open the fold for the current file, as all the folds in
- " the taglist window are closed
- let fidx = s:Tlist_Get_File_Index(curbuf_name)
- if fidx != -1
- exe "silent! " . s:tlist_{fidx}_start . "," .
- \ s:tlist_{fidx}_end . "foldopen!"
- endif
- endif
-
- " Highlight the current tag
- call s:Tlist_Window_Highlight_Tag(curbuf_name, cur_lnum, 1, 1)
-endfunction
-
-" Tlist_Window_Toggle()
-" Open or close a taglist window
-function! s:Tlist_Window_Toggle()
- call s:Tlist_Log_Msg('Tlist_Window_Toggle()')
- " If taglist window is open then close it.
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- call s:Tlist_Window_Close()
- return
- endif
-
- call s:Tlist_Window_Open()
-
- " Go back to the original window, if Tlist_GainFocus_On_ToggleOpen is not
- " set
- if !g:Tlist_GainFocus_On_ToggleOpen
- call s:Tlist_Exe_Cmd_No_Acmds('wincmd p')
- endif
-
- " Update the taglist menu
- if g:Tlist_Show_Menu
- call s:Tlist_Menu_Update_File(0)
- endif
-endfunction
-
-" Tlist_Process_Filelist
-" Process multiple files. Each filename is separated by "\n"
-" Returns the number of processed files
-function! s:Tlist_Process_Filelist(file_names)
- let flist = a:file_names
-
- " Enable lazy screen updates
- let old_lazyredraw = &lazyredraw
- set lazyredraw
-
- " Keep track of the number of processed files
- let fcnt = 0
-
- " Process one file at a time
- while flist != ''
- let nl_idx = stridx(flist, "\n")
- let one_file = strpart(flist, 0, nl_idx)
-
- " Remove the filename from the list
- let flist = strpart(flist, nl_idx + 1)
-
- if one_file == ''
- continue
- endif
-
- " Skip directories
- if isdirectory(one_file)
- continue
- endif
-
- let ftype = s:Tlist_Detect_Filetype(one_file)
-
- echon "\r "
- echon "\rProcessing tags for " . fnamemodify(one_file, ':p:t')
-
- let fcnt = fcnt + 1
-
- call Tlist_Update_File(one_file, ftype)
- endwhile
-
- " Clear the displayed informational messages
- echon "\r "
-
- " Restore the previous state
- let &lazyredraw = old_lazyredraw
-
- return fcnt
-endfunction
-
-" Tlist_Process_Dir
-" Process the files in a directory matching the specified pattern
-function! s:Tlist_Process_Dir(dir_name, pat)
- let flist = glob(a:dir_name . '/' . a:pat) . "\n"
-
- let fcnt = s:Tlist_Process_Filelist(flist)
-
- let len = strlen(a:dir_name)
- if a:dir_name[len - 1] == '\' || a:dir_name[len - 1] == '/'
- let glob_expr = a:dir_name . '*'
- else
- let glob_expr = a:dir_name . '/*'
- endif
- let all_files = glob(glob_expr) . "\n"
-
- while all_files != ''
- let nl_idx = stridx(all_files, "\n")
- let one_file = strpart(all_files, 0, nl_idx)
-
- let all_files = strpart(all_files, nl_idx + 1)
- if one_file == ''
- continue
- endif
-
- " Skip non-directory names
- if !isdirectory(one_file)
- continue
- endif
-
- echon "\r "
- echon "\rProcessing files in directory " . fnamemodify(one_file, ':t')
- let fcnt = fcnt + s:Tlist_Process_Dir(one_file, a:pat)
- endwhile
-
- return fcnt
-endfunction
-
-" Tlist_Add_Files_Recursive
-" Add files recursively from a directory
-function! s:Tlist_Add_Files_Recursive(dir, ...)
- let dir_name = fnamemodify(a:dir, ':p')
- if !isdirectory(dir_name)
- call s:Tlist_Warning_Msg('Error: ' . dir_name . ' is not a directory')
- return
- endif
-
- if a:0 == 1
- " User specified file pattern
- let pat = a:1
- else
- " Default file pattern
- let pat = '*'
- endif
-
- echon "\r "
- echon "\rProcessing files in directory " . fnamemodify(dir_name, ':t')
- let fcnt = s:Tlist_Process_Dir(dir_name, pat)
-
- echon "\rAdded " . fcnt . " files to the taglist"
-endfunction
-
-" Tlist_Add_Files
-" Add the specified list of files to the taglist
-function! s:Tlist_Add_Files(...)
- let flist = ''
- let i = 1
-
- " Get all the files matching the file patterns supplied as argument
- while i <= a:0
- let flist = flist . glob(a:{i}) . "\n"
- let i = i + 1
- endwhile
-
- if flist == ''
- call s:Tlist_Warning_Msg('Error: No matching files are found')
- return
- endif
-
- let fcnt = s:Tlist_Process_Filelist(flist)
- echon "\rAdded " . fcnt . " files to the taglist"
-endfunction
-
-" Tlist_Extract_Tagtype
-" Extract the tag type from the tag text
-function! s:Tlist_Extract_Tagtype(tag_line)
- " The tag type is after the tag prototype field. The prototype field
- " ends with the /;"\t string. We add 4 at the end to skip the characters
- " in this special string..
- let start = strridx(a:tag_line, '/;"' . "\t") + 4
- let end = strridx(a:tag_line, 'line:') - 1
- let ttype = strpart(a:tag_line, start, end - start)
-
- return ttype
-endfunction
-
-" Tlist_Extract_Tag_Scope
-" Extract the tag scope from the tag text
-function! s:Tlist_Extract_Tag_Scope(tag_line)
- let start = strridx(a:tag_line, 'line:')
- let end = strridx(a:tag_line, "\t")
- if end <= start
- return ''
- endif
-
- let tag_scope = strpart(a:tag_line, end + 1)
- let tag_scope = strpart(tag_scope, stridx(tag_scope, ':') + 1)
-
- return tag_scope
-endfunction
-
-" Tlist_Refresh()
-" Refresh the taglist
-function! s:Tlist_Refresh()
- call s:Tlist_Log_Msg('Tlist_Refresh (Skip_Refresh = ' .
- \ s:Tlist_Skip_Refresh . ', ' . bufname('%') . ')')
- " If we are entering the buffer from one of the taglist functions, then
- " no need to refresh the taglist window again.
- if s:Tlist_Skip_Refresh
- " We still need to update the taglist menu
- if g:Tlist_Show_Menu
- call s:Tlist_Menu_Update_File(0)
- endif
- return
- endif
-
- " If part of the winmanager plugin and not configured to process
- " tags always and not configured to display the tags menu, then return
- if (s:tlist_app_name == 'winmanager') && !g:Tlist_Process_File_Always
- \ && !g:Tlist_Show_Menu
- return
- endif
-
- " Skip buffers with 'buftype' set to nofile, nowrite, quickfix or help
- if &buftype != ''
- return
- endif
-
- let filename = fnamemodify(bufname('%'), ':p')
- let ftype = s:Tlist_Get_Buffer_Filetype('%')
-
- " If the file doesn't support tag listing, skip it
- if s:Tlist_Skip_File(filename, ftype)
- return
- endif
-
- let tlist_win = bufwinnr(g:TagList_title)
-
- " If the taglist window is not opened and not configured to process
- " tags always and not displaying the tags menu, then return
- if tlist_win == -1 && !g:Tlist_Process_File_Always && !g:Tlist_Show_Menu
- return
- endif
-
- let fidx = s:Tlist_Get_File_Index(filename)
- if fidx == -1
- " Check whether this file is removed based on user request
- " If it is, then don't display the tags for this file
- if s:Tlist_User_Removed_File(filename)
- return
- endif
-
- " If the taglist should not be auto updated, then return
- if !g:Tlist_Auto_Update
- return
- endif
- endif
-
- let cur_lnum = line('.')
-
- if fidx == -1
- " Update the tags for the file
- let fidx = s:Tlist_Process_File(filename, ftype)
- else
- let mtime = getftime(filename)
- if s:tlist_{fidx}_mtime != mtime
- " Invalidate the tags listed for this file
- let s:tlist_{fidx}_valid = 0
-
- " Update the taglist and the window
- call Tlist_Update_File(filename, ftype)
-
- " Store the new file modification time
- let s:tlist_{fidx}_mtime = mtime
- endif
- endif
-
- " Update the taglist window
- if tlist_win != -1
- " Disable screen updates
- let old_lazyredraw = &lazyredraw
- set nolazyredraw
-
- " Save the current window number
- let save_winnr = winnr()
-
- " Goto the taglist window
- call s:Tlist_Window_Goto_Window()
-
- if !g:Tlist_Auto_Highlight_Tag || !g:Tlist_Highlight_Tag_On_BufEnter
- " Save the cursor position
- let save_line = line('.')
- let save_col = col('.')
- endif
-
- " Update the taglist window
- call s:Tlist_Window_Refresh_File(filename, ftype)
-
- " Open the fold for the file
- exe "silent! " . s:tlist_{fidx}_start . "," .
- \ s:tlist_{fidx}_end . "foldopen!"
-
- if g:Tlist_Highlight_Tag_On_BufEnter && g:Tlist_Auto_Highlight_Tag
- if g:Tlist_Show_One_File && s:tlist_cur_file_idx != fidx
- " If displaying tags for only one file in the taglist
- " window and about to display the tags for a new file,
- " then center the current tag line for the new file
- let center_tag_line = 1
- else
- let center_tag_line = 0
- endif
-
- " Highlight the current tag
- call s:Tlist_Window_Highlight_Tag(filename, cur_lnum, 1, center_tag_line)
- else
- " Restore the cursor position
- if v:version >= 601
- call cursor(save_line, save_col)
- else
- exe save_line
- exe 'normal! ' . save_col . '|'
- endif
- endif
-
- " Jump back to the original window
- if save_winnr != winnr()
- call s:Tlist_Exe_Cmd_No_Acmds(save_winnr . 'wincmd w')
- endif
-
- " Restore screen updates
- let &lazyredraw = old_lazyredraw
- endif
-
- " Update the taglist menu
- if g:Tlist_Show_Menu
- call s:Tlist_Menu_Update_File(0)
- endif
-endfunction
-
-" Tlist_Change_Sort()
-" Change the sort order of the tag listing
-" caller == 'cmd', command used in the taglist window
-" caller == 'menu', taglist menu
-" action == 'toggle', toggle sort from name to order and vice versa
-" action == 'set', set the sort order to sort_type
-function! s:Tlist_Change_Sort(caller, action, sort_type)
- call s:Tlist_Log_Msg('Tlist_Change_Sort (caller = ' . a:caller .
- \ ', action = ' . a:action . ', sort_type = ' . a:sort_type . ')')
- if a:caller == 'cmd'
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.'))
- if fidx == -1
- return
- endif
-
- " Remove the previous highlighting
- match none
- elseif a:caller == 'menu'
- let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p'))
- if fidx == -1
- return
- endif
- endif
-
- if a:action == 'toggle'
- let sort_type = s:tlist_{fidx}_sort_type
-
- " Toggle the sort order from 'name' to 'order' and vice versa
- if sort_type == 'name'
- let s:tlist_{fidx}_sort_type = 'order'
- else
- let s:tlist_{fidx}_sort_type = 'name'
- endif
- else
- let s:tlist_{fidx}_sort_type = a:sort_type
- endif
-
- " Invalidate the tags listed for this file
- let s:tlist_{fidx}_valid = 0
-
- if a:caller == 'cmd'
- " Save the current line for later restoration
- let curline = '\V\^' . getline('.') . '\$'
-
- call s:Tlist_Window_Refresh_File(s:tlist_{fidx}_filename,
- \ s:tlist_{fidx}_filetype)
-
- exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'foldopen!'
-
- " Go back to the cursor line before the tag list is sorted
- call search(curline, 'w')
-
- call s:Tlist_Menu_Update_File(1)
- else
- call s:Tlist_Menu_Remove_File()
-
- call s:Tlist_Refresh()
- endif
-endfunction
-
-" Tlist_Update_Current_File()
-" Update taglist for the current buffer by regenerating the tag list
-" Contributed by WEN Guopeng.
-function! s:Tlist_Update_Current_File()
- call s:Tlist_Log_Msg('Tlist_Update_Current_File()')
- if winnr() == bufwinnr(g:TagList_title)
- " In the taglist window. Update the current file
- call s:Tlist_Window_Update_File()
- else
- " Not in the taglist window. Update the current buffer
- let filename = fnamemodify(bufname('%'), ':p')
- let fidx = s:Tlist_Get_File_Index(filename)
- if fidx != -1
- let s:tlist_{fidx}_valid = 0
- endif
- let ft = s:Tlist_Get_Buffer_Filetype('%')
- call Tlist_Update_File(filename, ft)
- endif
-endfunction
-
-" Tlist_Window_Update_File()
-" Update the tags displayed in the taglist window
-function! s:Tlist_Window_Update_File()
- call s:Tlist_Log_Msg('Tlist_Window_Update_File()')
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.'))
- if fidx == -1
- return
- endif
-
- " Remove the previous highlighting
- match none
-
- " Save the current line for later restoration
- let curline = '\V\^' . getline('.') . '\$'
-
- let s:tlist_{fidx}_valid = 0
-
- " Update the taglist window
- call s:Tlist_Window_Refresh_File(s:tlist_{fidx}_filename,
- \ s:tlist_{fidx}_filetype)
-
- exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'foldopen!'
-
- " Go back to the tag line before the list is updated
- call search(curline, 'w')
-endfunction
-
-" Tlist_Window_Get_Tag_Type_By_Linenum()
-" Return the tag type index for the specified line in the taglist window
-function! s:Tlist_Window_Get_Tag_Type_By_Linenum(fidx, lnum)
- let ftype = s:tlist_{a:fidx}_filetype
-
- " Determine to which tag type the current line number belongs to using the
- " tag type start line number and the number of tags in a tag type
- let i = 1
- while i <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{i}_name
- let start_lnum =
- \ s:tlist_{a:fidx}_start + s:tlist_{a:fidx}_{ttype}_offset
- let end = start_lnum + s:tlist_{a:fidx}_{ttype}_count
- if a:lnum >= start_lnum && a:lnum <= end
- break
- endif
- let i = i + 1
- endwhile
-
- " Current line doesn't belong to any of the displayed tag types
- if i > s:tlist_{ftype}_count
- return ''
- endif
-
- return ttype
-endfunction
-
-" Tlist_Window_Get_Tag_Index()
-" Return the tag index for the specified line in the taglist window
-function! s:Tlist_Window_Get_Tag_Index(fidx, lnum)
- let ttype = s:Tlist_Window_Get_Tag_Type_By_Linenum(a:fidx, a:lnum)
-
- " Current line doesn't belong to any of the displayed tag types
- if ttype == ''
- return 0
- endif
-
- " Compute the index into the displayed tags for the tag type
- let ttype_lnum = s:tlist_{a:fidx}_start + s:tlist_{a:fidx}_{ttype}_offset
- let tidx = a:lnum - ttype_lnum
- if tidx == 0
- return 0
- endif
-
- " Get the corresponding tag line and return it
- return s:tlist_{a:fidx}_{ttype}_{tidx}
-endfunction
-
-" Tlist_Window_Highlight_Line
-" Highlight the current line
-function! s:Tlist_Window_Highlight_Line()
- " Clear previously selected name
- match none
-
- " Highlight the current line
- if g:Tlist_Display_Prototype == 0
- let pat = '/\%' . line('.') . 'l\s\+\zs.*/'
- else
- let pat = '/\%' . line('.') . 'l.*/'
- endif
-
- exe 'match TagListTagName ' . pat
-endfunction
-
-" Tlist_Window_Open_File
-" Open the specified file in either a new window or an existing window
-" and place the cursor at the specified tag pattern
-function! s:Tlist_Window_Open_File(win_ctrl, filename, tagpat)
- call s:Tlist_Log_Msg('Tlist_Window_Open_File (' . a:filename . ',' .
- \ a:win_ctrl . ')')
- let prev_Tlist_Skip_Refresh = s:Tlist_Skip_Refresh
- let s:Tlist_Skip_Refresh = 1
-
- if s:tlist_app_name == "winmanager"
- " Let the winmanager edit the file
- call WinManagerFileEdit(a:filename, a:win_ctrl == 'newwin')
- else
-
- if a:win_ctrl == 'newtab'
- " Create a new tab
- exe 'tabnew ' . escape(a:filename, ' ')
- " Open the taglist window in the new tab
- call s:Tlist_Window_Open()
- endif
-
- if a:win_ctrl == 'checktab'
- " Check whether the file is present in any of the tabs.
- " If the file is present in the current tab, then use the
- " current tab.
- if bufwinnr(a:filename) != -1
- let file_present_in_tab = 1
- let i = tabpagenr()
- else
- let i = 1
- let bnum = bufnr(a:filename)
- let file_present_in_tab = 0
- while i <= tabpagenr('$')
- if index(tabpagebuflist(i), bnum) != -1
- let file_present_in_tab = 1
- break
- endif
- let i += 1
- endwhile
- endif
-
- if file_present_in_tab
- " Goto the tab containing the file
- exe 'tabnext ' . i
- else
- " Open a new tab
- exe 'tabnew ' . escape(a:filename, ' ')
-
- " Open the taglist window
- call s:Tlist_Window_Open()
- endif
- endif
-
- let winnum = -1
- if a:win_ctrl == 'prevwin'
- " Open the file in the previous window, if it is usable
- let cur_win = winnr()
- wincmd p
- if &buftype == '' && !&previewwindow
- exe "edit " . escape(a:filename, ' ')
- let winnum = winnr()
- else
- " Previous window is not usable
- exe cur_win . 'wincmd w'
- endif
- endif
-
- " Goto the window containing the file. If the window is not there, open a
- " new window
- if winnum == -1
- let winnum = bufwinnr(a:filename)
- endif
-
- if winnum == -1
- " Locate the previously used window for opening a file
- let fwin_num = 0
- let first_usable_win = 0
-
- let i = 1
- let bnum = winbufnr(i)
- while bnum != -1
- if getwinvar(i, 'tlist_file_window') == 'yes'
- let fwin_num = i
- break
- endif
- if first_usable_win == 0 &&
- \ getbufvar(bnum, '&buftype') == '' &&
- \ !getwinvar(i, '&previewwindow')
- " First non-taglist, non-plugin and non-preview window
- let first_usable_win = i
- endif
- let i = i + 1
- let bnum = winbufnr(i)
- endwhile
-
- " If a previously used window is not found, then use the first
- " non-taglist window
- if fwin_num == 0
- let fwin_num = first_usable_win
- endif
-
- if fwin_num != 0
- " Jump to the file window
- exe fwin_num . "wincmd w"
-
- " If the user asked to jump to the tag in a new window, then split
- " the existing window into two.
- if a:win_ctrl == 'newwin'
- split
- endif
- exe "edit " . escape(a:filename, ' ')
- else
- " Open a new window
- if g:Tlist_Use_Horiz_Window
- exe 'leftabove split ' . escape(a:filename, ' ')
- else
- if winbufnr(2) == -1
- " Only the taglist window is present
- if g:Tlist_Use_Right_Window
- exe 'leftabove vertical split ' .
- \ escape(a:filename, ' ')
- else
- exe 'rightbelow vertical split ' .
- \ escape(a:filename, ' ')
- endif
-
- " Go to the taglist window to change the window size to
- " the user configured value
- call s:Tlist_Exe_Cmd_No_Acmds('wincmd p')
- if g:Tlist_Use_Horiz_Window
- exe 'resize ' . g:Tlist_WinHeight
- else
- exe 'vertical resize ' . g:Tlist_WinWidth
- endif
- " Go back to the file window
- call s:Tlist_Exe_Cmd_No_Acmds('wincmd p')
- else
- " A plugin or help window is also present
- wincmd w
- exe 'leftabove split ' . escape(a:filename, ' ')
- endif
- endif
- endif
- " Mark the window, so that it can be reused.
- call s:Tlist_Window_Mark_File_Window()
- else
- if v:version >= 700
- " If the file is opened in more than one window, then check
- " whether the last accessed window has the selected file.
- " If it does, then use that window.
- let lastwin_bufnum = winbufnr(winnr('#'))
- if bufnr(a:filename) == lastwin_bufnum
- let winnum = winnr('#')
- endif
- endif
- exe winnum . 'wincmd w'
-
- " If the user asked to jump to the tag in a new window, then split the
- " existing window into two.
- if a:win_ctrl == 'newwin'
- split
- endif
- endif
- endif
-
- " Jump to the tag
- if a:tagpat != ''
- " Add the current cursor position to the jump list, so that user can
- " jump back using the ' and ` marks.
- mark '
- silent call search(a:tagpat, 'w')
-
- " Bring the line to the middle of the window
- normal! z.
-
- " If the line is inside a fold, open the fold
- if foldclosed('.') != -1
- .foldopen
- endif
- endif
-
- " If the user selects to preview the tag then jump back to the
- " taglist window
- if a:win_ctrl == 'preview'
- " Go back to the taglist window
- let winnum = bufwinnr(g:TagList_title)
- exe winnum . 'wincmd w'
- else
- " If the user has selected to close the taglist window, when a
- " tag is selected, close the taglist window
- if g:Tlist_Close_On_Select
- call s:Tlist_Window_Goto_Window()
- close
-
- " Go back to the window displaying the selected file
- let wnum = bufwinnr(a:filename)
- if wnum != -1 && wnum != winnr()
- call s:Tlist_Exe_Cmd_No_Acmds(wnum . 'wincmd w')
- endif
- endif
- endif
-
- let s:Tlist_Skip_Refresh = prev_Tlist_Skip_Refresh
-endfunction
-
-" Tlist_Window_Jump_To_Tag()
-" Jump to the location of the current tag
-" win_ctrl == useopen - Reuse the existing file window
-" win_ctrl == newwin - Open a new window
-" win_ctrl == preview - Preview the tag
-" win_ctrl == prevwin - Open in previous window
-" win_ctrl == newtab - Open in new tab
-function! s:Tlist_Window_Jump_To_Tag(win_ctrl)
- call s:Tlist_Log_Msg('Tlist_Window_Jump_To_Tag(' . a:win_ctrl . ')')
- " Do not process comment lines and empty lines
- let curline = getline('.')
- if curline =~ '^\s*$' || curline[0] == '"'
- return
- endif
-
- " If inside a closed fold, then use the first line of the fold
- " and jump to the file.
- let lnum = foldclosed('.')
- if lnum == -1
- " Jump to the selected tag or file
- let lnum = line('.')
- else
- " Open the closed fold
- .foldopen!
- endif
-
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(lnum)
- if fidx == -1
- return
- endif
-
- " Get the tag output for the current tag
- let tidx = s:Tlist_Window_Get_Tag_Index(fidx, lnum)
- if tidx != 0
- let tagpat = s:Tlist_Get_Tag_SearchPat(fidx, tidx)
-
- " Highlight the tagline
- call s:Tlist_Window_Highlight_Line()
- else
- " Selected a line which is not a tag name. Just edit the file
- let tagpat = ''
- endif
-
- call s:Tlist_Window_Open_File(a:win_ctrl, s:tlist_{fidx}_filename, tagpat)
-endfunction
-
-" Tlist_Window_Show_Info()
-" Display information about the entry under the cursor
-function! s:Tlist_Window_Show_Info()
- call s:Tlist_Log_Msg('Tlist_Window_Show_Info()')
-
- " Clear the previously displayed line
- echo
-
- " Do not process comment lines and empty lines
- let curline = getline('.')
- if curline =~ '^\s*$' || curline[0] == '"'
- return
- endif
-
- " If inside a fold, then don't display the prototype
- if foldclosed('.') != -1
- return
- endif
-
- let lnum = line('.')
-
- " Get the file index
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(lnum)
- if fidx == -1
- return
- endif
-
- if lnum == s:tlist_{fidx}_start
- " Cursor is on a file name
- let fname = s:tlist_{fidx}_filename
- if strlen(fname) > 50
- let fname = fnamemodify(fname, ':t')
- endif
- echo fname . ', Filetype=' . s:tlist_{fidx}_filetype .
- \ ', Tag count=' . s:tlist_{fidx}_tag_count
- return
- endif
-
- " Get the tag output line for the current tag
- let tidx = s:Tlist_Window_Get_Tag_Index(fidx, lnum)
- if tidx == 0
- " Cursor is on a tag type
- let ttype = s:Tlist_Window_Get_Tag_Type_By_Linenum(fidx, lnum)
- if ttype == ''
- return
- endif
-
- let ttype_name = ''
-
- let ftype = s:tlist_{fidx}_filetype
- let i = 1
- while i <= s:tlist_{ftype}_count
- if ttype == s:tlist_{ftype}_{i}_name
- let ttype_name = s:tlist_{ftype}_{i}_fullname
- break
- endif
- let i = i + 1
- endwhile
-
- echo 'Tag type=' . ttype_name .
- \ ', Tag count=' . s:tlist_{fidx}_{ttype}_count
- return
- endif
-
- " Get the tag search pattern and display it
- echo s:Tlist_Get_Tag_Prototype(fidx, tidx)
-endfunction
-
-" Tlist_Find_Nearest_Tag_Idx
-" Find the tag idx nearest to the supplied line number
-" Returns -1, if a tag couldn't be found for the specified line number
-function! s:Tlist_Find_Nearest_Tag_Idx(fidx, linenum)
- let sort_type = s:tlist_{a:fidx}_sort_type
-
- let left = 1
- let right = s:tlist_{a:fidx}_tag_count
-
- if sort_type == 'order'
- " Tags sorted by order, use a binary search.
- " The idea behind this function is taken from the ctags.vim script (by
- " Alexey Marinichev) available at the Vim online website.
-
- " If the current line is the less than the first tag, then no need to
- " search
- let first_lnum = s:Tlist_Get_Tag_Linenum(a:fidx, 1)
-
- if a:linenum < first_lnum
- return -1
- endif
-
- while left < right
- let middle = (right + left + 1) / 2
- let middle_lnum = s:Tlist_Get_Tag_Linenum(a:fidx, middle)
-
- if middle_lnum == a:linenum
- let left = middle
- break
- endif
-
- if middle_lnum > a:linenum
- let right = middle - 1
- else
- let left = middle
- endif
- endwhile
- else
- " Tags sorted by name, use a linear search. (contributed by Dave
- " Eggum).
- " Look for a tag with a line number less than or equal to the supplied
- " line number. If multiple tags are found, then use the tag with the
- " line number closest to the supplied line number. IOW, use the tag
- " with the highest line number.
- let closest_lnum = 0
- let final_left = 0
- while left <= right
- let lnum = s:Tlist_Get_Tag_Linenum(a:fidx, left)
-
- if lnum < a:linenum && lnum > closest_lnum
- let closest_lnum = lnum
- let final_left = left
- elseif lnum == a:linenum
- let closest_lnum = lnum
- let final_left = left
- break
- else
- let left = left + 1
- endif
- endwhile
- if closest_lnum == 0
- return -1
- endif
- if left >= right
- let left = final_left
- endif
- endif
-
- return left
-endfunction
-
-" Tlist_Window_Highlight_Tag()
-" Highlight the current tag
-" cntx == 1, Called by the taglist plugin itself
-" cntx == 2, Forced by the user through the TlistHighlightTag command
-" center = 1, move the tag line to the center of the taglist window
-function! s:Tlist_Window_Highlight_Tag(filename, cur_lnum, cntx, center)
- " Highlight the current tag only if the user configured the
- " taglist plugin to do so or if the user explictly invoked the
- " command to highlight the current tag.
- if !g:Tlist_Auto_Highlight_Tag && a:cntx == 1
- return
- endif
-
- if a:filename == ''
- return
- endif
-
- " Make sure the taglist window is present
- let winnum = bufwinnr(g:TagList_title)
- if winnum == -1
- call s:Tlist_Warning_Msg('Error: Taglist window is not open')
- return
- endif
-
- let fidx = s:Tlist_Get_File_Index(a:filename)
- if fidx == -1
- return
- endif
-
- " If the file is currently not displayed in the taglist window, then retrn
- if !s:tlist_{fidx}_visible
- return
- endif
-
- " If there are no tags for this file, then no need to proceed further
- if s:tlist_{fidx}_tag_count == 0
- return
- endif
-
- " Ignore all autocommands
- let old_ei = &eventignore
- set eventignore=all
-
- " Save the original window number
- let org_winnr = winnr()
-
- if org_winnr == winnum
- let in_taglist_window = 1
- else
- let in_taglist_window = 0
- endif
-
- " Go to the taglist window
- if !in_taglist_window
- exe winnum . 'wincmd w'
- endif
-
- " Clear previously selected name
- match none
-
- let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, a:cur_lnum)
- if tidx == -1
- " Make sure the current tag line is visible in the taglist window.
- " Calling the winline() function makes the line visible. Don't know
- " of a better way to achieve this.
- let lnum = line('.')
-
- if lnum < s:tlist_{fidx}_start || lnum > s:tlist_{fidx}_end
- " Move the cursor to the beginning of the file
- exe s:tlist_{fidx}_start
- endif
-
- if foldclosed('.') != -1
- .foldopen
- endif
-
- call winline()
-
- if !in_taglist_window
- exe org_winnr . 'wincmd w'
- endif
-
- " Restore the autocommands
- let &eventignore = old_ei
- return
- endif
-
- " Extract the tag type
- let ttype = s:Tlist_Get_Tag_Type_By_Tag(fidx, tidx)
-
- " Compute the line number
- " Start of file + Start of tag type + offset
- let lnum = s:tlist_{fidx}_start + s:tlist_{fidx}_{ttype}_offset +
- \ s:tlist_{fidx}_{tidx}_ttype_idx
-
- " Goto the line containing the tag
- exe lnum
-
- " Open the fold
- if foldclosed('.') != -1
- .foldopen
- endif
-
- if a:center
- " Move the tag line to the center of the taglist window
- normal! z.
- else
- " Make sure the current tag line is visible in the taglist window.
- " Calling the winline() function makes the line visible. Don't know
- " of a better way to achieve this.
- call winline()
- endif
-
- " Highlight the tag name
- call s:Tlist_Window_Highlight_Line()
-
- " Go back to the original window
- if !in_taglist_window
- exe org_winnr . 'wincmd w'
- endif
-
- " Restore the autocommands
- let &eventignore = old_ei
- return
-endfunction
-
-" Tlist_Get_Tag_Prototype_By_Line
-" Get the prototype for the tag on or before the specified line number in the
-" current buffer
-function! Tlist_Get_Tag_Prototype_By_Line(...)
- if a:0 == 0
- " Arguments are not supplied. Use the current buffer name
- " and line number
- let filename = bufname('%')
- let linenr = line('.')
- elseif a:0 == 2
- " Filename and line number are specified
- let filename = a:1
- let linenr = a:2
- if linenr !~ '\d\+'
- " Invalid line number
- return ""
- endif
- else
- " Sufficient arguments are not supplied
- let msg = 'Usage: Tlist_Get_Tag_Prototype_By_Line <filename> ' .
- \ '<line_number>'
- call s:Tlist_Warning_Msg(msg)
- return ""
- endif
-
- " Expand the file to a fully qualified name
- let filename = fnamemodify(filename, ':p')
- if filename == ''
- return ""
- endif
-
- let fidx = s:Tlist_Get_File_Index(filename)
- if fidx == -1
- return ""
- endif
-
- " If there are no tags for this file, then no need to proceed further
- if s:tlist_{fidx}_tag_count == 0
- return ""
- endif
-
- " Get the tag text using the line number
- let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, linenr)
- if tidx == -1
- return ""
- endif
-
- return s:Tlist_Get_Tag_Prototype(fidx, tidx)
-endfunction
-
-" Tlist_Get_Tagname_By_Line
-" Get the tag name on or before the specified line number in the
-" current buffer
-function! Tlist_Get_Tagname_By_Line(...)
- if a:0 == 0
- " Arguments are not supplied. Use the current buffer name
- " and line number
- let filename = bufname('%')
- let linenr = line('.')
- elseif a:0 == 2
- " Filename and line number are specified
- let filename = a:1
- let linenr = a:2
- if linenr !~ '\d\+'
- " Invalid line number
- return ""
- endif
- else
- " Sufficient arguments are not supplied
- let msg = 'Usage: Tlist_Get_Tagname_By_Line <filename> <line_number>'
- call s:Tlist_Warning_Msg(msg)
- return ""
- endif
-
- " Make sure the current file has a name
- let filename = fnamemodify(filename, ':p')
- if filename == ''
- return ""
- endif
-
- let fidx = s:Tlist_Get_File_Index(filename)
- if fidx == -1
- return ""
- endif
-
- " If there are no tags for this file, then no need to proceed further
- if s:tlist_{fidx}_tag_count == 0
- return ""
- endif
-
- " Get the tag name using the line number
- let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, linenr)
- if tidx == -1
- return ""
- endif
-
- return s:tlist_{fidx}_{tidx}_tag_name
-endfunction
-
-" Tlist_Window_Move_To_File
-" Move the cursor to the beginning of the current file or the next file
-" or the previous file in the taglist window
-" dir == -1, move to start of current or previous function
-" dir == 1, move to start of next function
-function! s:Tlist_Window_Move_To_File(dir)
- if foldlevel('.') == 0
- " Cursor is on a non-folded line (it is not in any of the files)
- " Move it to a folded line
- if a:dir == -1
- normal! zk
- else
- " While moving down to the start of the next fold,
- " no need to do go to the start of the next file.
- normal! zj
- return
- endif
- endif
-
- let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.'))
- if fidx == -1
- return
- endif
-
- let cur_lnum = line('.')
-
- if a:dir == -1
- if cur_lnum > s:tlist_{fidx}_start
- " Move to the beginning of the current file
- exe s:tlist_{fidx}_start
- return
- endif
-
- if fidx != 0
- " Move to the beginning of the previous file
- let fidx = fidx - 1
- else
- " Cursor is at the first file, wrap around to the last file
- let fidx = s:tlist_file_count - 1
- endif
-
- exe s:tlist_{fidx}_start
- return
- else
- " Move to the beginning of the next file
- let fidx = fidx + 1
-
- if fidx >= s:tlist_file_count
- " Cursor is at the last file, wrap around to the first file
- let fidx = 0
- endif
-
- if s:tlist_{fidx}_start != 0
- exe s:tlist_{fidx}_start
- endif
- return
- endif
-endfunction
-
-" Tlist_Session_Load
-" Load a taglist session (information about all the displayed files
-" and the tags) from the specified file
-function! s:Tlist_Session_Load(...)
- if a:0 == 0 || a:1 == ''
- call s:Tlist_Warning_Msg('Usage: TlistSessionLoad <filename>')
- return
- endif
-
- let sessionfile = a:1
-
- if !filereadable(sessionfile)
- let msg = 'Taglist: Error - Unable to open file ' . sessionfile
- call s:Tlist_Warning_Msg(msg)
- return
- endif
-
- " Mark the current window as the file window
- call s:Tlist_Window_Mark_File_Window()
-
- " Source the session file
- exe 'source ' . sessionfile
-
- let new_file_count = g:tlist_file_count
- unlet! g:tlist_file_count
-
- let i = 0
- while i < new_file_count
- let ftype = g:tlist_{i}_filetype
- unlet! g:tlist_{i}_filetype
-
- if !exists('s:tlist_' . ftype . '_count')
- if s:Tlist_FileType_Init(ftype) == 0
- let i = i + 1
- continue
- endif
- endif
-
- let fname = g:tlist_{i}_filename
- unlet! g:tlist_{i}_filename
-
- let fidx = s:Tlist_Get_File_Index(fname)
- if fidx != -1
- let s:tlist_{fidx}_visible = 0
- let i = i + 1
- continue
- else
- " As we are loading the tags from the session file, if this
- " file was previously deleted by the user, now we need to
- " add it back. So remove the file from the deleted list.
- call s:Tlist_Update_Remove_List(fname, 0)
- endif
-
- let fidx = s:Tlist_Init_File(fname, ftype)
-
- let s:tlist_{fidx}_filename = fname
-
- let s:tlist_{fidx}_sort_type = g:tlist_{i}_sort_type
- unlet! g:tlist_{i}_sort_type
-
- let s:tlist_{fidx}_filetype = ftype
- let s:tlist_{fidx}_mtime = getftime(fname)
-
- let s:tlist_{fidx}_start = 0
- let s:tlist_{fidx}_end = 0
-
- let s:tlist_{fidx}_valid = 1
-
- let s:tlist_{fidx}_tag_count = g:tlist_{i}_tag_count
- unlet! g:tlist_{i}_tag_count
-
- let j = 1
- while j <= s:tlist_{fidx}_tag_count
- let s:tlist_{fidx}_{j}_tag = g:tlist_{i}_{j}_tag
- let s:tlist_{fidx}_{j}_tag_name = g:tlist_{i}_{j}_tag_name
- let s:tlist_{fidx}_{j}_ttype_idx = g:tlist_{i}_{j}_ttype_idx
- unlet! g:tlist_{i}_{j}_tag
- unlet! g:tlist_{i}_{j}_tag_name
- unlet! g:tlist_{i}_{j}_ttype_idx
- let j = j + 1
- endwhile
-
- let j = 1
- while j <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{j}_name
-
- if exists('g:tlist_' . i . '_' . ttype)
- let s:tlist_{fidx}_{ttype} = g:tlist_{i}_{ttype}
- unlet! g:tlist_{i}_{ttype}
- let s:tlist_{fidx}_{ttype}_offset = 0
- let s:tlist_{fidx}_{ttype}_count = g:tlist_{i}_{ttype}_count
- unlet! g:tlist_{i}_{ttype}_count
-
- let k = 1
- while k <= s:tlist_{fidx}_{ttype}_count
- let s:tlist_{fidx}_{ttype}_{k} = g:tlist_{i}_{ttype}_{k}
- unlet! g:tlist_{i}_{ttype}_{k}
- let k = k + 1
- endwhile
- else
- let s:tlist_{fidx}_{ttype} = ''
- let s:tlist_{fidx}_{ttype}_offset = 0
- let s:tlist_{fidx}_{ttype}_count = 0
- endif
-
- let j = j + 1
- endwhile
-
- let i = i + 1
- endwhile
-
- " If the taglist window is open, then update it
- let winnum = bufwinnr(g:TagList_title)
- if winnum != -1
- let save_winnr = winnr()
-
- " Goto the taglist window
- call s:Tlist_Window_Goto_Window()
-
- " Refresh the taglist window
- call s:Tlist_Window_Refresh()
-
- " Go back to the original window
- if save_winnr != winnr()
- call s:Tlist_Exe_Cmd_No_Acmds('wincmd p')
- endif
- endif
-endfunction
-
-" Tlist_Session_Save
-" Save a taglist session (information about all the displayed files
-" and the tags) into the specified file
-function! s:Tlist_Session_Save(...)
- if a:0 == 0 || a:1 == ''
- call s:Tlist_Warning_Msg('Usage: TlistSessionSave <filename>')
- return
- endif
-
- let sessionfile = a:1
-
- if s:tlist_file_count == 0
- " There is nothing to save
- call s:Tlist_Warning_Msg('Warning: Taglist is empty. Nothing to save.')
- return
- endif
-
- if filereadable(sessionfile)
- let ans = input('Do you want to overwrite ' . sessionfile . ' (Y/N)?')
- if ans !=? 'y'
- return
- endif
-
- echo "\n"
- endif
-
- let old_verbose = &verbose
- set verbose&vim
-
- exe 'redir! > ' . sessionfile
-
- silent! echo '" Taglist session file. This file is auto-generated.'
- silent! echo '" File information'
- silent! echo 'let tlist_file_count = ' . s:tlist_file_count
-
- let i = 0
-
- while i < s:tlist_file_count
- " Store information about the file
- silent! echo 'let tlist_' . i . "_filename = '" .
- \ s:tlist_{i}_filename . "'"
- silent! echo 'let tlist_' . i . '_sort_type = "' .
- \ s:tlist_{i}_sort_type . '"'
- silent! echo 'let tlist_' . i . '_filetype = "' .
- \ s:tlist_{i}_filetype . '"'
- silent! echo 'let tlist_' . i . '_tag_count = ' .
- \ s:tlist_{i}_tag_count
- " Store information about all the tags
- let j = 1
- while j <= s:tlist_{i}_tag_count
- let txt = escape(s:tlist_{i}_{j}_tag, '"\\')
- silent! echo 'let tlist_' . i . '_' . j . '_tag = "' . txt . '"'
- silent! echo 'let tlist_' . i . '_' . j . '_tag_name = "' .
- \ s:tlist_{i}_{j}_tag_name . '"'
- silent! echo 'let tlist_' . i . '_' . j . '_ttype_idx' . ' = ' .
- \ s:tlist_{i}_{j}_ttype_idx
- let j = j + 1
- endwhile
-
- " Store information about all the tags grouped by their type
- let ftype = s:tlist_{i}_filetype
- let j = 1
- while j <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{j}_name
- if s:tlist_{i}_{ttype}_count != 0
- let txt = escape(s:tlist_{i}_{ttype}, '"\')
- let txt = substitute(txt, "\n", "\\\\n", 'g')
- silent! echo 'let tlist_' . i . '_' . ttype . ' = "' .
- \ txt . '"'
- silent! echo 'let tlist_' . i . '_' . ttype . '_count = ' .
- \ s:tlist_{i}_{ttype}_count
- let k = 1
- while k <= s:tlist_{i}_{ttype}_count
- silent! echo 'let tlist_' . i . '_' . ttype . '_' . k .
- \ ' = ' . s:tlist_{i}_{ttype}_{k}
- let k = k + 1
- endwhile
- endif
- let j = j + 1
- endwhile
-
- silent! echo
-
- let i = i + 1
- endwhile
-
- redir END
-
- let &verbose = old_verbose
-endfunction
-
-" Tlist_Buffer_Removed
-" A buffer is removed from the Vim buffer list. Remove the tags defined
-" for that file
-function! s:Tlist_Buffer_Removed(filename)
- call s:Tlist_Log_Msg('Tlist_Buffer_Removed (' . a:filename . ')')
-
- " Make sure a valid filename is supplied
- if a:filename == ''
- return
- endif
-
- " Get tag list index of the specified file
- let fidx = s:Tlist_Get_File_Index(a:filename)
- if fidx == -1
- " File not present in the taglist
- return
- endif
-
- " Remove the file from the list
- call s:Tlist_Remove_File(fidx, 0)
-endfunction
-
-" When a buffer is deleted, remove the file from the taglist
-autocmd BufDelete * silent call s:Tlist_Buffer_Removed(expand('<afile>:p'))
-
-" Tlist_Window_Open_File_Fold
-" Open the fold for the specified file and close the fold for all the
-" other files
-function! s:Tlist_Window_Open_File_Fold(acmd_bufnr)
- call s:Tlist_Log_Msg('Tlist_Window_Open_File_Fold (' . a:acmd_bufnr . ')')
-
- " Make sure the taglist window is present
- let winnum = bufwinnr(g:TagList_title)
- if winnum == -1
- call s:Tlist_Warning_Msg('Taglist: Error - Taglist window is not open')
- return
- endif
-
- " Save the original window number
- let org_winnr = winnr()
- if org_winnr == winnum
- let in_taglist_window = 1
- else
- let in_taglist_window = 0
- endif
-
- if in_taglist_window
- " When entering the taglist window, no need to update the folds
- return
- endif
-
- " Go to the taglist window
- if !in_taglist_window
- call s:Tlist_Exe_Cmd_No_Acmds(winnum . 'wincmd w')
- endif
-
- " Close all the folds
- silent! %foldclose
-
- " Get tag list index of the specified file
- let fname = fnamemodify(bufname(a:acmd_bufnr + 0), ':p')
- if filereadable(fname)
- let fidx = s:Tlist_Get_File_Index(fname)
- if fidx != -1
- " Open the fold for the file
- exe "silent! " . s:tlist_{fidx}_start . "," .
- \ s:tlist_{fidx}_end . "foldopen"
- endif
- endif
-
- " Go back to the original window
- if !in_taglist_window
- call s:Tlist_Exe_Cmd_No_Acmds(org_winnr . 'wincmd w')
- endif
-endfunction
-
-" Tlist_Window_Check_Auto_Open
-" Open the taglist window automatically on Vim startup.
-" Open the window only when files present in any of the Vim windows support
-" tags.
-function! s:Tlist_Window_Check_Auto_Open()
- let open_window = 0
-
- let i = 1
- let buf_num = winbufnr(i)
- while buf_num != -1
- let filename = fnamemodify(bufname(buf_num), ':p')
- let ft = s:Tlist_Get_Buffer_Filetype(buf_num)
- if !s:Tlist_Skip_File(filename, ft)
- let open_window = 1
- break
- endif
- let i = i + 1
- let buf_num = winbufnr(i)
- endwhile
-
- if open_window
- call s:Tlist_Window_Toggle()
- endif
-endfunction
-
-" Tlist_Refresh_Folds
-" Remove and create the folds for all the files displayed in the taglist
-" window. Used after entering a tab. If this is not done, then the folds
-" are not properly created for taglist windows displayed in multiple tabs.
-function! s:Tlist_Refresh_Folds()
- let winnum = bufwinnr(g:TagList_title)
- if winnum == -1
- return
- endif
-
- let save_wnum = winnr()
- exe winnum . 'wincmd w'
-
- " First remove all the existing folds
- normal! zE
-
- " Create the folds for each in the tag list
- let fidx = 0
- while fidx < s:tlist_file_count
- let ftype = s:tlist_{fidx}_filetype
-
- " Create the folds for each tag type in a file
- let j = 1
- while j <= s:tlist_{ftype}_count
- let ttype = s:tlist_{ftype}_{j}_name
- if s:tlist_{fidx}_{ttype}_count
- let s = s:tlist_{fidx}_start + s:tlist_{fidx}_{ttype}_offset
- let e = s + s:tlist_{fidx}_{ttype}_count
- exe s . ',' . e . 'fold'
- endif
- let j = j + 1
- endwhile
-
- exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'fold'
- exe 'silent! ' . s:tlist_{fidx}_start . ',' .
- \ s:tlist_{fidx}_end . 'foldopen!'
- let fidx = fidx + 1
- endwhile
-
- exe save_wnum . 'wincmd w'
-endfunction
-
-function! s:Tlist_Menu_Add_Base_Menu()
- call s:Tlist_Log_Msg('Adding the base menu')
-
- " Add the menu
- anoremenu <silent> T&ags.Refresh\ menu :call <SID>Tlist_Menu_Refresh()<CR>
- anoremenu <silent> T&ags.Sort\ menu\ by.Name
- \ :call <SID>Tlist_Change_Sort('menu', 'set', 'name')<CR>
- anoremenu <silent> T&ags.Sort\ menu\ by.Order
- \ :call <SID>Tlist_Change_Sort('menu', 'set', 'order')<CR>
- anoremenu T&ags.-SEP1- :
-
- if &mousemodel =~ 'popup'
- anoremenu <silent> PopUp.T&ags.Refresh\ menu
- \ :call <SID>Tlist_Menu_Refresh()<CR>
- anoremenu <silent> PopUp.T&ags.Sort\ menu\ by.Name
- \ :call <SID>Tlist_Change_Sort('menu', 'set', 'name')<CR>
- anoremenu <silent> PopUp.T&ags.Sort\ menu\ by.Order
- \ :call <SID>Tlist_Change_Sort('menu', 'set', 'order')<CR>
- anoremenu PopUp.T&ags.-SEP1- :
- endif
-endfunction
-
-let s:menu_char_prefix =
- \ '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
-" Tlist_Menu_Get_Tag_Type_Cmd
-" Get the menu command for the specified tag type
-" fidx - File type index
-" ftype - File Type
-" add_ttype_name - To add or not to add the tag type name to the menu entries
-" ttype_idx - Tag type index
-function! s:Tlist_Menu_Get_Tag_Type_Cmd(fidx, ftype, add_ttype_name, ttype_idx)
- " Curly brace variable name optimization
- let ftype_ttype_idx = a:ftype . '_' . a:ttype_idx
-
- let ttype = s:tlist_{ftype_ttype_idx}_name
- if a:add_ttype_name
- " If the tag type name contains space characters, escape it. This
- " will be used to create the menu entries.
- let ttype_fullname = escape(s:tlist_{ftype_ttype_idx}_fullname, ' ')
- endif
-
- " Curly brace variable name optimization
- let fidx_ttype = a:fidx . '_' . ttype
-
- " Number of tag entries for this tag type
- let tcnt = s:tlist_{fidx_ttype}_count
- if tcnt == 0 " No entries for this tag type
- return ''
- endif
-
- let mcmd = ''
-
- " Create the menu items for the tags.
- " Depending on the number of tags of this type, split the menu into
- " multiple sub-menus, if needed.
- if tcnt > g:Tlist_Max_Submenu_Items
- let j = 1
- while j <= tcnt
- let final_index = j + g:Tlist_Max_Submenu_Items - 1
- if final_index > tcnt
- let final_index = tcnt
- endif
-
- " Extract the first and last tag name and form the
- " sub-menu name
- let tidx = s:tlist_{fidx_ttype}_{j}
- let first_tag = s:tlist_{a:fidx}_{tidx}_tag_name
-
- let tidx = s:tlist_{fidx_ttype}_{final_index}
- let last_tag = s:tlist_{a:fidx}_{tidx}_tag_name
-
- " Truncate the names, if they are greater than the
- " max length
- let first_tag = strpart(first_tag, 0, g:Tlist_Max_Tag_Length)
- let last_tag = strpart(last_tag, 0, g:Tlist_Max_Tag_Length)
-
- " Form the menu command prefix
- let m_prefix = 'anoremenu <silent> T\&ags.'
- if a:add_ttype_name
- let m_prefix = m_prefix . ttype_fullname . '.'
- endif
- let m_prefix = m_prefix . first_tag . '\.\.\.' . last_tag . '.'
-
- " Character prefix used to number the menu items (hotkey)
- let m_prefix_idx = 0
-
- while j <= final_index
- let tidx = s:tlist_{fidx_ttype}_{j}
-
- let tname = s:tlist_{a:fidx}_{tidx}_tag_name
-
- let mcmd = mcmd . m_prefix . '\&' .
- \ s:menu_char_prefix[m_prefix_idx] . '\.' .
- \ tname . ' :call <SID>Tlist_Menu_Jump_To_Tag(' .
- \ tidx . ')<CR>|'
-
- let m_prefix_idx = m_prefix_idx + 1
- let j = j + 1
- endwhile
- endwhile
- else
- " Character prefix used to number the menu items (hotkey)
- let m_prefix_idx = 0
-
- let m_prefix = 'anoremenu <silent> T\&ags.'
- if a:add_ttype_name
- let m_prefix = m_prefix . ttype_fullname . '.'
- endif
- let j = 1
- while j <= tcnt
- let tidx = s:tlist_{fidx_ttype}_{j}
-
- let tname = s:tlist_{a:fidx}_{tidx}_tag_name
-
- let mcmd = mcmd . m_prefix . '\&' .
- \ s:menu_char_prefix[m_prefix_idx] . '\.' .
- \ tname . ' :call <SID>Tlist_Menu_Jump_To_Tag(' . tidx
- \ . ')<CR>|'
-
- let m_prefix_idx = m_prefix_idx + 1
- let j = j + 1
- endwhile
- endif
-
- return mcmd
-endfunction
-
-" Update the taglist menu with the tags for the specified file
-function! s:Tlist_Menu_File_Refresh(fidx)
- call s:Tlist_Log_Msg('Refreshing the tag menu for ' . s:tlist_{a:fidx}_filename)
- " The 'B' flag is needed in the 'cpoptions' option
- let old_cpoptions = &cpoptions
- set cpoptions&vim
-
- exe s:tlist_{a:fidx}_menu_cmd
-
- " Update the popup menu (if enabled)
- if &mousemodel =~ 'popup'
- let cmd = substitute(s:tlist_{a:fidx}_menu_cmd, ' T\\&ags\.',
- \ ' PopUp.T\\\&ags.', "g")
- exe cmd
- endif
-
- " The taglist menu is not empty now
- let s:tlist_menu_empty = 0
-
- " Restore the 'cpoptions' settings
- let &cpoptions = old_cpoptions
-endfunction
-
-" Tlist_Menu_Update_File
-" Add the taglist menu
-function! s:Tlist_Menu_Update_File(clear_menu)
- if !has('gui_running')
- " Not running in GUI mode
- return
- endif
-
- call s:Tlist_Log_Msg('Updating the tag menu, clear_menu = ' . a:clear_menu)
-
- " Remove the tags menu
- if a:clear_menu
- call s:Tlist_Menu_Remove_File()
-
- endif
-
- " Skip buffers with 'buftype' set to nofile, nowrite, quickfix or help
- if &buftype != ''
- return
- endif
-
- let filename = fnamemodify(bufname('%'), ':p')
- let ftype = s:Tlist_Get_Buffer_Filetype('%')
-
- " If the file doesn't support tag listing, skip it
- if s:Tlist_Skip_File(filename, ftype)
- return
- endif
-
- let fidx = s:Tlist_Get_File_Index(filename)
- if fidx == -1 || !s:tlist_{fidx}_valid
- " Check whether this file is removed based on user request
- " If it is, then don't display the tags for this file
- if s:Tlist_User_Removed_File(filename)
- return
- endif
-
- " Process the tags for the file
- let fidx = s:Tlist_Process_File(filename, ftype)
- if fidx == -1
- return
- endif
- endif
-
- let fname = escape(fnamemodify(bufname('%'), ':t'), '.')
- if fname != ''
- exe 'anoremenu T&ags.' . fname . ' <Nop>'
- anoremenu T&ags.-SEP2- :
- endif
-
- if !s:tlist_{fidx}_tag_count
- return
- endif
-
- if s:tlist_{fidx}_menu_cmd != ''
- " Update the menu with the cached command
- call s:Tlist_Menu_File_Refresh(fidx)
-
- return
- endif
-
- " We are going to add entries to the tags menu, so the menu won't be
- " empty
- let s:tlist_menu_empty = 0
-
- let cmd = ''
-
- " Determine whether the tag type name needs to be added to the menu
- " If more than one tag type is present in the taglisting for a file,
- " then the tag type name needs to be present
- let add_ttype_name = -1
- let i = 1
- while i <= s:tlist_{ftype}_count && add_ttype_name < 1
- let ttype = s:tlist_{ftype}_{i}_name
- if s:tlist_{fidx}_{ttype}_count
- let add_ttype_name = add_ttype_name + 1
- endif
- let i = i + 1
- endwhile
-
- " Process the tags by the tag type and get the menu command
- let i = 1
- while i <= s:tlist_{ftype}_count
- let mcmd = s:Tlist_Menu_Get_Tag_Type_Cmd(fidx, ftype, add_ttype_name, i)
- if mcmd != ''
- let cmd = cmd . mcmd
- endif
-
- let i = i + 1
- endwhile
-
- " Cache the menu command for reuse
- let s:tlist_{fidx}_menu_cmd = cmd
-
- " Update the menu
- call s:Tlist_Menu_File_Refresh(fidx)
-endfunction
-
-" Tlist_Menu_Remove_File
-" Remove the tags displayed in the tags menu
-function! s:Tlist_Menu_Remove_File()
- if !has('gui_running') || s:tlist_menu_empty
- return
- endif
-
- call s:Tlist_Log_Msg('Removing the tags menu for a file')
-
- " Cleanup the Tags menu
- silent! unmenu T&ags
- if &mousemodel =~ 'popup'
- silent! unmenu PopUp.T&ags
- endif
-
- " Add a dummy menu item to retain teared off menu
- noremenu T&ags.Dummy l
-
- silent! unmenu! T&ags
- if &mousemodel =~ 'popup'
- silent! unmenu! PopUp.T&ags
- endif
-
- call s:Tlist_Menu_Add_Base_Menu()
-
- " Remove the dummy menu item
- unmenu T&ags.Dummy
-
- let s:tlist_menu_empty = 1
-endfunction
-
-" Tlist_Menu_Refresh
-" Refresh the taglist menu
-function! s:Tlist_Menu_Refresh()
- call s:Tlist_Log_Msg('Refreshing the tags menu')
- let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p'))
- if fidx != -1
- " Invalidate the cached menu command
- let s:tlist_{fidx}_menu_cmd = ''
- endif
-
- " Update the taglist, menu and window
- call s:Tlist_Update_Current_File()
-endfunction
-
-" Tlist_Menu_Jump_To_Tag
-" Jump to the selected tag
-function! s:Tlist_Menu_Jump_To_Tag(tidx)
- let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p'))
- if fidx == -1
- return
- endif
-
- let tagpat = s:Tlist_Get_Tag_SearchPat(fidx, a:tidx)
- if tagpat == ''
- return
- endif
-
- " Add the current cursor position to the jump list, so that user can
- " jump back using the ' and ` marks.
- mark '
-
- silent call search(tagpat, 'w')
-
- " Bring the line to the middle of the window
- normal! z.
-
- " If the line is inside a fold, open the fold
- if foldclosed('.') != -1
- .foldopen
- endif
-endfunction
-
-" Tlist_Menu_Init
-" Initialize the taglist menu
-function! s:Tlist_Menu_Init()
- call s:Tlist_Menu_Add_Base_Menu()
-
- " Automatically add the tags defined in the current file to the menu
- augroup TagListMenuCmds
- autocmd!
-
- if !g:Tlist_Process_File_Always
- autocmd BufEnter * call s:Tlist_Refresh()
- endif
- autocmd BufLeave * call s:Tlist_Menu_Remove_File()
- augroup end
-
- call s:Tlist_Menu_Update_File(0)
-endfunction
-
-" Tlist_Vim_Session_Load
-" Initialize the taglist window/buffer, which is created when loading
-" a Vim session file.
-function! s:Tlist_Vim_Session_Load()
- call s:Tlist_Log_Msg('Tlist_Vim_Session_Load')
-
- " Initialize the taglist window
- call s:Tlist_Window_Init()
-
- " Refresh the taglist window
- call s:Tlist_Window_Refresh()
-endfunction
-
-" Tlist_Set_App
-" Set the name of the external plugin/application to which taglist
-" belongs.
-" Taglist plugin is part of another plugin like cream or winmanager.
-function! Tlist_Set_App(name)
- if a:name == ""
- return
- endif
-
- let s:tlist_app_name = a:name
-endfunction
-
-" Winmanager integration
-
-" Initialization required for integration with winmanager
-function! TagList_Start()
- " If current buffer is not taglist buffer, then don't proceed
- if bufname('%') != '__Tag_List__'
- return
- endif
-
- call Tlist_Set_App('winmanager')
-
- " Get the current filename from the winmanager plugin
- let bufnum = WinManagerGetLastEditedFile()
- if bufnum != -1
- let filename = fnamemodify(bufname(bufnum), ':p')
- let ftype = s:Tlist_Get_Buffer_Filetype(bufnum)
- endif
-
- " Initialize the taglist window, if it is not already initialized
- if !exists('s:tlist_window_initialized') || !s:tlist_window_initialized
- call s:Tlist_Window_Init()
- call s:Tlist_Window_Refresh()
- let s:tlist_window_initialized = 1
- endif
-
- " Update the taglist window
- if bufnum != -1
- if !s:Tlist_Skip_File(filename, ftype) && g:Tlist_Auto_Update
- call s:Tlist_Window_Refresh_File(filename, ftype)
- endif
- endif
-endfunction
-
-function! TagList_IsValid()
- return 0
-endfunction
-
-function! TagList_WrapUp()
- return 0
-endfunction
-
-" restore 'cpo'
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
diff --git a/.vim/syntax/beluga.vim b/.vim/syntax/beluga.vim
deleted file mode 100644
index e12ba8d..0000000
--- a/.vim/syntax/beluga.vim
+++ /dev/null
@@ -1,121 +0,0 @@
-" Vim syntax file
-" Language: bel
-" Filenames: *.bel
-" Maintainers: Vincent Aravantinos <vincent.aravantinos@gmail.com>
-" Last Change: 2012 Jun 28 - Added new syntax
-" TODO see what the Twelf vim file does
-
-" 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") && b:current_syntax == "beluga"
- finish
-endif
-
-" bel is not case sensitive.
-"syn case match
-
-"syn match belError "\S"
-syn match belComment containedin=ALL "%.*" extend
-
-syn match belId contained "[[:lower:]][[:lower:][:digit:]']*"
-syn keyword belTermOp contained "\(type\|ctype\|datatype\)"
-syn match belTermOp contained "\(->\|<-\|\\\|\.\|_\|:\)"
-syn region belTerm contained contains=@belTermClu matchgroup=belTermOp start="(" end=")"
-syn region belTerm contained contains=belId,belColonType,@belTermClu matchgroup=belTermOp start="{" end="}"
-syn match belColType contained ":"
-syn cluster belTermClu contains=belTerm,belTermOp
-syn region belLf_decl contains=belColType,@belTermClu start="[[:lower:]&][[:lower:][:digit:]']*\_s*:" matchgroup=belDot end="\."
-syn region belLf_decl matchgroup=belStmt start="%name\>" matchgroup=belDot end="\."
-syn match belEq contained "="
-syn match belColDecl contained ":"
-syn region belDecl contained contains=@belCTermClu,belColDecl matchgroup=belBlockBraces start="{" end="}"
-syn region belBlock contained contains=belDecl matchgroup=belStmt start="\<block\>" end=";"
-syn region belSomeCtnt contained contains=belS_decl matchgroup=belSomeBrackets start="\[" end="]"
-syn region belCTermPar contained contains=@belCTermClu matchgroup=belCTerm start="(" end=")"
-syn match belCTerm contained "\.\s*[[:digit:]]\+"
-syn match belCTerm contained "\(#\|\.\.\|\<_\>\)"
-syn keyword belCTerm contained sigma
-syn match belS_decl contained "\(:\|,\)"
-syn region belCTermBck contained contains=belS_decl matchgroup=belCTerm start="\<block\>" end="\."
-syn cluster belCTermClu contains=belCTerm,belCTermBck,belCTermPar
-syn region belSome contained contains=belBlock,belSomeCtnt matchgroup=belC_typOp start="\<some\>" end=";"
-syn region belSchDef contained contains=belSome,@belCTermClu matchgroup=belEq start="=" end=";"
-syn region belC_decl contains=belSchDef matchgroup=belStmt start="\<schema\>" matchgroup=belDot end=";" keepend
-syn region belExp contained contains=@belExpClu matchgroup=belExpOp start="(" end=")"
-syn match belCtx contained "\(:\|,\|\<block\>\)"
-syn match belCtxExp contained "\(:\|,\|\<block\>\|\.\)"
-syn region belExp contained contains=belCtxExp,@belCTermClu matchgroup=belExpOp start="\[" end="]"
-syn keyword belExpOp contained FN fn mlam let in case of
-syn match belBindDot contained "\."
-syn region belDepApp contained contains=belCtxExp,belBindDot,@belCTermClu matchgroup=belExpOp start="<" end=">"
-syn match belExpOp contained "\(=>\||\|:\|=\|\\\|\.\|<<\)"
-syn region belLetDef contained contains=@belExpClu matchgroup=belEq start="=" end=";"
-syn cluster belExpClu contains=belExp,@belC_typExp,belExpOp,@belCTermClu,belDepApp
-syn match belC_typOp contained "->"
-syn match belCols contained ":"
-"syn region belCtypCtx contained contains=belCtx,@belCTermClu matchgroup=belC_typOp start="\[" end="]"
-syn region belCtypCtx contained contains=belCtx matchgroup=belC_typOp start="\[" end="]"
-syn region belC_typBr contained contains=belCols,@belCTermClu,belCtypCtx,belKleeneGr matchgroup=belC_typOp start="{" end="}"
-syn region belKleeneGr contained contains=@belC_typ matchgroup=belKleene start="(" end=")\*\?"
-"syn cluster belC_typ contains=belC_typOp,belC_typBr,belSome,belKleeneGr,belCtypCtx,@belCTermClu
-syn cluster belC_typ contains=belC_typOp,belC_typBr,belSome,belKleeneGr,belCtypCtx
-
-syn region belCtypCtxExp contained contains=belCtxExp,@belCTermClu matchgroup=belC_typOpExp start="\[" end="]"
-syn match belColsExp contained ":"
-syn region belKleeneExpGr contained contains=@belC_typExp matchgroup=belKleeneExp start="(" end=")\*\?"
-syn region belCtypCtxExp contained contains=belCtxExp,@belCTermClu matchgroup=belC_typOpExp start="\[" end="]"
-syn region belC_typBrExp contained contains=belColsExp,@belCTermClu,belCtypCtxExp matchgroup=belC_typOpExp start="{" end="}"
-syn match belC_typOpExp contained "->"
-syn cluster belC_typExp contains=@belCTermClu,belC_typOpExp,belC_typBrExp,belSome,belCtypCtxExp
-
-syn region belLetSpec contained contains=belLetDef,@belC_typ matchgroup=belEq start=":" end=";"
-syn region belC_decl contains=belLetDef,belLetSpec matchgroup=belStmt start="\<let\>" matchgroup=belDot end=";" keepend
-syn region belRecDef contained contains=@belExpClu matchgroup=belEq start="=" end="\(;\|and\)"
-syn region belRecSpec contained contains=belRecDef,@belC_typ matchgroup=belEq start=":" end="\(;\|and\)"
-syn region belC_decl contains=belRecDef,belRecSpec matchgroup=belStmt start="\<rec\>" matchgroup=belDot end=";" keepend
-
-
-" 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_bel_syntax_inits")
- if version < 508
- let did_beluga_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink belError Error
- HiLink belComment Comment
- HiLink belKwd PreProc
- HiLink belCtxt Type
- HiLink belTypeKwd Keyword
- HiLink belOperators Constant
- HiLink belTermOp Type
- HiLink belStmt PreProc
- HiLink belDot belStmt
- HiLink belEq belStmt
- HiLink belColType belStmt
- HiLink belSomeBrackets belC_typOp
- HiLink belCTerm belExpOp
- HiLink belS_decl belC_typOp
- HiLink belBlockBraces belSomeBrackets
- HiLink belColDecl belBlockBraces
- HiLink belExpOp Keyword
- HiLink belBindDot belExpOp
- HiLink belC_typOp Type
- HiLink belC_typOpExp belExpOp
- HiLink belKleene belC_typOp
- HiLink belKleeneExp belExpOp
- HiLink belCols belC_typOp
- HiLink belColsExp belExpOp
- HiLink belCtx belC_typOp
- HiLink belCtxExp belExpOp
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "belgua"
diff --git a/.vim/syntax/daylog.vim b/.vim/syntax/daylog.vim
deleted file mode 100644
index 693a8ba..0000000
--- a/.vim/syntax/daylog.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" Vim syntax file
-" Language: Daylog (Debian Changelogs)
-" Maintainer: Ryan Kavanagh <rak@debian.org>
-" Former Maintainers: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Gerfried Fuchs <alfie@ist.org>
-" Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2011 June 01
-" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
-
-" Standard syntax initialization
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-" Case doesn't matter for us
-syn case ignore
-
-" Define some common expressions we can use later on
-syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
-syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget contained "\v %(summer20.*|fall20.*|winter20.*|spring20.*)="
-syn match debchangelogVersion contained "(.\{-})"
-syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
-syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
-syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+"
-syn match debchangelogEmail contained "<.\{-}>"
-
-" Define the entries that make up the changelog
-syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogUrgency,debchangelogTarget,debchangelogVersion oneline
-syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
-syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline
-
-" Associate our matches and regions with pretty colours
-if version >= 508 || !exists("did_debchangelog_syn_inits")
- if version < 508
- let did_debchangelog_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink debchangelogHeader Error
- HiLink debchangelogFooter Identifier
- HiLink debchangelogEntry Normal
- HiLink debchangelogCloses Statement
- HiLink debchangelogLP Statement
- HiLink debchangelogUrgency Identifier
- HiLink debchangelogName Comment
- HiLink debchangelogVersion Identifier
- HiLink debchangelogTarget Identifier
- HiLink debchangelogEmail Special
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "debchangelog"
-
-" vim: ts=8 sw=2
diff --git a/.vim/syntax/django.vim b/.vim/syntax/django.vim
deleted file mode 100644
index 3ad4816..0000000
--- a/.vim/syntax/django.vim
+++ /dev/null
@@ -1,93 +0,0 @@
-" Vim syntax file
-" Language: Django template
-" Maintainer: Dave Hodder <dmh@dmh.org.uk>
-" Last Change: 2007 Apr 21
-
-" 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
-
-syntax case match
-
-" Mark illegal characters
-syn match djangoError "%}\|}}\|#}"
-
-" Django template built-in tags and parameters
-" 'comment' doesn't appear here because it gets special treatment
-syn keyword djangoStatement contained and as block endblock by cycle debug else
-syn keyword djangoStatement contained extends filter endfilter firstof for
-syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
-syn keyword djangoStatement contained ifequal endifequal ifnotequal
-syn keyword djangoStatement contained endifnotequal in include load not now or
-syn keyword djangoStatement contained parsed regroup reversed spaceless
-syn keyword djangoStatement contained endspaceless ssi templatetag openblock
-syn keyword djangoStatement contained closeblock openvariable closevariable
-syn keyword djangoStatement contained openbrace closebrace opencomment
-syn keyword djangoStatement contained closecomment widthratio url with endwith
-syn keyword djangoStatement contained get_current_language trans noop blocktrans
-syn keyword djangoStatement contained endblocktrans get_available_languages
-syn keyword djangoStatement contained get_current_language_bidi plural
-
-" Django templete built-in filters
-syn keyword djangoFilter contained add addslashes capfirst center cut date
-syn keyword djangoFilter contained default default_if_none dictsort
-syn keyword djangoFilter contained dictsortreversed divisibleby escape
-syn keyword djangoFilter contained filesizeformat first fix_ampersands
-syn keyword djangoFilter contained floatformat get_digit join length length_is
-syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
-syn keyword djangoFilter contained lower make_list phone2numeric pluralize
-syn keyword djangoFilter contained pprint random removetags rjust slice slugify
-syn keyword djangoFilter contained stringformat striptags
-syn keyword djangoFilter contained time timesince timeuntil title
-syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
-syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
-
-" Keywords to highlight within comments
-syn keyword djangoTodo contained TODO FIXME XXX
-
-" Django template constants (always surrounded by double quotes)
-syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
-
-" Mark illegal characters within tag and variables blocks
-syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!&#]"
-syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]"
-
-" Django template tag and variable blocks
-syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
-syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
-
-" Django template 'comment' tag and comment block
-syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
-syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
-
-" 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_django_syn_inits")
- if version < 508
- let did_django_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink djangoTagBlock PreProc
- HiLink djangoVarBlock PreProc
- HiLink djangoStatement Statement
- HiLink djangoFilter Identifier
- HiLink djangoArgument Constant
- HiLink djangoTagError Error
- HiLink djangoVarError Error
- HiLink djangoError Error
- HiLink djangoComment Comment
- HiLink djangoComBlock Comment
- HiLink djangoTodo Todo
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "django"
diff --git a/.vim/syntax/htmldjango.vim b/.vim/syntax/htmldjango.vim
deleted file mode 100644
index 4b13863..0000000
--- a/.vim/syntax/htmldjango.vim
+++ /dev/null
@@ -1,34 +0,0 @@
-" Vim syntax file
-" Language: Django HTML template
-" Maintainer: Dave Hodder <dmh@dmh.org.uk>
-" Last Change: 2007 Jan 26
-
-" 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
-
-if !exists("main_syntax")
- let main_syntax = 'html'
-endif
-
-if version < 600
- so <sfile>:p:h/django.vim
- so <sfile>:p:h/html.vim
-else
- runtime! syntax/django.vim
- runtime! syntax/html.vim
- unlet b:current_syntax
-endif
-
-syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
-
-syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
-syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
-syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
-syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
-
-let b:current_syntax = "htmldjango"
diff --git a/.vim/syntax/prolog.vim b/.vim/syntax/prolog.vim
deleted file mode 100644
index 58de71f..0000000
--- a/.vim/syntax/prolog.vim
+++ /dev/null
@@ -1,119 +0,0 @@
-" Vim syntax file
-" Language: PROLOG
-" Maintainers: Thomas Koehler <jean-luc@picard.franken.de>
-" Last Change: 2009 Dec 04
-" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
-
-" There are two sets of highlighting in here:
-" If the "prolog_highlighting_clean" variable exists, it is rather sparse.
-" Otherwise you get more highlighting.
-
-" Quit when a syntax file was already loaded
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-" Prolog is case sensitive.
-syn case match
-
-" Very simple highlighting for comments, clause heads and
-" character codes. It respects prolog strings and atoms.
-
-syn region prologCComment start=+/\*+ end=+\*/+
-syn match prologComment +%.*+
-
-syn keyword prologKeyword module meta_predicate multifile dynamic
-syn match prologCharCode +0'\\\=.+
-syn region prologString start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn region prologAtom start=+'+ skip=+\\\\\|\\'+ end=+'+
-syn region prologClauseHead start=+^[a-z][^(]*(+ skip=+\.[^ ]+ end=+:-\|\.$\|\.[ ]\|-->+ contains=prologComment,prologCComment,prologString
-
-if !exists("prolog_highlighting_clean")
-
- " some keywords
- " some common predicates are also highlighted as keywords
- " is there a better solution?
- syn keyword prologKeyword abolish current_output peek_code
- syn keyword prologKeyword append current_predicate put_byte
- syn keyword prologKeyword arg current_prolog_flag put_char
- syn keyword prologKeyword asserta fail put_code
- syn keyword prologKeyword assertz findall read
- syn keyword prologKeyword at_end_of_stream float read_term
- syn keyword prologKeyword atom flush_output repeat
- syn keyword prologKeyword atom_chars functor retract
- syn keyword prologKeyword atom_codes get_byte set_input
- syn keyword prologKeyword atom_concat get_char set_output
- syn keyword prologKeyword atom_length get_code set_prolog_flag
- syn keyword prologKeyword atomic halt set_stream_position
- syn keyword prologKeyword bagof integer setof
- syn keyword prologKeyword call is stream_property
- syn keyword prologKeyword catch nl sub_atom
- syn keyword prologKeyword char_code nonvar throw
- syn keyword prologKeyword char_conversion number true
- syn keyword prologKeyword clause number_chars unify_with_occurs_check
- syn keyword prologKeyword close number_codes var
- syn keyword prologKeyword compound once write
- syn keyword prologKeyword copy_term op write_canonical
- syn keyword prologKeyword current_char_conversion open write_term
- syn keyword prologKeyword current_input peek_byte writeq
- syn keyword prologKeyword current_op peek_char
-
- syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|="
- syn match prologAsIs "===\|\\===\|<=\|=>"
-
- syn match prologNumber "\<[0123456789]*\>'\@!"
- syn match prologCommentError "\*/"
- syn match prologSpecialCharacter ";"
- syn match prologSpecialCharacter "!"
- syn match prologQuestion "?-.*\." contains=prologNumber
-
-
-endif
-
-syn sync maxlines=50
-
-
-" 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_prolog_syn_inits")
- if version < 508
- let did_prolog_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- " The default highlighting.
- HiLink prologComment Comment
- HiLink prologCComment Comment
- HiLink prologCharCode Special
-
- if exists ("prolog_highlighting_clean")
-
- HiLink prologKeyword Statement
- HiLink prologClauseHead Statement
-
- else
-
- HiLink prologKeyword Keyword
- HiLink prologClauseHead Constant
- HiLink prologQuestion PreProc
- HiLink prologSpecialCharacter Special
- HiLink prologNumber Number
- HiLink prologAsIs Normal
- HiLink prologCommentError Error
- HiLink prologAtom String
- HiLink prologString String
- HiLink prologOperator Operator
-
- endif
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "prolog"
-
-" vim: ts=8
diff --git a/.vim/syntax/rnc.vim b/.vim/syntax/rnc.vim
deleted file mode 100644
index 411046f..0000000
--- a/.vim/syntax/rnc.vim
+++ /dev/null
@@ -1,59 +0,0 @@
-" Vim syntax file
-" Language: RELAX NG Compact Syntax
-" Maintainer: Hans Fugal <hans@fugal.net>
-" Last Change: $Date: 2003/06/22 03:32:14 $
-" $Id: rnc.vim,v 1.7 2003/06/22 03:32:14 fugalh Exp $
-
-if version < 600
- syntax clear
-elseif exists ("b:current_syntax")
- finish
-endif
-
-" add the character '-' and '.' to iskeyword.
-set iskeyword+=45,46
-
-" Comments
-syn match Comment /^\s*#[^#].*$/
-syn match Documentation /^\s*##.*$/
-
-" Literals
-syn region literalSegment start=/"/ end=/"/
-
-syn match patternSpecial /[,&|?*+\\]/
-syn match Identifier /\k\+\s*\(&=\|=\||=\)\@=/ nextgroup=assignMethod
-syn match assignMethod /&=\|=\||=/
-syn match namespace /\k\+\(:\(\k\|\*\)\)\@=/
-syn region Annotation excludenl start=/\[/ end=/\]/ contains=ALLBUT,Identifier,patternName
-
-" named patterns (element and attribute)
-syn keyword patternKeyword element attribute nextgroup=patternName skipwhite skipempty
-syn match patternName /\k\+/ contained
-
-" Keywords
-syn keyword patternKeyword list mixed parent empty text notAllowed externalRef grammar
-syn keyword grammarContentKeyword div include
-syn keyword startKeyword start
-syn keyword datatypeNameKeyword string token
-syn keyword namespaceUriKeyword inherit
-syn keyword inheritKeyword inherit
-syn keyword declKeyword namespace default datatypes
-
-" Links
-hi link patternKeyword keyword
-hi link patternName Identifier
-hi link grammarContentKeyword keyword
-hi link startKeyword keyword
-hi link datatypeNameKeyword keyword
-hi link namespaceUriKeyword keyword
-hi link inheritKeyword keyword
-hi link declKeyword keyword
-
-hi link literalSegment String
-hi link Documentation Comment
-
-hi link patternSpecial Special
-hi link namespace Type
-
-let b:current_syntax = "rnc"
-" vim: ts=8 sw=4 smarttab
diff --git a/.vim/syntax/syntax-r.vim b/.vim/syntax/syntax-r.vim
deleted file mode 100644
index a4548a4..0000000
--- a/.vim/syntax/syntax-r.vim
+++ /dev/null
@@ -1,621 +0,0 @@
-" Vim syntax file
-" Language: R (GNU S)
-" Maintainer: Tom Payne <tom@tompayne.org>
-" Last Change: 2003 May 11
-" Filenames: *.r
-" URL: http://www.tompayne.org/vim/syntax/r.vim
-"
-" Modified by Jeremy Stephens and Will Gray.
-"
-" Options:
-" You can set these options in your vimrc file.
-"
-" For set option do: let OPTION_NAME = 1
-" For clear option do: let OPTION_NAME = 0
-"
-" For highlighting internal/primitive functions:
-" r_package_internal
-"
-" For highlighting package 'base' functions:
-" r_package_base
-"
-" For highlighting package 'graphics' functions:
-" r_package_graphics
-"
-" For highlighting package 'stats' functions:
-" r_package_stats
-"
-" For highlighting package 'tools' functions:
-" r_package_tools
-"
-" For highlighting package 'methods' functions:
-" r_package_methods
-"
-" For highlighting package 'utils' functions:
-" r_package_utils
-"
-" If you want all possible R package highlighting:
-" r_package_all
-
-" 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
-
-if version >= 600
- setlocal iskeyword=@,48-57,_,.
-else
- set iskeyword=@,48-57,_,.
-endif
-
-if !exists("r_package_all")
- let r_package_all = 1
-endif
-if exists("r_package_all") && r_package_all != 0
- if !exists("r_package_internal")
- let r_package_internal = 1
- endif
- if !exists("r_package_base")
- let r_package_base = 1
- endif
- if !exists("r_package_methods")
- let r_package_methods = 1
- endif
- if !exists("r_package_graphics")
- let r_package_graphics = 1
- endif
- if !exists("r_package_stats")
- let r_package_stats = 1
- endif
- if !exists("r_package_utils")
- let r_package_utils = 1
- endif
- if !exists("r_package_tools")
- let r_package_tools = 1
- endif
-endif
-
-syn case match
-
-" Comment
-syn match rComment /\#.*/
-
-" Constant
-" string enclosed in double quotes
-syn region rString matchgroup=rStringDelimiter start=/"/ skip=/\\\\\|\\"/ end=/"/
-" string enclosed in single quotes
-syn region rString matchgroup=rStringDelimiter start=/'/ skip=/\\\\\|\\'/ end=/'/
-" number with no fractional part or exponent
-syn match rNumber /\d\+/
-" floating point number with integer and fractional parts and optional exponent
-syn match rFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/
-" floating point number with no integer part and optional exponent
-syn match rFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/
-" floating point number with no fractional part and optional exponent
-syn match rFloat /\d\+[Ee][-+]\=\d\+/
-
-" Identifier
-" identifier with leading letter and optional following keyword characters
-syn match rIdentifier /\a\k*/
-" identifier with leading period, one or more digits, and at least one non-digit keyword character
-syn match rIdentifier /\.\d*\K\k*/
-
-syn match rFunction /\a\k*(/me=e-1 nextgroup=rParenRegion
-
-" Statement
-syn keyword rStatement break next return
-syn keyword rConditional if else
-syn keyword rRepeat for in repeat while
-
-" Constant
-syn keyword rConstant LETTERS letters month.ab month.name pi
-syn keyword rConstant NULL
-syn keyword rBoolean FALSE TRUE
-syn keyword rNumber NA
-
-syn match rArrow /<\{1,2}-/
-syn match rArrow /->\{1,2}/
-
-" Type
-syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
-
-" internal/primitive functions (probably has some duplicates)
-if exists("r_package_internal") && r_package_internal != 0
- syn keyword rPrimitiveStatement stop warning gettext ngettext bindtextdomain .addCondHands
- syn keyword rPrimitiveStatement .resetCondHands .signalCondition .dfltStop .dfltWarn .addRestart
- syn keyword rPrimitiveStatement .getRestart .invokeRestart .addTryHandlers geterrmessage restart
- syn keyword rPrimitiveStatement function as.function.default .subset switch browser debug undebug
- syn keyword rPrimitiveStatement .primTrace .primUntrace .Internal on.exit Recall delay delayedAssign
- syn keyword rPrimitiveStatement .Primitive identical crossprod all any vector complex matrix length row
- syn keyword rPrimitiveStatement col c unlist cbind rbind drop oldClass class unclass names dimnames
- syn keyword rPrimitiveStatement all.names dim attributes attr comment get mget exists assign remove
- syn keyword rPrimitiveStatement duplicated unique which.min which.max match pmatch charmatch match.call
- syn keyword rPrimitiveStatement complete.cases attach detach search round atan log signif abs floor
- syn keyword rPrimitiveStatement ceiling sqrt sign trunc exp cos sin tan acos asin cosh sinh tanh acosh
- syn keyword rPrimitiveStatement asinh atanh lgamma gamma digamma trigamma pentagamma gammaCody lbeta
- syn keyword rPrimitiveStatement beta lchoose choose dchisq pchisq qchisq dexp pexp qexp dgeom pgeom
- syn keyword rPrimitiveStatement qgeom dpois ppois qpois dt pt qt dsignrank psignrank qsignrank besselJ
- syn keyword rPrimitiveStatement besselY psigamma Re Im Mod Arg Conj dbeta pbeta qbeta dbinom pbinom
- syn keyword rPrimitiveStatement qbinom dcauchy pcauchy qcauchy df pf qf dgamma pgamma qgamma dlnorm
- syn keyword rPrimitiveStatement plnorm qlnorm dlogis plogis qlogis dnbinom pnbinom qnbinom dnorm pnorm
- syn keyword rPrimitiveStatement qnorm dunif punif qunif dweibull pweibull qweibull dnchisq pnchisq
- syn keyword rPrimitiveStatement qnchisq dnt pnt qnt dwilcox pwilcox qwilcox besselI besselK dhyper
- syn keyword rPrimitiveStatement phyper qhyper dnbeta pnbeta qnbeta dnf pnf qnf dtukey ptukey qtukey
- syn keyword rPrimitiveStatement rchisq rexp rgeom rpois rt rsignrank rbeta rbinom rcauchy rf rgamma
- syn keyword rPrimitiveStatement rlnorm rlogis rnbinom rnchisq rnorm runif rweibull rwilcox rhyper
- syn keyword rPrimitiveStatement rmultinom sample RNGkind set.seed sum min max prod range cov cor cumsum
- syn keyword rPrimitiveStatement cumprod cummax cummin as.character as.vector paste format format.info
- syn keyword rPrimitiveStatement cat call do.call as.call type.convert as.environment nchar substr
- syn keyword rPrimitiveStatement substrgets strsplit abbreviate make.names grep sub gsub regexpr
- syn keyword rPrimitiveStatement grep.perl sub.perl gsub.perl regexpr.perl agrep tolower toupper chartr
- syn keyword rPrimitiveStatement sprintf make.unique charToRaw rawToChar rawShift intToBits rawToBits
- syn keyword rPrimitiveStatement packBits encodeString iconv strtrim is.null is.logical is.integer
- syn keyword rPrimitiveStatement is.real is.double is.complex is.character is.symbol is.environment
- syn keyword rPrimitiveStatement is.list is.pairlist is.expression is.object is.numeric is.matrix
- syn keyword rPrimitiveStatement is.array is.atomic is.recursive is.call is.language is.function
- syn keyword rPrimitiveStatement is.single is.vector is.na is.nan is.finite is.infinite proc.time gc.time
- syn keyword rPrimitiveStatement Version machine commandArgs int.unzip system system unlink help.start
- syn keyword rPrimitiveStatement show.help.item flush.console win.version shell.exec winDialog
- syn keyword rPrimitiveStatement winDialogString winMenuNames winMenuItems winMenuAdd winMenuDel
- syn keyword rPrimitiveStatement memory.size DLL.version bringToTop select.list readClipboard
- syn keyword rPrimitiveStatement writeClipboard chooseFiles getIdentification getWindowHandle
- syn keyword rPrimitiveStatement getWindowTitle setWindowTitle wsbrowser pkgbrowser data.manager
- syn keyword rPrimitiveStatement package.manager flush.console hsbrowser select.list aqua.custom.print
- syn keyword rPrimitiveStatement parse save saveToConn load loadFromConn serializeToConn
- syn keyword rPrimitiveStatement unserializeFromConn deparse dput dump substitute quote quit interactive
- syn keyword rPrimitiveStatement readline menu print.default prmatrix invisible gc gcinfo gctorture
- syn keyword rPrimitiveStatement memory.profile rep list split symbol.C symbol.For is.loaded .C .Fortran
- syn keyword rPrimitiveStatement .External .Call .External.graphics .Call.graphics recordGraphics
- syn keyword rPrimitiveStatement dyn.load dyn.unload ls typeof eval eval.with.vis expression sys.parent
- syn keyword rPrimitiveStatement sys.call sys.frame sys.nframe sys.calls sys.frames sys.on.exit
- syn keyword rPrimitiveStatement sys.parents sys.function parent.frame sort is.unsorted psort qsort
- syn keyword rPrimitiveStatement radixsort order rank missing nargs scan count.fields readTableHead
- syn keyword rPrimitiveStatement t.default aperm builtins edit dataentry args formals body bodyCode
- syn keyword rPrimitiveStatement globalenv environment reg.finalizer options sink sink.number lib.fixup
- syn keyword rPrimitiveStatement pos.to.env eapply lapply apply colSums colMeans rowSums rowMeans Rprof
- syn keyword rPrimitiveStatement object.size mem.limits merge capabilities new.env parent.env visibleflag
- syn keyword rPrimitiveStatement file.show file.edit file.create file.remove file.rename file.append
- syn keyword rPrimitiveStatement codeFiles.append file.symlink list.files file.exists file.choose
- syn keyword rPrimitiveStatement file.info file.access dir.create tempfile tempdir R.home date
- syn keyword rPrimitiveStatement index.search getenv putenv getwd setwd basename dirname Sys.info
- syn keyword rPrimitiveStatement Sys.sleep getlocale setlocale localeconv path.expand getpid
- syn keyword rPrimitiveStatement normalizePath fft mvfft nextn polyroot dev.control dev.copy dev.cur
- syn keyword rPrimitiveStatement device dev.next dev.off dev.prev dev.set rgb hsv hcl gray colors palette
- syn keyword rPrimitiveStatement plot.new plot.window axis plot.xy text mtext title abline box rect
- syn keyword rPrimitiveStatement polygon par readonly.pars segments arrows layout locator identify
- syn keyword rPrimitiveStatement strheight strwidth contour contourLines image dend dend.window replay
- syn keyword rPrimitiveStatement erase persp filledcontour getGPar playDL setGPar getSnapshot
- syn keyword rPrimitiveStatement playSnapshot symbols getGraphicsEvent inherits UseMethod NextMethod
- syn keyword rPrimitiveStatement standardGeneric nlm fmin zeroin optim optimhess terms.formula
- syn keyword rPrimitiveStatement update.formula model.frame model.matrix D deriv.default loadhistory
- syn keyword rPrimitiveStatement savehistory Sys.time as.POSIXct as.POSIXlt format.POSIXlt strptime
- syn keyword rPrimitiveStatement mkCode bcClose is.builtin.internal disassemble bcVersion load.from.file
- syn keyword rPrimitiveStatement save.to.file putconst stdin stdout stderr readLines writeLines readBin
- syn keyword rPrimitiveStatement writeBin readChar writeChar open isOpen isIncomplete isSeekable close
- syn keyword rPrimitiveStatement flush file url pipe fifo gzfile unz bzfile seek truncate pushBack
- syn keyword rPrimitiveStatement clearPushBackLength pushBackLength textConnection socketConnection
- syn keyword rPrimitiveStatement sockSelect getAllConnections summary.connection download nsl gzcon
- syn keyword rPrimitiveStatement readDCF getNumRtoCConverters getRtoCConverterDescriptions
- syn keyword rPrimitiveStatement getRtoCConverterStatus setToCConverterActiveStatus
- syn keyword rPrimitiveStatement removeToCConverterActiveStatus lockEnvironment environmentIsLocked
- syn keyword rPrimitiveStatement lockBinding unlockBinding bindingIsLocked makeActiveBinding
- syn keyword rPrimitiveStatement bindingIsActive mkUnbound isNamespaceEnv registerNamespace
- syn keyword rPrimitiveStatement unregisterNamespace getRegisteredNamespace getNamespaceRegistry
- syn keyword rPrimitiveStatement importIntoEnv write.table
-endif
-
-" base functions
-if exists("r_package_base") && r_package_base != 0
- syn keyword rBaseStatement gammaCody besselI besselK besselJ besselY .Defunct Version provide getenv
- syn keyword rBaseStatement read.table.url scan.url source.url httpclient parse.dcf .Alias reshapeWide
- syn keyword rBaseStatement reshapeLong piechart machine Machine Platform restart printNoClass print.coefmat
- syn keyword rBaseStatement codes codes.factor codes.ordered anovalist.lm lm.fit.null lm.wfit.null glm.fit.null
- syn keyword rBaseStatement print.atomic La.eigen tetragamma pentagamma package.description .Deprecated loadURL
- syn keyword rBaseStatement delay La.svd La.chol geterrmessage try comment round signif logb beta lbeta gamma
- syn keyword rBaseStatement lgamma digamma trigamma psigamma factorial lfactorial choose lchoose R.Version
- syn keyword rBaseStatement commandArgs args cbind rbind .deparseOpts deparse do.call drop format.info gc gcinfo
- syn keyword rBaseStatement gctorture is.unsorted mem.limits nchar polyroot readline search searchpaths sprintf
- syn keyword rBaseStatement t.default typeof memory.profile capabilities inherits NextMethod data.class
- syn keyword rBaseStatement is.numeric.factor is.integer.factor encodeString RNGkind set.seed RNGversion .Script
- syn keyword rBaseStatement all.equal all.equal.default all.equal.numeric all.equal.character all.equal.factor
- syn keyword rBaseStatement all.equal.formula all.equal.language all.equal.list attr.all.equal all.names all.vars
- syn keyword rBaseStatement aperm append apply array slice.index as.logical as.logical.default as.integer
- syn keyword rBaseStatement as.integer.default as.double as.double.default as.complex as.complex.default
- syn keyword rBaseStatement as.single as.single.default as.character.default as.expression as.expression.default
- syn keyword rBaseStatement as.list as.list.default as.list.data.frame as.list.environment as.vector as.matrix
- syn keyword rBaseStatement as.matrix.default as.null as.null.default as.function as.function.default as.array
- syn keyword rBaseStatement as.symbol as.numeric assign attach detach ls autoload autoloader bquote forwardsolve
- syn keyword rBaseStatement backsolve lockEnvironment environmentIsLocked lockBinding bindingIsLocked
- syn keyword rBaseStatement makeActiveBinding bindingIsActive unlockBinding builtins by by.default by.data.frame
- syn keyword rBaseStatement print.by cat strsplit substr substring abbreviate make.names make.unique chartr
- syn keyword rBaseStatement tolower toupper casefold sQuote dQuote chol colSums colMeans rowSums rowMeans
- syn keyword rBaseStatement tryCatch withCallingHandlers suppressWarnings simpleCondition simpleError
- syn keyword rBaseStatement simpleWarning conditionMessage conditionCall conditionMessage.condition
- syn keyword rBaseStatement conditionCall.condition print.condition as.character.condition as.character.error
- syn keyword rBaseStatement signalCondition restartDescription restartFormals print.restart isRestart findRestart
- syn keyword rBaseStatement computeRestarts invokeRestart invokeRestartInteractively withRestarts
- syn keyword rBaseStatement .signalSimpleWarning .handleSimpleError conflicts stdin stdout stderr readLines
- syn keyword rBaseStatement writeLines open open.connection isOpen isIncomplete isSeekable close close.connection
- syn keyword rBaseStatement flush flush.connection file pipe fifo url gzfile unz bzfile socketConnection
- syn keyword rBaseStatement textConnection seek seek.connection truncate truncate.connection pushBack
- syn keyword rBaseStatement pushBackLength print.connection summary.connection showConnections getAllConnections
- syn keyword rBaseStatement getConnection closeAllConnections readBin writeBin readChar writeChar gzcon
- syn keyword rBaseStatement socketSelect contributors getNumCConverters getCConverterDescriptions
- syn keyword rBaseStatement getCConverterStatus setCConverterStatus removeCConverter cut cut.default data.matrix
- syn keyword rBaseStatement row.names row.names.data.frame row.names.default is.na.data.frame is.data.frame I
- syn keyword rBaseStatement print.AsIs t.data.frame dim.data.frame dimnames.data.frame as.data.frame
- syn keyword rBaseStatement as.data.frame.default as.data.frame.data.frame as.data.frame.list
- syn keyword rBaseStatement as.data.frame.vector as.data.frame.ts as.data.frame.character as.data.frame.matrix
- syn keyword rBaseStatement as.data.frame.model.matrix as.data.frame.array as.data.frame.AsIs data.frame
- syn keyword rBaseStatement xpdrows.data.frame cbind.data.frame rbind.data.frame print.data.frame
- syn keyword rBaseStatement as.matrix.data.frame Math.data.frame Ops.data.frame Summary.data.frame Sys.Date
- syn keyword rBaseStatement as.Date as.Date.POSIXct as.Date.POSIXlt as.Date.factor as.Date.character
- syn keyword rBaseStatement as.Date.default as.Date.date as.Date.dates format.Date print.Date summary.Date
- syn keyword rBaseStatement Ops.Date Math.Date Summary.Date as.character.Date c.Date mean.Date seq.Date cut.Date
- syn keyword rBaseStatement julian.Date weekdays.Date months.Date quarters.Date round.Date trunc.Date rep.Date
- syn keyword rBaseStatement diff.Date Sys.time Sys.timezone as.POSIXlt as.POSIXct as.POSIXct.Date as.POSIXct.date
- syn keyword rBaseStatement as.POSIXct.dates as.POSIXct.POSIXlt as.POSIXct.default format.POSIXlt strptime
- syn keyword rBaseStatement format.POSIXct print.POSIXct print.POSIXlt summary.POSIXct summary.POSIXlt Ops.POSIXt
- syn keyword rBaseStatement Math.POSIXt Summary.POSIXct Summary.POSIXlt as.character.POSIXt str.POSIXt
- syn keyword rBaseStatement is.na.POSIXlt c.POSIXct c.POSIXlt all.equal.POSIXct ISOdatetime ISOdate
- syn keyword rBaseStatement as.matrix.POSIXlt mean.POSIXct mean.POSIXlt difftime as.difftime print.difftime
- syn keyword rBaseStatement round.difftime Ops.difftime Math.difftime mean.difftime Summary.difftime seq.POSIXt
- syn keyword rBaseStatement cut.POSIXt julian julian.POSIXt weekdays weekdays.POSIXt months months.POSIXt
- syn keyword rBaseStatement quarters quarters.POSIXt trunc.POSIXt round.POSIXt as.data.frame.POSIXlt rep.POSIXct
- syn keyword rBaseStatement rep.POSIXlt diff.POSIXt read.dcf write.dcf delayedAssign diag diff diff.default dput
- syn keyword rBaseStatement dget dump duplicated duplicated.default duplicated.data.frame duplicated.matrix
- syn keyword rBaseStatement unique unique.default unique.data.frame unique.matrix dyn.load dyn.unload
- syn keyword rBaseStatement getNativeSymbolInfo getLoadedDLLs getDLLRegisteredRoutines
- syn keyword rBaseStatement getDLLRegisteredRoutines.character getDLLRegisteredRoutines.DLLInfo
- syn keyword rBaseStatement print.NativeRoutineList print.DLLRegisteredRoutines getCallingDLL print.DLLInfo
- syn keyword rBaseStatement print.DLLInfoList eapply eigen environment .GlobalEnv eval eval.parent evalq new.env
- syn keyword rBaseStatement parent.env local Recall with with.default force exists expand.grid factor is.factor
- syn keyword rBaseStatement as.factor category levels nlevels as.vector.factor as.character.factor print.factor
- syn keyword rBaseStatement Math.factor Summary.factor Ops.factor ordered is.ordered as.ordered Ops.ordered
- syn keyword rBaseStatement R.home file.show file.append file.remove file.rename list.files file.path file.exists
- syn keyword rBaseStatement file.create file.choose file.copy file.symlink file.info file.access dir.create
- syn keyword rBaseStatement format.octmode print.octmode system.file getwd setwd basename dirname Sys.info
- syn keyword rBaseStatement Sys.sleep path.expand findInterval formals body alist format format.default
- syn keyword rBaseStatement format.char format.pval formatC format.factor format.data.frame format.AsIs prettyNum
- syn keyword rBaseStatement subset.data.frame subset subset.default subset.matrix transform.data.frame transform
- syn keyword rBaseStatement transform.default stack.data.frame stack stack.default unstack.data.frame unstack
- syn keyword rBaseStatement unstack.default get mget Sys.getenv Sys.putenv Sys.getpid gl grep sub gsub regexpr
- syn keyword rBaseStatement agrep identical isTRUE ifelse interaction is.vector is.primitive jitter kappa
- syn keyword rBaseStatement kappa.lm kappa.default kappa.qr kappa.tri kronecker labels labels.default lapply
- syn keyword rBaseStatement lapply lazyLoad testPlatformEquivalence library print.libraryIQR library.dynam
- syn keyword rBaseStatement library.dynam.unload require .packages .path.package .find.package print.packageInfo
- syn keyword rBaseStatement manglePackageName .getRequiredPackages licence load save save.image sys.load.image
- syn keyword rBaseStatement sys.save.image Sys.getlocale Sys.setlocale Sys.localeconv lower.tri mapply match
- syn keyword rBaseStatement match match.call pmatch match.arg charmatch char.expand match.fun matrix nrow ncol
- syn keyword rBaseStatement NROW NCOL rownames colnames row col crossprod t t.data.frame max.col mean
- syn keyword rBaseStatement mean.default mean.data.frame merge merge.default merge.data.frame simpleMessage
- syn keyword rBaseStatement suppressMessages message trace untrace .isMethodsDispatchOn tracingState mode
- syn keyword rBaseStatement storage.mode names names.default getNamespace loadedNamespaces getNamespaceName
- syn keyword rBaseStatement getNamespaceVersion getNamespaceExports getNamespaceImports getNamespaceUsers
- syn keyword rBaseStatement getExportedValue attachNamespace loadNamespace loadingNamespaceInfo
- syn keyword rBaseStatement saveNamespaceImage topenv unloadNamespace .Import .ImportFrom .Export isNamespace
- syn keyword rBaseStatement isBaseNamespace getNamespaceInfo setNamespaceInfo asNamespace namespaceImport
- syn keyword rBaseStatement namespaceImportFrom namespaceImportClasses namespaceImportMethods importIntoEnv
- syn keyword rBaseStatement namespaceExport .mergeExportMethods packageHasNamespace parseNamespaceFile
- syn keyword rBaseStatement .NotYetImplemented .NotYetUsed options getOption outer getRversion as.pairlist
- syn keyword rBaseStatement pairlist parse paste pmax pmin pretty print print.default prmatrix noquote
- syn keyword rBaseStatement as.matrix.noquote c.noquote print.noquote print.listof print.simple.list is.qr qr
- syn keyword rBaseStatement qr.coef qr.qy qr.qty qr.resid qr.fitted qr.Q qr.R qr.X quit q range.default rank raw
- syn keyword rBaseStatement as.raw charToRaw rawToChar rawShift rawToBits intToBits packBits count.fields
- syn keyword rBaseStatement type.convert read.table read.csv read.delim rep rep.default rep.int replace replicate
- syn keyword rBaseStatement rev rev.default rle print.rle inverse.rle rm remove rowsum.default rowsum.data.frame
- syn keyword rBaseStatement sample sapply scale scale.default scan seq seq.default sequence .saveRDS .readRDS
- syn keyword rBaseStatement serialize unserialize union intersect setdiff setequal is.element sink sink.number
- syn keyword rBaseStatement solve.qr solve.default solve qr.solve sort order sort.list source sys.source split
- syn keyword rBaseStatement split.default split.data.frame unsplit stop stopifnot warning gettext bindtextdomain
- syn keyword rBaseStatement ngettext gettextf strtrim strwrap formatDL sum min max prod all any summary
- syn keyword rBaseStatement summary.default summary.factor summary.matrix summary.data.frame svd sweep switch
- syn keyword rBaseStatement sys.call sys.calls sys.frame sys.function sys.frames sys.nframe sys.parent
- syn keyword rBaseStatement sys.parents sys.status sys.on.exit table print.table summary.table
- syn keyword rBaseStatement print.summary.table as.data.frame.table is.table as.table as.table.default prop.table
- syn keyword rBaseStatement margin.table tabulate tapply addTaskCallback removeTaskCallback getTaskCallbackNames
- syn keyword rBaseStatement taskCallbackManager tempfile tempdir system.time date toString toString.default
- syn keyword rBaseStatement traceback system unix unlink zip.file.extract unlist unname upper.tri packageEvent
- syn keyword rBaseStatement getHook setHook mat.or.vec is.R shQuote vector logical character integer double
- syn keyword rBaseStatement complex single warnings which which.min which.max write write.table write.csv xor
- syn keyword rBaseStatement zapsmall is.na c
-endif
-
-" graphics functions
-if exists("r_package_graphics") && r_package_graphics != 0
- syn keyword rGraphicsStatement abline arrows assocplot axis axTicks barplot barplot.default box boxplot
- syn keyword rGraphicsStatement boxplot.default boxplot.formula boxplot.stats bxp chull contourLines contour
- syn keyword rGraphicsStatement contour.default co.intervals panel.smooth coplot curve axis.POSIXct plot.POSIXct
- syn keyword rGraphicsStatement plot.POSIXlt hist.POSIXt axis.Date plot.Date hist.Date dotchart filled.contour
- syn keyword rGraphicsStatement fourfoldplot grid hist hist.default plot.histogram lines.histogram nclass.Sturges
- syn keyword rGraphicsStatement nclass.scott nclass.FD identify identify.default image image.default lcm layout
- syn keyword rGraphicsStatement layout.show legend lines lines.default locator matpoints matlines matplot mosaicplot
- syn keyword rGraphicsStatement mosaicplot.default mosaicplot.formula mtext pairs pairs.formula pairs.default par
- syn keyword rGraphicsStatement persp persp.default pie xy.coords plot plot.function plot.default plot.factor
- syn keyword rGraphicsStatement plot.table plot.formula lines.formula points.formula plot.xy plot.new plot.window
- syn keyword rGraphicsStatement plot.data.frame .newplot.hook plot.design points points.default polygon rect rug
- syn keyword rGraphicsStatement .SSget .SSexists .SSassign split.screen screen erase.screen close.screen segments
- syn keyword rGraphicsStatement stars stem stripchart strwidth strheight sunflowerplot symbols text text.default
- syn keyword rGraphicsStatement title xinch yinch xyinch xyz.coords
-endif
-
-" stats functions
-if exists("r_package_stats") && r_package_stats != 0
- syn keyword rStatsStatement AIC AIC.logLik AIC.default ARMAacf ARMAtoMA C HoltWinters predict.HoltWinters
- syn keyword rStatsStatement residuals.HoltWinters plot.HoltWinters print.HoltWinters decompose plot.decomposed.ts
- syn keyword rStatsStatement KalmanLike KalmanRun KalmanForecast KalmanSmooth StructTS print.StructTS
- syn keyword rStatsStatement predict.StructTS tsdiag.StructTS tsSmooth tsSmooth.StructTS TukeyHSD TukeyHSD.aov
- syn keyword rStatsStatement print.TukeyHSD plot.TukeyHSD acf pacf pacf.default plot.acf ccf print.acf add.scope
- syn keyword rStatsStatement drop.scope factor.scope step extractAIC extractAIC.coxph extractAIC.survreg
- syn keyword rStatsStatement extractAIC.glm extractAIC.lm extractAIC.negbin addmargins aggregate aggregate.default
- syn keyword rStatsStatement aggregate.data.frame aggregate.ts printCoefmat print.anova ansari.test
- syn keyword rStatsStatement ansari.test.default ansari.test.formula aov print.aov summary.aov print.summary.aov
- syn keyword rStatsStatement coef.aov alias alias.formula alias.lm print.aovlist summary.aovlist
- syn keyword rStatsStatement print.summary.aovlist coef.listof se.contrast se.contrast.aov se.contrast.aovlist
- syn keyword rStatsStatement approx approxfun findInterval ar ar.yw ar.yw.default print.ar predict.ar ar.burg
- syn keyword rStatsStatement ar.burg.default ar.mle ar.ols arima print.Arima predict.Arima makeARIMA coef.Arima
- syn keyword rStatsStatement vcov.Arima logLik.Arima tsdiag.Arima tsdiag ave bw.nrd bw.SJ bw.ucv bw.bcv
- syn keyword rStatsStatement bartlett.test bartlett.test.default bartlett.test.formula binom.test biplot
- syn keyword rStatsStatement biplot.default biplot.princomp biplot.prcomp qbirthday pbirthday cancor chisq.test
- syn keyword rStatsStatement cmdscale complete.cases confint confint.lm confint.glm confint.nls confint.default
- syn keyword rStatsStatement constrOptim contr.poly poly predict.poly makepredictcall.poly polym contrasts
- syn keyword rStatsStatement contr.helmert contr.treatment contr.sum contr.SAS cor cov var cor.test
- syn keyword rStatsStatement cor.test.default cor.test.formula cov.wt cpgram cutree as.dendrogram
- syn keyword rStatsStatement as.dendrogram.hclust .memberDend .midDend midcache.dendrogram print.dendrogram
- syn keyword rStatsStatement str.dendrogram plot.dendrogram plotNode plotNodeLimit cut.dendrogram is.leaf
- syn keyword rStatsStatement order.dendrogram reorder reorder.dendrogram rev.dendrogram labels.dendrogram
- syn keyword rStatsStatement dendrapply heatmap density plot.density print.density D deriv deriv.formula
- syn keyword rStatsStatement deriv.default diffinv diffinv.vector diffinv.default diffinv.ts toeplitz dist
- syn keyword rStatsStatement format.dist as.matrix.dist as.dist as.dist.default print.dist dexp pexp qexp rexp
- syn keyword rStatsStatement dunif punif qunif runif dnorm pnorm qnorm rnorm dcauchy pcauchy qcauchy rcauchy
- syn keyword rStatsStatement dgamma pgamma qgamma rgamma dlnorm plnorm qlnorm rlnorm dlogis plogis qlogis rlogis
- syn keyword rStatsStatement dweibull pweibull qweibull rweibull dbeta pbeta qbeta rbeta dbinom pbinom qbinom
- syn keyword rStatsStatement rbinom dmultinom rmultinom dchisq pchisq qchisq rchisq df pf qf rf dgeom pgeom qgeom
- syn keyword rStatsStatement rgeom dhyper phyper qhyper rhyper dnbinom pnbinom qnbinom rnbinom dpois ppois qpois
- syn keyword rStatsStatement rpois dt pt qt rt ptukey qtukey dwilcox pwilcox qwilcox rwilcox dsignrank psignrank
- syn keyword rStatsStatement qsignrank rsignrank dummy.coef dummy.coef.lm dummy.coef.aovlist ecdf print.ecdf
- syn keyword rStatsStatement summary.ecdf plot.ecdf embed expand.model.frame factanal factanal.fit.mle
- syn keyword rStatsStatement print.loadings print.factanal varimax promax family print.family power make.link
- syn keyword rStatsStatement poisson quasipoisson gaussian binomial quasibinomial Gamma inverse.gaussian quasi fft
- syn keyword rStatsStatement mvfft nextn convolve filter fisher.test fivenum fligner.test fligner.test.default
- syn keyword rStatsStatement fligner.test.formula friedman.test friedman.test.default friedman.test.formula ftable
- syn keyword rStatsStatement ftable.default ftable.formula as.table.ftable write.ftable print.ftable read.ftable
- syn keyword rStatsStatement glm glm.control glm.fit print.glm anova.glm anova.glmlist stat.anova summary.glm
- syn keyword rStatsStatement print.summary.glm deviance.glm effects.glm family.glm residuals.glm model.frame.glm
- syn keyword rStatsStatement weights.glm formula.glm hclust plot.hclust plclust as.hclust as.hclust.default
- syn keyword rStatsStatement as.hclust.twins print.hclust cophenetic cophenetic.default cophenetic.dendrogram
- syn keyword rStatsStatement print.htest rect.hclust identify.hclust integrate print.integrate interaction.plot
- syn keyword rStatsStatement isoreg fitted.isoreg residuals.isoreg print.isoreg plot.isoreg kernel print.tskernel
- syn keyword rStatsStatement plot.tskernel df.kernel bandwidth.kernel is.tskernel kernapply kernapply.vector
- syn keyword rStatsStatement kernapply.default kernapply.ts kernapply.tskernel kmeans print.kmeans kruskal.test
- syn keyword rStatsStatement kruskal.test.default kruskal.test.formula ks.test ksmooth lag lag.default lag.plot lm
- syn keyword rStatsStatement lm.fit lm.wfit print.lm summary.lm print.summary.lm residuals.lm weights.default
- syn keyword rStatsStatement deviance.lm formula.lm family.lm model.frame.lm variable.names.lm case.names.lm
- syn keyword rStatsStatement anova.lm anova.lmlist predict.lm effects.lm model.matrix.lm predict.mlm labels.lm hat
- syn keyword rStatsStatement weighted.residuals lm.influence influence influence.lm influence.glm hatvalues
- syn keyword rStatsStatement hatvalues.lm rstandard rstandard.lm rstandard.glm rstudent rstudent.lm rstudent.glm
- syn keyword rStatsStatement dffits dfbeta dfbeta.lm dfbetas dfbetas.lm covratio cooks.distance cooks.distance.lm
- syn keyword rStatsStatement cooks.distance.glm influence.measures print.infl summary.infl loess loess.control
- syn keyword rStatsStatement simpleLoess predict.loess predLoess pointwise print.loess summary.loess
- syn keyword rStatsStatement print.summary.loess scatter.smooth loess.smooth anova.loess logLik print.logLik
- syn keyword rStatsStatement str.logLik as.data.frame.logLik logLik.glm logLik.lm loglin lowess lsfit ls.diag
- syn keyword rStatsStatement ls.print mad mahalanobis manova summary.manova print.summary.manova mantelhaen.test
- syn keyword rStatsStatement mcnemar.test median medpolish print.medpolish plot.medpolish summary.mlm SSD estVar
- syn keyword rStatsStatement SSD.mlm estVar.SSD estVar.mlm Tr proj.matrix Rank Thin.row Thin.col mauchley.test
- syn keyword rStatsStatement mauchley.test.mlm mauchley.test.SSD sphericity anova.mlm Pillai Wilks HL Roy
- syn keyword rStatsStatement anova.mlmlist deviance.mlm plot.mlm model.tables model.tables.aov se.aov
- syn keyword rStatsStatement model.tables.aovlist se.aovlist make.tables.aovproj make.tables.aovprojlist
- syn keyword rStatsStatement replications eff.aovlist model.frame.aovlist print.mtable formula formula.default
- syn keyword rStatsStatement formula.formula formula.terms formula.data.frame print.formula as.formula terms
- syn keyword rStatsStatement terms.default terms.terms print.terms labels.terms delete.response reformulate
- syn keyword rStatsStatement drop.terms terms.formula coef coef.default residuals residuals.default deviance
- syn keyword rStatsStatement deviance.default fitted fitted.default anova effects weights df.residual
- syn keyword rStatsStatement df.residual.default variable.names variable.names.default case.names
- syn keyword rStatsStatement case.names.default offset .checkMFClasses .MFclass model.frame model.frame.default
- syn keyword rStatsStatement model.weights model.offset model.matrix model.matrix.default model.response
- syn keyword rStatsStatement model.extract preplot update is.empty.model makepredictcall makepredictcall.default
- syn keyword rStatsStatement .getXlevels monthplot monthplot.StructTS monthplot.stl monthplot.ts monthplot.default
- syn keyword rStatsStatement mood.test mood.test.default mood.test.formula na.contiguous na.contiguous.default
- syn keyword rStatsStatement na.pass na.action na.action.default na.fail na.fail.default na.omit na.omit.default
- syn keyword rStatsStatement na.omit.data.frame na.exclude na.exclude.default na.exclude.data.frame naresid
- syn keyword rStatsStatement naresid.default naresid.exclude naprint naprint.default naprint.exclude napredict
- syn keyword rStatsStatement napredict.default napredict.exclude nlm optimize uniroot profiler profiler.nls
- syn keyword rStatsStatement profile.nls plot.profile.nls numericDeriv nlsModel.plinear nlsModel nls.control nls
- syn keyword rStatsStatement coef.nls print.nls summary.nls print.summary.nls coef.summary.nls weights.nls
- syn keyword rStatsStatement predict.nls fitted.nls formula.nls residuals.nls logLik.nls df.residual.nls
- syn keyword rStatsStatement deviance.nls vcov.nls anova.nls anovalist.nls asOneSidedFormula setNames clearNames
- syn keyword rStatsStatement oneway.test optim p.adjust pairwise.t.test pairwise.wilcox.test pairwise.prop.test
- syn keyword rStatsStatement pairwise.table print.pairwise.htest plot.lm power.t.test power.prop.test
- syn keyword rStatsStatement print.power.htest power.anova.test ppoints ppr ppr.formula ppr.default print.ppr
- syn keyword rStatsStatement summary.ppr print.summary.ppr plot.ppr predict.ppr prcomp prcomp.default
- syn keyword rStatsStatement prcomp.formula plot.prcomp print.prcomp summary.prcomp print.summary.prcomp
- syn keyword rStatsStatement predict.prcomp predict predict.default predict.glm predict.princomp summary.princomp
- syn keyword rStatsStatement print.summary.princomp plot.princomp screeplot loadings princomp princomp.formula
- syn keyword rStatsStatement princomp.default print.princomp profile proj proj.default proj.lm proj.aov
- syn keyword rStatsStatement proj.aovlist terms.aovlist prop.test prop.trend.test qqnorm qqnorm.default qqline
- syn keyword rStatsStatement qqplot quade.test quade.test.default quade.test.formula quantile quantile.default IQR
- syn keyword rStatsStatement relevel relevel.default relevel.ordered relevel.factor reorder.factor reshape runmed
- syn keyword rStatsStatement smoothEnds sd selfStart selfStart.default selfStart.formula getInitial
- syn keyword rStatsStatement getInitial.formula getInitial.selfStart getInitial.default sortedXyData
- syn keyword rStatsStatement sortedXyData.default NLSstClosestX NLSstClosestX.sortedXyData NLSstRtAsymptote
- syn keyword rStatsStatement NLSstRtAsymptote.sortedXyData NLSstLfAsymptote NLSstLfAsymptote.sortedXyData
- syn keyword rStatsStatement NLSstAsymptotic NLSstAsymptotic.sortedXyData shapiro.test smooth print.tukeysmooth
- syn keyword rStatsStatement summary.tukeysmooth smooth.spline print.smooth.spline predict.smooth.spline
- syn keyword rStatsStatement predict.smooth.spline.fit supsmu spectrum spec.taper spec.ar spec.pgram plot.spec
- syn keyword rStatsStatement plot.spec.coherency plot.spec.phase spline splinefun stepfun is.stepfun as.stepfun
- syn keyword rStatsStatement as.stepfun.default knots knots.stepfun print.stepfun summary.stepfun plot.stepfun
- syn keyword rStatsStatement lines.stepfun as.stepfun.isoreg stl print.stl summary.stl plot.stl symnum t.test
- syn keyword rStatsStatement t.test.default t.test.formula termplot Box.test PP.test start end frequency time
- syn keyword rStatsStatement window cycle deltat ts tsp hasTsp is.ts as.ts as.ts.default .cbind.ts .makeNamesTs
- syn keyword rStatsStatement Ops.ts cbind.ts ts.union ts.intersect diff.ts na.omit.ts is.mts start.default
- syn keyword rStatsStatement end.default frequency.default deltat.default time.default time.ts cycle.default
- syn keyword rStatsStatement cycle.ts print.ts plot.ts lines.ts window.default window.ts t.ts ts.plot arima.sim
- syn keyword rStatsStatement line update.default update.formula var.test var.test.default var.test.formula vcov
- syn keyword rStatsStatement vcov.glm vcov.lm vcov.mlm vcov.gls vcov.lme weighted.mean wilcox.test
- syn keyword rStatsStatement wilcox.test.default wilcox.test.formula xtabs print.xtabs SSasymp SSgompertz
- syn keyword rStatsStatement SSweibull .onLoad .onUnload
-endif
-
-" tools functions
-if exists("r_package_tools") && r_package_tools != 0
- syn keyword rToolsStatement undoc print.undoc codoc print.codoc codocClasses print.codocClasses codocData
- syn keyword rToolsStatement print.codocData checkDocFiles print.checkDocFiles checkDocStyle print.checkDocStyle
- syn keyword rToolsStatement checkFF print.checkFF checkReplaceFuns print.checkReplaceFuns checkTnF print.checkTnF
- syn keyword rToolsStatement as.alist.call as.alist.symbol Rdinfo Rdcontents Rdindex checkVignettes
- syn keyword rToolsStatement print.checkVignettes pkgVignettes buildVignettes vignetteMetaRE vignetteInfo
- syn keyword rToolsStatement .writeVignetteHtmlIndex vignetteDepends getVigDepMtrx makeLazyLoadDB makeLazyLoading
- syn keyword rToolsStatement package.dependencies pkgDepends getDepList isSatisfied buildDepList getDepMtrx
- syn keyword rToolsStatement getRemotePkgDepends installedDepends foundDepends compareDependsPkgVersion
- syn keyword rToolsStatement reduceDepends depMtrxToStrings installFoundDepends filePathAsAbsolute filePathSansExt
- syn keyword rToolsStatement fileTest listFilesWithExts listFilesWithType delimMatch .OStype xgettext
- syn keyword rToolsStatement print.xgettext print.xngettext xngettext .onUnload
-endif
-
-" methods functions
-if exists("r_package_methods") && r_package_methods != 0
- syn keyword rMethodsStatement .InitBasicClassMethods .BasicFunsList .addBasicGeneric genericForPrimitive
- syn keyword rMethodsStatement setGenericForPrimitive .findBasicFuns .InitExtensions .simpleExtCoerce
- syn keyword rMethodsStatement .simpleIsCoerce .simpleExtTest .simpleExtReplace .InhSlotNames .dataPartReplace
- syn keyword rMethodsStatement .ErrorReplace .objectSlotNames makeExtends .findAll .InitClassUnion setClassUnion
- syn keyword rMethodsStatement isClassUnion setGeneric isGeneric removeGeneric getMethods getMethodsForDispatch
- syn keyword rMethodsStatement .setIfBase .getMethodsForDispatch .setMethodsForDispatch cacheMethod setMethod
- syn keyword rMethodsStatement removeMethod findMethod getMethod dumpMethod selectMethod hasMethod existsMethod
- syn keyword rMethodsStatement dumpMethods signature showMethods removeMethodsObject removeMethods resetGeneric
- syn keyword rMethodsStatement setReplaceMethod setGroupGeneric isGroup callGeneric initMethodDispatch
- syn keyword rMethodsStatement isSealedMethod .lockedForMethods MethodsList makeMethodsList SignatureMethod
- syn keyword rMethodsStatement insertMethod MethodsListSelect emptyMethodsList insertMethodInEmptyList
- syn keyword rMethodsStatement finalDefaultMethod inheritedSubMethodLists matchSignature showMlist promptMethods
- syn keyword rMethodsStatement linearizeMlist print.MethodsList listFromMlist .insertCachedMethods .addMethodFrom
- syn keyword rMethodsStatement asMethodDefinition .InitMethodsListClass .InitMethodDefinitions .MakeSignature
- syn keyword rMethodsStatement .findNextMethod .hasCallNextMethod callNextMethod loadMethod .doSubNextCall
- syn keyword rMethodsStatement testVirtual makePrototypeFromClassDef newEmptyObject completeClassDefinition
- syn keyword rMethodsStatement .completeClassSlots .uncompleteClassDefinition .isIndirectExtension .mergeSlots
- syn keyword rMethodsStatement getAllSuperClasses superClassDepth isVirtualClass assignClassDef .InitClassDefinition
- syn keyword rMethodsStatement .initClassSupport newBasic defaultPrototype reconcilePropertiesAndPrototype tryNew
- syn keyword rMethodsStatement empty.dump isClassDef showClass showExtends print.classRepresentation possibleExtends
- syn keyword rMethodsStatement .possibleExtends completeExtends completeSubclasses .walkClassGraph classMetaName
- syn keyword rMethodsStatement methodsPackageMetaName requireMethods .missingMethod getSlots validSlotNames
- syn keyword rMethodsStatement getDataPart setDataPart .validDataPartClass .mergeAttrs .newExternalptr
- syn keyword rMethodsStatement .transitiveExtends .transitiveSubclasses .combineExtends .simpleCoerceExpr
- syn keyword rMethodsStatement .simpleReplaceExpr newClassRepresentation .tempClassDef .newClassRepresentation
- syn keyword rMethodsStatement .insertExpr substituteFunctionArgs .makeValidityMethod .mergeClassDefSlots
- syn keyword rMethodsStatement ..mergeClassDefSlots .gblEnv ..isPrototype .isPrototype .className .requirePackage
- syn keyword rMethodsStatement ..requirePackage .classDefEnv .asEnvironmentPackage .classEnv ..classEnv .genEnv
- syn keyword rMethodsStatement .makeGeneric makeGeneric makeStandardGeneric generic.skeleton defaultDumpName
- syn keyword rMethodsStatement getAllMethods mergeMethods doPrimitiveMethod conformMethod rematchDefinition
- syn keyword rMethodsStatement unRematchDefinition getGeneric .getGeneric getGroup getMethodsMetaData
- syn keyword rMethodsStatement assignMethodsMetaData mlistMetaName getGenerics .getGenerics cacheMetaData
- syn keyword rMethodsStatement cacheGenericsMetaData setPrimitiveMethods findUnique MethodAddCoerce missingArg
- syn keyword rMethodsStatement balanceMethodsList sigToEnv .methodSignatureMatrix .valueClassTest
- syn keyword rMethodsStatement .getOrMakeMethodsList .makeCallString .ValidateValueClass .asGroupArgument
- syn keyword rMethodsStatement metaNameUndo .recursiveCallTest .NonstandardGenericTest .GenericInPrimitiveMethods
- syn keyword rMethodsStatement .signatureString .ChangeFormals .envSearch .genericName .genericEnv
- syn keyword rMethodsStatement .externalCallerEnv .parentEnvList .genericAssign .derivedDefaultMethod .identC
- syn keyword rMethodsStatement .matchBasic matchDefaults getGroupMembers deletePrimMethods setClass representation
- syn keyword rMethodsStatement prototype .prototype makeClassRepresentation getClassDef getClass slot
- syn keyword rMethodsStatement checkSlotAssignment slotNames .slotNames removeClass isClass new getClasses
- syn keyword rMethodsStatement validObject setValidity resetClass initialize findClass isSealedClass sealClass
- syn keyword rMethodsStatement sessionData traceOn traceOff browseAll functionBody .ff allNames getFunction el
- syn keyword rMethodsStatement elNamed formalArgs findFunction existsFunction Quote .message hasArg as
- syn keyword rMethodsStatement .quickCoerceSelect .asFromReplace setAs .setCoerceGeneric .basicCoerceMethod
- syn keyword rMethodsStatement .makeAsMethod .removePreviousCoerce is extends setIs .validExtends languageEl
- syn keyword rMethodsStatement isGrammarSymbol .makeBasicFuns .InitSubsetMethods setOldClass .oldTestFun
- syn keyword rMethodsStatement .oldCoerceFun .oldReplaceFun .setOldIs getPackageName setPackageName packageSlot
- syn keyword rMethodsStatement .makeCallString showDefault show .InitShowMethods classLabel substituteDirect
- syn keyword rMethodsStatement .TraceWithMethods .makeTracedFunction .untracedFunction .InitTraceFunctions
- syn keyword rMethodsStatement .doTracePrint .traceClassName trySilent .assignOverBinding .setMethodOverBinding
- syn keyword rMethodsStatement .searchNamespaceNames .findFunEnvAndName ..First.lib .onLoad .onUnload .onAttach
- syn keyword rMethodsStatement .Last.lib .Last.lib
-endif
-
-" utils functions
-if exists("r_package_utils") && r_package_utils != 0
- syn keyword rUtilsStatement RSiteSearch Rprof Sweave SweaveReadFile SweaveGetSyntax SweaveSyntConv
- syn keyword rUtilsStatement SweaveParseOptions SweaveHooks RweaveLatex RweaveLatexSetup RweaveLatexRuncode
- syn keyword rUtilsStatement RweaveLatexWritedoc RweaveLatexFinish RweaveLatexOptions RweaveChunkPrefix
- syn keyword rUtilsStatement RweaveEvalWithOpt RweaveTryStop Stangle Rtangle RtangleSetup RtangleRuncode
- syn keyword rUtilsStatement RtangleWritedoc RtangleFinish alarm apropos find citEntry citHeader citFooter
- syn keyword rUtilsStatement readCitationFile print.citation print.citationList person as.person as.person.default
- syn keyword rUtilsStatement personList as.personList as.personList.person as.personList.default
- syn keyword rUtilsStatement as.character.person as.character.personList toBibtex.person toBibtex.personList
- syn keyword rUtilsStatement toBibtex.citation toBibtex.citationList citation data browseEnv wsbrowser de.ncols
- syn keyword rUtilsStatement de.setup de.restore de data.entry dump.frames debugger limitedLabels recover demo
- syn keyword rUtilsStatement dataentry edit edit.default edit.data.frame edit.matrix file.edit vi emacs xemacs
- syn keyword rUtilsStatement xedit pico example head head.default head.data.frame head.function tail tail.default
- syn keyword rUtilsStatement tail.data.frame tail.matrix tail.function help help.search print.hsearch
- syn keyword rUtilsStatement printhsearchInternal loadhistory savehistory history iconv iconvlist localeToCharset
- syn keyword rUtilsStatement packageDescription print.packageDescription index.search print.packageIQR menu
- syn keyword rUtilsStatement getCRANmirrors checkCRAN object.size findGeneric methods print.MethodsFunction
- syn keyword rUtilsStatement getFromNamespace assignInNamespace fixInNamespace getAnywhere print.getAnywhere
- syn keyword rUtilsStatement package.skeleton packageStatus summary.packageStatus print.packageStatus
- syn keyword rUtilsStatement update.packageStatus upgrade upgrade.packageStatus available.packages CRAN.packages
- syn keyword rUtilsStatement simplifyRepos update.packages old.packages new.packages installed.packages
- syn keyword rUtilsStatement remove.packages download.packages contrib.url chooseCRANmirror setRepositories
- syn keyword rUtilsStatement normalizePath compareVersion install.packages page prompt prompt.default
- syn keyword rUtilsStatement prompt.data.frame promptData topicName .helpForCall .tryHelp read.fortran read.fwf
- syn keyword rUtilsStatement url.show sessionInfo print.sessionInfo toLatex.sessionInfo print.socket make.socket
- syn keyword rUtilsStatement close.socket read.socket write.socket str str.data.frame str.default ls.str lsf.str
- syn keyword rUtilsStatement summaryRprof toBibtex print.Bibtex toLatex print.Latex bug.report download.file nsl
- syn keyword rUtilsStatement help.start browseURL make.packages.html link.html.help package.contents vignette
- syn keyword rUtilsStatement print.vignette edit.vignette select.list flush.console
-endif
-
-" Special
-syn match rDelimiter /[,;:]/
-
-" Error
-syn region rParenRegion matchgroup=rParenDelimiter start=/(/ end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
-syn region rCurlyRegion matchgroup=rCurlyDelimiter start=/{/ end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
-syn region rBraceRegion matchgroup=rBraceDelimiter start=/\[/ end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
-syn match rError /[)\]}]/
-syn match rBraceError /[)}]/ contained
-syn match rCurlyError /[)\]]/ contained
-syn match rParenError /[\]}]/ 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_r_syn_inits")
- if version < 508
- let did_r_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink rComment Comment
- HiLink rConstant Constant
- HiLink rString String
- HiLink rNumber Number
- HiLink rBoolean Boolean
- HiLink rFloat Float
- HiLink rStatement Statement
- HiLink rBaseStatement Statement
- HiLink rStatsStatement Statement
- HiLink rGraphicsStatement Statement
- HiLink rToolsStatement Statement
- HiLink rMethodsStatement Statement
- HiLink rUtilsStatement Statement
- HiLink rPrimitiveStatement Statement
- HiLink rConditional Conditional
- HiLink rRepeat Repeat
- HiLink rIdentifier Identifier
- HiLink rFunction Function
- HiLink rArrow Statement
- HiLink rType Type
- HiLink rDelimiter Delimiter
- HiLink rStringDelimiter Delimiter
- HiLink rParenDelimiter Delimiter
- HiLink rCurlyDelimiter Delimiter
- HiLink rBraceDelimiter Delimiter
- HiLink rError Error
- HiLink rParenError Error
- HiLink rCurlyError Error
- HiLink rBraceError Error
- delcommand HiLink
-endif
-
-let b:current_syntax="r"
-" vim: ts=8 sw=2
diff --git a/.vim/syntax/tex.vim b/.vim/syntax/tex.vim
deleted file mode 100644
index 675a390..0000000
--- a/.vim/syntax/tex.vim
+++ /dev/null
@@ -1 +0,0 @@
-set textwidth=80