From 28d94f21ed6140fe11d97c1417e0c90d8f27b5b8 Mon Sep 17 00:00:00 2001 From: qx13468 Date: Thu, 12 Apr 2007 15:34:18 +0000 Subject: [PATCH] =?UTF-8?q?trunk=20eingef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://vimsuite.svn.sourceforge.net/svnroot/vimsuite/trunk@133 eb2d0018-73a3-4aeb-bfe9-1def61c9ec69 --- vimfiles.damos/doc/damos.txt | 31 + vimfiles.damos/doc/tags | 9 + vimfiles.damos/ftdetect/damos.vim | 2 + vimfiles.damos/ftdetect/kgs.vim | 1 + vimfiles.damos/ftdetect/konserve.vim | 1 + vimfiles.damos/ftplugin/damos.vim | 27 + vimfiles.damos/ftplugin/kgs.vim | 416 + vimfiles.damos/ftplugin/konserve.vim | 27 + vimfiles.damos/indent/kgs.vim | 91 + vimfiles.damos/syntax/damos.vim | 86 + vimfiles.damos/syntax/kgs.vim | 36 + vimfiles.damos/tools/ctags.conf | 48 + vimfiles.latex/compiler/tex.vim | 293 + vimfiles.latex/doc/imaps.txt | 116 + vimfiles.latex/doc/latex-suite-quickstart.txt | 448 + vimfiles.latex/doc/latex-suite.txt | 3418 ++++ vimfiles.latex/doc/latexhelp.txt | 2430 +++ vimfiles.latex/doc/tags | 905 + vimfiles.latex/ftplugin/bib_latexSuite.vim | 16 + .../ftplugin/latex-suite/bibtex.vim | 266 + .../ftplugin/latex-suite/bibtools.py | 219 + .../ftplugin/latex-suite/brackets.vim | 145 + .../ftplugin/latex-suite/compiler.vim | 820 + .../ftplugin/latex-suite/custommacros.vim | 257 + .../ftplugin/latex-suite/diacritics.vim | 124 + .../ftplugin/latex-suite/dictionaries/SIunits | 289 + .../latex-suite/dictionaries/dictionary | 677 + .../ftplugin/latex-suite/elementmacros.vim | 338 + .../ftplugin/latex-suite/envmacros.vim | 1166 ++ .../ftplugin/latex-suite/folding.vim | 393 + .../ftplugin/latex-suite/macros/example | 11 + vimfiles.latex/ftplugin/latex-suite/main.vim | 1024 ++ .../ftplugin/latex-suite/mathmacros-utf.vim | 729 + .../ftplugin/latex-suite/mathmacros.vim | 730 + .../ftplugin/latex-suite/multicompile.vim | 17 + .../ftplugin/latex-suite/outline.py | 186 + .../ftplugin/latex-suite/packages.vim | 669 + .../ftplugin/latex-suite/packages/SIunits | 315 + .../ftplugin/latex-suite/packages/accents | 28 + .../ftplugin/latex-suite/packages/acromake | 10 + .../ftplugin/latex-suite/packages/afterpage | 10 + .../ftplugin/latex-suite/packages/alltt | 12 + .../ftplugin/latex-suite/packages/amsmath | 106 + .../ftplugin/latex-suite/packages/amsthm | 21 + .../ftplugin/latex-suite/packages/amsxtra | 12 + .../ftplugin/latex-suite/packages/arabic | 10 + .../ftplugin/latex-suite/packages/array | 17 + .../ftplugin/latex-suite/packages/babel | 98 + .../ftplugin/latex-suite/packages/bar | 27 + .../ftplugin/latex-suite/packages/bm | 10 + .../ftplugin/latex-suite/packages/bophook | 12 + .../latex-suite/packages/boxedminipage | 10 + .../ftplugin/latex-suite/packages/caption2 | 43 + .../ftplugin/latex-suite/packages/cases | 12 + .../ftplugin/latex-suite/packages/ccaption | 20 + .../ftplugin/latex-suite/packages/changebar | 35 + .../ftplugin/latex-suite/packages/chapterbib | 24 + .../ftplugin/latex-suite/packages/cite | 32 + .../ftplugin/latex-suite/packages/color | 43 + .../ftplugin/latex-suite/packages/comma | 12 + .../ftplugin/latex-suite/packages/deleq | 36 + .../ftplugin/latex-suite/packages/drftcite | 29 + .../ftplugin/latex-suite/packages/dropping | 12 + .../ftplugin/latex-suite/packages/enumerate | 10 + .../ftplugin/latex-suite/packages/eqlist | 19 + .../ftplugin/latex-suite/packages/eqparbox | 12 + .../ftplugin/latex-suite/packages/everyshi | 10 + .../ftplugin/latex-suite/packages/exmpl | 55 + .../ftplugin/latex-suite/packages/flafter | 10 + .../ftplugin/latex-suite/packages/float | 16 + .../ftplugin/latex-suite/packages/floatflt | 12 + .../ftplugin/latex-suite/packages/fn2end | 10 + .../ftplugin/latex-suite/packages/footmisc | 21 + .../ftplugin/latex-suite/packages/geometry | 93 + .../ftplugin/latex-suite/packages/german | 12 + .../ftplugin/latex-suite/packages/graphicx | 69 + .../ftplugin/latex-suite/packages/graphpap | 10 + .../ftplugin/latex-suite/packages/harpoon | 18 + .../ftplugin/latex-suite/packages/hhline | 21 + .../ftplugin/latex-suite/packages/histogram | 13 + .../ftplugin/latex-suite/packages/hyperref | 167 + .../ftplugin/latex-suite/packages/ifthen | 21 + .../ftplugin/latex-suite/packages/inputenc | 29 + .../ftplugin/latex-suite/packages/letterspace | 10 + .../ftplugin/latex-suite/packages/lineno | 60 + .../ftplugin/latex-suite/packages/longtable | 35 + .../ftplugin/latex-suite/packages/lscape | 10 + .../ftplugin/latex-suite/packages/manyfoot | 15 + .../ftplugin/latex-suite/packages/moreverb | 28 + .../latex-suite/packages/moreverbatim | 21 + .../ftplugin/latex-suite/packages/multibox | 10 + .../ftplugin/latex-suite/packages/multicol | 21 + .../ftplugin/latex-suite/packages/newalg | 26 + .../ftplugin/latex-suite/packages/ngerman | 10 + .../ftplugin/latex-suite/packages/numprint | 18 + .../ftplugin/latex-suite/packages/oldstyle | 12 + .../ftplugin/latex-suite/packages/outliner | 19 + .../ftplugin/latex-suite/packages/overcite | 34 + .../ftplugin/latex-suite/packages/parallel | 15 + .../ftplugin/latex-suite/packages/plain | 10 + .../ftplugin/latex-suite/packages/plates | 16 + .../ftplugin/latex-suite/packages/polski | 165 + .../ftplugin/latex-suite/packages/psgo | 27 + .../ftplugin/latex-suite/packages/schedule | 20 + .../ftplugin/latex-suite/packages/textfit | 12 + .../ftplugin/latex-suite/packages/times | 10 + .../ftplugin/latex-suite/packages/tipa | 364 + .../ftplugin/latex-suite/packages/ulem | 21 + .../ftplugin/latex-suite/packages/url | 24 + .../ftplugin/latex-suite/packages/verbatim | 18 + .../ftplugin/latex-suite/packages/version | 12 + .../ftplugin/latex-suite/projecttemplate.vim | 11 + .../ftplugin/latex-suite/pytools.py | 52 + .../ftplugin/latex-suite/smartspace.vim | 102 + .../ftplugin/latex-suite/templates.vim | 148 + .../latex-suite/templates/IEEEtran.tex | 142 + .../latex-suite/templates/article.tex | 9 + .../ftplugin/latex-suite/templates/report.tex | 9 + .../templates/report_two_column.tex | 9 + .../ftplugin/latex-suite/texmenuconf.vim | 131 + .../ftplugin/latex-suite/texproject.vim | 54 + vimfiles.latex/ftplugin/latex-suite/texrc | 738 + .../ftplugin/latex-suite/texviewer.vim | 1041 ++ .../ftplugin/latex-suite/version.vim | 30 + .../ftplugin/latex-suite/wizardfuncs.vim | 377 + vimfiles.latex/ftplugin/tex_latexSuite.vim | 13 + vimfiles.latex/ftplugin/xml.vim | 848 + vimfiles.latex/indent/tex.vim | 139 + vimfiles.latex/ltags | 78 + vimfiles.latex/plugin/SyntaxFolds.vim | 323 + vimfiles.latex/plugin/filebrowser.vim | 251 + vimfiles.latex/plugin/imaps.vim | 831 + vimfiles.latex/plugin/libList.vim | 249 + vimfiles.latex/plugin/remoteOpen.vim | 163 + vimfiles.stefan/_vimrc.example | 14 + vimfiles.stefan/colors/Carsten.vim | 57 + vimfiles.stefan/colors/Stefan.vim | 95 + vimfiles.stefan/colors/Tina.vim | 86 + vimfiles.stefan/compiler/bmsk.vim | 205 + vimfiles.stefan/compiler/gcc.vim | 41 + vimfiles.stefan/compiler/java.vim | 21 + vimfiles.stefan/compiler/lint.vim | 41 + vimfiles.stefan/compiler/pascal.vim | 26 + vimfiles.stefan/compiler/python.vim | 27 + vimfiles.stefan/compiler/python22.vim | 37 + vimfiles.stefan/compiler/turbo_c.vim | 24 + vimfiles.stefan/doc/bmsk.txt | 213 + vimfiles.stefan/doc/ccm.txt | 28 + vimfiles.stefan/doc/svn.txt | 33 + vimfiles.stefan/doc/tags | 95 + vimfiles.stefan/doc/vi-hints.txt | 208 + vimfiles.stefan/doc/vimsuite.txt | 209 + vimfiles.stefan/ftdetect/a2l.vim | 2 + vimfiles.stefan/ftdetect/c.vim | 4 + vimfiles.stefan/ftdetect/paf.vim | 4 + vimfiles.stefan/ftdetect/scons.vim | 3 + vimfiles.stefan/ftdetect/tex.vim | 1 + vimfiles.stefan/ftdetect/trace.vim | 1 + vimfiles.stefan/ftdetect/uc.vim | 1 + vimfiles.stefan/ftplugin/a2l.vim | 13 + vimfiles.stefan/ftplugin/c.vim | 99 + vimfiles.stefan/ftplugin/dosbatch.vim | 4 + vimfiles.stefan/ftplugin/html.vim | 47 + vimfiles.stefan/ftplugin/java.vim | 13 + vimfiles.stefan/ftplugin/make.vim | 16 + vimfiles.stefan/ftplugin/paf.vim | 20 + vimfiles.stefan/ftplugin/pascal.vim | 16 + vimfiles.stefan/ftplugin/python.vim | 14 + vimfiles.stefan/ftplugin/scons.vim | 13 + vimfiles.stefan/ftplugin/tex.vim | 55 + vimfiles.stefan/ftplugin/trace.vim | 25 + vimfiles.stefan/ftplugin/uc.vim | 29 + vimfiles.stefan/ftplugin/vim.vim | 19 + vimfiles.stefan/indent/a2l.vim | 62 + vimfiles.stefan/plugin/basics.vim | 163 + vimfiles.stefan/plugin/bmsk.vim | 1031 ++ vimfiles.stefan/plugin/ccm.vim | 531 + vimfiles.stefan/plugin/changelog.vim | 154 + vimfiles.stefan/plugin/cvs.vim | 77 + vimfiles.stefan/plugin/dos.vim | 11 + vimfiles.stefan/plugin/python.vim | 77 + vimfiles.stefan/plugin/svn.vim | 234 + vimfiles.stefan/plugin/tools.vim | 895 + vimfiles.stefan/plugin/uc.vim | 29 + vimfiles.stefan/projects_example.txt | 3 + vimfiles.stefan/spell/bmsk.add | 325 + vimfiles.stefan/spell/bmsk.add.spl | Bin 0 -> 4217 bytes vimfiles.stefan/spell/de.latin1.spl | Bin 0 -> 4211984 bytes vimfiles.stefan/syntax/c.vim | 49 + vimfiles.stefan/syntax/java.vim | 4 + vimfiles.stefan/syntax/paf.vim | 58 + vimfiles.stefan/syntax/trace.vim | 189 + vimfiles.stefan/syntax/uc.vim | 120 + vimfiles.stefan/templates/file.tps | 52 + vimfiles.stefan/templates/file_c.tpl | 36 + vimfiles.stefan/templates/file_h.tpl | 48 + vimfiles.stefan/templates/funct.tpl | 10 + vimfiles.stefan/templates/html.tpl | 8 + vimfiles.stefan/tools/cscope.exe | Bin 0 -> 474084 bytes vimfiles.stefan/tools/ctags.exe | Bin 0 -> 200704 bytes vimfiles.stefan/tools/patch.exe | Bin 0 -> 59904 bytes vimfiles.stefan/tools/python23.dll | Bin 0 -> 979005 bytes vimfiles.stefan/tools/python24.dll | Bin 0 -> 1867776 bytes vimfiles.stefan/tools/tee.exe | Bin 0 -> 16896 bytes vimfiles.stefan/tools/untee.bat | 2 + vimfiles.stefan/vimrc | 222 + vimfiles.stefan/vimrc.bmsk | 6 + vimfiles.stefan/vimrc.dos | 47 + vimfiles.stefan/vimrc.linux | 44 + vimfiles/GetLatest/GetLatestVimScripts.dat | 20 + vimfiles/after/syntax/help.vim | 114 + vimfiles/autoload/getscript.vim | 501 + vimfiles/autoload/netrw.vim | 5303 ++++++ vimfiles/autoload/netrwFileHandlers.vim | 355 + vimfiles/autoload/netrwSettings.vim | 183 + vimfiles/autoload/vimball.vim | 628 + vimfiles/autoload/visincr.vim | 864 + vimfiles/compiler/scons.vim | 8 + vimfiles/doc/GetLatestVimScripts.txt | 328 + vimfiles/doc/crefvim.txt | 14112 ++++++++++++++++ vimfiles/doc/crefvimdoc.txt | 1742 ++ vimfiles/doc/pi_getscript.txt | 406 + vimfiles/doc/pi_netrw.txt | 2133 +++ vimfiles/doc/pi_vimball.txt | 137 + vimfiles/doc/tComment.txt | 151 + vimfiles/doc/tags | 1547 ++ vimfiles/doc/visincr.txt | 462 + vimfiles/ftplugin/srec.vim | 108 + vimfiles/ftplugin/xml.vim | 1860 ++ vimfiles/plugin/DirDiff.vim | 1075 ++ vimfiles/plugin/DoxygenToolkit.vim | 713 + vimfiles/plugin/GetLatestVimScripts.vim | 468 + vimfiles/plugin/crefvim.vim | 356 + vimfiles/plugin/cscope_macros.vim | 161 + vimfiles/plugin/cscope_quickfix.vim | 256 + vimfiles/plugin/getscriptPlugin.vim | 38 + vimfiles/plugin/matrix.vim | 307 + vimfiles/plugin/netrwPlugin.vim | 180 + vimfiles/plugin/tComment.vim | 710 + vimfiles/plugin/vimballPlugin.vim | 36 + vimfiles/plugin/visincr.vim | 864 + vimfiles/plugin/visincrPlugin.vim | 73 + vimfiles/syntax/netrw.vim | 71 + vimfiles/syntax/scons.vim | 75 + vimfiles/syntax/srec.vim | 68 + 245 files changed, 67635 insertions(+) create mode 100644 vimfiles.damos/doc/damos.txt create mode 100644 vimfiles.damos/doc/tags create mode 100644 vimfiles.damos/ftdetect/damos.vim create mode 100644 vimfiles.damos/ftdetect/kgs.vim create mode 100644 vimfiles.damos/ftdetect/konserve.vim create mode 100644 vimfiles.damos/ftplugin/damos.vim create mode 100644 vimfiles.damos/ftplugin/kgs.vim create mode 100644 vimfiles.damos/ftplugin/konserve.vim create mode 100644 vimfiles.damos/indent/kgs.vim create mode 100644 vimfiles.damos/syntax/damos.vim create mode 100644 vimfiles.damos/syntax/kgs.vim create mode 100644 vimfiles.damos/tools/ctags.conf create mode 100644 vimfiles.latex/compiler/tex.vim create mode 100644 vimfiles.latex/doc/imaps.txt create mode 100644 vimfiles.latex/doc/latex-suite-quickstart.txt create mode 100644 vimfiles.latex/doc/latex-suite.txt create mode 100644 vimfiles.latex/doc/latexhelp.txt create mode 100644 vimfiles.latex/doc/tags create mode 100644 vimfiles.latex/ftplugin/bib_latexSuite.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/bibtex.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/bibtools.py create mode 100644 vimfiles.latex/ftplugin/latex-suite/brackets.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/compiler.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/custommacros.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/diacritics.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/dictionaries/SIunits create mode 100644 vimfiles.latex/ftplugin/latex-suite/dictionaries/dictionary create mode 100644 vimfiles.latex/ftplugin/latex-suite/elementmacros.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/envmacros.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/folding.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/macros/example create mode 100644 vimfiles.latex/ftplugin/latex-suite/main.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/mathmacros-utf.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/mathmacros.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/multicompile.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/outline.py create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/SIunits create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/accents create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/acromake create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/afterpage create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/alltt create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/amsmath create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/amsthm create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/amsxtra create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/arabic create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/array create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/babel create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/bar create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/bm create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/bophook create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/boxedminipage create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/caption2 create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/cases create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/ccaption create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/changebar create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/chapterbib create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/cite create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/color create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/comma create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/deleq create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/drftcite create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/dropping create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/enumerate create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/eqlist create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/eqparbox create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/everyshi create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/exmpl create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/flafter create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/float create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/floatflt create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/fn2end create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/footmisc create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/geometry create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/german create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/graphicx create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/graphpap create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/harpoon create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/hhline create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/histogram create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/hyperref create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/ifthen create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/inputenc create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/letterspace create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/lineno create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/longtable create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/lscape create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/manyfoot create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/moreverb create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/moreverbatim create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/multibox create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/multicol create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/newalg create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/ngerman create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/numprint create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/oldstyle create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/outliner create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/overcite create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/parallel create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/plain create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/plates create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/polski create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/psgo create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/schedule create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/textfit create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/times create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/tipa create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/ulem create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/url create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/verbatim create mode 100644 vimfiles.latex/ftplugin/latex-suite/packages/version create mode 100644 vimfiles.latex/ftplugin/latex-suite/projecttemplate.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/pytools.py create mode 100644 vimfiles.latex/ftplugin/latex-suite/smartspace.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/templates.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/templates/IEEEtran.tex create mode 100644 vimfiles.latex/ftplugin/latex-suite/templates/article.tex create mode 100644 vimfiles.latex/ftplugin/latex-suite/templates/report.tex create mode 100644 vimfiles.latex/ftplugin/latex-suite/templates/report_two_column.tex create mode 100644 vimfiles.latex/ftplugin/latex-suite/texmenuconf.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/texproject.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/texrc create mode 100644 vimfiles.latex/ftplugin/latex-suite/texviewer.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/version.vim create mode 100644 vimfiles.latex/ftplugin/latex-suite/wizardfuncs.vim create mode 100644 vimfiles.latex/ftplugin/tex_latexSuite.vim create mode 100644 vimfiles.latex/ftplugin/xml.vim create mode 100644 vimfiles.latex/indent/tex.vim create mode 100644 vimfiles.latex/ltags create mode 100644 vimfiles.latex/plugin/SyntaxFolds.vim create mode 100644 vimfiles.latex/plugin/filebrowser.vim create mode 100644 vimfiles.latex/plugin/imaps.vim create mode 100644 vimfiles.latex/plugin/libList.vim create mode 100644 vimfiles.latex/plugin/remoteOpen.vim create mode 100644 vimfiles.stefan/_vimrc.example create mode 100644 vimfiles.stefan/colors/Carsten.vim create mode 100644 vimfiles.stefan/colors/Stefan.vim create mode 100644 vimfiles.stefan/colors/Tina.vim create mode 100644 vimfiles.stefan/compiler/bmsk.vim create mode 100644 vimfiles.stefan/compiler/gcc.vim create mode 100644 vimfiles.stefan/compiler/java.vim create mode 100644 vimfiles.stefan/compiler/lint.vim create mode 100644 vimfiles.stefan/compiler/pascal.vim create mode 100644 vimfiles.stefan/compiler/python.vim create mode 100644 vimfiles.stefan/compiler/python22.vim create mode 100644 vimfiles.stefan/compiler/turbo_c.vim create mode 100644 vimfiles.stefan/doc/bmsk.txt create mode 100644 vimfiles.stefan/doc/ccm.txt create mode 100644 vimfiles.stefan/doc/svn.txt create mode 100644 vimfiles.stefan/doc/tags create mode 100644 vimfiles.stefan/doc/vi-hints.txt create mode 100644 vimfiles.stefan/doc/vimsuite.txt create mode 100644 vimfiles.stefan/ftdetect/a2l.vim create mode 100644 vimfiles.stefan/ftdetect/c.vim create mode 100644 vimfiles.stefan/ftdetect/paf.vim create mode 100644 vimfiles.stefan/ftdetect/scons.vim create mode 100644 vimfiles.stefan/ftdetect/tex.vim create mode 100644 vimfiles.stefan/ftdetect/trace.vim create mode 100644 vimfiles.stefan/ftdetect/uc.vim create mode 100644 vimfiles.stefan/ftplugin/a2l.vim create mode 100644 vimfiles.stefan/ftplugin/c.vim create mode 100644 vimfiles.stefan/ftplugin/dosbatch.vim create mode 100644 vimfiles.stefan/ftplugin/html.vim create mode 100644 vimfiles.stefan/ftplugin/java.vim create mode 100644 vimfiles.stefan/ftplugin/make.vim create mode 100644 vimfiles.stefan/ftplugin/paf.vim create mode 100644 vimfiles.stefan/ftplugin/pascal.vim create mode 100644 vimfiles.stefan/ftplugin/python.vim create mode 100644 vimfiles.stefan/ftplugin/scons.vim create mode 100644 vimfiles.stefan/ftplugin/tex.vim create mode 100644 vimfiles.stefan/ftplugin/trace.vim create mode 100644 vimfiles.stefan/ftplugin/uc.vim create mode 100644 vimfiles.stefan/ftplugin/vim.vim create mode 100644 vimfiles.stefan/indent/a2l.vim create mode 100644 vimfiles.stefan/plugin/basics.vim create mode 100644 vimfiles.stefan/plugin/bmsk.vim create mode 100644 vimfiles.stefan/plugin/ccm.vim create mode 100644 vimfiles.stefan/plugin/changelog.vim create mode 100644 vimfiles.stefan/plugin/cvs.vim create mode 100644 vimfiles.stefan/plugin/dos.vim create mode 100644 vimfiles.stefan/plugin/python.vim create mode 100644 vimfiles.stefan/plugin/svn.vim create mode 100644 vimfiles.stefan/plugin/tools.vim create mode 100644 vimfiles.stefan/plugin/uc.vim create mode 100644 vimfiles.stefan/projects_example.txt create mode 100644 vimfiles.stefan/spell/bmsk.add create mode 100644 vimfiles.stefan/spell/bmsk.add.spl create mode 100644 vimfiles.stefan/spell/de.latin1.spl create mode 100644 vimfiles.stefan/syntax/c.vim create mode 100644 vimfiles.stefan/syntax/java.vim create mode 100644 vimfiles.stefan/syntax/paf.vim create mode 100644 vimfiles.stefan/syntax/trace.vim create mode 100644 vimfiles.stefan/syntax/uc.vim create mode 100644 vimfiles.stefan/templates/file.tps create mode 100644 vimfiles.stefan/templates/file_c.tpl create mode 100644 vimfiles.stefan/templates/file_h.tpl create mode 100644 vimfiles.stefan/templates/funct.tpl create mode 100644 vimfiles.stefan/templates/html.tpl create mode 100644 vimfiles.stefan/tools/cscope.exe create mode 100644 vimfiles.stefan/tools/ctags.exe create mode 100644 vimfiles.stefan/tools/patch.exe create mode 100644 vimfiles.stefan/tools/python23.dll create mode 100644 vimfiles.stefan/tools/python24.dll create mode 100644 vimfiles.stefan/tools/tee.exe create mode 100644 vimfiles.stefan/tools/untee.bat create mode 100644 vimfiles.stefan/vimrc create mode 100644 vimfiles.stefan/vimrc.bmsk create mode 100644 vimfiles.stefan/vimrc.dos create mode 100644 vimfiles.stefan/vimrc.linux create mode 100644 vimfiles/GetLatest/GetLatestVimScripts.dat create mode 100644 vimfiles/after/syntax/help.vim create mode 100644 vimfiles/autoload/getscript.vim create mode 100644 vimfiles/autoload/netrw.vim create mode 100644 vimfiles/autoload/netrwFileHandlers.vim create mode 100644 vimfiles/autoload/netrwSettings.vim create mode 100644 vimfiles/autoload/vimball.vim create mode 100644 vimfiles/autoload/visincr.vim create mode 100644 vimfiles/compiler/scons.vim create mode 100644 vimfiles/doc/GetLatestVimScripts.txt create mode 100644 vimfiles/doc/crefvim.txt create mode 100644 vimfiles/doc/crefvimdoc.txt create mode 100644 vimfiles/doc/pi_getscript.txt create mode 100644 vimfiles/doc/pi_netrw.txt create mode 100644 vimfiles/doc/pi_vimball.txt create mode 100644 vimfiles/doc/tComment.txt create mode 100644 vimfiles/doc/tags create mode 100644 vimfiles/doc/visincr.txt create mode 100644 vimfiles/ftplugin/srec.vim create mode 100644 vimfiles/ftplugin/xml.vim create mode 100644 vimfiles/plugin/DirDiff.vim create mode 100644 vimfiles/plugin/DoxygenToolkit.vim create mode 100644 vimfiles/plugin/GetLatestVimScripts.vim create mode 100644 vimfiles/plugin/crefvim.vim create mode 100644 vimfiles/plugin/cscope_macros.vim create mode 100644 vimfiles/plugin/cscope_quickfix.vim create mode 100644 vimfiles/plugin/getscriptPlugin.vim create mode 100644 vimfiles/plugin/matrix.vim create mode 100644 vimfiles/plugin/netrwPlugin.vim create mode 100644 vimfiles/plugin/tComment.vim create mode 100644 vimfiles/plugin/vimballPlugin.vim create mode 100644 vimfiles/plugin/visincr.vim create mode 100644 vimfiles/plugin/visincrPlugin.vim create mode 100644 vimfiles/syntax/netrw.vim create mode 100644 vimfiles/syntax/scons.vim create mode 100644 vimfiles/syntax/srec.vim diff --git a/vimfiles.damos/doc/damos.txt b/vimfiles.damos/doc/damos.txt new file mode 100644 index 0000000..ab38854 --- /dev/null +++ b/vimfiles.damos/doc/damos.txt @@ -0,0 +1,31 @@ +*damos.txt* Funktinen fuer das Arbeiten mit DAMOS-Dateien + +DAMOS-Tools *damos* *kgs* *osp* +============================================================================== + + *:PatchA2L* +:PatchA2L A2L-File patchen + +Mit diesem Befehl wird ein 'make patch_a2l' durchgeführt. Nähere Informationen +sind in der HTML-Dokumentation zu lesen. + +Wenn man sich im kgs-File auf einer Umrechnungsformel befindet können folgende +Befehle ausgeführt werden: + + *:GetOspPhysValue* +:GetOspPhysValue{Integer-Wert} Ausgabe des physikalische Werts mit Einheit. + + *:GetOspIntValue* +:GetOspIntValue{Phys-Wert} Ausgabe des Integer Werts in dez und hex. + + *:GetOspTestValues* +:GetOspTestValues Ausgabe eines Sets von Testwerten. + +Wenn man sich im kgs-File auf einem Kennwert-Namen befindet kann folgender +Befehl ausgeführt werden: + + *:GetKgsTestWertp* +:GetKgsTestWertp Ausgabe des Testwert als physikalischer Wert ausgegeben. + +============================================================================== +vim:tw=78:ts=8:ft=help:norl: diff --git a/vimfiles.damos/doc/tags b/vimfiles.damos/doc/tags new file mode 100644 index 0000000..68f3bf1 --- /dev/null +++ b/vimfiles.damos/doc/tags @@ -0,0 +1,9 @@ +:GetKgsTestWertp damos.txt /*:GetKgsTestWertp* +:GetOspIntValue damos.txt /*:GetOspIntValue* +:GetOspPhysValue damos.txt /*:GetOspPhysValue* +:GetOspTestValues damos.txt /*:GetOspTestValues* +:PatchA2L damos.txt /*:PatchA2L* +damos damos.txt /*damos* +damos.txt damos.txt /*damos.txt* +kgs damos.txt /*kgs* +osp damos.txt /*osp* diff --git a/vimfiles.damos/ftdetect/damos.vim b/vimfiles.damos/ftdetect/damos.vim new file mode 100644 index 0000000..614b1a5 --- /dev/null +++ b/vimfiles.damos/ftdetect/damos.vim @@ -0,0 +1,2 @@ +autocmd BufRead,BufNewFile *.dcm set filetype=damos +autocmd BufRead,BufNewFile *.dcl set filetype=damos diff --git a/vimfiles.damos/ftdetect/kgs.vim b/vimfiles.damos/ftdetect/kgs.vim new file mode 100644 index 0000000..8fcecf1 --- /dev/null +++ b/vimfiles.damos/ftdetect/kgs.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.kgs set filetype=kgs diff --git a/vimfiles.damos/ftdetect/konserve.vim b/vimfiles.damos/ftdetect/konserve.vim new file mode 100644 index 0000000..84205cd --- /dev/null +++ b/vimfiles.damos/ftdetect/konserve.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.kon set filetype=konserve diff --git a/vimfiles.damos/ftplugin/damos.vim b/vimfiles.damos/ftplugin/damos.vim new file mode 100644 index 0000000..86f6e9e --- /dev/null +++ b/vimfiles.damos/ftplugin/damos.vim @@ -0,0 +1,27 @@ +" Vim filetype plugin +" Language: damos command file +" Maintainer: Stefan Liebl +" URL: +" Credits: + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" ---- +" TABS +" ---- +" use spaces for tabs +setlocal expandtab + +" autoindent +" indent mode - one of autoindent, smartindent or cindent +setlocal autoindent + +" commenting +" ---------- +let b:commentstring = "// " + +" Grep options +let b:GrepFiles = '*.dcm' diff --git a/vimfiles.damos/ftplugin/kgs.vim b/vimfiles.damos/ftplugin/kgs.vim new file mode 100644 index 0000000..519ce2f --- /dev/null +++ b/vimfiles.damos/ftplugin/kgs.vim @@ -0,0 +1,416 @@ +" Vim filetype plugin +" Language: damos Kenngroessen Beschreibungs Datei +" Maintainer: Stefan Liebl +" URL: +" Credits: + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" ---- +" TABS +" ---- +" tab width +let tabwidth = 4 +let &l:tabstop = tabwidth +" spaces for tabs +"let &softtabstop = tabwidth +" smart indent tabs (use spaces for indent else tabs) +"set smarttab +" use spaces for tabs +setlocal expandtab + +" autoindent +" indent mode - one of autoindent, smartindent or cindent +" set autoindent +" set smartindent +"set cindent +setlocal cinoptions=*200,)100,(s,w1 +let &l:shiftwidth = tabwidth +setlocal formatoptions=croq +setlocal formatexpr=KgsFormat() + +" commenting +" ---------- +let b:commentstring = "\/\/" + +" Grep options +let b:GrepFiles = '*.kgs' + +" formatting +" ---------- +let s:levelSgFunktion = 0 * &sw +let s:levelBlock = 1 * &sw +let s:levelKeyword = 2 * &sw +let s:lenKeyword = 27 +let s:lenBlockNameId = (s:levelKeyword - s:levelBlock) + s:lenKeyword + +if exists("*KgsFormat") + finish +endif + +" function for gq command +" ----------------------- +function KgsFormat() + if mode() !~ '[iR]' + " not in insert mode + let lstart = v:lnum + let lend = lstart + v:count - 1 + while v:lnum <= lend + let level = GetKgsIndent() + let line = getline(v:lnum) + if level == s:levelSgFunktion + " nix tun + elseif level == s:levelBlock + " Definition eines Blocks + let list = matchlist(line, '^\s*\(\w\+\)\s\+\(\w\+;\?\)\s*\(.*\)\?\s*') + let NameId = printf('%s %s', list[1], list[2]) + let line = printf('%-' . s:lenBlockNameId . 's %s', NameId, list[3]) + elseif level == s:levelKeyword + " Parameter eines Blocks + let list = matchlist(line, '^\s*\(\w\+\)\s\+\(.\{-}\)\s\{-}\(;\)\?\(.*\)\?') + let line = printf('%-' . s:lenKeyword . 's %s%s%s', list[1], list[2], list[3], list[4]) + else + endif + " delete leading spaces + let line = substitute(line, '^\s*\(.*\)', '\1', '') + " indent + let line = printf('%' . level . 's%s', '', line) + " delete trailing spaces + let line = substitute(line, '\(.\{-}\)\s*$', '\1', '') + call setline(v:lnum, line) + let v:lnum = v:lnum + 1 + endwhile + endif +endfunction + +" ------------ +" KGS Reformat +" ------------ + +function ReformatKGS() + let cursorLine = line('.') + let cursorCol = col('.') + "do gq over all + execute 'normal ggVGgq' + call cursor(cursorLine, cursorCol) +endfunction + +" --------------------------------------------------------- +" Physikalischen Wert zu Testwert eines Kennwerts ermitteln +" Cursor muss sich im .kgs-File auf dem Kennwert befinden +" --------------------------------------------------------- +function s:GetOspLine(umrechnungsformel) + execute 'tag ' a:umrechnungsformel + let OspLine = getline('.') + execute 'pop' + return OspLine +endfunction + +function s:GetOspPoly(Nr, OspLine) + if match(a:OspLine, 'Poly') >= 0 + let valRegEx = '[^:;]\+' + let pxPos = matchend(a:OspLine, 'P' . a:Nr . '=') + if pxPos >=0 + let pxVal = matchstr(a:OspLine, valRegEx, pxPos) + else + let pxVal = '0.0' + endif + else + echo 'kein Polynom' + let pxVal = '0.0' + endif + return pxVal +endfunction + +function s:GetOspMas(OspLine) + let masRegEx = '[^:;"]\+' + let masPos = matchend(a:OspLine, 'Mas="') + if masPos >=0 + let mas = matchstr(a:OspLine, masRegEx, masPos) + else + let mas = '-' + endif + return mas +endfunction + +function s:GetOspPolyPhysValue(int, p1, p2, p3, p4, p5) + " P2 - (int - P5) * P4 + " phys = -------------------- + " (int - P5) * P3 - P1 + " +" echo 'P1: ' a:p1 ' P2:' a:p2 ' P3:' a:p3 ' P4:' a:p4 ' P5:' a:p5 + let polynom = '(' . a:p2 . ' - ((' . a:int . ' - ' . a:p5 . ') * ' + \ . a:p4 . ')) / (((' . a:int . ' - ' . a:p5 . ') * ' + \ . a:p3 . ') - ' . a:p1 . ')' +" echo polynom + let phys = Eval(polynom) + return phys +endfunction + +function s:GetOspPolyIntValue(phys, p1, p2, p3, p4, p5) + " P1 * phys + P2 + " int = -------------- + P5 + " P3 * phys + P4 + " +" echo 'P1: ' a:p1 ' P2:' a:p2 ' P3:' a:p3 ' P4:' a:p4 ' P5:' a:p5 + let polynom = '((((' . a:p1 . ' * ' . a:phys . ') + ' . a:p2 . ') / ((' + \ . a:p3 . ' * ' . a:phys . ') + ' . a:p4 . ')) + ' . a:p5 . ')' +" echo polynom + let float = Eval(polynom) + let int = ToInt(float) + return int +endfunction + +command -nargs=1 GetOspPhysValue call s:GetOspPhysValue('') +function s:GetOspPhysValue(int) + execute 'normal yiw' + let umrechnung = @0 + echo 'umrechnung:' umrechnung + let OspLine = s:GetOspLine(umrechnung) + if match(OspLine, 'Poly') >= 0 + let p1Val = s:GetOspPoly('1', OspLine) + let p2Val = s:GetOspPoly('2', OspLine) + let p3Val = s:GetOspPoly('3', OspLine) + let p4Val = s:GetOspPoly('4', OspLine) + let p5Val = s:GetOspPoly('5', OspLine) + let mas = s:GetOspMas(OspLine) + " Poynom + echo 'umrechnung:' umrechnung + echo 'P1:' p1Val 'P2:' p2Val 'P3:' p3Val 'P4:' p4Val 'P5:' p5Val + let phys = s:GetOspPolyPhysValue(a:int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo 'Int:' a:int 'Phys:' phys mas + else + echo 'kein Polynom' + return + endif +endfunction + +command -nargs=1 GetOspIntValue call s:GetOspIntValue('') +function s:GetOspIntValue(phys) + execute 'normal yiw' + let umrechnung = @0 + echo 'umrechnung:' umrechnung + let OspLine = s:GetOspLine(umrechnung) + if match(OspLine, 'Poly') >= 0 + let p1Val = s:GetOspPoly('1', OspLine) + let p2Val = s:GetOspPoly('2', OspLine) + let p3Val = s:GetOspPoly('3', OspLine) + let p4Val = s:GetOspPoly('4', OspLine) + let p5Val = s:GetOspPoly('5', OspLine) + let mas = s:GetOspMas(OspLine) + " Poynom + echo 'umrechnung:' umrechnung + echo 'P1:' p1Val 'P2:' p2Val 'P3:' p3Val 'P4:' p4Val 'P5:' p5Val + let int = s:GetOspPolyIntValue(a:phys, p1Val, p2Val, p3Val, p4Val, p5Val) + let hex = ToHex(int, 0) + echo 'Phys:' a:phys mas 'Int:' int 'Hex:' hex + else + echo 'kein Polynom' + return + endif +endfunction + +command GetOspTestValues call s:GetOspTestValues() +function s:GetOspTestValues() + execute 'normal yiw' + let umrechnung = @0 + echo 'umrechnung:' umrechnung + let OspLine = s:GetOspLine(umrechnung) + if match(OspLine, 'Poly') >= 0 + let p1Val = s:GetOspPoly('1', OspLine) + let p2Val = s:GetOspPoly('2', OspLine) + let p3Val = s:GetOspPoly('3', OspLine) + let p4Val = s:GetOspPoly('4', OspLine) + let p5Val = s:GetOspPoly('5', OspLine) + let mas = s:GetOspMas(OspLine) + " Poynom + echo 'umrechnung:' umrechnung + echo 'P1:' p1Val 'P2:' p2Val 'P3:' p3Val 'P4:' p4Val 'P5:' p5Val + let int = '0' + let hex = ToHex(int, 8) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '1' + let hex = ToHex(int, 8) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '127' + let hex = ToHex(int, 8) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '-128' + let hex = ToHex(int, 8) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '255' + let hex = ToHex(int, 8) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '32767' + let hex = ToHex(int, 16) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '-32768' + let hex = ToHex(int, 16) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '65535' + let hex = ToHex(int, 16) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '2147483647L' + let hex = ToHex(int, 32) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '-2147483648L' + let hex = ToHex(int, 32) + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + let int = '4294967295L' + let hex = '0xffffffff' + let phys = s:GetOspPolyPhysValue(int, p1Val, p2Val, p3Val, p4Val, p5Val) + echo s:formatValues(int, hex, phys, mas) + else + echo 'kein Polynom' + return + endif +endfunction + +function s:formatValues(int, hex, phys, mas) + return printf('Int: %12s Hex: %12s Phys: %s %s',a:int, a:hex, a:phys, a:mas) +endfunction + +command GetKgsTestWertp call s:GetKgsTestWertp() +function s:GetKgsTestWertp() + " position markieren + execute 'normal mx' + " kennwert namen speichern + execute 'normal yiw' + let kennwert = @0 + echo 'kennwert:' kennwert + " Position von { und } merken + call search('{') + let startLineNr = line('.') + execute 'normal %' + let endLineNr = line('.') + execute 'normal %' + " umrechnungs-Formel hohlen + call cursor(startLineNr, 0) + call search('umrechnung', 'W') + execute 'normal wyiw' + let umrechnung = @0 + echo 'umrechnung:' umrechnung + let OspLine = s:GetOspLine(umrechnung) + call cursor(startLineNr, 0) + if match(OspLine, 'Poly') >= 0 + let p1Val = s:GetOspPoly('1', OspLine) + let p2Val = s:GetOspPoly('2', OspLine) + let p3Val = s:GetOspPoly('3', OspLine) + let p4Val = s:GetOspPoly('4', OspLine) + let p5Val = s:GetOspPoly('5', OspLine) + " test_wert lesen + call cursor(startLineNr, 0) + call search('test_wert', 'W') + while search('\x\+\s*}\?\s*[,;]', 'W') > 0 + if line('.') <= endLineNr + execute 'normal yiw' + let test_wert = @0 + " Poynom + echo 'P1:' p1Val 'P2:' p2Val 'P3:' p3Val 'P4:' p4Val 'P5:' p5Val + let phys = s:GetOspPolyPhysValue( + \test_wert, p1Val, p2Val, p3Val, p4Val, p5Val) + echo 'test_wert:' test_wert 'umrechnung:' umrechnung 'Phys:' phys + endif + endwhile + else + echo 'kein Polynom' + return + endif + execute 'normal `x' +endfunction + +" ------------------------------------------------------------ +" Zum überprüfen von Testwerten +" Im Fenster 1 muss sich konserve_2.kon befinden +" Im Fenster 3 muss sich konserve_4.kon befinden +" Im Fenster 2 wird das .kgs-File geöffnet, das den Kennwert definiert +" Im Fenster 4 wird das .c-File zum .kgs-File geöffnet +" ------------------------------------------------------------ +command -nargs=1 DamosCheckValues call s:DamosCheckValues('') +function s:DamosCheckValues(kennwert) + " find kennwert in kgs-file + 2wincmd w + execute 'tselect ' . a:kennwert + execute 'normal 0jzok' + call search(a:kennwert) + execute 'normal gm' + let @/ = a:kennwert . '\>' + " get c-file-name and find kennwert + let cFile = expand('%:p:r') . '.c' + 4wincmd w + execute 'edit ' . cFile + execute 'normal zR!' + execute 'normal n' + 1wincmd w + execute 'normal n' + 3wincmd w + execute 'normal n' + 2wincmd w +endfunction + +" -------------------------------------------------- +" Sucht den Wert eines Kennwerts aus einer Konserve, +" die als erster Parameter übergeben wird +" -------------------------------------------------- +function s:DamosGetKonserveVal(konserve, kennwert) + let kwPos = match(a:konserve, a:kennwert) +" echo 'kwPos: ' . kwPos + if kwPos >= 0 + let wertLine = matchstr(a:konserve, 'WERT\s\p\+', kwPos) + echo 'wertLine:' wertLine + let wert = substitute(wertLine, 'WERT\s\+\([0-9.,]\+\)' , '\1', '') + else + echo a:kennwert 'not found in' a:konserve + let wert = '-' + endif + return wert +endfunction + +command -nargs=+ DamosCheckKonserven call s:DamosCheckKonserven() +function s:DamosCheckKonserven(kennwert, newValue) + let output = DamosCheckKonserve('konserve_2.kon', a:kennwert, a:newValue) + echo output + let output = DamosCheckKonserve('konserve_4.kon', a:kennwert, a:newValue) + echo output +endfunction + +" ------------------------------------------------------- +" Überprüft, ab welcher Version der Konserve ein Kennwert +" einen bestimmten Wert hat +" ------------------------------------------------------- +function s:DamosCheckKonserve(konserve, kennwert, newValue) + " Get object from Continuus + silent let k2_obj = CCM_get_object(a:konserve) + silent let k2_root = CCM_get_hist_root(k2_obj) + let k2_obj = k2_root + while k2_obj != '' + let k2_content = CCM_view_object(k2_obj) + let wert = s:DamosGetKonserveVal(k2_content, a:kennwert) + if wert != '-' + echo a:kennwert . ': ' . wert . '\n' + let equal = Eval(wert . ' == ' . a:newValue) + if equal == 0 + let output = a:kennwert . ': not equal in: ' . k2_obj + silent let owner = CCM_get_owner(k2_obj) + let output = output . ' owner: ' . owner + return output + endif + endif + silent let k2_obj = CCM_get_successor(k2_obj) + endwhile + return 'nix' +endfunction + diff --git a/vimfiles.damos/ftplugin/konserve.vim b/vimfiles.damos/ftplugin/konserve.vim new file mode 100644 index 0000000..c395019 --- /dev/null +++ b/vimfiles.damos/ftplugin/konserve.vim @@ -0,0 +1,27 @@ +" Vim filetype plugin +" Language: damos Konserve +" Maintainer: Stefan Liebl +" URL: +" Credits: + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" ---- +" TABS +" ---- +" use spaces for tabs +setlocal expandtab + +" autoindent +" indent mode - one of autoindent, smartindent or cindent +setlocal autoindent + +" commenting +" ---------- +let b:commentstring = "* " + +" Grep options +let b:GrepFiles = '*.kon' diff --git a/vimfiles.damos/indent/kgs.vim b/vimfiles.damos/indent/kgs.vim new file mode 100644 index 0000000..81cdc18 --- /dev/null +++ b/vimfiles.damos/indent/kgs.vim @@ -0,0 +1,91 @@ +" Vim indent file +" Language: damos Kenngroessen Beschreibungs Datei +" Maintainer: Stefan Liebl +" URL: +" Credits: + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=GetKgsIndent() +setlocal nolisp +setlocal nosmartindent +setlocal autoindent +setlocal indentkeys+=} + +" Only define the function once +if exists("*GetKgsIndent") + finish +endif + +function GetKgsIndent() + + " Do not change indentation of commented lines. + if exists("b:commentstring") + if getline(v:lnum) =~ '^' . b:commentstring . '.*' + return 0 + endif + endif + + " Don't indent preprocessor directives + if getline(v:lnum) =~ '^\s*#' + return 0 + endif + + " Find a non-blank line above the current line, that's not a comment and not a preprocessor directive + let lnum = prevnonblank(v:lnum - 1) + while 1 + if getline(lnum) =~ '^#' + " search + elseif exists("b:commentstring") + if getline(lnum) =~ '^' . b:commentstring + " search + else + " found + break + endif + else + " found + break + endif + " search next + let lnum = prevnonblank(lnum - 1) + endwhile + + " 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 + + " Add a 'shiftwidth' after beginning of environments. + " Don't add it for /begin ... /end + if line =~ '{' && line !~ '}' + let ind = ind + &sw + endif + + " Subtract a 'shiftwidth' when an environment ends + if cline =~ '^\s*}' + let ind = ind - &sw + endif + if line !~ '{' && line =~ '}' && line !~ '^\s*}' + let ind = ind - &sw + endif + + " Add a space after beginning of a comment-block + if line =~ '\/\*' && line !~ '\*\/' + let ind = ind + 1 + endif + + " Subtract a space after end of a comment-block + if line !~ '\/\*' && line =~ '\*\/' + let ind = ind - 1 + endif + + return ind +endfunction + diff --git a/vimfiles.damos/syntax/damos.vim b/vimfiles.damos/syntax/damos.vim new file mode 100644 index 0000000..4e8c1a6 --- /dev/null +++ b/vimfiles.damos/syntax/damos.vim @@ -0,0 +1,86 @@ +" Vim syntax file +" Language: damos command file +" Maintainer: Stefan Liebl +" URL: +" Credits: Based on the java.vim syntax file by Claudio Fleiner +" Last change: 2004 Okt 04 + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" we define it here so that included files can test for it +if !exists("main_syntax") + let main_syntax='damos' +endif + +" ignore case +"syn case ignore + +" commands +syn keyword damosFunction begrenzeFehlerausgabe unterdrueckeBeaFort +syn keyword damosFunction einstelleSprache oeffneOSp liesBezeichner oeffnePV +syn keyword damosFunction liesAdressDatei anlegeDatenstand +syn keyword damosFunction liesKonservierung speichere schreibeHexDatei +syn keyword damosFunction schreibeASAP_AgIAsw +syn keyword damosFunction kdoOTypCheck ausfuehreTrans pruefeAutoRam +syn keyword damosFunction pruefeFktKonsistenz schreibeFhlListAusFktKonsPruef +syn keyword damosFunction oeffneQuellDatenstand fuelleAusTestwerte +syn keyword damosFunction definiereSGGrAuswahl anlegeAsw entferneAsw schneideAsw +syn keyword damosFunction schliesseAsw setzeUmfang schreibeDatenquelle +syn keyword damosFunction schreibeFktIncludeAbh anlegeOSp importiereObjekte +syn keyword damosFunction schliesseOSp +syn keyword damosCommand exit Dam DAMOS quellDst + +syn match damosSeperator "[<>,:]" + +syn match damosParameter "'p\d\+'" +syn keyword damosParameter Motorola Intel Lesen S I W E y j n V1_3 +syn keyword damosParameter deutsch OSp Dst DAT EXIT PrV maxSstAnz dfpm_fkt alle_fkt +syn keyword damosParameter switch_dfpm_fkt fktGelesen dfpm_index switch_dfpm_index + +" Comments +syn keyword damosTodo contained TODO FIXME XXX +" string inside comments +syn region damosCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=damosSpecial,damosCommentStar,damosSpecialChar +syn match damosCommentCharacter contained "'\\[^']\{1,6\}'" contains=damosSpecialChar +syn match damosCommentCharacter contained "'\\''" contains=damosSpecialChar +syn match damosCommentCharacter contained "'[^\\]'" +syn match damosLineComment "//.*" contains=damosCommentCharacter,damosTodo +hi link damosLineComment damosComment +hi link damosCommentString damosString + +" Strings and constants +syn region damosString start=+"+ end=+"+ contains=ucSpecialChar,ucSpecialError + +" 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_damos_syntax_inits") + if version < 508 + let did_damos_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink damosComment Comment + HiLink damosString String + HiLink damosBranch Statement + HiLink damosSeperator String + HiLink damosFunction Function + HiLink damosCommand Statement + HiLink damosParameter Label + + delcommand HiLink +endif + +let b:current_syntax = "damos" + +if main_syntax == 'damos' + unlet main_syntax +endif + +" vim: ts=8 diff --git a/vimfiles.damos/syntax/kgs.vim b/vimfiles.damos/syntax/kgs.vim new file mode 100644 index 0000000..42c6396 --- /dev/null +++ b/vimfiles.damos/syntax/kgs.vim @@ -0,0 +1,36 @@ +" Vim syntax file +" Language: damos Kenngroessen Beschreibungs Datei +" Maintainer: Stefan Liebl +" URL: +" Credits: + +" load c-syntax +execute('source ' . $VIMRUNTIME . '/syntax/c.vim') + +"syntax keyword kgsFunctions sg_funktion contained +syntax keyword kgsFunctions sg_funktion variante revision +syntax keyword kgsDefinitions fkt_bezeichner kgs_bezeichner ram_bezeichner +syntax keyword kgsDefinitions ram_groesse lok_ram_groesse kennwert kennlinie +syntax keyword kgsDefinitions gruppenkennlinie gruppenkennfeld gruppenstuetzstellen +syntax keyword kgsDefinitions kennfeld kennwerteblock systemkonstante +syntax keyword kgsRefgroessen ref_ram_groesse ref_kenngroesse +syntax keyword kgsKomponents umrechnung codesyntax datentyp adressierschema +syntax keyword kgsKomponents bitanzahl element_anzahl bitbasis_typ bitposition +syntax keyword kgsKomponents bitbasis_name init_wert init_wertp minp_w maxp_w +syntax keyword kgsKomponents ablageschema umrechnung anzahl min_w max_w +syntax keyword kgsKomponents test_wert test_wertp test_wert_text nicht_im_eprom +syntax keyword kgsKomponents eingangsgroesse_x eingangsgroesse_y ergebnisgroesse +syntax keyword kgsKomponents anzahl_stuetzstellen_x anzahl_stuetzstellen_y +syntax keyword kgsKomponents test_stuetzstellen_x test_stuetzstellen_y +syntax keyword kgsKomponents anzahl_test_stuetzstellen_x anzahl_test_stuetzstellen_y +syntax keyword kgsKomponents gruppenstuetzstellen_x gruppenstuetzstellen_y +syntax keyword kgsKomponents minp_x minp_y maxp_x maxp_y +syntax keyword kgsKomponents test_stuetzstellenp_x test_stuetzstellenp_y +syntax keyword kgsKomponents nicht_applizierbar +syntax keyword kgsKomponents deutsch + + +highlight def link kgsFunctions Function +highlight def link kgsDefinitions Function +highlight def link kgsRefgroessen Function +highlight def link kgsKomponents Type diff --git a/vimfiles.damos/tools/ctags.conf b/vimfiles.damos/tools/ctags.conf new file mode 100644 index 0000000..2900224 --- /dev/null +++ b/vimfiles.damos/tools/ctags.conf @@ -0,0 +1,48 @@ +--langdef=damos +--langmap=damos:.kgs +--regex-damos=/^[ \t]*systemkonstante[ \t]*([a-zA-Z0-9_]+)/\1/k,systemkonstante/ +--regex-damos=/^[ \t]*ram_groesse[ \t]*([a-zA-Z0-9_]+)/\1/r,ram_groesse/ +--regex-damos=/^[ \t]*ram_groesse[ \t]*([a-zA-Z0-9_]+)/GET_\1/r,ram_groesse/ +--regex-damos=/^[ \t]*ram_groesse[ \t]*([a-zA-Z0-9_]+)/SET_\1/r,ram_groesse/ +--regex-damos=/^[ \t]*ram_groesse[ \t]*([a-zA-Z0-9_]+)/CLR_\1/r,ram_groesse/ +--regex-damos=/^[ \t]*ram_groesse[ \t]*([a-zA-Z0-9_]+)/PUT_\1/r,ram_groesse/ +--regex-damos=/^[ \t]*lok_ram_groesse[ \t]*([a-zA-Z0-9_]+)/\1/s,lok_ram_groesse/ +--regex-damos=/^[ \t]*lok_ram_groesse[ \t]*([a-zA-Z0-9_]+)/GET_\1/s,lok_ram_groesse/ +--regex-damos=/^[ \t]*lok_ram_groesse[ \t]*([a-zA-Z0-9_]+)/SET_\1/s,lok_ram_groesse/ +--regex-damos=/^[ \t]*lok_ram_groesse[ \t]*([a-zA-Z0-9_]+)/CLR_\1/s,lok_ram_groesse/ +--regex-damos=/^[ \t]*lok_ram_groesse[ \t]*([a-zA-Z0-9_]+)/PUT_\1/s,lok_ram_groesse/ +--regex-damos=/^[ \t]*kennwert[ \t]*([a-zA-Z0-9_]+)/\1/w,kennwert/ +--regex-damos=/^[ \t]*kennwert[ \t]*([a-zA-Z0-9_]+)/KW\1/w,kennwert/ +--regex-damos=/^[ \t]*kennwert[ \t]*([a-zA-Z0-9_]+)/KW_\1/w,kennwert/ +--regex-damos=/^[ \t]*kennwerteblock[ \t]*([a-zA-Z0-9_]+)/\1/w,kennwert/ +--regex-damos=/^[ \t]*kennwerteblock[ \t]*([a-zA-Z0-9_]+)/KWB\1/w,kennwert/ +--regex-damos=/^[ \t]*kennwerteblock[ \t]*([a-zA-Z0-9_]+)/KWB_\1/w,kennwert/ +--regex-damos=/^[ \t]*kennlinie[ \t]*([a-zA-Z0-9_]+)/\1/l,kennlinie/ +--regex-damos=/^[ \t]*kennlinie[ \t]*([a-zA-Z0-9_]+)/KL\1/l,kennlinie/ +--regex-damos=/^[ \t]*kennlinie[ \t]*([a-zA-Z0-9_]+)/KL_\1/l,kennlinie/ +--regex-damos=/^[ \t]*kennlinie[ \t]*([a-zA-Z0-9_]+)/F_\1/l,kennlinie/ +--regex-damos=/^[ \t]*festkennlinie[ \t]*([a-zA-Z0-9_]+)/\1/l,kennlinie/ +--regex-damos=/^[ \t]*festkennlinie[ \t]*([a-zA-Z0-9_]+)/FKL_\1/l,kennlinie/ +--regex-damos=/^[ \t]*festkennlinie[ \t]*([a-zA-Z0-9_]+)/KL_\1/l,kennlinie/ +--regex-damos=/^[ \t]*gruppenkennlinie[ \t]*([a-zA-Z0-9_]+)/\1/l,kennlinie/ +--regex-damos=/^[ \t]*gruppenkennlinie[ \t]*([a-zA-Z0-9_]+)/GKL\1/l,kennlinie/ +--regex-damos=/^[ \t]*gruppenkennlinie[ \t]*([a-zA-Z0-9_]+)/GKL_\1/l,kennlinie/ +--regex-damos=/^[ \t]*gruppenkennlinie[ \t]*([a-zA-Z0-9_]+)/F_\1/l,kennlinie/ +--regex-damos=/^[ \t]*kennfeld[ \t]*([a-zA-Z0-9_]+)/\1/f,kennfeld/ +--regex-damos=/^[ \t]*kennfeld[ \t]*([a-zA-Z0-9_]+)/KF\1/f,kennfeld/ +--regex-damos=/^[ \t]*kennfeld[ \t]*([a-zA-Z0-9_]+)/KF_\1/f,kennfeld/ +--regex-damos=/^[ \t]*kennfeld[ \t]*([a-zA-Z0-9_]+)/F_\1/f,kennfeld/ +--regex-damos=/^[ \t]*festkennfeld[ \t]*([a-zA-Z0-9_]+)/FKF_\1/f,kennfeld/ +--regex-damos=/^[ \t]*gruppenkennfeld[ \t]*([a-zA-Z0-9_]+)/\1/f,kennfeld/ +--regex-damos=/^[ \t]*gruppenkennfeld[ \t]*([a-zA-Z0-9_]+)/GKF\1/f,kennfeld/ +--regex-damos=/^[ \t]*gruppenkennfeld[ \t]*([a-zA-Z0-9_]+)/GKF_\1/f,kennfeld/ +--regex-damos=/^[ \t]*gruppenkennfeld[ \t]*([a-zA-Z0-9_]+)/F_\1/f,kennfeld/ +--regex-damos=/^[ \t]*gruppenstuetzstellen[ \t]*([a-zA-Z0-9_]+)/\1/g,kennfeld/ +--langdef=osp +--langmap=osp:.osp +--regex-osp=/^:OId=[0-9a-fA-F]+:Typ=Umr:Name=([a-zA-Z0-9_]+).*/\1/u,umrechnung/ +--regex-osp=/^:OId=[0-9a-fA-F]+:Typ=CSy:Name=([a-zA-Z0-9_]+).*/\1/c,codesyntax/ +--regex-osp=/^:OId=[0-9a-fA-F]+:Typ=Abl:Name=([a-zA-Z0-9_]+).*/\1/a,ablageschema/ +--regex-osp=/^:OId=[0-9a-fA-F]+:Typ=AdS:Name=([a-zA-Z0-9_]+).*/\1/d,adressierschema/ +--langmap=c:.c.h.d.dat.inv.mkinc -h .h.d.dat.inv.mkinc --c-types=+p + diff --git a/vimfiles.latex/compiler/tex.vim b/vimfiles.latex/compiler/tex.vim new file mode 100644 index 0000000..993ecfe --- /dev/null +++ b/vimfiles.latex/compiler/tex.vim @@ -0,0 +1,293 @@ +" File: tex.vim +" Type: compiler plugin for LaTeX +" Original Author: Artem Chuprina +" Customization: Srinath Avadhanula +" 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 +" 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! 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! 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\ %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! 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! 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 SetTexCompilerLevel() +" }}} + +" }}} +" ============================================================================== + +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/vimfiles.latex/doc/imaps.txt b/vimfiles.latex/doc/imaps.txt new file mode 100644 index 0000000..087b3db --- /dev/null +++ b/vimfiles.latex/doc/imaps.txt @@ -0,0 +1,116 @@ + IMAP -- A fluid replacement for :imap + *imaps.txt* + Srinath Avadhanula + + + + 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 map to for all files of type . + +Some characters in the 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}\\\item <++>\\\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 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 command to insert dynamic elements such as +dates. > + call IMAP ('date`', "\=strftime('%b %d %Y')\", '') + + + +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/vimfiles.latex/doc/latex-suite-quickstart.txt b/vimfiles.latex/doc/latex-suite-quickstart.txt new file mode 100644 index 0000000..8c18b72 --- /dev/null +++ b/vimfiles.latex/doc/latex-suite-quickstart.txt @@ -0,0 +1,448 @@ + A (very) quick introduction to Latex-Suite + *latex-suite-quickstart.txt* + Srinath Avadhanula + + + + 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 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 . 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 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 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 +. (Remember: is very useful!) This time, the line will change to: > + \begin{eqnarray} + \label{}<++> + \end{eqnarray}<++> +. 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 . 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 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 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{}<++>)<++> + 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 +. The line which you were editing will change to: > + This is a reference to (\ref{eqn:euler}) + 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 + 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/vimfiles.latex/doc/latex-suite.txt b/vimfiles.latex/doc/latex-suite.txt new file mode 100644 index 0000000..a44cd9b --- /dev/null +++ b/vimfiles.latex/doc/latex-suite.txt @@ -0,0 +1,3418 @@ + Latex-Suite Reference + *latex-suite.txt* + Srinath Avadhanula + Mikolaj Machowski + + + + 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 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 (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 *ls_3_1_1_1* *ls_a_bh* + *inserting-env-f5* + +If you press 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 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 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 - *ls_3_1_1_2* *ls_a_bi* + *inserting-env-shift-f1* + +The shifted function keys, to 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 *ls_3_1_2_1* *ls_a_bl* + *enclosing-env-f5* + +You can also select a portion of text visually and press 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 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 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 in normal mode has the same effect as pressing 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 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 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 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 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 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. > + + expands to \v{} + = expands to \'{} +where 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 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 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 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 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 key. + +NOTE: By default, typing Alt- in Vim takes focus to the menu bar if a menu + with the hotkey 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 keys, (some European + users need to use the key to enter diacritics), you can change these + maps to other keys as described in the section Customizing Alt-key maps + [|ls_a_cx|]. + + + + + *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{<++>}<++>. + + + *ls_3_10_2* *ls_a_bC* *Alt-B* + +This insert-mode mapping encloses the previous character in \mathbf{}. + + + *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{} + + + *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, has styles +defined forthe following environments: + +Environment Style~ +itemize \item +enumerate \item +theindex \item +thebibliography \item[<+biblabel+>]{<+bibkey+>} <++> +description \item[<+label+>] <++> + + 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 + % will insert "\item[<+label+>] <++>" if + % used here + \end{description} + \item third item + % will insert "\item " when if used here. + \end{itemize} + % will insert nothing ("") if used here +< + +The style used by 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 etc. + To do this, you will need to specify the second argument in + double-quotes as follows: > + :call IMAP('EFE', "\\begin{figure}\<++>\\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', "\=MyFoonction()\", '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', "\=AskVimFunc()\", '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 = '' + else + let sidstr = '' + endif + return IMAP_PutTextWithMovement( + \ "\" ".name.": <+short description+> \" . + \ "Description: <+long description+>\" . + \ "\function! ".name."(<+arguments+>)<++>\" . + \ "<+function body+>\" . + \ "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 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 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 > Options + +TeX-Suite > Packages > Commands + +where 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 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 +[|ls_a_bh|] or [|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_ *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_ *ls_4_4_2* *ls_a_bQ* + + > + + g:TeX_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[<