]> granicus.if.org Git - vim/commitdiff
Update runtime files.
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Mar 2013 10:35:58 +0000 (11:35 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Mar 2013 10:35:58 +0000 (11:35 +0100)
26 files changed:
runtime/doc/autocmd.txt
runtime/doc/cmdline.txt
runtime/doc/eval.txt
runtime/doc/motion.txt
runtime/doc/options.txt
runtime/doc/quickfix.txt
runtime/doc/syntax.txt
runtime/doc/tags
runtime/doc/term.txt
runtime/doc/todo.txt
runtime/filetype.vim
runtime/syntax/asciidoc.vim [new file with mode: 0644]
runtime/syntax/c.vim
runtime/syntax/cpp.vim
runtime/syntax/debchangelog.vim
runtime/syntax/debcontrol.vim
runtime/syntax/debsources.vim
runtime/syntax/dts.vim
runtime/syntax/groovy.vim
runtime/syntax/sh.vim
runtime/syntax/slice.vim
runtime/syntax/tex.vim
runtime/syntax/vim.vim
runtime/tutor/tutor.ja.euc
runtime/tutor/tutor.ja.sjis
runtime/tutor/tutor.ja.utf-8

index 2fae1e2fb668281958affbc786086ef397b3f81a..a0d3b637d758ea8fe92467b35c690ac5c607192c 100644 (file)
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.3.  Last change: 2012 Sep 05
+*autocmd.txt*   For Vim version 7.3.  Last change: 2013 Mar 13
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -730,11 +730,11 @@ QuickFixCmdPost                   Like QuickFixCmdPre, but after a quickfix
                                moving to the first error. 
                                See |QuickFixCmdPost-example|.
                                                        *QuitPre*
-QuitPre                                When using `:quit`, before deciding whether it
-                               closes the current window or quits Vim.  Can
-                               be used to close any non-essential window if
-                               the current window is the last ordinary
-                               window.
+QuitPre                                When using `:quit`, `:wq` or `:qall`, before
+                               deciding whether it closes the current window
+                               or quits Vim.  Can be used to close any
+                               non-essential window if the current window is
+                               the last ordinary window.
                                                        *RemoteReply*
 RemoteReply                    When a reply from a Vim that functions as
                                server was received |server2client()|.  The
index c3627d4090f34a5fe5986e649f13af8f8f22f79a..4759702e497010c058557277eeac1e2d0c10cb2a 100644 (file)
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.3.  Last change: 2013 Jan 17
+*cmdline.txt*   For Vim version 7.3.  Last change: 2013 Mar 16
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -964,7 +964,7 @@ for the file "$home" in the root directory.  A few examples:
        \\$home         file "\\", followed by expanded $home
 
 ==============================================================================
-6. Command-line window                         *cmdline-window* *cmdwin*
+7. Command-line window                         *cmdline-window* *cmdwin*
                                                        *command-line-window*
 In the command-line window the command line can be edited just like editing
 text in any window.  It is a special kind of window, because you cannot leave
index 1a7cbb9bd47ec67a6fa271a966fa3d49fafc18ee..bc729d102c6e0b8aa3075f0772dbdbbc2677e6a2 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*     For Vim version 7.3.  Last change: 2013 Feb 20
+*eval.txt*     For Vim version 7.3.  Last change: 2013 Mar 10
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2583,6 +2583,8 @@ delete({fname})                                                   *delete()*
                which is 0 if the file was deleted successfully, and non-zero
                when the deletion failed.
                Use |remove()| to delete an item from a |List|.
+               To delete a line from the buffer use |:delete|.  Use |:exe|
+               when the line number is in a variable.
 
                                                        *did_filetype()*
 did_filetype() Returns non-zero when autocommands are being executed and the
index 522b7179451882580b0b637fd9e0bd658f95da11..265d530721e70fc30e2ee027de58a2e1af6900e8 100644 (file)
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.3.  Last change: 2012 Aug 04
+*motion.txt*    For Vim version 7.3.  Last change: 2013 Mar 07
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -104,13 +104,14 @@ strokes and has limited redo functionality.  See the chapter on Visual mode
 |Visual-mode|.
 
 You can use a ":" command for a motion.  For example "d:call FindEnd()".
-But this can't be redone with "." if the command is more than one line.
+But this can't be repeated with "." if the command is more than one line.
 This can be repeated: >
        d:call search("f")<CR>
 This cannot be repeated: >
        d:if 1<CR>
           call search("f")<CR>
        endif<CR>
+Note that when using ":" any motion becomes characterwise exclusive.
 
 
 FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
index 143656a98fa51ba3d0313cc4257cc1eb2219341e..ac3d394a1619d42d12c0f5776371efe3f78cfd96 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 7.3.  Last change: 2013 Feb 28
+*options.txt*  For Vim version 7.3.  Last change: 2013 Mar 13
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -699,6 +699,10 @@ A jump table for the options with a short description can be found at |Q_op|.
        when the system locale is set to one of CJK locales.  See Unicode
        Standard Annex #11 (http://www.unicode.org/reports/tr11).
 
+       Vim may set this option automatically at startup time when Vim is
+       compiled with the |+termresponse| feature and if |t_u7| is set to the
+       sescape sequense to request cursor position report.
+
                        *'antialias'* *'anti'* *'noantialias'* *'noanti'*
 'antialias' 'anti'     boolean (default: off)
                        global
index 4738be0c22db3f6d974a66341375c1cf05c865d3..47e110cb01a46f1493b7be8b4cec8e45afa06a44 100644 (file)
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.3.  Last change: 2011 May 10
+*quickfix.txt*  For Vim version 7.3.  Last change: 2013 Mar 07
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index b69753ad068f2d52a14cd23cf9369f85c23f71eb..a32a468a1c68c0e79e6d41bef870326b7a298213 100644 (file)
@@ -1,4 +1,4 @@
-*syntax.txt*   For Vim version 7.3.  Last change: 2013 Mar 01
+*syntax.txt*   For Vim version 7.3.  Last change: 2013 Mar 13
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2928,6 +2928,35 @@ if any, is the text at the top of the screen supposed to be in?).
 Another cause of slow highlighting is due to syntax-driven folding; see
 |tex-folding| for a way around this.
 
+                                                               *g:tex_fast*
+
+Finally, if syntax highlighting is still too slow, you may set >
+
+       :let g:tex_fast= ""
+
+in your .vimrc.  Used this way, the g:tex_fast variable causes the syntax
+highlighting script to avoid defining any regions and associated
+synchronization.  The result will be much faster syntax highlighting; the
+price: you will no longer have as much highlighting or any syntax-based
+folding, and you will be missing syntax-based error checking.
+
+You may decide that some syntax is acceptable; you may use the following table
+selectively to enable just some syntax highlighting: >
+
+    b : allow bold and italic syntax
+    c : allow texComment syntax
+    m : allow texMatcher syntax (ie. {...} and [...])
+    M : allow texMath syntax
+    p : allow parts, chapter, section, etc syntax
+    r : allow texRefZone syntax (nocite, bibliography, label, pageref, eqref)
+    s : allow superscript/subscript regions
+    S : allow texStyle syntax
+    v : allow verbatim syntax
+    V : allow texNewEnv and texNewCmd syntax
+<
+As an example, let g:tex_fast= "M" will allow math-associated highlighting
+but suppress all the other region-based syntax highlighting.
+
                                            *tex-morecommands* *tex-package*
  Tex: Want To Highlight More Commands? ~
 
@@ -3822,7 +3851,7 @@ s-{nr}    start of the matched pattern plus {nr} chars to the left
 e      end of the matched pattern
 e+{nr} end of the matched pattern plus {nr} chars to the right
 e-{nr} end of the matched pattern plus {nr} chars to the left
-{nr}   (for "lc" only): start matching {nr} chars to the left
+{nr}   (for "lc" only): start matching {nr} chars right of the start
 
 Examples: "ms=s+1", "hs=e-2", "lc=3".
 
index 89ac4a9915243692e759bc1c378590fe103e4b6a..cb2364aec2ea1c22c47ed988a787ca7b1f5b859d 100644 (file)
@@ -964,6 +964,7 @@ $VIMRUNTIME starting.txt    /*$VIMRUNTIME*
 't_te' term.txt        /*'t_te'*
 't_ti' term.txt        /*'t_ti'*
 't_ts' term.txt        /*'t_ts'*
+'t_u7' term.txt        /*'t_u7'*
 't_ue' term.txt        /*'t_ue'*
 't_us' term.txt        /*'t_us'*
 't_ut' term.txt        /*'t_ut'*
@@ -5182,6 +5183,7 @@ cpo-w     options.txt     /*cpo-w*
 cpo-x  options.txt     /*cpo-x*
 cpo-y  options.txt     /*cpo-y*
 cpo-{  options.txt     /*cpo-{*
+cpp.vim        syntax.txt      /*cpp.vim*
 crash-recovery recover.txt     /*crash-recovery*
 creating-menus gui.txt /*creating-menus*
 credits        intro.txt       /*credits*
@@ -5658,6 +5660,7 @@ ft-chill-syntax   syntax.txt      /*ft-chill-syntax*
 ft-clojure-indent      indent.txt      /*ft-clojure-indent*
 ft-cobol-syntax        syntax.txt      /*ft-cobol-syntax*
 ft-coldfusion-syntax   syntax.txt      /*ft-coldfusion-syntax*
+ft-cpp-syntax  syntax.txt      /*ft-cpp-syntax*
 ft-csh-syntax  syntax.txt      /*ft-csh-syntax*
 ft-css-omni    insert.txt      /*ft-css-omni*
 ft-cweb-syntax syntax.txt      /*ft-cweb-syntax*
@@ -5958,6 +5961,7 @@ g:tar_readoptions pi_tar.txt      /*g:tar_readoptions*
 g:tar_secure   pi_tar.txt      /*g:tar_secure*
 g:tar_writeoptions     pi_tar.txt      /*g:tar_writeoptions*
 g:tex_conceal  syntax.txt      /*g:tex_conceal*
+g:tex_fast     syntax.txt      /*g:tex_fast*
 g:tex_isk      syntax.txt      /*g:tex_isk*
 g:var  eval.txt        /*g:var*
 g:vimball_home pi_vimball.txt  /*g:vimball_home*
@@ -7975,6 +7979,7 @@ t_ti      term.txt        /*t_ti*
 t_tp   version4.txt    /*t_tp*
 t_ts   term.txt        /*t_ts*
 t_ts_old       version4.txt    /*t_ts_old*
+t_u7   term.txt        /*t_u7*
 t_ue   term.txt        /*t_ue*
 t_undo version4.txt    /*t_undo*
 t_us   term.txt        /*t_us*
index 362a18944b7a23889d77c6e4cdb1377b81182f94..de0313cfdfe1821bfa7db5603c69f4b095ed465d 100644 (file)
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.3.  Last change: 2011 Feb 16
+*term.txt*      For Vim version 7.3.  Last change: 2013 Mar 13
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -294,6 +294,8 @@ Added by Vim (there are no standard codes for these):
                |termcap-cursor-shape|
        t_RV    request terminal version string (for xterm)     *t_RV* *'t_RV'*
                |xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
+       t_u7    request cursor position (for xterm)             *t_u7* *'t_u7'*
+               see |'ambiwidth'|
 
 KEY CODES
 Note: Use the <> form if possible
index 7fde2eda981bfb0b06d23f2648b77d01381f75c2..e8604d9af4aea039bf0efcde4a8fb9a8506aadd1 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2013 Mar 07
+*todo.txt*      For Vim version 7.3.  Last change: 2013 Mar 18
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -45,38 +45,16 @@ Memory leaks in Lua, uncovered by test 85.
 
 Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
 
-Patch to build with Ruby 2.0 and Ming@ 64. (Ken Takata, 2013 Feb 28)
-
 Checking runtime scripts: Thilo Six, 2012 Jun 6.
 
+Patch to keep serving the selection while waiting for a child process.
+(Yukihiro Nakadaira, 2013 March 14)
+
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
-Patch for this problem: (David Bürgin (glts), 2013 Mar 5)
-8   ":g//" gives "Pattern not found error" with E486.  Should not use the
-    error number, it's not a regular error message.
-
-Patch to fix ":vimgrep //". (David Bürgin (glts), 2013 Mar 5)
-
-Updates for Debian runtime files. (James McCoy, 2013 Mar 3)
-Also an update for debcontrol in another message.
-
 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
 
-Patch for ":sort" not properly handling an empty search pattern when there is
-no previous search pattern. (David Bürgin, 2013 Mar 4)
-
-system() breaks clipboard text.  (Yukihiro Nakadaira, 2013 Feb 28)
-Patch by Christian Brabandt, 2013 Mar 1.
-
-Patch for replace multi-byte character in multiple lines. (Yasuhiro Matsumoto,
-2013 Feb 27)
-
-Patch to avoid register being changed when yanking. (Christian Brabandt, 2013
-Feb 26)
-
-Patch to trigger QuitPre in more situations. (Tatsuro Fujii, 2013 Mar 3)
-
 The CompleteDone autocommand needs some info passed to it:
 - The word that was selected (empty if abandoned complete)
 - Type of completion: tag, omnifunc, user func.
@@ -85,21 +63,17 @@ Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
-Patch to fix wrong completion entry after using backspace. (reported by
-Olivier Teuliere, fixed by Christian Brabandt, 2013 Feb 26)
-
-Patch to detect value of 'ambiwidth' from the termresponse.
-(Hayaki Saito, 2013 Feb 11)
-
 Matchparen does not update match when indenting. (Marc Aldorasi, 2013 Feb 9)
 Possible patch by Christian Brabandt, 2013 Feb 13.
 
+Remarks about the more message and a patch to change behavior. (cptstubing,
+2013 Mar 16)
+
+Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
+
 Problem caused by patch 7.3.638: window->open does not update window
 correctly. Issue 91.
 
-Patch for this bug: Setting local value of 'number' resets global value.
-(Markus Heidelberg, 2013 Feb 17)
-
 Patch to add argument to bufname() to only consider buffers in the current
 tab.  (Alexey Radkov, 2013 Feb 8)  Example in later email.
 Is this right?
@@ -135,6 +109,9 @@ Brabandt, 2013 Feb 26.
 
 New syntax files for apt. (quidame, 2012 Sep 21)
 
+v:register is not directly reset to " after a delete command that specifies a
+register.  It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
+
 'ff' is wrong for one-line file without EOL. (Issue 77)
 
 Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
@@ -178,6 +155,8 @@ Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
 Patch to use directX to draw text on Windows.  Adds the 'directx' option.
 (Taro Muraoka, 2013 Jan 25)
 
+Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
+
 b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
 7)
 
@@ -271,9 +250,6 @@ And one for gui_x11.txt.
     More recent version: https://retracile.net/wiki/VimBreakIndent
     Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
 
-Problem with starting Visual block mode with :norm when 'virtualedit' is set.
-(David glts, 2012 Jun 5)
-
 ":cd" doesn't work when current directory path contains "**".
 finddir() has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)
 Requires a rewrite of the file_file_in_path code.
@@ -286,9 +262,6 @@ Update for vim2html.pl. (Tyru, 2013 Feb 22)
 
 Issue 48: foldopen error can't be caught by try/catch
 
-"dg_" deletes including the last character, "d:normal! g_" doesn't.
-(Nomen Nescio, 2012 Jun 27)
-
 Patch to sort functions starting with '<' after others.  Omit dict functions,
 they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
 
index aee617cbeb587a727524bc2a68138ffb6412468e..b0387cfc23ae00bcbfbc627d9ab0977abcc4455f 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2013 Feb 28
+" Last Change: 2013 Mar 16
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -139,6 +139,9 @@ au BufNewFile,BufRead .arch-inventory,=tagging-method       setf arch
 " ART*Enterprise (formerly ART-IM)
 au BufNewFile,BufRead *.art                    setf art
 
+" AsciiDoc
+au BufNewFile,BufRead *.asciidoc               setf asciidoc
+
 " ASN.1
 au BufNewFile,BufRead *.asn,*.asn1             setf asn
 
@@ -749,12 +752,12 @@ au BufNewFile,BufRead *.mo,*.gdmo         setf gdmo
 au BufNewFile,BufRead *.ged,lltxxxxx.txt       setf gedcom
 
 " Git
-au BufNewFile,BufRead *.git/COMMIT_EDITMSG     setf gitcommit
-au BufNewFile,BufRead *.git/MERGE_MSG          setf gitcommit
+au BufNewFile,BufRead *.git/COMMIT_EDITMSG     setf gitcommit
+au BufNewFile,BufRead *.git/MERGE_MSG          setf gitcommit
 au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
 au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
-au BufNewFile,BufRead *.git/modules/**/config  setf gitconfig
-au BufNewFile,BufRead git-rebase-todo          setf gitrebase
+au BufNewFile,BufRead *.git/modules/**/config  setf gitconfig
+au BufNewFile,BufRead git-rebase-todo          setf gitrebase
 au BufNewFile,BufRead .msg.[0-9]*
       \ if getline(1) =~ '^From.*# This line is ignored.$' |
       \   setf gitsendemail |
@@ -781,7 +784,7 @@ au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
 " Gitolite
 au BufNewFile,BufRead gitolite.conf            setf gitolite
 au BufNewFile,BufRead */gitolite-admin/conf/*  call s:StarSetf('gitolite')
-au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc      setf perl
+au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc      setf perl
 
 " Gnuplot scripts
 au BufNewFile,BufRead *.gpi                    setf gnuplot
@@ -2412,10 +2415,10 @@ endfunc
 au BufNewFile,BufRead *.yaml,*.yml             setf yaml
 
 " yum conf (close enough to dosini)
-au BufNewFile,BufRead */etc/yum.conf           setf dosini
+au BufNewFile,BufRead */etc/yum.conf           setf dosini
 
 " Zimbu
-au BufNewFile,BufRead *.zu                     setf zimbu
+au BufNewFile,BufRead *.zu                     setf zimbu
 
 " Zope
 "   dtml (zope dynamic template markup language), pt (zope page template),
