From aba8857aa3dac629dc9c2a61c70bceee8b095e14 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 25 Jun 2008 20:13:35 +0000 Subject: [PATCH] updated for version 7.2a-00 --- Contents | 8 +- Filelist | 14 +- Makefile | 15 +- README.txt | 11 +- README_ami.txt | 2 +- README_amibin.txt | 2 +- README_amisrc.txt | 2 +- README_bindos.txt | 2 +- README_dos.txt | 2 +- README_extra.txt | 2 +- README_lang.txt | 2 +- README_mac.txt | 2 +- README_ole.txt | 2 +- README_os2.txt | 2 +- README_os390.txt | 2 +- README_src.txt | 2 +- README_srcdos.txt | 2 +- README_unix.txt | 2 +- README_vms.txt | 2 +- README_w32s.txt | 2 +- runtime/doc/ada.txt | 515 ----- runtime/doc/sql.txt | 763 ------- runtime/filetype.vim | 198 +- runtime/makemenu.vim | 24 +- runtime/menu.vim | 14 +- runtime/scripts.vim | 10 +- runtime/synmenu.vim | 464 ++-- runtime/tutor/Contents | 23 - runtime/tutor/Contents.info | Bin 582 -> 0 bytes runtime/tutor/Filelist | 716 ------ runtime/tutor/README_ami.txt | 32 - runtime/tutor/README_ami.txt.info | Bin 582 -> 0 bytes runtime/tutor/README_amibin.txt | 12 - runtime/tutor/README_amibin.txt.info | Bin 582 -> 0 bytes runtime/tutor/README_amisrc.txt | 11 - runtime/tutor/README_amisrc.txt.info | Bin 582 -> 0 bytes runtime/tutor/README_bindos.txt | 19 - runtime/tutor/README_dos.txt | 154 -- runtime/tutor/README_extra.txt | 61 - runtime/tutor/README_lang.txt | 5 - runtime/tutor/README_mac.txt | 8 - runtime/tutor/README_ole.txt | 20 - runtime/tutor/README_os2.txt | 58 - runtime/tutor/README_os390.txt | 130 -- runtime/tutor/README_src.txt | 10 - runtime/tutor/README_srcdos.txt | 12 - runtime/tutor/README_unix.txt | 10 - runtime/tutor/README_vms.txt | 48 - runtime/tutor/README_w32s.txt | 15 - runtime/tutor/Vim.info | Bin 624 -> 0 bytes runtime/tutor/Xxd.info | Bin 835 -> 0 bytes runtime/tutor/configure | 6 - runtime/tutor/csdpmi4b.zip | Bin 41506 -> 0 bytes runtime/tutor/runtime.info | Bin 624 -> 0 bytes runtime/tutor/runtime/bugreport.vim | 88 - runtime/tutor/runtime/delmenu.vim | 25 - runtime/tutor/runtime/doc.info | Bin 624 -> 0 bytes runtime/tutor/runtime/evim.vim | 66 - runtime/tutor/runtime/filetype.vim | 2412 -------------------- runtime/tutor/runtime/ftoff.vim | 11 - runtime/tutor/runtime/ftplugin.vim | 35 - runtime/tutor/runtime/ftplugof.vim | 11 - runtime/tutor/runtime/gvimrc_example.vim | 59 - runtime/tutor/runtime/hi16-action-make.png | Bin 454 -> 0 bytes runtime/tutor/runtime/hi22-action-make.png | Bin 425 -> 0 bytes runtime/tutor/runtime/icons.info | Bin 624 -> 0 bytes runtime/tutor/runtime/indent.vim | 31 - runtime/tutor/runtime/indoff.vim | 11 - runtime/tutor/runtime/macmap.vim | 75 - runtime/tutor/runtime/macros.info | Bin 624 -> 0 bytes runtime/tutor/runtime/makemenu.vim | 580 ----- runtime/tutor/runtime/menu.vim | 1105 --------- runtime/tutor/runtime/mswin.vim | 106 - runtime/tutor/runtime/optwin.vim | 1312 ----------- runtime/tutor/runtime/rgb.txt | 753 ------ runtime/tutor/runtime/scripts.vim | 351 --- runtime/tutor/runtime/synmenu.vim | 569 ----- runtime/tutor/runtime/termcap | 135 -- runtime/tutor/runtime/tools.info | Bin 624 -> 0 bytes runtime/tutor/runtime/tutor.info | Bin 624 -> 0 bytes runtime/tutor/runtime/vim16x16.gif | Bin 166 -> 0 bytes runtime/tutor/runtime/vim16x16.png | Bin 226 -> 0 bytes runtime/tutor/runtime/vim16x16.xpm | 27 - runtime/tutor/runtime/vim32x32.gif | Bin 298 -> 0 bytes runtime/tutor/runtime/vim32x32.png | Bin 347 -> 0 bytes runtime/tutor/runtime/vim32x32.xpm | 43 - runtime/tutor/runtime/vim48x48.gif | Bin 504 -> 0 bytes runtime/tutor/runtime/vim48x48.png | Bin 474 -> 0 bytes runtime/tutor/runtime/vim48x48.xpm | 59 - runtime/tutor/runtime/vimlogo.cdr | Bin 15494 -> 0 bytes runtime/tutor/runtime/vimlogo.eps | 791 ------- runtime/tutor/runtime/vimlogo.gif | Bin 1091 -> 0 bytes runtime/tutor/runtime/vimlogo.pdf | Bin 2254 -> 0 bytes runtime/tutor/runtime/vimlogo.xpm | 75 - runtime/tutor/runtime/vimrc_example.vim | 94 - runtime/tutor/src.info | Bin 624 -> 0 bytes runtime/tutor/uninstal.txt | 80 - runtime/tutor/vimdir.info | Bin 624 -> 0 bytes runtime/tutor/vimtutor.bat | 67 - runtime/tutor/vimtutor.com | 104 - runtime/vimrc_example.vim | 17 +- 101 files changed, 490 insertions(+), 12020 deletions(-) delete mode 100644 runtime/doc/ada.txt delete mode 100644 runtime/doc/sql.txt delete mode 100644 runtime/tutor/Contents delete mode 100755 runtime/tutor/Contents.info delete mode 100644 runtime/tutor/Filelist delete mode 100644 runtime/tutor/README_ami.txt delete mode 100755 runtime/tutor/README_ami.txt.info delete mode 100644 runtime/tutor/README_amibin.txt delete mode 100755 runtime/tutor/README_amibin.txt.info delete mode 100644 runtime/tutor/README_amisrc.txt delete mode 100755 runtime/tutor/README_amisrc.txt.info delete mode 100644 runtime/tutor/README_bindos.txt delete mode 100644 runtime/tutor/README_dos.txt delete mode 100644 runtime/tutor/README_extra.txt delete mode 100644 runtime/tutor/README_lang.txt delete mode 100644 runtime/tutor/README_mac.txt delete mode 100644 runtime/tutor/README_ole.txt delete mode 100644 runtime/tutor/README_os2.txt delete mode 100644 runtime/tutor/README_os390.txt delete mode 100644 runtime/tutor/README_src.txt delete mode 100644 runtime/tutor/README_srcdos.txt delete mode 100644 runtime/tutor/README_unix.txt delete mode 100644 runtime/tutor/README_vms.txt delete mode 100644 runtime/tutor/README_w32s.txt delete mode 100755 runtime/tutor/Vim.info delete mode 100755 runtime/tutor/Xxd.info delete mode 100755 runtime/tutor/configure delete mode 100755 runtime/tutor/csdpmi4b.zip delete mode 100755 runtime/tutor/runtime.info delete mode 100644 runtime/tutor/runtime/bugreport.vim delete mode 100644 runtime/tutor/runtime/delmenu.vim delete mode 100755 runtime/tutor/runtime/doc.info delete mode 100644 runtime/tutor/runtime/evim.vim delete mode 100644 runtime/tutor/runtime/filetype.vim delete mode 100644 runtime/tutor/runtime/ftoff.vim delete mode 100644 runtime/tutor/runtime/ftplugin.vim delete mode 100644 runtime/tutor/runtime/ftplugof.vim delete mode 100644 runtime/tutor/runtime/gvimrc_example.vim delete mode 100644 runtime/tutor/runtime/hi16-action-make.png delete mode 100644 runtime/tutor/runtime/hi22-action-make.png delete mode 100644 runtime/tutor/runtime/icons.info delete mode 100644 runtime/tutor/runtime/indent.vim delete mode 100644 runtime/tutor/runtime/indoff.vim delete mode 100644 runtime/tutor/runtime/macmap.vim delete mode 100755 runtime/tutor/runtime/macros.info delete mode 100644 runtime/tutor/runtime/makemenu.vim delete mode 100644 runtime/tutor/runtime/menu.vim delete mode 100644 runtime/tutor/runtime/mswin.vim delete mode 100644 runtime/tutor/runtime/optwin.vim delete mode 100644 runtime/tutor/runtime/rgb.txt delete mode 100644 runtime/tutor/runtime/scripts.vim delete mode 100644 runtime/tutor/runtime/synmenu.vim delete mode 100644 runtime/tutor/runtime/termcap delete mode 100755 runtime/tutor/runtime/tools.info delete mode 100755 runtime/tutor/runtime/tutor.info delete mode 100644 runtime/tutor/runtime/vim16x16.gif delete mode 100644 runtime/tutor/runtime/vim16x16.png delete mode 100644 runtime/tutor/runtime/vim16x16.xpm delete mode 100644 runtime/tutor/runtime/vim32x32.gif delete mode 100644 runtime/tutor/runtime/vim32x32.png delete mode 100644 runtime/tutor/runtime/vim32x32.xpm delete mode 100644 runtime/tutor/runtime/vim48x48.gif delete mode 100644 runtime/tutor/runtime/vim48x48.png delete mode 100644 runtime/tutor/runtime/vim48x48.xpm delete mode 100644 runtime/tutor/runtime/vimlogo.cdr delete mode 100644 runtime/tutor/runtime/vimlogo.eps delete mode 100644 runtime/tutor/runtime/vimlogo.gif delete mode 100644 runtime/tutor/runtime/vimlogo.pdf delete mode 100644 runtime/tutor/runtime/vimlogo.xpm delete mode 100644 runtime/tutor/runtime/vimrc_example.vim delete mode 100755 runtime/tutor/src.info delete mode 100644 runtime/tutor/uninstal.txt delete mode 100755 runtime/tutor/vimdir.info delete mode 100644 runtime/tutor/vimtutor.bat delete mode 100755 runtime/tutor/vimtutor.com diff --git a/Contents b/Contents index 2a5de8821..97dc1b554 100644 --- a/Contents +++ b/Contents @@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful messages, shows current file name in window title, on-line help, rectangular cut/paste, etc., etc., etc... - Version 7.1. Also runs under UNIX, MSDOS and other systems. - vim71rt.tgz contains the documentation and syntax files. - vim71bin.tgz contains the binaries. - vim71src.tgz contains the sources. + Version 7.2a. Also runs under UNIX, MSDOS and other systems. + vim72art.tgz contains the documentation and syntax files. + vim72abin.tgz contains the binaries. + vim72asrc.tgz contains the sources. Author: Bram Moolenaar et al. diff --git a/Filelist b/Filelist index f2d437fc7..aa423d998 100644 --- a/Filelist +++ b/Filelist @@ -137,6 +137,7 @@ SRC_UNIX = \ pixmaps/gen-inline-pixbufs.sh \ pixmaps/stock_icons.h \ src/INSTALL \ + src/INSTALLx.txt \ src/Makefile \ src/auto/configure \ src/config.aap.in \ @@ -250,6 +251,7 @@ SRC_DOS = \ src/Make_w16.mak \ src/bigvim.bat \ src/msvcsetup.bat \ + src/msvc2008.bat \ src/dimm.idl \ src/dlldata.c \ src/dosinst.c \ @@ -671,17 +673,9 @@ LANG_GEN = \ runtime/keymap/*.vim \ runtime/tutor/README.*.txt \ runtime/tutor/Makefile \ + runtime/tutor/tutor.utf-8 \ runtime/tutor/tutor.?? \ - runtime/tutor/tutor.cs.* \ - runtime/tutor/tutor.gr.* \ - runtime/tutor/tutor.hu.* \ - runtime/tutor/tutor.ja.* \ - runtime/tutor/tutor.ko.* \ - runtime/tutor/tutor.pl.* \ - runtime/tutor/tutor.ru.* \ - runtime/tutor/tutor.sk.* \ - runtime/tutor/tutor.tr.* \ - runtime/tutor/tutor.zh.* \ + runtime/tutor/tutor.??.* \ runtime/spell/README.txt \ runtime/spell/??/*.diff \ runtime/spell/??/main.aap \ diff --git a/Makefile b/Makefile index f4090fafd..45568a9eb 100644 --- a/Makefile +++ b/Makefile @@ -69,7 +69,7 @@ all install uninstall tools config configure reconfig proto depend lint tags typ # Before creating an archive first delete all backup files, *.orig, etc. MAJOR = 7 -MINOR = 1 +MINOR = 2a # Uncomment this line if the Win32s version is to be included. DOSBIN_S = dosbin_s @@ -87,8 +87,8 @@ DOSBIN_S = dosbin_s # ignore warnings for missing include files, fix problems for syntax errors). # - With these features: "make depend" (works best with gcc). # - "make lint" and check the output (ignore GTK warnings). -# - Enable the efence library in "src/Makefile" and run "make test". May -# require disabling Python and Ruby to avoid trouble with threads. +# - Enable the efence library in "src/Makefile" and run "make test". Disable +# Python and Ruby to avoid trouble with threads (efence is not threadsafe). # - Check for missing entries in runtime/makemenu.vim (with checkmenu script). # - Check for missing options in runtime/optwin.vim et al. (with check.vim). # - Do "make menu" to update the runtime/synmenu.vim file. @@ -120,17 +120,20 @@ DOSBIN_S = dosbin_s # - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that # case set environment for compiling with Borland C++ 4.0 and do # "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe"). +# NOTE: this currently fails because Vim is too big. # - "make test" and check the output. # - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and # "uninstald16.exe". # 32 bit DOS version: # - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak". -# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output. +# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for +# "ALL DONE". # - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and # "uninstald32.exe". # Win32 console version: -# - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the -# paths when necessary). +# - Set environment for Visual C++ 2008 Express Edition: "msvc2008.bat". Or, +# when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths +# when necessary). # - "nmake -f Make_mvc.mak" # - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output. # - Rename the executables to "vimw32.exe", "xxdw32.exe". diff --git a/README.txt b/README.txt index cdb97a37c..6eece4197 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README.txt for version 7.1 of Vim: Vi IMproved. +README.txt for version 7.2a of Vim: Vi IMproved. WHAT IS VIM @@ -133,9 +133,6 @@ MAIN AUTHOR Send any other comments, patches, pizza and suggestions to: Bram Moolenaar E-mail: Bram@vim.org - Molenstraat 2 - 2161 HP Lisse - The Netherlands - -This is the address of my parents, they will forward mail and eat the pizza. -My actual address will change a couple of times in 2006. + Finsterruetihof 1 + 8134 Adliswil + Switzerland diff --git a/README_ami.txt b/README_ami.txt index ed085e0c7..13fa67d62 100644 --- a/README_ami.txt +++ b/README_ami.txt @@ -1,4 +1,4 @@ -README_ami.txt for version 7.1 of Vim: Vi IMproved. +README_ami.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on Amiga systems. See README.txt for general information about Vim. diff --git a/README_amibin.txt b/README_amibin.txt index 8f2b2d40a..24b9ef2e1 100644 --- a/README_amibin.txt +++ b/README_amibin.txt @@ -1,4 +1,4 @@ -README_amibin.txt for version 7.1 of Vim: Vi IMproved. +README_amibin.txt for version 7.2a of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_ami.txt" for installation instructions for the Amiga. diff --git a/README_amisrc.txt b/README_amisrc.txt index 0b6b7ffff..8732efb66 100644 --- a/README_amisrc.txt +++ b/README_amisrc.txt @@ -1,4 +1,4 @@ -README_amisrc.txt for version 7.1 of Vim: Vi IMproved. +README_amisrc.txt for version 7.2a of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_ami.txt" for installation instructions for the Amiga. diff --git a/README_bindos.txt b/README_bindos.txt index bd3c4704a..593a92554 100644 --- a/README_bindos.txt +++ b/README_bindos.txt @@ -1,4 +1,4 @@ -README_bindos.txt for version 7.1 of Vim: Vi IMproved. +README_bindos.txt for version 7.2a of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. diff --git a/README_dos.txt b/README_dos.txt index c985c7a49..f4818b8a2 100644 --- a/README_dos.txt +++ b/README_dos.txt @@ -1,4 +1,4 @@ -README_dos.txt for version 7.1 of Vim: Vi IMproved. +README_dos.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on MS-DOS and MS-Windows systems. See "README.txt" for general information about Vim. diff --git a/README_extra.txt b/README_extra.txt index e6685f9d1..660b502da 100644 --- a/README_extra.txt +++ b/README_extra.txt @@ -1,4 +1,4 @@ -README_extra.txt for version 7.1 of Vim: Vi IMproved. +README_extra.txt for version 7.2a of Vim: Vi IMproved. The extra archive of Vim is to be used in combination with the source archive (vim-7.0-src.tar.gz). The extra archive is useless without it. diff --git a/README_lang.txt b/README_lang.txt index 5e39100c0..9df9f7609 100644 --- a/README_lang.txt +++ b/README_lang.txt @@ -1,4 +1,4 @@ -README_lang.txt for version 7.1 of Vim: Vi IMproved. +README_lang.txt for version 7.2a of Vim: Vi IMproved. This file contains files for non-English languages: - Translated messages. diff --git a/README_mac.txt b/README_mac.txt index dddeb09ff..796ad0162 100644 --- a/README_mac.txt +++ b/README_mac.txt @@ -1,4 +1,4 @@ -README_mac.txt for version 7.1 of Vim: Vi IMproved. +README_mac.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on Macintosh systems. See "README.txt" for general information about Vim. diff --git a/README_ole.txt b/README_ole.txt index 400396af2..8112136c5 100644 --- a/README_ole.txt +++ b/README_ole.txt @@ -1,4 +1,4 @@ -README_ole.txt for version 7.1 of Vim: Vi IMproved. +README_ole.txt for version 7.2a of Vim: Vi IMproved. This archive contains gvim.exe with OLE interface and VisVim. This version of gvim.exe can also load a number of interface dynamically (you diff --git a/README_os2.txt b/README_os2.txt index 6ddc70857..a9e0a4299 100644 --- a/README_os2.txt +++ b/README_os2.txt @@ -1,4 +1,4 @@ -README_os2.txt for version 7.1 of Vim: Vi IMproved. +README_os2.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on OS/2 systems. See "README.txt" for general information about Vim. diff --git a/README_os390.txt b/README_os390.txt index 635bedbd1..0ce9dd879 100644 --- a/README_os390.txt +++ b/README_os390.txt @@ -1,4 +1,4 @@ -README_os_390.txt for version 7.1 of Vim: Vi IMproved. +README_os_390.txt for version 7.2a of Vim: Vi IMproved. Welcome to the OS/390 Unix port of VIM. diff --git a/README_src.txt b/README_src.txt index 4d53f6ff4..7079f3e06 100644 --- a/README_src.txt +++ b/README_src.txt @@ -1,4 +1,4 @@ -README_src.txt for version 7.1 of Vim: Vi IMproved. +README_src.txt for version 7.2a of Vim: Vi IMproved. The source archive contains the files needed to compile Vim on Unix systems. It is packed for Unix systems (NL line separator). It is also used for other diff --git a/README_srcdos.txt b/README_srcdos.txt index 1ad432a4d..ef78029c6 100644 --- a/README_srcdos.txt +++ b/README_srcdos.txt @@ -1,4 +1,4 @@ -README_srcdos.txt for version 7.1 of Vim: Vi IMproved. +README_srcdos.txt for version 7.2a of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. diff --git a/README_unix.txt b/README_unix.txt index d4bfb5979..5338cb16e 100644 --- a/README_unix.txt +++ b/README_unix.txt @@ -1,4 +1,4 @@ -README_unix.txt for version 7.1 of Vim: Vi IMproved. +README_unix.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on Unix systems. See "README.txt" for general information about Vim. diff --git a/README_vms.txt b/README_vms.txt index 07a9c16bc..d51339e9f 100644 --- a/README_vms.txt +++ b/README_vms.txt @@ -1,4 +1,4 @@ -README_vms.txt for version 7.1 of Vim: Vi IMproved. +README_vms.txt for version 7.2a of Vim: Vi IMproved. This file explains the installation of Vim on VMS systems. See "README.txt" in the runtime archive for information about Vim. diff --git a/README_w32s.txt b/README_w32s.txt index 393f8c09f..1b9774d36 100644 --- a/README_w32s.txt +++ b/README_w32s.txt @@ -1,4 +1,4 @@ -README_w32s.txt for version 7.1 of Vim: Vi IMproved. +README_w32s.txt for version 7.2a of Vim: Vi IMproved. This archive contains the gvim.exe that was specifically compiled for use in the Win32s subsystem in MS-Windows 3.1 and 3.11. diff --git a/runtime/doc/ada.txt b/runtime/doc/ada.txt deleted file mode 100644 index 6054ac7e1..000000000 --- a/runtime/doc/ada.txt +++ /dev/null @@ -1,515 +0,0 @@ -*ada.txt* For Vim version 7.1. Last change: 2007 May 08 - - - ADA FILE TYPE PLUG-INS REFERENCE MANUAL~ - -ADA *ada.vim* - -1. Syntax Highlighting |ft-ada-syntax| -2. Plug-in |ft-ada-plugin| -3. Omni Completion |ft-ada-omni| - 3.1 Omni Completion with "gnat xref" |gnat-xref| - 3.2 Omni Completion with "ctags" |ada-ctags| -4. Compiler Support |ada-compiler| - 4.1 GNAT |compiler-gnat| - 4.1 Dec Ada |compiler-decada| -5. References |ada-reference| - 5.1 Options |ft-ada-options| - 5.2 Functions |ft-ada-functions| - 5.3 Commands |ft-ada-commands| - 5.4 Variables |ft-ada-variables| - 5.5 Constants |ft-ada-constants| -8. Extra Plug-ins |ada-extra-plugins| - -============================================================================== -1. Syntax Highlighting ~ - *ft-ada-syntax* - -This mode is designed for the 2005 edition of Ada ("Ada 2005"), which includes -support for objected-programming, protected types, and so on. It handles code -written for the original Ada language ("Ada83", "Ada87", "Ada95") as well, -though code which uses Ada 2005-only keywords will be wrongly colored (such -code should be fixed anyway). For more information about Ada, see -http://www.adapower.com. - -The Ada mode handles a number of situations cleanly. - -For example, it knows that the "-" in "-5" is a number, but the same character -in "A-5" is an operator. Normally, a "with" or "use" clause referencing -another compilation unit is coloured the same way as C's "#include" is coloured. -If you have "Conditional" or "Repeat" groups coloured differently, then "end -if" and "end loop" will be coloured as part of those respective groups. - -You can set these to different colours using vim's "highlight" command (e.g., -to change how loops are displayed, enter the command ":hi Repeat" followed by -the colour specification; on simple terminals the colour specification -ctermfg=White often shows well). - -There are several options you can select in this Ada mode. See|ft-ada-options| -for a complete list. - -To enable them, assign a value to the option. For example, to turn one on: - > - > let g:ada_standard_types = 1 -> -To disable them use ":unlet". Example: -> - > unlet g:ada_standard_types - -You can just use ":" and type these into the command line to set these -temporarily before loading an Ada file. You can make these option settings -permanent by adding the "let" command(s), without a colon, to your "~/.vimrc" -file. - -Even on a slow (90Mhz) PC this mode works quickly, but if you find the -performance unacceptable, turn on |g:ada_withuse_ordinary|. - -Syntax folding instructions (|fold-syntax|) are added when |g:ada_folding| is -set. - -============================================================================== -2. File type Plug-in ~ - *ft-ada-indent* *ft-ada-plugin* - -The Ada plug-in provides support for: - - - auto indenting (|indent.txt|) - - insert completion (|i_CTRL-N|) - - user completion (|i_CTRL-X_CTRL-U|) - - tag searches (|tagsrch.txt|) - - Quick Fix (|quickfix.txt|) - - backspace handling (|'backspace'|) - - comment handling (|'comments'|, |'commentstring'|) - -The plug-in only activates the features of the Ada mode whenever an Ada -files is opened and add adds Ada related entries to the main and pop-up menu. - -============================================================================== -3. Omni Completion ~ - *ft-ada-omni* - -The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either -by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The -complete function will automatically detect which tool was used to create the -tags file. - ------------------------------------------------------------------------------- -3.1 Omni Completion with "gnat xref" ~ - *gnat-xref* - -GNAT XREF uses the compiler internal informations (ali-files) to produce the -tags file. This has the advantage to be 100% correct and the option of deep -nested analysis. However the code must compile, the generator is quite -slow and the created tags file contains only the basic Ctags informations for -each entry - not enough for some of the more advanced Vim code browser -plug-ins. - -NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic - output - If nothing is printed then usually the parameters are wrong. - Here some important tips: - -1) You need to compile your code first and use the "-aO" option to point to - your .ali files. -2) "gnat xref -v ../Include/adacl.ads" won't work - use the "gnat xref -v - -aI../Include adacl.ads" instead. -3) "gnat xref -v -aI../Include *.ad?" won't work - use "cd ../Include" and - then "gnat xref -v *.ad?" -4) Project manager support is completely broken - don't even try "gnat xref - -Padacl.gpr". -5) VIM is faster when the tags file is sorted - use "sort --unique - --ignore-case --output=tags tags" . -6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark - the file assorted. - ------------------------------------------------------------------------------- -3.2 Omni Completion with "ctags"~ - *ada-ctags* - -Exuberant Ctags uses its own multi-language code parser. The parser is quite -fast, produces a lot of extra informations (hence the name "Exuberant Ctags") -and can run on files which currently do not compile. - -There are also lots of other Vim-tools which use exuberant Ctags. - -You will need to install a version of the Exuberant Ctags which has Ada -support patched in. Such a version is available from the GNU Ada Project -(http://gnuada.sourceforge.net). - -The Ada parser for Exuberant Ctags is fairly new - don't expect complete -support yet. - -============================================================================== -4. Compiler Support ~ - *ada-compiler* - -The Ada mode supports more then one Ada compiler and will automatically load the -compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The -provided compiler plug-ins are split into the actual compiler plug-in and a -collection of support functions and variables. This allows the easy -development of specialized compiler plug-ins fine tuned to your development -environment. - ------------------------------------------------------------------------------- -4.1 GNAT ~ - *compiler-gnat* - -GNAT is the only free (beer and speech) Ada compiler available. There are -several version available which differentiate in the licence terms used. - -The GNAT compiler plug-in will perform a compile on pressing and then -immediately shows the result. You can set the project file to be used by -setting: - > - > call g:gnat.Set_Project_File ('my_project.gpr') - -Setting a project file will also create a Vim session (|views-sessions|) so - -like with the GPS - opened files, window positions etc. will remembered -separately for all projects. - - *gnat_members* -GNAT OBJECT ~ - - *g:gnat.Make()* -g:gnat.Make() - Calls|g:gnat.Make_Command|and displays the result inside a - |quickfix| window. - - *g:gnat.Pretty()* -g:gnat.Pretty() - Calls|g:gnat.Pretty_Command| - - *g:gnat.Find()* -g:gnat.Find() - Calls|g:gnat.Find_Command| - - *g:gnat.Tags()* -g:gnat.Tags() - Calls|g:gnat.Tags_Command| - - *g:gnat.Set_Project_File()* -g:gnat.Set_Project_File([{file}]) - Set gnat project file and load associated session. An open - project will be closed and the session written. If called - without file name the file selector opens for selection of a - project file. If called with an empty string then the project - and associated session are closed. - - *g:gnat.Project_File* -g:gnat.Project_File string - Current project file. - - *g:gnat.Make_Command* -g:gnat.Make_Command string - External command used for|g:gnat.Make()| (|'makeprg'|). - - *g:gnat.Pretty_Program* -g:gnat.Pretty_Program string - External command used for|g:gnat.Pretty()| - - *g:gnat.Find_Program* -g:gnat.Find_Program string - External command used for|g:gnat.Find()| - - *g:gnat.Tags_Command* -g:gnat.Tags_Command string - External command used for|g:gnat.Tags()| - - *g:gnat.Error_Format* -g:gnat.Error_Format string - Error format (|'errorformat'|) - ------------------------------------------------------------------------------- -4.2 Dec Ada ~ - *compiler-hpada* *compiler-decada* - *compiler-vaxada* *compiler-compaqada* - -Dec Ada (also known by - in chronological order - VAX Ada, Dec Ada, Compaq Ada -and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: will -compile the current unit. - -The Dec Ada compiler expects the package name and not the file name to be -passed a parameter. The compiler plug-in supports the usual file name -convention to convert the file into a unit name. For separates both '-' and -'__' are allowed. - - *decada_members* -DEC ADA OBJECT ~ - - *g:decada.Make()* -g:decada.Make() function - Calls|g:decada.Make_Command|and displays the result inside a - |quickfix| window. - - *g:decada.Unit_Name()* -g:decada.Unit_Name() function - Get the Unit name for the current file. - - *g:decada.Make_Command* -g:decada.Make_Command string - External command used for|g:decadat.Make()| (|'makeprg'|). - - *g:decada.Error_Format* -g:decada.Error_Format| string - Error format (|'errorformat'|). - -============================================================================== -5. References ~ - *ada-reference* - ------------------------------------------------------------------------------- -5.1 Options ~ - *ft-ada-options* - - *g:ada_standard_types* -g:ada_standard_types bool (true when exists) - Highlight types in package Standard (e.g., "Float") - - *g:ada_space_errors* - *g:ada_no_trail_space_error* - *g:ada_no_tab_space_error* - *g:ada_all_tab_usage* -g:ada_space_errors bool (true when exists) - Highlight extraneous errors in spaces ... - g:ada_no_trail_space_error - - but ignore trailing spaces at the end of a line - g:ada_no_tab_space_error - - but ignore tabs after spaces - g:ada_all_tab_usage - - highlight all tab use - - *g:ada_line_errors* -g:ada_line_errors bool (true when exists) - Highlight lines which are to long. Note: This highlighting - option is quite CPU intensive. - - *g:ada_rainbow_color* -g:ada_rainbow_color bool (true when exists) - Use rainbow colours for '(' and ')'. You need the - rainbow_parenthesis for this to work - - *g:ada_folding* -g:ada_folding set ('sigpft') - Use folding for Ada sources. - 's': activate syntax folding on load - 'p': fold packages - 'f': fold functions and procedures - 't': fold types - 'c': fold conditionals - 'g': activate gnat pretty print folding on load - 'i': lone 'is' folded with line above - 'b': lone 'begin' folded with line above - 'p': lone 'private' folded with line above - 'x': lone 'exception' folded with line above - 'i': activate indent folding on load - - Note: Syntax folding is in an early (unusable) stage and - indent or gnat pretty folding is suggested. - - For gnat pretty folding to work the following settings are - suggested: -cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5 - - For indent folding to work the following settings are - suggested: shiftwidth=3 softtabstop=3 - - *g:ada_abbrev* -g:ada_abbrev bool (true when exists) - Add some abbreviations. This feature more or less superseded - by the various completion methods. - - *g:ada_withuse_ordinary* -g:ada_withuse_ordinary bool (true when exists) - Show "with" and "use" as ordinary keywords (when used to - reference other compilation units they're normally highlighted - specially). - - *g:ada_begin_preproc* -g:ada_begin_preproc bool (true when exists) - Show all begin-like keywords using the colouring of C - preprocessor commands. - - *g:ada_omni_with_keywords* -g:ada_omni_with_keywords - Add Keywords, Pragmas, Attributes to omni-completions - (|compl-omni|). Note: You can always complete then with user - completion (|i_CTRL-X_CTRL-U|). - - *g:ada_extended_tagging* -g:ada_extended_tagging enum ('jump', 'list') - use extended tagging, two options are available - 'jump': use tjump to jump. - 'list': add tags quick fix list. - Normal tagging does not support function or operator - overloading as these features are not available in C and - tagging was originally developed for C. - - *g:ada_extended_completion* -g:ada_extended_completion - Uses extended completion for and completions - (|i_CTRL-N|). In this mode the '.' is used as part of the - identifier so that 'Object.Method' or 'Package.Procedure' are - completed together. - - *g:ada_gnat_extensions* -g:ada_gnat_extensions bool (true when exists) - Support GNAT extensions. - - *g:ada_with_gnat_project_files* -g:ada_with_gnat_project_files bool (true when exists) - Add gnat project file keywords and Attributes. - - *g:ada_default_compiler* -g:ada_default_compiler string - set default compiler. Currently supported is 'gnat' and - 'decada'. - -An "exists" type is a boolean is considered true when the variable is defined -and false when the variable is undefined. The value which the variable is -set makes no difference. - ------------------------------------------------------------------------------- -5.3 Commands ~ - *ft-ada-commands* - -:AdaRainbow *:AdaRainbow* - Toggles rainbow colour (|g:ada_rainbow_color|) mode for - '(' and ')' - -:AdaLines *:AdaLines* - Toggles line error (|g:ada_line_errors|) display - -:AdaSpaces *:AdaSpaces* - Toggles space error (|g:ada_space_errors|) display. - -:AdaTagDir *:AdaTagDir* - Creates tags file for the directory of the current file. - -:AdaTagFile *:AdaTagFile* - Creates tags file for the current file. - -:AdaTypes *:AdaTypes* - Toggles standard types (|g:ada_standard_types|) colour. - -:GnatFind *:GnatFind* - Calls |g:gnat.Find()| - -:GnatPretty *:GnatPretty* - Calls |g:gnat.Pretty()| - -:GnatTags *:GnatTags* - Calls |g:gnat.Tags()| - ------------------------------------------------------------------------------- -5.3 Variables ~ - *ft-ada-variables* - - *g:gnat* -g:gnat object - Control object which manages GNAT compiles. The object - is created when the first Ada source code is loaded provided - that |g:ada_default_compiler|is set to 'gnat'. See|gnat_members| - for details. - - *g:decada* -g:decada object - Control object which manages Dec Ada compiles. The object - is created when the first Ada source code is loaded provided - that |g:ada_default_compiler|is set to 'decada'. See - |decada_members|for details. - ------------------------------------------------------------------------------- -5.4 Constants ~ - *ft-ada-constants* - -All constants are locked. See |:lockvar| for details. - - *g:ada#WordRegex* -g:ada#WordRegex string - Regular expression to search for Ada words - - *g:ada#DotWordRegex* -g:ada#DotWordRegex string - Regular expression to search for Ada words separated by dots. - - *g:ada#Comment* -g:ada#Comment string - Regular expression to search for Ada comments - - *g:ada#Keywords* -g:ada#Keywords list of dictionaries - List of keywords, attributes etc. pp. in the format used by - omni completion. See |complete-items| for details. - - *g:ada#Ctags_Kinds* -g:ada#Ctags_Kinds dictionary of lists - Dictionary of the various kinds of items which the Ada support - for Ctags generates. - ------------------------------------------------------------------------------- -5.2 Functions ~ - *ft-ada-functions* - -ada#Word([{line}, {col}]) *ada#Word()* - Return full name of Ada entity under the cursor (or at given - line/column), stripping white space/newlines as necessary. - -ada#List_Tag([{line}, {col}]) *ada#Listtags()* - List all occurrences of the Ada entity under the cursor (or at - given line/column) inside the quick-fix window - -ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()* - List all occurrences of the Ada entity under the cursor (or at - given line/column) in the tag jump list. Mode can either be - 'tjump' or 'stjump'. - -ada#Create_Tags ({option}) *ada#Create_Tags()* - Creates tag file using Ctags. The option can either be 'file' - for the current file, 'dir' for the directory of the current - file or a file name. - -gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()* - Adds the tag file header (!_TAG_) informations to the current - file which are missing from the GNAT XREF output. - -ada#Switch_Syntax_Option ({option}) *ada#Switch_Syntax_Option()* - Toggles highlighting options on or off. Used for the Ada menu. - - *gnat#New()* -gnat#New () - Create a new gnat object. See |g:gnat| for details. - - -============================================================================== -8. Extra Plugins ~ - *ada-extra-plugins* - -You can optionally install the following extra plug-in. They work well with Ada -and enhance the ability of the Ada mode.: - -backup.vim - http://www.vim.org/scripts/script.php?script_id=1537 - Keeps as many backups as you like so you don't have to. - -rainbow_parenthsis.vim - http://www.vim.org/scripts/script.php?script_id=1561 - Very helpful since Ada uses only '(' and ')'. - -nerd_comments.vim - http://www.vim.org/scripts/script.php?script_id=1218 - Excellent commenting and uncommenting support for almost any - programming language. - -matchit.vim - http://www.vim.org/scripts/script.php?script_id=39 - '%' jumping for any language. The normal '%' jump only works for '{}' - style languages. The Ada mode will set the needed search patters. - -taglist.vim - http://www.vim.org/scripts/script.php?script_id=273 - Source code explorer sidebar. There is a patch for Ada available. - -The GNU Ada Project distribution (http://gnuada.sourceforge.net) of Vim -contains all of the above. - -============================================================================== -vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab -vim: filetype=help encoding=latin1 diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt deleted file mode 100644 index 303ebd5bd..000000000 --- a/runtime/doc/sql.txt +++ /dev/null @@ -1,763 +0,0 @@ -*sql.txt* For Vim version 7.1. Last change: Wed Apr 26 2006 3:05:33 PM - -by David Fishburn - -This is a filetype plugin to work with SQL files. - -The Structured Query Language (SQL) is a standard which specifies statements -that allow a user to interact with a relational database. Vim includes -features for navigation, indentation and syntax highlighting. - -1. Navigation |sql-navigation| - 1.1 Matchit |sql-matchit| - 1.2 Text Object Motions |sql-object-motions| - 1.3 Predefined Object Motions |sql-predefined-objects| - 1.4 Macros |sql-macros| -2. SQL Dialects |sql-dialects| - 2.1 SQLSetType |SQLSetType| - 2.2 SQL Dialect Default |sql-type-default| -3. Adding new SQL Dialects |sql-adding-dialects| -4. OMNI SQL Completion |sql-completion| - 4.1 Static mode |sql-completion-static| - 4.2 Dynamic mode |sql-completion-dynamic| - 4.3 Tutorial |sql-completion-tutorial| - 4.3.1 Complete Tables |sql-completion-tables| - 4.3.2 Complete Columns |sql-completion-columns| - 4.3.3 Complete Procedures |sql-completion-procedures| - 4.3.4 Complete Views |sql-completion-views| - 4.4 Completion Customization |sql-completion-customization| - 4.5 SQL Maps |sql-completion-maps| - 4.6 Using with other filetypes |sql-completion-filetypes| - -============================================================================== -1. Navigation *sql-navigation* - -The SQL ftplugin provides a number of options to assist with file -navigation. - - -1.1 Matchit *sql-matchit* ------------ -The matchit plugin (http://www.vim.org/scripts/script.php?script_id=39) -provides many additional features and can be customized for different -languages. The matchit plugin is configured by defining a local -buffer variable, b:match_words. Pressing the % key while on various -keywords will move the cursor to its match. For example, if the cursor -is on an "if", pressing % will cycle between the "else", "elseif" and -"end if" keywords. - -The following keywords are supported: > - if - elseif | elsif - else [if] - end if - - [while condition] loop - leave - break - continue - exit - end loop - - for - leave - break - continue - exit - end loop - - do - statements - doend - - case - when - when - default - end case - - merge - when not matched - when matched - - create[ or replace] procedure|function|event - returns - - -1.2 Text Object Motions *sql-object-motions* ------------------------ -Vim has a number of predefined keys for working with text |object-motions|. -This filetype plugin attempts to translate these keys to maps which make sense -for the SQL language. - -The following |Normal| mode and |Visual| mode maps exist (when you edit a SQL -file): > - ]] move forward to the next 'begin' - [[ move backwards to the previous 'begin' - ][ move forward to the next 'end' - [] move backwards to the previous 'end' - - -1.3 Predefined Object Motions *sql-predefined-objects* ------------------------------ -Most relational databases support various standard features, tables, indices, -triggers and stored procedures. Each vendor also has a variety of proprietary -objects. The next set of maps have been created to help move between these -objects. Depends on which database vendor you are using, the list of objects -must be configurable. The filetype plugin attempts to define many of the -standard objects, plus many additional ones. In order to make this as -flexible as possible, you can override the list of objects from within your -|vimrc| with the following: > - let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' . - \ ',schema,service,publication,database,datatype,domain' . - \ ',index,subscription,synchronization,view,variable' - -The following |Normal| mode and |Visual| mode maps have been created which use -the above list: > - ]} move forward to the next 'create ' - [{ move backward to the previous 'create ' - -Repeatedly pressing ]} will cycle through each of these create statements: > - create table t1 ( - ... - ); - - create procedure p1 - begin - ... - end; - - create index i1 on t1 (c1); - -The default setting for g:ftplugin_sql_objects is: > - let g:ftplugin_sql_objects = 'function,procedure,event,' . - \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' . - \ 'table,trigger' . - \ ',schema,service,publication,database,datatype,domain' . - \ ',index,subscription,synchronization,view,variable' - -The above will also handle these cases: > - create table t1 ( - ... - ); - create existing table t2 ( - ... - ); - create global temporary table t3 ( - ... - ); - -By default, the ftplugin only searches for CREATE statements. You can also -override this via your |vimrc| with the following: > - let g:ftplugin_sql_statements = 'create,alter' - -The filetype plugin defines three types of comments: > - 1. -- - 2. // - 3. /* - * - */ - -The following |Normal| mode and |Visual| mode maps have been created to work -with comments: > - ]" move forward to the beginning of a comment - [" move forward to the end of a comment - - - -1.4 Macros *sql-macros* ----------- -Vim's feature to find macro definitions, |'define'|, is supported using this -regular expression: > - \c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\> - -This addresses the following code: > - CREATE VARIABLE myVar1 INTEGER; - - CREATE PROCEDURE sp_test( - IN myVar2 INTEGER, - OUT myVar3 CHAR(30), - INOUT myVar4 NUMERIC(20,0) - ) - BEGIN - DECLARE myVar5 INTEGER; - - SELECT c1, c2, c3 - INTO myVar2, myVar3, myVar4 - FROM T1 - WHERE c4 = myVar1; - END; - -Place your cursor on "myVar1" on this line: > - WHERE c4 = myVar1; - ^ - -Press any of the following keys: > - [d - [D - [CTRL-D - - -============================================================================== -2. SQL Dialects *sql-dialects* *sql-types* - *sybase* *TSQL* *Transact-SQL* - *sqlanywhere* - *oracle* *plsql* *sqlj* - *sqlserver* - *mysql* *postgres* *psql* - *informix* - -All relational databases support SQL. There is a portion of SQL that is -portable across vendors (ex. CREATE TABLE, CREATE INDEX), but there is a -great deal of vendor specific extensions to SQL. Oracle supports the -"CREATE OR REPLACE" syntax, column defaults specified in the CREATE TABLE -statement and the procedural language (for stored procedures and triggers). - -The default Vim distribution ships with syntax highlighting based on Oracle's -PL/SQL. The default SQL indent script works for Oracle and SQL Anywhere. -The default filetype plugin works for all vendors and should remain vendor -neutral, but extendable. - -Vim currently has support for a variety of different vendors, currently this -is via syntax scripts. Unfortunately, to flip between different syntax rules -you must either create: - 1. New filetypes - 2. Custom autocmds - 3. Manual steps / commands - -The majority of people work with only one vendor's database product, it would -be nice to specify a default in your |vimrc|. - - -2.1 SQLSetType *sqlsettype* *SQLSetType* --------------- -For the people that work with many different databases, it would be nice to be -able to flip between the various vendors rules (indent, syntax) on a per -buffer basis, at any time. The ftplugin/sql.vim file defines this function: > - SQLSetType - -Executing this function without any parameters will set the indent and syntax -scripts back to their defaults, see |sql-type-default|. If you have turned -off Vi's compatibility mode, |'compatible'|, you can use the key to -complete the optional parameter. - -After typing the function name and a space, you can use the completion to -supply a parameter. The function takes the name of the Vim script you want to -source. Using the |cmdline-completion| feature, the SQLSetType function will -search the |'runtimepath'| for all Vim scripts with a name containing 'sql'. -This takes the guess work out of the spelling of the names. The following are -examples: > - :SQLSetType - :SQLSetType sqloracle - :SQLSetType sqlanywhere - :SQLSetType sqlinformix - :SQLSetType mysql - -The easiest approach is to the use character which will first complete -the command name (SQLSetType), after a space and another , display a list -of available Vim script names: > - :SQL - - -2.2 SQL Dialect Default *sql-type-default* ------------------------ -As mentioned earlier, the default syntax rules for Vim is based on Oracle -(PL/SQL). You can override this default by placing one of the following in -your |vimrc|: > - let g:sql_type_default = 'sqlanywhere' - let g:sql_type_default = 'sqlinformix' - let g:sql_type_default = 'mysql' - -If you added the following to your |vimrc|: > - let g:sql_type_default = 'sqlinformix' - -The next time edit a SQL file the following scripts will be automatically -loaded by Vim: > - ftplugin/sql.vim - syntax/sqlinformix.vim - indent/sql.vim -> -Notice indent/sqlinformix.sql was not loaded. There is no indent file -for Informix, Vim loads the default files if the specified files does not -exist. - - -============================================================================== -3. Adding new SQL Dialects *sql-adding-dialects* - -If you begin working with a SQL dialect which does not have any customizations -available with the default Vim distribution you can check http://www.vim.org -to see if any customization currently exist. If not, you can begin by cloning -an existing script. Read |filetype-plugins| for more details. - -To help identify these scripts, try to create the files with a "sql" prefix. -If you decide you wish to create customizations for the SQLite database, you -can create any of the following: > - Unix - ~/.vim/syntax/sqlite.vim - ~/.vim/indent/sqlite.vim - Windows - $VIM/vimfiles/syntax/sqlite.vim - $VIM/vimfiles/indent/sqlite.vim - -No changes are necessary to the SQLSetType function. It will automatically -pickup the new SQL files and load them when you issue the SQLSetType command. - - -============================================================================== -4. OMNI SQL Completion *sql-completion* - *omni-sql-completion* - -Vim 7 includes a code completion interface and functions which allows plugin -developers to build in code completion for any language. Vim 7 includes -code completion for the SQL language. - -There are two modes to the SQL completion plugin, static and dynamic. The -static mode populates the popups with the data generated from current syntax -highlight rules. The dynamic mode populates the popups with data retrieved -directly from a database. This includes, table lists, column lists, -procedures names and more. - -4.1 Static Mode *sql-completion-static* ---------------- -The static popups created contain items defined by the active syntax rules -while editing a file with a filetype of SQL. The plugin defines (by default) -various maps to help the user refine the list of items to be displayed. -The defaults static maps are: > - imap a :call sqlcomplete#Map('syntax') - imap k :call sqlcomplete#Map('sqlKeyword') - imap f :call sqlcomplete#Map('sqlFunction') - imap o :call sqlcomplete#Map('sqlOption') - imap T :call sqlcomplete#Map('sqlType') - imap s :call sqlcomplete#Map('sqlStatement') - -The static maps (which are based on the syntax highlight groups) follow this -format: > - imap k :call sqlcomplete#Map('sqlKeyword') - -This command breaks down as: > - imap - Create an insert map - - Only for this buffer - k - Your choice of key map - - Execute one command, return to Insert mode - :call sqlcomplete#Map( - Allows the SQL completion plugin to perform some - housekeeping functions to allow it to be used in - conjunction with other completion plugins. - Indicate which item you want the SQL completion - plugin to complete. - In this case we are asking the plugin to display - items from the syntax highlight group - 'sqlKeyword'. - You can view a list of highlight group names to - choose from by executing the - :syntax list - command while editing a SQL file. - 'sqlKeyword' - Display the items for the sqlKeyword highlight - group - ) - Execute the :let command - - Trigger the standard omni completion key stroke. - Passing in 'sqlKeyword' instructs the SQL - completion plugin to populate the popup with - items from the sqlKeyword highlight group. The - plugin will also cache this result until Vim is - restarted. The syntax list is retrieved using - the syntaxcomplete plugin. - -Using the 'syntax' keyword is a special case. This instructs the -syntaxcomplete plugin to retrieve all syntax items. So this will effectively -work for any of Vim's SQL syntax files. At the time of writing this includes -10 different syntax files for the different dialects of SQL (see section 3 -above, |sql-dialects|). - -Here are some examples of the entries which are pulled from the syntax files: > - All - - Contains the contents of all syntax highlight groups - Statements - - Select, Insert, Update, Delete, Create, Alter, ... - Functions - - Min, Max, Trim, Round, Date, ... - Keywords - - Index, Database, Having, Group, With - Options - - Isolation_level, On_error, Qualify_owners, Fire_triggers, ... - Types - - Integer, Char, Varchar, Date, DateTime, Timestamp, ... - - -4.2 Dynamic Mode *sql-completion-dynamic* ----------------- -Dynamic mode populates the popups with data directly from a database. In -order for the dynamic feature to be enabled you must have the dbext.vim -plugin installed, (http://vim.sourceforge.net/script.php?script_id=356). - -Dynamic mode is used by several features of the SQL completion plugin. -After installing the dbext plugin see the dbext-tutorial for additional -configuration and usage. The dbext plugin allows the SQL completion plugin -to display a list of tables, procedures, views and columns. > - Table List - - All tables for all schema owners - Procedure List - - All stored procedures for all schema owners - View List - - All stored procedures for all schema owners - Column List - - For the selected table, the columns that are part of the table - -To enable the popup, while in INSERT mode, use the following key combinations -for each group (where means hold the CTRL key down while pressing -the space bar): - Table List - t - - (the default map assumes tables) - Stored Procedure List - p - View List - v - Column List - c - - Windows platform only - When viewing a popup window displaying the list - of tables, you can press , this will - replace the table currently highlighted with - the column list for that table. - - When viewing a popup window displaying the list - of columns, you can press , this will - replace the column list with the list of tables. - - This allows you to quickly drill down into a - table to view it's columns and back again. - -The SQL completion plugin caches various lists that are displayed in -the popup window. This makes the re-displaying of these lists very -fast. If new tables or columns are added to the database it may become -necessary to clear the plugins cache. The default map for this is: > - imap R :call sqlcomplete#Map('ResetCache') - - -4.3 SQL Tutorial *sql-completion-tutorial* ----------------- - -This tutorial is designed to take you through the common features of the SQL -completion plugin so that: > - a) You gain familiarity with the plugin - b) You are introduced to some of the more common features - c) Show how to customize it to your preferences - d) Demonstrate "Best of Use" of the plugin (easiest way to configure). - -First, create a new buffer: > - :e tutorial.sql - - -Static features ---------------- -To take you through the various lists, simply enter insert mode, hit: - s (show SQL statements) -At this point, you can page down through the list until you find "select". -If you are familiar with the item you are looking for, for example you know -the statement begins with the letter "s". You can type ahead (without the -quotes) "se" then press: - t -Assuming "select" is highlighted in the popup list press to choose -the entry. Now type: - * fra (show all syntax items) -choose "from" from the popup list. - -When writing stored procedures using the "type" list is useful. It contains -a list of all the database supported types. This may or may not be true -depending on the syntax file you are using. The SQL Anywhere syntax file -(sqlanywhere.vim) has support for this: > - BEGIN - DECLARE customer_id T <-- Choose a type from the list - - -Dynamic features ----------------- -To take advantage of the dynamic features you must first install the -dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356). It -also comes with a tutorial. From the SQL completion plugin's perspective, -the main feature dbext provides is a connection to a database. dbext -connection profiles are the most efficient mechanism to define connection -information. Once connections have been setup, the SQL completion plugin -uses the features of dbext in the background to populate the popups. - -What follows assumes dbext.vim has been correctly configured, a simple test -is to run the command, :DBListTable. If a list of tables is shown, you know -dbext.vim is working as expected. If not, please consult the dbext.txt -documentation. - -Assuming you have followed the dbext-tutorial you can press t to -display a list of tables. There is a delay while dbext is creating the table -list. After the list is displayed press . This will remove both the -popup window and the table name already chosen when the list became active. > - - 4.3.1 Table Completion: *sql-completion-tables* - -Press t to display a list of tables from within the database you -have connected via the dbext plugin. -NOTE: All of the SQL completion popups support typing a prefix before pressing -the key map. This will limit the contents of the popup window to just items -beginning with those characters. > - - 4.3.2 Column Completion: *sql-completion-columns* - -The SQL completion plugin can also display a list of columns for particular -tables. The column completion is trigger via c. - -NOTE: The following example uses to trigger a column list while -the popup window is active. This map is only available on the Windows -platforms since *nix does not recognize CTRL and the right arrow held down -together. If you wish to enable this functionality on a *nix platform choose -a key and create one of these mappings (see |sql-completion-maps| for further -details on where to create this imap): > - imap =sqlcomplete#DrillIntoTable() - imap :call sqlcomplete#Map('column') - -Example of using column completion: - - Press t again to display the list of tables. - - When the list is displayed in the completion window, press , - this will replace the list of tables, with a list of columns for the - table highlighted (after the same short delay). - - If you press , this will again replace the column list with the - list of tables. This allows you to drill into tables and column lists - very quickly. - - Press again while the same table is highlighted. You will - notice there is no delay since the column list has been cached. If you - change the schema of a cached table you can press R, which - clears the SQL completion cache. - - NOTE: and have been designed to work while the - completion window is active. If the completion popup window is - not active, a normal or will be executed. - -Lets look how we can build a SQL statement dynamically. A select statement -requires a list of columns. There are two ways to build a column list using -the SQL completion plugin. > - One column at a time: -< 1. After typing SELECT press t to display a list of tables. - 2. Choose a table from the list. - 3. Press to display a list of columns. - 4. Choose the column from the list and press enter. - 5. Enter a "," and press c. Generating a column list - generally requires having the cursor on a table name. The plugin - uses this name to determine what table to retrieve the column list. - In this step, since we are pressing c without the cursor - on a table name the column list displayed will be for the previous - table. Choose a different column and move on. - 6. Repeat step 5 as often as necessary. > - All columns for a table: -< 1. After typing SELECT press t to display a list of tables. - 2. Highlight the table you need the column list for. - 3. Press to choose the table from the list. - 4. Press l to request a comma separated list of all columns - for this table. - 5. Based on the table name chosen in step 3, the plugin attempts to - decide on a reasonable table alias. You are then prompted to - either accept of change the alias. Press OK. - 6. The table name is replaced with the column list of the table is - replaced with the comma separate list of columns with the alias - prepended to each of the columns. - 7. Step 3 and 4 can be replaced by pressing L, which has - a embedded in the map to choose the currently highlighted - table in the list. - -There is a special provision when writing select statements. Consider the -following statement: > - select * - from customer c, - contact cn, - department as dp, - employee e, - site_options so - where c. - -In INSERT mode after typing the final "c." which is an alias for the -"customer" table, you can press either c or . This will -popup a list of columns for the customer table. It does this by looking back -to the beginning of the select statement and finding a list of the tables -specified in the FROM clause. In this case it notes that in the string -"customer c", "c" is an alias for the customer table. The optional "AS" -keyword is also supported, "customer AS c". > - - - 4.3.3 Procedure Completion: *sql-completion-procedures* - -Similar to the table list, p, will display a list of stored -procedures stored within the database. > - - 4.3.4 View Completion: *sql-completion-views* - -Similar to the table list, v, will display a list of views in the -database. - - -4.4 Completion Customization *sql-completion-customization* ----------------------------- - -The SQL completion plugin can be customized through various options set in -your |vimrc|: > - omni_sql_no_default_maps -< - Default: This variable is not defined - - If this variable is defined, no maps are created for OMNI - completion. See |sql-completion-maps| for further discussion. -> - omni_sql_use_tbl_alias -< - Default: a - - This setting is only used when generating a comma separated - column list. By default the map is l. When generating - a column list, an alias can be prepended to the beginning of each - column, for example: e.emp_id, e.emp_name. This option has three - settings: > - n - do not use an alias - d - use the default (calculated) alias - a - ask to confirm the alias name -< - An alias is determined following a few rules: - 1. If the table name has an '_', then use it as a separator: > - MY_TABLE_NAME --> MTN - my_table_name --> mtn - My_table_NAME --> MtN -< 2. If the table name does NOT contain an '_', but DOES use - mixed case then the case is used as a separator: > - MyTableName --> MTN -< 3. If the table name does NOT contain an '_', and does NOT - use mixed case then the first letter of the table is used: > - mytablename --> m - MYTABLENAME --> M - - omni_sql_ignorecase -< - Default: Current setting for|ignorecase| - - Valid settings are 0 or 1. - - When entering a few letters before initiating completion, the list - will be filtered to display only the entries which begin with the - list of characters. When this option is set to 0, the list will be - filtered using case sensitivity. > - - omni_sql_include_owner -< - Default: 0, unless dbext.vim 3.00 has been installed - - Valid settings are 0 or 1. - - When completing tables, procedure or views and using dbext.vim 3.00 - or higher the list of objects will also include the owner name. - When completing these objects and omni_sql_include_owner is enabled - the owner name will be replaced. > - - omni_sql_precache_syntax_groups -< - Default: - ['syntax','sqlKeyword','sqlFunction','sqlOption','sqlType','sqlStatement'] - - sqlcomplete can be used in conjunction with other completion - plugins. This is outlined at |sql-completion-filetypes|. When the - filetype is changed temporarily to SQL, the sqlcompletion plugin - will cache the syntax groups listed in the List specified in this - option. -> - -4.5 SQL Maps *sql-completion-maps* ------------- - -The default SQL maps have been described in other sections of this document in -greater detail. Here is a list of the maps with a brief description of each. - -Static Maps ------------ -These are maps which use populate the completion list using Vim's syntax -highlighting rules. > - a -< - Displays all SQL syntax items. > - k -< - Displays all SQL syntax items defined as 'sqlKeyword'. > - f -< - Displays all SQL syntax items defined as 'sqlFunction. > - o -< - Displays all SQL syntax items defined as 'sqlOption'. > - T -< - Displays all SQL syntax items defined as 'sqlType'. > - s -< - Displays all SQL syntax items defined as 'sqlStatement'. > - -Dynamic Maps ------------- -These are maps which use populate the completion list using the dbext.vim -plugin. > - t -< - Displays a list of tables. > - p -< - Displays a list of procedures. > - v -< - Displays a list of views. > - c -< - Displays a list of columns for a specific table. > - l -< - Displays a comma separated list of columns for a specific table. > - L -< - Displays a comma separated list of columns for a specific table. - This should only be used when the completion window is active. > - -< - Displays a list of columns for the table currently highlighted in - the completion window. is not recognized on most Unix - systems, so this maps is only created on the Windows platform. - If you would like the same feature on Unix, choose a different key - and make the same map in your vimrc. > - -< - Displays the list of tables. - is not recognized on most Unix systems, so this maps is - only created on the Windows platform. If you would like the same - feature on Unix, choose a different key and make the same map in - your vimrc. > - R -< - This maps removes all cached items and forces the SQL completion - to regenerate the list of items. - -Customizing Maps ----------------- -You can create as many additional key maps as you like. Generally, the maps -will be specifying different syntax highlight groups. - -If you do not wish the default maps created or the key choices do not work on -your platform (often a case on *nix) you define the following variable in -your |vimrc|: > - let g:omni_sql_no_default_maps = 1 - -Do no edit ftplugin/sql.vim directly! If you change this file your changes -will be over written on future updates. Vim has a special directory structure -which allows you to make customizations without changing the files that are -included with the Vim distribution. If you wish to customize the maps -create an after/ftplugin/sql.vim (see |after-directory|) and place the same -maps from the ftplugin/sql.vim in it using your own key strokes. was -chosen since it will work on both Windows and *nix platforms. On the windows -platform you can also use or ALT keys. - - -4.6 Using with other filetypes *sql-completion-filetypes* ------------------------------- - -Many times SQL can be used with different filetypes. For example Perl, Java, -PHP, Javascript can all interact with a database. Often you need both the SQL -completion as well as the completion capabilities for the current language you -are editing. - -This can be enabled easily with the following steps (assuming a Perl file): > - 1. :e test.pl - 2. :set filetype=sql - 3. :set ft=perl - -Step 1 ------- -Begins by editing a Perl file. Vim automatically sets the filetype to -"perl". By default, Vim runs the appropriate filetype file -ftplugin/perl.vim. If you are using the syntax completion plugin by following -the directions at |ft-syntax-omni| then the |'omnifunc'| option has been set to -"syntax#Complete". Pressing will display the omni popup containing -the syntax items for Perl. - -Step 2 ------- -Manually setting the filetype to 'sql' will also fire the appropriate filetype -files ftplugin/sql.vim. This file will define a number of buffer specific -maps for SQL completion, see |sql-completion-maps|. Now these maps have -been created and the SQL completion plugin has been initialized. All SQL -syntax items have been cached in preparation. The SQL filetype script detects -we are attempting to use two different completion plugins. Since the SQL maps -begin with , the maps will toggle the |'omnifunc'| when in use. So you -can use to continue using the completion for Perl (using the syntax -completion plugin) and to use the SQL completion features. - -Step 3 ------- -Setting the filetype back to Perl sets all the usual "perl" related items back -as they were. - - -vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/filetype.vim b/runtime/filetype.vim index be0e1cc59..89af04cce 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2007 May 15 +" Last Change: 2008 Jun 20 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -320,6 +320,9 @@ au BufNewFile,BufRead *.cs setf cs " Cdrdao TOC au BufNewFile,BufRead *.toc setf cdrtoc +" Cdrdao config +au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf + " Cfengine au BufNewFile,BufRead cfengine.conf setf cfengine @@ -349,12 +352,22 @@ else au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp endif -" .h files can be C, Ch or C++, set c_syntax_for_h if you want C, -" ch_syntax_for_h if you want Ch. -au BufNewFile,BufRead *.h - \ if exists("c_syntax_for_h") | setf c | - \ elseif exists("ch_syntax_for_h") | setf ch | - \ else | setf cpp | endif +" .h files can be C, Ch C++, ObjC or ObjC++. +" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is +" detected automatically. +au BufNewFile,BufRead *.h call s:FTheader() + +func! s:FTheader() + if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1 + setf objc + elseif exists("c_syntax_for_h") + setf c + elseif exists("ch_syntax_for_h") + setf ch + else + setf cpp + endif +endfunc " Ch (CHscript) au BufNewFile,BufRead *.chf setf ch @@ -476,12 +489,18 @@ au BufNewFile,BufRead *.cpy \ setf cobol | \ endif +" Coco/R +au BufNewFile,BufRead *.atg setf coco + " Cold Fusion au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf " Configure scripts au BufNewFile,BufRead configure.in,configure.ac setf config +" CUDA Cumpute Unified Device Architecture +au BufNewFile,BufRead *.cu setf cuda + " WildPackets EtherPeek Decoder au BufNewFile,BufRead *.dcd setf dcd @@ -513,15 +532,31 @@ au BufNewFile,BufRead *.si setf cuplsim " Debian Control au BufNewFile,BufRead */debian/control setf debcontrol +au BufNewFile,BufRead control + \ if getline(1) =~ '^Source:' + \| setf debcontrol + \| endif " Debian Sources.list au BufNewFile,BufRead /etc/apt/sources.list setf debsources +" Deny hosts +au BufNewFile,BufRead denyhosts.conf setf denyhosts + " ROCKLinux package description au BufNewFile,BufRead *.desc setf desc -" the D language -au BufNewFile,BufRead *.d setf d +" the D language or dtrace +au BufNewFile,BufRead *.d call s:DtraceCheck() + +func! s:DtraceCheck() + let lines = getline(1, min([line("$"), 100])) + if match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1 + setf dtrace + else + setf d + endif +endfunc " Desktop files au BufNewFile,BufRead *.desktop,.directory setf desktop @@ -597,8 +632,8 @@ func! s:FTe() setf eiffel endfunc -" ERicsson LANGuage -au BufNewFile,BufRead *.erl setf erlang +" ERicsson LANGuage; Yaws is erlang too +au BufNewFile,BufRead *.erl,*.yaws setf erlang " Elm Filter Rules file au BufNewFile,BufRead filter-rules setf elmfilt @@ -643,11 +678,14 @@ au BufNewFile,BufRead *.mas,*.master setf master " Forth au BufNewFile,BufRead *.fs,*.ft setf forth +" Reva Forth +au BufNewFile,BufRead *.frt setf reva + " Fortran if has("fname_case") au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran endif -au BufNewFile,BufRead *.f,*.for,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran +au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran " FStab au BufNewFile,BufRead fstab,mtab setf fstab @@ -661,6 +699,19 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo " Gedcom au BufNewFile,BufRead *.ged setf gedcom +" Git +autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit +autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig +autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase +autocmd BufNewFile,BufRead .msg.[0-9]* + \ if getline(1) =~ '^From.*# This line is ignored.$' | + \ setf gitsendemail | + \ endif +autocmd BufNewFile,BufRead *.git/** + \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | + \ setf git | + \ endif + " Gkrellmrc au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc @@ -701,6 +752,9 @@ au BufNewFile,BufRead *.hs setf haskell au BufNewFile,BufRead *.lhs setf lhaskell au BufNewFile,BufRead *.chs setf chaskell +" Haste +au BufNewFile,BufRead *.ht setf haste + " Hercules au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules @@ -739,6 +793,9 @@ au BufNewFile,BufRead *.html.m4 setf htmlm4 " HTML Cheetah template au BufNewFile,BufRead *.tmpl setf htmlcheetah +" Host config +au BufNewFile,BufRead /etc/host.conf setf hostconf + " Hyper Builder au BufNewFile,BufRead *.hb setf hb @@ -922,6 +979,9 @@ au BufNewFile,BufRead *.lou,*.lout setf lout " Lua au BufNewFile,BufRead *.lua setf lua +" Linden Scripting Language (Second Life) +au BufNewFile,BufRead *.lsl setf lsl + " Lynx style file (or LotusScript!) au BufNewFile,BufRead *.lss setf lss @@ -933,7 +993,7 @@ au BufNewFile,BufRead *.m4 au BufNewFile,BufRead *.mgp setf mgp " Mail (for Elm, trn, mutt, muttng, rn, slrn) -au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]._-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail +au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail " Mail aliases au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases @@ -987,6 +1047,9 @@ func! s:FTm() endif endfunc +" Mathematica notebook +au BufNewFile,BufRead *.nb setf mma + " Maya Extension Language au BufNewFile,BufRead *.mel setf mel @@ -1005,6 +1068,9 @@ au BufNewFile,BufRead *.mgl setf mgl " MMIX or VMS makefile au BufNewFile,BufRead *.mms call s:FTmms() +" Symbian meta-makefile definition (MMP) +au BufNewFile,BufRead *.mmp setf mmp + func! s:FTmms() let n = 1 while n < 10 @@ -1075,8 +1141,7 @@ au BufRead,BufNewFile *.mu setf mupad au BufNewFile,BufRead *.mush setf mush " Mutt setup file (also for Muttng) -au BufNewFile,BufRead Mutt{ng,}rc setf muttrc -au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') +au BufNewFile,BufRead Mutt{ng,}rc setf muttrc " Nano au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc @@ -1169,6 +1234,9 @@ au BufNewFile,BufRead *.pas setf pascal " Delphi project file au BufNewFile,BufRead *.dpr setf pascal +" PDF +au BufNewFile,BufRead *.pdf setf pdf + " Perl if has("fname_case") au BufNewFile,BufRead *.pl,*.PL call s:FTpl() @@ -1206,10 +1274,9 @@ au BufNewFile,BufRead *.pm au BufNewFile,BufRead *.pod setf pod " Php, php3, php4, etc. -au BufNewFile,BufRead *.php,*.php\d setf php - -" Phtml -au BufNewFile,BufRead *.phtml setf phtml +" Also Phtml (was used for PHP 2 in the past) +" Also .ctp for Cake template file +au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php " Pike au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike @@ -1377,6 +1444,9 @@ au BufNewFile,BufRead INDEX,INFO " Prolog au BufNewFile,BufRead *.pdb setf prolog +" Promela +au BufNewFile,BufRead *.pml setf promela + " Protocols au BufNewFile,BufRead /etc/protocols setf protocols @@ -1406,7 +1476,7 @@ au BufNewFile,BufRead *.reg au BufNewFile,BufRead *.rib setf rib " Rexx -au BufNewFile,BufRead *.rexx,*.rex setf rexx +au BufNewFile,BufRead *.rexx,*.rex,*.jrexx,*.rxj,*.orx setf rexx " R (Splus) if has("fname_case") @@ -1437,7 +1507,7 @@ func! s:FTr() for n in range(1, max) " Rebol is easy to recognize, check for that first - if getline(n) =~ '\' + if getline(n) =~? '\' setf rebol return endif @@ -1523,8 +1593,24 @@ au BufNewFile,BufRead *.siv setf sieve " Sendmail au BufNewFile,BufRead sendmail.cf setf sm -" Sendmail .mc files are actually m4 -au BufNewFile,BufRead *.mc setf m4 +" Sendmail .mc files are actually m4. Could also be MS Message text file. +au BufNewFile,BufRead *.mc call s:McSetf() + +func! s:McSetf() + " Rely on the file to start with a comment. + " MS message text files use ';', Sendmail files use '#' or 'dnl' + for lnum in range(1, min([line("$"), 20])) + let line = getline(lnum) + if line =~ '^\s*\(#\|dnl\)' + setf m4 " Sendmail .mc file + return + elseif line =~ '^\s*;' + setf msmessages " MS Message text file + return + endif + endfor + setf m4 " Default: Sendmail .mc file +endfunc " Services au BufNewFile,BufRead /etc/services setf services @@ -1710,17 +1796,21 @@ au BufNewFile,BufRead *.rules call s:FTRules() let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*' func! s:FTRules() + if expand(':p') =~ '^/etc/udev/rules\.d/.*\.rules$' + setf udevrules + return + endif try let config_lines = readfile('/etc/udev/udev.conf') catch /^Vim\%((\a\+)\)\=:E484/ setf hog return endtry + let dir = expand(':p:h') for line in config_lines if line =~ s:ft_rules_udev_rules_pattern let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "") - let amatch_dirname = substitute(expand(''), '^\(.*\)/[^/]\+$', '\1', "") - if amatch_dirname == udev_rules + if dir == udev_rules setf udevrules endif break @@ -1786,6 +1876,9 @@ au BufNewFile,BufRead *.stp setf stp " Standard ML au BufNewFile,BufRead *.sml setf sml +" Sratus VOS command macro +au BufNewFile,BufRead *.cm setf voscm + " Sysctl au BufNewFile,BufRead /etc/sysctl.conf setf sysctl @@ -1892,8 +1985,8 @@ func! s:FTtex() return endfunc -" Context -au BufNewFile,BufRead tex/context/*/*.tex setf context +" ConTeXt +au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context " Texinfo au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo @@ -1928,9 +2021,6 @@ au BufNewFile,BufRead *.uit,*.uil setf uil " Udev conf au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf -" Udev rules -au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules - " Udev permissions au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm " @@ -2049,14 +2139,26 @@ au BufNewFile,BufRead *.msc,*.msf setf xmath au BufNewFile,BufRead *.ms \ if !s:FTnroff() | setf xmath | endif -" XML -au BufNewFile,BufRead *.xml - \ if getline(1) . getline(2) . getline(3) =~ ' -" Last Change: 2007 May 10 +" Last Change: 2008 Jun 24 " This is used by "make menu" in the src directory. edit :p:h/synmenu.vim @@ -116,6 +116,7 @@ SynMenu C.Calendar:calendar SynMenu C.Cascading\ Style\ Sheets:css SynMenu C.CDL:cdl SynMenu C.Cdrdao\ TOC:cdrtoc +SynMenu C.Cdrdao\ config:cdrdaoconf SynMenu C.Century\ Term:cterm SynMenu C.CH\ script:ch SynMenu C.ChangeLog:changelog @@ -128,6 +129,7 @@ SynMenu C.Clipper:clipper SynMenu C.Cmake:cmake SynMenu C.Cmusrc:cmusrc SynMenu C.Cobol:cobol +SynMenu C.Coco/R:coco SynMenu C.Cold\ Fusion:cf SynMenu C.Conary\ Recipe:conaryrecipe SynMenu C.Config.Cfg\ Config\ file:cfg @@ -137,6 +139,7 @@ SynMenu C.CRM114:crm SynMenu C.Crontab:crontab SynMenu C.CSP:csp SynMenu C.Ctrl-H:ctrlh +SynMenu C.CUDA:cuda SynMenu C.CUPL.CUPL:cupl SynMenu C.CUPL.Simulation:cuplsim SynMenu C.CVS.commit\ file:cvs @@ -148,6 +151,7 @@ SynMenu DE.D:d SynMenu DE.Debian.Debian\ ChangeLog:debchangelog SynMenu DE.Debian.Debian\ Control:debcontrol SynMenu DE.Debian.Debian\ Sources\.list:debsources +SynMenu DE.Denyhosts:denyhosts SynMenu DE.Desktop:desktop SynMenu DE.Dict\ config:dictconf SynMenu DE.Dictd\ config:dictdconf @@ -168,6 +172,7 @@ SynMenu DE.Dracula:dracula SynMenu DE.DSSSL:dsl SynMenu DE.DTD:dtd SynMenu DE.DTML\ (Zope):dtml +SynMenu DE.DTrace:dtrace SynMenu DE.Dylan.Dylan:dylan SynMenu DE.Dylan.Dylan\ interface:dylanintr SynMenu DE.Dylan.Dylan\ lid:dylanlid @@ -205,6 +210,11 @@ SynMenu FG.Fvwm.Fvwm2\ configuration\ with\ M4:fvwm2m4 SynMenu FG.GDB\ command\ file:gdb SynMenu FG.GDMO:gdmo SynMenu FG.Gedcom:gedcom +SynMenu FG.Git.Output:git +SynMenu FG.Git.Commit:gitcommit +SynMenu FG.Git.Config:gitconfig +SynMenu FG.Git.Rebase:gitrebase +SynMenu FG.Git.Send\ Email:gitsendemail SynMenu FG.Gkrellmrc:gkrellmrc SynMenu FG.GP:gp SynMenu FG.GPG:gpg @@ -222,6 +232,7 @@ SynMenu HIJK.Hamster:hamster SynMenu HIJK.Haskell.Haskell:haskell SynMenu HIJK.Haskell.Haskell-c2hs:chaskell SynMenu HIJK.Haskell.Haskell-literate:lhaskell +SynMenu HIJK.HASTE:haste SynMenu HIJK.Hercules:hercules SynMenu HIJK.Hex\ dump.XXD:xxd SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex @@ -232,6 +243,7 @@ SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah SynMenu HIJK.HTML.Django\ HTML\ template:htmldjango SynMenu HIJK.HTML.HTML/OS:htmlos SynMenu HIJK.HTML.XHTML:xhtml +SynMenu HIJK.Host\.conf:hostconf SynMenu HIJK.Hyper\ Builder:hb SynMenu HIJK.Icewm\ menu:icemenu SynMenu HIJK.Icon:icon @@ -273,6 +285,7 @@ SynMenu L-Ma.Libao:libao SynMenu L-Ma.LifeLines\ script:lifelines SynMenu L-Ma.Lilo:lilo SynMenu L-Ma.Limits\ config:limits +SynMenu L-Ma.Linden\ scripting:lsl SynMenu L-Ma.Lisp:lisp SynMenu L-Ma.Lite:lite SynMenu L-Ma.LiteStep\ RC:litestep @@ -320,6 +333,7 @@ SynMenu Me-NO.Mrxvtrc:mrxvtrc SynMenu Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file:btm SynMenu Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file:dosbatch SynMenu Me-NO.MS-DOS/Windows.\.ini\ file:dosini +SynMenu Me-NO.MS-DOS/Windows.Message\ text:msmessages SynMenu Me-NO.MS-DOS/Windows.Module\ Definition:def SynMenu Me-NO.MS-DOS/Windows.Registry:registry SynMenu Me-NO.MS-DOS/Windows.Resource\ file:rc @@ -351,7 +365,7 @@ SynMenu PQ.PApp:papp SynMenu PQ.Pascal:pascal SynMenu PQ.Password\ file:passwd SynMenu PQ.PCCTS:pccts -SynMenu PQ.PPWizard:ppwiz +SynMenu PQ.PDF:pdf SynMenu PQ.Perl.Perl:perl SynMenu PQ.Perl.Perl\ POD:pod SynMenu PQ.Perl.Perl\ XS:xs @@ -369,6 +383,7 @@ SynMenu PQ.PostScript.PostScript:postscr SynMenu PQ.PostScript.PostScript\ Printer\ Description:ppd SynMenu PQ.Povray.Povray\ scene\ descr:pov SynMenu PQ.Povray.Povray\ configuration:povini +SynMenu PQ.PPWizard:ppwiz SynMenu PQ.Prescribe\ (Kyocera):prescribe SynMenu PQ.Printcap:pcap SynMenu PQ.Privoxy:privoxy @@ -376,6 +391,7 @@ SynMenu PQ.Procmail:procmail SynMenu PQ.Product\ Spec\ File:psf SynMenu PQ.Progress:progress SynMenu PQ.Prolog:prolog +SynMenu PQ.ProMeLa:promela SynMenu PQ.Protocols:protocols SynMenu PQ.Purify\ log:purifylog SynMenu PQ.Pyrex:pyrex @@ -398,6 +414,7 @@ SynMenu R-Sg.Relax\ NG\ compact:rnc SynMenu R-Sg.Renderman.Renderman\ Shader\ Lang:sl SynMenu R-Sg.Renderman.Renderman\ Interface\ Bytestream:rib SynMenu R-Sg.Resolv\.conf:resolv +SynMenu R-Sg.Reva\ Forth:reva SynMenu R-Sg.Rexx:rexx SynMenu R-Sg.Robots\.txt:robots SynMenu R-Sg.RockLinux\ package\ desc\.:desc @@ -481,6 +498,7 @@ SynMenu Sh-S.Strace:strace SynMenu Sh-S.Streaming\ descriptor\ file:sd SynMenu Sh-S.Subversion\ commit:svn SynMenu Sh-S.Sudoers:sudoers +SynMenu Sh-S.Symbian\ meta-makefile:mmp SynMenu Sh-S.Sysctl\.conf:sysctl SynMenu TUV.TADS:tads @@ -524,6 +542,7 @@ SynMenu TUV.Vim.Vim\ script:vim SynMenu TUV.Vim.Viminfo\ file:viminfo SynMenu TUV.Virata\ config:virata SynMenu TUV.Visual\ Basic:vb +SynMenu TUV.VOS\ CM\ macro:voscm SynMenu TUV.VRML:vrml SynMenu TUV.VSE\ JCL:vsejcl @@ -544,6 +563,7 @@ SynMenu WXYZ.X\ Keyboard\ Extension:xkb SynMenu WXYZ.X\ Pixmap:xpm SynMenu WXYZ.X\ Pixmap\ (2):xpm2 SynMenu WXYZ.X\ resources:xdefaults +SynMenu WXYZ.XBL:xbl SynMenu WXYZ.Xinetd\.conf:xinetd SynMenu WXYZ.Xmodmap:xmodmap SynMenu WXYZ.Xmath:xmath diff --git a/runtime/menu.vim b/runtime/menu.vim index f0c0d699c..d120ce293 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -2,7 +2,7 @@ " You can also use this as a start for your own set of menus. " " Maintainer: Bram Moolenaar -" Last Change: 2007 Nov 19 +" Last Change: 2008 Jun 16 " Note that ":an" (short for ":anoremenu") is often used to make a menu work " in all modes and avoid side effects from mappings defined by the user. @@ -135,6 +135,11 @@ func! SelectAll() exe "norm gg" . (&slm == "" ? "VG" : "gH\G") endfunc +func! s:FnameEscape(fname) + if exists('*fnameescape') + return fnameescape(a:fname) + return escape(a:fname, " \t\n*?[{`$\\%#'\"|!<") +endfunc " Edit menu an 20.310 &Edit.&Undou u @@ -193,6 +198,7 @@ fun! s:EditVimrc() else let fname = "$HOME/.vimrc" endif + let fname = s:FnameEscape(fname) if &mod exe "split " . fname else @@ -806,7 +812,7 @@ if has("vertsplit") if @% == "" 20vsp . else - exe "20vsp " . expand("%:p:h") + exe "20vsp " . s:FnameEscape(expand("%:p:h")) endif endfun endif @@ -1028,7 +1034,7 @@ endif " Select a session to load; default to current session name if present fun! s:LoadVimSesn() if strlen(v:this_session) > 0 - let name = escape(v:this_session, ' \t#%$|<>"*?[{`') + let name = s:FnameEscape(v:this_session) else let name = "Session.vim" endif @@ -1040,7 +1046,7 @@ fun! s:SaveVimSesn() if strlen(v:this_session) == 0 let v:this_session = "Session.vim" endif - execute "browse mksession! " . escape(v:this_session, ' \t#%$|<>"*?[{`') + execute "browse mksession! " . s:FnameEscape(v:this_session) endfun endif diff --git a/runtime/scripts.vim b/runtime/scripts.vim index 9e0e7b8d7..936f508e7 100644 --- a/runtime/scripts.vim +++ b/runtime/scripts.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types in scripts " " Maintainer: Bram Moolenaar -" Last change: 2007 Apr 29 +" Last change: 2008 Apr 28 " This file is called by an autocommand for every file that has just been " loaded into a buffer. It checks if the type of file can be recognized by @@ -234,6 +234,10 @@ else elseif s:line1 =~ '\ an 50.20.140 &Syntax.C.Cascading\ Style\ Sheets :cal SetSyn("css") an 50.20.150 &Syntax.C.CDL :cal SetSyn("cdl") an 50.20.160 &Syntax.C.Cdrdao\ TOC :cal SetSyn("cdrtoc") -an 50.20.170 &Syntax.C.Century\ Term :cal SetSyn("cterm") -an 50.20.180 &Syntax.C.CH\ script :cal SetSyn("ch") -an 50.20.190 &Syntax.C.ChangeLog :cal SetSyn("changelog") -an 50.20.200 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah") -an 50.20.210 &Syntax.C.CHILL :cal SetSyn("chill") -an 50.20.220 &Syntax.C.ChordPro :cal SetSyn("chordpro") -an 50.20.230 &Syntax.C.Clean :cal SetSyn("clean") -an 50.20.240 &Syntax.C.Clever :cal SetSyn("cl") -an 50.20.250 &Syntax.C.Clipper :cal SetSyn("clipper") -an 50.20.260 &Syntax.C.Cmake :cal SetSyn("cmake") -an 50.20.270 &Syntax.C.Cmusrc :cal SetSyn("cmusrc") -an 50.20.280 &Syntax.C.Cobol :cal SetSyn("cobol") -an 50.20.290 &Syntax.C.Cold\ Fusion :cal SetSyn("cf") -an 50.20.300 &Syntax.C.Conary\ Recipe :cal SetSyn("conaryrecipe") -an 50.20.310 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg") -an 50.20.320 &Syntax.C.Config.Configure\.in :cal SetSyn("config") -an 50.20.330 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf") -an 50.20.340 &Syntax.C.CRM114 :cal SetSyn("crm") -an 50.20.350 &Syntax.C.Crontab :cal SetSyn("crontab") -an 50.20.360 &Syntax.C.CSP :cal SetSyn("csp") -an 50.20.370 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh") -an 50.20.380 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl") -an 50.20.390 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim") -an 50.20.400 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs") -an 50.20.410 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc") -an 50.20.420 &Syntax.C.Cyn++ :cal SetSyn("cynpp") -an 50.20.430 &Syntax.C.Cynlib :cal SetSyn("cynlib") +an 50.20.170 &Syntax.C.Cdrdao\ config :cal SetSyn("cdrdaoconf") +an 50.20.180 &Syntax.C.Century\ Term :cal SetSyn("cterm") +an 50.20.190 &Syntax.C.CH\ script :cal SetSyn("ch") +an 50.20.200 &Syntax.C.ChangeLog :cal SetSyn("changelog") +an 50.20.210 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah") +an 50.20.220 &Syntax.C.CHILL :cal SetSyn("chill") +an 50.20.230 &Syntax.C.ChordPro :cal SetSyn("chordpro") +an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean") +an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl") +an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper") +an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake") +an 50.20.280 &Syntax.C.Cmusrc :cal SetSyn("cmusrc") +an 50.20.290 &Syntax.C.Cobol :cal SetSyn("cobol") +an 50.20.300 &Syntax.C.Coco/R :cal SetSyn("coco") +an 50.20.310 &Syntax.C.Cold\ Fusion :cal SetSyn("cf") +an 50.20.320 &Syntax.C.Conary\ Recipe :cal SetSyn("conaryrecipe") +an 50.20.330 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg") +an 50.20.340 &Syntax.C.Config.Configure\.in :cal SetSyn("config") +an 50.20.350 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf") +an 50.20.360 &Syntax.C.CRM114 :cal SetSyn("crm") +an 50.20.370 &Syntax.C.Crontab :cal SetSyn("crontab") +an 50.20.380 &Syntax.C.CSP :cal SetSyn("csp") +an 50.20.390 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh") +an 50.20.400 &Syntax.C.CUDA :cal SetSyn("cuda") +an 50.20.410 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl") +an 50.20.420 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim") +an 50.20.430 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs") +an 50.20.440 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc") +an 50.20.450 &Syntax.C.Cyn++ :cal SetSyn("cynpp") +an 50.20.460 &Syntax.C.Cynlib :cal SetSyn("cynlib") an 50.30.100 &Syntax.DE.D :cal SetSyn("d") an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog") an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol") an 50.30.130 &Syntax.DE.Debian.Debian\ Sources\.list :cal SetSyn("debsources") -an 50.30.140 &Syntax.DE.Desktop :cal SetSyn("desktop") -an 50.30.150 &Syntax.DE.Dict\ config :cal SetSyn("dictconf") -an 50.30.160 &Syntax.DE.Dictd\ config :cal SetSyn("dictdconf") -an 50.30.170 &Syntax.DE.Diff :cal SetSyn("diff") -an 50.30.180 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl") -an 50.30.190 &Syntax.DE.Dircolors :cal SetSyn("dircolors") -an 50.30.200 &Syntax.DE.Django\ template :cal SetSyn("django") -an 50.30.210 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("bindzone") -an 50.30.220 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk") -an 50.30.230 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml") -an 50.30.240 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml") -an 50.30.250 &Syntax.DE.Dot :cal SetSyn("dot") -an 50.30.260 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen") -an 50.30.270 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen") -an 50.30.280 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen") -an 50.30.290 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen") -an 50.30.300 &Syntax.DE.Dracula :cal SetSyn("dracula") -an 50.30.310 &Syntax.DE.DSSSL :cal SetSyn("dsl") -an 50.30.320 &Syntax.DE.DTD :cal SetSyn("dtd") -an 50.30.330 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml") -an 50.30.340 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan") -an 50.30.350 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr") -an 50.30.360 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid") -an 50.30.380 &Syntax.DE.EDIF :cal SetSyn("edif") -an 50.30.390 &Syntax.DE.Eiffel :cal SetSyn("eiffel") -an 50.30.400 &Syntax.DE.Elinks\ config :cal SetSyn("elinks") -an 50.30.410 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt") -an 50.30.420 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd") -an 50.30.430 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang") -an 50.30.440 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc") -an 50.30.450 &Syntax.DE.ESQL-C :cal SetSyn("esqlc") -an 50.30.460 &Syntax.DE.Essbase\ script :cal SetSyn("csc") -an 50.30.470 &Syntax.DE.Esterel :cal SetSyn("esterel") -an 50.30.480 &Syntax.DE.Eterm\ config :cal SetSyn("eterm") -an 50.30.490 &Syntax.DE.Eviews :cal SetSyn("eviews") -an 50.30.500 &Syntax.DE.Exim\ conf :cal SetSyn("exim") -an 50.30.510 &Syntax.DE.Expect :cal SetSyn("expect") -an 50.30.520 &Syntax.DE.Exports :cal SetSyn("exports") +an 50.30.140 &Syntax.DE.Denyhosts :cal SetSyn("denyhosts") +an 50.30.150 &Syntax.DE.Desktop :cal SetSyn("desktop") +an 50.30.160 &Syntax.DE.Dict\ config :cal SetSyn("dictconf") +an 50.30.170 &Syntax.DE.Dictd\ config :cal SetSyn("dictdconf") +an 50.30.180 &Syntax.DE.Diff :cal SetSyn("diff") +an 50.30.190 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl") +an 50.30.200 &Syntax.DE.Dircolors :cal SetSyn("dircolors") +an 50.30.210 &Syntax.DE.Django\ template :cal SetSyn("django") +an 50.30.220 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("bindzone") +an 50.30.230 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk") +an 50.30.240 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml") +an 50.30.250 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml") +an 50.30.260 &Syntax.DE.Dot :cal SetSyn("dot") +an 50.30.270 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen") +an 50.30.280 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen") +an 50.30.290 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen") +an 50.30.300 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen") +an 50.30.310 &Syntax.DE.Dracula :cal SetSyn("dracula") +an 50.30.320 &Syntax.DE.DSSSL :cal SetSyn("dsl") +an 50.30.330 &Syntax.DE.DTD :cal SetSyn("dtd") +an 50.30.340 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml") +an 50.30.350 &Syntax.DE.DTrace :cal SetSyn("dtrace") +an 50.30.360 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan") +an 50.30.370 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr") +an 50.30.380 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid") +an 50.30.400 &Syntax.DE.EDIF :cal SetSyn("edif") +an 50.30.410 &Syntax.DE.Eiffel :cal SetSyn("eiffel") +an 50.30.420 &Syntax.DE.Elinks\ config :cal SetSyn("elinks") +an 50.30.430 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt") +an 50.30.440 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd") +an 50.30.450 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang") +an 50.30.460 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc") +an 50.30.470 &Syntax.DE.ESQL-C :cal SetSyn("esqlc") +an 50.30.480 &Syntax.DE.Essbase\ script :cal SetSyn("csc") +an 50.30.490 &Syntax.DE.Esterel :cal SetSyn("esterel") +an 50.30.500 &Syntax.DE.Eterm\ config :cal SetSyn("eterm") +an 50.30.510 &Syntax.DE.Eviews :cal SetSyn("eviews") +an 50.30.520 &Syntax.DE.Exim\ conf :cal SetSyn("exim") +an 50.30.530 &Syntax.DE.Expect :cal SetSyn("expect") +an 50.30.540 &Syntax.DE.Exports :cal SetSyn("exports") an 50.40.100 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail") an 50.40.110 &Syntax.FG.FlexWiki :cal SetSyn("flexwiki") an 50.40.120 &Syntax.FG.Focus\ Executable :cal SetSyn("focexec") @@ -186,60 +191,67 @@ an 50.40.220 &Syntax.FG.Fvwm.Fvwm2\ configuration\ with\ M4 :cal SetSyn("fvwm2m4 an 50.40.240 &Syntax.FG.GDB\ command\ file :cal SetSyn("gdb") an 50.40.250 &Syntax.FG.GDMO :cal SetSyn("gdmo") an 50.40.260 &Syntax.FG.Gedcom :cal SetSyn("gedcom") -an 50.40.270 &Syntax.FG.Gkrellmrc :cal SetSyn("gkrellmrc") -an 50.40.280 &Syntax.FG.GP :cal SetSyn("gp") -an 50.40.290 &Syntax.FG.GPG :cal SetSyn("gpg") -an 50.40.300 &Syntax.FG.Group\ file :cal SetSyn("group") -an 50.40.310 &Syntax.FG.Grub :cal SetSyn("grub") -an 50.40.320 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp") -an 50.40.330 &Syntax.FG.GNUplot :cal SetSyn("gnuplot") -an 50.40.340 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads") -an 50.40.350 &Syntax.FG.Gretl :cal SetSyn("gretl") -an 50.40.360 &Syntax.FG.Groff :cal SetSyn("groff") -an 50.40.370 &Syntax.FG.Groovy :cal SetSyn("groovy") -an 50.40.380 &Syntax.FG.GTKrc :cal SetSyn("gtkrc") +an 50.40.270 &Syntax.FG.Git.Output :cal SetSyn("git") +an 50.40.280 &Syntax.FG.Git.Commit :cal SetSyn("gitcommit") +an 50.40.290 &Syntax.FG.Git.Config :cal SetSyn("gitconfig") +an 50.40.300 &Syntax.FG.Git.Rebase :cal SetSyn("gitrebase") +an 50.40.310 &Syntax.FG.Git.Send\ Email :cal SetSyn("gitsendemail") +an 50.40.320 &Syntax.FG.Gkrellmrc :cal SetSyn("gkrellmrc") +an 50.40.330 &Syntax.FG.GP :cal SetSyn("gp") +an 50.40.340 &Syntax.FG.GPG :cal SetSyn("gpg") +an 50.40.350 &Syntax.FG.Group\ file :cal SetSyn("group") +an 50.40.360 &Syntax.FG.Grub :cal SetSyn("grub") +an 50.40.370 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp") +an 50.40.380 &Syntax.FG.GNUplot :cal SetSyn("gnuplot") +an 50.40.390 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads") +an 50.40.400 &Syntax.FG.Gretl :cal SetSyn("gretl") +an 50.40.410 &Syntax.FG.Groff :cal SetSyn("groff") +an 50.40.420 &Syntax.FG.Groovy :cal SetSyn("groovy") +an 50.40.430 &Syntax.FG.GTKrc :cal SetSyn("gtkrc") an 50.50.100 &Syntax.HIJK.Hamster :cal SetSyn("hamster") an 50.50.110 &Syntax.HIJK.Haskell.Haskell :cal SetSyn("haskell") an 50.50.120 &Syntax.HIJK.Haskell.Haskell-c2hs :cal SetSyn("chaskell") an 50.50.130 &Syntax.HIJK.Haskell.Haskell-literate :cal SetSyn("lhaskell") -an 50.50.140 &Syntax.HIJK.Hercules :cal SetSyn("hercules") -an 50.50.150 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd") -an 50.50.160 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex") -an 50.50.170 &Syntax.HIJK.HTML.HTML :cal SetSyn("html") -an 50.50.180 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4") -an 50.50.190 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby") -an 50.50.200 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah") -an 50.50.210 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango") -an 50.50.220 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos") -an 50.50.230 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml") -an 50.50.240 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb") -an 50.50.260 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu") -an 50.50.270 &Syntax.HIJK.Icon :cal SetSyn("icon") -an 50.50.280 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl") -an 50.50.290 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl") -an 50.50.300 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent") -an 50.50.310 &Syntax.HIJK.Inform :cal SetSyn("inform") -an 50.50.320 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl") -an 50.50.330 &Syntax.HIJK.Initng :cal SetSyn("initng") -an 50.50.340 &Syntax.HIJK.Inittab :cal SetSyn("inittab") -an 50.50.350 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss") -an 50.50.360 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd") -an 50.50.370 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang") -an 50.50.380 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter") -an 50.50.400 &Syntax.HIJK.JAL :cal SetSyn("jal") -an 50.50.410 &Syntax.HIJK.JAM :cal SetSyn("jam") -an 50.50.420 &Syntax.HIJK.Jargon :cal SetSyn("jargon") -an 50.50.430 &Syntax.HIJK.Java.Java :cal SetSyn("java") -an 50.50.440 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc") -an 50.50.450 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp") -an 50.50.460 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties") -an 50.50.470 &Syntax.HIJK.JavaScript :cal SetSyn("javascript") -an 50.50.480 &Syntax.HIJK.Jess :cal SetSyn("jess") -an 50.50.490 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph") -an 50.50.510 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig") -an 50.50.520 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript") -an 50.50.530 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt") -an 50.50.540 &Syntax.HIJK.KixTart :cal SetSyn("kix") +an 50.50.140 &Syntax.HIJK.HASTE :cal SetSyn("haste") +an 50.50.150 &Syntax.HIJK.Hercules :cal SetSyn("hercules") +an 50.50.160 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd") +an 50.50.170 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex") +an 50.50.180 &Syntax.HIJK.HTML.HTML :cal SetSyn("html") +an 50.50.190 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4") +an 50.50.200 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby") +an 50.50.210 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah") +an 50.50.220 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango") +an 50.50.230 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos") +an 50.50.240 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml") +an 50.50.250 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf") +an 50.50.260 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb") +an 50.50.280 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu") +an 50.50.290 &Syntax.HIJK.Icon :cal SetSyn("icon") +an 50.50.300 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl") +an 50.50.310 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl") +an 50.50.320 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent") +an 50.50.330 &Syntax.HIJK.Inform :cal SetSyn("inform") +an 50.50.340 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl") +an 50.50.350 &Syntax.HIJK.Initng :cal SetSyn("initng") +an 50.50.360 &Syntax.HIJK.Inittab :cal SetSyn("inittab") +an 50.50.370 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss") +an 50.50.380 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd") +an 50.50.390 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang") +an 50.50.400 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter") +an 50.50.420 &Syntax.HIJK.JAL :cal SetSyn("jal") +an 50.50.430 &Syntax.HIJK.JAM :cal SetSyn("jam") +an 50.50.440 &Syntax.HIJK.Jargon :cal SetSyn("jargon") +an 50.50.450 &Syntax.HIJK.Java.Java :cal SetSyn("java") +an 50.50.460 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc") +an 50.50.470 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp") +an 50.50.480 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties") +an 50.50.490 &Syntax.HIJK.JavaScript :cal SetSyn("javascript") +an 50.50.500 &Syntax.HIJK.Jess :cal SetSyn("jess") +an 50.50.510 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph") +an 50.50.530 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig") +an 50.50.540 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript") +an 50.50.550 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt") +an 50.50.560 &Syntax.HIJK.KixTart :cal SetSyn("kix") an 50.60.100 &Syntax.L-Ma.Lace :cal SetSyn("lace") an 50.60.110 &Syntax.L-Ma.LamdaProlog :cal SetSyn("lprolog") an 50.60.120 &Syntax.L-Ma.Latte :cal SetSyn("latte") @@ -252,34 +264,35 @@ an 50.60.180 &Syntax.L-Ma.Libao :cal SetSyn("libao") an 50.60.190 &Syntax.L-Ma.LifeLines\ script :cal SetSyn("lifelines") an 50.60.200 &Syntax.L-Ma.Lilo :cal SetSyn("lilo") an 50.60.210 &Syntax.L-Ma.Limits\ config :cal SetSyn("limits") -an 50.60.220 &Syntax.L-Ma.Lisp :cal SetSyn("lisp") -an 50.60.230 &Syntax.L-Ma.Lite :cal SetSyn("lite") -an 50.60.240 &Syntax.L-Ma.LiteStep\ RC :cal SetSyn("litestep") -an 50.60.250 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc") -an 50.60.260 &Syntax.L-Ma.Login\.access :cal SetSyn("loginaccess") -an 50.60.270 &Syntax.L-Ma.Login\.defs :cal SetSyn("logindefs") -an 50.60.280 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk") -an 50.60.290 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos") -an 50.60.300 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript") -an 50.60.310 &Syntax.L-Ma.Lout :cal SetSyn("lout") -an 50.60.320 &Syntax.L-Ma.LPC :cal SetSyn("lpc") -an 50.60.330 &Syntax.L-Ma.Lua :cal SetSyn("lua") -an 50.60.340 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss") -an 50.60.350 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx") -an 50.60.370 &Syntax.L-Ma.M4 :cal SetSyn("m4") -an 50.60.380 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp") -an 50.60.390 &Syntax.L-Ma.Mail :cal SetSyn("mail") -an 50.60.400 &Syntax.L-Ma.Mail\ aliases :cal SetSyn("mailaliases") -an 50.60.410 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap") -an 50.60.420 &Syntax.L-Ma.Makefile :cal SetSyn("make") -an 50.60.430 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist") -an 50.60.440 &Syntax.L-Ma.Man\ page :cal SetSyn("man") -an 50.60.450 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf") -an 50.60.460 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple") -an 50.60.470 &Syntax.L-Ma.Mason :cal SetSyn("mason") -an 50.60.480 &Syntax.L-Ma.Mathematica :cal SetSyn("mma") -an 50.60.490 &Syntax.L-Ma.Matlab :cal SetSyn("matlab") -an 50.60.500 &Syntax.L-Ma.Maxima :cal SetSyn("maxima") +an 50.60.220 &Syntax.L-Ma.Linden\ scripting :cal SetSyn("lsl") +an 50.60.230 &Syntax.L-Ma.Lisp :cal SetSyn("lisp") +an 50.60.240 &Syntax.L-Ma.Lite :cal SetSyn("lite") +an 50.60.250 &Syntax.L-Ma.LiteStep\ RC :cal SetSyn("litestep") +an 50.60.260 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc") +an 50.60.270 &Syntax.L-Ma.Login\.access :cal SetSyn("loginaccess") +an 50.60.280 &Syntax.L-Ma.Login\.defs :cal SetSyn("logindefs") +an 50.60.290 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk") +an 50.60.300 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos") +an 50.60.310 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript") +an 50.60.320 &Syntax.L-Ma.Lout :cal SetSyn("lout") +an 50.60.330 &Syntax.L-Ma.LPC :cal SetSyn("lpc") +an 50.60.340 &Syntax.L-Ma.Lua :cal SetSyn("lua") +an 50.60.350 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss") +an 50.60.360 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx") +an 50.60.380 &Syntax.L-Ma.M4 :cal SetSyn("m4") +an 50.60.390 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp") +an 50.60.400 &Syntax.L-Ma.Mail :cal SetSyn("mail") +an 50.60.410 &Syntax.L-Ma.Mail\ aliases :cal SetSyn("mailaliases") +an 50.60.420 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap") +an 50.60.430 &Syntax.L-Ma.Makefile :cal SetSyn("make") +an 50.60.440 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist") +an 50.60.450 &Syntax.L-Ma.Man\ page :cal SetSyn("man") +an 50.60.460 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf") +an 50.60.470 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple") +an 50.60.480 &Syntax.L-Ma.Mason :cal SetSyn("mason") +an 50.60.490 &Syntax.L-Ma.Mathematica :cal SetSyn("mma") +an 50.60.500 &Syntax.L-Ma.Matlab :cal SetSyn("matlab") +an 50.60.510 &Syntax.L-Ma.Maxima :cal SetSyn("maxima") an 50.70.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel") an 50.70.110 &Syntax.Me-NO.Messages\ (/var/log) :cal SetSyn("messages") an 50.70.120 &Syntax.Me-NO.Metafont :cal SetSyn("mf") @@ -298,29 +311,30 @@ an 50.70.240 &Syntax.Me-NO.Mrxvtrc :cal SetSyn("mrxvtrc") an 50.70.250 &Syntax.Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file :cal SetSyn("btm") an 50.70.260 &Syntax.Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file :cal SetSyn("dosbatch") an 50.70.270 &Syntax.Me-NO.MS-DOS/Windows.\.ini\ file :cal SetSyn("dosini") -an 50.70.280 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def") -an 50.70.290 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry") -an 50.70.300 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc") -an 50.70.310 &Syntax.Me-NO.Msql :cal SetSyn("msql") -an 50.70.320 &Syntax.Me-NO.MuPAD :cal SetSyn("mupad") -an 50.70.330 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush") -an 50.70.340 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc") -an 50.70.360 &Syntax.Me-NO.Nanorc :cal SetSyn("nanorc") -an 50.70.370 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran") -an 50.70.380 &Syntax.Me-NO.Natural :cal SetSyn("natural") -an 50.70.390 &Syntax.Me-NO.Netrc :cal SetSyn("netrc") -an 50.70.400 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf") -an 50.70.410 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc") -an 50.70.420 &Syntax.Me-NO.Nroff :cal SetSyn("nroff") -an 50.70.430 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis") -an 50.70.450 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc") -an 50.70.460 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp") -an 50.70.470 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml") -an 50.70.480 &Syntax.Me-NO.Occam :cal SetSyn("occam") -an 50.70.490 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark") -an 50.70.500 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad") -an 50.70.510 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl") -an 50.70.520 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora") +an 50.70.280 &Syntax.Me-NO.MS-DOS/Windows.Message\ text :cal SetSyn("msmessages") +an 50.70.290 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def") +an 50.70.300 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry") +an 50.70.310 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc") +an 50.70.320 &Syntax.Me-NO.Msql :cal SetSyn("msql") +an 50.70.330 &Syntax.Me-NO.MuPAD :cal SetSyn("mupad") +an 50.70.340 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush") +an 50.70.350 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc") +an 50.70.370 &Syntax.Me-NO.Nanorc :cal SetSyn("nanorc") +an 50.70.380 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran") +an 50.70.390 &Syntax.Me-NO.Natural :cal SetSyn("natural") +an 50.70.400 &Syntax.Me-NO.Netrc :cal SetSyn("netrc") +an 50.70.410 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf") +an 50.70.420 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc") +an 50.70.430 &Syntax.Me-NO.Nroff :cal SetSyn("nroff") +an 50.70.440 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis") +an 50.70.460 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc") +an 50.70.470 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp") +an 50.70.480 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml") +an 50.70.490 &Syntax.Me-NO.Occam :cal SetSyn("occam") +an 50.70.500 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark") +an 50.70.510 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad") +an 50.70.520 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl") +an 50.70.530 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora") an 50.80.100 &Syntax.PQ.Packet\ filter\ conf :cal SetSyn("pf") an 50.80.110 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc") an 50.80.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf") @@ -328,7 +342,7 @@ an 50.80.130 &Syntax.PQ.PApp :cal SetSyn("papp") an 50.80.140 &Syntax.PQ.Pascal :cal SetSyn("pascal") an 50.80.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd") an 50.80.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts") -an 50.80.170 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz") +an 50.80.170 &Syntax.PQ.PDF :cal SetSyn("pdf") an 50.80.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl") an 50.80.190 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod") an 50.80.200 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs") @@ -346,19 +360,21 @@ an 50.80.310 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr") an 50.80.320 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd") an 50.80.330 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov") an 50.80.340 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini") -an 50.80.350 &Syntax.PQ.Prescribe\ (Kyocera) :cal SetSyn("prescribe") -an 50.80.360 &Syntax.PQ.Printcap :cal SetSyn("pcap") -an 50.80.370 &Syntax.PQ.Privoxy :cal SetSyn("privoxy") -an 50.80.380 &Syntax.PQ.Procmail :cal SetSyn("procmail") -an 50.80.390 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf") -an 50.80.400 &Syntax.PQ.Progress :cal SetSyn("progress") -an 50.80.410 &Syntax.PQ.Prolog :cal SetSyn("prolog") -an 50.80.420 &Syntax.PQ.Protocols :cal SetSyn("protocols") -an 50.80.430 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog") -an 50.80.440 &Syntax.PQ.Pyrex :cal SetSyn("pyrex") -an 50.80.450 &Syntax.PQ.Python :cal SetSyn("python") -an 50.80.470 &Syntax.PQ.Quake :cal SetSyn("quake") -an 50.80.480 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf") +an 50.80.350 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz") +an 50.80.360 &Syntax.PQ.Prescribe\ (Kyocera) :cal SetSyn("prescribe") +an 50.80.370 &Syntax.PQ.Printcap :cal SetSyn("pcap") +an 50.80.380 &Syntax.PQ.Privoxy :cal SetSyn("privoxy") +an 50.80.390 &Syntax.PQ.Procmail :cal SetSyn("procmail") +an 50.80.400 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf") +an 50.80.410 &Syntax.PQ.Progress :cal SetSyn("progress") +an 50.80.420 &Syntax.PQ.Prolog :cal SetSyn("prolog") +an 50.80.430 &Syntax.PQ.ProMeLa :cal SetSyn("promela") +an 50.80.440 &Syntax.PQ.Protocols :cal SetSyn("protocols") +an 50.80.450 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog") +an 50.80.460 &Syntax.PQ.Pyrex :cal SetSyn("pyrex") +an 50.80.470 &Syntax.PQ.Python :cal SetSyn("python") +an 50.80.490 &Syntax.PQ.Quake :cal SetSyn("quake") +an 50.80.500 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf") an 50.90.100 &Syntax.R-Sg.R.R :cal SetSyn("r") an 50.90.110 &Syntax.R-Sg.R.R\ help :cal SetSyn("rhelp") an 50.90.120 &Syntax.R-Sg.R.R\ noweb :cal SetSyn("rnoweb") @@ -374,35 +390,36 @@ an 50.90.210 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc") an 50.90.220 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl") an 50.90.230 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib") an 50.90.240 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv") -an 50.90.250 &Syntax.R-Sg.Rexx :cal SetSyn("rexx") -an 50.90.260 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots") -an 50.90.270 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc") -an 50.90.280 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen") -an 50.90.290 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl") -an 50.90.300 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst") -an 50.90.310 &Syntax.R-Sg.RTF :cal SetSyn("rtf") -an 50.90.320 &Syntax.R-Sg.Ruby :cal SetSyn("ruby") -an 50.90.340 &Syntax.R-Sg.S-Lang :cal SetSyn("slang") -an 50.90.350 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba") -an 50.90.360 &Syntax.R-Sg.SAS :cal SetSyn("sas") -an 50.90.370 &Syntax.R-Sg.Sather :cal SetSyn("sather") -an 50.90.380 &Syntax.R-Sg.Scheme :cal SetSyn("scheme") -an 50.90.390 &Syntax.R-Sg.Scilab :cal SetSyn("scilab") -an 50.90.400 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen") -an 50.90.410 &Syntax.R-Sg.SDL :cal SetSyn("sdl") -an 50.90.420 &Syntax.R-Sg.Sed :cal SetSyn("sed") -an 50.90.430 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm") -an 50.90.440 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr") -an 50.90.450 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors") -an 50.90.460 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf") -an 50.90.470 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg") -an 50.90.480 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi") -an 50.90.490 &Syntax.R-Sg.Services :cal SetSyn("services") -an 50.90.500 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial") -an 50.90.510 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog") -an 50.90.520 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml") -an 50.90.530 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl") -an 50.90.540 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx") +an 50.90.250 &Syntax.R-Sg.Reva\ Forth :cal SetSyn("reva") +an 50.90.260 &Syntax.R-Sg.Rexx :cal SetSyn("rexx") +an 50.90.270 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots") +an 50.90.280 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc") +an 50.90.290 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen") +an 50.90.300 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl") +an 50.90.310 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst") +an 50.90.320 &Syntax.R-Sg.RTF :cal SetSyn("rtf") +an 50.90.330 &Syntax.R-Sg.Ruby :cal SetSyn("ruby") +an 50.90.350 &Syntax.R-Sg.S-Lang :cal SetSyn("slang") +an 50.90.360 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba") +an 50.90.370 &Syntax.R-Sg.SAS :cal SetSyn("sas") +an 50.90.380 &Syntax.R-Sg.Sather :cal SetSyn("sather") +an 50.90.390 &Syntax.R-Sg.Scheme :cal SetSyn("scheme") +an 50.90.400 &Syntax.R-Sg.Scilab :cal SetSyn("scilab") +an 50.90.410 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen") +an 50.90.420 &Syntax.R-Sg.SDL :cal SetSyn("sdl") +an 50.90.430 &Syntax.R-Sg.Sed :cal SetSyn("sed") +an 50.90.440 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm") +an 50.90.450 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr") +an 50.90.460 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors") +an 50.90.470 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf") +an 50.90.480 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg") +an 50.90.490 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi") +an 50.90.500 &Syntax.R-Sg.Services :cal SetSyn("services") +an 50.90.510 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial") +an 50.90.520 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog") +an 50.90.530 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml") +an 50.90.540 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl") +an 50.90.550 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx") an 50.100.100 &Syntax.Sh-S.Shell\ script.sh\ and\ ksh :cal SetSyn("sh") an 50.100.110 &Syntax.Sh-S.Shell\ script.csh :cal SetSyn("csh") an 50.100.120 &Syntax.Sh-S.Shell\ script.tcsh :cal SetSyn("tcsh") @@ -456,7 +473,8 @@ an 50.100.590 &Syntax.Sh-S.Strace :cal SetSyn("strace") an 50.100.600 &Syntax.Sh-S.Streaming\ descriptor\ file :cal SetSyn("sd") an 50.100.610 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn") an 50.100.620 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers") -an 50.100.630 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl") +an 50.100.630 &Syntax.Sh-S.Symbian\ meta-makefile :cal SetSyn("mmp") +an 50.100.640 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl") an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads") an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags") an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp") @@ -498,8 +516,9 @@ an 50.110.490 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim") an 50.110.500 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo") an 50.110.510 &Syntax.TUV.Virata\ config :cal SetSyn("virata") an 50.110.520 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb") -an 50.110.530 &Syntax.TUV.VRML :cal SetSyn("vrml") -an 50.110.540 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl") +an 50.110.530 &Syntax.TUV.VOS\ CM\ macro :cal SetSyn("voscm") +an 50.110.540 &Syntax.TUV.VRML :cal SetSyn("vrml") +an 50.110.550 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl") an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb") an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web") an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change") @@ -517,16 +536,17 @@ an 50.120.260 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb") an 50.120.270 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm") an 50.120.280 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2") an 50.120.290 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults") -an 50.120.300 &Syntax.WXYZ.Xinetd\.conf :cal SetSyn("xinetd") -an 50.120.310 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap") -an 50.120.320 &Syntax.WXYZ.Xmath :cal SetSyn("xmath") -an 50.120.330 &Syntax.WXYZ.XML :cal SetSyn("xml") -an 50.120.340 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd") -an 50.120.350 &Syntax.WXYZ.XQuery :cal SetSyn("xquery") -an 50.120.360 &Syntax.WXYZ.Xslt :cal SetSyn("xslt") -an 50.120.370 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf") -an 50.120.390 &Syntax.WXYZ.YAML :cal SetSyn("yaml") -an 50.120.400 &Syntax.WXYZ.Yacc :cal SetSyn("yacc") +an 50.120.300 &Syntax.WXYZ.XBL :cal SetSyn("xbl") +an 50.120.310 &Syntax.WXYZ.Xinetd\.conf :cal SetSyn("xinetd") +an 50.120.320 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap") +an 50.120.330 &Syntax.WXYZ.Xmath :cal SetSyn("xmath") +an 50.120.340 &Syntax.WXYZ.XML :cal SetSyn("xml") +an 50.120.350 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd") +an 50.120.360 &Syntax.WXYZ.XQuery :cal SetSyn("xquery") +an 50.120.370 &Syntax.WXYZ.Xslt :cal SetSyn("xslt") +an 50.120.380 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf") +an 50.120.400 &Syntax.WXYZ.YAML :cal SetSyn("yaml") +an 50.120.410 &Syntax.WXYZ.Yacc :cal SetSyn("yacc") " The End Of The Syntax Menu diff --git a/runtime/tutor/Contents b/runtime/tutor/Contents deleted file mode 100644 index 97dc1b554..000000000 --- a/runtime/tutor/Contents +++ /dev/null @@ -1,23 +0,0 @@ -Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful - for editing programs and other plain ASCII text. Full Vi - compatibility and includes all Ex commands. Extra features - above Vi: Multilevel undo, multiple windows, syntax - highlighting, command line history, folding, improved command - line editing, command typeahead display, command to display - yank buffers, possibility to edit binary files, file name - stack, support for Manx QuickFix and other compiler's error - messages, shows current file name in window title, on-line - help, rectangular cut/paste, etc., etc., etc... - - Version 7.2a. Also runs under UNIX, MSDOS and other systems. - vim72art.tgz contains the documentation and syntax files. - vim72abin.tgz contains the binaries. - vim72asrc.tgz contains the sources. - Author: Bram Moolenaar et al. - - -Xxd Hex dumper and reader. Can be used to view files as hex, edit - them and write them back. Can also be used to patch files. - - Version 1.8 (1997 May 22) - Author: Juergen Weigert diff --git a/runtime/tutor/Contents.info b/runtime/tutor/Contents.info deleted file mode 100755 index 9e855c7e985538013037a50559046912fb9b3a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmZ{hze~eF9K~OMpblc)oCN7qTpYD3*ngl{p;2+^Pz2FI5DE&>1l)A$AUH|HL3sKt=BihKMO0}fSX1=f6*jB_Rmg}bPr}i@ zoY0QuMok_DdywT|Cv<> zg&KDGu$5|wc}y@`6UA%?T)*_sxevwcp$6M}pt{&&W{W?V2XLoy z{mHC4XuMF5*{G0YeloViE$bmQ6|=9rR=tK<2X!QK9hv3(JWLM@lwxKVU}@YNO)Pp$MXbAQUP@bKv4=!LCwq(57M? z)x{vF;L@pd^i)KMgQcNRr0w(FU4{;NkbL>>yFBvy@;(e2i1i3Th|$#te%c8wL?E%0_j8al@1Eev8~kXDxF4|^ATiWw{l$wqHUba<#<1++~?7I%=wl7nPms% zI%KJ4Gu5(YV2qgB*0C;_yHx#vV4OJ1OJ?S`eZoH%KO{4UIxzDN8`cgnoAkjnfI1cH zPiEPH`+^>`UPHnBq;FbRr2E*E%vyETxd5X9*b&SP$SmEKz~C^8DPp!^RKK)rgF%q~ X7B>WLQZf%tr6=Q=^m=@2dkua8!5s?G diff --git a/runtime/tutor/README_amibin.txt b/runtime/tutor/README_amibin.txt deleted file mode 100644 index 24b9ef2e1..000000000 --- a/runtime/tutor/README_amibin.txt +++ /dev/null @@ -1,12 +0,0 @@ -README_amibin.txt for version 7.2a of Vim: Vi IMproved. - -See "README.txt" for general information about Vim. -See "README_ami.txt" for installation instructions for the Amiga. -These files are in the runtime archive (vim60rt.tgz). - - -The Amiga "bin" archive contains the Vim executable for the Amiga. It was -compiled with "big" features. - -Postscript printing is not included to avoid requiring floating point -computations. diff --git a/runtime/tutor/README_amibin.txt.info b/runtime/tutor/README_amibin.txt.info deleted file mode 100755 index bdc3f028e2d518c5e86d6880d116b875a0685245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmZ{hF-XHe6oy~gq7Gu+oCI-cadEXO*jcDnXcSyJl!E9W2nB`H1O)dEqLV}%w5eK0 zb@3JvTsoDyc`72r!O~DD()Ri8u8W`#!q0zy?vd}$+aMS~W6VJq;`H=DkWM0dHHcg| zGWj(|Xcb1YT%Q@Uq@iEAG;tV!02l|&po(^iUcoy9un?<_BxxGII<5^?39D$vl}Fdn zzLM0QE~vbb(*E1kzHMqx3sg=E# diff --git a/runtime/tutor/README_amisrc.txt b/runtime/tutor/README_amisrc.txt deleted file mode 100644 index 8732efb66..000000000 --- a/runtime/tutor/README_amisrc.txt +++ /dev/null @@ -1,11 +0,0 @@ -README_amisrc.txt for version 7.2a of Vim: Vi IMproved. - -See "README.txt" for general information about Vim. -See "README_ami.txt" for installation instructions for the Amiga. -These files are in the runtime archive (vim60rt.tgz). - - -The Amiga source archive contains the files needed to compile Vim on the -Amiga. - -See "src/INSTALLami.txt" for instructions on how to compile Vim on the Amiga. diff --git a/runtime/tutor/README_amisrc.txt.info b/runtime/tutor/README_amisrc.txt.info deleted file mode 100755 index 476af9ac02f637cd652286d8a335468a58d51bb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmZ{hu}cC`9LIlmMm0pXH3eadxHJW6LH+|$fmhMuAVJhn1cJe$tf zE!`49i!_KsgI5uO4T*;!q5k^4_ihpDw|wvWzW09I=X>u%paG3mfeDC$A9}$@CxOdD z7<=9nN!MsSYY>QdN7@TLgt~HJqA&iLFSFP@;_YpwxK*NkU1?7`w-Dl9<80l(mXZ+m~MrI23Qv01%(4Twf*!L`M#21Otn+KqJ#0v3t+ZUd09FTV3+6hc7Vh%E9GJlbG21X=TydLO Z;HSUkFo7GF%mb0+cr2A%jcshLz%Qy~3#R}8 diff --git a/runtime/tutor/README_bindos.txt b/runtime/tutor/README_bindos.txt deleted file mode 100644 index 593a92554..000000000 --- a/runtime/tutor/README_bindos.txt +++ /dev/null @@ -1,19 +0,0 @@ -README_bindos.txt for version 7.2a of Vim: Vi IMproved. - -See "README.txt" for general information about Vim. -See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. -These files are in the runtime archive (vim70rt.zip). - - -There are several binary distributions of Vim for the PC. You would normally -pick only one of them, but it's also possible to install several. -These ones are available (the version number may differ): - vim70d16.zip 16 bit DOS version - vim70d32.zip 32 bit DOS version - vim70w32.zip Windows 95/98/NT/etc. console version - gvim70.zip Windows 95/98/NT/etc. GUI version - gvim70ole.zip Windows 95/98/NT/etc. GUI version with OLE - gvim70_s.zip Windows 3.1 GUI version - -You MUST also get the runtime archive (vim70rt.zip). -The sources are also available (vim70src.zip). diff --git a/runtime/tutor/README_dos.txt b/runtime/tutor/README_dos.txt deleted file mode 100644 index f4818b8a2..000000000 --- a/runtime/tutor/README_dos.txt +++ /dev/null @@ -1,154 +0,0 @@ -README_dos.txt for version 7.2a of Vim: Vi IMproved. - -This file explains the installation of Vim on MS-DOS and MS-Windows systems. -See "README.txt" for general information about Vim. - -There are two ways to install Vim: -A. Use the self-installing .exe file. -B. Unpack .zip files and run the install.exe program. - - -A. Using the self-installing .exe ---------------------------------- - -This is mostly self-explaining. Just follow the prompts and make the -selections. A few things to watch out for: - -- When an existing installation is detected, you are offered to first remove - this. The uninstall program is then started while the install program waits - for it to complete. Sometimes the windows overlap each other, which can be - confusing. Be sure the complete the uninstalling before continuing the - installation. Watch the taskbar for uninstall windows. - -- When selecting a directory to install Vim, use the same place where other - versions are located. This makes it easier to find your _vimrc file. For - example "C:\Program Files\vim" or "D:\vim". A name ending in "vim" is - preferred. - -- After selecting the directory where to install Vim, clicking on "Next" will - start the installation. - - -B. Using .zip files -------------------- - -These are the normal steps to install Vim from the .zip archives: - -1. Go to the directory where you want to put the Vim files. Examples: - cd C:\ - cd D:\editors - If you already have a "vim" directory, go to the directory in which it is - located. Check the $VIM setting to see where it points to: - set VIM - For example, if you have - C:\vim\vim54 - do - cd C:\ - Binary and runtime Vim archives are normally unpacked in the same location, - on top of each other. - -2. Unpack the zip archives. This will create a new directory "vim\vim70", - in which all the distributed Vim files are placed. Since the directory - name includes the version number, it is unlikely that you overwrite - existing files. - Examples: - pkunzip -d gvim70.zip - unzip vim70w32.zip - - You need to unpack the runtime archive and at least one of the binary - archives. When using more than one binary version, be careful not to - overwrite one version with the other, the names of the executables - "vim.exe" and "gvim.exe" are the same. - - After you unpacked the files, you can still move the whole directory tree - to another location. That is where they will stay, the install program - won't move or copy the runtime files. - - Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to - run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP - archive and follow the instructions in the documentation. - -3. Change to the new directory: - cd vim\vim70 - Run the "install.exe" program. It will ask you a number of questions about - how you would like to have your Vim setup. Among these are: - - You can tell it to write a "_vimrc" file with your preferences in the - parent directory. - - It can also install an "Edit with Vim" entry in the Windows Explorer - popup menu. - - You can have it create batch files, so that you can run Vim from the - console or in a shell. You can select one of the directories in your - $PATH. If you skip this, you can add Vim to the search path manually: - The simplest is to add a line to your autoexec.bat. Examples: - set path=%path%;C:\vim\vim70 - set path=%path%;D:\editors\vim\vim70 - - Create entries for Vim on the desktop and in the Start menu. - -That's it! - - -Remarks: - -- If Vim can't find the runtime files, ":help" won't work and the GUI version - won't show a menubar. Then you need to set the $VIM environment variable to - point to the top directory of your Vim files. Example: - set VIM=C:\editors\vim - Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime - files in $VIM/vim70. See ":help $VIM" for more information. - -- To avoid confusion between distributed files of different versions and your - own modified vim scripts, it is recommended to use this directory layout: - ("C:\vim" is used here as the root, replace it with the path you use) - Your own files: - C:\vim\_vimrc Your personal vimrc. - C:\vim\_viminfo Dynamic info for 'viminfo'. - C:\vim\vimfiles\ftplugin\*.vim Filetype plugins - C:\vim\... Other files you made. - Distributed files: - C:\vim\vim70\vim.exe The Vim version 6.0 executable. - C:\vim\vim70\doc\*.txt The version 6.0 documentation files. - C:\vim\vim70\bugreport.vim A Vim version 6.0 script. - C:\vim\vim70\... Other version 6.0 distributed files. - In this case the $VIM environment variable would be set like this: - set VIM=C:\vim - Then $VIMRUNTIME will automatically be set to "$VIM\vim70". Don't add - "vim70" to $VIM, that won't work. - -- You can put your Vim executable anywhere else. If the executable is not - with the other Vim files, you should set $VIM. The simplest is to add a line - to your autoexec.bat. Examples: - set VIM=c:\vim - set VIM=d:\editors\vim - -- If you have told the "install.exe" program to add the "Edit with Vim" menu - entry, you can remove it by running the "uninstal.exe". See - ":help win32-popup-menu". - -- In Windows 95/98/NT you can create a shortcut to Vim. This works for all - DOS and Win32 console versions. For the console version this gives you the - opportunity to set defaults for the Console where Vim runs in. - - 1. On the desktop, click right to get a menu. Select New/Shortcut. - 2. In the dialog, enter Command line: "C:\command.com". Click "Next". - 3. Enter any name. Click "Finish". - The new shortcut will appear on the desktop. - 4. With the mouse pointer on the new shortcut, click right to get a menu. - Select Properties. - 5. In the Program tab, change the "Cmdline" to add "/c" and the name of the - Vim executable. Examples: - C:\command.com /c C:\vim\vim70\vim.exe - C:\command.com /c D:\editors\vim\vim70\vim.exe - 6. Select the font, window size, etc. that you like. If this isn't - possible, select "Advanced" in the Program tab, and deselect "MS-DOS - mode". - 7. Click OK. - - For gvim, you can use a normal shortcut on the desktop, and set the size of - the Window in your $VIM/_gvimrc: - set lines=30 columns=90 - - -For further information, type one of these inside Vim: - :help dos - :help msdos - :help win32 diff --git a/runtime/tutor/README_extra.txt b/runtime/tutor/README_extra.txt deleted file mode 100644 index 660b502da..000000000 --- a/runtime/tutor/README_extra.txt +++ /dev/null @@ -1,61 +0,0 @@ -README_extra.txt for version 7.2a of Vim: Vi IMproved. - -The extra archive of Vim is to be used in combination with the source archive -(vim-7.0-src.tar.gz). The extra archive is useless without it. - -For more information, see the "README.txt" file that comes with the runtime -archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime -archive too! - -The extra archive plus the source and runtime achives make up the complete -sources of Vim for all systems. - - -Some of the things that the extra archive contains: - -Farsi Files for the Farsi (persian) language. If you don't know - what Farsi is, this is not for you. - -if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is - not for you. - -os_amiga Files for the Amiga port. - -gui_riscos -os_riscos Files for the RISC OS port. - -gui_beos -os_beos Files for the BeOS port. - -os_msdos -os_dos Files for the MS-DOS port. - -gui_mac -os_mac Files for the Mac port. - -os_mint Files for the Atari Mint port. - -os_os2 Files for the OS/2 port. -tee Extra program for OS/2. - -os_vms Files for the VMS port. - -os_w32 -os_win32 Files for the Win32 port. - -gui_w32 Files for the Win32 GUI. -gui_w48 Files for the Win32 and Win16 GUI. -Make_mvc.mak MS Visual C++ makefile for the Win32 GUI. -rgb.txt File with color definitions for the Win32 GUI. - -if_ole OLE automation interface, for MS Windows 95 and NT. - -VisVim Integration of Win32 GUI with MS Visual Developer Studio. - -GvimExt DLL for the "Edit with Vim" context menu entry - -nsis NSIS script to build the self-installing MS-Windows exe - -*.man Preprocessed manual pages. - -file_select.vim Vim script to browse directories (Unix only). diff --git a/runtime/tutor/README_lang.txt b/runtime/tutor/README_lang.txt deleted file mode 100644 index 9df9f7609..000000000 --- a/runtime/tutor/README_lang.txt +++ /dev/null @@ -1,5 +0,0 @@ -README_lang.txt for version 7.2a of Vim: Vi IMproved. - -This file contains files for non-English languages: -- Translated messages. -- Translated menus. diff --git a/runtime/tutor/README_mac.txt b/runtime/tutor/README_mac.txt deleted file mode 100644 index 796ad0162..000000000 --- a/runtime/tutor/README_mac.txt +++ /dev/null @@ -1,8 +0,0 @@ -README_mac.txt for version 7.2a of Vim: Vi IMproved. - -This file explains the installation of Vim on Macintosh systems. -See "README.txt" for general information about Vim. - - -Sorry, this text still needs to be written! - diff --git a/runtime/tutor/README_ole.txt b/runtime/tutor/README_ole.txt deleted file mode 100644 index 8112136c5..000000000 --- a/runtime/tutor/README_ole.txt +++ /dev/null @@ -1,20 +0,0 @@ -README_ole.txt for version 7.2a of Vim: Vi IMproved. - -This archive contains gvim.exe with OLE interface and VisVim. -This version of gvim.exe can also load a number of interface dynamically (you -can optionally install the .dll files for each interface). -It is only for MS-Windows 95/98/ME/NT/2000/XP. - -Also see the README_bindos.txt, README_dos.txt and README.txt files. - -Be careful not to overwrite the OLE gvim.exe with the non-OLE gvim.exe when -unpacking another binary archive! Check the output of ":version": - Win32s - "MS-Windows 16/32 bit GUI version" - Win32 - "MS-Windows 32 bit GUI version" -Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support" - -For further information, type this inside Vim: - :help if_ole - -Futhermore, this archive contains VISVIM.DLL. It can be used to integrate -the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt. diff --git a/runtime/tutor/README_os2.txt b/runtime/tutor/README_os2.txt deleted file mode 100644 index a9e0a4299..000000000 --- a/runtime/tutor/README_os2.txt +++ /dev/null @@ -1,58 +0,0 @@ -README_os2.txt for version 7.2a of Vim: Vi IMproved. - -This file explains the installation of Vim on OS/2 systems. -See "README.txt" for general information about Vim. - - -NOTE: You will need two archives: - vim71rt.zip contains the runtime files (same as for the PC version) - vim71os2.zip contains the OS/2 executables - -1. Go to the directory where you want to put the Vim files. Examples: - cd C:\ - cd D:\editors - -2. Unpack the zip archives. This will create a new directory "vim/vim71", - in which all the distributed Vim files are placed. Since the directory - name includes the version number, it is unlikely that you overwrite - existing files. - Examples: - pkunzip -d vim71os2.zip - unzip vim71os2.zip - - After you unpacked the files, you can still move the whole directory tree - to another location. - -3. Add the directory where vim.exe is to your path. The simplest is to add a - line to your autoexec.bat. Examples: - set path=%path%;C:\vim\vim71 - set path=%path%;D:\editors\vim\vim71 - -That's it! - - -Extra remarks: - -- To avoid confusion between distributed files of different versions and your - own modified vim scripts, it is recommended to use this directory layout: - ("C:\vim" is used here as the root, replace with the path you use) - Your own files: - C:\vim\_vimrc Your personal vimrc. - C:\vim\_viminfo Dynamic info for 'viminfo'. - C:\vim\... Other files you made. - Distributed files: - C:\vim\vim71\vim.exe The Vim version 7.1 executable. - C:\vim\vim71\doc\*.txt The version 7.1 documentation files. - C:\vim\vim71\bugreport.vim A Vim version 7.1 script. - C:\vim\vim71\... Other version 7.1 distributed files. - In this case the $VIM environment variable would be set like this: - set VIM=C:\vim - -- You can put your Vim executable anywhere else. If the executable is not - with the other distributed Vim files, you should set $VIM. The simplest is - to add a line to your autoexec.bat. Examples: - set VIM=c:\vim - set VIM=d:\editors\vim - -For further information, type this inside Vim: - :help os2 diff --git a/runtime/tutor/README_os390.txt b/runtime/tutor/README_os390.txt deleted file mode 100644 index 0ce9dd879..000000000 --- a/runtime/tutor/README_os390.txt +++ /dev/null @@ -1,130 +0,0 @@ -README_os_390.txt for version 7.2a of Vim: Vi IMproved. - -Welcome to the OS/390 Unix port of VIM. - -ATTENTION: THIS IS AN _ALPHA_ VERSION!!! -I expect you to know how to handle alpha software! - -This port was done by Ralf Schandl . -This port is not maintained or supported by IBM!! - - -For the list of changes see runtime/doc/os_390.txt. - - -Compiling: ----------- - -Note: After the file configure was created via autoconf, it had been - handedited, to make the test for ICEConnectionNumber work. - DO NOT run autoconf again! - -Without X11: - -If you build VIM without X11 support, compiling and building is nearly -straightforward. The only restriction is, that you can't call make from the -VIM toplevel directory. Change to the src directory first and call make from -there. Here is a what to do: - - # Don't use c89! - # Make additional symbols visible. - # Allow intermixing of compiler options and files. - - $ export CC=cc - $ export CFLAGS=-D_ALL_SOURCE - $ export _CC_CCMODE=1 - $./configure --enable-max-features --without-x --enable-gui=no - $ cd src - $ make - $ make test - - Note: Test 28 will be reported as failed. This is because diff can't - compare files containing '\0' characters. Test 11 will fail if you - don't have gzip. - - $ make install - - -With X11: - -There are two ways for building VIM with X11 support. The first way is simple -and results in a big executable (~13 Mb), the second needs a few additional -steps and results in a much smaller executable (~4.5 Mb). This examples assume -you want Motif. - - The easy way: - $ export CC=cc - $ export CFLAGS="-D_ALL_SOURCE -W c,dll" - $ export LDFLAGS="-W l,dll" - $ export _CC_CCMODE=1 - $ ./configure --enable-max-features --enable-gui=motif - $ cd src - $ make - - With this VIM is linked statically with the X11 libraries. - - The smarter way: - Make VIM as described above. Then create a file named 'link.sed' with the - following contense: - - s/-lXext *//g - s/-lXmu *//g - s/-lXm */\/usr\/lib\/Xm.x /g - s/-lX11 */\/usr\/lib\/X11.x /g - s/-lXt *//g - s/-lSM */\/usr\/lib\/SM.x /g - s/-lICE */\/usr\/lib\/ICE.x /g - - Then do: - $ rm vim - $ make - - Now Vim is linked with the X11-DLLs. - - See the Makefile and the file link.sh on how link.sed is used. - - -Hint: ------ -Use the online help! (See weaknesses below.) - -Example: -Enter ':help syntax' and then press several times, you will switch -through all help items containing 'syntax'. Press on the one you are -interested at. Or press and you will get a list of all items printed -that contain 'syntax'. - -The helpfiles contains cross-references. Links are between '|'. Position the -cursor on them and press to follow this link. Use to jump -back. - -Known weaknesses: ------------------ - -- You can't call make from the toplevel directory, you have to do a 'cd src' - first. If you do it, make will call configure again. I don't know why and - didn't investigate it, there were more important things to do. If you can - make it work drop me a note. - -- The documentation was not updated for this alpha release. It contains lot of - ASCII dependencies, especially in examples. - -- Digraphs are dependent on code page 1047. Digraphs are used to enter - characters that normally cannot be entered by an ordinary keyboard. - See ":help digraphs". - -- Using 'ga' to show the code of the character under the cursor shows the - correct dec/hex/oct values, but the other informations might be missing or - wrong. - -- The sed syntax file doesn't work, it is ASCII dependent. - -Bugs: ------ -If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram -Moolenaar. It's most likely a bug I introduced during porting or some ASCII -dependency I didn't notice. - -Feedback: ---------- -Feedback welcome! Just drop me a note. diff --git a/runtime/tutor/README_src.txt b/runtime/tutor/README_src.txt deleted file mode 100644 index 7079f3e06..000000000 --- a/runtime/tutor/README_src.txt +++ /dev/null @@ -1,10 +0,0 @@ -README_src.txt for version 7.2a of Vim: Vi IMproved. - -The source archive contains the files needed to compile Vim on Unix systems. -It is packed for Unix systems (NL line separator). It is also used for other -systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the -"extra" directory of ftp.vim.org). - -For more information, see the README.txt file that comes with the runtime -archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime -archive too! diff --git a/runtime/tutor/README_srcdos.txt b/runtime/tutor/README_srcdos.txt deleted file mode 100644 index ef78029c6..000000000 --- a/runtime/tutor/README_srcdos.txt +++ /dev/null @@ -1,12 +0,0 @@ -README_srcdos.txt for version 7.2a of Vim: Vi IMproved. - -See "README.txt" for general information about Vim. -See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. -These files are in the runtime archive (vim70rt.zip). - - -The DOS source archive contains the files needed to compile Vim on MS-DOS or -MS-Windows. It is packed for DOS systems, with CR-LF. It also includes the -VisVim sources. - -See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC. diff --git a/runtime/tutor/README_unix.txt b/runtime/tutor/README_unix.txt deleted file mode 100644 index 5338cb16e..000000000 --- a/runtime/tutor/README_unix.txt +++ /dev/null @@ -1,10 +0,0 @@ -README_unix.txt for version 7.2a of Vim: Vi IMproved. - -This file explains the installation of Vim on Unix systems. -See "README.txt" for general information about Vim. - - -When you use the source distribution, "make install" is used to install Vim. -See the "INSTALL" file in the "src" directory. - -If you use a compiled package, follow the instructions for the package. diff --git a/runtime/tutor/README_vms.txt b/runtime/tutor/README_vms.txt deleted file mode 100644 index d51339e9f..000000000 --- a/runtime/tutor/README_vms.txt +++ /dev/null @@ -1,48 +0,0 @@ -README_vms.txt for version 7.2a of Vim: Vi IMproved. - -This file explains the installation of Vim on VMS systems. -See "README.txt" in the runtime archive for information about Vim. - - -Most information can be found in the on-line documentation. Use ":help vms" -inside Vim. Or get the runtime files and read runtime/doc/os_vms.txt to find -out how to install and configure Vim with runtime files etc. - -To compile Vim yourself you need three archives: - vim-X.X-rt.tar.gz runtime files - vim-X.X-src.tar.gz source files - vim-X.X-extra.tar.gz extra source files - -Compilation is recommended, in order to make sure that the correct -libraries are used for your specific system. Read about compiling in -src/INSTALLvms.txt. - -To use the binary version, you need one of these archives: - - vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables - vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables - vim-XX-exe-ia64-term.zip IA64 console executables - vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables - vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables - vim-XX-exe-axp-term.zip Alpha console executables - vim-XX-exe-vax-gui.zip VAX GUI executables - vim-XX-exe-vax-term.zip VAX console executables - -and of course - vim-XX-runtime.zip runtime files - -The binary archives contain: vim.exe, ctags.exe, xxd.exe files, -but there are also prepared "deploy ready" archives: - -vim-XX-ia64.zip GUI and console executables with runtime and - help files for IA64 systems -vim-XX-axp.zip GUI and console executables with runtime and - help files for Alpha systems -vim-XX-vax.zip GUI and console executables with runtime and - help files for VAX systems - -GTK builds need LIBGTK library installed. - -These executables and up to date patches for OpenVMS system are downloadable -from http://www.polarhome.com/vim/ or ftp://ftp.polarhome.com/pub/vim/ - diff --git a/runtime/tutor/README_w32s.txt b/runtime/tutor/README_w32s.txt deleted file mode 100644 index 1b9774d36..000000000 --- a/runtime/tutor/README_w32s.txt +++ /dev/null @@ -1,15 +0,0 @@ -README_w32s.txt for version 7.2a of Vim: Vi IMproved. - -This archive contains the gvim.exe that was specifically compiled for use in -the Win32s subsystem in MS-Windows 3.1 and 3.11. - -Also see the README_bindos.txt, README_dos.txt and README.txt files. - -Be careful not to overwrite the Win32s gvim.exe with the another gvim.exe when -unpacking another binary archive! Check the output of ":version": - Win32s - "MS-Windows 16/32 bit GUI version" - Win32 - "MS-Windows 32 bit GUI version" -Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support" - -For further information, type this inside Vim: - :help win32s diff --git a/runtime/tutor/Vim.info b/runtime/tutor/Vim.info deleted file mode 100755 index 5c465ffab394d442dfdd993dfe5f013d3b5e9b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmZvYOG*SW5J0QVpbG=>2r~14uSNU!n8K?Z(w_eX(-r^iugiYD9%U~VGQGWrvnlC% zD+MOAKAUOe+C>TsCK8jInv|eoHe^VHEvyt$@E%f|6PFfX3)T`OQcEMI+UQL@gUxt` zjnp*sn9cBW^B^vuSMn?*ue*7j5@Rf0hn^x?Moo!#8l{vht!^}Rk#3q*v(!#F@uVLd zNZsaMU(DIo+p-UO>%%8RH&#Pr51Fsqi5arYmI;AF=>+!12H}j^Sv+HwlhR(u^4SWj zKu?BNvy3pCLQT~ay%etpsqJx)P8X_^v1!ITa3OBx)^_#`t}mP3H;SC6S|0x%mk;+( JkI!z}{QyU~yLA8n diff --git a/runtime/tutor/Xxd.info b/runtime/tutor/Xxd.info deleted file mode 100755 index 7ae7643b25e69ee613c1d72818a484f66f1d5e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 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 diff --git a/runtime/tutor/runtime.info b/runtime/tutor/runtime.info deleted file mode 100755 index 6ff0468eab38e1b66da2e7983855f7a7b24cc0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcma)&u}VWR6o&uYii<535p=uQ4(gL27LqT+?Tj_?52ym z&m;anU$;oOP1~MGZ&_@%Syf^5s_IaNAOblZNlim64!S0gR zPoBp(db#zQgaKw*3-?5_$*^N_I2j3}v)A;igdqyz5pIrhA6slOj}MKg`1L}IxxPYA zGdYtSz~ldPt_F4#iEN?(G({vtdQbE$R9l*pCkLD;(d*T9AhC0{)|a-Emw#lcT8yFJ z`OWYB7Fuho;4x)|wmxu8oc%+i3b{I%Y@z_)`_)_c&81J*iQG)I4|3!#h2CJSYV~4K Rx^*4XlRw4$>~}*C{{l`Y9Si^f diff --git a/runtime/tutor/runtime/bugreport.vim b/runtime/tutor/runtime/bugreport.vim deleted file mode 100644 index f0c045e6c..000000000 --- a/runtime/tutor/runtime/bugreport.vim +++ /dev/null @@ -1,88 +0,0 @@ -:" Use this script to create the file "bugreport.txt", which contains -:" information about the environment of a possible bug in Vim. -:" -:" Maintainer: Bram Moolenaar -:" Last change: 2005 Jun 12 -:" -:" To use inside Vim: -:" :so $VIMRUNTIME/bugreport.vim -:" Or, from the command line: -:" vim -s $VIMRUNTIME/bugreport.vim -:" -:" The "if 1" lines are to avoid error messages when expression evaluation is -:" not compiled in. -:" -:if 1 -: let more_save = &more -:endif -:set nomore -:if has("unix") -: !echo "uname -a" >bugreport.txt -: !uname -a >>bugreport.txt -:endif -:redir >>bugreport.txt -:version -:if 1 -: func CheckDir(n) -: if isdirectory(a:n) -: echo 'directory "' . a:n . '" exists' -: else -: echo 'directory "' . a:n . '" does NOT exist' -: endif -: endfun -: func CheckFile(n) -: if filereadable(a:n) -: echo '"' . a:n . '" is readable' -: else -: echo '"' . a:n . '" is NOT readable' -: endif -: endfun -: echo "--- Directories and Files ---" -: echo '$VIM = "' . $VIM . '"' -: call CheckDir($VIM) -: echo '$VIMRUNTIME = "' . $VIMRUNTIME . '"' -: call CheckDir($VIMRUNTIME) -: call CheckFile(&helpfile) -: call CheckFile(fnamemodify(&helpfile, ":h") . "/tags") -: call CheckFile($VIMRUNTIME . "/menu.vim") -: call CheckFile($VIMRUNTIME . "/filetype.vim") -: call CheckFile($VIMRUNTIME . "/syntax/synload.vim") -: delfun CheckDir -: delfun CheckFile -: echo "--- Scripts sourced ---" -: scriptnames -:endif -:set all -:set termcap -:if has("autocmd") -: au -:endif -:if 1 -: echo "--- Normal/Visual mode mappings ---" -:endif -:map -:if 1 -: echo "--- Insert/Command-line mode mappings ---" -:endif -:map! -:if 1 -: echo "--- Abbreviations ---" -:endif -:ab -:if 1 -: echo "--- Highlighting ---" -:endif -:highlight -:if 1 -: echo "--- Variables ---" -:endif -:if 1 -: let -:endif -:redir END -:set more& -:if 1 -: let &more = more_save -: unlet more_save -:endif -:e bugreport.txt diff --git a/runtime/tutor/runtime/delmenu.vim b/runtime/tutor/runtime/delmenu.vim deleted file mode 100644 index 81df87d34..000000000 --- a/runtime/tutor/runtime/delmenu.vim +++ /dev/null @@ -1,25 +0,0 @@ -" This Vim script deletes all the menus, so that they can be redefined. -" Warning: This also deletes all menus defined by the user! -" -" Maintainer: Bram Moolenaar -" Last Change: 2001 May 27 - -aunmenu * - -silent! unlet did_install_default_menus -silent! unlet did_install_syntax_menu -if exists("did_menu_trans") - menutrans clear - unlet did_menu_trans -endif - -silent! unlet find_help_dialog - -silent! unlet menutrans_help_dialog -silent! unlet menutrans_path_dialog -silent! unlet menutrans_tags_dialog -silent! unlet menutrans_textwidth_dialog -silent! unlet menutrans_fileformat_dialog -silent! unlet menutrans_no_file - -" vim: set sw=2 : diff --git a/runtime/tutor/runtime/doc.info b/runtime/tutor/runtime/doc.info deleted file mode 100755 index a836031ee043e8f7a60249a7578cd1e7ad978b55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcma)&ze)r#5XQfpe-IRI@da+V<{H7)LRq=a%1Uf31s@}ez57S?%pm@Z08Z;F`dw{wCU*{z(_ga>|W zm|YCID;&8eR3a)HVcRpiP)5186HndFR6&itypf}GY|`TD+m#$rI5aW!E%q%lA!z}w z|I>jP=%_OJObMh$Pw43*)3Z|Nwc=lt8XH3Z diff --git a/runtime/tutor/runtime/evim.vim b/runtime/tutor/runtime/evim.vim deleted file mode 100644 index 754729048..000000000 --- a/runtime/tutor/runtime/evim.vim +++ /dev/null @@ -1,66 +0,0 @@ -" Vim script for Evim key bindings -" Maintainer: Bram Moolenaar -" Last Change: 2006 Mar 29 - -" Don't use Vi-compatible mode. -set nocompatible - -" Use the mswin.vim script for most mappings -source :p:h/mswin.vim - -" Vim is in Insert mode by default -set insertmode - -" Make a buffer hidden when editing another one -set hidden - -" Make cursor keys ignore wrapping -inoremap =pumvisible() ? "\Down>" : "\C-O>gj" -inoremap =pumvisible() ? "\Up>" : "\C-O>gk" - -" CTRL-F does Find dialog instead of page forward -noremap :promptfind -vnoremap y:promptfind " -onoremap :promptfind -inoremap :promptfind -cnoremap :promptfind - - -set backspace=2 " allow backspacing over everything in insert mode -set autoindent " always set autoindenting on -if has("vms") - set nobackup " do not keep a backup file, use versions instead -else - set backup " keep a backup file -endif -set history=50 " keep 50 lines of command line history -set ruler " show the cursor position all the time -set incsearch " do incremental searching -set mouse=a " always use the mouse - -" Don't use Ex mode, use Q for formatting -map Q gq - -" Switch syntax highlighting on, when the terminal has colors -" Highlight the last used search pattern on the next search command. -if &t_Co > 2 || has("gui_running") - syntax on - set hlsearch - nohlsearch -endif - -" Only do this part when compiled with support for autocommands. -if has("autocmd") - - " Enable file type detection. - " Use the default filetype settings, so that mail gets 'tw' set to 72, - " 'cindent' is on in C files, etc. - " Also load indent files, to automatically do language-dependent indenting. - filetype plugin indent on - - " For all text files set 'textwidth' to 78 characters. - au FileType text setlocal tw=78 - -endif " has("autocmd") - -" vim: set sw=2 : diff --git a/runtime/tutor/runtime/filetype.vim b/runtime/tutor/runtime/filetype.vim deleted file mode 100644 index 89af04cce..000000000 --- a/runtime/tutor/runtime/filetype.vim +++ /dev/null @@ -1,2412 +0,0 @@ -" Vim support file to detect file types -" -" Maintainer: Bram Moolenaar -" Last Change: 2008 Jun 20 - -" Listen very carefully, I will say this only once -if exists("did_load_filetypes") - finish -endif -let did_load_filetypes = 1 - -" Line continuation is used here, remove 'C' from 'cpoptions' -let s:cpo_save = &cpo -set cpo&vim - -augroup filetypedetect - -" Ignored extensions -if exists("*fnameescape") -au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.rpmsave,?\+.rpmnew - \ exe "doau filetypedetect BufRead " . fnameescape(expand(":r")) -au BufNewFile,BufRead *~ - \ let s:name = expand("") | - \ let s:short = substitute(s:name, '\~$', '', '') | - \ if s:name != s:short && s:short != "" | - \ exe "doau filetypedetect BufRead " . fnameescape(s:short) | - \ endif | - \ unlet s:name s:short -au BufNewFile,BufRead ?\+.in - \ if expand(":t") != "configure.in" | - \ exe "doau filetypedetect BufRead " . fnameescape(expand(":r")) | - \ endif -elseif &verbose > 0 - echomsg "Warning: some filetypes will not be recognized because this version of Vim does not have fnameescape()" -endif - -" Pattern used to match file names which should not be inspected. -" Currently finds compressed files. -if !exists("g:ft_ignore_pat") - let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$' -endif - -" Function used for patterns that end in a star: don't set the filetype if the -" file name matches ft_ignore_pat. -func! s:StarSetf(ft) - if expand("") !~ g:ft_ignore_pat - exe 'setf ' . a:ft - endif -endfunc - -" Abaqus or Trasys -au BufNewFile,BufRead *.inp call s:Check_inp() - -func! s:Check_inp() - if getline(1) =~ '^\*' - setf abaqus - else - let n = 1 - if line("$") > 500 - let nmax = 500 - else - let nmax = line("$") - endif - while n <= nmax - if getline(n) =~? "^header surface data" - setf trasys - break - endif - let n = n + 1 - endwhile - endif -endfunc - -" A-A-P recipe -au BufNewFile,BufRead *.aap setf aap - -" A2ps printing utility -au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps - -" ABAB/4 -au BufNewFile,BufRead *.abap setf abap - -" ABC music notation -au BufNewFile,BufRead *.abc setf abc - -" ABEL -au BufNewFile,BufRead *.abl setf abel - -" AceDB -au BufNewFile,BufRead *.wrm setf acedb - -" Ada (83, 9X, 95) -au BufNewFile,BufRead *.adb,*.ads,*.ada setf ada -if has("vms") - au BufNewFile,BufRead *.gpr,*.ada_m,*.adc setf ada -else - au BufNewFile,BufRead *.gpr setf ada -endif - -" AHDL -au BufNewFile,BufRead *.tdf setf ahdl - -" AMPL -au BufNewFile,BufRead *.run setf ampl - -" Ant -au BufNewFile,BufRead build.xml setf ant - -" Apache style config file -au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') - -" Apache config file -au BufNewFile,BufRead .htaccess setf apache -au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf* call s:StarSetf('apache') - -" XA65 MOS6510 cross assembler -au BufNewFile,BufRead *.a65 setf a65 - -" Applix ELF -au BufNewFile,BufRead *.am - \ if expand("") !~? 'Makefile.am\>' | setf elf | endif - -" ALSA configuration -au BufNewFile,BufRead ~/.asoundrc,/usr/share/alsa/alsa.conf,/etc/asound.conf setf alsaconf - -" Arc Macro Language -au BufNewFile,BufRead *.aml setf aml - -" Arch Inventory file -au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch - -" ART*Enterprise (formerly ART-IM) -au BufNewFile,BufRead *.art setf art - -" ASN.1 -au BufNewFile,BufRead *.asn,*.asn1 setf asn - -" Active Server Pages (with Visual Basic Script) -au BufNewFile,BufRead *.asa - \ if exists("g:filetype_asa") | - \ exe "setf " . g:filetype_asa | - \ else | - \ setf aspvbs | - \ endif - -" Active Server Pages (with Perl or Visual Basic Script) -au BufNewFile,BufRead *.asp - \ if exists("g:filetype_asp") | - \ exe "setf " . g:filetype_asp | - \ elseif getline(1) . getline(2) . getline(3) =~? "perlscript" | - \ setf aspperl | - \ else | - \ setf aspvbs | - \ endif - -" Grub (must be before catch *.lst) -au BufNewFile,BufRead /boot/grub/menu.lst,/boot/grub/grub.conf,/etc/grub.conf setf grub - -" Assembly (all kinds) -" *.lst is not pure assembly, it has two extra columns (address, byte codes) -au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call s:FTasm() - -" This function checks for the kind of assembly that is wanted by the user, or -" can be detected from the first five lines of the file. -func! s:FTasm() - " make sure b:asmsyntax exists - if !exists("b:asmsyntax") - let b:asmsyntax = "" - endif - - if b:asmsyntax == "" - call s:FTasmsyntax() - endif - - " if b:asmsyntax still isn't set, default to asmsyntax or GNU - if b:asmsyntax == "" - if exists("g:asmsyntax") - let b:asmsyntax = g:asmsyntax - else - let b:asmsyntax = "asm" - endif - endif - - exe "setf " . b:asmsyntax -endfunc - -func! s:FTasmsyntax() - " see if file contains any asmsyntax=foo overrides. If so, change - " b:asmsyntax appropriately - let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4). - \" ".getline(5)." " - if head =~ '\sasmsyntax=\S\+\s' - let b:asmsyntax = substitute(head, '.*\sasmsyntax=\([a-zA-Z0-9]\+\)\s.*','\1', "") - elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library')) - let b:asmsyntax = "vmasm" - endif -endfunc - -" Macro (VAX) -au BufNewFile,BufRead *.mar setf vmasm - -" Atlas -au BufNewFile,BufRead *.atl,*.as setf atlas - -" Autoit v3 -au BufNewFile,BufRead *.au3 setf autoit - -" Autohotkey -au BufNewFile,BufRead *.ahk setf autohotkey - -" Automake -au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake - -" Autotest .at files are actually m4 -au BufNewFile,BufRead *.at setf m4 - -" Avenue -au BufNewFile,BufRead *.ave setf ave - -" Awk -au BufNewFile,BufRead *.awk setf awk - -" B -au BufNewFile,BufRead *.mch,*.ref,*.imp setf b - -" BASIC or Visual Basic -au BufNewFile,BufRead *.bas call s:FTVB("basic") - -" Check if one of the first five lines contains "VB_Name". In that case it is -" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype. -func! s:FTVB(alt) - if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)' - setf vb - else - exe "setf " . a:alt - endif -endfunc - -" Visual Basic Script (close to Visual Basic) -au BufNewFile,BufRead *.vbs,*.dsm,*.ctl setf vb - -" IBasic file (similar to QBasic) -au BufNewFile,BufRead *.iba,*.ibi setf ibasic - -" FreeBasic file (similar to QBasic) -au BufNewFile,BufRead *.fb,*.bi setf freebasic - -" Batch file for MSDOS. -au BufNewFile,BufRead *.bat,*.sys setf dosbatch -" *.cmd is close to a Batch file, but on OS/2 Rexx files also use *.cmd. -au BufNewFile,BufRead *.cmd - \ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif - -" Batch file for 4DOS -au BufNewFile,BufRead *.btm call s:FTbtm() -func! s:FTbtm() - if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm - setf dosbatch - else - setf btm - endif -endfunc - -" BC calculator -au BufNewFile,BufRead *.bc setf bc - -" BDF font -au BufNewFile,BufRead *.bdf setf bdf - -" BibTeX bibliography database file -au BufNewFile,BufRead *.bib setf bib - -" BibTeX Bibliography Style -au BufNewFile,BufRead *.bst setf bst - -" BIND configuration -au BufNewFile,BufRead named.conf,rndc.conf setf named - -" BIND zone -au BufNewFile,BufRead named.root setf bindzone -au BufNewFile,BufRead *.db call s:BindzoneCheck('') - -func! s:BindzoneCheck(default) - if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' - setf bindzone - elseif a:default != '' - exe 'setf ' . a:default - endif -endfunc - -" Blank -au BufNewFile,BufRead *.bl setf blank - -" C or lpc -au BufNewFile,BufRead *.c call s:FTlpc() - -func! s:FTlpc() - if exists("g:lpc_syntax_for_c") - let lnum = 1 - while lnum <= 12 - if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)' - setf lpc - return - endif - let lnum = lnum + 1 - endwhile - endif - setf c -endfunc - -" Calendar -au BufNewFile,BufRead calendar setf calendar -au BufNewFile,BufRead */.calendar/*, - \*/share/calendar/*/calendar.*,*/share/calendar/calendar.* - \ call s:StarSetf('calendar') - -" C# -au BufNewFile,BufRead *.cs setf cs - -" Cdrdao TOC -au BufNewFile,BufRead *.toc setf cdrtoc - -" Cdrdao config -au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf - -" Cfengine -au BufNewFile,BufRead cfengine.conf setf cfengine - -" Comshare Dimension Definition Language -au BufNewFile,BufRead *.cdl setf cdl - -" Conary Recipe -au BufNewFile,BufRead *.recipe setf conaryrecipe - -" Controllable Regex Mutilator -au BufNewFile,BufRead *.crm setf crm - -" Cyn++ -au BufNewFile,BufRead *.cyn setf cynpp - -" Cynlib -" .cc and .cpp files can be C++ or Cynlib. -au BufNewFile,BufRead *.cc - \ if exists("cynlib_syntax_for_cc")|setf cynlib|else|setf cpp|endif -au BufNewFile,BufRead *.cpp - \ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif - -" C++ -if has("fname_case") - au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp -else - au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp -endif - -" .h files can be C, Ch C++, ObjC or ObjC++. -" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is -" detected automatically. -au BufNewFile,BufRead *.h call s:FTheader() - -func! s:FTheader() - if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1 - setf objc - elseif exists("c_syntax_for_h") - setf c - elseif exists("ch_syntax_for_h") - setf ch - else - setf cpp - endif -endfunc - -" Ch (CHscript) -au BufNewFile,BufRead *.chf setf ch - -" TLH files are C++ headers generated by Visual C++'s #import from typelibs -au BufNewFile,BufRead *.tlh setf cpp - -" Cascading Style Sheets -au BufNewFile,BufRead *.css setf css - -" Century Term Command Scripts (*.cmd too) -au BufNewFile,BufRead *.con setf cterm - -" Changelog -au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch - \ setf debchangelog - -au BufNewFile,BufRead [cC]hange[lL]og - \ if getline(1) =~ '; urgency=' - \| setf debchangelog - \| else - \| setf changelog - \| endif - -au BufNewFile,BufRead NEWS - \ if getline(1) =~ '; urgency=' - \| setf debchangelog - \| endif - -" CHILL -au BufNewFile,BufRead *..ch setf chill - -" Changes for WEB and CWEB or CHILL -au BufNewFile,BufRead *.ch call s:FTchange() - -" This function checks if one of the first ten lines start with a '@'. In -" that case it is probably a change file. -" If the first line starts with # or ! it's probably a ch file. -" If a line has "main", "include", "//" ir "/*" it's probably ch. -" Otherwise CHILL is assumed. -func! s:FTchange() - let lnum = 1 - while lnum <= 10 - if getline(lnum)[0] == '@' - setf change - return - endif - if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!') - setf ch - return - endif - if getline(lnum) =~ "MODULE" - setf chill - return - endif - if getline(lnum) =~ 'main\s*(\|#\s*include\|//' - setf ch - return - endif - let lnum = lnum + 1 - endwhile - setf chill -endfunc - -" ChordPro -au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro - -" Clean -au BufNewFile,BufRead *.dcl,*.icl setf clean - -" Clever -au BufNewFile,BufRead *.eni setf cl - -" Clever or dtd -au BufNewFile,BufRead *.ent call s:FTent() - -func! s:FTent() - " This function checks for valid cl syntax in the first five lines. - " Look for either an opening comment, '#', or a block start, '{". - " If not found, assume SGML. - let lnum = 1 - while lnum < 6 - let line = getline(lnum) - if line =~ '^\s*[#{]' - setf cl - return - elseif line !~ '^\s*$' - " Not a blank line, not a comment, and not a block start, - " so doesn't look like valid cl code. - break - endif - let lnum = lnum + 1 - endw - setf dtd -endfunc - -" Clipper (or FoxPro; could also be eviews) -au BufNewFile,BufRead *.prg - \ if exists("g:filetype_prg") | - \ exe "setf " . g:filetype_prg | - \ else | - \ setf clipper | - \ endif - -" Cmake -au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake - -" Cmusrc -au BufNewFile,BufRead ~/.cmus/{autosave,rc,command-history,*.theme} setf cmusrc -au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc - -" Cobol -au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol -" cobol or zope form controller python script? (heuristic) -au BufNewFile,BufRead *.cpy - \ if getline(1) =~ '^##' | - \ setf python | - \ else | - \ setf cobol | - \ endif - -" Coco/R -au BufNewFile,BufRead *.atg setf coco - -" Cold Fusion -au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf - -" Configure scripts -au BufNewFile,BufRead configure.in,configure.ac setf config - -" CUDA Cumpute Unified Device Architecture -au BufNewFile,BufRead *.cu setf cuda - -" WildPackets EtherPeek Decoder -au BufNewFile,BufRead *.dcd setf dcd - -" Enlightenment configuration files -au BufNewFile,BufRead *enlightenment/*.cfg setf c - -" Eterm -au BufNewFile,BufRead *Eterm/*.cfg setf eterm - -" Lynx config files -au BufNewFile,BufRead lynx.cfg setf lynx - -" Quake -au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake -au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake - -" Quake C -au BufNewFile,BufRead *.qc setf c - -" Configure files -au BufNewFile,BufRead *.cfg setf cfg - -" Communicating Sequential Processes -au BufNewFile,BufRead *.csp,*.fdr setf csp - -" CUPL logic description and simulation -au BufNewFile,BufRead *.pld setf cupl -au BufNewFile,BufRead *.si setf cuplsim - -" Debian Control -au BufNewFile,BufRead */debian/control setf debcontrol -au BufNewFile,BufRead control - \ if getline(1) =~ '^Source:' - \| setf debcontrol - \| endif - -" Debian Sources.list -au BufNewFile,BufRead /etc/apt/sources.list setf debsources - -" Deny hosts -au BufNewFile,BufRead denyhosts.conf setf denyhosts - -" ROCKLinux package description -au BufNewFile,BufRead *.desc setf desc - -" the D language or dtrace -au BufNewFile,BufRead *.d call s:DtraceCheck() - -func! s:DtraceCheck() - let lines = getline(1, min([line("$"), 100])) - if match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1 - setf dtrace - else - setf d - endif -endfunc - -" Desktop files -au BufNewFile,BufRead *.desktop,.directory setf desktop - -" Dict config -au BufNewFile,BufRead dict.conf,.dictrc setf dictconf - -" Dictd config -au BufNewFile,BufRead dictd.conf setf dictdconf - -" Diff files -au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff - -" Dircolors -au BufNewFile,BufRead .dir_colors,/etc/DIR_COLORS setf dircolors - -" Diva (with Skill) or InstallShield -au BufNewFile,BufRead *.rul - \ if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? 'InstallShield' | - \ setf ishd | - \ else | - \ setf diva | - \ endif - -" DCL (Digital Command Language - vms) or DNS zone file -au BufNewFile,BufRead *.com call s:BindzoneCheck('dcl') - -" DOT -au BufNewFile,BufRead *.dot setf dot - -" Dylan - lid files -au BufNewFile,BufRead *.lid setf dylanlid - -" Dylan - intr files (melange) -au BufNewFile,BufRead *.intr setf dylanintr - -" Dylan -au BufNewFile,BufRead *.dylan setf dylan - -" Microsoft Module Definition -au BufNewFile,BufRead *.def setf def - -" Dracula -au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula - -" dsl -au BufNewFile,BufRead *.dsl setf dsl - -" DTD (Document Type Definition for XML) -au BufNewFile,BufRead *.dtd setf dtd - -" EDIF (*.edf,*.edif,*.edn,*.edo) -au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif - -" Embedix Component Description -au BufNewFile,BufRead *.ecd setf ecd - -" Eiffel or Specman -au BufNewFile,BufRead *.e,*.E call s:FTe() - -" Elinks configuration -au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks - -func! s:FTe() - let n = 1 - while n < 100 && n < line("$") - if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$" - setf specman - return - endif - let n = n + 1 - endwhile - setf eiffel -endfunc - -" ERicsson LANGuage; Yaws is erlang too -au BufNewFile,BufRead *.erl,*.yaws setf erlang - -" Elm Filter Rules file -au BufNewFile,BufRead filter-rules setf elmfilt - -" ESMTP rc file -au BufNewFile,BufRead *esmtprc setf esmtprc - -" ESQL-C -au BufNewFile,BufRead *.ec,*.EC setf esqlc - -" Esterel -au BufNewFile,BufRead *.strl setf esterel - -" Essbase script -au BufNewFile,BufRead *.csc setf csc - -" Exim -au BufNewFile,BufRead exim.conf setf exim - -" Expect -au BufNewFile,BufRead *.exp setf expect - -" Exports -au BufNewFile,BufRead exports setf exports - -" Factor -au BufNewFile,BufRead *.factor setf factor - -" Fetchmail RC file -au BufNewFile,BufRead .fetchmailrc setf fetchmail - -" FlexWiki -au BufNewFile,BufRead *.wiki setf flexwiki - -" Focus Executable -au BufNewFile,BufRead *.fex,*.focexec setf focexec - -" Focus Master file (but not for auto.master) -au BufNewFile,BufRead auto.master setf conf -au BufNewFile,BufRead *.mas,*.master setf master - -" Forth -au BufNewFile,BufRead *.fs,*.ft setf forth - -" Reva Forth -au BufNewFile,BufRead *.frt setf reva - -" Fortran -if has("fname_case") - au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran -endif -au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran - -" FStab -au BufNewFile,BufRead fstab,mtab setf fstab - -" GDB command files -au BufNewFile,BufRead .gdbinit setf gdb - -" GDMO -au BufNewFile,BufRead *.mo,*.gdmo setf gdmo - -" Gedcom -au BufNewFile,BufRead *.ged setf gedcom - -" Git -autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit -autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig -autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase -autocmd BufNewFile,BufRead .msg.[0-9]* - \ if getline(1) =~ '^From.*# This line is ignored.$' | - \ setf gitsendemail | - \ endif -autocmd BufNewFile,BufRead *.git/** - \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | - \ setf git | - \ endif - -" Gkrellmrc -au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc - -" GP scripts (2.0 and onward) -au BufNewFile,BufRead *.gp,.gprc setf gp - -" GPG -au BufNewFile,BufRead */.gnupg/options setf gpg -au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg -au BufNewFile,BufRead /usr/**/gnupg/options.skel setf gpg - -" Gnuplot scripts -au BufNewFile,BufRead *.gpi setf gnuplot - -" GrADS scripts -au BufNewFile,BufRead *.gs setf grads - -" Gretl -au BufNewFile,BufRead *.gretl setf gretl - -" Groovy -au BufNewFile,BufRead *.groovy setf groovy - -" GNU Server Pages -au BufNewFile,BufRead *.gsp setf gsp - -" Group file -au BufNewFile,BufRead /etc/group setf group - -" GTK RC -au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc - -" Hamster Classic | Playground files -au BufNewFile,BufRead *.hsc,*.hsm setf hamster - -" Haskell -au BufNewFile,BufRead *.hs setf haskell -au BufNewFile,BufRead *.lhs setf lhaskell -au BufNewFile,BufRead *.chs setf chaskell - -" Haste -au BufNewFile,BufRead *.ht setf haste - -" Hercules -au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules - -" HEX (Intel) -au BufNewFile,BufRead *.hex,*.h32 setf hex - -" Tilde (must be before HTML) -au BufNewFile,BufRead *.t.html setf tilde - -" HTML (.shtml and .stm for server side) -au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call s:FThtml() - -" Distinguish between HTML, XHTML and Django -func! s:FThtml() - let n = 1 - while n < 10 && n < line("$") - if getline(n) =~ '\' - setf htmldjango - return - endif - let n = n + 1 - endwhile - setf html -endfunc - -" HTML with Ruby - eRuby -au BufNewFile,BufRead *.erb,*.rhtml setf eruby - -" HTML with M4 -au BufNewFile,BufRead *.html.m4 setf htmlm4 - -" HTML Cheetah template -au BufNewFile,BufRead *.tmpl setf htmlcheetah - -" Host config -au BufNewFile,BufRead /etc/host.conf setf hostconf - -" Hyper Builder -au BufNewFile,BufRead *.hb setf hb - -" Icon -au BufNewFile,BufRead *.icn setf icon - -" IDL (Interface Description Language) -au BufNewFile,BufRead *.idl call s:FTidl() - -" Distinguish between standard IDL and MS-IDL -func! s:FTidl() - let n = 1 - while n < 50 && n < line("$") - if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"' - setf msidl - return - endif - let n = n + 1 - endwhile - setf idl -endfunc - -" Microsoft IDL (Interface Description Language) Also *.idl -" MOF = WMI (Windows Management Instrumentation) Managed Object Format -au BufNewFile,BufRead *.odl,*.mof setf msidl - -" Icewm menu -au BufNewFile,BufRead */.icewm/menu setf icemenu - -" Indent profile (must come before IDL *.pro!) -au BufNewFile,BufRead .indent.pro setf indent -au BufNewFile,BufRead indent.pro call s:ProtoCheck('indent') - -" IDL (Interactive Data Language) -au BufNewFile,BufRead *.pro call s:ProtoCheck('idlang') - -" Distinguish between "default" and Cproto prototype file. */ -func! s:ProtoCheck(default) - " Cproto files have a comment in the first line and a function prototype in - " the second line, it always ends in ";". Indent files may also have - " comments, thus we can't match comments to see the difference. - if getline(2) =~ ';$' - setf cpp - else - exe 'setf ' . a:default - endif -endfunc - - -" Indent RC -au BufNewFile,BufRead indentrc setf indentrc - -" Inform -au BufNewFile,BufRead *.inf,*.INF setf inform - -" Initng -au BufNewFile,BufRead /etc/initng/**/*.i,*.ii setf initng - -" Ipfilter -au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter - -" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.) -au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl - -" .INI file for MSDOS -au BufNewFile,BufRead *.ini setf dosini - -" SysV Inittab -au BufNewFile,BufRead inittab setf inittab - -" Inno Setup -au BufNewFile,BufRead *.iss setf iss - -" JAL -au BufNewFile,BufRead *.jal,*.JAL setf jal - -" Jam -au BufNewFile,BufRead *.jpl,*.jpr setf jam - -" Java -au BufNewFile,BufRead *.java,*.jav setf java - -" JavaCC -au BufNewFile,BufRead *.jj,*.jjt setf javacc - -" JavaScript, ECMAScript -au BufNewFile,BufRead *.js,*.javascript,*.es setf javascript - -" Java Server Pages -au BufNewFile,BufRead *.jsp setf jsp - -" Java Properties resource file (note: doesn't catch font.properties.pl) -au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties -au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties') - -" Jess -au BufNewFile,BufRead *.clp setf jess - -" Jgraph -au BufNewFile,BufRead *.jgr setf jgraph - -" Kixtart -au BufNewFile,BufRead *.kix setf kix - -" Kimwitu[++] -au BufNewFile,BufRead *.k setf kwt - -" KDE script -au BufNewFile,BufRead *.ks setf kscript - -" Kconfig -au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig - -" Lace (ISE) -au BufNewFile,BufRead *.ace,*.ACE setf lace - -" Latte -au BufNewFile,BufRead *.latte,*.lte setf latte - -" Limits -au BufNewFile,BufRead /etc/limits setf limits - -" LambdaProlog (*.mod too, see Modsim) -au BufNewFile,BufRead *.sig setf lprolog - -" LDAP LDIF -au BufNewFile,BufRead *.ldif setf ldif - -" Ld loader -au BufNewFile,BufRead *.ld setf ld - -" Lex -au BufNewFile,BufRead *.lex,*.l setf lex - -" Libao -au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao - -" Libsensors -au BufNewFile,BufRead /etc/sensors.conf setf sensors - -" LFTP -au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp - -" Lifelines (or Lex for C++!) -au BufNewFile,BufRead *.ll setf lifelines - -" Lilo: Linux loader -au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo') - -" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp) -if has("fname_case") - au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,*.L,.emacs,.sawfishrc setf lisp -else - au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp -endif - -" SBCL implementation of Common Lisp -au BufNewFile,BufRead sbclrc,.sbclrc setf lisp - -" Lite -au BufNewFile,BufRead *.lite,*.lt setf lite - -" LiteStep RC files -au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep - -" Login access -au BufNewFile,BufRead /etc/login.access setf loginaccess - -" Login defs -au BufNewFile,BufRead /etc/login.defs setf logindefs - -" Logtalk -au BufNewFile,BufRead *.lgt setf logtalk - -" LOTOS -au BufNewFile,BufRead *.lot,*.lotos setf lotos - -" Lout (also: *.lt) -au BufNewFile,BufRead *.lou,*.lout setf lout - -" Lua -au BufNewFile,BufRead *.lua setf lua - -" Linden Scripting Language (Second Life) -au BufNewFile,BufRead *.lsl setf lsl - -" Lynx style file (or LotusScript!) -au BufNewFile,BufRead *.lss setf lss - -" M4 -au BufNewFile,BufRead *.m4 - \ if expand("") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif - -" MaGic Point -au BufNewFile,BufRead *.mgp setf mgp - -" Mail (for Elm, trn, mutt, muttng, rn, slrn) -au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail - -" Mail aliases -au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases - -" Mailcap configuration file -au BufNewFile,BufRead .mailcap,mailcap setf mailcap - -" Makefile -au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make - -" MakeIndex -au BufNewFile,BufRead *.ist,*.mst setf ist - -" Manpage -au BufNewFile,BufRead *.man setf man - -" Man config -au BufNewFile,BufRead /etc/man.conf,man.config setf manconf - -" Maple V -au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple - -" Mason -au BufNewFile,BufRead *.mason,*.mhtml setf mason - -" Matlab or Objective C -au BufNewFile,BufRead *.m call s:FTm() - -func! s:FTm() - let n = 1 - while n < 10 - let line = getline(n) - if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)' - setf objc - return - endif - if line =~ '^\s*%' - setf matlab - return - endif - if line =~ '^\s*(\*' - setf mma - return - endif - let n = n + 1 - endwhile - if exists("g:filetype_m") - exe "setf " . g:filetype_m - else - setf matlab - endif -endfunc - -" Mathematica notebook -au BufNewFile,BufRead *.nb setf mma - -" Maya Extension Language -au BufNewFile,BufRead *.mel setf mel - -" Messages -au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages - -" Metafont -au BufNewFile,BufRead *.mf setf mf - -" MetaPost -au BufNewFile,BufRead *.mp setf mp - -" MGL -au BufNewFile,BufRead *.mgl setf mgl - -" MMIX or VMS makefile -au BufNewFile,BufRead *.mms call s:FTmms() - -" Symbian meta-makefile definition (MMP) -au BufNewFile,BufRead *.mmp setf mmp - -func! s:FTmms() - let n = 1 - while n < 10 - let line = getline(n) - if line =~ '^\s*\(%\|//\)' || line =~ '^\*' - setf mmix - return - endif - if line =~ '^\s*#' - setf make - return - endif - let n = n + 1 - endwhile - setf mmix -endfunc - - -" Modsim III (or LambdaProlog) -au BufNewFile,BufRead *.mod - \ if getline(1) =~ '\' | - \ setf lprolog | - \ else | - \ setf modsim3 | - \ endif - -" Modula 2 -au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2 - -" Modula 3 (.m3, .i3, .mg, .ig) -au BufNewFile,BufRead *.[mi][3g] setf modula3 - -" Monk -au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk - -" MOO -au BufNewFile,BufRead *.moo setf moo - -" Modconf -au BufNewFile,BufRead /etc/modules.conf,/etc/conf.modules setf modconf -au BufNewFile,BufRead /etc/modutils/* - \ if executable(expand("")) != 1 - \| call s:StarSetf('modconf') - \|endif - -" Mplayer config -au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf - -" Moterola S record -au BufNewFile,BufRead *.s19,*.s28,*.s37 setf srec - -" Mrxvtrc -au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc - -" Msql -au BufNewFile,BufRead *.msql setf msql - -" Mysql -au BufNewFile,BufRead *.mysql setf mysql - -" M$ Resource files -au BufNewFile,BufRead *.rc setf rc - -" MuPAD source -au BufRead,BufNewFile *.mu setf mupad - -" Mush -au BufNewFile,BufRead *.mush setf mush - -" Mutt setup file (also for Muttng) -au BufNewFile,BufRead Mutt{ng,}rc setf muttrc - -" Nano -au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc - -" Nastran input/DMAP -"au BufNewFile,BufRead *.dat setf nastran - -" Natural -au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural - -" Netrc -au BufNewFile,BufRead .netrc setf netrc - -" Novell netware batch files -au BufNewFile,BufRead *.ncf setf ncf - -" Nroff/Troff (*.ms and *.t are checked below) -au BufNewFile,BufRead *.me - \ if expand("") != "read.me" && expand("") != "click.me" | - \ setf nroff | - \ endif -au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff -au BufNewFile,BufRead *.[1-9] call s:FTnroff() - -" This function checks if one of the first five lines start with a dot. In -" that case it is probably an nroff file: 'filetype' is set and 1 is returned. -func! s:FTnroff() - if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.' - setf nroff - return 1 - endif - return 0 -endfunc - -" Nroff or Objective C++ -au BufNewFile,BufRead *.mm call s:FTmm() - -func! s:FTmm() - let n = 1 - while n < 10 - let line = getline(n) - if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)' - setf objcpp - return - endif - let n = n + 1 - endwhile - setf nroff -endfunc - -" Not Quite C -au BufNewFile,BufRead *.nqc setf nqc - -" NSIS -au BufNewFile,BufRead *.nsi setf nsis - -" OCAML -au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly setf ocaml - -" Occam -au BufNewFile,BufRead *.occ setf occam - -" Omnimark -au BufNewFile,BufRead *.xom,*.xin setf omnimark - -" OpenROAD -au BufNewFile,BufRead *.or setf openroad - -" OPL -au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl - -" Oracle config file -au BufNewFile,BufRead *.ora setf ora - -" Packet filter conf -au BufNewFile,BufRead pf.conf setf pf - -" Pam conf -au BufNewFile,BufRead /etc/pam.conf setf pamconf - -" PApp -au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp - -" Password file -au BufNewFile,BufRead /etc/passwd,/etc/shadow,/etc/shadow- setf passwd - -" Pascal (also *.p) -au BufNewFile,BufRead *.pas setf pascal - -" Delphi project file -au BufNewFile,BufRead *.dpr setf pascal - -" PDF -au BufNewFile,BufRead *.pdf setf pdf - -" Perl -if has("fname_case") - au BufNewFile,BufRead *.pl,*.PL call s:FTpl() -else - au BufNewFile,BufRead *.pl call s:FTpl() -endif -au BufNewFile,BufRead *.plx setf perl - -func! s:FTpl() - if exists("g:filetype_pl") - exe "setf " . g:filetype_pl - else - " recognize Prolog by specific text in the first non-empty line - " require a blank after the '%' because Perl uses "%list" and "%translate" - let l = getline(nextnonblank(1)) - if l =~ '\' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-' - setf prolog - else - setf perl - endif - endif -endfunc - -" Perl, XPM or XPM2 -au BufNewFile,BufRead *.pm - \ if getline(1) =~ "XPM2" | - \ setf xpm2 | - \ elseif getline(1) =~ "XPM" | - \ setf xpm | - \ else | - \ setf perl | - \ endif - -" Perl POD -au BufNewFile,BufRead *.pod setf pod - -" Php, php3, php4, etc. -" Also Phtml (was used for PHP 2 in the past) -" Also .ctp for Cake template file -au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php - -" Pike -au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike - -" Pinfo config -au BufNewFile,BufRead */etc/pinforc,*/.pinforc setf pinfo - -" Palm Resource compiler -au BufNewFile,BufRead *.rcp setf pilrc - -" Pine config -au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine - -" PL/M (also: *.inp) -au BufNewFile,BufRead *.plm,*.p36,*.pac setf plm - -" PL/SQL -au BufNewFile,BufRead *.pls,*.plsql setf plsql - -" PLP -au BufNewFile,BufRead *.plp setf plp - -" PO and PO template (GNU gettext) -au BufNewFile,BufRead *.po,*.pot setf po - -" Postfix main config -au BufNewFile,BufRead main.cf setf pfmain - -" PostScript (+ font files, encapsulated PostScript, Adobe Illustrator) -au BufNewFile,BufRead *.ps,*.pfa,*.afm,*.eps,*.epsf,*.epsi,*.ai setf postscr - -" PostScript Printer Description -au BufNewFile,BufRead *.ppd setf ppd - -" Povray -au BufNewFile,BufRead *.pov setf pov - -" Povray configuration -au BufNewFile,BufRead .povrayrc setf povini - -" Povray, PHP or assembly -au BufNewFile,BufRead *.inc call s:FTinc() - -func! s:FTinc() - if exists("g:filetype_inc") - exe "setf " . g:filetype_inc - else - let lines = getline(1).getline(2).getline(3) - if lines =~? "perlscript" - setf aspperl - elseif lines =~ "<%" - setf aspvbs - elseif lines =~ "' - \ || line =~ '^\s*{' || line =~ '^\s*(\*' - setf pascal - return - elseif line !~ '^\s*$' || line =~ '^/\*' - " Not an empty line: Doesn't look like valid Pascal code. - " Or it looks like a Progress /* comment - break - endif - let lnum = lnum + 1 - endw - setf progress -endfunc - - -" Software Distributor Product Specification File (POSIX 1387.2-1995) -au BufNewFile,BufRead *.psf setf psf -au BufNewFile,BufRead INDEX,INFO - \ if getline(1) =~ '^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' | - \ setf psf | - \ endif - -" Prolog -au BufNewFile,BufRead *.pdb setf prolog - -" Promela -au BufNewFile,BufRead *.pml setf promela - -" Protocols -au BufNewFile,BufRead /etc/protocols setf protocols - -" Pyrex -au BufNewFile,BufRead *.pyx,*.pxd setf pyrex - -" Python -au BufNewFile,BufRead *.py,*.pyw setf python - -" Radiance -au BufNewFile,BufRead *.rad,*.mat setf radiance - -" Ratpoison config/command files -au BufNewFile,BufRead .ratpoisonrc,ratpoisonrc setf ratpoison - -" RCS file -au BufNewFile,BufRead *\,v setf rcs - -" Readline -au BufNewFile,BufRead .inputrc,inputrc setf readline - -" Registry for MS-Windows -au BufNewFile,BufRead *.reg - \ if getline(1) =~? '^REGEDIT[0-9]*\s*$\|^Windows Registry Editor Version \d*\.\d*\s*$' | setf registry | endif - -" Renderman Interface Bytestream -au BufNewFile,BufRead *.rib setf rib - -" Rexx -au BufNewFile,BufRead *.rexx,*.rex,*.jrexx,*.rxj,*.orx setf rexx - -" R (Splus) -if has("fname_case") - au BufNewFile,BufRead *.s,*.S setf r -else - au BufNewFile,BufRead *.s setf r -endif - -" R Help file -if has("fname_case") - au BufNewFile,BufRead *.rd,*.Rd setf rhelp -else - au BufNewFile,BufRead *.rd setf rhelp -endif - -" R noweb file -if has("fname_case") - au BufNewFile,BufRead *.Rnw,*.rnw,*.Snw,*.snw setf rnoweb -else - au BufNewFile,BufRead *.rnw,*.snw setf rnoweb -endif - -" Rexx, Rebol or R -au BufNewFile,BufRead *.r,*.R call s:FTr() - -func! s:FTr() - let max = line("$") > 50 ? 50 : line("$") - - for n in range(1, max) - " Rebol is easy to recognize, check for that first - if getline(n) =~? '\' - setf rebol - return - endif - endfor - - for n in range(1, max) - " R has # comments - if getline(n) =~ '^\s*#' - setf r - return - endif - " Rexx has /* comments */ - if getline(n) =~ '^\s*/\*' - setf rexx - return - endif - endfor - - " Nothing recognized, assume Rexx - setf rexx -endfunc - -" Remind -au BufNewFile,BufRead .reminders* call s:StarSetf('remind') - -" Resolv.conf -au BufNewFile,BufRead resolv.conf setf resolv - -" Relax NG Compact -au BufNewFile,BufRead *.rnc setf rnc - -" RPL/2 -au BufNewFile,BufRead *.rpl setf rpl - -" Robots.txt -au BufNewFile,BufRead robots.txt setf robots - -" Rpcgen -au BufNewFile,BufRead *.x setf rpcgen - -" reStructuredText Documentation Format -au BufNewFile,BufRead *.rst setf rst - -" RTF -au BufNewFile,BufRead *.rtf setf rtf - -" Ruby -au BufNewFile,BufRead *.rb,*.rbw,*.gem,*.gemspec setf ruby - -" Ruby on Rails -au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby - -" Rantfile and Rakefile is like Ruby -au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby - -" S-lang (or shader language!) -au BufNewFile,BufRead *.sl setf slang - -" Samba config -au BufNewFile,BufRead smb.conf setf samba - -" SAS script -au BufNewFile,BufRead *.sas setf sas - -" Sather -au BufNewFile,BufRead *.sa setf sather - -" Scilab -au BufNewFile,BufRead *.sci,*.sce setf scilab - -" SD: Streaming Descriptors -au BufNewFile,BufRead *.sd setf sd - -" SDL -au BufNewFile,BufRead *.sdl,*.pr setf sdl - -" sed -au BufNewFile,BufRead *.sed setf sed - -" Sieve (RFC 3028) -au BufNewFile,BufRead *.siv setf sieve - -" Sendmail -au BufNewFile,BufRead sendmail.cf setf sm - -" Sendmail .mc files are actually m4. Could also be MS Message text file. -au BufNewFile,BufRead *.mc call s:McSetf() - -func! s:McSetf() - " Rely on the file to start with a comment. - " MS message text files use ';', Sendmail files use '#' or 'dnl' - for lnum in range(1, min([line("$"), 20])) - let line = getline(lnum) - if line =~ '^\s*\(#\|dnl\)' - setf m4 " Sendmail .mc file - return - elseif line =~ '^\s*;' - setf msmessages " MS Message text file - return - endif - endfor - setf m4 " Default: Sendmail .mc file -endfunc - -" Services -au BufNewFile,BufRead /etc/services setf services - -" Service Location config -au BufNewFile,BufRead /etc/slp.conf setf slpconf - -" Service Location registration -au BufNewFile,BufRead /etc/slp.reg setf slpreg - -" Service Location SPI -au BufNewFile,BufRead /etc/slp.spi setf slpspi - -" Setserial config -au BufNewFile,BufRead /etc/serial.conf setf setserial - -" SGML -au BufNewFile,BufRead *.sgm,*.sgml - \ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' | - \ setf sgmllnx | - \ elseif getline(1) =~ '") =~ g:ft_ignore_pat - return - endif - if a:name =~ '\' - let b:is_kornshell = 1 - if exists("b:is_bash") - unlet b:is_bash - endif - if exists("b:is_sh") - unlet b:is_sh - endif - elseif exists("g:bash_is_sh") || a:name =~ '\' || a:name =~ '\' - let b:is_bash = 1 - if exists("b:is_kornshell") - unlet b:is_kornshell - endif - if exists("b:is_sh") - unlet b:is_sh - endif - elseif a:name =~ '\' - let b:is_sh = 1 - if exists("b:is_kornshell") - unlet b:is_kornshell - endif - if exists("b:is_bash") - unlet b:is_bash - endif - endif - call SetFileTypeShell("sh") -endfunc - -" For shell-like file types, check for an "exec" command hidden in a comment, -" as used for Tcl. -" Also called from scripts.vim, thus can't be local to this script. -func! SetFileTypeShell(name) - if expand("") =~ g:ft_ignore_pat - return - endif - let l = 2 - while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)' - " Skip empty and comment lines. - let l = l + 1 - endwhile - if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$' - " Found an "exec" line after a comment with continuation - let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '') - if n =~ '\' | - \ setf xml | - \ else | - \ setf smil | - \ endif - -" SMIL or SNMP MIB file -au BufNewFile,BufRead *.smi - \ if getline(1) =~ '\' | - \ setf smil | - \ else | - \ setf mib | - \ endif - -" SMITH -au BufNewFile,BufRead *.smt,*.smith setf smith - -" Snobol4 and spitbol -au BufNewFile,BufRead *.sno,*.spt setf snobol4 - -" SNMP MIB files -au BufNewFile,BufRead *.mib,*.my setf mib - -" Snort Configuration -au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog -au BufNewFile,BufRead *.rules call s:FTRules() - -let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*' -func! s:FTRules() - if expand(':p') =~ '^/etc/udev/rules\.d/.*\.rules$' - setf udevrules - return - endif - try - let config_lines = readfile('/etc/udev/udev.conf') - catch /^Vim\%((\a\+)\)\=:E484/ - setf hog - return - endtry - let dir = expand(':p:h') - for line in config_lines - if line =~ s:ft_rules_udev_rules_pattern - let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "") - if dir == udev_rules - setf udevrules - endif - break - endif - endfor - setf hog -endfunc - - -" Spec (Linux RPM) -au BufNewFile,BufRead *.spec setf spec - -" Speedup (AspenTech plant simulator) -au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup - -" Slice -au BufNewFile,BufRead *.ice setf slice - -" Spice -au BufNewFile,BufRead *.sp,*.spice setf spice - -" Spyce -au BufNewFile,BufRead *.spy,*.spi setf spyce - -" Squid -au BufNewFile,BufRead squid.conf setf squid - -" SQL for Oracle Designer -au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql - -" SQL -au BufNewFile,BufRead *.sql call s:SQL() - -func! s:SQL() - if exists("g:filetype_sql") - exe "setf " . g:filetype_sql - else - setf sql - endif -endfunc - -" SQLJ -au BufNewFile,BufRead *.sqlj setf sqlj - -" SQR -au BufNewFile,BufRead *.sqr,*.sqi setf sqr - -" OpenSSH configuration -au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig - -" OpenSSH server configuration -au BufNewFile,BufRead sshd_config setf sshdconfig - -" Stata -au BufNewFile,BufRead *.ado,*.class,*.do,*.imata,*.mata setf stata - -" SMCL -au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl - -" Stored Procedures -au BufNewFile,BufRead *.stp setf stp - -" Standard ML -au BufNewFile,BufRead *.sml setf sml - -" Sratus VOS command macro -au BufNewFile,BufRead *.cm setf voscm - -" Sysctl -au BufNewFile,BufRead /etc/sysctl.conf setf sysctl - -" Sudoers -au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers - -" If the file has an extension of 't' and is in a directory 't' then it is -" almost certainly a Perl test file. -" If the first line starts with '#' and contains 'perl' it's probably a Perl -" file. -" (Slow test) If a file contains a 'use' statement then it is almost certainly -" a Perl file. -func! s:FTperl() - if expand("%:e") == 't' && expand("%:p:h:t") == 't' - setf perl - return 1 - endif - if getline(1)[0] == '#' && getline(1) =~ 'perl' - setf perl - return 1 - endif - if search('^use\s\s*\k', 'nc', 30) - setf perl - return 1 - endif - return 0 -endfunc - -" Tads (or Nroff or Perl test file) -au BufNewFile,BufRead *.t - \ if !s:FTnroff() && !s:FTperl() | setf tads | endif - -" Tags -au BufNewFile,BufRead tags setf tags - -" TAK -au BufNewFile,BufRead *.tak setf tak - -" Tcl (JACL too) -au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl - -" TealInfo -au BufNewFile,BufRead *.tli setf tli - -" Telix Salt -au BufNewFile,BufRead *.slt setf tsalt - -" Terminfo -au BufNewFile,BufRead *.ti setf terminfo - -" TeX -au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex -au BufNewFile,BufRead *.tex call s:FTtex() - -" Choose context, plaintex, or tex (LaTeX) based on these rules: -" 1. Check the first line of the file for "%&". -" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords. -" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc. -func! s:FTtex() - let firstline = getline(1) - if firstline =~ '^%&\s*\a\+' - let format = tolower(matchstr(firstline, '\a\+')) - let format = substitute(format, 'pdf', '', '') - if format == 'tex' - let format = 'plain' - endif - else - " Default value, may be changed later: - let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain' - " Save position, go to the top of the file, find first non-comment line. - let save_cursor = getpos('.') - call cursor(1,1) - let firstNC = search('^\s*[^[:space:]%]', 'c', 1000) - if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword. - let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>' - let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>' - let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)', - \ 'cnp', firstNC + 1000) - if kwline == 1 " lpat matched - let format = 'latex' - elseif kwline == 2 " cpat matched - let format = 'context' - endif " If neither matched, keep default set above. - " let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000) - " let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000) - " if cline > 0 - " let format = 'context' - " endif - " if lline > 0 && (cline == 0 || cline > lline) - " let format = 'tex' - " endif - endif " firstNC - call setpos('.', save_cursor) - endif " firstline =~ '^%&\s*\a\+' - - " Translation from formats to file types. TODO: add AMSTeX, RevTex, others? - if format == 'plain' - setf plaintex - elseif format == 'context' - setf context - else " probably LaTeX - setf tex - endif - return -endfunc - -" ConTeXt -au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context - -" Texinfo -au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo - -" TeX configuration -au BufNewFile,BufRead texmf.cnf setf texmf - -" Tidy config -au BufNewFile,BufRead .tidyrc,tidyrc setf tidy - -" TF mud client -au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf - -" TPP - Text Presentation Program -au BufNewFile,BufReadPost *.tpp setf tpp - -" Trustees -au BufNewFile,BufRead trustees.conf setf trustees - -" TSS - Geometry -au BufNewFile,BufReadPost *.tssgm setf tssgm - -" TSS - Optics -au BufNewFile,BufReadPost *.tssop setf tssop - -" TSS - Command Line (temporary) -au BufNewFile,BufReadPost *.tsscl setf tsscl - -" Motif UIT/UIL files -au BufNewFile,BufRead *.uit,*.uil setf uil - -" Udev conf -au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf - -" Udev permissions -au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm -" -" Udev symlinks config -au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh - -" UnrealScript -au BufNewFile,BufRead *.uc setf uc - -" Updatedb -au BufNewFile,BufRead /etc/updatedb.conf setf updatedb - -" Vera -au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera - -" Verilog HDL -au BufNewFile,BufRead *.v setf verilog - -" Verilog-AMS HDL -au BufNewFile,BufRead *.va,*.vams setf verilogams - -" VHDL -au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl -au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') - -" Vim script -au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim - -" Viminfo file -au BufNewFile,BufRead .viminfo,_viminfo setf viminfo - -" Virata Config Script File -au BufRead,BufNewFile *.hw,*.module,*.pkg setf virata - -" Visual Basic (also uses *.bas) or FORM -au BufNewFile,BufRead *.frm call s:FTVB("form") - -" SaxBasic is close to Visual Basic -au BufNewFile,BufRead *.sba setf vb - -" Vgrindefs file -au BufNewFile,BufRead vgrindefs setf vgrindefs - -" VRML V1.0c -au BufNewFile,BufRead *.wrl setf vrml - -" Webmacro -au BufNewFile,BufRead *.wm setf webmacro - -" Wget config -au BufNewFile,BufRead .wgetrc,wgetrc setf wget - -" Website MetaLanguage -au BufNewFile,BufRead *.wml setf wml - -" Winbatch -au BufNewFile,BufRead *.wbt setf winbatch - -" WSML -au BufNewFile,BufRead *.wsml setf wsml - -" WvDial -au BufNewFile,BufRead wvdial.conf,.wvdialrc setf wvdial - -" CVS RC file -au BufNewFile,BufRead .cvsrc setf cvsrc - -" CVS commit file -au BufNewFile,BufRead cvs\d\+ setf cvs - -" WEB (*.web is also used for Winbatch: Guess, based on expecting "%" comment -" lines in a WEB file). -au BufNewFile,BufRead *.web - \ if getline(1)[0].getline(2)[0].getline(3)[0].getline(4)[0].getline(5)[0] =~ "%" | - \ setf web | - \ else | - \ setf winbatch | - \ endif - -" Windows Scripting Host and Windows Script Component -au BufNewFile,BufRead *.ws[fc] setf wsh - -" XHTML -au BufNewFile,BufRead *.xhtml,*.xht setf xhtml - -" X Pixmap (dynamically sets colors, use BufEnter to make it work better) -au BufEnter *.xpm - \ if getline(1) =~ "XPM2" | - \ setf xpm2 | - \ else | - \ setf xpm | - \ endif -au BufEnter *.xpm2 setf xpm2 - -" XFree86 config -au BufNewFile,BufRead XF86Config - \ if getline(1) =~ '\' | - \ let b:xf86c_xfree86_version = 3 | - \ endif | - \ setf xf86conf - -" Xorg config -au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf - -" Xinetd conf -au BufNewFile,BufRead /etc/xinetd.conf setf xinetd - -" XS Perl extension interface language -au BufNewFile,BufRead *.xs setf xs - -" X resources file -au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xdefaults - -" Xmath -au BufNewFile,BufRead *.msc,*.msf setf xmath -au BufNewFile,BufRead *.ms - \ if !s:FTnroff() | setf xmath | endif - -" XML specific variants: docbk and xbl -au BufNewFile,BufRead *.xml call s:FTxml() - -func! s:FTxml() - let n = 1 - while n < 100 && n < line("$") - let line = getline(n) - if line =~ '\)' && getline(n) !~ '^\s*#\s*include' - setf racc - return - endif - let n = n + 1 - endwhile - setf yacc -endfunc - - -" Yaml -au BufNewFile,BufRead *.yaml,*.yml setf yaml - -" Zope -" dtml (zope dynamic template markup language), pt (zope page template), -" cpt (zope form controller page template) -au BufNewFile,BufRead *.dtml,*.pt,*.cpt call s:FThtml() -" zsql (zope sql method) -au BufNewFile,BufRead *.zsql call s:SQL() - -" Z80 assembler asz80 -au BufNewFile,BufRead *.z8a setf z8a - -augroup END - - -" Source the user-specified filetype file, for backwards compatibility with -" Vim 5.x. -if exists("myfiletypefile") && filereadable(expand(myfiletypefile)) - execute "source " . myfiletypefile -endif - - -" Check for "*" after loading myfiletypefile, so that scripts.vim is only used -" when there are no matching file name extensions. -" Don't do this for compressed files. -augroup filetypedetect -au BufNewFile,BufRead * - \ if !did_filetype() && expand("") !~ g:ft_ignore_pat - \ | runtime! scripts.vim | endif -au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif - - -" Extra checks for when no filetype has been detected now. Mostly used for -" patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim -" script file. -" Most of these should call s:StarSetf() to avoid names ending in .gz and the -" like are used. - -" Asterisk config file -au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') -au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm') - -" Bazaar version control -au BufNewFile,BufRead bzr_log.* setf bzr - -" BIND zone -au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone') - -" Changelog -au BufNewFile,BufRead [cC]hange[lL]og* - \ if getline(1) =~ '; urgency=' - \| call s:StarSetf('debchangelog') - \|else - \| call s:StarSetf('changelog') - \|endif - -" Crontab -au BufNewFile,BufRead crontab,crontab.* call s:StarSetf('crontab') - -" Debian Sources.list -au BufNewFile,BufRead /etc/apt/sources.list.d/* call s:StarSetf('debsources') - -" Dracula -au BufNewFile,BufRead drac.* call s:StarSetf('dracula') - -" Fvwm -au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm') -au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook - \ let b:fvwm_version = 1 | call s:StarSetf('fvwm') -au BufNewFile,BufRead *fvwm2rc* - \ if expand(":e") == "m4" - \| call s:StarSetf('fvwm2m4') - \|else - \| let b:fvwm_version = 2 | call s:StarSetf('fvwm') - \|endif - -" GTK RC -au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc') - -" Jam -au BufNewFile,BufRead Prl*.*,JAM*.* call s:StarSetf('jam') - -" Jargon -au! BufNewFile,BufRead *jarg* - \ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'THIS IS THE JARGON FILE' - \| call s:StarSetf('jargon') - \|endif - -" Kconfig -au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') - -" Makefile -au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') - -" Ruby Makefile -au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby') - -" Mail (also matches muttrc.vim, so this is below the other checks) -au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\} setf mail - -" Modconf -au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf') - -" Mutt setup file -au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') -au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc') - -" Nroff macros -au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') - -" Pam conf -au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf') - -" Printcap and Termcap -au BufNewFile,BufRead *printcap* - \ if !did_filetype() - \| let b:ptcap_type = "print" | call s:StarSetf('ptcap') - \|endif -au BufNewFile,BufRead *termcap* - \ if !did_filetype() - \| let b:ptcap_type = "term" | call s:StarSetf('ptcap') - \|endif - -" Vim script -au BufNewFile,BufRead *vimrc* call s:StarSetf('vim') - -" Subversion commit file -au BufNewFile,BufRead svn-commit*.tmp setf svn - -" X resources file -au BufNewFile,BufRead Xresources*,*/app-defaults/*,*/Xresources/* call s:StarSetf('xdefaults') - -" XFree86 config -au BufNewFile,BufRead XF86Config-4* - \ let b:xf86c_xfree86_version = 4 | call s:StarSetf('xf86conf') -au BufNewFile,BufRead XF86Config* - \ if getline(1) =~ '\' - \| let b:xf86c_xfree86_version = 3 - \|endif - \|call s:StarSetf('xf86conf') - -" X11 xmodmap -au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') - -" Xinetd conf -au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd') - -" Z-Shell script -au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') - - -" Generic configuration file (check this last, it's just guessing!) -au BufNewFile,BufRead,StdinReadPost * - \ if !did_filetype() && expand("") !~ g:ft_ignore_pat - \ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#' - \ || getline(4) =~ '^#' || getline(5) =~ '^#') | - \ setf conf | - \ endif - -" Use the plugin-filetype checks last, they may overrule any of the previously -" detected filetypes. -runtime! ftdetect/*.vim - -augroup END - - -" If the GUI is already running, may still need to install the Syntax menu. -" Don't do it when the 'M' flag is included in 'guioptions'. -if has("menu") && has("gui_running") - \ && !exists("did_install_syntax_menu") && &guioptions !~# "M" - source :p:h/menu.vim -endif - -" Function called for testing all functions defined here. These are -" script-local, thus need to be executed here. -" Returns a string with error messages (hopefully empty). -func! TestFiletypeFuncs(testlist) - let output = '' - for f in a:testlist - try - exe f - catch - let output = output . "\n" . f . ": " . v:exception - endtry - endfor - return output -endfunc - -" Restore 'cpoptions' -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/runtime/tutor/runtime/ftoff.vim b/runtime/tutor/runtime/ftoff.vim deleted file mode 100644 index 377c6ef82..000000000 --- a/runtime/tutor/runtime/ftoff.vim +++ /dev/null @@ -1,11 +0,0 @@ -" Vim support file to switch off detection of file types -" -" Maintainer: Bram Moolenaar -" Last change: 2001 Jun 11 - -if exists("did_load_filetypes") - unlet did_load_filetypes -endif - -" Remove all autocommands in the filetypedetect group -silent! au! filetypedetect * diff --git a/runtime/tutor/runtime/ftplugin.vim b/runtime/tutor/runtime/ftplugin.vim deleted file mode 100644 index a434b9372..000000000 --- a/runtime/tutor/runtime/ftplugin.vim +++ /dev/null @@ -1,35 +0,0 @@ -" Vim support file to switch on loading plugins for file types -" -" Maintainer: Bram Moolenaar -" Last change: 2006 Apr 30 - -if exists("did_load_ftplugin") - finish -endif -let did_load_ftplugin = 1 - -augroup filetypeplugin - au FileType * call s:LoadFTPlugin() - - func! s:LoadFTPlugin() - if exists("b:undo_ftplugin") - exe b:undo_ftplugin - unlet! b:undo_ftplugin b:did_ftplugin - endif - - let s = expand("") - if s != "" - if &cpo =~# "S" && exists("b:did_ftplugin") - " In compatible mode options are reset to the global values, need to - " set the local values also when a plugin was already used. - unlet b:did_ftplugin - endif - - " When there is a dot it is used to separate filetype names. Thus for - " "aaa.bbb" load "aaa" and then "bbb". - for name in split(s, '\.') - exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' - endfor - endif - endfunc -augroup END diff --git a/runtime/tutor/runtime/ftplugof.vim b/runtime/tutor/runtime/ftplugof.vim deleted file mode 100644 index cd99ce05a..000000000 --- a/runtime/tutor/runtime/ftplugof.vim +++ /dev/null @@ -1,11 +0,0 @@ -" Vim support file to switch off loading plugins for file types -" -" Maintainer: Bram Moolenaar -" Last Change: 2002 Apr 04 - -if exists("did_load_ftplugin") - unlet did_load_ftplugin -endif - -" Remove all autocommands in the filetypeplugin group -silent! au! filetypeplugin * diff --git a/runtime/tutor/runtime/gvimrc_example.vim b/runtime/tutor/runtime/gvimrc_example.vim deleted file mode 100644 index 5a5197e99..000000000 --- a/runtime/tutor/runtime/gvimrc_example.vim +++ /dev/null @@ -1,59 +0,0 @@ -" An example for a gvimrc file. -" The commands in this are executed when the GUI is started. -" -" Maintainer: Bram Moolenaar -" Last change: 2001 Sep 02 -" -" To use it, copy it to -" for Unix and OS/2: ~/.gvimrc -" for Amiga: s:.gvimrc -" for MS-DOS and Win32: $VIM\_gvimrc -" for OpenVMS: sys$login:.gvimrc - -" Make external commands work through a pipe instead of a pseudo-tty -"set noguipty - -" set the X11 font to use -" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 - -set ch=2 " Make command line two lines high - -set mousehide " Hide the mouse when typing text - -" Make shift-insert work like in Xterm -map -map! - -" Only do this for Vim version 5.0 and later. -if version >= 500 - - " I like highlighting strings inside C comments - let c_comment_strings=1 - - " Switch on syntax highlighting if it wasn't on yet. - if !exists("syntax_on") - syntax on - endif - - " Switch on search pattern highlighting. - set hlsearch - - " For Win32 version, have "K" lookup the keyword in a help file - "if has("win32") - " let winhelpfile='windows.hlp' - " map K :execute "!start winhlp32 -k " . winhelpfile - "endif - - " Set nice colors - " background for normal text is light grey - " Text below the last line is darker grey - " Cursor is green, Cyan when ":lmap" mappings are active - " Constants are not underlined but have a slightly lighter background - highlight Normal guibg=grey90 - highlight Cursor guibg=Green guifg=NONE - highlight lCursor guibg=Cyan guifg=NONE - highlight NonText guibg=grey80 - highlight Constant gui=NONE guibg=grey95 - highlight Special gui=NONE guibg=grey95 - -endif diff --git a/runtime/tutor/runtime/hi16-action-make.png b/runtime/tutor/runtime/hi16-action-make.png deleted file mode 100644 index 824c7580e40f0205fa26257cca2ce8c3e30be5c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmV;%0XhDOP)-#e-1r7BCQ@hcq?)v&rsuJR}60nkGLO*d6Bg&Frwwa5$8Hzt3W^;Ns(oE?QpC zs2cjrqFc{z|r3k|ifX~-& zdL9S{^|K?}D2y>^n_*2(rgFs5%;)oJ0>}4#aa|XHlef!GPsncq049?O_`WZ3980^b zh-eYXL}V**90?#jfFw!UdIDQu1uTJ>B>4iM*I{5l*CGcD0A8E<{O+l`r7vSdfFCTLu%kcL6DYt2Pi+%bUHmKJiC4Tr+cCF wWn7(|#;O7$4d%*s6i|oM&7D<34yFP41=>Ek diff --git a/runtime/tutor/runtime/hi22-action-make.png b/runtime/tutor/runtime/hi22-action-make.png deleted file mode 100644 index f9abb7796876e43724fe7cb19cf44dfd480dbeee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fEa{HEjtmSN`?>!lvI6;RN#5=* zKpF^sI`6IrQk(@Ik;M!Q+(IDCc2ygMSZ0Y&qvKEuF`Epg68HtMkjjJfV`(-#7f^%c7lr z$V6Uh%06(e;P&)bras-y#^1&2ffcJ>=|22+-7`G&>%6i#&s~rB`dn8pul#3YHS??r zQ$gkD3;#Co?aux5M`Z`Mba2i|o#UE6W_-RGc;vxKi?Gu_&SyQCytAHp>P*iM3`LE$ Ppb++S^>bP0l+XkKU#+Y$ diff --git a/runtime/tutor/runtime/icons.info b/runtime/tutor/runtime/icons.info deleted file mode 100644 index 566bc5663d947e782e1239b1c0e1d639441ec7fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcma)&p-uxq5QhJ4p{7krPy|zg;DRCn3pvskK#`gX1fDwNRzN~9APEA{eFEIw8=x>K z5*`3iyV>F2oxN=!fiPn4oByAg-MNny7%W`9p(mG^9hQ*tKj4~C7G6{8{4-` z?wJ%Q&QDb2>9Jj8^)>d@ z8IZyN#{cO+8`x21vY8Ud6b+%F&rC0Yyp>0ZM>P~zCLh4bpOz##y~qrHdBJ{`|2%xa}{l$$=w8PE>7H0pm!LnnxD-o Qx2PjM#VO|JzDqj%3ukW~RsaA1 diff --git a/runtime/tutor/runtime/indent.vim b/runtime/tutor/runtime/indent.vim deleted file mode 100644 index 12f03648c..000000000 --- a/runtime/tutor/runtime/indent.vim +++ /dev/null @@ -1,31 +0,0 @@ -" Vim support file to switch on loading indent files for file types -" -" Maintainer: Bram Moolenaar -" Last Change: 2008 Feb 22 - -if exists("did_indent_on") - finish -endif -let did_indent_on = 1 - -augroup filetypeindent - au FileType * call s:LoadIndent() - func! s:LoadIndent() - if exists("b:undo_indent") - exe b:undo_indent - unlet! b:undo_indent b:did_indent - endif - let s = expand("") - if s != "" - if exists("b:did_indent") - unlet b:did_indent - endif - - " When there is a dot it is used to separate filetype names. Thus for - " "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim". - for name in split(s, '\.') - exe 'runtime! indent/' . name . '.vim' - endfor - endif - endfunc -augroup END diff --git a/runtime/tutor/runtime/indoff.vim b/runtime/tutor/runtime/indoff.vim deleted file mode 100644 index 0d930352b..000000000 --- a/runtime/tutor/runtime/indoff.vim +++ /dev/null @@ -1,11 +0,0 @@ -" Vim support file to switch off loading indent files for file types -" -" Maintainer: Bram Moolenaar -" Last Change: 2001 Jun 11 - -if exists("did_indent_on") - unlet did_indent_on -endif - -" Remove all autocommands in the filetypeindent group -silent! au! filetypeindent * diff --git a/runtime/tutor/runtime/macmap.vim b/runtime/tutor/runtime/macmap.vim deleted file mode 100644 index dc76f15f9..000000000 --- a/runtime/tutor/runtime/macmap.vim +++ /dev/null @@ -1,75 +0,0 @@ -" System gvimrc file for Mac OS X -" Author: Benji Fisher -" Last Change: Thu Mar 09 09:00 AM 2006 EST -" -" Define Mac-standard keyboard shortcuts. - -" We don't change 'cpoptions' here, because it would not be set properly when -" a .vimrc file is found later. Thus don't use line continuation and use -" in mappings. - -nnoremap :confirm enew -vmap gv -imap -cmap -omap - -nnoremap :browse confirm e -vmap gv -imap -cmap -omap - -nnoremap :if winheight(2) < 0 confirm enew else confirm close endif -vmap gv -imap -cmap -omap - -nnoremap :if expand("%") == ""browse confirm w elseconfirm wendif -vmap gv -imap -cmap -omap - -nnoremap :browse confirm saveas -vmap gv -imap -cmap -omap - -" From the Edit menu of SimpleText: -nnoremap u -vmap gv -imap -cmap -omap - -vnoremap "+x - -vnoremap "+y - -cnoremap - -nnoremap "+gP -cnoremap + -execute 'vnoremap