@@ -2588,7 +2591,7 @@ au BufNewFile,BufRead *xmodmap*                   call s:StarSetf('xmodmap')
 au BufNewFile,BufRead */etc/xinetd.d/*         call s:StarSetf('xinetd')
 
 " yum conf (close enough to dosini)
-au BufNewFile,BufRead */etc/yum.repos.d/*      call s:StarSetf('dosini')
+au BufNewFile,BufRead */etc/yum.repos.d/*      call s:StarSetf('dosini')
 
 " Z-Shell script
 au BufNewFile,BufRead zsh*,zlog*               call s:StarSetf('zsh')
diff --git a/runtime/syntax/asciidoc.vim b/runtime/syntax/asciidoc.vim
new file mode 100644 (file)
index 0000000..1303db7
--- /dev/null
@@ -0,0 +1,183 @@
+" Vim syntax file
+" Language:     AsciiDoc
+" Author:       Stuart Rackham <srackham@gmail.com> (inspired by Felix
+"               Obenhuber's original asciidoc.vim script).
+" URL:          http://asciidoc.org/
+" Licence:      GPL (http://www.gnu.org)
+" Remarks:      Vim 6 or greater
+" Limitations:
+" 
+" - Nested quoted text formatting is highlighted according to the outer
+"   format.
+" - If a closing Example Block delimiter may be mistaken for a title
+"   underline. A workaround is to insert a blank line before the closing
+"   delimiter.
+" - Lines within a paragraph starting with equals characters are
+"   highlighted as single-line titles.
+" - Lines within a paragraph beginning with a period are highlighted as
+"   block titles.
+
+
+if exists("b:current_syntax")
+  finish
+endif
+
+syn clear
+syn sync fromstart
+syn sync linebreaks=100
+
+" Run :help syn-priority to review syntax matching priority.
+syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED
+syn match asciidocBackslash /\\/
+syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/
+syn match asciidocCallout /\\\@<!<\d\{1,2}>/
+syn match asciidocOpenBlockDelimiter /^--$/
+syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList
+syn match asciidocRuler /^'\{3,}$/
+syn match asciidocPagebreak /^<\{3,}$/
+syn match asciidocEntityRef /\\\@<!&[#a-zA-Z]\S\{-};/
+syn region asciidocLiteralParagraph start=/\(\%^\|\_^\s*\n\)\@<=\s\+\S\+/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocToDo
+syn match asciidocURL /\\\@<!\<\(http\|https\|ftp\|file\|irc\):\/\/[^| \t]*\(\w\|\/\)/
+syn match asciidocEmail /[\\.:]\@<!\(\<\|<\)\w\(\w\|[.-]\)*@\(\w\|[.-]\)*\w>\?[0-9A-Za-z_]\@!/
+syn match asciidocAttributeRef /\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}/
+
+" As a damage control measure quoted patterns always terminate at a blank
+" line (see 'Limitations' above).
+syn match asciidocQuotedAttributeList /\\\@<!\[[a-zA-Z0-9_-][a-zA-Z0-9 _-]*\][+_'`#*]\@=/
+syn match asciidocQuotedSubscript /\\\@<!\~\S\_.\{-}\(\~\|\n\s*\n\)/ contains=asciidocEntityRef
+syn match asciidocQuotedSuperscript /\\\@<!\^\S\_.\{-}\(\^\|\n\s*\n\)/ contains=asciidocEntityRef
+
+syn match asciidocQuotedMonospaced /\(^\|[| \t([.,=\]]\)\@<=+\([+ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(+\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+syn match asciidocQuotedMonospaced2 /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(`\([| \t)[\],.?!;:=]\|$\)\@=\)/
+syn match asciidocQuotedUnconstrainedMonospaced /[\\+]\@<!++\S\_.\{-}\(++\|\n\s*\n\)/ contains=asciidocEntityRef
+
+syn match asciidocQuotedEmphasized /\(^\|[| \t([.,=\]]\)\@<=_\([_ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(_\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+syn match asciidocQuotedEmphasized2 /\(^\|[| \t([.,=\]]\)\@<='\([' \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+syn match asciidocQuotedUnconstrainedEmphasized /\\\@<!__\S\_.\{-}\(__\|\n\s*\n\)/ contains=asciidocEntityRef
+
+syn match asciidocQuotedBold /\(^\|[| \t([.,=\]]\)\@<=\*\([* \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(\*\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+syn match asciidocQuotedUnconstrainedBold /\\\@<!\*\*\S\_.\{-}\(\*\*\|\n\s*\n\)/ contains=asciidocEntityRef
+
+" Don't allow ` in single quoted (a kludge to stop confusion with `monospaced`).
+syn match asciidocQuotedSingleQuoted /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\([^`]\|\n\(\s*\n\)\@!\)\{-}[^` \t]\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+
+syn match asciidocQuotedDoubleQuoted /\(^\|[| \t([.,=\]]\)\@<=``\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(''\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
+
+syn match asciidocDoubleDollarPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=\$\$..\{-}\(\$\$\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
+syn match asciidocTriplePlusPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=+++..\{-}\(+++\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
+
+syn match asciidocAdmonition /^\u\{3,15}:\(\s\+.*\)\@=/
+
+syn region asciidocTable_OLD start=/^\([`.']\d*[-~_]*\)\+[-~_]\+\d*$/ end=/^$/
+syn match asciidocBlockTitle /^\.[^. \t].*[^-~_]$/ contains=asciidocQuoted.*,asciidocAttributeRef
+syn match asciidocTitleUnderline /[-=~^+]\{2,}$/ transparent contained contains=NONE
+syn match asciidocOneLineTitle /^=\{1,5}\s\+\S.*$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash
+syn match asciidocTwoLineTitle /^[^. +/].*[^.]\n[-=~^+]\{3,}$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocTitleUnderline
+
+syn match asciidocAttributeList /^\[[^[ \t].*\]$/
+syn match asciidocQuoteBlockDelimiter /^_\{4,}$/
+syn match asciidocExampleBlockDelimiter /^=\{4,}$/
+syn match asciidocSidebarDelimiter /^*\{4,}$/
+
+" See http://vimdoc.sourceforge.net/htmldoc/usr_44.html for excluding region
+" contents from highlighting.
+syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained
+syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL
+syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained
+syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL
+
+syn match asciidocListContinuation /^+$/
+syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
+syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
+syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo
+syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$"
+
+" Allowing leading \w characters in the filter delimiter is to accomodate
+" the pre version 8.2.7 syntax and may be removed in future releases.
+syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/
+
+syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@<!<<"\{-}\(\w\|-\|_\|:\|\.\)\+"\?,\?/ end=/\(>>\)\|^$/ contains=asciidocQuoted.* keepend
+syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{2}\(\w\|-\|_\|:\|\.\)\+,\?/ end=/\]\{2}/ keepend
+syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{3}\(\w\|-\|_\|:\|\.\)\+/ end=/\]\{3}/ keepend
+syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/[\\0-9a-zA-Z]\@<!\w\(\w\|-\)*:\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef,asciidocEntityRef keepend
+" Highlight macro that starts with an attribute reference (a common idiom).
+syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/\(\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}\)\@<=\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
+syn region asciidocMacroAttributes matchgroup=asciidocIndexTerm start=/\\\@<!(\{2,3}/ end=/)\{2,3}/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
+
+syn match asciidocCommentLine "^//\([^/].*\|\)$" contains=asciidocToDo
+
+syn region asciidocAttributeEntry start=/^:\w/ end=/:\(\s\|$\)/ oneline
+
+" Lists.
+syn match asciidocListBullet /^\s*\zs\(-\|\*\{1,5}\)\ze\s/
+syn match asciidocListNumber /^\s*\zs\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\ze\s\+/
+syn region asciidocListLabel start=/^\s*/ end=/\(:\{2,4}\|;;\)$/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocToDo keepend
+" DEPRECATED: Horizontal label.
+syn region asciidocHLabel start=/^\s*/ end=/\(::\|;;\)\(\s\+\|\\$\)/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes keepend
+" Starts with any of the above.
+syn region asciidocList start=/^\s*\(-\|\*\{1,5}\)\s/ start=/^\s*\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\s\+/ start=/.\+\(:\{2,4}\|;;\)$/ end=/\(^[=*]\{4,}$\)\@=/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocList.\+,asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocCommentLine,asciidocAttributeList,asciidocToDo
+
+hi def link asciidocAdmonition Special
+hi def link asciidocAnchorMacro Macro
+hi def link asciidocAttributeEntry Special
+hi def link asciidocAttributeList Special
+hi def link asciidocAttributeMacro Macro
+hi def link asciidocAttributeRef Special
+hi def link asciidocBackslash Special
+hi def link asciidocBlockTitle Title
+hi def link asciidocCallout Label
+hi def link asciidocCommentBlock Comment
+hi def link asciidocCommentLine Comment
+hi def link asciidocDoubleDollarPassthrough Special
+hi def link asciidocEmail Macro
+hi def link asciidocEntityRef Special
+hi def link asciidocExampleBlockDelimiter Type
+hi def link asciidocFilterBlock Type
+hi def link asciidocHLabel Label
+hi def link asciidocIdMarker Special
+hi def link asciidocIndexTerm Macro
+hi def link asciidocLineBreak Special
+hi def link asciidocOpenBlockDelimiter Label
+hi def link asciidocListBullet Label
+hi def link asciidocListContinuation Label
+hi def link asciidocListingBlock Identifier
+hi def link asciidocListLabel Label
+hi def link asciidocListNumber Label
+hi def link asciidocLiteralBlock Identifier
+hi def link asciidocLiteralParagraph Identifier
+hi def link asciidocMacroAttributes Label
+hi def link asciidocMacro Macro
+hi def link asciidocOneLineTitle Title
+hi def link asciidocPagebreak Type
+hi def link asciidocPassthroughBlock Identifier
+hi def link asciidocQuoteBlockDelimiter Type
+hi def link asciidocQuotedAttributeList Special
+hi def link asciidocQuotedBold Special
+hi def link asciidocQuotedDoubleQuoted Label
+hi def link asciidocQuotedEmphasized2 Type
+hi def link asciidocQuotedEmphasized Type
+hi def link asciidocQuotedMonospaced2 Identifier
+hi def link asciidocQuotedMonospaced Identifier
+hi def link asciidocQuotedSingleQuoted Label
+hi def link asciidocQuotedSubscript Type
+hi def link asciidocQuotedSuperscript Type
+hi def link asciidocQuotedUnconstrainedBold Special
+hi def link asciidocQuotedUnconstrainedEmphasized Type
+hi def link asciidocQuotedUnconstrainedMonospaced Identifier
+hi def link asciidocRefMacro Macro
+hi def link asciidocRuler Type
+hi def link asciidocSidebarDelimiter Type
+hi def link asciidocTableBlock2 NONE
+hi def link asciidocTableBlock NONE
+hi def link asciidocTableDelimiter2 Label
+hi def link asciidocTableDelimiter Label
+hi def link asciidocTable_OLD Type
+hi def link asciidocTablePrefix2 Label
+hi def link asciidocTablePrefix Label
+hi def link asciidocToDo Todo
+hi def link asciidocTriplePlusPassthrough Special
+hi def link asciidocTwoLineTitle Title
+hi def link asciidocURL Macro
+let b:current_syntax = "asciidoc"
+
+" vim: wrap et sw=2 sts=2:
index c663c4eb5fee95cd0c7247cc94c777ab243f12f6..a171dfa2b64d4a2b906c9a18d7249ee0a5549e60 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    C
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2013 Mar 07
+" Last Change: 2013 Mar 13
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -110,30 +110,57 @@ endif
 " But avoid matching <::.
 syn cluster    cParenGroup     contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
 if exists("c_no_curly_error")
-  syn region   cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
-  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
-  syn match    cParenError     display ")"
-  syn match    cErrInParen     display contained "^[{}]\|^<%\|^%>"
+  if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
+    syn region cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
+    syn match  cParenError     display ")"
+    syn match  cErrInParen     display contained "^^<%\|^%>"
+  else
+    syn region cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
+    syn match  cParenError     display ")"
+    syn match  cErrInParen     display contained "^[{}]\|^<%\|^%>"
+  endif
 elseif exists("c_no_bracket_error")
-  syn region   cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
-  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
-  syn match    cParenError     display ")"
-  syn match    cErrInParen     display contained "[{}]\|<%\|%>"
+  if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
+    syn region cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
+    syn match  cParenError     display ")"
+    syn match  cErrInParen     display contained "<%\|%>"
+  else
+    syn region cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
+    syn match  cParenError     display ")"
+    syn match  cErrInParen     display contained "[{}]\|<%\|%>"
+  endif
 else
-  syn region   cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
-  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
-  syn match    cParenError     display "[\])]"
-  syn match    cErrInParen     display contained "[\]{}]\|<%\|%>"
-  syn region   cBracket        transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
+  if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
+    syn region cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
+    syn match  cParenError     display "[\])]"
+    syn match  cErrInParen     display contained "<%\|%>"
+    syn region cBracket        transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
+  else
+    syn region cParen          transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
+    " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+    syn region cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
+    syn match  cParenError     display "[\])]"
+    syn match  cErrInParen     display contained "[\]{}]\|<%\|%>"
+    syn region cBracket        transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
+  endif
   " cCppBracket: same as cParen but ends at end-of-line; used in cDefine
   syn region   cCppBracket     transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
   syn match    cErrInBracket   display contained "[);{}]\|<%\|%>"
 endif
 
-syntax region  cBadBlock       keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
+if &filetype ==# 'c' || exists("cpp_no_cpp11")
+  syn region   cBadBlock       keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
+endif
 
 "integer number, or floating point number without a dot and with "f".
 syn case ignore
@@ -170,16 +197,16 @@ if exists("c_comment_strings")
   " need to use a special type of cString: cCommentString, which also ends on
   " "*/", and sees a "*" at the start of the line as comment again.
   " Unfortunately this doesn't very well work for // type of comments :-(
-  syntax match cCommentSkip    contained "^\s*\*\($\|\s\+\)"
-  syntax region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
-  syntax region cComment2String        contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
-  syntax region  cCommentL     start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell
+  syn match    cCommentSkip    contained "^\s*\*\($\|\s\+\)"
+  syn region cCommentString    contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
+  syn region cComment2String   contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
+  syn region  cCommentL        start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell
   if exists("c_no_comment_fold")
     " Use "extend" here to have preprocessor lines not terminate halfway a
     " comment.
-    syntax region cComment     matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
+    syn region cComment        matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
   else
-    syntax region cComment     matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
+    syn region cComment        matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
   endif
 else
   syn region   cCommentL       start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError,@Spell
@@ -190,8 +217,8 @@ else
   endif
 endif
 " keep a // comment separately, it terminates a preproc. conditional
-syntax match   cCommentError   display "\*/"
-syntax match   cCommentStartError display "/\*"me=e-1 contained
+syn match      cCommentError   display "\*/"
+syn match      cCommentStartError display "/\*"me=e-1 contained
 
 syn keyword    cOperator       sizeof
 if exists("c_gnu")
@@ -343,7 +370,9 @@ syn region  cPreProc        start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>
 
 " Highlight User Labels
 syn cluster    cMultiGroup     contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
-syn region     cMulti          transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
+if &filetype ==# 'c' || exists("cpp_no_cpp11")
+  syn region   cMulti          transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
+endif
 " Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
 syn cluster    cLabelGroup     contains=cUserLabel
 syn match      cUserCont       display "^\s*\I\i*\s*:$" contains=@cLabelGroup
index feb89ee614ef497582f71c6a7feeb9f687df14a6..ec95020e22371f64cc50b273353f0cdc8d29a52d 100644 (file)
@@ -1,7 +1,8 @@
 " Vim syntax file
 " Language:    C++
-" Maintainer:  Ken Shan <ccshan@post.harvard.edu>
-" Last Change: 2002 Jul 15
+" Current Maintainer:  vim-jp (https://github.com/vim-jp/cpp-vim)
+" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
+" Last Change: 2012 Jun 14
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -19,7 +20,7 @@ else
   unlet b:current_syntax
 endif
 
-" C++ extentions
+" C++ extensions
 syn keyword cppStatement       new delete this friend using
 syn keyword cppAccess          public protected private
 syn keyword cppType            inline virtual explicit export bool wchar_t
@@ -30,9 +31,16 @@ syn match cppCast            "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
 syn match cppCast              "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
 syn keyword cppStorageClass    mutable
 syn keyword cppStructure       class typename template namespace
-syn keyword cppNumber          NPOS
 syn keyword cppBoolean         true false
 
+" C++ 11 extensions
+if !exists("cpp_no_cpp11")
+  syn keyword cppType          override final
+  syn keyword cppExceptions    noexcept
+  syn keyword cppStorageClass  constexpr decltype
+  syn keyword cppConstant      nullptr
+endif
+
 " The minimum and maximum operators in GNU C++
 syn match cppMinMax "[<>]?"
 
@@ -52,8 +60,8 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
   HiLink cppType               Type
   HiLink cppStorageClass       StorageClass
   HiLink cppStructure          Structure
-  HiLink cppNumber             Number
   HiLink cppBoolean            Boolean
+  HiLink cppConstant           Constant
   delcommand HiLink
 endif
 
index 4ccb7658d70fd24153e320d7a529ec783daa2b2c..4e008d29a880155e01066d7a7b35485c8f068235 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2012 April 29
+" Last Change: 2013 Jan 03
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -19,7 +19,7 @@ syn case ignore
 " Define some common expressions we can use later on
 syn match debchangelogName     contained "^[[:alnum:]][[:alnum:].+-]\+ "
 syn match debchangelogUrgency  contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget   contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|natty|oneiric|precise|quantal)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget   contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|oneiric|precise|quantal|raring)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
 syn match debchangelogVersion  contained "(.\{-})"
 syn match debchangelogCloses   contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 syn match debchangelogLP       contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
index 74b41b2f0e458cdf7f0224db4f38c3d6f9d69021..06a5197237a607b8a5f916e33c298c5a5810b51f 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2012 Jun 06
+" Last Change: 2012 Dec 31
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -50,7 +50,9 @@ syn match debcontrolComment "^#.*$" contains=@Spell
 syn case ignore
 
 " List of all legal keys
-syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
+syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\): *"
+
+syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
 
 " Fields for which we do strict syntax checking
 syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
@@ -64,7 +66,7 @@ syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Da
 syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
 syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
 syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
+syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
 
 " Catch-all for the other legal fields
 syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
@@ -83,6 +85,7 @@ if version >= 508 || !exists("did_debcontrol_syn_inits")
   HiLink debcontrolKey         Keyword
   HiLink debcontrolField       Normal
   HiLink debcontrolStrictField Error
+  HiLink debcontrolDeprecatedKey       Error
   HiLink debcontrolMultiField  Normal
   HiLink debcontrolArchitecture        Normal
   HiLink debcontrolMultiArch   Normal
index 0a645dd66e817f45034c3609afb28ce59435aa35..7c64471877d7e79db5f8ffa9471870891f13b6c9 100644 (file)
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2012 April 29
+" Last Change: 2013 Jan 03
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -23,7 +23,7 @@ syn match debsourcesComment        /#.*/  contains=@Spell
 
 " Match uri's
 syn match debsourcesUri            +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^'   <>"]\++
-syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|natty\|oneiric\|precise\|quantal\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|oneiric\|precise\|quantal\|raring\)\([-[:alnum:]_./]*\)+
 
 " Associate our matches and regions with pretty colours
 hi def link debsourcesLine            Error
index 84e37aea9557c10b18cfa37614c8fa60499eb661..62764ca6937b13303d5f512ecdb7cbbacbab83fe 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    dts/dtsi (device tree files)
 " Maintainer:  Daniel Mack <vim@zonque.org>
-" Last Change: 2012 Oct 04
+" Last Change: 2013 Mar 11
 
 if exists("b:current_syntax")
   finish
@@ -13,6 +13,7 @@ syntax region dtsBinaryProperty start="\[" end="\]"
 syntax match  dtsStringProperty "\".*\""
 syntax match  dtsKeyword        "/.*/"
 syntax match  dtsLabel          "^[[:space:]]*[[:alpha:][:digit:]_]\+:"
+syntax match  dtsNode           /[[:alpha:][:digit:]-_]\+\(@[0-9a-eA-E]\+\|\)[[:space:]]*{/he=e-1
 syntax region dtsCellProperty   start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment
 syntax region dtsCommentInner   start="/\*"  end="\*/"
 
@@ -21,6 +22,7 @@ hi def link dtsBinaryProperty   Number
 hi def link dtsStringProperty   String
 hi def link dtsKeyword          Include
 hi def link dtsLabel            Label
+hi def link dtsNode             Structure
 hi def link dtsReference        Macro
 hi def link dtsComment          Comment
 hi def link dtsCommentInner     Comment 
index 5b256f39893b724d56599ec73e2faedc295ec2aa..745a0971e3b5edab99566889de315beab281250e 100644 (file)
@@ -2,9 +2,9 @@
 " Language:    Groovy
 " Original Author:     Alessio Pace <billy.corgan@tiscali.it>
 " Maintainer:  Tobias Rapp <yahuxo@gmx.de>
-" Version:     0.1.11
+" Version:     0.1.12
 " URL:   http://www.vim.org/scripts/script.php?script_id=945
-" Last Change: 2012 Jan 08
+" Last Change: 2013 Mar 14
 
 " THE ORIGINAL AUTHOR'S NOTES:
 "
@@ -250,13 +250,17 @@ syn match   groovyComment          "/\*\*/"
 " Strings and constants
 syn match   groovySpecialError     contained "\\."
 syn match   groovySpecialCharError contained "[^']"
-syn match   groovySpecialChar      contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
+syn match   groovySpecialChar      contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)"
+syn match   groovyRegexChar        contained "\\."
 syn region  groovyString          start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
 syn region  groovyString          start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell
 syn region  groovyString          start=+"""+ end=+"""+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
 syn region  groovyString          start=+'''+ end=+'''+ contains=groovySpecialChar,groovySpecialError,@Spell
+" regex string
+syn region groovyString           start='/[^/]'  end='/' contains=groovySpecialChar,groovyRegexChar,groovyELExpr
 " syn region groovyELExpr start=+${+ end=+}+ keepend contained
- syn match groovyELExpr /\${.\{-}}/ contained
+syn match groovyELExpr /\${.\{-}}/ contained
+syn match groovyELExpr /\$[a-zA-Z_][a-zA-Z0-9_.]*/ contained
 GroovyHiLink groovyELExpr Identifier
 
 " TODO: better matching. I am waiting to understand how it really works in groovy
@@ -415,6 +419,7 @@ if version >= 508 || !exists("did_groovy_syn_inits")
   GroovyHiLink groovySpecialError      Error
   GroovyHiLink groovySpecialCharError  Error
   GroovyHiLink groovyString            String
+  GroovyHiLink groovyRegexChar         String
   GroovyHiLink groovyCharacter         Character
   GroovyHiLink groovySpecialChar       SpecialChar
   GroovyHiLink groovyNumber            Number
index f3c760441b4e11662f0b2757d2d02b89e115c782..3747d99dc0d703381bb854a61ccef428d0105b47 100644 (file)
@@ -2,8 +2,8 @@
 " Language:            shell (sh) Korn shell (ksh) bash (sh)
 " Maintainer:          Charles E. Campbell  <NdrOchipS@PcampbellAfamily.Mbiz>
 " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:         Nov 14, 2012
-" Version:             128
+" Last Change:         Mar 04, 2013
+" Version:             129
 " URL:         http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 " For options and settings, please use:      :help ft-sh-syntax
 " This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
@@ -108,7 +108,7 @@ syn cluster shArithList     contains=@shArithParenList,shParenError
 syn cluster shCaseEsacList     contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
 syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
 "syn cluster shColonList       contains=@shCaseList
-syn cluster shCommandSubList   contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion
+syn cluster shCommandSubList   contains=shArithmetic,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOption,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion
 syn cluster shCurlyList        contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
 syn cluster shDblQuoteList     contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
 syn cluster shDerefList        contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS
index 8a4d6751a77f3e7a00dfda9ec67ac650d465391d..4e2f9a8604018c50fcfc3f7d8ea392a07012e212 100644 (file)
@@ -20,6 +20,7 @@ syn keyword sliceQualifier  const extends idempotent implements local nonmutatin
 syn keyword sliceBoolean    false true
 
 " Include directives
+syn region  sliceIncluded    display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
 syn match   sliceIncluded   display contained "<[^>]*>"
 syn match   sliceInclude    display "^\s*#\s*include\>\s*["<]" contains=sliceIncluded
 
index d8a384a985af668655cf32cd1bddb65624706110..7649b27be09050347f6bd8e5bf0eb2181f4d0cfd 100644 (file)
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:    TeX
 " Maintainer:  Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change: Nov 14, 2012
-" Version:     75
-" URL:         http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
+" Last Change: Mar 11, 2013
+" Version:     77
+" URL:         http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
 "
 " Notes: {{{1
 "
@@ -52,8 +52,14 @@ if version >= 508 || !exists("did_tex_syntax_inits")
   command -nargs=+ HiLink hi def link <args>
  endif
 endif
+if exists("g:tex_no_error") && g:tex_no_error
+ let s:tex_no_error= 1
+endif
+if exists("g:tex_fast") && g:tex_fast
+ let s:tex_no_error= 1
+endif
 if exists("g:tex_tex") && !exists("g:tex_no_error")
- let g:tex_no_error= 1
+ let s:tex_no_error= 1
 endif
 
 " let user determine which classes of concealment will be supported
@@ -110,7 +116,7 @@ endif
 " Clusters: {{{1
 " --------
 syn cluster texCmdGroup                contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
-if !exists("g:tex_no_error")
+if !exists("s:tex_no_error")
  syn cluster texCmdGroup       add=texMathError
 endif
 syn cluster texEnvGroup                contains=texMatcher,texMathDelim,texSpecialChar,texStatement
@@ -132,7 +138,7 @@ if !exists("tex_no_math")
  syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
  syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
  syn cluster texMathZoneGroup  contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
- if !exists("g:tex_no_error")
+ if !exists("s:tex_no_error")
   syn cluster texMathMatchGroup        add=texMathError
   syn cluster texMathZoneGroup add=texMathError
  endif
@@ -153,26 +159,30 @@ if !exists("tex_no_math")
 endif
 
 " Try to flag {} and () mismatches: {{{1
-if !exists("g:tex_no_error")
- syn region texMatcher         matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texMatchGroup,texError
- syn region texMatcher         matchgroup=Delimiter start="\["                         end="]"         contains=@texMatchGroup,texError,@NoSpell
-else
- syn region texMatcher         matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texMatchGroup
- syn region texMatcher         matchgroup=Delimiter start="\["                         end="]"         contains=@texMatchGroup
-endif
-if !exists("g:tex_nospell") || !g:tex_nospell
- syn region texParen           start="("                                               end=")"         contains=@texMatchGroup,@Spell
-else
- syn region texParen           start="("                                               end=")"         contains=@texMatchGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'm'
+  if !exists("s:tex_no_error")
+   syn region texMatcher               matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texMatchGroup,texError
+   syn region texMatcher               matchgroup=Delimiter start="\["                         end="]"         contains=@texMatchGroup,texError,@NoSpell
+  else
+   syn region texMatcher               matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texMatchGroup
+   syn region texMatcher               matchgroup=Delimiter start="\["                         end="]"         contains=@texMatchGroup
+  endif
+  if !exists("g:tex_nospell") || !g:tex_nospell
+   syn region texParen         start="("                                               end=")"         contains=@texMatchGroup,@Spell
+  else
+   syn region texParen         start="("                                               end=")"         contains=@texMatchGroup
+  endif
 endif
-if !exists("g:tex_no_error")
+if !exists("s:tex_no_error")
  syn match  texError           "[}\])]"
 endif
-if !exists("tex_no_math")
- if !exists("g:tex_no_error")
-  syn match  texMathError      "}"     contained
- endif
- syn region texMathMatcher     matchgroup=Delimiter    start="{"          skip="\\\\\|\\}"     end="}" end="%stopzone\>"       contained contains=@texMathMatchGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'M'
+  if !exists("tex_no_math")
+   if !exists("s:tex_no_error")
+    syn match  texMathError    "}"     contained
+   endif
+   syn region texMathMatcher   matchgroup=Delimiter    start="{"          skip="\\\\\|\\}"     end="}" end="%stopzone\>"       contained contains=@texMathMatchGroup
+  endif
 endif
 
 " TeX/LaTeX keywords: {{{1
@@ -182,7 +192,7 @@ if exists("g:tex_tex") || b:tex_stylish
   syn match texStatement       "\\[a-zA-Z@]\+"
 else
   syn match texStatement       "\\\a\+"
-  if !exists("g:tex_no_error")
+  if !exists("s:tex_no_error")
    syn match texError          "\\\a*@[a-zA-Z@]*"
   endif
 endif
@@ -210,12 +220,16 @@ syn match texLigature             "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
 
 " \begin{}/\end{} section markers: {{{1
 syn match  texBeginEnd         "\\begin\>\|\\end\>" nextgroup=texBeginEndName
-syn region texBeginEndName     matchgroup=Delimiter    start="{"               end="}" contained       nextgroup=texBeginEndModifier   contains=texComment
-syn region texBeginEndModifier matchgroup=Delimiter    start="\["              end="]" contained       contains=texComment,@NoSpell
+if !exists("g:tex_fast") || g:tex_fast =~ 'm'
+  syn region texBeginEndName   matchgroup=Delimiter    start="{"               end="}" contained       nextgroup=texBeginEndModifier   contains=texComment
+  syn region texBeginEndModifier       matchgroup=Delimiter    start="\["              end="]" contained       contains=texComment,@NoSpell
+endif
 
 " \documentclass, \documentstyle, \usepackage: {{{1
 syn match  texDocType          "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>"  nextgroup=texBeginEndName,texDocTypeArgs
-syn region texDocTypeArgs      matchgroup=Delimiter start="\[" end="]"                 contained       nextgroup=texBeginEndName       contains=texComment,@NoSpell
+if !exists("g:tex_fast") || g:tex_fast =~ 'm'
+  syn region texDocTypeArgs    matchgroup=Delimiter start="\[" end="]"                 contained       nextgroup=texBeginEndName       contains=texComment,@NoSpell
+endif
 
 " Preamble syntax-based folding support: {{{1
 if g:tex_fold_enabled && has("folding")
@@ -227,7 +241,9 @@ syn match texInput          "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7                            contains=texStatemen
 syn match texInputFile         "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}"        contains=texStatement,texInputCurlies,texInputFileOpt
 syn match texInputFile         "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}"         contains=texStatement,texInputCurlies,texInputFileOpt
 syn match texInputCurlies      "[{}]"                                                          contained
-syn region texInputFileOpt     matchgroup=Delimiter start="\[" end="\]"                        contained       contains=texComment
+if !exists("g:tex_fast") || g:tex_fast =~ 'm'
+ syn region texInputFileOpt    matchgroup=Delimiter start="\[" end="\]"                        contained       contains=texComment
+endif
 
 " Type Styles (LaTeX 2.09): {{{1
 syn match texTypeStyle         "\\rm\>"
@@ -293,62 +309,66 @@ syn match texSpaceCode            "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=
 syn match texSpaceCodeChar    "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
 
 " Sections, subsections, etc: {{{1
-if !exists("g:tex_nospell") || !g:tex_nospell
- if g:tex_fold_enabled && has("folding")
-  syn region texDocZone                        matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 fold contains=@texFoldGroup,@texDocGroup,@Spell
-  syn region texPartZone               matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              fold contains=@texFoldGroup,@texPartGroup,@Spell
-  syn region texChapterZone            matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   fold contains=@texFoldGroup,@texChapterGroup,@Spell
-  syn region texSectionZone            matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        fold contains=@texFoldGroup,@texSectionGroup,@Spell
-  syn region texSubSectionZone         matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
-  syn region texSubSubSectionZone      matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
-  syn region texParaZone               matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  fold contains=@texFoldGroup,@texParaGroup,@Spell
-  syn region texSubParaZone            matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        fold contains=@texFoldGroup,@Spell
-  syn region texTitle                  matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        fold contains=@texFoldGroup,@Spell
-  syn region texAbstract               matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 fold contains=@texFoldGroup,@Spell
- else
-  syn region texDocZone                        matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 contains=@texFoldGroup,@texDocGroup,@Spell
-  syn region texPartZone               matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              contains=@texFoldGroup,@texPartGroup,@Spell
-  syn region texChapterZone            matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   contains=@texFoldGroup,@texChapterGroup,@Spell
-  syn region texSectionZone            matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        contains=@texFoldGroup,@texSectionGroup,@Spell
-  syn region texSubSectionZone         matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              contains=@texFoldGroup,@texSubSectionGroup,@Spell
-  syn region texSubSubSectionZone      matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
-  syn region texParaZone               matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  contains=@texFoldGroup,@texParaGroup,@Spell
-  syn region texSubParaZone            matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        contains=@texFoldGroup,@Spell
-  syn region texTitle                  matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        contains=@texFoldGroup,@Spell
-  syn region texAbstract               matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 contains=@texFoldGroup,@Spell
- endif
-else
- if g:tex_fold_enabled && has("folding")
-  syn region texDocZone                        matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 fold contains=@texFoldGroup,@texDocGroup
-  syn region texPartZone               matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              fold contains=@texFoldGroup,@texPartGroup
-  syn region texChapterZone            matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   fold contains=@texFoldGroup,@texChapterGroup
-  syn region texSectionZone            matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        fold contains=@texFoldGroup,@texSectionGroup
-  syn region texSubSectionZone         matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              fold contains=@texFoldGroup,@texSubSectionGroup
-  syn region texSubSubSectionZone      matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           fold contains=@texFoldGroup,@texSubSubSectionGroup
-  syn region texParaZone               matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  fold contains=@texFoldGroup,@texParaGroup
-  syn region texSubParaZone            matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        fold contains=@texFoldGroup
-  syn region texTitle                  matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        fold contains=@texFoldGroup
-  syn region texAbstract               matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 fold contains=@texFoldGroup
- else
-  syn region texDocZone                        matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 contains=@texFoldGroup,@texDocGroup
-  syn region texPartZone               matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              contains=@texFoldGroup,@texPartGroup
-  syn region texChapterZone            matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   contains=@texFoldGroup,@texChapterGroup
-  syn region texSectionZone            matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        contains=@texFoldGroup,@texSectionGroup
-  syn region texSubSectionZone         matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              contains=@texFoldGroup,@texSubSectionGroup
-  syn region texSubSubSectionZone      matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           contains=@texFoldGroup,@texSubSubSectionGroup
-  syn region texParaZone               matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  contains=@texFoldGroup,@texParaGroup
-  syn region texSubParaZone            matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        contains=@texFoldGroup
-  syn region texTitle                  matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        contains=@texFoldGroup
-  syn region texAbstract               matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 contains=@texFoldGroup
- endif
+if !exists("g:tex_fast") || g:tex_fast =~ 'p'
+  if !exists("g:tex_nospell") || !g:tex_nospell
+   if g:tex_fold_enabled && has("folding")
+    syn region texDocZone                      matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 fold contains=@texFoldGroup,@texDocGroup,@Spell
+    syn region texPartZone             matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              fold contains=@texFoldGroup,@texPartGroup,@Spell
+    syn region texChapterZone          matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   fold contains=@texFoldGroup,@texChapterGroup,@Spell
+    syn region texSectionZone          matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        fold contains=@texFoldGroup,@texSectionGroup,@Spell
+    syn region texSubSectionZone               matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
+    syn region texSubSubSectionZone    matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
+    syn region texParaZone             matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  fold contains=@texFoldGroup,@texParaGroup,@Spell
+    syn region texSubParaZone          matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        fold contains=@texFoldGroup,@Spell
+    syn region texTitle                        matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        fold contains=@texFoldGroup,@Spell
+    syn region texAbstract             matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 fold contains=@texFoldGroup,@Spell
+   else
+    syn region texDocZone                      matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 contains=@texFoldGroup,@texDocGroup,@Spell
+    syn region texPartZone             matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              contains=@texFoldGroup,@texPartGroup,@Spell
+    syn region texChapterZone          matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   contains=@texFoldGroup,@texChapterGroup,@Spell
+    syn region texSectionZone          matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        contains=@texFoldGroup,@texSectionGroup,@Spell
+    syn region texSubSectionZone               matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              contains=@texFoldGroup,@texSubSectionGroup,@Spell
+    syn region texSubSubSectionZone    matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
+    syn region texParaZone             matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  contains=@texFoldGroup,@texParaGroup,@Spell
+    syn region texSubParaZone          matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        contains=@texFoldGroup,@Spell
+    syn region texTitle                        matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        contains=@texFoldGroup,@Spell
+    syn region texAbstract             matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 contains=@texFoldGroup,@Spell
+   endif
+  else
+   if g:tex_fold_enabled && has("folding")
+    syn region texDocZone                      matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 fold contains=@texFoldGroup,@texDocGroup
+    syn region texPartZone             matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              fold contains=@texFoldGroup,@texPartGroup
+    syn region texChapterZone          matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   fold contains=@texFoldGroup,@texChapterGroup
+    syn region texSectionZone          matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        fold contains=@texFoldGroup,@texSectionGroup
+    syn region texSubSectionZone               matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              fold contains=@texFoldGroup,@texSubSectionGroup
+    syn region texSubSubSectionZone    matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           fold contains=@texFoldGroup,@texSubSubSectionGroup
+    syn region texParaZone             matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  fold contains=@texFoldGroup,@texParaGroup
+    syn region texSubParaZone          matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        fold contains=@texFoldGroup
+    syn region texTitle                        matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        fold contains=@texFoldGroup
+    syn region texAbstract             matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 fold contains=@texFoldGroup
+   else
+    syn region texDocZone                      matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'                                                                                 contains=@texFoldGroup,@texDocGroup
+    syn region texPartZone             matchgroup=texSection start='\\part\>'                   end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'                                                              contains=@texFoldGroup,@texPartGroup
+    syn region texChapterZone          matchgroup=texSection start='\\chapter\>'                end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                                   contains=@texFoldGroup,@texChapterGroup
+    syn region texSectionZone          matchgroup=texSection start='\\section\>'                end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                                        contains=@texFoldGroup,@texSectionGroup
+    syn region texSubSectionZone               matchgroup=texSection start='\\subsection\>'             end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                              contains=@texFoldGroup,@texSubSectionGroup
+    syn region texSubSubSectionZone    matchgroup=texSection start='\\subsubsection\>'          end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                           contains=@texFoldGroup,@texSubSubSectionGroup
+    syn region texParaZone             matchgroup=texSection start='\\paragraph\>'              end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'                  contains=@texFoldGroup,@texParaGroup
+    syn region texSubParaZone          matchgroup=texSection start='\\subparagraph\>'           end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'        contains=@texFoldGroup
+    syn region texTitle                        matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'                                                                                                        contains=@texFoldGroup
+    syn region texAbstract             matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'                                                                                 contains=@texFoldGroup
+   endif
+  endif
 endif
 
 " particular support for bold and italic {{{1
-if s:tex_conceal =~ 'b'
- syn region texBoldStyle       matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
- syn region texBoldItalStyle   matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
- syn region texItalStyle       matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
- syn region texItalBoldStyle   matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'b'
+  if s:tex_conceal =~ 'b'
+   syn region texBoldStyle     matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
+   syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
+   syn region texItalStyle     matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
+   syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
+  endif
 endif
 
 " Bad Math (mismatched): {{{1
@@ -373,17 +393,21 @@ if !exists("tex_no_math")
     let foldcmd= ""
    endif
    exe "syn cluster texMathZones add=".grpname
-   exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
-   exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
-   exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+   if !exists("g:tex_fast") || g:tex_fast =~ 'M'
+    exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
+    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+   endif
    exe 'hi def link '.grpname.' texMath'
    if a:starform
     let grpname  = "texMathZone".a:sfx.'S'
     let syncname = "texSyncMathZone".a:sfx.'S'
     exe "syn cluster texMathZones add=".grpname
-    exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
-    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
-    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+    if !exists("g:tex_fast") || g:tex_fast =~ 'M'
+     exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
+     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
+    endif
     exe 'hi def link '.grpname.' texMath'
    endif
  endfun
@@ -403,26 +427,30 @@ if !exists("tex_no_math")
  call TexNewMathZone("L","xxalignat",0)
 
  " Inline Math Zones: {{{2
- if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd'
-  syn region texMathZoneV      matchgroup=Delimiter start="\\("                        matchgroup=Delimiter end="\\)\|%stopzone\>"     keepend concealends contains=@texMathZoneGroup
-  syn region texMathZoneW      matchgroup=Delimiter start="\\\["                       matchgroup=Delimiter end="\\]\|%stopzone\>"     keepend concealends contains=@texMathZoneGroup
-  syn region texMathZoneX      matchgroup=Delimiter start="\$" skip="\\\\\|\\\$"       matchgroup=Delimiter end="\$" end="%stopzone\>"         concealends contains=@texMathZoneGroup
-  syn region texMathZoneY      matchgroup=Delimiter start="\$\$"                       matchgroup=Delimiter end="\$\$" end="%stopzone\>"       concealends keepend             contains=@texMathZoneGroup
- else
-  syn region texMathZoneV      matchgroup=Delimiter start="\\("                        matchgroup=Delimiter end="\\)\|%stopzone\>"     keepend contains=@texMathZoneGroup
-  syn region texMathZoneW      matchgroup=Delimiter start="\\\["                       matchgroup=Delimiter end="\\]\|%stopzone\>"     keepend contains=@texMathZoneGroup
-  syn region texMathZoneX      matchgroup=Delimiter start="\$" skip="\\\\\|\\\$"       matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
-  syn region texMathZoneY      matchgroup=Delimiter start="\$\$"                       matchgroup=Delimiter end="\$\$" end="%stopzone\>"       keepend         contains=@texMathZoneGroup
+ if !exists("g:tex_fast") || g:tex_fast =~ 'M'
+  if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd'
+   syn region texMathZoneV     matchgroup=Delimiter start="\\("                        matchgroup=Delimiter end="\\)\|%stopzone\>"     keepend concealends contains=@texMathZoneGroup
+   syn region texMathZoneW     matchgroup=Delimiter start="\\\["                       matchgroup=Delimiter end="\\]\|%stopzone\>"     keepend concealends contains=@texMathZoneGroup
+   syn region texMathZoneX     matchgroup=Delimiter start="\$" skip="\\\\\|\\\$"       matchgroup=Delimiter end="\$" end="%stopzone\>"         concealends contains=@texMathZoneGroup
+   syn region texMathZoneY     matchgroup=Delimiter start="\$\$"                       matchgroup=Delimiter end="\$\$" end="%stopzone\>"       concealends keepend             contains=@texMathZoneGroup
+  else
+   syn region texMathZoneV     matchgroup=Delimiter start="\\("                        matchgroup=Delimiter end="\\)\|%stopzone\>"     keepend contains=@texMathZoneGroup
+   syn region texMathZoneW     matchgroup=Delimiter start="\\\["                       matchgroup=Delimiter end="\\]\|%stopzone\>"     keepend contains=@texMathZoneGroup
+   syn region texMathZoneX     matchgroup=Delimiter start="\$" skip="\\\\\|\\\$"       matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
+   syn region texMathZoneY     matchgroup=Delimiter start="\$\$"                       matchgroup=Delimiter end="\$\$" end="%stopzone\>"       keepend         contains=@texMathZoneGroup
+  endif
+  syn region texMathZoneZ      matchgroup=texStatement start="\\ensuremath\s*{"        matchgroup=texStatement end="}" end="%stopzone\>"       contains=@texMathZoneGroup
  endif
- syn region texMathZoneZ       matchgroup=texStatement start="\\ensuremath\s*{"        matchgroup=texStatement end="}" end="%stopzone\>"       contains=@texMathZoneGroup
 
  syn match texMathOper         "[_^=]" contained
 
  " Text Inside Math Zones: {{{2
- if !exists("g:tex_nospell") || !g:tex_nospell
-  syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'       end='}' contains=@texFoldGroup,@Spell
- else
-  syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'       end='}' contains=@texFoldGroup
+ if !exists("g:tex_fast") || g:tex_fast =~ 'M'
+  if !exists("g:tex_nospell") || !g:tex_nospell
+   syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'      end='}' contains=@texFoldGroup,@Spell
+  else
+   syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'      end='}' contains=@texFoldGroup
+  endif
  endif
 
  " \left..something.. and \right..something.. support: {{{2
@@ -512,65 +540,77 @@ else
    " allows syntax-folding of 2 or more contiguous comment lines
    " single-line comments are not folded
    syn match  texComment       "%.*$"                  contains=@texCommentGroup
-   syn region texComment       start="^\zs\s*%.*\_s*%" skip="^\s*%"    end='^\ze\s*[^%]' fold
-   syn region texNoSpell       contained fold          matchgroup=texComment start="%\s*nospell\s*{"   end="%\s*nospell\s*}"   contains=@texFoldGroup,@NoSpell
+   if !exists("g:tex_fast") || g:tex_fast =~ 'c'
+    syn region texComment      start="^\zs\s*%.*\_s*%" skip="^\s*%"    end='^\ze\s*[^%]' fold
+    syn region texNoSpell      contained fold          matchgroup=texComment start="%\s*nospell\s*{"   end="%\s*nospell\s*}"   contains=@texFoldGroup,@NoSpell
+   endif
   else
    syn match texComment                "%.*$"                  contains=@texCommentGroup
-   syn region texNoSpell       contained               matchgroup=texComment start="%\s*nospell\s*{"   end="%\s*nospell\s*}"   contains=@texFoldGroup,@NoSpell
+   if !exists("g:tex_fast") || g:tex_fast =~ 'c'
+    syn region texNoSpell      contained               matchgroup=texComment start="%\s*nospell\s*{"   end="%\s*nospell\s*}"   contains=@texFoldGroup,@NoSpell
+   endif
   endif
 endif
 
 " Separate lines used for verb` and verb# so that the end conditions {{{1
 " will appropriately terminate.
 " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
-if exists("g:tex_verbspell") && g:tex_verbspell
- syn region texZone            start="\\begin{[vV]erbatim}"            end="\\end{[vV]erbatim}\|%stopzone\>"   contains=@Spell
- " listings package:
- syn region texZone            start="\\begin{lstlisting}"             end="\\end{lstlisting}\|%stopzone\>"    contains=@Spell
- if version < 600
-  syn region texZone           start="\\verb\*\=`"                     end="`\|%stopzone\>"                    contains=@Spell
-  syn region texZone           start="\\verb\*\=#"                     end="#\|%stopzone\>"                    contains=@Spell
- else
-   if b:tex_stylish
-    syn region texZone         start="\\verb\*\=\z([^\ta-zA-Z@]\)"     end="\z1\|%stopzone\>"                  contains=@Spell
+if !exists("g:tex_fast") || g:tex_fast =~ 'v'
+  if exists("g:tex_verbspell") && g:tex_verbspell
+   syn region texZone          start="\\begin{[vV]erbatim}"            end="\\end{[vV]erbatim}\|%stopzone\>"   contains=@Spell
+   " listings package:
+   syn region texZone          start="\\begin{lstlisting}"             end="\\end{lstlisting}\|%stopzone\>"    contains=@Spell
+   if version < 600
+    syn region texZone         start="\\verb\*\=`"                     end="`\|%stopzone\>"                    contains=@Spell
+    syn region texZone         start="\\verb\*\=#"                     end="#\|%stopzone\>"                    contains=@Spell
    else
-    syn region texZone         start="\\verb\*\=\z([^\ta-zA-Z]\)"      end="\z1\|%stopzone\>"                  contains=@Spell
+     if b:tex_stylish
+      syn region texZone               start="\\verb\*\=\z([^\ta-zA-Z@]\)"     end="\z1\|%stopzone\>"                  contains=@Spell
+     else
+      syn region texZone               start="\\verb\*\=\z([^\ta-zA-Z]\)"      end="\z1\|%stopzone\>"                  contains=@Spell
+     endif
    endif
- endif
-else
- syn region texZone            start="\\begin{[vV]erbatim}"            end="\\end{[vV]erbatim}\|%stopzone\>"
- if version < 600
-  syn region texZone           start="\\verb\*\=`"                     end="`\|%stopzone\>"
-  syn region texZone           start="\\verb\*\=#"                     end="#\|%stopzone\>"
- else
-   if b:tex_stylish
-     syn region texZone                start="\\verb\*\=\z([^\ta-zA-Z@]\)"     end="\z1\|%stopzone\>"
+  else
+   syn region texZone          start="\\begin{[vV]erbatim}"            end="\\end{[vV]erbatim}\|%stopzone\>"
+   if version < 600
+    syn region texZone         start="\\verb\*\=`"                     end="`\|%stopzone\>"
+    syn region texZone         start="\\verb\*\=#"                     end="#\|%stopzone\>"
    else
-     syn region texZone                start="\\verb\*\=\z([^\ta-zA-Z]\)"      end="\z1\|%stopzone\>"
+     if b:tex_stylish
+       syn region texZone              start="\\verb\*\=\z([^\ta-zA-Z@]\)"     end="\z1\|%stopzone\>"
+     else
+       syn region texZone              start="\\verb\*\=\z([^\ta-zA-Z]\)"      end="\z1\|%stopzone\>"
+     endif
    endif
- endif
 endif
 endif
 
 " Tex Reference Zones: {{{1
-syn region texZone             matchgroup=texStatement start="@samp{"                  end="}\|%stopzone\>"    contains=@texRefGroup
-syn region texRefZone          matchgroup=texStatement start="\\nocite{"               end="}\|%stopzone\>"    contains=@texRefGroup
-syn region texRefZone          matchgroup=texStatement start="\\bibliography{"         end="}\|%stopzone\>"    contains=@texRefGroup
-syn region texRefZone          matchgroup=texStatement start="\\label{"                end="}\|%stopzone\>"    contains=@texRefGroup
-syn region texRefZone          matchgroup=texStatement start="\\\(page\|eq\)ref{"      end="}\|%stopzone\>"    contains=@texRefGroup
-syn region texRefZone          matchgroup=texStatement start="\\v\=ref{"               end="}\|%stopzone\>"    contains=@texRefGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'r'
+  syn region texZone           matchgroup=texStatement start="@samp{"                  end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefZone                matchgroup=texStatement start="\\nocite{"               end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefZone                matchgroup=texStatement start="\\bibliography{"         end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefZone                matchgroup=texStatement start="\\label{"                end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefZone                matchgroup=texStatement start="\\\(page\|eq\)ref{"      end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefZone                matchgroup=texStatement start="\\v\=ref{"               end="}\|%stopzone\>"    contains=@texRefGroup
+  syn region texRefOption      contained       matchgroup=Delimiter start='\[' end=']'         contains=@texRefGroup,texRefZone        nextgroup=texRefOption,texCite
+  syn region texCite   contained       matchgroup=Delimiter start='{' end='}'          contains=@texRefGroup,texRefZone,texCite
+endif
 syn match  texRefZone          '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
-syn region texRefOption        contained       matchgroup=Delimiter start='\[' end=']'         contains=@texRefGroup,texRefZone        nextgroup=texRefOption,texCite
-syn region texCite     contained       matchgroup=Delimiter start='{' end='}'          contains=@texRefGroup,texRefZone,texCite
 
 " Handle newcommand, newenvironment : {{{1
 syn match  texNewCmd                           "\\newcommand\>"                        nextgroup=texCmdName skipwhite skipnl
-syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1  end="}"          nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
-syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]"          nextgroup=texCmdBody skipwhite skipnl
-syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]"       matchgroup=Delimiter end="}" contains=@texCmdGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'V'
+  syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1  end="}"                nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
+  syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]"                nextgroup=texCmdBody skipwhite skipnl
+  syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]"     matchgroup=Delimiter end="}" contains=@texCmdGroup
+endif
 syn match  texNewEnv                           "\\newenvironment\>"                    nextgroup=texEnvName skipwhite skipnl
-syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1  end="}"          nextgroup=texEnvBgn skipwhite skipnl
-syn region texEnvBgn  contained matchgroup=Delimiter start="{"rs=s+1  end="}"          nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
-syn region texEnvEnd  contained matchgroup=Delimiter start="{"rs=s+1  end="}"          skipwhite skipnl contains=@texEnvGroup
+if !exists("g:tex_fast") || g:tex_fast =~ 'V'
+  syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1  end="}"                nextgroup=texEnvBgn skipwhite skipnl
+  syn region texEnvBgn  contained matchgroup=Delimiter start="{"rs=s+1  end="}"                nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
+  syn region texEnvEnd  contained matchgroup=Delimiter start="{"rs=s+1  end="}"                skipwhite skipnl contains=@texEnvGroup
+endif
 
 " Definitions/Commands: {{{1
 syn match texDefCmd                            "\\def\>"                               nextgroup=texDefName skipwhite skipnl
@@ -591,11 +631,15 @@ syn match  texLength              "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\
 syn match texString            "\(``\|''\|,,\)"
 
 " makeatletter -- makeatother sections
-if !exists("g:tex_no_error")
- syn region texStyle                   matchgroup=texStatement start='\\makeatletter' end='\\makeatother'      contains=@texStyleGroup contained
+if !exists("s:tex_no_error")
+ if !exists("g:tex_fast") || g:tex_fast =~ 'S'
+  syn region texStyle                  matchgroup=texStatement start='\\makeatletter' end='\\makeatother'      contains=@texStyleGroup contained
+ endif
  syn match  texStyleStatement          "\\[a-zA-Z@]\+" contained
- syn region texStyleMatcher            matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texStyleGroup,texError        contained
- syn region texStyleMatcher            matchgroup=Delimiter start="\["                         end="]"         contains=@texStyleGroup,texError        contained
+ if !exists("g:tex_fast") || g:tex_fast =~ 'S'
+  syn region texStyleMatcher           matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"      end="}"         contains=@texStyleGroup,texError        contained
+  syn region texStyleMatcher           matchgroup=Delimiter start="\["                         end="]"         contains=@texStyleGroup,texError        contained
+ endif
 endif
 
 " Conceal mode support (supports set cole=2) {{{1
@@ -970,8 +1014,10 @@ if has("conceal") && &enc == 'utf-8'
 
  " Superscripts/Subscripts {{{2
  if s:tex_conceal =~ 's'
-  syn region texSuperscript    matchgroup=Delimiter start='\^{'        skip="\\\\\|\\[{}]" end='}'     contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
-  syn region texSubscript      matchgroup=Delimiter start='_{'         skip="\\\\\|\\[{}]" end='}'     contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
+  if !exists("g:tex_fast") || g:tex_fast =~ 's'
+   syn region texSuperscript   matchgroup=Delimiter start='\^{'        skip="\\\\\|\\[{}]" end='}'     contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
+   syn region texSubscript     matchgroup=Delimiter start='_{'         skip="\\\\\|\\[{}]" end='}'     contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
+  endif
   fun! s:SuperSub(group,leader,pat,cchar)
     exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
     exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
@@ -1180,7 +1226,7 @@ endif
 if did_tex_syntax_inits == 1
  let did_tex_syntax_inits= 2
   " TeX highlighting groups which should share similar highlighting
-  if !exists("g:tex_no_error")
+  if !exists("s:tex_no_error")
    if !exists("tex_no_math")
     HiLink texBadMath          texError
     HiLink texMathDelimBad     texError
index 391e650108266e3e3fe13432c9511adbdf5f95b8..b02e2f1f473c65d139b2ffa2789ed999c6aa6de8 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Vim 7.3 script
-" Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Nov 14, 2012
-" Version:     7.3-20
+" Maintainer:  Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
+" Last Change: February 15, 2013
+" Version:     7.3-24
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -18,37 +18,36 @@ syn keyword vimTodo contained       COMBAK  FIXME   TODO    XXX
 syn cluster vimCommentGroup    contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained       a arga[dd] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec e:e:e en endt[ry] exu[sage] filetype fix[del] for go[to] h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv n new noautocmd on[ly] p:~ perld[o] popu[p] p[rint] promptr[epl] ptl[ast] ptr[ewind] py3file q[uit] r[ead] redraws[tatus] ret[ab] r:r:r ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellr[epall] st startr[eplace] sunme sw[apname] t tabf[ind] tabn[ext] ta[g] tf[irst] tn tp[revious] tu undoj[oin] up[date] vi vmapc[lear] win wN[ext] wundo xmapc[lear] xnoremenu
-syn keyword vimCommand contained       ab argd[elete] as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] e:e:r endf endw[hile] f fin fo[ld] fu gr[ep] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] Mycmd N n[ext] noh[lsearch] o[pen] P p:gs? pp[op] P[rint] ps[earch] ptn pts[elect] pyf[ile] quita[ll] rec[over] reg[isters] retu[rn] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme s?pat?sub? spellu[ndo] sta[g] stj[ump] sunmenu sy ta tabfir[st] tabN[ext] tags th[row] tN tr tu[nmenu] undol[ist] v vie[w] vne[w] winc[md] wp[revious] wv[iminfo] xme xterm
-syn keyword vimCommand contained       abc[lear] argdo au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] el[se] endfo[r] ene[w] f[ile] fina[lly] foldc[lose] fun grepa[dd] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] MyCommand nbc[lose] N[ext] nu[mber] opt[ions] pc[lose] p:h pr pro p:t ptN pu[t] py[thon] quote red Ren rew[ind] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spe spellw[rong] star st[op] sus[pend] syn tab tabl[ast] tabo[nly] tc[l] tj[ump] tn[ext] t:r u unh[ide] ve vim[grep] vs[plit] windo wq x xmenu xunme
-syn keyword vimCommand contained       abo[veleft] arge[dit] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon elsei[f] endfun Error filename fin[d] folddoc[losed] fu[nction] gs?pat?sub? helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz nb[key] nkf o ownsyntax pe p:h:h p:r profd[el] pta[g] ptn[ext] pw[d] python3 r redi[r] Rena ri[ght] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spelld[ump] sp[lit] start stopi[nsert] s?version?main? sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] X XMLent xunmenu
-syn keyword vimCommand contained       al[l] argg[lobal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] em[enu] endf[unction] ex files fini[sh] foldd[oopen] g gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p ped[it] po[p] pre[serve] prof[ile] ptf[irst] ptN[ext] py q re red[o] Renu rightb[elow] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spe[llgood] spr[evious] startg[replace] sts[elect] s?version?main?:p syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm TOhtml try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] xa[ll] XMLns xwininfo
-syn keyword vimCommand contained       Allargs argl[ocal] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier e:e emenu* en[dif] exi[t] filet fir[st] foldo[pen] get gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] mz[scheme] ne noa omapc[lear] p: pe[rl] popu prev[ious] promptf[ind] ptj[ump] ptp[revious] py3 qa[ll] r:e redr[aw] res[ize] r:r rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spelli[nfo] sre[wind] star[tinsert] sun[hide] sv[iew] synlist tabe[dit] tabnew tabs te[aroff] tm[enu] to[pleft] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] x[it] xnoreme y[ank]
-syn keyword vimCommand contained       ar ar[gs]
+syn keyword vimCommand contained       a arga[dd] ar[gs] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier el[se] endfo[r] ene[w] filename fin[d] folddoc[losed] fu[nction] gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] n new noautocmd on[ly] pc[lose] popu p[rint] promptr[epl] ptn pts[elect] py[thon] quote redi[r] res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme spe spellw[rong] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xterm
+syn keyword vimCommand contained       ab argd[elete] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec elsei[f] endfun ex files fini[sh] foldd[oopen] g gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] N n[ext] noh[lsearch] o[pen] pe popu[p] P[rint] ps[earch] ptN pu[t] python3 r red[o] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spelld[ump] sp[lit] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] XMLent xunme
+syn keyword vimCommand contained       abc[lear] argdo as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] em[enu] endf[unction] exi[t] filet fir[st] foldo[pen] get h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv nbc[lose] N[ext] nu[mber] opt[ions] ped[it] pp[op] pro pta[g] ptn[ext] pw[d] q re redr[aw] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spe[llgood] spr[evious] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] XMLns xunmenu
+syn keyword vimCommand contained       abo[veleft] arge[dit] au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] emenu* en[dif] exu[sage] filetype fix[del] for go[to] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] mz nb[key] nkf o ownsyntax pe[rl] pr profd[el] ptf[irst] ptN[ext] py qa[ll] r[ead] redraws[tatus] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spelli[nfo] sre[wind] star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xnoreme xwininfo
+syn keyword vimCommand contained       al[l] argg[lobal] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon en endt[ry] f fin fo[ld] fu gr[ep] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p perld[o] pre[serve] prof[ile] ptj[ump] ptp[revious] py3 q[uit] rec[over] reg[isters] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spellr[epall] st startr[eplace] sun[hide] sw[apname] synlist tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] TOhtml try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xnoremenu y[ank]
+syn keyword vimCommand contained       ar argl[ocal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] endf endw[hile] f[ile] fina[lly] foldc[lose] fun grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz[scheme] ne noa omapc[lear] P po[p] prev[ious] promptf[ind] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red Ren rightb[elow] ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellu[ndo] sta[g] 
 syn match   vimCommand contained       "\<z[-+^.=]\="
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained        acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf tabline tags tbs textmode timeout tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildignore winaltkeys winminwidth wmnu write
-syn keyword vimOption contained        ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabpagemax tagstack tenc textwidth timeoutlen tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildignorecase window winwidth wmw writeany
-syn keyword vimOption contained        akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shm showmode sj smd spell splitbelow ssl stl sw sxq tabstop tal term tf title to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wic wildmenu winfixheight wiv wop writebackup
-syn keyword vimOption contained        al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile syn tag tb termbidi tgst titlelen toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
-syn keyword vimOption contained        aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortname shq sm so spellfile spr st sts swapsync synmaxcol tagbsearch tbi termencoding thesaurus titleold toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
-syn keyword vimOption contained        allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype showbreak si smartcase softtabstop spelllang sps sta su swb syntax taglength tbidi terse tildeop titlestring top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
-syn keyword vimOption contained        altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf ta tagrelative tbis textauto
+syn keyword vimOption contained        acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildignore winaltkeys winminwidth wmnu write
+syn keyword vimOption contained        ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildignorecase window winwidth wmw writeany
+syn keyword vimOption contained        akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wic wildmenu winfixheight wiv wop writebackup
+syn keyword vimOption contained        al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
+syn keyword vimOption contained        aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
+syn keyword vimOption contained        allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
+syn keyword vimOption contained        altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring 
 
 " vimOptions: These are the turn-off setting variants {{{2
 syn keyword vimOption contained        noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopetag nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildignorecase* * nowinfixheight nowiv nowrap nowrite nowritebackup
 syn keyword vimOption contained        noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopeverbose nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
-syn keyword vimOption contained        noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol
+syn keyword vimOption contained        noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol 
 
 " vimOptions: These are the invertible variants {{{2
 syn keyword vimOption contained        invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscopetag invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invesckeys invex invexrc invfk invfoldenable invgdefault invhid invhk invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invvb invwa invwb invwfh invwildignorecase* * invwinfixheight invwiv invwrap invwrite invwritebackup
 syn keyword vimOption contained        invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopeverbose invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invet invexpandtab invfen invfkmap invgd invguipty invhidden invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invvisualbell invwarn invweirdinvert invwfw invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
-syn keyword vimOption contained        invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol
+syn keyword vimOption contained        invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol 
 
 " termcap codes (which can also be set) {{{2
 syn keyword vimOption contained        t_AB t_al t_bc t_ce t_cl t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
-syn keyword vimOption contained        t_AF t_AL t_cd t_Ce t_cm
+syn keyword vimOption contained        t_AF t_AL t_cd t_Ce t_cm 
 syn match   vimOption contained        "t_%1"
 syn match   vimOption contained        "t_#2"
 syn match   vimOption contained        "t_#4"
@@ -59,26 +58,26 @@ syn match   vimOption contained     "t_%i"
 syn match   vimOption contained        "t_k;"
 
 " unsupported settings: these are supported by vi but don't do anything in vim {{{2
-syn keyword vimErrSetting contained    hardtabs ht w1200 w300 w9600
+syn keyword vimErrSetting contained    hardtabs ht w1200 w300 w9600 
 
 " AutoCmd Events {{{2
 syn case ignore
-syn keyword vimAutoEvent contained     BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
+syn keyword vimAutoEvent contained     BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave 
 
 " Highlight commonly used Groupnames {{{2
-syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
+syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo 
 
 " Default highlighting groups {{{2
-syn keyword vimHLGroup contained       ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
+syn keyword vimHLGroup contained       ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu 
 syn match vimHLGroup contained "Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained      abs append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert items len line localtime map match matchdelete matchstr min mode nextnonblank pathshorten prevnonblank pumvisible readfile reltimestr remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth
-syn keyword vimFuncName contained      acos argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave isdirectory join libcall line2byte log maparg matchadd matchend max mkdir mzeval nr2char pow printf range reltime remote_expr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
-syn keyword vimFuncName contained      add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist
+syn keyword vimFuncName contained      abs and argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
+syn keyword vimFuncName contained      acos append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchend max mode nr2char pow pumvisible range reltimestr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar shiftwidth sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth xor
+syn keyword vimFuncName contained      add argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr 
 
-"--- syntax above generated by mkvimvim ---
+"--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
 
 " commands not picked up by the generator (due to non-standard format)
@@ -97,17 +96,17 @@ endif
 
 " Numbers {{{2
 " =======
-syn match vimNumber    "\<\d\+\([lL]\|\.\d\+\)\="
-syn match vimNumber    "-\d\+\([lL]\|\.\d\+\)\="
+syn match vimNumber    "\<\d\+\([lL]\|\.\d\+\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
+syn match vimNumber    "-\d\+\([lL]\|\.\d\+\)\="  skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
 syn match vimNumber    "\<0[xX]\x\+"
 syn match vimNumber    "#\x\{6}"
 
 " All vimCommands are contained by vimIsCommands. {{{2
 syn match vimCmdSep    "[:|]\+"        skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
 syn match vimIsCommand "\<\h\w*\>"     contains=vimCommand
-syn match vimVar               "\<[bwglsav]:\K\k*\>"
-syn match vimVar        contained      "\<\K\k*\>"
-syn match vimFBVar      contained   "\<[bwglsav]:\K\k*\>"
+syn match vimVar        contained      "\<\h\w*\>"
+syn match vimVar               "\<[bwglsav]:\h\w*\>"
+syn match vimFBVar      contained   "\<[bwglsav]:\h\w*\>"
 syn keyword vimCommand  contained      in
 
 " Insertions And Appends: insert append {{{2
@@ -137,9 +136,9 @@ syn keyword vimFTOption contained   detect indent off on plugin
 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
 syn cluster vimAugroupList     contains=vimIsCommand,vimCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
- syn region  vimAugroup        fold start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>"   contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
+ syn region  vimAugroup        fold start="\<aug\%[roup]\>\s\+\h\w*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>"   contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
 else
- syn region  vimAugroup        start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>"        contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
+ syn region  vimAugroup        start="\<aug\%[roup]\>\s\+\h\w*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>"        contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
 endif
 syn match   vimAugroup "aug\%[roup]!" contains=vimAugroupKey
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
@@ -150,7 +149,7 @@ syn keyword vimAugroupKey contained aug[roup]
 " Operators: {{{2
 " =========
 " COMBAK: vimOperParen used to have "oneline"
-syn cluster    vimOperGroup    contains=vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
+syn cluster    vimOperGroup    contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
 syn match      vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"       skipwhite nextgroup=vimString,vimSpecFile
 syn match      vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
 syn region     vimOperParen    matchgroup=vimParenSep  start="(" end=")" contains=@vimOperGroup
@@ -162,7 +161,7 @@ endif
 " Functions : Tag is provided for those who wish to highlight tagged functions {{{2
 " =========
 syn cluster    vimFuncList     contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
-syn cluster    vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
+syn cluster    vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
 syn match      vimFunction     "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*("   contains=@vimFuncList nextgroup=vimFuncBody
 
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
@@ -170,7 +169,7 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
 else
  syn region    vimFuncBody  contained  start="\ze("    matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)"             contains=@vimFuncBodyList
 endif
-syn match      vimFuncVar   contained  "a:\(\K\k*\|\d\+\)"
+syn match      vimFuncVar   contained  "a:\(\h\w*\|\d\+\)"
 syn match      vimFuncSID   contained  "\c<sid>\|\<s:"
 syn keyword    vimFuncKey   contained  fu[nction]
 syn match      vimFuncBlank contained  "\s\+"
@@ -246,7 +245,7 @@ syn match   vimStringCont   contained       +\(\\\\\|.\)\{-}[^\\]"+
 syn cluster    vimSubstList    contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
 syn cluster    vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
 syn cluster    vimSubstList    add=vimCollection
-syn match      vimSubst        "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
+syn match      vimSubst        "\(:\+\s*\|^\s*\||\s*\)\<\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[:[:alpha:]]\@!" nextgroup=vimSubstPat
 syn match      vimSubst        "s\%[ubstitute][:#[:alpha:]]\@!"        nextgroup=vimSubstPat contained
 syn match      vimSubst        "/\zss\%[ubstitute]\ze/"        nextgroup=vimSubstPat
 syn match      vimSubst1       contained       "s\%[ubstitute]\>"      nextgroup=vimSubstPat
@@ -290,7 +289,7 @@ syn match   vimCmplxRepeat  '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
 
 " Set command and associated set-options (vimOptions) with comment {{{2
 syn region     vimSet          matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
-syn region     vimSetEqual     contained       start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
+syn region     vimSetEqual     contained       start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
 syn region     vimSetString    contained       start=+="+hs=s+1        skip=+\\\\\|\\"+  end=+"+       contains=vimCtrlChar
 syn match      vimSetSep       contained       "[,:]"
 syn match      vimSetMod       contained       "&vim\=\|[!&?<]\|all&"
@@ -349,7 +348,7 @@ syn match   vimMenuBang     "!"     contained skipwhite nextgroup=@vimMenuList
 " Angle-Bracket Notation (tnx to Michael Geddes) {{{2
 " ======================
 syn case ignore
-syn match      vimNotation     "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
+syn match      vimNotation     "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\(page\)\=\(\|down\|up\|k\d\>\)\)>" contains=vimBracket
 syn match      vimNotation     "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>"     contains=vimBracket
 syn match      vimNotation     "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>"               contains=vimBracket
 syn match      vimNotation     '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1                     contains=vimBracket
@@ -408,7 +407,7 @@ syn keyword vimSynType      contained       clear   skipwhite nextgroup=vimGroupList
 
 " Syntax: cluster {{{2
 syn keyword    vimSynType      contained       cluster skipwhite nextgroup=vimClusterName
-syn region     vimClusterName  contained       matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
+syn region     vimClusterName  contained       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
 syn match      vimGroupAdd     contained       "add="  nextgroup=vimGroupList
 syn match      vimGroupRem     contained       "remove="       nextgroup=vimGroupList
 syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
@@ -420,14 +419,14 @@ syn cluster vimFuncBodyList add=vimSynType
 " Syntax: keyword {{{2
 syn cluster    vimSynKeyGroup  contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
 syn keyword    vimSynType      contained       keyword skipwhite nextgroup=vimSynKeyRegion
-syn region     vimSynKeyRegion contained oneline keepend       matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
+syn region     vimSynKeyRegion contained oneline keepend       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
 syn match      vimSynKeyOpt    contained       "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
 syn cluster vimFuncBodyList add=vimSynType
 
 " Syntax: match {{{2
 syn cluster    vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
 syn keyword    vimSynType      contained       match   skipwhite nextgroup=vimSynMatchRegion
-syn region     vimSynMatchRegion       contained keepend       matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
+syn region     vimSynMatchRegion       contained keepend       matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
 syn match      vimSynMtchOpt   contained       "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
 if has("conceal")
  syn match     vimSynMtchOpt   contained       "\<cchar="      nextgroup=vimSynMtchCchar
@@ -442,7 +441,7 @@ syn keyword vimSynType      contained       enable  list    manual  off     on      reset
 syn cluster    vimSynRegPatGroup       contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
 syn cluster    vimSynRegGroup  contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
 syn keyword    vimSynType      contained       region  skipwhite nextgroup=vimSynRegion
-syn region     vimSynRegion    contained keepend       matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
+syn region     vimSynRegion    contained keepend       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
 syn match      vimSynRegOpt    contained       "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
 syn match      vimSynReg       contained       "\(start\|skip\|end\)="he=e-1   nextgroup=vimSynRegPat
 syn match      vimSynMtchGrp   contained       "matchgroup="   nextgroup=vimGroup,vimHLGroup
@@ -468,9 +467,9 @@ syn keyword vimSyncRegion   contained       region  skipwhite       nextgroup=vimSynReg
 syn match      vimSyncLinebreak        contained       "\<linebreaks=" skipwhite       nextgroup=vimNumber
 syn keyword    vimSyncLinecont contained       linecont        skipwhite       nextgroup=vimSynRegPat
 syn match      vimSyncLines    contained       "\(min\|max\)\=lines="  nextgroup=vimNumber
-syn match      vimSyncGroupName        contained       "\k\+"  skipwhite       nextgroup=vimSyncKey
+syn match      vimSyncGroupName        contained       "\h\w*" skipwhite       nextgroup=vimSyncKey
 syn match      vimSyncKey      contained       "\<groupthere\|grouphere\>"     skipwhite nextgroup=vimSyncGroup
-syn match      vimSyncGroup    contained       "\k\+"  skipwhite       nextgroup=vimSynRegPat,vimSyncNone
+syn match      vimSyncGroup    contained       "\h\w*" skipwhite       nextgroup=vimSynRegPat,vimSyncNone
 syn keyword    vimSyncNone     contained       NONE
 
 " Additional IsCommand, here by reasons of precedence {{{2
@@ -541,8 +540,8 @@ syn match   vimCommentTitleLeader   '"\s\+'ms=s+1   contained
 " ====================
 syn match      vimSearch       '^\s*[/?].*'            contains=vimSearchDelim
 syn match      vimSearchDelim  '^\s*\zs[/?]\|[/?]$'    contained
-syn region     vimGlobal       matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
-syn region     vimGlobal       matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
+syn region     vimGlobal       matchgroup=Statement start='\<g\%[lobal]!\=/'  skip='\\.' end='/'       skipwhite nextgroup=vimSubst
+syn region     vimGlobal       matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'       skipwhite nextgroup=vimSubst
 
 " Scripts  : perl,ruby : Benoit Cerrina {{{2
 " =======    python,tcl: Johannes Zellner
@@ -753,9 +752,6 @@ syn sync match vimAugroupSyncA      groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
 " Highlighting Settings {{{2
 " ====================
 
-hi def link vimAuHighlight     vimHighlight
-hi def link vimSubst1  vimSubst
-hi def link vimBehaveModel     vimBehave
 
 if !exists("g:vimsyn_noerror")
  hi def link vimBehaveError    vimError
@@ -778,22 +774,43 @@ endif
 hi def link vimAbb     vimCommand
 hi def link vimAddress vimMark
 hi def link vimAugroupKey      vimCommand
+hi def link vimAuHighlight     vimHighlight
 hi def link vimAutoCmdOpt      vimOption
 hi def link vimAutoCmd vimCommand
+hi def link vimAutoEvent       Type
 hi def link vimAutoSet vimCommand
+hi def link vimBehaveModel     vimBehave
 hi def link vimBehave  vimCommand
+hi def link vimBracket Delimiter
+hi def link vimCmplxRepeat     SpecialChar
+hi def link vimCommand Statement
+hi def link vimComment Comment
 hi def link vimCommentString   vimString
+hi def link vimCommentTitle    PreProc
 hi def link vimCondHL  vimCommand
+hi def link vimContinue        Special
+hi def link vimCtrlChar        SpecialChar
 hi def link vimEchoHLNone      vimGroup
 hi def link vimEchoHL  vimCommand
+hi def link vimElseIfErr       Error
 hi def link vimElseif  vimCondHL
+hi def link vimEnvvar  PreProc
+hi def link vimError   Error
+hi def link vimFBVar   vimVar
 hi def link vimFgBgAttrib      vimHiAttrib
+hi def link vimFold    Folded
 hi def link vimFTCmd   vimCommand
 hi def link vimFTOption        vimSynType
 hi def link vimFuncKey vimCommand
+hi def link vimFuncName        Function
+hi def link vimFuncSID Special
+hi def link vimFuncVar Identifier
 hi def link vimGroupAdd        vimSynOption
 hi def link vimGroupName       vimGroup
 hi def link vimGroupRem        vimSynOption
+hi def link vimGroupSpecial    Special
+hi def link vimGroup   Type
+hi def link vimHiAttrib        PreProc
 hi def link vimHiClear vimHighlight
 hi def link vimHiCtermFgBg     vimHiTerm
 hi def link vimHiCTerm vimHiTerm
@@ -803,115 +820,97 @@ hi def link vimHiGuiFgBg vimHiTerm
 hi def link vimHiGuiFont       vimHiTerm
 hi def link vimHiGuiRgb        vimNumber
 hi def link vimHiGui   vimHiTerm
+hi def link vimHiNmbr  Number
 hi def link vimHiStartStop     vimHiTerm
+hi def link vimHiTerm  Type
 hi def link vimHLGroup vimGroup
+hi def link vimHLMod   PreProc
 hi def link vimInsert  vimString
 hi def link vimKeyCode vimSpecFile
+hi def link vimKeyword Statement
 hi def link vimLet     vimCommand
 hi def link vimLineComment     vimComment
 hi def link vimMapBang vimCommand
 hi def link vimMapModKey       vimFuncSID
 hi def link vimMapMod  vimBracket
 hi def link vimMap     vimCommand
+hi def link vimMark    Number
 hi def link vimMarkNumber      vimNumber
 hi def link vimMenuMod vimMapMod
 hi def link vimMenuNameMore    vimMenuName
+hi def link vimMenuName        PreProc
 hi def link vimMtchComment     vimComment
 hi def link vimNorm    vimCommand
+hi def link vimNotation        Special
 hi def link vimNotFunc vimCommand
 hi def link vimNotPatSep       vimString
+hi def link vimNumber  Number
+hi def link vimOperError       Error
+hi def link vimOper    Operator
+hi def link vimOption  PreProc
+hi def link vimParenSep        Delimiter
 hi def link vimPatSepErr       vimPatSep
 hi def link vimPatSepR vimPatSep
+hi def link vimPatSep  SpecialChar
 hi def link vimPatSepZone      vimString
 hi def link vimPatSepZ vimPatSep
+hi def link vimPattern Type
 hi def link vimPlainMark       vimMark
 hi def link vimPlainRegister   vimRegister
+hi def link vimRegister        SpecialChar
+hi def link vimScriptDelim     Comment
+hi def link vimSearchDelim     Statement
 hi def link vimSearch  vimString
+hi def link vimSep     Delimiter
 hi def link vimSetMod  vimOption
+hi def link vimSetSep  Statement
 hi def link vimSetString       vimString
+hi def link vimSpecFile        Identifier
 hi def link vimSpecFileMod     vimSpecFile
+hi def link vimSpecial Type
+hi def link vimStatement       Statement
 hi def link vimStringCont      vimString
+hi def link vimString  String
+hi def link vimSubst1  vimSubst
+hi def link vimSubstDelim      Delimiter
+hi def link vimSubstFlags      Special
+hi def link vimSubstSubstr     SpecialChar
 hi def link vimSubstTwoBS      vimString
 hi def link vimSubst   vimCommand
+hi def link vimSynCaseError    Error
+hi def link vimSynCase Type
+hi def link vimSyncC   Type
+hi def link vimSyncError       Error
 hi def link vimSyncGroupName   vimGroupName
 hi def link vimSyncGroup       vimGroupName
+hi def link vimSyncKey Type
+hi def link vimSyncNone        Type
 hi def link vimSynContains     vimSynOption
+hi def link vimSynError        Error
 hi def link vimSynKeyContainedin       vimSynContains
 hi def link vimSynKeyOpt       vimSynOption
 hi def link vimSynMtchGrp      vimSynOption
 hi def link vimSynMtchOpt      vimSynOption
 hi def link vimSynNextgroup    vimSynOption
 hi def link vimSynNotPatRange  vimSynRegPat
+hi def link vimSynOption       Special
 hi def link vimSynPatRange     vimString
 hi def link vimSynRegOpt       vimSynOption
 hi def link vimSynRegPat       vimString
+hi def link vimSynReg  Type
 hi def link vimSyntax  vimCommand
 hi def link vimSynType vimSpecial
+hi def link vimTodo    Todo
 hi def link vimUnmap   vimMap
+hi def link vimUserAttrbCmpltFunc      Special
 hi def link vimUserAttrbCmplt  vimSpecial
 hi def link vimUserAttrbKey    vimOption
 hi def link vimUserAttrb       vimSpecial
-hi def link vimUserCommand     vimCommand
-
-hi def link vimAutoEvent       Type
-hi def link vimBracket Delimiter
-hi def link vimCmplxRepeat     SpecialChar
-hi def link vimCommand Statement
-hi def link vimComment Comment
-hi def link vimCommentTitle    PreProc
-hi def link vimContinue        Special
-hi def link vimCtrlChar        SpecialChar
-hi def link vimElseIfErr       Error
-hi def link vimEnvvar  PreProc
-hi def link vimError   Error
-hi def link vimFold    Folded
-hi def link vimFuncName        Function
-hi def link vimFuncSID Special
-hi def link vimFuncVar Identifier
-hi def link vimGroupSpecial    Special
-hi def link vimGroup   Type
-hi def link vimHiAttrib        PreProc
-hi def link vimHiTerm  Type
-hi def link vimHLMod   PreProc
-hi def link vimKeyword Statement
-hi def link vimMark    Number
-hi def link vimMenuName        PreProc
-hi def link vimNotation        Special
-hi def link vimNumber  Number
-hi def link vimOperError       Error
-hi def link vimOper    Operator
-hi def link vimOption  PreProc
-hi def link vimParenSep        Delimiter
-hi def link vimPatSep  SpecialChar
-hi def link vimPattern Type
-hi def link vimRegister        SpecialChar
-hi def link vimScriptDelim     Comment
-hi def link vimSearchDelim     Statement
-hi def link vimSep     Delimiter
-hi def link vimSetSep  Statement
-hi def link vimSpecFile        Identifier
-hi def link vimSpecial Type
-hi def link vimStatement       Statement
-hi def link vimString  String
-hi def link vimSubstDelim      Delimiter
-hi def link vimSubstFlags      Special
-hi def link vimSubstSubstr     SpecialChar
-hi def link vimSynCaseError    Error
-hi def link vimSynCase Type
-hi def link vimSyncC   Type
-hi def link vimSyncError       Error
-hi def link vimSyncKey Type
-hi def link vimSyncNone        Type
-hi def link vimSynError        Error
-hi def link vimSynOption       Special
-hi def link vimSynReg  Type
-hi def link vimTodo    Todo
-hi def link vimUserAttrbCmpltFunc      Special
 hi def link vimUserCmdError    Error
+hi def link vimUserCommand     vimCommand
 hi def link vimUserFunc        Normal
 hi def link vimVar     Identifier
 hi def link vimWarn    WarningMsg
-hi def link vimHiNmbr  Number
 
 " Current Syntax Variable: {{{2
 let b:current_syntax = "vim"
index 4e62c7060fb826d3bf8cf77b8bed02a4514942eb..2160e00e1062272c6738c68283d0e6eb6221e035 100644 (file)
 
   3. ²¼¤Ø¤Î¥­¡¼¤ò»È¤Ã¤Æ¡¢¥ì¥Ã¥¹¥ó1.2 ¤Ë°Üư¤·¤Þ¤·¤ç¤¦¡£
 
-Note: ²¿¤ò¥¿¥¤¥×¤·¤Æ¤¤¤ë¤«È½¤é¤Ê¤¯¤Ê¤Ã¤¿¤é¡¢<ESC>¤ò²¡¤·¤Æ¥Î¡¼¥Þ¥ë¥â¡¼¥É¤Ë¤·
+NOTE: ²¿¤ò¥¿¥¤¥×¤·¤Æ¤¤¤ë¤«È½¤é¤Ê¤¯¤Ê¤Ã¤¿¤é¡¢<ESC>¤ò²¡¤·¤Æ¥Î¡¼¥Þ¥ë¥â¡¼¥É¤Ë¤·
       ¤Þ¤¹¡£¤½¤ì¤«¤éÆþÎϤ·¤è¤¦¤È¤·¤Æ¤¤¤¿¥³¥Þ¥ó¥É¤òºÆÆþÎϤ·¤Þ¤·¤ç¤¦¡£
 
-Note: ¥«¡¼¥½¥ë¥­¡¼¤Ç¤â°Üư¤Ç¤­¤Þ¤¹¡£¤·¤«¤· hjkl ¤Ë°ìÅÙ´·¤ì¤Æ¤·¤Þ¤¨¤Ð¡¢¤Ï¤ë¤«
+NOTE: ¥«¡¼¥½¥ë¥­¡¼¤Ç¤â°Üư¤Ç¤­¤Þ¤¹¡£¤·¤«¤· hjkl ¤Ë°ìÅÙ´·¤ì¤Æ¤·¤Þ¤¨¤Ð¡¢¤Ï¤ë¤«
       ¤Ë®¤¯°Üư¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£¤¤¤ä¥Þ¥¸¤Ç!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -109,7 +109,7 @@ NOTE: 
 ---> ¤³¤Î ¤Ë¤Ï Â­¤ê¤Ê¤¤ ¥Æ¥­¥¹¥È ¤¢¤ë¡£
 ---> ¤³¤Î ¹Ô ¤Ë¤Ï ´ö¤Ä¤« Â­¤ê¤Ê¤¤ ¥Æ¥­¥¹¥È ¤¬ ¤¢¤ë¡£
 
-  5. ÁÞÆþ¤ÎÊýË¡¤¬¤ï¤«¤Ã¤¿¤é²¼¤Î¥ì¥Ã¥¹¥ó1¤ÎÍ×Ìó¤ò¸«¤Þ¤·¤ç¤¦¡£
+  5. ÁÞÆþ¤ÎÊýË¡¤¬¤ï¤«¤Ã¤¿¤é¥ì¥Ã¥¹¥ó 1.5 ¤Ø¿Ê¤ß¤Þ¤·¤ç¤¦¡£
 
 
 
@@ -145,7 +145,8 @@ NOTE: 
   !! NOTE: °Ê²¼¤Î¥¹¥Æ¥Ã¥×¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢¤Þ¤ºÁ´ÂΤòÆÉ¤ó¤Ç¤¯¤À¤µ¤¤!!
 
   1. ¥ì¥Ã¥¹¥ó 1.2 ¤Ç¤ä¤Ã¤¿¤è¤¦¤Ë :q! ¤ò¥¿¥¤¥×¤·¤Æ¡¢¤³¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò½ªÎ»
-     ¤·¤Þ¤¹¡£
+     ¤·¤Þ¤¹¡£¤¢¤ë¤¤¤Ï¡¢Ê̤ÎüËö¤¬¤¢¤ë¾ì¹ç¤Ï¤½¤³¤Ç°Ê²¼¤ÎÆâÍÆ¤ò¹Ô¤Ã¤Æ¤â¤«¤Þ¤¤
+     ¤Þ¤»¤ó¡£
 
   2. ¥·¥§¥ë¥×¥í¥ó¥×¥È¤Ç¤³¤Î¥³¥Þ¥ó¥É¤ò¥¿¥¤¥×¤·¤Þ¤¹:  vim tutor <ENTER>
      'vim'¤¬ Vim ¥¨¥Ç¥£¥¿¤òµ¯Æ°¤¹¤ë¥³¥Þ¥ó¥É¡¢'tutor' ¤ÏÊÔ½¸¤·¤¿¤¤¥Õ¥¡¥¤¥ë¤Î
@@ -155,7 +156,8 @@ NOTE: 
 
   4. Êѹ¹¤ò¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Þ¤¹:  :wq  <ENTER>
 
-  5. vimtutor ¤òºÆÅÙµ¯Æ°¤·¡¢°Ê²¼¤ÎÍ×Ìó¤Ø¿Ê¤ß¤Þ¤·¤ç¤¦¡£
+  5. ¥¹¥Æ¥Ã¥× 1 ¤Ç vimtutuor ¤ò½ªÎ»¤·¤¿¾ì¹ç¤Ï vimtutor ¤òºÆÅÙµ¯Æ°¤·¡¢°Ê²¼¤Î
+     Í×Ìó¤Ø¿Ê¤ß¤Þ¤·¤ç¤¦¡£
 
   6. °Ê¾å¤Î¥¹¥Æ¥Ã¥×¤òÆÉ¤ó¤ÇÍý²ò¤·¤¿¾å¤Ç¤³¤ì¤ò¼Â¹Ô¤·¤Þ¤·¤ç¤¦¡£
   
@@ -259,7 +261,7 @@ NOTE: 
 
   1. °Ê²¼¤Î ---> ¤È¼¨¤µ¤ì¤¿¹Ô¤ÎÀèÆ¬¤Ë¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤¹¡£
 
-  2. 2dw ¤ò¥¿¥¤¥×¤·¤ÆÃ±¸ì2¤Äʬºï½ü¤·¤Þ¤¹¡£
+  2. 2w ¤ò¥¿¥¤¥×¤·¤ÆÃ±¸ì2¤ÄʬÁ°¤Ë°Üư¤·¤Þ¤¹¡£
 
   3. 3e ¤ò¥¿¥¤¥×¤·¤Æ3¤ÄÌܤÎñ¸ì¤Î½ªÃ¼¤Ë°Üư¤·¤Þ¤¹¡£
 
@@ -286,7 +288,7 @@ NOTE: 
 
   1. ---> ¤È¼¨¤µ¤ì¤¿¹Ô¤Î¹ÔƬÉôʬ¤Ë¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤·¤ç¤¦¡£
 
-  2. UPPER CASE ¤Îñ¸ì2¤Ä¤ò 2dw ¤È¥¿¥¤¥×¤·¤Æºï½ü¤·¤Þ¤¹¡£
+  2. UPPER CASE ¤Îñ¸ì2¤Ä¤ò d2w ¤È¥¿¥¤¥×¤·¤Æºï½ü¤·¤Þ¤¹¡£
 
   3. UPPER CASE ¤È¤¤¤¦Ï¢Â³¤·¤¿Ã±¸ì¤ò¡¢1¤Ä¤Î¥³¥Þ¥ó¥É¤È°Û¤Ê¤ë¥«¥¦¥ó¥È¤ò»ØÄꤷ¡¢
      ¥¹¥Æ¥Ã¥× 1 ¤È 2 ¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
@@ -406,7 +408,7 @@ NOTE:  
 --->  ¤³¤Î¹ç¤ò¿ÍÎϤ·¤¿»þ¤Í¡¢¤½¤Î¿Í¤Ï´ö¤Ä¤«Ìä°ã¤Ã¤¿¥­¡¼¤ò²¡¤·¤â¤·¤¿!
 --->  ¤³¤Î¹Ô¤òÆþÎϤ·¤¿»þ¤Ë¡¢¤½¤Î¿Í¤Ï´ö¤Ä¤«´Ö°ã¤Ã¤¿¥­¡¼¤ò²¡¤·¤Þ¤·¤¿!
 
-  5. ¤µ¤¡¡¢¥ì¥Ã¥¹¥ó 3.2 ¤Ø¿Ê¤ß¤Þ¤·¤ç¤¦¡£
+  5. ¤µ¤¡¡¢¥ì¥Ã¥¹¥ó 3.3 ¤Ø¿Ê¤ß¤Þ¤·¤ç¤¦¡£
 
 NOTE: ¼ÂºÝ¤Ë»î¤·¤Þ¤·¤ç¤¦¡£·è¤·¤Æ³Ð¤¨¤ë¤À¤±¤Ë¤Ï¤·¤Ê¤¤¤³¤È¡£
 
@@ -428,8 +430,8 @@ NOTE: 
 
   5. ºÇ½é¤Î¹Ô¤¬¼¡¤Î¹Ô¤ÎÍͤˤʤë¤Þ¤Ç¥¹¥Æ¥Ã¥× 3 ¤È 4 ¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
 
----> This lubw has a few wptfd that mrrf changing usf the change command.
----> This line has a few words that need changing using the change command.
+---> This lubw has a few wptfd that mrrf changing usf the change operator.
+---> This line has a few words that need changing using the change operator.
 
 cw ¤Ïñ¸ì¤òÊѹ¹¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢ÁÞÆþ¤â¹Ô¤¨¤ë¤³¤È¤ËÃí°Õ¤·¤Þ¤·¤ç¤¦¡£
 
@@ -494,7 +496,7 @@ NOTE:  
      ¤Ë¹ÔÈÖ¹æ¤ò³Ð¤¨¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£
 
 NOTE:  ²èÌ̤ᦲ¼¶ù¤Ë¥«¡¼¥½¥ë¤Î°ÌÃÖ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï
-       'ruler' ¥ª¥×¥·¥ç¥ó(¥ì¥Ã¥¹¥ó6¤ÇÀâÌÀ)¤òÀßÄꤹ¤ë¤³¤È¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£
+       'ruler' ¥ª¥×¥·¥ç¥ó(:help 'ruler' ¤ò»²¾È)¤òÀßÄꤹ¤ë¤³¤È¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£
 
   2. ºÇ²¼¹Ô¤Ë°Üư¤¹¤ë¤¿¤á¤Ë G ¤ò¥¿¥¤¥×¤·¤Þ¤·¤ç¤¦¡£
      ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë°Üư¤¹¤ë¤Ë¤Ï gg ¤È¥¿¥¤¥×¤·¤Þ¤·¤ç¤¦¡£
@@ -523,8 +525,8 @@ NOTE:  
   5. ¸µ¤Î¾ì½ê¤ËÌá¤ë¤Ë¤Ï CTRL-O (Ctrl ¤ò²¡¤·Â³¤±¤Ê¤¬¤é o Ê¸»ú¥¿¥¤¥×)¤ò¥¿¥¤¥×¤·
      ¤Þ¤¹¡£¤µ¤é¤ËÌá¤ë¤Ë¤Ï¤³¤ì¤ò·«¤êÊÖ¤·¤Þ¤¹¡£CTRL-I ¤ÏÁ°Êý¸þ¤Ç¤¹¡£
 
-Note: "errroor" ¤Ï error ¤È¥¹¥Ú¥ë¤¬°ã¤¤¤Þ¤¹;  errroor ¤Ï¤¤¤ï¤æ¤ë error ¤Ç¤¹¡£
-Note: ¸¡º÷¤¬¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤Ë㤹¤ë¤È¡¢¥ª¥×¥·¥ç¥ó 'wrapscan' ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë
+--->  "errroor" ¤Ï error ¤È¥¹¥Ú¥ë¤¬°ã¤¤¤Þ¤¹;  errroor ¤Ï¤¤¤ï¤æ¤ë error ¤Ç¤¹¡£
+NOTE: ¸¡º÷¤¬¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤Ë㤹¤ë¤È¡¢¥ª¥×¥·¥ç¥ó 'wrapscan' ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë
       ¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤«¤é¸¡º÷¤ò³¹Ô¤·¤Þ¤¹¡£
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -612,10 +614,10 @@ NOTE: 
      ¥·¥§¥ë¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£
      ¤â¤·¤¯¤Ï ls ¤¬Æ°¤«¤Ê¤¤¤Ê¤é¤Ð :!dir ¤ò»ÈÍѤ·¤Þ¤·¤ç¤¦¡£
 
-Note:  ¤³¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¤¢¤é¤æ¤ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤â¤Á¤í¤ó°ú¿ô
+NOTE:  ¤³¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¤¢¤é¤æ¤ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤â¤Á¤í¤ó°ú¿ô
        ¤âÍ¿¤¨¤é¤ì¤Þ¤¹¡£
 
-Note:  Á´¤Æ¤Î : ¥³¥Þ¥ó¥É¤Ï <ENTER> ¤ò²¡¤·¤Æ½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+NOTE:  Á´¤Æ¤Î : ¥³¥Þ¥ó¥É¤Ï <ENTER> ¤ò²¡¤·¤Æ½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
        °Ê¹ß¤Ç¤Ï¤³¤Î¤³¤È¤Ë¸ÀµÚ¤·¤Þ¤»¤ó¡£
 
 
@@ -635,7 +637,7 @@ Note:  
   4. ¤³¤ì¤Ë¤è¤ê¥Õ¥¡¥¤¥ëÁ´ÂΤ¬ TEST ¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¤µ¤ì¤Þ¤¹¡£
      ¤â¤¦°ìÅÙ :!dir ¤â¤·¤¯¤Ï :!ls ¤È¥¿¥¤¥×¤·¤Æ³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
 
-Note: ¤³¤³¤Ç Vim ¤ò½ªÎ»¤·¡¢¥Õ¥¡¥¤¥ë̾ TEST ¤È¶¦¤Ëµ¯Æ°¤¹¤ë¤È¡¢Êݸ¤·¤¿»þ¤Î
+NOTE: ¤³¤³¤Ç Vim ¤ò½ªÎ»¤·¡¢¥Õ¥¡¥¤¥ë̾ TEST ¤È¶¦¤Ëµ¯Æ°¤¹¤ë¤È¡¢Êݸ¤·¤¿»þ¤Î
      ¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎÊ£À½¤¬¤Ç¤­¾å¤¬¤ë¤Ï¤º¤Ç¤¹¡£
 
   5. ¤µ¤é¤Ë¡¢¼¡¤Î¤è¤¦¤Ë¥¿¥¤¥×¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Þ¤·¤ç¤¦(MS-DOS):  :!del TEST
@@ -656,7 +658,7 @@ Note: 
   3. Ê¸»ú : ¤ò²¡¤¹¤È¡¢²èÌ̤κDz¼Éô¤Ë :'<,'> ¤¬¸½¤ì¤Þ¤¹¡£
 
   4. w TEST (TEST ¤Ï¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë̾)¤ò¥¿¥¤¥×¤·¤Þ¤¹¡£
-     Enter ¤ò²¡¤¹Á°¤Ë :'<,'>w TEST ¤È¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£
+     <ENTER> ¤ò²¡¤¹Á°¤Ë :'<,'>w TEST ¤È¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£
 
   5. Vim ¤Ï TEST ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ËÁªÂò¤µ¤ì¤¿¹Ô¤ò½ñ¤­¹þ¤à¤Ç¤·¤ç¤¦¡£
      !dir ¤â¤·¤¯¤Ï !ls ¤Ç¤½¤ì¤ò³Îǧ¤·¤Þ¤¹¡£
@@ -755,7 +757,7 @@ NOTE: 
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
-Note: a, i ¤È A ¤ÏƱ¤¸ÁÞÆþ¥â¡¼¥É¤Ø°Ü¤ê¤Þ¤¹¤¬¡¢Ê¸»ú¤¬ÁÞÆþ¤µ¤ì¤ë°ÌÃÖ¤À¤±¤¬°Û¤Ê¤ê
+NOTE: a, i ¤È A ¤ÏƱ¤¸ÁÞÆþ¥â¡¼¥É¤Ø°Ü¤ê¤Þ¤¹¤¬¡¢Ê¸»ú¤¬ÁÞÆþ¤µ¤ì¤ë°ÌÃÖ¤À¤±¤¬°Û¤Ê¤ê
       ¤Þ¤¹¡£
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -803,7 +805,7 @@ NOTE: 
 --->  a) this is the first item.
       b)
 
-  Note: Ã±¸ì¤ò1¤Ä yank ¤¹¤ë¤Î¤Ë y ¤ò¥ª¥Ú¥ì¡¼¥¿¤È¤·¤Æ yw ¤È¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
+  NOTE: Ã±¸ì¤ò1¤Ä yank ¤¹¤ë¤Î¤Ë y ¤ò¥ª¥Ú¥ì¡¼¥¿¤È¤·¤Æ yw ¤È¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       ¥ì¥Ã¥¹¥ó 6.5: ¥ª¥×¥·¥ç¥ó¤ÎÀßÄê
 
@@ -824,8 +826,8 @@ NOTE: 
 
   6. Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¼¡¤ÎÍÍ¤ËÆþÎϤ·¤Þ¤¹:  :set noic
 
-Note: ¥Þ¥Ã¥Á¤Î¶¯Ä´É½¼¨¤ò¤ä¤á¤ë¤Ë¤Ï¼¡¤ÎÍÍ¤ËÆþÎϤ·¤Þ¤¹: :nohlsearch
-Note: 1¤Ä¤Î¸¡º÷¥³¥Þ¥ó¥É¤À¤±Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ò¤ä¤á¤¿¤¤¤Ê¤é¤Ð¡¢¥Õ¥ì¡¼¥º¤Ë \c
+NOTE: ¥Þ¥Ã¥Á¤Î¶¯Ä´É½¼¨¤ò¤ä¤á¤ë¤Ë¤Ï¼¡¤ÎÍÍ¤ËÆþÎϤ·¤Þ¤¹: :nohlsearch
+NOTE: 1¤Ä¤Î¸¡º÷¥³¥Þ¥ó¥É¤À¤±Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ò¤ä¤á¤¿¤¤¤Ê¤é¤Ð¡¢¥Õ¥ì¡¼¥º¤Ë \c
       ¤ò»ÈÍѤ·¤Þ¤¹:  /ignore\c  <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                ¥ì¥Ã¥¹¥ó 6 Í×Ìó
index 7a932fa756403219fe880520b62e26b9b685d7e7..2a6de3ad78e1a9cb1067fe2749cf401f71bd1b42 100644 (file)
 
   3. \89º\82Ö\82Ì\83L\81[\82ð\8eg\82Á\82Ä\81A\83\8c\83b\83X\83\931.2 \82É\88Ú\93®\82µ\82Ü\82µ\82å\82¤\81B
 
-Note\89½\82ð\83^\83C\83v\82µ\82Ä\82¢\82é\82©\94»\82ç\82È\82­\82È\82Á\82½\82ç\81A<ESC>\82ð\89\9f\82µ\82Ä\83m\81[\83}\83\8b\83\82\81[\83h\82É\82µ
+NOTE\89½\82ð\83^\83C\83v\82µ\82Ä\82¢\82é\82©\94»\82ç\82È\82­\82È\82Á\82½\82ç\81A<ESC>\82ð\89\9f\82µ\82Ä\83m\81[\83}\83\8b\83\82\81[\83h\82É\82µ
       \82Ü\82·\81B\82»\82ê\82©\82ç\93ü\97Í\82µ\82æ\82¤\82Æ\82µ\82Ä\82¢\82½\83R\83}\83\93\83h\82ð\8dÄ\93ü\97Í\82µ\82Ü\82µ\82å\82¤\81B
 
-Note\83J\81[\83\\83\8b\83L\81[\82Å\82à\88Ú\93®\82Å\82«\82Ü\82·\81B\82µ\82©\82µ hjkl \82É\88ê\93x\8aµ\82ê\82Ä\82µ\82Ü\82¦\82Î\81A\82Í\82é\82©
+NOTE\83J\81[\83\\83\8b\83L\81[\82Å\82à\88Ú\93®\82Å\82«\82Ü\82·\81B\82µ\82©\82µ hjkl \82É\88ê\93x\8aµ\82ê\82Ä\82µ\82Ü\82¦\82Î\81A\82Í\82é\82©
       \82É\91¬\82­\88Ú\93®\82·\82é\82±\82Æ\82ª\82Å\82«\82é\82Å\82µ\82å\82¤\81B\82¢\82â\83}\83W\82Å!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -109,7 +109,7 @@ NOTE: 
 ---> \82±\82Ì \82É\82Í \91«\82è\82È\82¢ \83e\83L\83X\83\82 \82é\81B
 ---> \82±\82Ì \8d\82É\82Í \8aô\82Â\82© \91«\82è\82È\82¢ \83e\83L\83X\83\82ª \82 \82é\81B
 
-  5. \91}\93ü\82Ì\95û\96@\82ª\82í\82©\82Á\82½\82ç\89º\82Ì\83\8c\83b\83X\83\931\82Ì\97v\96ñ\82ð\8c©\82Ü\82µ\82å\82¤\81B
+  5. \91}\93ü\82Ì\95û\96@\82ª\82í\82©\82Á\82½\82ç\83\8c\83b\83X\83\93 1.5 \82Ö\90i\82Ý\82Ü\82µ\82å\82¤\81B
 
 
 
@@ -145,7 +145,8 @@ NOTE: 
   !! NOTE: \88È\89º\82Ì\83X\83e\83b\83v\82ð\8eÀ\8ds\82·\82é\91O\82É\81A\82Ü\82¸\91S\91Ì\82ð\93Ç\82ñ\82Å\82­\82¾\82³\82¢!!
 
   1. \83\8c\83b\83X\83\93 1.2 \82Å\82â\82Á\82½\82æ\82¤\82É :q! \82ð\83^\83C\83v\82µ\82Ä\81A\82±\82Ì\83`\83\85\81[\83g\83\8a\83A\83\8b\82ð\8fI\97¹
-     \82µ\82Ü\82·\81B
+     \82µ\82Ü\82·\81B\82 \82é\82¢\82Í\81A\95Ê\82Ì\92[\96\96\82ª\82 \82é\8fê\8d\87\82Í\82»\82±\82Å\88È\89º\82Ì\93à\97e\82ð\8ds\82Á\82Ä\82à\82©\82Ü\82¢
+     \82Ü\82¹\82ñ\81B
 
   2. \83V\83F\83\8b\83v\83\8d\83\93\83v\83g\82Å\82±\82Ì\83R\83}\83\93\83h\82ð\83^\83C\83v\82µ\82Ü\82·:  vim tutor <ENTER>
      'vim'\82ª Vim \83G\83f\83B\83^\82ð\8bN\93®\82·\82é\83R\83}\83\93\83h\81A'tutor' \82Í\95Ò\8fW\82µ\82½\82¢\83t\83@\83C\83\8b\82Ì
@@ -155,7 +156,8 @@ NOTE: 
 
   4. \95Ï\8dX\82ð\83t\83@\83C\83\8b\82É\95Û\91\82µ\82Ü\82·:  :wq  <ENTER>
 
-  5. vimtutor \82ð\8dÄ\93x\8bN\93®\82µ\81A\88È\89º\82Ì\97v\96ñ\82Ö\90i\82Ý\82Ü\82µ\82å\82¤\81B
+  5. \83X\83e\83b\83v 1 \82Å vimtutuor \82ð\8fI\97¹\82µ\82½\8fê\8d\87\82Í vimtutor \82ð\8dÄ\93x\8bN\93®\82µ\81A\88È\89º\82Ì
+     \97v\96ñ\82Ö\90i\82Ý\82Ü\82µ\82å\82¤\81B
 
   6. \88È\8fã\82Ì\83X\83e\83b\83v\82ð\93Ç\82ñ\82Å\97\9d\89ð\82µ\82½\8fã\82Å\82±\82ê\82ð\8eÀ\8ds\82µ\82Ü\82µ\82å\82¤\81B
   
@@ -259,7 +261,7 @@ NOTE: 
 
   1. \88È\89º\82Ì ---> \82Æ\8e¦\82³\82ê\82½\8ds\82Ì\90æ\93ª\82É\83J\81[\83\\83\8b\82ð\88Ú\93®\82µ\82Ü\82·\81B
 
-  2. 2dw \82ð\83^\83C\83v\82µ\82Ä\92P\8cê2\82Â\95ª\8dí\8f\9c\82µ\82Ü\82·\81B
+  2. 2\82ð\83^\83C\83v\82µ\82Ä\92P\8cê2\82Â\95ª\91O\82É\88Ú\93®\82µ\82Ü\82·\81B
 
   3. 3e \82ð\83^\83C\83v\82µ\82Ä3\82Â\96Ú\82Ì\92P\8cê\82Ì\8fI\92[\82É\88Ú\93®\82µ\82Ü\82·\81B
 
@@ -286,7 +288,7 @@ NOTE: 
 
   1. ---> \82Æ\8e¦\82³\82ê\82½\8ds\82Ì\8ds\93ª\95\94\95ª\82É\83J\81[\83\\83\8b\82ð\88Ú\93®\82µ\82Ü\82µ\82å\82¤\81B
 
-  2. UPPER CASE \82Ì\92P\8cê2\82Â\82ð 2d\82Æ\83^\83C\83v\82µ\82Ä\8dí\8f\9c\82µ\82Ü\82·\81B
+  2. UPPER CASE \82Ì\92P\8cê2\82Â\82ð d2\82Æ\83^\83C\83v\82µ\82Ä\8dí\8f\9c\82µ\82Ü\82·\81B
 
   3. UPPER CASE \82Æ\82¢\82¤\98A\91±\82µ\82½\92P\8cê\82ð\81A1\82Â\82Ì\83R\83}\83\93\83h\82Æ\88Ù\82È\82é\83J\83E\83\93\83g\82ð\8ew\92è\82µ\81A
      \83X\83e\83b\83v 1 \82Æ 2 \82ð\8cJ\82è\95Ô\82µ\82Ü\82·\81B
@@ -406,7 +408,7 @@ NOTE:  
 --->  \82±\82Ì\8d\87\82ð\90l\97Í\82µ\82½\8e\9e\82Ë\81A\82»\82Ì\90l\82Í\8aô\82Â\82©\96â\88á\82Á\82½\83L\81[\82ð\89\9f\82µ\82à\82µ\82½!
 --->  \82±\82Ì\8ds\82ð\93ü\97Í\82µ\82½\8e\9e\82É\81A\82»\82Ì\90l\82Í\8aô\82Â\82©\8aÔ\88á\82Á\82½\83L\81[\82ð\89\9f\82µ\82Ü\82µ\82½!
 
-  5. \82³\82\9f\81A\83\8c\83b\83X\83\93 3.2 \82Ö\90i\82Ý\82Ü\82µ\82å\82¤\81B
+  5. \82³\82\9f\81A\83\8c\83b\83X\83\93 3.3 \82Ö\90i\82Ý\82Ü\82µ\82å\82¤\81B
 
 NOTE: \8eÀ\8dÛ\82É\8e\8e\82µ\82Ü\82µ\82å\82¤\81B\8c\88\82µ\82Ä\8ao\82¦\82é\82¾\82¯\82É\82Í\82µ\82È\82¢\82±\82Æ\81B
 
@@ -428,8 +430,8 @@ NOTE: 
 
   5. \8dÅ\8f\89\82Ì\8ds\82ª\8e\9f\82Ì\8ds\82Ì\97l\82É\82È\82é\82Ü\82Å\83X\83e\83b\83v 3 \82Æ 4 \82ð\8cJ\82è\95Ô\82µ\82Ü\82·\81B
 
----> This lubw has a few wptfd that mrrf changing usf the change command.
----> This line has a few words that need changing using the change command.
+---> This lubw has a few wptfd that mrrf changing usf the change operator.
+---> This line has a few words that need changing using the change operator.
 
 cw \82Í\92P\8cê\82ð\95Ï\8dX\82·\82é\82¾\82¯\82Å\82È\82­\81A\91}\93ü\82à\8ds\82¦\82é\82±\82Æ\82É\92\8d\88Ó\82µ\82Ü\82µ\82å\82¤\81B
 
@@ -494,7 +496,7 @@ NOTE:  
      \82É\8ds\94Ô\8d\86\82ð\8ao\82¦\82Ä\82¨\82«\82Ü\82µ\82å\82¤\81B
 
 NOTE:  \89æ\96Ê\82Ì\89E\89º\8b÷\82É\83J\81[\83\\83\8b\82Ì\88Ê\92u\82ª\95\\8e¦\82³\82ê\82Ä\82¢\82é\82©\82à\82µ\82ê\82Ü\82¹\82ñ\81B\82±\82ê\82Í
-       'ruler' \83I\83v\83V\83\87\83\93(\83\8c\83b\83X\83\936\82Å\90à\96¾)\82ð\90Ý\92è\82·\82é\82±\82Æ\82Å\95\\8e¦\82³\82ê\82Ü\82·\81B
+       'ruler' \83I\83v\83V\83\87\83\93(:help 'ruler' \82ð\8eQ\8fÆ)\82ð\90Ý\92è\82·\82é\82±\82Æ\82Å\95\\8e¦\82³\82ê\82Ü\82·\81B
 
   2. \8dÅ\89º\8ds\82É\88Ú\93®\82·\82é\82½\82ß\82É G \82ð\83^\83C\83v\82µ\82Ü\82µ\82å\82¤\81B
      \83t\83@\83C\83\8b\82Ì\90æ\93ª\82É\88Ú\93®\82·\82é\82É\82Í gg \82Æ\83^\83C\83v\82µ\82Ü\82µ\82å\82¤\81B
@@ -523,8 +525,8 @@ NOTE:  
   5. \8c³\82Ì\8fê\8f\8a\82É\96ß\82é\82É\82Í CTRL-O (Ctrl \82ð\89\9f\82µ\91±\82¯\82È\82ª\82ç o \95\8e\9a\83^\83C\83v)\82ð\83^\83C\83v\82µ
      \82Ü\82·\81B\82³\82ç\82É\96ß\82é\82É\82Í\82±\82ê\82ð\8cJ\82è\95Ô\82µ\82Ü\82·\81BCTRL-I \82Í\91O\95û\8cü\82Å\82·\81B
 
-Note: "errroor" \82Í error \82Æ\83X\83y\83\8b\82ª\88á\82¢\82Ü\82·;  errroor \82Í\82¢\82í\82ä\82é error \82Å\82·\81B
-Note\8c\9f\8dõ\82ª\83t\83@\83C\83\8b\82Ì\8fI\82í\82è\82É\92B\82·\82é\82Æ\81A\83I\83v\83V\83\87\83\93 'wrapscan' \82ª\90Ý\92è\82³\82ê\82Ä\82¢\82é
+--->  "errroor" \82Í error \82Æ\83X\83y\83\8b\82ª\88á\82¢\82Ü\82·;  errroor \82Í\82¢\82í\82ä\82é error \82Å\82·\81B
+NOTE\8c\9f\8dõ\82ª\83t\83@\83C\83\8b\82Ì\8fI\82í\82è\82É\92B\82·\82é\82Æ\81A\83I\83v\83V\83\87\83\93 'wrapscan' \82ª\90Ý\92è\82³\82ê\82Ä\82¢\82é
       \8fê\8d\87\82Í\81A\83t\83@\83C\83\8b\82Ì\90æ\93ª\82©\82ç\8c\9f\8dõ\82ð\91±\8ds\82µ\82Ü\82·\81B
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -612,10 +614,10 @@ NOTE: 
      \83V\83F\83\8b\83v\83\8d\83\93\83v\83g\82Ì\82æ\82¤\82É\83f\83B\83\8c\83N\83g\83\8a\82Ì\88ê\97\97\82ª\95\\8e¦\82³\82ê\82é\82Í\82¸\82Å\82·\81B
      \82à\82µ\82­\82Í ls \82ª\93®\82©\82È\82¢\82È\82ç\82Π:!dir \82ð\8eg\97p\82µ\82Ü\82µ\82å\82¤\81B
 
-Note:  \82±\82Ì\95û\96@\82É\82æ\82Á\82Ä\82 \82ç\82ä\82é\83R\83}\83\93\83h\82ª\8eÀ\8ds\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B\82à\82¿\82ë\82ñ\88ø\90\94
+NOTE:  \82±\82Ì\95û\96@\82É\82æ\82Á\82Ä\82 \82ç\82ä\82é\83R\83}\83\93\83h\82ª\8eÀ\8ds\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B\82à\82¿\82ë\82ñ\88ø\90\94
        \82à\97^\82¦\82ç\82ê\82Ü\82·\81B
 
-Note:  \91S\82Ä\82Ì : \83R\83}\83\93\83h\82Í <ENTER> \82ð\89\9f\82µ\82Ä\8fI\97¹\82µ\82È\82¯\82ê\82Î\82È\82è\82Ü\82¹\82ñ\81B
+NOTE:  \91S\82Ä\82Ì : \83R\83}\83\93\83h\82Í <ENTER> \82ð\89\9f\82µ\82Ä\8fI\97¹\82µ\82È\82¯\82ê\82Î\82È\82è\82Ü\82¹\82ñ\81B
        \88È\8d~\82Å\82Í\82±\82Ì\82±\82Æ\82É\8c¾\8by\82µ\82Ü\82¹\82ñ\81B
 
 
@@ -635,7 +637,7 @@ Note:  
   4. \82±\82ê\82É\82æ\82è\83t\83@\83C\83\8b\91S\91Ì\82ª TEST \82Æ\82¢\82¤\96¼\91O\82Å\95Û\91\82³\82ê\82Ü\82·\81B
      \82à\82¤\88ê\93x :!dir \82à\82µ\82­\82Í :!ls \82Æ\83^\83C\83v\82µ\82Ä\8am\94F\82µ\82Ä\82Ý\82Ü\82µ\82å\82¤\81B
 
-Note\82±\82±\82Å Vim \82ð\8fI\97¹\82µ\81A\83t\83@\83C\83\8b\96¼ TEST \82Æ\8b¤\82É\8bN\93®\82·\82é\82Æ\81A\95Û\91\82µ\82½\8e\9e\82Ì
+NOTE\82±\82±\82Å Vim \82ð\8fI\97¹\82µ\81A\83t\83@\83C\83\8b\96¼ TEST \82Æ\8b¤\82É\8bN\93®\82·\82é\82Æ\81A\95Û\91\82µ\82½\8e\9e\82Ì
      \83`\83\85\81[\83g\83\8a\83A\83\8b\82Ì\95¡\90»\82ª\82Å\82«\8fã\82ª\82é\82Í\82¸\82Å\82·\81B
 
   5. \82³\82ç\82É\81A\8e\9f\82Ì\82æ\82¤\82É\83^\83C\83v\82µ\82Ä\83t\83@\83C\83\8b\82ð\8fÁ\82µ\82Ü\82µ\82å\82¤(MS-DOS):  :!del TEST
@@ -656,7 +658,7 @@ Note: 
   3. \95\8e\9a : \82ð\89\9f\82·\82Æ\81A\89æ\96Ê\82Ì\8dÅ\89º\95\94\82É :'<,'> \82ª\8c»\82ê\82Ü\82·\81B
 
   4. w TEST (TEST \82Í\91\8dÝ\82µ\82È\82¢\83t\83@\83C\83\8b\96¼)\82ð\83^\83C\83v\82µ\82Ü\82·\81B
-     Enter \82ð\89\9f\82·\91O\82É :'<,'>w TEST \82Æ\82È\82Á\82Ä\82¢\82é\82±\82Æ\82ð\8am\94F\82µ\82Ä\89º\82³\82¢\81B
+     <ENTER> \82ð\89\9f\82·\91O\82É :'<,'>w TEST \82Æ\82È\82Á\82Ä\82¢\82é\82±\82Æ\82ð\8am\94F\82µ\82Ä\89º\82³\82¢\81B
 
   5. Vim \82Í TEST \82Æ\82¢\82¤\83t\83@\83C\83\8b\82É\91I\91ð\82³\82ê\82½\8ds\82ð\8f\91\82«\8d\9e\82Þ\82Å\82µ\82å\82¤\81B
      !dir \82à\82µ\82­\82Í !ls \82Å\82»\82ê\82ð\8am\94F\82µ\82Ü\82·\81B
@@ -755,7 +757,7 @@ NOTE: 
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
-Note: a, i \82Æ A \82Í\93¯\82\91}\93ü\83\82\81[\83h\82Ö\88Ú\82è\82Ü\82·\82ª\81A\95\8e\9a\82ª\91}\93ü\82³\82ê\82é\88Ê\92u\82¾\82¯\82ª\88Ù\82È\82è
+NOTE: a, i \82Æ A \82Í\93¯\82\91}\93ü\83\82\81[\83h\82Ö\88Ú\82è\82Ü\82·\82ª\81A\95\8e\9a\82ª\91}\93ü\82³\82ê\82é\88Ê\92u\82¾\82¯\82ª\88Ù\82È\82è
       \82Ü\82·\81B
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -803,7 +805,7 @@ NOTE: 
 --->  a) this is the first item.
       b)
 
-  Note\92P\8cê\82ð1\82 yank \82·\82é\82Ì\82É y \82ð\83I\83y\83\8c\81[\83^\82Æ\82µ\82Ä yw \82Æ\82·\82é\82±\82Æ\82à\8fo\97\88\82Ü\82·\81B
+  NOTE\92P\8cê\82ð1\82 yank \82·\82é\82Ì\82É y \82ð\83I\83y\83\8c\81[\83^\82Æ\82µ\82Ä yw \82Æ\82·\82é\82±\82Æ\82à\8fo\97\88\82Ü\82·\81B
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       \83\8c\83b\83X\83\93 6.5: \83I\83v\83V\83\87\83\93\82Ì\90Ý\92è
 
@@ -824,8 +826,8 @@ NOTE: 
 
   6. \91å\95\8e\9a\8f¬\95\8e\9a\82Ì\8bæ\95Ê\82ð\96³\8cø\82É\82·\82é\82É\82Í\8e\9f\82Ì\97l\82É\93ü\97Í\82µ\82Ü\82·:  :set noic
 
-Note\83}\83b\83`\82Ì\8b­\92²\95\\8e¦\82ð\82â\82ß\82é\82É\82Í\8e\9f\82Ì\97l\82É\93ü\97Í\82µ\82Ü\82·: :nohlsearch
-Note: 1\82Â\82Ì\8c\9f\8dõ\83R\83}\83\93\83h\82¾\82¯\91å\95\8e\9a\8f¬\95\8e\9a\82Ì\8bæ\95Ê\82ð\82â\82ß\82½\82¢\82È\82ç\82Î\81A\83t\83\8c\81[\83Y\82É \c
+NOTE\83}\83b\83`\82Ì\8b­\92²\95\\8e¦\82ð\82â\82ß\82é\82É\82Í\8e\9f\82Ì\97l\82É\93ü\97Í\82µ\82Ü\82·: :nohlsearch
+NOTE: 1\82Â\82Ì\8c\9f\8dõ\83R\83}\83\93\83h\82¾\82¯\91å\95\8e\9a\8f¬\95\8e\9a\82Ì\8bæ\95Ê\82ð\82â\82ß\82½\82¢\82È\82ç\82Î\81A\83t\83\8c\81[\83Y\82É \c
       \82ð\8eg\97p\82µ\82Ü\82·:  /ignore\c  <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                \83\8c\83b\83X\83\93 6 \97v\96ñ
index 4b7d2a08af5fa7e983a69b7e68068a4e01756b1f..66a818ad902589f17e7e05543abc936a20633b60 100644 (file)
 
   3. 下へのキーを使って、レッスン1.2 に移動しましょう。
 
-Note: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし
+NOTE: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし
       ます。それから入力しようとしていたコマンドを再入力しましょう。
 
-Note: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか
+NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか
       に速く移動することができるでしょう。いやマジで!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -109,7 +109,7 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
 ---> この には 足りない テキスト ある。
 ---> この 行 には 幾つか 足りない テキスト が ある。
 
-  5. 挿入の方法がわかったら下のレッスン1の要約を見ましょう。
+  5. 挿入の方法がわかったらレッスン 1.5 へ進みましょう。
 
 
 
@@ -145,7 +145,8 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
   !! NOTE: 以下のステップを実行する前に、まず全体を読んでください!!
 
   1. レッスン 1.2 でやったように :q! をタイプして、このチュートリアルを終了
-     します。
+     します。あるいは、別の端末がある場合はそこで以下の内容を行ってもかまい
+     ません。
 
   2. シェルプロンプトでこのコマンドをタイプします:  vim tutor <ENTER>
      'vim'が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの
@@ -155,7 +156,8 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
 
   4. 変更をファイルに保存します:  :wq  <ENTER>
 
-  5. vimtutor を再度起動し、以下の要約へ進みましょう。
+  5. ステップ 1 で vimtutuor を終了した場合は vimtutor を再度起動し、以下の
+     要約へ進みましょう。
 
   6. 以上のステップを読んで理解した上でこれを実行しましょう。
   
@@ -259,7 +261,7 @@ NOTE: 冒険したい人は、ノーマルモードにてコマンドなしに
 
   1. 以下の ---> と示された行の先頭にカーソルを移動します。
 
-  2. 2dw をタイプして単語2つ分削除します。
+  2. 2w をタイプして単語2つ分前に移動します。
 
   3. 3e をタイプして3つ目の単語の終端に移動します。
 
@@ -286,7 +288,7 @@ NOTE: 冒険したい人は、ノーマルモードにてコマンドなしに
 
   1. ---> と示された行の行頭部分にカーソルを移動しましょう。
 
-  2. UPPER CASE の単語2つを 2dw とタイプして削除します。
+  2. UPPER CASE の単語2つを d2w とタイプして削除します。
 
   3. UPPER CASE という連続した単語を、1つのコマンドと異なるカウントを指定し、
      ステップ 1 と 2 を繰り返します。
@@ -406,7 +408,7 @@ NOTE:  オペレータ d とモーションの間にカウントを使った場
 --->  この合を人力した時ね、その人は幾つか問違ったキーを押しもした!
 --->  この行を入力した時に、その人は幾つか間違ったキーを押しました!
 
-  5. さぁ、レッスン 3.2 へ進みましょう。
+  5. さぁ、レッスン 3.3 へ進みましょう。
 
 NOTE: 実際に試しましょう。決して覚えるだけにはしないこと。
 
@@ -428,8 +430,8 @@ NOTE: 実際に試しましょう。決して覚えるだけにはしないこ
 
   5. 最初の行が次の行の様になるまでステップ 3 と 4 を繰り返します。
 
----> This lubw has a few wptfd that mrrf changing usf the change command.
----> This line has a few words that need changing using the change command.
+---> This lubw has a few wptfd that mrrf changing usf the change operator.
+---> This line has a few words that need changing using the change operator.
 
 cw は単語を変更するだけでなく、挿入も行えることに注意しましょう。
 
@@ -494,7 +496,7 @@ NOTE:  タイプ中の間違いはバックスペースキーを使って直す
      に行番号を覚えておきましょう。
 
 NOTE:  画面の右下隅にカーソルの位置が表示されているかもしれません。これは
-       'ruler' オプション(レッスン6で説明)を設定することで表示されます。
+       'ruler' オプション(:help 'ruler' を参照)を設定することで表示されます。
 
   2. 最下行に移動するために G をタイプしましょう。
      ファイルの先頭に移動するには gg とタイプしましょう。
@@ -523,8 +525,8 @@ NOTE:  画面の右下隅にカーソルの位置が表示されているかも
   5. 元の場所に戻るには CTRL-O (Ctrl を押し続けながら o 文字タイプ)をタイプし
      ます。さらに戻るにはこれを繰り返します。CTRL-I は前方向です。
 
-Note: "errroor" は error とスペルが違います;  errroor はいわゆる error です。
-Note: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている
+--->  "errroor" は error とスペルが違います;  errroor はいわゆる error です。
+NOTE: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている
       場合は、ファイルの先頭から検索を続行します。
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -612,10 +614,10 @@ NOTE: この機能は括弧が一致していないプログラムをデバッ
      シェルプロンプトのようにディレクトリの一覧が表示されるはずです。
      もしくは ls が動かないならば :!dir を使用しましょう。
 
-Note:  この方法によってあらゆるコマンドが実行することができます。もちろん引数
+NOTE:  この方法によってあらゆるコマンドが実行することができます。もちろん引数
        も与えられます。
 
-Note:  全ての : コマンドは <ENTER> を押して終了しなければなりません。
+NOTE:  全ての : コマンドは <ENTER> を押して終了しなければなりません。
        以降ではこのことに言及しません。
 
 
@@ -635,7 +637,7 @@ Note:  全ての : コマンドは <ENTER> を押して終了しなければな
   4. これによりファイル全体が TEST という名前で保存されます。
      もう一度 :!dir もしくは :!ls とタイプして確認してみましょう。
 
-Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の
+NOTE: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の
      チュートリアルの複製ができ上がるはずです。
 
   5. さらに、次のようにタイプしてファイルを消しましょう(MS-DOS):  :!del TEST
@@ -656,7 +658,7 @@ Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると
   3. 文字 : を押すと、画面の最下部に :'<,'> が現れます。
 
   4. w TEST (TEST は存在しないファイル名)をタイプします。
-     Enter を押す前に :'<,'>w TEST となっていることを確認して下さい。
+     <ENTER> を押す前に :'<,'>w TEST となっていることを確認して下さい。
 
   5. Vim は TEST というファイルに選択された行を書き込むでしょう。
      !dir もしくは !ls でそれを確認します。
@@ -755,7 +757,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例え
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
-Note: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり
+NOTE: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり
       ます。
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -803,7 +805,7 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイ
 --->  a) this is the first item.
       b)
 
-  Note: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。
+  NOTE: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       レッスン 6.5: オプションの設定
 
@@ -824,8 +826,8 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイ
 
   6. 大文字小文字の区別を無効にするには次の様に入力します:  :set noic
 
-Note: マッチの強調表示をやめるには次の様に入力します: :nohlsearch
-Note: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
+NOTE: マッチの強調表示をやめるには次の様に入力します: :nohlsearch
+NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
       を使用します:  /ignore\c  <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                レッスン 6 要約