updated for version 7.0e02
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 61d2a09..c663e3c 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
-" Language:	XHTML 1.0 Strict
+" Language:	HTML (XHTML 1.0 Strict by default)
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Mar 25
+" Last Change:	2006 Apr 17
 
 function! htmlcomplete#CompleteTags(findstart, base)
   if a:findstart
@@ -159,12 +159,12 @@
 	if exists("b:entitiescompl")
 		unlet! b:entitiescompl
 
-		if !exists("g:xmldata_xhtml10s")
-			runtime! autoload/xml/xhtml10s.vim
-			"call htmlcomplete#LoadData()
+		if !exists("g:html_omni")
+			"runtime! autoload/xml/xhtml10s.vim
+			call htmlcomplete#LoadData()
 		endif
 
-	    let entities =  g:xmldata_xhtml10s['vimxmlentities']
+	    let entities =  g:html_omni['vimxmlentities']
 
 		if len(a:base) == 1
 			for m in entities
@@ -443,29 +443,7 @@
 			let attrname = matchstr(attr, '.*\ze\s*=')
 			let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*")
 			let values = []
-			if attrname == 'media'
-				let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
-			elseif attrname == 'xml:space'
-				let values = ["preserve"]
-			elseif attrname == 'shape'
-				let values = ["rect", "circle", "poly", "default"]
-			elseif attrname == 'valuetype'
-				let values = ["data", "ref", "object"]
-			elseif attrname == 'method'
-				let values = ["get", "post"]
-			elseif attrname == 'dir'
-				let values = ["ltr", "rtl"]
-			elseif attrname == 'frame'
-				let values = ["void", "above", "below", "hsides", "lhs", "rhs", "vsides", "box", "border"]
-			elseif attrname == 'rules'
-				let values = ["none", "groups", "rows", "all"]
-			elseif attrname == 'align'
-				let values = ["left", "center", "right", "justify", "char"]
-			elseif attrname == 'valign'
-				let values = ["top", "middle", "bottom", "baseline"]
-			elseif attrname == 'scope'
-				let values = ["row", "col", "rowgroup", "colgroup"]
-			elseif attrname == 'href'
+			if attrname == 'href'
 				" Now we are looking for local anchors defined by name or id
 				if entered_value =~ '^#'
 					let file = join(getline(1, line('$')), ' ')
@@ -476,18 +454,12 @@
 						let values += ['#'.matchstr(i, "^[a-zA-Z][a-zA-Z0-9%_-]*")]
 					endfor
 				endif
-			elseif attrname == 'type'
-				if context =~ '^input'
-					let values = ["text", "password", "checkbox", "radio", "submit", "reset", "file", "hidden", "image", "button"]
-				elseif context =~ '^button'
-					let values = ["button", "submit", "reset"]
-				elseif context =~ '^style'
-					let values = ["text/css"]
-				elseif context =~ '^script'
-					let values = ["text/javascript"]
-				endif
 			else
-				return []
+				if has_key(g:html_omni, tag) && has_key(g:html_omni[tag][1], attrname)
+					let values = g:html_omni[tag][1][attrname]
+				else
+					return []
+				endif
 			endif
 
 			if len(values) == 0
@@ -518,13 +490,12 @@
 		let sbase = matchstr(context, '.*\ze\s.*')
 
 		" Load data {{{
-		if !exists("g:xmldata_xhtml10s")
-			runtime! autoload/xml/xhtml10s.vim
-			"call htmlcomplete#LoadData()
+		if !exists("g:html_omni_gen")
+			call htmlcomplete#LoadData()
 		endif
 		" }}}
 		"
-		let attrs = keys(g:xmldata_xhtml10s[tag][1])
+		let attrs = keys(g:html_omni[tag][1])
 
 		for m in sort(attrs)
 			if m =~ '^'.attr
@@ -534,13 +505,13 @@
 			endif
 		endfor
 		let menu = res + res2
-		if has_key(g:xmldata_xhtml10s, 'vimxmlattrinfo')
+		if has_key(g:html_omni, 'vimxmlattrinfo')
 			let final_menu = []
 			for i in range(len(menu))
 				let item = menu[i]
-				if has_key(g:xmldata_xhtml10s['vimxmlattrinfo'], item)
-					let m_menu = g:xmldata_xhtml10s['vimxmlattrinfo'][item][0]
-					let m_info = g:xmldata_xhtml10s['vimxmlattrinfo'][item][1]
+				if has_key(g:html_omni['vimxmlattrinfo'], item)
+					let m_menu = g:html_omni['vimxmlattrinfo'][item][0]
+					let m_info = g:html_omni['vimxmlattrinfo'][item][1]
 					if m_menu !~ 'Bool'
 						let item .= '="'
 					endif
@@ -569,9 +540,9 @@
 		endif
 	endif
 	" Load data {{{
-	if !exists("g:xmldata_xhtml10s")
-		runtime! autoload/xml/xhtml10s.vim
-		"call htmlcomplete#LoadData()
+	if !exists("g:html_omni")
+		"runtime! autoload/xml/xhtml10s.vim
+		call htmlcomplete#LoadData()
 	endif
 	" }}}
 	" Tag completion {{{
@@ -580,15 +551,15 @@
 	" MM: TODO: GLOT works always the same but with some weird situation it
 	" behaves as intended in HTML but screws in PHP
 	let g:ot = opentag
-	if opentag == '' || &ft == 'php' && !has_key(g:xmldata_xhtml10s, opentag)
+	if opentag == '' || &ft == 'php' && !has_key(g:html_omni, opentag)
 		" Hack for sometimes failing GetLastOpenTag.
 		" As far as I tested fail isn't GLOT fault but problem
 		" of invalid document - not properly closed tags and other mish-mash.
 		" Also when document is empty. Return list of *all* tags.
-	    let tags = keys(g:xmldata_xhtml10s)
+	    let tags = keys(g:html_omni)
 		call filter(tags, 'v:val !~ "^vimxml"')
 	else
-		let tags = g:xmldata_xhtml10s[opentag][0]
+		let tags = g:html_omni[opentag][0]
 	endif
 	" }}}
 
@@ -600,13 +571,13 @@
 		endif
 	endfor
 	let menu = res + res2
-	if has_key(g:xmldata_xhtml10s, 'vimxmltaginfo')
+	if has_key(g:html_omni, 'vimxmltaginfo')
 		let final_menu = []
 		for i in range(len(menu))
 			let item = menu[i]
-			if has_key(g:xmldata_xhtml10s['vimxmltaginfo'], item)
-				let m_menu = g:xmldata_xhtml10s['vimxmltaginfo'][item][0]
-				let m_info = g:xmldata_xhtml10s['vimxmltaginfo'][item][1]
+			if has_key(g:html_omni['vimxmltaginfo'], item)
+				let m_menu = g:html_omni['vimxmltaginfo'][item][0]
+				let m_info = g:html_omni['vimxmltaginfo'][item][1]
 			else
 				let m_menu = ''
 				let m_info = ''
@@ -621,4 +592,27 @@
 	" }}}
   endif
 endfunction
+
+function! htmlcomplete#LoadData() " {{{
+	if !exists("g:html_omni_flavor")
+		let g:html_omni_flavor = 'xhtml10s'
+	endif
+	exe 'runtime! autoload/xml/'.g:html_omni_flavor.'.vim'
+	" This one is necessary because we don't know if
+	" g:html_omni_flavor file exists and was sourced
+	" Proper checking for files would require iterating through 'rtp'
+	" and could introduce OS dependent mess.
+	if !exists("g:xmldata_".g:html_omni_flavor)
+		let g:html_omni_flavor = 'xhtml10s'
+		runtime! autoload/xml/xhtml10s.vim
+	endif
+
+	exe 'let g:html_omni = g:xmldata_'.g:html_omni_flavor
+
+	" Free some memory
+	exe 'unlet! g:xmldata_'.g:html_omni_flavor
+
+	"call htmlcomplete#LoadData()
+endfunction
+" }}}
 " vim:set foldmethod=marker:
diff --git a/runtime/autoload/xml/xhtml10s.vim b/runtime/autoload/xml/xhtml10s.vim
index 1d15cef..2fe68cd 100644
--- a/runtime/autoload/xml/xhtml10s.vim
+++ b/runtime/autoload/xml/xhtml10s.vim
@@ -1460,9 +1460,21 @@
 \ 'style' : [[],
 \ {
 \ 'lang' : [],
-\ 'media' : [],
+\ 'media' : [
+\ 'screen',
+\ 'tty',
+\ 'tv',
+\ 'projection',
+\ 'handheld',
+\ 'print',
+\ 'braille',
+\ 'aural',
+\ 'all'
+\ ],
 \ 'title' : [],
-\ 'type' : [],
+\ 'type' : [
+\ 'text/css'
+\ ],
 \ 'xml:space' : [
 \ 'preserve'
 \ ],
@@ -3342,7 +3354,17 @@
 \ ],
 \ 'onkeydown' : [],
 \ 'onkeyup' : [],
-\ 'media' : [],
+\ 'media' : [
+\ 'screen',
+\ 'tty',
+\ 'tv',
+\ 'projection',
+\ 'handheld',
+\ 'print',
+\ 'braille',
+\ 'aural',
+\ 'all'
+\ ],
 \ 'href' : [],
 \ 'onmouseup' : [],
 \ 'id' : [],
@@ -3369,7 +3391,9 @@
 \ 'BOOL'
 \ ],
 \ 'src' : [],
-\ 'type' : [],
+\ 'type' : [
+\ 'text/javascript'
+\ ],
 \ 'charset' : [],
 \ 'xml:space' : [
 \  'preserve'
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 550bb30..1b6d597 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0e.  Last change: 2006 Apr 14
+*insert.txt*    For Vim version 7.0e.  Last change: 2006 Apr 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1103,7 +1103,7 @@
 The menu is used when:
 - The 'completeopt' option contains "menu" or "menuone".
 - The terminal supports at least 8 colors.
-- There are at least two matches.
+- There are at least two matches.  One of "menuone" is used.
 
 The 'pumheight' option can be used to set a maximum height.  The default is to
 use all space available.
@@ -1264,6 +1264,26 @@
 run |:make| command to detect formatting problems.
 
 
+HTML flavor						*html-flavor*
+
+By default HTML completion provides completion for XHTML 1.0 Strict. This is
+not the only HTML version. To use another data file and still have benefits of
+custom completion for class, style, etc. attributes set g:html_omni_flavor
+variable. Example (in .vimrc or filetype plugin file): >
+
+	let g:html_omni_flavor = 'xhtml10t'
+
+Data for HTML completion will be read from 'autoload/xml/xhtml10t.vim' file
+located somewhere in 'runtimepath' (not in default distribution).
+
+More about format of data file in |xml-omni-datafile|. Some of data files may
+in future be found on vim-online site (|www|).
+
+Note that g:html_omni_flavor may point to file with any XML data.  This makes
+possible to mix PHP (|ft-php-omni|) completion with whatever XML dialect
+(assuming you have data file for it).
+
+
 JAVASCRIPT					       *ft-javascript-omni*
 
 Completion of most elements of JavaScript language and DOM elements.
@@ -1479,10 +1499,23 @@
    names, as value two element List for additional menu info and long
    description.
 
-Note: Tag names in data file MUST not contain namespace description. Check
+Note: Tag names in data file MUST not contain namespace description.  Check
 xsl.vim for example.
 
 
+DTD -> Vim                     					*dtd2vim*
+
+On |www| is script |dtd2vim| which parses DTD and creates XML data file
+for Vim XML omni completion.
+
+    dtd2vim: http://www.vim.org/scripts/script.php?script_id=1462
+
+Check there and beginning of file for details of usage.
+Script requires perl and: 
+
+    perlSGML: http://savannah.nongnu.org/projects/perlsgml
+
+
 Commands
 
 :XMLns {name} [{namespace}]					*:XMLns*
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index af12147..8555788 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0e.  Last change: 2006 Jan 02
+*motion.txt*    For Vim version 7.0e.  Last change: 2006 Apr 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1059,7 +1059,8 @@
 only once.
 
 When the |:keepjumps| command modifier is used, jumps are not stored in the
-jumplist.
+jumplist.  Jumps are also not stored in other cases, e.g., in a |:global|
+command.  You can explicitly add a jump by setting the ' mark.
 
 After the CTRL-O command that got you into line 1154 you could give another
 jump command (e.g., "G").  The jump list would then become:
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2cfd730..1b18f80 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 12
+*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1651,10 +1651,11 @@
 	   	    Useful when there is additional information about the
 		    match, e.g., what file it comes from.
 
-	   longest  Only insert the longest common text of the matches.  Use
-	   	    CTRL-L to add more characters.  Whether case is ignored
-		    depends on the kind of completion.  For buffer text the
-		    'ignorecase' option is used.
+	   longest  Only insert the longest common text of the matches.  If
+		    the menu is displayed you can use CTRL-L to add more
+		    characters.  Whether case is ignored depends on the kind
+		    of completion.  For buffer text the 'ignorecase' option is
+		    used.
 
 	   preview  Show extra information about the currently selected
 	   	    completion in the preview window.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a327261..e8d6853 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4984,6 +4984,7 @@
 drag-n-drop-win32	gui_w32.txt	/*drag-n-drop-win32*
 drag-status-line	term.txt	/*drag-status-line*
 dtd.vim	syntax.txt	/*dtd.vim*
+dtd2vim	insert.txt	/*dtd2vim*
 dying-variable	eval.txt	/*dying-variable*
 e	motion.txt	/*e*
 easy	starting.txt	/*easy*
@@ -5716,6 +5717,7 @@
 howto.txt	howto.txt	/*howto.txt*
 hpterm	term.txt	/*hpterm*
 hpterm-color	syntax.txt	/*hpterm-color*
+html-flavor	insert.txt	/*html-flavor*
 html.vim	syntax.txt	/*html.vim*
 htmlos.vim	syntax.txt	/*htmlos.vim*
 http	pi_netrw.txt	/*http*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 599e370..4f98431 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 17
+*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt
index 308337a..4c148c4 100644
--- a/runtime/doc/usr_44.txt
+++ b/runtime/doc/usr_44.txt
@@ -1,4 +1,4 @@
-*usr_44.txt*	For Vim version 7.0e.  Last change: 2006 Mar 27
+*usr_44.txt*	For Vim version 7.0e.  Last change: 2006 Apr 18
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -667,8 +667,13 @@
 syntax group (nameType, nameStatement, nameString, etc).
 
 Start with a check for "b:current_syntax".  If it is defined, some other
-syntax file, earlier in 'runtimepath' was already loaded.  To be compatible
-with Vim 5.8 use: >
+syntax file, earlier in 'runtimepath' was already loaded: >
+
+	if exists("b:current_syntax")
+	  finish
+	endif
+
+To be compatible with Vim 5.8 use: >
 
 	if version < 600
 	  syntax clear
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 6d0183d..4bafdbe 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 17
+*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -350,6 +350,10 @@
 matching paren can be highlighted.  This uses the new |CursorMoved|
 autocommand event.
 
+This means some commands are executed every time you move the cursor.  If this
+slows you down too much switch it off with: >
+	:NoMatchParen
+
 See |matchparen| for more information.
 
 The plugin uses the |:match| command.  It now supports three match patterns.
@@ -890,6 +894,7 @@
 BTM ftplugin file. (Bram Moolenaar)
 calendar ftplugin file. (Nikolai Weibull)
 Changelog indent file. (Nikolai Weibull)
+Cmake indent and syntax file. (Andy Cedilnik)
 conf ftplugin file. (Nikolai Weibull)
 context syntax and ftplugin file. (Nikolai Weibull)
 CRM114 ftplugin file. (Nikolai Weibull)
@@ -949,6 +954,7 @@
 rd syntax file. (Johannes Ranke)
 readline ftplugin file. (Nikolai Weibull)
 rhelp syntax file. (Johannes Ranke)
+rnoweb syntax file. (Johannes Ranke)
 Relax NG compact ftplugin file. (Nikolai Weibull)
 Scheme indent file. (Sergey Khorev)
 screen ftplugin file. (Nikolai Weibull)
@@ -970,6 +976,7 @@
 sysctl syntax and ftplugin file. (Nikolai Weibull)
 terminfo ftplugin file. (Nikolai Weibull)
 trustees syntax file. (Nima Talebi)
+Vera syntax file. (David Eggum)
 udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull)
 updatedb syntax and ftplugin file. (Nikolai Weibull)
 VHDL indent file (Gerald Lai)
@@ -2520,4 +2527,33 @@
 Spell checking: spellbadword() didn't see a missing capital in the first word
 of a line.  Popup menu now only suggest the capitalized word when appropriate.
 
+When using whole line completion CTRL-L moves throught the matches but it
+didn't work when at the original text.
+
+When completion finds the longest match, don't go to the first match but stick
+at the original text, so that CTRL-N selects the first one.
+
+Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James
+Vega)
+
+When using ":map <expr>" and the expression results in something with a
+special byte (NUL or CSI) then it didn't work properly.  Now escape special
+bytes.
+
+The default Visual highlighting for a color xterm with 8 colors was a magenta
+background, which made magenta text disappear.  Now use reverse in this
+specific situation.
+
+After completing the longest match "." didn't insert the same text.  Repeating
+also didn't work correctly for multi-byte text.
+
+When using Insert mode completion and BS the whole word that was completed
+would result in all possible matches.  Now stop completion.  Also fixes that
+for spell completion the previous word was deleted.
+
+GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name
+the tab page label was wrong and an error message would be given.
+
+The taglist() function could hang on a tags line with a non-ASCII character.
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 26463a8..2e14397 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 15
+" Last Change:	2006 Apr 18
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -427,6 +427,9 @@
 	\   setf clipper |
 	\ endif
 
+" Cmake
+au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in		setf cmake
+
 " Cobol
 au BufNewFile,BufRead *.cbl,*.cob,*.lib	setf cobol
 "   cobol or zope form controller python script? (heuristic)
@@ -1332,10 +1335,25 @@
 au BufNewFile,BufRead *.rexx,*.rex		setf rexx
 
 " R (Splus)
-au BufNewFile,BufRead *.s,*.S			setf r
+if has("fname_case")
+  au BufNewFile,BufRead *.s,*.S			setf r
+else
+  au BufNewFile,BufRead *.s			setf r
+endif
 
 " R Help file
-au BufNewFile,BufRead *.rd,*.Rd			setf rhelp
+if has("fname_case")
+  au BufNewFile,BufRead *.rd,*.Rd		setf rhelp
+else
+  au BufNewFile,BufRead *.rd			setf rhelp
+endif
+
+" R noweb file
+if has("fname_case")
+  au BufNewFile,BufRead *.Rnw,*.rnw,*.Snw,*.snw		setf rnoweb
+else
+  au BufNewFile,BufRead *.rnw,*.snw			setf rnoweb
+endif
 
 " Rexx, Rebol or R
 au BufNewFile,BufRead *.r,*.R			call s:FTr()
@@ -1822,6 +1840,9 @@
 " Updatedb
 au BufNewFile,BufRead /etc/updatedb.conf	setf updatedb
 
+" Vera
+au BufNewFile,BufRead *.vr,*.vri,*.vrh		setf vera
+
 " Verilog HDL
 au BufNewFile,BufRead *.v			setf verilog
 
diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim
new file mode 100644
index 0000000..e36937d
--- /dev/null
+++ b/runtime/indent/cmake.vim
@@ -0,0 +1,92 @@
+" =============================================================================
+" 
+"   Program:   CMake - Cross-Platform Makefile Generator
+"   Module:    $RCSfile$
+"   Language:  VIM
+"   Date:      $Date$
+"   Version:   $Revision$
+" 
+" =============================================================================
+
+" Vim indent file
+" Language:     CMake (ft=cmake)
+" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
+" Maintainer:   Andy Cedilnik <andy.cedilnik@kitware.com>
+" Last Change:  $Date$
+" Version:      $Revision$
+"
+" Licence:      The CMake license applies to this file. See
+"               http://www.cmake.org/HTML/Copyright.html
+"               This implies that distribution with Vim is allowed
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=CMakeGetIndent(v:lnum)
+
+" Only define the function once.
+if exists("*CMakeGetIndent")
+  finish
+endif
+
+fun! CMakeGetIndent(lnum)
+  let this_line = getline(a:lnum)
+
+  " Find a non-blank line above the current line.
+  let lnum = a:lnum
+  let lnum = prevnonblank(lnum - 1)
+  let previous_line = getline(lnum)
+
+  " Hit the start of the file, use zero indent.
+  if lnum == 0
+    return 0
+  endif
+
+  let ind = indent(lnum)
+
+  let or = '\|'
+  " Regular expressions used by line indentation function.
+  let cmake_regex_comment = '#.*'
+  let cmake_regex_identifier = '[A-Za-z][A-Za-z0-9_]*'
+  let cmake_regex_quoted = '"\([^"\\]\|\\.\)*"'
+  let cmake_regex_arguments = '\(' . cmake_regex_quoted .
+                    \       or . '\$(' . cmake_regex_identifier . ')' .
+                    \       or . '[^()\\#"]' . or . '\\.' . '\)*'
+
+  let cmake_indent_comment_line = '^\s*' . cmake_regex_comment
+  let cmake_indent_blank_regex = '^\s*$')
+  let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier .
+                    \           '\s*(' . cmake_regex_arguments .
+                    \           '\(' . cmake_regex_comment . '\)\?$'
+
+  let cmake_indent_close_regex = '^' . cmake_regex_arguments .
+                    \            ')\s*' .
+                    \            '\(' . cmake_regex_comment . '\)\?$'
+
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\)\s*('
+
+  " Add
+  if previous_line =~? cmake_indent_comment_line " Handle comments
+    let ind = ind
+  else
+    if previous_line =~? cmake_indent_begin_regex
+      let ind = ind + &sw
+    endif
+    if previous_line =~? cmake_indent_open_regex
+      let ind = ind + &sw
+    endif
+  endif
+
+  " Subtract
+  if this_line =~? cmake_indent_end_regex
+    let ind = ind - &sw
+  endif
+  if previous_line =~? cmake_indent_close_regex
+    let ind = ind - &sw
+  endif
+
+  return ind
+endfun
diff --git a/runtime/lang/menu_chinese_gb.936.vim b/runtime/lang/menu_chinese_gb.936.vim
index 9c3bf6d..55a2442 100644
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -1,6 +1,8 @@
-" Menu Translations:	Simplified Chinese (Windows)
-" Translated By:	Wang Jun <junw@turbolinux.com.cn>
-" Last Change:		Tue Sep  4 11:26:52 CST 2001
+" Menu Translations:	Simplified Chinese <i18n-translation@lists.linux.net.cn>
+" Translated By:	Yuheng Xie <elephant@linux.net.cn>
+" Last Change:		Tue Apr 18 22:00:00 2006
+
+" vim: ts=8 sw=8 noet
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -14,62 +16,68 @@
 menutrans &Help			°ïÖú(&H)
 menutrans &Overview<Tab><F1>	Ô¤ÀÀ(&O)<Tab><F1>
 menutrans &User\ Manual		Óû§ÊÖ²á(&U)
-menutrans &GUI			ͼÐνçÃæ(&G)
-menutrans &How-to\ links	HOWTOÎĵµ\.\.\.(&H)
+menutrans &How-to\ links	How-to\ Á¬½Ó(&H)
+menutrans &Find\.\.\.		²éÕÒ(&F)\.\.\.
 menutrans &Credits		×÷Õß(&C)
 menutrans Co&pying		°æÈ¨(&P)
 menutrans &Version		°æ±¾(&V)
-menutrans &About		¹ØÓÚ\ Vim(&A)
+menutrans &Sponsor/Register	ÔÞÖú/×¢²á(&S)
+menutrans O&rphans		¹Â¶ù(&R)
+menutrans &Version		°æ±¾(&V)
+menutrans &About		¹ØÓÚ(&A)
 
 " File menu
 menutrans &File				Îļþ(&F)
 menutrans &Open\.\.\.<Tab>:e		´ò¿ª(&O)\.\.\.<Tab>:e
-menutrans Sp&lit-Open\.\.\.<Tab>:sp	·Ö¸î´°¿Ú²¢´ò¿ª(&L)<Tab>:sp
+menutrans Sp&lit-Open\.\.\.<Tab>:sp	·Ö¸î²¢´ò¿ª(&L)\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew	´ò¿ª±êÇ©\.\.\.<Tab>:tabnew
 menutrans &New<Tab>:enew		н¨(&N)<Tab>:enew
 menutrans &Close<Tab>:close		¹Ø±Õ(&C)<Tab>:close
 menutrans &Save<Tab>:w			±£´æ(&S)<Tab>:w
 menutrans Save\ &As\.\.\.<Tab>:sav	Áí´æÎª(&A)\.\.\.<Tab>:sav
-menutrans Split\ &Diff\ with\.\.\.	·Ö¸î±È½Ï(&Diff)\.\.\.
-menutrans Split\ Patched\ &By\.\.\.	·Ö¸î´ò²¹¶¡(&Patch)\.\.\.
+menutrans Split\ &Diff\ with\.\.\.	·Ö¸î±È½Ï(Diff)(&D)\.\.\.
+menutrans Split\ Patched\ &By\.\.\.	·Ö¸î´ò²¹¶¡(Patch)(&B)\.\.\.
 menutrans &Print			´òÓ¡(&P)
 menutrans Sa&ve-Exit<Tab>:wqa		±£´æ²¢Í˳ö(&V)<Tab>:wqa
 menutrans E&xit<Tab>:qa			Í˳ö(&X)<Tab>:qa
 
 " Edit menu
 menutrans &Edit				±à¼­(&E)
-menutrans &Undo<Tab>u			»Ö¸´(&U)<Tab>u
+menutrans &Undo<Tab>u			³·Ïú(&U)<Tab>u
 menutrans &Redo<Tab>^R			ÖØ×ö(&R)<Tab>^R
-menutrans Rep&eat<Tab>\.		ÖØ¸´Éϴζ¯×÷(&E)<Tab>\.
+menutrans Rep&eat<Tab>\.		ÖØ¸´ÉϴβÙ×÷(&E)<Tab>\.
 menutrans Cu&t<Tab>"+x			¼ôÇÐ(&T)<Tab>"+x
 menutrans &Copy<Tab>"+y			¸´ÖÆ(&C)<Tab>"+y
-menutrans &Paste<Tab>"+gP		Õ³Ìû(&P)<Tab>"+gP
-menutrans Put\ &Before<Tab>[p		Ìùµ½¹â±êǰ(&B)<Tab>[p
-menutrans Put\ &After<Tab>]p		Ìùµ½¹â±êºó(&A)<Tab>]p
+menutrans &Paste<Tab>"+gP		Õ³Ìù(&P)<Tab>"+gP
+menutrans Put\ &Before<Tab>[p		Õ³Ìùµ½¹â±êǰ(&B)<Tab>[p
+menutrans Put\ &After<Tab>]p		Õ³Ìùµ½¹â±êºó(&A)<Tab>]p
 menutrans &Delete<Tab>x			ɾ³ý(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggvG
+menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
 menutrans &Find\.\.\.			²éÕÒ(&F)\.\.\.
-menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒÌæ»»(&L)\.\.\.
+menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒºÍÌæ»»(&L)\.\.\.
+menutrans &Find<Tab>/			²éÕÒ(&F)<Tab>/
+menutrans Find\ and\ Rep&lace<Tab>:%s	²éÕÒºÍÌæ»»(&L)<Tab>:%s
 menutrans Settings\ &Window		É趨´°¿Ú(&W)
+menutrans Startup\ &Settings		Æô¶¯É趨(&S)
 menutrans &Global\ Settings		È«¾ÖÉ趨(&G)
 
-" Build boolean options
-menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	¿ª/¹ØÔöÁ¿²éÕÒģʽ<Tab>:set\ hls!
-menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		¿ª/¹ØºöÂÔ´óСдģʽ<Tab>:set\ ic!
-menutrans Toggle\ &Showmatch<Tab>:set\ sm!		¿ª/¹ØÆ¥ÅäÏÔʾ<Tab>:set sm!
+" Edit/Global Settings
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	¿ª/¹ØÄ£Ê½¸ßÁÁ(&H)<Tab>:set\ hls!
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		¿ª/¹ØºöÂÔ´óСд(&I)<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm!		¿ª/¹ØÏÔʾÅä¶Ô(&S)<Tab>:set\ sm!
 menutrans &Context\ lines			ÉÏÏÂÎÄÐÐÊý(&C)
 
-menutrans &Virtual\ Edit			¿ÉÊÓ»¯±à¼­Ä£Ê½(&V)
+menutrans &Virtual\ Edit			ÐéÄâ±à¼­(&V)
 menutrans Never					´Ó²»
 menutrans Block\ Selection			¿éÑ¡Ôñ
 menutrans Insert\ mode				²åÈëģʽ
-menutrans Block\ and\ Insert			¿éÑ¡ÔñÓë²åÈëģʽ
-menutrans Always				ËùÓÐģʽ
+menutrans Block\ and\ Insert			¿éÑ¡ÔñºÍ²åÈëģʽ
+menutrans Always				×ÜÊÇ
 
-menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	¿ª/¹Ø²åÈëģʽ<Tab>:set\ im!
-
-menutrans Search\ &Path\.\.\.			²éÕÒ·¾¶\.\.\.(&P)
-
-menutrans Ta&g\ Files\.\.\.			±êÇ©Îļþ\.\.\.(&g)
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	¿ª/¹Ø²åÈëģʽ(&M)<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!	¿ª/¹Ø\ Vi\ ¼æÈÝ<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\.			²éÕÒ·¾¶(&P)\.\.\.
+menutrans Ta&g\ Files\.\.\.			Tag\ Îļþ(&T)\.\.\.
 
 " GUI options
 menutrans Toggle\ &Toolbar			¿ª/¹Ø¹¤¾ßÌõ(&T)
@@ -77,87 +85,111 @@
 menutrans Toggle\ &Left\ Scrollbar		¿ª/¹Ø×ó¶Ë¹ö¶¯Ìõ(&L)
 menutrans Toggle\ &Right\ Scrollbar		¿ª/¹ØÓҶ˹ö¶¯Ìõ(&R)
 
-
 " Edit/File Settings
-menutrans F&ile\ Settings			ÎļþÉ趨(&i)
+menutrans F&ile\ Settings			ÎļþÉ趨(&I)
 
 " Boolean options
-menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	¿ª/¹ØÏÔʾÐкÅ<Tab>:set\ nu!
-menutrans Toggle\ &List\ Mode<Tab>:set\ list!		¿ª/¹ØÏÔʾTab<Tab>:set\ list!
-menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		¿ª/¹Ø×Ô¶¯ÕÛÐÐ<Tab>:set\ wrap!
-menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	¿ª/¹Ø´ÊβÕÛÐÐ<Tab>:set\ lbr!
-menutrans Toggle\ &expand-tab<Tab>:set\ et!		¿ª/¹Øexpand-tab<Tab>:set\ et!
-menutrans Toggle\ &auto-indent<Tab>:set\ ai!		¿ª/¹Øauto-indent<Tab>:set\ ai!
-menutrans Toggle\ &C-indenting<Tab>:set\ cin!		¿ª/¹ØC-indent<Tab>:set\ cin!
-
+menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	¿ª/¹ØÏÔʾÐкÅ(&N)<Tab>:set\ nu!
+menutrans Toggle\ &List\ Mode<Tab>:set\ list!		¿ª/¹Ø\ list\ ģʽ(&L)<Tab>:set\ list!
+menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		¿ª/¹ØÕÛÐÐ(&W)<Tab>:set\ wrap!
+menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	¿ª/¹ØÕû´ÊÕÛÐÐ(&R)<Tab>:set\ lbr!
+menutrans Toggle\ &expand-tab<Tab>:set\ et!		¿ª/¹ØÀ©Õ¹\ tab(&E)<Tab>:set\ et!
+menutrans Toggle\ &auto-indent<Tab>:set\ ai!		¿ª/¹Ø×Ô¶¯Ëõ½ø(&A)<Tab>:set\ ai!
+menutrans Toggle\ &C-indenting<Tab>:set\ cin!		¿ª/¹Ø\ C\ Ëõ½ø(&C)<Tab>:set\ cin!
 
 " other options
-menutrans &Shiftwidth			ËõÅÅ¿í¶È(&S)
-menutrans Soft\ &Tabstop		αTab¿í¶È(&T)
-menutrans Te&xt\ Width\.\.\.		Ò³Ãæ¿í¶È(&x)\.\.\.
+menutrans &Shiftwidth			Ëõ½ø¿í¶È(&S)
+menutrans Soft\ &Tabstop		Soft\ Tab\ ¿í¶È(&T)
+menutrans Te&xt\ Width\.\.\.		Îı¾¿í¶È(&X)\.\.\.
 menutrans &File\ Format\.\.\.		Îļþ¸ñʽ(&F)\.\.\.
-
-menutrans C&olor\ Scheme		µ÷É«°å(&o)
-menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&n)\.\.\.
-
+menutrans C&olor\ Scheme		ÅäÉ«·½°¸(&O)
+menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&N)\.\.\.
+menutrans &Keymap			Keymap(&K)
 
 " Programming menu
 menutrans &Tools			¹¤¾ß(&T)
-menutrans &Jump\ to\ this\ tag<Tab>g^]	¼ìË÷¹â±ê´¦µÄ±êÇ©¹Ø¼ü×Ö(tag)(&J)<Tab>g^]
-menutrans Jump\ &back<Tab>^T		Ìø»Ø¼ìË÷ǰµÄλÖÃ(&B)<Tab>^T
-menutrans Build\ &Tags\ File		½¨Á¢±êÇ©Ë÷ÒýÎļþ\ Tags(&T)
-menutrans &Folding			FoldingÉ趨(&F)
-menutrans &Diff				±È½Ï(&D)
-menutrans &Make<Tab>:make		Ö´ÐÐ\ Make(&M)<Tab>:make
-menutrans &List\ Errors<Tab>:cl		Áгö±àÒë´íÎó(&E)<Tab>:cl
-menutrans L&ist\ Messages<Tab>:cl!	ÁгöËùÓÐÐÅÏ¢(&I)<Tab>:cl!
-menutrans &Next\ Error<Tab>:cn		ÏÂÒ»¸ö±àÒë´íÎó´¦(&N)<Tab>:cn
-menutrans &Previous\ Error<Tab>:cp	ÉÏÒ»¸ö±àÒë´íÎó´¦(&P)<Tab>:cp
-menutrans &Older\ List<Tab>:cold	¾É´íÎóÁбí(&O)<Tab>:cold
-menutrans N&ewer\ List<Tab>:cnew	дíÎóÁбí(&E)<Tab>:cnew
-menutrans Error\ &Window		´íÎóÐÅÏ¢´°¿Ú(&W)
-menutrans &Set\ Compiler		ÉèÖñàÒëÆ÷(&S)
-menutrans &Convert\ to\ HEX<Tab>:%!xxd	ת»»³É16½øÖÆ<Tab>:%!xxd
-menutrans Conve&rt\ back<Tab>:%!xxd\ -r	´Ó16½øÖÆ×ª»»»ØÎÄ×Ö<Tab>:%!xxd\ -r
+menutrans &Jump\ to\ this\ tag<Tab>g^]	Ìø×ªµ½Õâ¸ö\ tag(&J)<Tab>g^]
+menutrans Jump\ &back<Tab>^T		Ìø×ª·µ»Ø(&B)<Tab>^T
+menutrans Build\ &Tags\ File		½¨Á¢ Tags Îļþ(&T)
+
+" Tools.Spelling Menu
+menutrans &Spelling				ƴд¼ì²é(&S)
+menutrans &Spell\ Check\ On			´ò¿ªÆ´Ð´¼ì²é(&S)
+menutrans Spell\ Check\ &Off			¹Ø±Õƴд¼ì²é(&O)
+menutrans To\ &Next\ error<Tab>]s		ÉÏÒ»¸ö´íÎó(&N)<Tab>]s
+menutrans To\ &Previous\ error<Tab>[s		ÏÂÒ»¸ö´íÎó(&P)<Tab>[s
+menutrans Suggest\ &Corrections<Tab>z=		ÐÞÕý½¨Òé(&C)<Tab>z=
+menutrans &Repeat\ correction<Tab>:spellrepall	ÖØ¸´ÐÞÕý(&R)<Tab>:spellrepall
+menutrans Set\ language\ to\ "en"		É趨ÓïÑÔΪ\ "en"
+menutrans Set\ language\ to\ "en_au"		É趨ÓïÑÔΪ\ "en_au"
+menutrans Set\ language\ to\ "en_ca"		É趨ÓïÑÔΪ\ "en_ca"
+menutrans Set\ language\ to\ "en_gb"		É趨ÓïÑÔΪ\ "en_gb"
+menutrans Set\ language\ to\ "en_nz"		É趨ÓïÑÔΪ\ "en_nz"
+menutrans Set\ language\ to\ "en_us"		É趨ÓïÑÔΪ\ "en_us"
+menutrans &Find\ More\ Languages		²éÕÒ¸ü¶àÓïÑÔ(&F)
 
 " Tools.Fold Menu
-menutrans &Enable/Disable\ folds<Tab>zi		ʹÓÃ/²»Ê¹ÓÃFolding(&E)<Tab>zi
+" open close folds
+menutrans &Folding				ÕÛµþ(&F)
+menutrans &Enable/Disable\ folds<Tab>zi		ÆôÓÃ/½ûÓÃÕÛµþ(&E)<Tab>zi
 menutrans &View\ Cursor\ Line<Tab>zv		²é¿´´ËÐÐ(&V)<Tab>zv
-menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	Ö»²é¿´´ËÐÐ(&W)<Tab>zMzx
-menutrans C&lose\ more\ folds<Tab>zm		¹Ø±ÕFolds(&L)<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM		¹Ø±ÕËùÓÐFolds(&C)<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr		Õ¹¿ªFolds(&P)<Tab>zr
-menutrans &Open\ all\ folds<Tab>zR		Õ¹¿ªËùÓÐFolds(&O)<Tab>zR
+menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	½ö²é¿´´ËÐÐ(&W)<Tab>zMzx
+menutrans C&lose\ more\ folds<Tab>zm		¹Ø±Õ¸ü¶àÕÛµþ(&L)<Tab>zm
+menutrans &Close\ all\ folds<Tab>zM		¹Ø±ÕËùÓÐÕÛµþ(&C)<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr		´ò¿ª¸ü¶àÕÛµþ(&P)<Tab>zr
+menutrans &Open\ all\ folds<Tab>zR		´ò¿ªËùÓÐÕÛµþ(&O)<Tab>zR
 " fold method
-menutrans Fold\ Met&hod				Fold·½Ê½(&H)
-menutrans Create\ &Fold<Tab>zf			½¨Á¢Fold(&F)<Tab>zf
-menutrans &Delete\ Fold<Tab>zd			ɾ³ýFold(&D)<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD		ɾ³ýËùÓÐFold(&A)<Tab>zD
+menutrans Fold\ Met&hod			ÕÛµþ·½·¨(&H)
+menutrans M&anual			ÊÖ¹¤(&A)
+menutrans I&ndent			Ëõ½ø(&N)
+menutrans E&xpression			±í´ïʽ(&X)
+menutrans S&yntax			Óï·¨(&Y)
+menutrans &Diff				±È½Ï(Diff)(&D)
+menutrans Ma&rker			񈬀(&R)
+" create and delete folds
+menutrans Create\ &Fold<Tab>zf		´´½¨ÕÛµþ(&F)<Tab>zf
+menutrans &Delete\ Fold<Tab>zd		ɾ³ýÕÛµþ(&D)<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD	ɾ³ýËùÓÐÕÛµþ(&A)<Tab>zD
 " moving around in folds
-menutrans Fold\ column\ &width			É趨FoldÀ¸¿í(&W)
+menutrans Fold\ column\ &width		ÕÛµþÀ¸¿í¶È(&W)
 
 " Tools.Diff Menu
-menutrans &Update		¸üÐÂ(&U)
-menutrans &Get\ Block		È¡µÃ²»Í¬²¿·Ö(&G)
-menutrans &Put\ Block		½«²»Í¬²¿·ÖÓ¦Óõ½¶Ô·½(&P)
+menutrans &Diff				±È½Ï(Diff)(&D)
+menutrans &Update			¸üÐÂ(&U)
+menutrans &Get\ Block			µÃµ½¿é(&G)
+menutrans &Put\ Block			·ÅÖÿé(&P)
 
+menutrans &Make<Tab>:make		Make(&M)<Tab>:make
+menutrans &List\ Errors<Tab>:cl		Áгö´íÎó(&L)<Tab>:cl
+menutrans L&ist\ Messages<Tab>:cl!	ÁгöÏûÏ¢(&I)<Tab>:cl!
+menutrans &Next\ Error<Tab>:cn		ÏÂÒ»¸ö´íÎó(&N)<Tab>:cn
+menutrans &Previous\ Error<Tab>:cp	ÉÏÒ»¸ö´íÎó(&P)<Tab>:cp
+menutrans &Older\ List<Tab>:cold	¸ü¾ÉµÄ´íÎóÁбí(&O)<Tab>:cold
+menutrans N&ewer\ List<Tab>:cnew	¸üеĴíÎóÁбí(&E)<Tab>:cnew
+menutrans Error\ &Window		´íÎó´°¿Ú(&W)
+menutrans &Update<Tab>:cwin		¸üÐÂ(&U)<Tab>:cwin
+menutrans &Open<Tab>:copen		´ò¿ª(&O)<Tab>:copen
+menutrans &Close<Tab>:cclose		¹Ø±Õ(&C)<Tab>:cclose
+menutrans &Convert\ to\ HEX<Tab>:%!xxd	ת»»³ÉÊ®Áù½øÖÆ<Tab>:%!xxd
+menutrans Conve&rt\ back<Tab>:%!xxd\ -r	ת»»·µ»Ø<Tab>:%!xxd\ -r
+menutrans Se&T\ Compiler		É趨±àÒëÆ÷(&T)
 
 " Names for buffer menu.
 menutrans &Buffers		»º³åÇø(&B)
-menutrans &Refresh\ menu	¸üÐÂ(&R)
+menutrans &Refresh\ menu	¸üв˵¥(&R)
 menutrans &Delete		ɾ³ý(&D)
-menutrans &Alternate		ÐÞ¸Ä(&L)
+menutrans &Alternate		½»Ìæ(&A)
 menutrans &Next			ÏÂÒ»¸ö(&N)
-menutrans &Previous		ǰһ¸ö(&P)
+menutrans &Previous		ÉÏÒ»¸ö(&P)
 
 " Window menu
 menutrans &Window			´°¿Ú(&W)
-menutrans &New<Tab>^Wn			н¨´°¿Ú(&N)<Tab>^Wn
-menutrans S&plit<Tab>^Ws		·Ö¸î´°¿Ú(&P)<Tab>^Ws
-menutrans Sp&lit\ To\ #<Tab>^W^^	·Ö¸îµ½#(&L)<Tab>^W^^
+menutrans &New<Tab>^Wn			н¨(&N)<Tab>^Wn
+menutrans S&plit<Tab>^Ws		·Ö¸î(&P)<Tab>^Ws
+menutrans Sp&lit\ To\ #<Tab>^W^^	·Ö¸îµ½\ #(&L)<Tab>^W^^
 menutrans Split\ &Vertically<Tab>^Wv	´¹Ö±·Ö¸î(&V)<Tab>^Wv
-menutrans Split\ File\ E&xplorer	Îļþä¯ÀÀÆ÷ʽ·Ö¸î(&X)
-menutrans &Close<Tab>^Wc		¹Ø±Õ´°¿Ú(&C)<Tab>^Wc
+menutrans Split\ File\ E&xplorer	·Ö¸îÎļþä¯ÀÀÆ÷(&X)
+menutrans &Close<Tab>^Wc		¹Ø±Õ(&C)<Tab>^Wc
 menutrans Close\ &Other(s)<Tab>^Wo	¹Ø±ÕÆäËü´°¿Ú(&O)<Tab>^Wo
 menutrans Move\ &To			ÒÆ¶¯µ½(&T)
 menutrans &Top<Tab>^WK			¶¥¶Ë(&T)<Tab>^WK
@@ -166,13 +198,13 @@
 menutrans &Right\ side<Tab>^WL		ÓÒ±ß(&R)<Tab>^WL
 " menutrans Ne&xt<Tab>^Ww		ÏÂÒ»¸ö(&X)<Tab>^Ww
 " menutrans P&revious<Tab>^WW		ÉÏÒ»¸ö(&R)<Tab>^WW
-menutrans Rotate\ &Up<Tab>^WR		ÉÏÒÆ´°¿Ú(&U)<Tab>^WR
-menutrans Rotate\ &Down<Tab>^Wr		ÏÂÒÆ´°¿Ú(&D)<Tab>^Wr
-menutrans &Equal\ Size<Tab>^W=		ËùÓд°¿ÚµÈ¸ß(&E)<Tab>^W=
+menutrans Rotate\ &Up<Tab>^WR		ÏòÉÏÂÖ»»(&U)<Tab>^WR
+menutrans Rotate\ &Down<Tab>^Wr		ÏòÏÂÂÖ»»(&D)<Tab>^Wr
+menutrans &Equal\ Size<Tab>^W=		µÈ´ó(&E)<Tab>^W=
 menutrans &Max\ Height<Tab>^W_		×î´ó¸ß¶È(&M)<Tab>^W
-menutrans M&in\ Height<Tab>^W1_		×îС¸ß¶È(&i)<Tab>^W1_
+menutrans M&in\ Height<Tab>^W1_		×îС¸ß¶È(&I)<Tab>^W1_
 menutrans Max\ &Width<Tab>^W\|		×î´ó¿í¶È(&W)<Tab>^W\|
-menutrans Min\ Widt&h<Tab>^W1\|		×îС¿í¶È(&h)<Tab>^W1\|
+menutrans Min\ Widt&h<Tab>^W1\|		×îС¿í¶È(&H)<Tab>^W1\|
 "
 " The popup menu
 menutrans &Undo			³·Ïú(&U)
@@ -180,8 +212,10 @@
 menutrans &Copy			¸´ÖÆ(&C)
 menutrans &Paste		Õ³Ìû(&P)
 menutrans &Delete		ɾ³ý(&D)
-menutrans Select\ Blockwise	BlockwiseÑ¡Ôñ
+menutrans Select\ Blockwise	Ñ¡Ôñ¿é
 menutrans Select\ &Word		Ñ¡Ôñµ¥´Ê(&W)
+menutrans Select\ &Sentence	Ñ¡Ôñ¾ä×Ó(&S)
+menutrans Select\ Pa&ragraph	Ñ¡Ôñ¶ÎÂä(&R)
 menutrans Select\ &Line		Ñ¡ÔñÐÐ(&L)
 menutrans Select\ &Block	Ñ¡Ôñ¿é(&B)
 menutrans Select\ &All		ȫѡ(&A)
@@ -196,35 +230,35 @@
     tmenu ToolBar.Save		±£´æµ±Ç°Îļþ
     tmenu ToolBar.SaveAll	±£´æÈ«²¿Îļþ
     tmenu ToolBar.Print		´òÓ¡
-    tmenu ToolBar.Undo		³·ÏúÉÏ´ÎÐÞ¸Ä
-    tmenu ToolBar.Redo		ÖØ×öÉϴγ·ÏúµÄ¶¯×÷
-    tmenu ToolBar.Cut		¼ôÇÐÖÁ¼ôÌù°å
+    tmenu ToolBar.Undo		³·Ïú
+    tmenu ToolBar.Redo		ÖØ×ö
+    tmenu ToolBar.Cut		¼ôÇе½¼ôÌù°å
     tmenu ToolBar.Copy		¸´ÖƵ½¼ôÌù°å
-    tmenu ToolBar.Paste		ÓɼôÌù°åÕ³Ìû
+    tmenu ToolBar.Paste		´Ó¼ôÌù°åÕ³Ìû
     tmenu ToolBar.Find		²éÕÒ...
     tmenu ToolBar.FindNext	²éÕÒÏÂÒ»¸ö
     tmenu ToolBar.FindPrev	²éÕÒÉÏÒ»¸ö
-    tmenu ToolBar.Replace	Ìæ»»...
+    tmenu ToolBar.Replace	²éÕÒºÍÌæ»»...
     tmenu ToolBar.LoadSesn	¼ÓÔØ»á»°
-    tmenu ToolBar.SaveSesn	±£´æµ±Ç°µÄ»á»°
-    tmenu ToolBar.RunScript	ÔËÐÐVim½Å±¾
-    tmenu ToolBar.Make		Ö´ÐÐ Make
-    tmenu ToolBar.Shell		´ò¿ªÒ»¸öÃüÁî´°¿Ú
-    tmenu ToolBar.RunCtags	Ö´ÐÐ ctags
-    tmenu ToolBar.TagJump	Ìøµ½µ±Ç°¹â±êλÖõıêÇ©
+    tmenu ToolBar.SaveSesn	±£´æµ±Ç°»á»°
+    tmenu ToolBar.RunScript	ÔËÐÐ Vim ½Å±¾
+    tmenu ToolBar.Make		Ö´ÐÐ Make (:make)
+    tmenu ToolBar.RunCtags	ÔÚµ±Ç°Ä¿Â¼½¨Á¢ tags (!ctags -R .)
+    tmenu ToolBar.TagJump	Ìø×ªµ½¹â±êλÖÃµÄ tag
     tmenu ToolBar.Help		Vim °ïÖú
     tmenu ToolBar.FindHelp	²éÕÒ Vim °ïÖú
   endfun
 endif
 
 " Syntax menu
-menutrans &Syntax		Óï·¨(&S)
-menutrans Set\ '&syntax'\ only	Ö»É趨\ 'syntax'(&s)
-menutrans Set\ '&filetype'\ too	Ò²É趨\ 'filetype'(&f)
-menutrans &Off			¹Ø±Õ(&O)
-menutrans &Manual		ÊÖ¶¯É趨(&M)
-menutrans A&utomatic		×Ô¶¯É趨(&U)
-menutrans on/off\ for\ &This\ file	Ö»¶ÔÕâ¸öÎļþ´ò¿ª/¹Ø±Õ(&T)
-menutrans Co&lor\ test		É«²ÊÏÔʾ²âÊÔ(&L)
-menutrans &Highlight\ test	Ó﷨Ч¹û²âÊÔ(&H)
-menutrans &Convert\ to\ HTML	ת»»³É\ HTML\ ¸ñʽ(&C)
+menutrans &Syntax			Óï·¨(&S)
+menutrans &Manual			ÊÖ¹¤(&M)
+menutrans A&utomatic			×Ô¶¯(&U)
+menutrans on/off\ for\ &This\ file	½ö¶ÔÕâ¸öÎļþ¿ª/¹Ø(&T)
+menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
+menutrans &Off				¹Ø±Õ(&O)
+menutrans Co&lor\ test			É«²Ê²âÊÔ(&L)
+menutrans &Highlight\ test		¸ßÁÁ²âÊÔ(&H)
+menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
+menutrans Set\ '&syntax'\ only		½öÉ趨\ 'syntax'(&S)
+menutrans Set\ '&filetype'\ too		Ò²É趨\ 'filetype'(&F)
diff --git a/runtime/lang/menu_ja_jp.euc-jp.vim b/runtime/lang/menu_ja_jp.euc-jp.vim
index e73376c..ee9f0e5 100644
--- a/runtime/lang/menu_ja_jp.euc-jp.vim
+++ b/runtime/lang/menu_ja_jp.euc-jp.vim
@@ -2,7 +2,7 @@
 "
 " Menu Translations:	Japanese (EUC-JP)
 " Translated By:	MURAOKA Taro  <koron@tka.att.ne.jp>
-" Last Change:		28-Mar-2006.
+" Last Change:		18-Apr-2006.
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -60,6 +60,7 @@
 menutrans Find\ and\ Rep&lace<Tab>:s	ÃÖ´¹(&L)<Tab>:s
 "menutrans Options\.\.\.			¥ª¥×¥·¥ç¥ó(&O)\.\.\.
 menutrans Settings\ &Window		ÀßÄꥦ¥£¥ó¥É¥¦(&W)
+menutrans Startup\ &Settings		µ¯Æ°»þ¤ÎÀßÄê(&S)
 
 " Edit/Global Settings
 menutrans &Global\ Settings		Á´ÂÎÀßÄê(&G)
diff --git a/runtime/lang/menu_ja_jp.utf-8.vim b/runtime/lang/menu_ja_jp.utf-8.vim
index 2491f0c..c36d6a0 100644
--- a/runtime/lang/menu_ja_jp.utf-8.vim
+++ b/runtime/lang/menu_ja_jp.utf-8.vim
@@ -2,7 +2,7 @@
 "
 " Menu Translations:	Japanese (UTF-8)
 " Translated By:	MURAOKA Taro  <koron@tka.att.ne.jp>
-" Last Change:		06-Feb-2006.
+" Last Change:		18-Apr-2006.
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -60,6 +60,7 @@
 menutrans Find\ and\ Rep&lace<Tab>:s	置換(&L)<Tab>:s
 "menutrans Options\.\.\.			オプション(&O)\.\.\.
 menutrans Settings\ &Window		設定ウィンドウ(&W)
+menutrans Startup\ &Settings		起動時の設定(&S)
 
 " Edit/Global Settings
 menutrans &Global\ Settings		全体設定(&G)
diff --git a/runtime/lang/menu_japanese_japan.932.vim b/runtime/lang/menu_japanese_japan.932.vim
index 16a2635..5c836be 100644
--- a/runtime/lang/menu_japanese_japan.932.vim
+++ b/runtime/lang/menu_japanese_japan.932.vim
@@ -2,7 +2,7 @@
 "
 " Menu Translations:	Japanese (CP932)
 " Translated By:	MURAOKA Taro  <koron@tka.att.ne.jp>
-" Last Change:		28-Mar-2006.
+" Last Change:		18-Apr-2006.
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -60,6 +60,7 @@
 menutrans Find\ and\ Rep&lace<Tab>:s	’uŠ·(&L)<Tab>:s
 "menutrans Options\.\.\.			ƒIƒvƒVƒ‡ƒ“(&O)\.\.\.
 menutrans Settings\ &Window		Ý’èƒEƒBƒ“ƒhƒE(&W)
+menutrans Startup\ &Settings		‹N“®Žž‚̐ݒè(&S)
 
 " Edit/Global Settings
 menutrans &Global\ Settings		‘S‘̐ݒè(&G)
diff --git a/runtime/lang/menu_sv_se.latin1.vim b/runtime/lang/menu_sv_se.latin1.vim
index 744d272..8935e0d 100644
--- a/runtime/lang/menu_sv_se.latin1.vim
+++ b/runtime/lang/menu_sv_se.latin1.vim
@@ -1,6 +1,6 @@
 " Menu Translations:    Swedish
 " Maintainer:		Johan Svedberg <johan@svedberg.com>
-" Last Change:		2005 Oct 09
+" Last Change:		2006 Apr 13
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -31,6 +31,7 @@
 menutrans &File				&Arkiv
 menutrans &Open\.\.\.<Tab>:e		&Öppna\.\.\.<Tab>:e
 menutrans Sp&lit-Open\.\.\.<Tab>:sp	Öppna\ i\ splitt-vy\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew	Öppna\ flik\.\.\.<Tab>:tabnew
 menutrans &New<Tab>:enew		&Ny<Tab>:enew
 menutrans &Close<Tab>:close		S&täng<Tab>:close
 menutrans &Save<Tab>:w			&Spara<Tab>:w
@@ -66,24 +67,24 @@
 
 " Edit.Global Settings
 menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	Växla\ mönsterframhävning<Tab>:set\ hls!
-menutrans Toggle\ &Ignore-case<Tab>:set\ ic!	Växla\ ignorering\ av\ storlek<Tab>:set\ ic!
-menutrans Toggle\ &Showmatch<Tab>:set\ sm!	Växla\ matchningsvisning<Tab>:set\ sm!
-menutrans &Context\ lines		Sammanhangsrader
-menutrans &Virtual\ Edit		Virtuell\ redigering
-menutrans Never				Aldrig
-menutrans Block\ Selection		Blockval
-menutrans Insert\ mode			Infogningsläge
-menutrans Block\ and\ Insert		Block\ och\ infogning
-menutrans Always			Alltid
-menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	Växla\ infogningsläge<Tab>:set\ im!
-menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!	Växla\ Vi-kompabilitet<Tab>:set\ cp!
-menutrans Search\ &Path\.\.\.		Sökväg\.\.\.
-menutrans Ta&g\ Files\.\.\.		Taggfiler\.\.\.
-menutrans Toggle\ &Toolbar		Växla\ verktygsrad
-menutrans Toggle\ &Bottom\ Scrollbar	Växla\ rullningslista\ i\ botten
-menutrans Toggle\ &Left\ Scrollbar	Växla\ vänster\ rullningslista
-menutrans Toggle\ &Right\ Scrollbar	Växla\ höger\ rullningslista
-menutrans None				Ingen
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		Växla\ ignorering\ av\ storlek<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm!		Växla\ matchningsvisning<Tab>:set\ sm!
+menutrans &Context\ lines				Sammanhangsrader
+menutrans &Virtual\ Edit				Virtuell\ redigering
+menutrans Never						Aldrig
+menutrans Block\ Selection				Blockval
+menutrans Insert\ mode					Infogningsläge
+menutrans Block\ and\ Insert				Block\ och\ infogning
+menutrans Always					Alltid
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!		Växla\ infogningsläge<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!		Växla\ Vi-kompabilitet<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\.				Sökväg\.\.\.
+menutrans Ta&g\ Files\.\.\.				Taggfiler\.\.\.
+menutrans Toggle\ &Toolbar				Växla\ verktygsrad
+menutrans Toggle\ &Bottom\ Scrollbar			Växla\ rullningslista\ i\ botten
+menutrans Toggle\ &Left\ Scrollbar			Växla\ vänster\ rullningslista
+menutrans Toggle\ &Right\ Scrollbar			Växla\ höger\ rullningslista
+menutrans None						Ingen
 
 " Edit.File Settings
 menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	Växla\ radnumrering<Tab>:set\ nu!
@@ -94,7 +95,7 @@
 menutrans Toggle\ &auto-indent<Tab>:set\ ai!		Växla\ auto-indentering<Tab>:set\ ai!
 menutrans Toggle\ &C-indenting<Tab>:set\ cin!		Växla\ C-indentering<Tab>:set\ cin!
 menutrans &Shiftwidth					Shiftbredd
-menutrans Soft &Tabstop					Mjuk tab-stopp
+menutrans Soft\ &Tabstop				Mjuk\ tab-stopp
 menutrans Te&xt\ Width\.\.\.				Textbredd\.\.\.
 menutrans &File\ Format\.\.\.				Filformat\.\.\.
 
@@ -116,7 +117,16 @@
 menutrans &Close<Tab>:cclose		&Stäng<Tab>:cclose
 menutrans &Convert\ to\ HEX<Tab>:%!xxd	Konvertera\ till\ HEX<Tab>:%!xxd
 menutrans Conve&rt\ back<Tab>:%!xxd\ -r	Konvertera\ tillbaka<Tab>:%!xxd\ -r
-menutrans &Set\ Compiler		Sätt\ kompilerare
+menutrans Se&T\ Compiler		Sätt\ &kompilerare
+
+" Tools.Spelling
+menutrans &Spelling				&Stavning
+menutrans &Spell\ Check\ On			&Stavningskontroll\ på
+menutrans &Spell\ Check\ Off			Stavningskontroll\ &av
+menutrans To\ &Next\ error<Tab>]s		Till\ &nästa\ fel
+menutrans To\ &Previous\ error<Tab>[s		Till\ &föregående\ fel
+menutrans Suggest\ &Corrections<Tab>z=		Föreslå\ &korrigeringar
+menutrans &Repeat\ correction<Tab>:spellrepall	&Upprepa\ korrigering
 
 " Tools.Folding
 menutrans &Enable/Disable\ folds<Tab>zi	Växla\ veck<Tab>zi
diff --git a/runtime/lang/menu_zh_cn.gb2312.vim b/runtime/lang/menu_zh_cn.gb2312.vim
index b0eac38..78840ec 100644
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -1,6 +1,8 @@
-" Menu Translations:	Simplified Chinese (UNIX)
-" Translated By:	Wang Jun <junw@turbolinux.com.cn>
-" Last Change:		Tue Sep  4 11:26:52 CST 2001
+" Menu Translations:	Simplified Chinese <i18n-translation@lists.linux.net.cn>
+" Translated By:	Yuheng Xie <elephant@linux.net.cn>
+" Last Change:		Tue Apr 18 22:00:00 2006
+
+" vim: ts=8 sw=8 noet
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -14,62 +16,68 @@
 menutrans &Help			°ïÖú(&H)
 menutrans &Overview<Tab><F1>	Ô¤ÀÀ(&O)<Tab><F1>
 menutrans &User\ Manual		Óû§ÊÖ²á(&U)
-menutrans &GUI			ͼÐνçÃæ(&G)
-menutrans &How-to\ links	HOWTOÎĵµ\.\.\.(&H)
+menutrans &How-to\ links	How-to\ Á¬½Ó(&H)
+menutrans &Find\.\.\.		²éÕÒ(&F)\.\.\.
 menutrans &Credits		×÷Õß(&C)
 menutrans Co&pying		°æÈ¨(&P)
 menutrans &Version		°æ±¾(&V)
-menutrans &About		¹ØÓÚ\ Vim(&A)
+menutrans &Sponsor/Register	ÔÞÖú/×¢²á(&S)
+menutrans O&rphans		¹Â¶ù(&R)
+menutrans &Version		°æ±¾(&V)
+menutrans &About		¹ØÓÚ(&A)
 
 " File menu
 menutrans &File				Îļþ(&F)
 menutrans &Open\.\.\.<Tab>:e		´ò¿ª(&O)\.\.\.<Tab>:e
-menutrans Sp&lit-Open\.\.\.<Tab>:sp	·Ö¸î´°¿Ú²¢´ò¿ª(&L)<Tab>:sp
+menutrans Sp&lit-Open\.\.\.<Tab>:sp	·Ö¸î²¢´ò¿ª(&L)\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew	´ò¿ª±êÇ©\.\.\.<Tab>:tabnew
 menutrans &New<Tab>:enew		н¨(&N)<Tab>:enew
 menutrans &Close<Tab>:close		¹Ø±Õ(&C)<Tab>:close
 menutrans &Save<Tab>:w			±£´æ(&S)<Tab>:w
 menutrans Save\ &As\.\.\.<Tab>:sav	Áí´æÎª(&A)\.\.\.<Tab>:sav
-menutrans Split\ &Diff\ with\.\.\.	·Ö¸î±È½Ï(&Diff)\.\.\.
-menutrans Split\ Patched\ &By\.\.\.	·Ö¸î´ò²¹¶¡(&Patch)\.\.\.
+menutrans Split\ &Diff\ with\.\.\.	·Ö¸î±È½Ï(Diff)(&D)\.\.\.
+menutrans Split\ Patched\ &By\.\.\.	·Ö¸î´ò²¹¶¡(Patch)(&B)\.\.\.
 menutrans &Print			´òÓ¡(&P)
 menutrans Sa&ve-Exit<Tab>:wqa		±£´æ²¢Í˳ö(&V)<Tab>:wqa
 menutrans E&xit<Tab>:qa			Í˳ö(&X)<Tab>:qa
 
 " Edit menu
 menutrans &Edit				±à¼­(&E)
-menutrans &Undo<Tab>u			»Ö¸´(&U)<Tab>u
+menutrans &Undo<Tab>u			³·Ïú(&U)<Tab>u
 menutrans &Redo<Tab>^R			ÖØ×ö(&R)<Tab>^R
-menutrans Rep&eat<Tab>\.		ÖØ¸´Éϴζ¯×÷(&E)<Tab>\.
+menutrans Rep&eat<Tab>\.		ÖØ¸´ÉϴβÙ×÷(&E)<Tab>\.
 menutrans Cu&t<Tab>"+x			¼ôÇÐ(&T)<Tab>"+x
 menutrans &Copy<Tab>"+y			¸´ÖÆ(&C)<Tab>"+y
-menutrans &Paste<Tab>"+gP		Õ³Ìû(&P)<Tab>"+gP
-menutrans Put\ &Before<Tab>[p		Ìùµ½¹â±êǰ(&B)<Tab>[p
-menutrans Put\ &After<Tab>]p		Ìùµ½¹â±êºó(&A)<Tab>]p
+menutrans &Paste<Tab>"+gP		Õ³Ìù(&P)<Tab>"+gP
+menutrans Put\ &Before<Tab>[p		Õ³Ìùµ½¹â±êǰ(&B)<Tab>[p
+menutrans Put\ &After<Tab>]p		Õ³Ìùµ½¹â±êºó(&A)<Tab>]p
 menutrans &Delete<Tab>x			ɾ³ý(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggvG
+menutrans &Select\ all<Tab>ggVG		ȫѡ(&S)<Tab>ggVG
 menutrans &Find\.\.\.			²éÕÒ(&F)\.\.\.
-menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒÌæ»»(&L)\.\.\.
+menutrans Find\ and\ Rep&lace\.\.\.	²éÕÒºÍÌæ»»(&L)\.\.\.
+menutrans &Find<Tab>/			²éÕÒ(&F)<Tab>/
+menutrans Find\ and\ Rep&lace<Tab>:%s	²éÕÒºÍÌæ»»(&L)<Tab>:%s
 menutrans Settings\ &Window		É趨´°¿Ú(&W)
+menutrans Startup\ &Settings		Æô¶¯É趨(&S)
 menutrans &Global\ Settings		È«¾ÖÉ趨(&G)
 
-" Build boolean options
-menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	¿ª/¹ØÔöÁ¿²éÕÒģʽ<Tab>:set\ hls!
-menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		¿ª/¹ØºöÂÔ´óСдģʽ<Tab>:set\ ic!
-menutrans Toggle\ &Showmatch<Tab>:set\ sm!		¿ª/¹ØÆ¥ÅäÏÔʾ<Tab>:set sm!
+" Edit/Global Settings
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	¿ª/¹ØÄ£Ê½¸ßÁÁ(&H)<Tab>:set\ hls!
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		¿ª/¹ØºöÂÔ´óСд(&I)<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm!		¿ª/¹ØÏÔʾÅä¶Ô(&S)<Tab>:set\ sm!
 menutrans &Context\ lines			ÉÏÏÂÎÄÐÐÊý(&C)
 
-menutrans &Virtual\ Edit			¿ÉÊÓ»¯±à¼­Ä£Ê½(&V)
+menutrans &Virtual\ Edit			ÐéÄâ±à¼­(&V)
 menutrans Never					´Ó²»
 menutrans Block\ Selection			¿éÑ¡Ôñ
 menutrans Insert\ mode				²åÈëģʽ
-menutrans Block\ and\ Insert			¿éÑ¡ÔñÓë²åÈëģʽ
-menutrans Always				ËùÓÐģʽ
+menutrans Block\ and\ Insert			¿éÑ¡ÔñºÍ²åÈëģʽ
+menutrans Always				×ÜÊÇ
 
-menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	¿ª/¹Ø²åÈëģʽ<Tab>:set\ im!
-
-menutrans Search\ &Path\.\.\.			²éÕÒ·¾¶\.\.\.(&P)
-
-menutrans Ta&g\ Files\.\.\.			±êÇ©Îļþ\.\.\.(&g)
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	¿ª/¹Ø²åÈëģʽ(&M)<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!	¿ª/¹Ø\ Vi\ ¼æÈÝ<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\.			²éÕÒ·¾¶(&P)\.\.\.
+menutrans Ta&g\ Files\.\.\.			Tag\ Îļþ(&T)\.\.\.
 
 " GUI options
 menutrans Toggle\ &Toolbar			¿ª/¹Ø¹¤¾ßÌõ(&T)
@@ -77,87 +85,111 @@
 menutrans Toggle\ &Left\ Scrollbar		¿ª/¹Ø×ó¶Ë¹ö¶¯Ìõ(&L)
 menutrans Toggle\ &Right\ Scrollbar		¿ª/¹ØÓҶ˹ö¶¯Ìõ(&R)
 
-
 " Edit/File Settings
-menutrans F&ile\ Settings			ÎļþÉ趨(&i)
+menutrans F&ile\ Settings			ÎļþÉ趨(&I)
 
 " Boolean options
-menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	¿ª/¹ØÏÔʾÐкÅ<Tab>:set\ nu!
-menutrans Toggle\ &List\ Mode<Tab>:set\ list!		¿ª/¹ØÏÔʾTab<Tab>:set\ list!
-menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		¿ª/¹Ø×Ô¶¯ÕÛÐÐ<Tab>:set\ wrap!
-menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	¿ª/¹Ø´ÊβÕÛÐÐ<Tab>:set\ lbr!
-menutrans Toggle\ &expand-tab<Tab>:set\ et!		¿ª/¹Øexpand-tab<Tab>:set\ et!
-menutrans Toggle\ &auto-indent<Tab>:set\ ai!		¿ª/¹Øauto-indent<Tab>:set\ ai!
-menutrans Toggle\ &C-indenting<Tab>:set\ cin!		¿ª/¹ØC-indent<Tab>:set\ cin!
-
+menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	¿ª/¹ØÏÔʾÐкÅ(&N)<Tab>:set\ nu!
+menutrans Toggle\ &List\ Mode<Tab>:set\ list!		¿ª/¹Ø\ list\ ģʽ(&L)<Tab>:set\ list!
+menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		¿ª/¹ØÕÛÐÐ(&W)<Tab>:set\ wrap!
+menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	¿ª/¹ØÕû´ÊÕÛÐÐ(&R)<Tab>:set\ lbr!
+menutrans Toggle\ &expand-tab<Tab>:set\ et!		¿ª/¹ØÀ©Õ¹\ tab(&E)<Tab>:set\ et!
+menutrans Toggle\ &auto-indent<Tab>:set\ ai!		¿ª/¹Ø×Ô¶¯Ëõ½ø(&A)<Tab>:set\ ai!
+menutrans Toggle\ &C-indenting<Tab>:set\ cin!		¿ª/¹Ø\ C\ Ëõ½ø(&C)<Tab>:set\ cin!
 
 " other options
-menutrans &Shiftwidth			ËõÅÅ¿í¶È(&S)
-menutrans Soft\ &Tabstop		αTab¿í¶È(&T)
-menutrans Te&xt\ Width\.\.\.		Ò³Ãæ¿í¶È(&x)\.\.\.
+menutrans &Shiftwidth			Ëõ½ø¿í¶È(&S)
+menutrans Soft\ &Tabstop		Soft\ Tab\ ¿í¶È(&T)
+menutrans Te&xt\ Width\.\.\.		Îı¾¿í¶È(&X)\.\.\.
 menutrans &File\ Format\.\.\.		Îļþ¸ñʽ(&F)\.\.\.
-
-menutrans C&olor\ Scheme		µ÷É«°å(&o)
-menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&n)\.\.\.
-
+menutrans C&olor\ Scheme		ÅäÉ«·½°¸(&O)
+menutrans Select\ Fo&nt\.\.\.		Ñ¡Ôñ×ÖÌå(&N)\.\.\.
+menutrans &Keymap			Keymap(&K)
 
 " Programming menu
 menutrans &Tools			¹¤¾ß(&T)
-menutrans &Jump\ to\ this\ tag<Tab>g^]	¼ìË÷¹â±ê´¦µÄ±êÇ©¹Ø¼ü×Ö(tag)(&J)<Tab>g^]
-menutrans Jump\ &back<Tab>^T		Ìø»Ø¼ìË÷ǰµÄλÖÃ(&B)<Tab>^T
-menutrans Build\ &Tags\ File		½¨Á¢±êÇ©Ë÷ÒýÎļþ\ Tags(&T)
-menutrans &Folding			FoldingÉ趨(&F)
-menutrans &Diff				±È½Ï(&D)
-menutrans &Make<Tab>:make		Ö´ÐÐ\ Make(&M)<Tab>:make
-menutrans &List\ Errors<Tab>:cl		Áгö±àÒë´íÎó(&E)<Tab>:cl
-menutrans L&ist\ Messages<Tab>:cl!	ÁгöËùÓÐÐÅÏ¢(&I)<Tab>:cl!
-menutrans &Next\ Error<Tab>:cn		ÏÂÒ»¸ö±àÒë´íÎó´¦(&N)<Tab>:cn
-menutrans &Previous\ Error<Tab>:cp	ÉÏÒ»¸ö±àÒë´íÎó´¦(&P)<Tab>:cp
-menutrans &Older\ List<Tab>:cold	¾É´íÎóÁбí(&O)<Tab>:cold
-menutrans N&ewer\ List<Tab>:cnew	дíÎóÁбí(&E)<Tab>:cnew
-menutrans Error\ &Window		´íÎóÐÅÏ¢´°¿Ú(&W)
-menutrans &Set\ Compiler		ÉèÖñàÒëÆ÷(&S)
-menutrans &Convert\ to\ HEX<Tab>:%!xxd	ת»»³É16½øÖÆ<Tab>:%!xxd
-menutrans Conve&rt\ back<Tab>:%!xxd\ -r	´Ó16½øÖÆ×ª»»»ØÎÄ×Ö<Tab>:%!xxd\ -r
+menutrans &Jump\ to\ this\ tag<Tab>g^]	Ìø×ªµ½Õâ¸ö\ tag(&J)<Tab>g^]
+menutrans Jump\ &back<Tab>^T		Ìø×ª·µ»Ø(&B)<Tab>^T
+menutrans Build\ &Tags\ File		½¨Á¢ Tags Îļþ(&T)
+
+" Tools.Spelling Menu
+menutrans &Spelling				ƴд¼ì²é(&S)
+menutrans &Spell\ Check\ On			´ò¿ªÆ´Ð´¼ì²é(&S)
+menutrans Spell\ Check\ &Off			¹Ø±Õƴд¼ì²é(&O)
+menutrans To\ &Next\ error<Tab>]s		ÉÏÒ»¸ö´íÎó(&N)<Tab>]s
+menutrans To\ &Previous\ error<Tab>[s		ÏÂÒ»¸ö´íÎó(&P)<Tab>[s
+menutrans Suggest\ &Corrections<Tab>z=		ÐÞÕý½¨Òé(&C)<Tab>z=
+menutrans &Repeat\ correction<Tab>:spellrepall	ÖØ¸´ÐÞÕý(&R)<Tab>:spellrepall
+menutrans Set\ language\ to\ "en"		É趨ÓïÑÔΪ\ "en"
+menutrans Set\ language\ to\ "en_au"		É趨ÓïÑÔΪ\ "en_au"
+menutrans Set\ language\ to\ "en_ca"		É趨ÓïÑÔΪ\ "en_ca"
+menutrans Set\ language\ to\ "en_gb"		É趨ÓïÑÔΪ\ "en_gb"
+menutrans Set\ language\ to\ "en_nz"		É趨ÓïÑÔΪ\ "en_nz"
+menutrans Set\ language\ to\ "en_us"		É趨ÓïÑÔΪ\ "en_us"
+menutrans &Find\ More\ Languages		²éÕÒ¸ü¶àÓïÑÔ(&F)
 
 " Tools.Fold Menu
-menutrans &Enable/Disable\ folds<Tab>zi		ʹÓÃ/²»Ê¹ÓÃFolding(&E)<Tab>zi
+" open close folds
+menutrans &Folding				ÕÛµþ(&F)
+menutrans &Enable/Disable\ folds<Tab>zi		ÆôÓÃ/½ûÓÃÕÛµþ(&E)<Tab>zi
 menutrans &View\ Cursor\ Line<Tab>zv		²é¿´´ËÐÐ(&V)<Tab>zv
-menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	Ö»²é¿´´ËÐÐ(&W)<Tab>zMzx
-menutrans C&lose\ more\ folds<Tab>zm		¹Ø±ÕFolds(&L)<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM		¹Ø±ÕËùÓÐFolds(&C)<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr		Õ¹¿ªFolds(&P)<Tab>zr
-menutrans &Open\ all\ folds<Tab>zR		Õ¹¿ªËùÓÐFolds(&O)<Tab>zR
+menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	½ö²é¿´´ËÐÐ(&W)<Tab>zMzx
+menutrans C&lose\ more\ folds<Tab>zm		¹Ø±Õ¸ü¶àÕÛµþ(&L)<Tab>zm
+menutrans &Close\ all\ folds<Tab>zM		¹Ø±ÕËùÓÐÕÛµþ(&C)<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr		´ò¿ª¸ü¶àÕÛµþ(&P)<Tab>zr
+menutrans &Open\ all\ folds<Tab>zR		´ò¿ªËùÓÐÕÛµþ(&O)<Tab>zR
 " fold method
-menutrans Fold\ Met&hod				Fold·½Ê½(&H)
-menutrans Create\ &Fold<Tab>zf			½¨Á¢Fold(&F)<Tab>zf
-menutrans &Delete\ Fold<Tab>zd			ɾ³ýFold(&D)<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD		ɾ³ýËùÓÐFold(&A)<Tab>zD
+menutrans Fold\ Met&hod			ÕÛµþ·½·¨(&H)
+menutrans M&anual			ÊÖ¹¤(&A)
+menutrans I&ndent			Ëõ½ø(&N)
+menutrans E&xpression			±í´ïʽ(&X)
+menutrans S&yntax			Óï·¨(&Y)
+menutrans &Diff				±È½Ï(Diff)(&D)
+menutrans Ma&rker			񈬀(&R)
+" create and delete folds
+menutrans Create\ &Fold<Tab>zf		´´½¨ÕÛµþ(&F)<Tab>zf
+menutrans &Delete\ Fold<Tab>zd		ɾ³ýÕÛµþ(&D)<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD	ɾ³ýËùÓÐÕÛµþ(&A)<Tab>zD
 " moving around in folds
-menutrans Fold\ column\ &width			É趨FoldÀ¸¿í(&W)
+menutrans Fold\ column\ &width		ÕÛµþÀ¸¿í¶È(&W)
 
 " Tools.Diff Menu
-menutrans &Update		¸üÐÂ(&U)
-menutrans &Get\ Block		È¡µÃ²»Í¬²¿·Ö(&G)
-menutrans &Put\ Block		½«²»Í¬²¿·ÖÓ¦Óõ½¶Ô·½(&P)
+menutrans &Diff				±È½Ï(Diff)(&D)
+menutrans &Update			¸üÐÂ(&U)
+menutrans &Get\ Block			µÃµ½¿é(&G)
+menutrans &Put\ Block			·ÅÖÿé(&P)
 
+menutrans &Make<Tab>:make		Make(&M)<Tab>:make
+menutrans &List\ Errors<Tab>:cl		Áгö´íÎó(&L)<Tab>:cl
+menutrans L&ist\ Messages<Tab>:cl!	ÁгöÏûÏ¢(&I)<Tab>:cl!
+menutrans &Next\ Error<Tab>:cn		ÏÂÒ»¸ö´íÎó(&N)<Tab>:cn
+menutrans &Previous\ Error<Tab>:cp	ÉÏÒ»¸ö´íÎó(&P)<Tab>:cp
+menutrans &Older\ List<Tab>:cold	¸ü¾ÉµÄ´íÎóÁбí(&O)<Tab>:cold
+menutrans N&ewer\ List<Tab>:cnew	¸üеĴíÎóÁбí(&E)<Tab>:cnew
+menutrans Error\ &Window		´íÎó´°¿Ú(&W)
+menutrans &Update<Tab>:cwin		¸üÐÂ(&U)<Tab>:cwin
+menutrans &Open<Tab>:copen		´ò¿ª(&O)<Tab>:copen
+menutrans &Close<Tab>:cclose		¹Ø±Õ(&C)<Tab>:cclose
+menutrans &Convert\ to\ HEX<Tab>:%!xxd	ת»»³ÉÊ®Áù½øÖÆ<Tab>:%!xxd
+menutrans Conve&rt\ back<Tab>:%!xxd\ -r	ת»»·µ»Ø<Tab>:%!xxd\ -r
+menutrans Se&T\ Compiler		É趨±àÒëÆ÷(&T)
 
 " Names for buffer menu.
 menutrans &Buffers		»º³åÇø(&B)
-menutrans &Refresh\ menu	¸üÐÂ(&R)
+menutrans &Refresh\ menu	¸üв˵¥(&R)
 menutrans &Delete		ɾ³ý(&D)
-menutrans &Alternate		ÐÞ¸Ä(&L)
+menutrans &Alternate		½»Ìæ(&A)
 menutrans &Next			ÏÂÒ»¸ö(&N)
-menutrans &Previous		ǰһ¸ö(&P)
+menutrans &Previous		ÉÏÒ»¸ö(&P)
 
 " Window menu
 menutrans &Window			´°¿Ú(&W)
-menutrans &New<Tab>^Wn			н¨´°¿Ú(&N)<Tab>^Wn
-menutrans S&plit<Tab>^Ws		·Ö¸î´°¿Ú(&P)<Tab>^Ws
-menutrans Sp&lit\ To\ #<Tab>^W^^	·Ö¸îµ½#(&L)<Tab>^W^^
+menutrans &New<Tab>^Wn			н¨(&N)<Tab>^Wn
+menutrans S&plit<Tab>^Ws		·Ö¸î(&P)<Tab>^Ws
+menutrans Sp&lit\ To\ #<Tab>^W^^	·Ö¸îµ½\ #(&L)<Tab>^W^^
 menutrans Split\ &Vertically<Tab>^Wv	´¹Ö±·Ö¸î(&V)<Tab>^Wv
-menutrans Split\ File\ E&xplorer	Îļþä¯ÀÀÆ÷ʽ·Ö¸î(&X)
-menutrans &Close<Tab>^Wc		¹Ø±Õ´°¿Ú(&C)<Tab>^Wc
+menutrans Split\ File\ E&xplorer	·Ö¸îÎļþä¯ÀÀÆ÷(&X)
+menutrans &Close<Tab>^Wc		¹Ø±Õ(&C)<Tab>^Wc
 menutrans Close\ &Other(s)<Tab>^Wo	¹Ø±ÕÆäËü´°¿Ú(&O)<Tab>^Wo
 menutrans Move\ &To			ÒÆ¶¯µ½(&T)
 menutrans &Top<Tab>^WK			¶¥¶Ë(&T)<Tab>^WK
@@ -166,13 +198,13 @@
 menutrans &Right\ side<Tab>^WL		ÓÒ±ß(&R)<Tab>^WL
 " menutrans Ne&xt<Tab>^Ww		ÏÂÒ»¸ö(&X)<Tab>^Ww
 " menutrans P&revious<Tab>^WW		ÉÏÒ»¸ö(&R)<Tab>^WW
-menutrans Rotate\ &Up<Tab>^WR		ÉÏÒÆ´°¿Ú(&U)<Tab>^WR
-menutrans Rotate\ &Down<Tab>^Wr		ÏÂÒÆ´°¿Ú(&D)<Tab>^Wr
-menutrans &Equal\ Size<Tab>^W=		ËùÓд°¿ÚµÈ¸ß(&E)<Tab>^W=
+menutrans Rotate\ &Up<Tab>^WR		ÏòÉÏÂÖ»»(&U)<Tab>^WR
+menutrans Rotate\ &Down<Tab>^Wr		ÏòÏÂÂÖ»»(&D)<Tab>^Wr
+menutrans &Equal\ Size<Tab>^W=		µÈ´ó(&E)<Tab>^W=
 menutrans &Max\ Height<Tab>^W_		×î´ó¸ß¶È(&M)<Tab>^W
-menutrans M&in\ Height<Tab>^W1_		×îС¸ß¶È(&i)<Tab>^W1_
+menutrans M&in\ Height<Tab>^W1_		×îС¸ß¶È(&I)<Tab>^W1_
 menutrans Max\ &Width<Tab>^W\|		×î´ó¿í¶È(&W)<Tab>^W\|
-menutrans Min\ Widt&h<Tab>^W1\|		×îС¿í¶È(&h)<Tab>^W1\|
+menutrans Min\ Widt&h<Tab>^W1\|		×îС¿í¶È(&H)<Tab>^W1\|
 "
 " The popup menu
 menutrans &Undo			³·Ïú(&U)
@@ -180,8 +212,10 @@
 menutrans &Copy			¸´ÖÆ(&C)
 menutrans &Paste		Õ³Ìû(&P)
 menutrans &Delete		ɾ³ý(&D)
-menutrans Select\ Blockwise	BlockwiseÑ¡Ôñ
+menutrans Select\ Blockwise	Ñ¡Ôñ¿é
 menutrans Select\ &Word		Ñ¡Ôñµ¥´Ê(&W)
+menutrans Select\ &Sentence	Ñ¡Ôñ¾ä×Ó(&S)
+menutrans Select\ Pa&ragraph	Ñ¡Ôñ¶ÎÂä(&R)
 menutrans Select\ &Line		Ñ¡ÔñÐÐ(&L)
 menutrans Select\ &Block	Ñ¡Ôñ¿é(&B)
 menutrans Select\ &All		ȫѡ(&A)
@@ -196,35 +230,35 @@
     tmenu ToolBar.Save		±£´æµ±Ç°Îļþ
     tmenu ToolBar.SaveAll	±£´æÈ«²¿Îļþ
     tmenu ToolBar.Print		´òÓ¡
-    tmenu ToolBar.Undo		³·ÏúÉÏ´ÎÐÞ¸Ä
-    tmenu ToolBar.Redo		ÖØ×öÉϴγ·ÏúµÄ¶¯×÷
-    tmenu ToolBar.Cut		¼ôÇÐÖÁ¼ôÌù°å
+    tmenu ToolBar.Undo		³·Ïú
+    tmenu ToolBar.Redo		ÖØ×ö
+    tmenu ToolBar.Cut		¼ôÇе½¼ôÌù°å
     tmenu ToolBar.Copy		¸´ÖƵ½¼ôÌù°å
-    tmenu ToolBar.Paste		ÓɼôÌù°åÕ³Ìû
+    tmenu ToolBar.Paste		´Ó¼ôÌù°åÕ³Ìû
     tmenu ToolBar.Find		²éÕÒ...
     tmenu ToolBar.FindNext	²éÕÒÏÂÒ»¸ö
     tmenu ToolBar.FindPrev	²éÕÒÉÏÒ»¸ö
-    tmenu ToolBar.Replace	Ìæ»»...
+    tmenu ToolBar.Replace	²éÕÒºÍÌæ»»...
     tmenu ToolBar.LoadSesn	¼ÓÔØ»á»°
-    tmenu ToolBar.SaveSesn	±£´æµ±Ç°µÄ»á»°
-    tmenu ToolBar.RunScript	ÔËÐÐVim½Å±¾
-    tmenu ToolBar.Make		Ö´ÐÐ Make
-    tmenu ToolBar.Shell		´ò¿ªÒ»¸öÃüÁî´°¿Ú
-    tmenu ToolBar.RunCtags	Ö´ÐÐ ctags
-    tmenu ToolBar.TagJump	Ìøµ½µ±Ç°¹â±êλÖõıêÇ©
+    tmenu ToolBar.SaveSesn	±£´æµ±Ç°»á»°
+    tmenu ToolBar.RunScript	ÔËÐÐ Vim ½Å±¾
+    tmenu ToolBar.Make		Ö´ÐÐ Make (:make)
+    tmenu ToolBar.RunCtags	ÔÚµ±Ç°Ä¿Â¼½¨Á¢ tags (!ctags -R .)
+    tmenu ToolBar.TagJump	Ìø×ªµ½¹â±êλÖÃµÄ tag
     tmenu ToolBar.Help		Vim °ïÖú
     tmenu ToolBar.FindHelp	²éÕÒ Vim °ïÖú
   endfun
 endif
 
 " Syntax menu
-menutrans &Syntax		Óï·¨(&S)
-menutrans Set\ '&syntax'\ only	Ö»É趨\ 'syntax'(&s)
-menutrans Set\ '&filetype'\ too	Ò²É趨\ 'filetype'(&f)
-menutrans &Off			¹Ø±Õ(&O)
-menutrans &Manual		ÊÖ¶¯É趨(&M)
-menutrans A&utomatic		×Ô¶¯É趨(&U)
-menutrans on/off\ for\ &This\ file	Ö»¶ÔÕâ¸öÎļþ´ò¿ª/¹Ø±Õ(&T)
-menutrans Co&lor\ test		É«²ÊÏÔʾ²âÊÔ(&L)
-menutrans &Highlight\ test	Ó﷨Ч¹û²âÊÔ(&H)
-menutrans &Convert\ to\ HTML	ת»»³É\ HTML\ ¸ñʽ(&C)
+menutrans &Syntax			Óï·¨(&S)
+menutrans &Manual			ÊÖ¹¤(&M)
+menutrans A&utomatic			×Ô¶¯(&U)
+menutrans on/off\ for\ &This\ file	½ö¶ÔÕâ¸öÎļþ¿ª/¹Ø(&T)
+menutrans &Show\ filetypes\ in\ menu	Ôڲ˵¥ÖÐÏÔʾÎļþÀàÐÍ(&S)
+menutrans &Off				¹Ø±Õ(&O)
+menutrans Co&lor\ test			É«²Ê²âÊÔ(&L)
+menutrans &Highlight\ test		¸ßÁÁ²âÊÔ(&H)
+menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
+menutrans Set\ '&syntax'\ only		½öÉ趨\ 'syntax'(&S)
+menutrans Set\ '&filetype'\ too		Ò²É趨\ 'filetype'(&F)
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 097e96a..845393d 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
 " Script to define the syntax menu in synmenu.vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 16
+" Last Change:	2006 Apr 18
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -119,6 +119,7 @@
 SynMenu C.Clean:clean
 SynMenu C.Clever:cl
 SynMenu C.Clipper:clipper
+SynMenu C.Cmake:cmake
 SynMenu C.Cold\ Fusion:cf
 SynMenu C.Config.Cfg\ Config\ file:cfg
 SynMenu C.Config.Generic\ Config\ file:conf
@@ -363,8 +364,9 @@
 SynMenu PQ.Quake:quake
 SynMenu PQ.Quickfix\ window:qf
 
-SynMenu R-Sg.R:r
-SynMenu R-Sg.R\ help:rhelp
+SynMenu R-Sg.R.R:r
+SynMenu R-Sg.R.R\ help:rhelp
+SynMenu R-Sg.R.R\ noweb:rnoweb
 SynMenu R-Sg.Racc\ input:racc
 SynMenu R-Sg.Radiance:radiance
 SynMenu R-Sg.Ratpoison:ratpoison
@@ -490,6 +492,7 @@
 SynMenu TUV.UnrealScript:uc
 SynMenu TUV.Updatedb\.conf:updatedb
 SynMenu TUV.Valgrind:valgrind
+SynMenu TUV.Vera:vera
 SynMenu TUV.Verilog-AMS\ HDL:verilogams
 SynMenu TUV.Verilog\ HDL:verilog
 SynMenu TUV.Vgrindefs:vgrindefs
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index 1dd2f00..c6b96b7 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -100,19 +100,20 @@
 an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean")<CR>
 an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl")<CR>
 an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper")<CR>
-an 50.20.270 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
-an 50.20.280 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
-an 50.20.290 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
-an 50.20.300 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
-an 50.20.310 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
-an 50.20.320 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
-an 50.20.330 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
-an 50.20.340 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
-an 50.20.350 &Syntax.C.CSP :cal SetSyn("csp")<CR>
-an 50.20.360 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
-an 50.20.370 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
-an 50.20.380 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
-an 50.20.390 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
+an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake")<CR>
+an 50.20.280 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
+an 50.20.290 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
+an 50.20.300 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
+an 50.20.310 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
+an 50.20.320 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
+an 50.20.330 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
+an 50.20.340 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
+an 50.20.350 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
+an 50.20.360 &Syntax.C.CSP :cal SetSyn("csp")<CR>
+an 50.20.370 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
+an 50.20.380 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
+an 50.20.390 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
+an 50.20.400 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
 an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR>
 an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
 an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR>
@@ -335,49 +336,50 @@
 an 50.80.440 &Syntax.PQ.Python :cal SetSyn("python")<CR>
 an 50.80.460 &Syntax.PQ.Quake :cal SetSyn("quake")<CR>
 an 50.80.470 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR>
-an 50.90.100 &Syntax.R-Sg.R :cal SetSyn("r")<CR>
-an 50.90.110 &Syntax.R-Sg.R\ help :cal SetSyn("rhelp")<CR>
-an 50.90.120 &Syntax.R-Sg.Racc\ input :cal SetSyn("racc")<CR>
-an 50.90.130 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR>
-an 50.90.140 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR>
-an 50.90.150 &Syntax.R-Sg.RCS.RCS\ log\ output :cal SetSyn("rcslog")<CR>
-an 50.90.160 &Syntax.R-Sg.RCS.RCS\ file :cal SetSyn("rcs")<CR>
-an 50.90.170 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR>
-an 50.90.180 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR>
-an 50.90.190 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR>
-an 50.90.200 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
-an 50.90.210 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
-an 50.90.220 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
-an 50.90.230 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv")<CR>
-an 50.90.240 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
-an 50.90.250 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
-an 50.90.260 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
-an 50.90.270 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
-an 50.90.280 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR>
-an 50.90.290 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR>
-an 50.90.300 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
-an 50.90.310 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
-an 50.90.330 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR>
-an 50.90.340 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
-an 50.90.350 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
-an 50.90.360 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
-an 50.90.370 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
-an 50.90.380 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR>
-an 50.90.390 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
-an 50.90.400 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
-an 50.90.410 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
-an 50.90.420 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
-an 50.90.430 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR>
-an 50.90.440 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors")<CR>
-an 50.90.450 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf")<CR>
-an 50.90.460 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg")<CR>
-an 50.90.470 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi")<CR>
-an 50.90.480 &Syntax.R-Sg.Services :cal SetSyn("services")<CR>
-an 50.90.490 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial")<CR>
-an 50.90.500 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
-an 50.90.510 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
-an 50.90.520 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR>
-an 50.90.530 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx")<CR>
+an 50.90.100 &Syntax.R-Sg.R.R :cal SetSyn("r")<CR>
+an 50.90.110 &Syntax.R-Sg.R.R\ help :cal SetSyn("rhelp")<CR>
+an 50.90.120 &Syntax.R-Sg.R.R\ noweb :cal SetSyn("rnoweb")<CR>
+an 50.90.130 &Syntax.R-Sg.Racc\ input :cal SetSyn("racc")<CR>
+an 50.90.140 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR>
+an 50.90.150 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR>
+an 50.90.160 &Syntax.R-Sg.RCS.RCS\ log\ output :cal SetSyn("rcslog")<CR>
+an 50.90.170 &Syntax.R-Sg.RCS.RCS\ file :cal SetSyn("rcs")<CR>
+an 50.90.180 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR>
+an 50.90.190 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR>
+an 50.90.200 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR>
+an 50.90.210 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
+an 50.90.220 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
+an 50.90.230 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
+an 50.90.240 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv")<CR>
+an 50.90.250 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
+an 50.90.260 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
+an 50.90.270 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
+an 50.90.280 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
+an 50.90.290 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR>
+an 50.90.300 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR>
+an 50.90.310 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
+an 50.90.320 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
+an 50.90.340 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR>
+an 50.90.350 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
+an 50.90.360 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
+an 50.90.370 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
+an 50.90.380 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
+an 50.90.390 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR>
+an 50.90.400 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
+an 50.90.410 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
+an 50.90.420 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
+an 50.90.430 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
+an 50.90.440 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR>
+an 50.90.450 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors")<CR>
+an 50.90.460 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf")<CR>
+an 50.90.470 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg")<CR>
+an 50.90.480 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi")<CR>
+an 50.90.490 &Syntax.R-Sg.Services :cal SetSyn("services")<CR>
+an 50.90.500 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial")<CR>
+an 50.90.510 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
+an 50.90.520 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
+an 50.90.530 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR>
+an 50.90.540 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx")<CR>
 an 50.100.100 &Syntax.Sh-S.Shell\ script.sh\ and\ ksh :cal SetSyn("sh")<CR>
 an 50.100.110 &Syntax.Sh-S.Shell\ script.csh :cal SetSyn("csh")<CR>
 an 50.100.120 &Syntax.Sh-S.Shell\ script.tcsh :cal SetSyn("tcsh")<CR>
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index 49fecee..b852f48 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2005 Dec 04
+" Last Change: 2006 Apr 18
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -224,14 +224,16 @@
 endif
 
 let s:HtmlSpace = ' '
+let s:LeadingSpace = ' '
 let s:HtmlEndline = ''
 if exists("html_no_pre")
   let s:HtmlEndline = '<br' . s:tag_close
   if exists("use_xhtml")
-    let s:HtmlSpace = '\&#x20;'
+    let s:LeadingSpace = '&#x20;'
   else
-    let s:HtmlSpace = '\&nbsp;'
+    let s:LeadingSpace = '&nbsp;'
   endif
+  let s:HtmlSpace = '\' . s:LeadingSpace
 endif
 
 " HTML header, with the title and generator ;-). Left free space for the CSS,
@@ -246,9 +248,17 @@
   exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
 endif
 if exists("html_no_pre")
-  exe "normal! a</head>\n<body>\n\e"
+  if exists("use_xhtml")
+    exe "normal! a</head>\n<body>\n<p>\n\e"
+  else
+    exe "normal! a</head>\n<body>\n\e"
+  endif
 else
-  exe "normal! a</head>\n<body>\n<pre>\n\e"
+  if exists("use_xhtml")
+    exe "normal! a</head>\n<body>\n<p>\n<pre>\n\e"
+  else
+    exe "normal! a</head>\n<body>\n<pre>\n\e"
+  endif
 endif
 
 exe s:orgwin . "wincmd w"
@@ -296,7 +306,7 @@
     while s:n > 0
       if s:numblines
         " Indent if line numbering is on
-        let s:new = repeat(' ', strlen(s:end) + 1) . repeat(s:difffillchar, 3)
+        let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
       else
         let s:new = repeat(s:difffillchar, 3)
       endif
@@ -406,9 +416,17 @@
 " Finish with the last line
 exe s:newwin . "wincmd w"
 if exists("html_no_pre")
-  exe "normal! a\n</body>\n</html>\e"
+  if exists("use_xhtml")
+    exe "normal! a</p>\n</body>\n</html>\e"
+  else
+    exe "normal! a\n</body>\n</html>\e"
+  endif
 else
-  exe "normal! a</pre>\n</body>\n</html>\e"
+  if exists("use_xhtml")
+    exe "normal! a</pre>\n</p>\n</body>\n</html>\e"
+  else
+    exe "normal! a</pre>\n</body>\n</html>\e"
+  endif
 endif
 
 
@@ -525,4 +543,4 @@
     delfunc s:HtmlClosing
   endif
 endif
-silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:HtmlEndline
+silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
new file mode 100644
index 0000000..8dfe3d7
--- /dev/null
+++ b/runtime/syntax/cmake.vim
@@ -0,0 +1,85 @@
+" =============================================================================
+"
+"   Program:   CMake - Cross-Platform Makefile Generator
+"   Module:    $RCSfile$
+"   Language:  VIM
+"   Date:      $Date$
+"   Version:   $Revision$
+"
+" =============================================================================
+
+" Vim syntax file
+" Language:     CMake
+" Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
+" Maintainer:   Andy Cedilnik <andy.cedilnik@kitware.com>
+" Last Change:  $Date$
+" Version:      $Revision$
+"
+" Licence:      The CMake license applies to this file. See
+"               http://www.cmake.org/HTML/Copyright.html
+"               This implies that distribution with Vim is allowed
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn case ignore
+syn match cmakeComment /#.*$/
+syn region cmakeRegistry start=/\[/ end=/\]/ skip=/\\[\[\]]/
+            \ contained
+syn match cmakeArgument /[^()"]+/
+            \ contained
+syn match cmakeVariableValue /\${[^}]*}/
+            \ contained oneline
+syn match cmakeEnvironment /\$ENV{.*}/
+            \ contained
+syn keyword cmakeSystemVariables
+            \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80
+syn keyword cmakeOperators
+            \ AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
+"            \ contained
+syn region cmakeString start=/"/ end=/"/ skip=/\\"/
+            \ contains=ALLBUT,cmakeString
+syn region cmakeArguments start=/\s*(/ end=/)/
+           \ contains=ALLBUT,cmakeArguments
+syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
+           \ nextgroup=cmakeArgument
+syn keyword cmakeStatement
+           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
+           \ nextgroup=cmakeArgumnts
+
+"syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_cmake_syntax_inits")
+  if version < 508
+    let did_cmake_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink cmakeStatement Statement
+  HiLink cmakeComment Comment
+  HiLink cmakeString String
+  HiLink cmakeVariableValue Type
+  HiLink cmakeRegistry Underlined
+  HiLink cmakeArguments Identifier
+  HiLink cmakeArgument Constant
+  HiLink cmakeEnvironment Special
+  HiLink cmakeOperators Operator
+  HiLink cmakeMacro PreProc
+  HiLink cmakeError	Error
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "cmake"
+
+"EOF"
diff --git a/runtime/syntax/rnoweb.vim b/runtime/syntax/rnoweb.vim
new file mode 100644
index 0000000..7a106ec
--- /dev/null
+++ b/runtime/syntax/rnoweb.vim
@@ -0,0 +1,55 @@
+" Vim syntax file
+" Language:    R noweb Files
+" Maintainer:  Johannes Ranke <jranke@uni-bremen.de>
+" Last Change: 2006 Apr 18
+" Version:     0.5 
+" SVN:	       $Id$
+" Remarks:     - This file is inspired by the proposal of 
+"				 Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
+"			     http://www.ime.usp.br/~feferraz/en/sweavevim.html
+"			   - It extends some clusters from syntax/tex.vim (version 33,
+"			   	 March 06 2006) and therefore depends on some contents 
+"			     of this file
+"
+
+" Version Clears: {{{1
+" For version 5.x: Clear all syntax items
+" For version 6.x and 7.x: Quit when a syntax file was already loaded
+if version < 600 
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif 
+
+syn case match
+
+" Extension of Tex regions {{{1
+runtime syntax/tex.vim
+unlet b:current_syntax
+
+syn cluster texDocGroup		contains=texPartZone,@texPartGroup,@rnoweb
+syn cluster texPartGroup		contains=texChapterZone,texSectionZone,texParaZone,@rnoweb
+syn cluster texChapterGroup		contains=texSectionZone,texParaZone,@rnoweb
+syn cluster texSectionGroup		contains=texSubSectionZone,texParaZone,@rnoweb
+syn cluster texSubSectionGroup		contains=texSubSubSectionZone,texParaZone,@rnoweb
+syn cluster texSubSubSectionGroup	contains=texParaZone,@rnoweb
+syn cluster texParaGroup		contains=texSubParaZone,@rnoweb
+
+" Highlighting of R code using an existing r.vim syntax file if available {{{1
+syn include @rnowebR syntax/r.vim
+syn region rnowebChunk matchgroup=rnowebDelimiter start="^<<.*>>=" matchgroup=rnowebDelimiter end="^@" contains=@rnowebR,rnowebChunkReference,rnowebChunk keepend
+syn match rnowebChunkReference "^<<.*>>$" contained
+syn region rnowebSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter end="}" contains=@rnowebR
+
+" Sweave options command {{{1
+syn region rnowebSweaveopts matchgroup=Delimiter start="\\SweaveOpts{" matchgroup=Delimiter end="}"
+
+" rnoweb Cluster {{{1
+syn cluster rnoweb contains=rnowebChunk,rnowebChunkReference,rnowebDelimiter,rnowebSexpr,rnowebSweaveopts
+
+" Highlighting {{{1
+hi def link rnowebDelimiter	Delimiter
+hi def link rnowebSweaveOpts Statement
+
+let   b:current_syntax = "rnoweb"
+" vim: foldmethod=marker:
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index 5a5e6a2..6452e72 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	TeX
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change:	Apr 12, 2006
-" Version:	34
+" Last Change:	Apr 18, 2006
+" Version:	35
 " URL:		http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 "
 " Notes: {{{1
@@ -391,6 +391,12 @@
 " will appropriately terminate.  Ideally vim would let me save a
 " character from the start pattern and re-use it in the end-pattern.
 syn region texZone		start="\\begin{verbatim}"		end="\\end{verbatim}\|%stopzone\>"	contains=@Spell
+" listings package:
+syn region texZone		start="\\begin{lstlisting}"		end="\\end{lstlisting}\|%stopzone\>"	contains=@Spell
+" moreverb package:
+syn region texZone		start="\\begin{verbatimtab}"		end="\\end{verbatimtab}\|%stopzone\>"	contains=@Spell
+syn region texZone		start="\\begin{verbatimwrite}"		end="\\end{verbatimwrite}\|%stopzone\>"	contains=@Spell
+syn region texZone		start="\\begin{boxedverbatim}"		end="\\end{boxedverbatim}\|%stopzone\>"	contains=@Spell
 if version < 600
  syn region texZone		start="\\verb\*\=`"			end="`\|%stopzone\>"
  syn region texZone		start="\\verb\*\=#"			end="#\|%stopzone\>"
diff --git a/runtime/syntax/vera.vim b/runtime/syntax/vera.vim
new file mode 100644
index 0000000..b8e25cf
--- /dev/null
+++ b/runtime/syntax/vera.vim
@@ -0,0 +1,361 @@
+" Vim syntax file
+" Language:	Vera
+" Maintainer:	Dave Eggum (opine at bluebottle dOt com)
+" Last Change:	2005 Dec 19
+
+" NOTE: extra white space at the end of the line will be highlighted if you
+" add this line to your colorscheme:
+
+" highlight SpaceError    guibg=#204050
+
+" (change the value for guibg to any color you like)
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" A bunch of useful Vera keywords
+syn keyword	veraStatement	break return continue fork join terminate
+syn keyword	veraStatement	breakpoint proceed
+
+syn keyword	veraLabel	bad_state bad_trans bind constraint coverage_group
+syn keyword	veraLabel	class CLOCK default function interface m_bad_state
+syn keyword	veraLabel	m_bad_trans m_state m_trans program randseq state
+syn keyword	veraLabel	task trans
+
+syn keyword	veraConditional	if else case casex casez randcase
+syn keyword 	veraRepeat      repeat while for do foreach
+syn keyword 	veraModifier	after all any around assoc_size async
+syn keyword 	veraModifier	before big_endian bit_normal bit_reverse export
+syn keyword 	veraModifier	extends extern little_endian local hdl_node hdl_task
+syn keyword 	veraModifier	negedge none packed protected posedge public rules
+syn keyword 	veraModifier	shadow soft static super this typedef unpacked var
+syn keyword 	veraModifier	vca virtual virtuals wildcard with
+
+syn keyword 	veraType	reg string enum event bit
+syn keyword 	veraType	rand randc integer port prod
+
+syn keyword     veraDeprecated	call_func call_task close_conn get_bind get_bind_id
+syn keyword     veraDeprecated	get_conn_err mailbox_receive mailbox_send make_client
+syn keyword     veraDeprecated	make_server simwave_plot up_connections
+
+" predefined tasks and functions
+syn keyword 	veraTask	alloc assoc_index cast_assign cm_coverage
+syn keyword 	veraTask	cm_get_coverage cm_get_limit delay error error_mode
+syn keyword 	veraTask	exit fclose feof ferror fflush flag fopen fprintf
+syn keyword 	veraTask	freadb freadh freadstr get_cycle get_env get_memsize
+syn keyword 	veraTask	get_plus_arg getstate get_systime get_time get_time_unit
+syn keyword 	veraTask	initstate lock_file mailbox_get mailbox_put os_command
+syn keyword 	veraTask	printf prodget prodset psprintf query query_str query_x
+syn keyword 	veraTask	rand48 random region_enter region_exit rewind
+syn keyword 	veraTask	semaphore_get semaphore_put setstate signal_connect
+syn keyword 	veraTask	sprintf srandom sscanf stop suspend_thread sync
+syn keyword 	veraTask	timeout trace trigger unit_delay unlock_file urand48
+syn keyword 	veraTask	urandom urandom_range vera_bit_reverse vera_crc
+syn keyword 	veraTask	vera_pack vera_pack_big_endian vera_plot
+syn keyword 	veraTask	vera_report_profile vera_unpack vera_unpack_big_endian
+syn keyword 	veraTask	vsv_call_func vsv_call_task vsv_get_conn_err
+syn keyword 	veraTask	vsv_make_client vsv_make_server vsv_up_connections
+syn keyword 	veraTask	vsv_wait_for_done vsv_wait_for_input wait_child wait_var
+
+syn cluster	veraOperGroup	contains=veraOperator,veraOperParen,veraNumber,veraString,veraOperOk,veraType
+" syn match	veraOperator	"++\|--\|&\|\~&\||\|\~|\|^\|\~^\|\~\|><"
+" syn match	veraOperator	"*\|/\|%\|+\|-\|<<\|>>\|<\|<=\|>\|>=\|!in"
+" syn match	veraOperator	"=?=\|!?=\|==\|!=\|===\|!==\|&\~\|^\~\||\~"
+" syn match	veraOperator	"&&\|||\|=\|+=\|-=\|*=\|/=\|%=\|<<=\|>>=\|&="
+" syn match	veraOperator	"|=\|^=\|\~&=\|\~|=\|\~^="
+
+syn match	veraOperator	"[&|\~><!*@+/=,.\^\-]"
+syn keyword	veraOperator	or in dist not
+
+" open vera class methods
+syn keyword	veraMethods	atobin atohex atoi atooct backref bittostr capacity
+syn keyword	veraMethods	compare Configure constraint_mode delete DisableTrigger
+syn keyword	veraMethods	DoAction empty EnableCount EnableTrigger Event find
+syn keyword	veraMethods	find_index first first_index GetAssert get_at_least
+syn keyword	veraMethods	get_auto_bin getc GetCount get_coverage_goal get_cov_weight
+syn keyword	veraMethods	get_cross_bin_max GetFirstAssert GetName GetNextAssert
+syn keyword	veraMethods	get_status get_status_msg hide hash icompare insert
+syn keyword	veraMethods	inst_get_at_least inst_get_auto_bin_max inst_get_collect
+syn keyword	veraMethods	inst_get_coverage_goal inst_get_cov_weight inst_getcross_bin_max
+syn keyword	veraMethods	inst_query inst_set_at_least inst_set_auto_bin_max
+syn keyword	veraMethods	inst_set_bin_activiation inst_set_collect inst_set_coverage_goal
+syn keyword	veraMethods	inst_set_cov_weight inst_set_cross_bin_max itoa last last_index
+syn keyword	veraMethods	len load match max max_index min min_index new object_compare
+syn keyword	veraMethods	object_compare object_copy object_print pack pick_index
+syn keyword	veraMethods	pop_back pop_front post_boundary postmatch post_pack post_pack
+syn keyword	veraMethods	post_randomize post_randomize post_unpack post_unpack
+syn keyword	veraMethods	pre_boundary prematch pre_pack pre_pack pre_randomize
+syn keyword	veraMethods	pre-randomize pre_unpack push_back push_front putc query
+syn keyword	veraMethods	query_str rand_mode randomize reserve reverse rsort search
+syn keyword	veraMethods	set_at_least set_auto_bin_max set_bin_activiation
+syn keyword	veraMethods	set_coverage_goal set_cov_weight set_cross_bin_max set_name
+syn keyword	veraMethods	size sort substr sum thismatch tolower toupper unique_index
+syn keyword	veraMethods	unpack Wait
+
+" interface keywords
+syn keyword	veraInterface	ASYNC CLOCK gnr gr0 gr1 grx grz NHOLD nr NR0 NR1
+syn keyword	veraInterface	NRZ NRZ NSAMPLE PHOLD PR0 PR1 PRX PRZ r0 r1 rx snr
+syn keyword	veraInterface	sr0 sr1 srx srz depth inout input output
+syn match       veraInterface   "\$\w\+"
+
+
+syn keyword	veraTodo	contained TODO FIXME XXX FINISH
+
+" veraCommentGroup allows adding matches for special things in comments
+syn cluster	veraCommentGroup	contains=veraTodo
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match	veraSpecial	display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
+syn match	veraFormat	display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpnm]\|\[\^\=.[^]]*\]\)" contained
+syn match	veraFormat	display "%%" contained
+syn region	veraString	start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=veraSpecial,veraFormat,@Spell
+syn region	veraConcat	contained transparent oneline start='{' end='}'
+
+" veraCppString: same as veraString, but ends at end of line
+syn region	veraCppString	start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=veraSpecial,veraFormat,@Spell
+
+syn match	veraCharacter	"'[^\\]'"
+syn match	veraCharacter	"L'[^']*'" contains=veraSpecial
+syn match	veraSpecialError	"'\\[^'\"?\\abefnrtv]'"
+syn match	veraSpecialCharacter	"'\\['\"?\\abefnrtv]'"
+syn match	veraSpecialCharacter	display	"'\\\o\{1,3}'"
+syn match	veraSpecialCharacter	display	"'\\x\x\{1,2}'"
+syn match	veraSpecialCharacter	display	"L'\\x\x\+'"
+
+" highlight trailing white space
+syn match	veraSpaceError	display	excludenl "\s\+$"
+syn match	veraSpaceError	display	" \+\t"me=e-1
+
+"catch errors caused by wrong parenthesis and brackets
+syn cluster	veraParenGroup	contains=veraParenError,veraIncluded,veraSpecial,veraCommentSkip,veraCommentString,veraComment2String,@veraCommentGroup,veraCommentStartError,veraUserCont,veraUserLabel,veraBitField,veraCommentSkip,veraOctalZero,veraCppOut,veraCppOut2,veraCppSkip,veraFormat,veraNumber,veraFloat,veraOctal,veraOctalError,veraNumbersCom
+
+syn region	veraParen	transparent start='(' end=')' contains=ALLBUT,@veraParenGroup,veraCppParen,veraErrInBracket,veraCppBracket,veraCppString,@Spell
+" veraCppParen: same as veraParen but ends at end-of-line; used in veraDefine
+syn region	veraCppParen	transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@veraParenGroup,veraErrInBracket,veraParen,veraBracket,veraString,@Spell
+syn match	veraParenError	display "[\])]"
+" syn match	veraErrInParen	display contained "[\]{}]"
+syn match	veraErrInParen	display contained "[\]]"
+syn region	veraBracket	transparent start='\[' end=']' contains=ALLBUT,@veraParenGroup,veraErrInParen,veraCppParen,veraCppBracket,veraCppString,@Spell
+
+" veraCppBracket: same as veraParen but ends at end-of-line; used in veraDefine
+syn region	veraCppBracket	transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@veraParenGroup,veraErrInParen,veraParen,veraBracket,veraString,@Spell
+syn match	veraErrInBracket	display contained "[);{}]"
+
+"integer number, or floating point number without a dot and with "f".
+syn case ignore
+syn match	veraNumbers	display transparent "\<\d\|\.\d" contains=veraNumber,veraFloat,veraOctalError,veraOctal
+" Same, but without octal error (for comments)
+syn match	veraNumbersCom	display contained transparent "\<\d\|\.\d" contains=veraNumber,veraFloat,veraOctal
+" syn match	veraNumber	display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
+" "hex number
+" syn match	veraNumber	display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
+" syn match   veraNumber "\(\<[0-9]\+\|\)'[bdoh][0-9a-fxzA-FXZ_]\+\>"
+syn match	veraNumber "\<\(\<[0-9]\+\)\?\('[bdoh]\)\?[0-9a-fxz_]\+\>"
+" syn match   veraNumber "\<[+-]\=[0-9]\+\>"
+" Flag the first zero of an octal number as something special
+syn match	veraOctal	display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=veraOctalZero
+syn match	veraOctalZero	display contained "\<0"
+syn match	veraFloat	display contained "\d\+f"
+"floating point number, with dot, optional exponent
+syn match	veraFloat	display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
+"floating point number, starting with a dot, optional exponent
+syn match	veraFloat	display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, without dot, with exponent
+syn match	veraFloat	display contained "\d\+e[-+]\=\d\+[fl]\=\>"
+"hexadecimal floating point number, optional leading digits, with dot, with exponent
+syn match	veraFloat	display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>"
+"hexadecimal floating point number, with leading digits, optional dot, with exponent
+syn match	veraFloat	display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>"
+
+" flag an octal number with wrong digits
+syn match	veraOctalError	display contained "0\o*[89]\d*"
+syn case match
+
+let vera_comment_strings = 1
+
+if exists("vera_comment_strings")
+  " A comment can contain veraString, veraCharacter and veraNumber.
+  " But a "*/" inside a veraString in a veraComment DOES end the comment!  So we
+  " need to use a special type of veraString: veraCommentString, which also ends on
+  " "*/", and sees a "*" at the start of the line as comment again.
+  " Unfortunately this doesn't work very well for // type of comments :-(
+  syntax match	veraCommentSkip	contained "^\s*\*\($\|\s\+\)"
+  syntax region veraCommentString	contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=veraSpecial,veraCommentSkip
+  syntax region veraComment2String	contained start=+\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=veraSpecial
+  syntax region  veraCommentL	start="//" skip="\\$" end="$" keepend contains=@veraCommentGroup,veraComment2String,veraCharacter,veraNumbersCom,veraSpaceError,@Spell
+  if exists("vera_no_comment_fold")
+    syntax region veraComment	matchgroup=veraCommentStart start="/\*" end="\*/" contains=@veraCommentGroup,veraCommentStartError,veraCommentString,veraCharacter,veraNumbersCom,veraSpaceError,@Spell
+  else
+    syntax region veraComment	matchgroup=veraCommentStart start="/\*" end="\*/" contains=@veraCommentGroup,veraCommentStartError,veraCommentString,veraCharacter,veraNumbersCom,veraSpaceError,@Spell fold
+  endif
+else
+  syn region	veraCommentL	start="//" skip="\\$" end="$" keepend contains=@veraCommentGroup,veraSpaceError,@Spell
+  if exists("vera_no_comment_fold")
+    syn region	veraComment	matchgroup=veraCommentStart start="/\*" end="\*/" contains=@veraCommentGroup,veraCommentStartError,veraSpaceError,@Spell
+  else
+    syn region	veraComment	matchgroup=veraCommentStart start="/\*" end="\*/" contains=@veraCommentGroup,veraCommentStartError,veraSpaceError,@Spell fold
+  endif
+endif
+" keep a // comment separately, it terminates a preproc. conditional
+syntax match	veraCommentError	display "\*/"
+syntax match	veraCommentStartError display "/\*"me=e-1 contained
+
+syntax region	veraBlock		start="{" end="}" transparent fold
+
+" open vera pre-defined constants
+syn keyword veraConstant	ALL ANY BAD_STATE BAD_TRANS CALL CHECK CHGEDGE
+syn keyword veraConstant	CLEAR COPY_NO_WAIT COPY_WAIT CROSS CROSS_TRANS
+syn keyword veraConstant	DEBUG DELETE EC_ARRAYX EC_CODE_END EC_CONFLICT
+syn keyword veraConstant	EC_EVNTIMOUT EC_EXPECT EC_FULLEXPECT EC_MBXTMOUT
+syn keyword veraConstant	EC_NEXPECT EC_RETURN EC_RGNTMOUT EC_SCONFLICT
+syn keyword veraConstant	EC_SEMTMOUT EC_SEXPECT EC_SFULLEXPECT EC_SNEXTPECT
+syn keyword veraConstant	EC_USERSET EQ EVENT FAIL FIRST FORK GE GOAL GT
+syn keyword veraConstant	HAND_SHAKE HI HIGH HNUM LE LIC_EXIT LIC_PRERR
+syn keyword veraConstant	LIC_PRWARN LIC_WAIT LO LOAD LOW LT MAILBOX MAX_COM
+syn keyword veraConstant	NAME NE NEGEDGE NEXT NO_OVERLAP NO_OVERLAP_STATE
+syn keyword veraConstant	NO_OVERLAP_TRANS NO_VARS NO_WAIT NUM NUM_BIN
+syn keyword veraConstant	NUM_DET null OFF OK OK_LAST ON ONE_BLAST ONE_SHOT ORDER
+syn keyword veraConstant	PAST_IT PERCENT POSEDGE PROGRAM RAWIN REGION REPORT
+syn keyword veraConstant	SAMPLE SAVE SEMAPHORE SET SILENT STATE stderr
+syn keyword veraConstant	stdin stdout STR STR_ERR_OUT_OF_RANGE
+syn keyword veraConstant	STR_ERR_REGEXP_SYNTAX SUM TRANS VERBOSE void WAIT
+syn keyword veraConstant	__LINE__ __FILE__ __DATE__ __TIME__ __VERA__
+syn keyword veraConstant	__VERSION__ __VERA_VERSION__ __VERA_MINOR__
+syn keyword veraConstant	__VERA_PATCH__ __VERA_VMC__ __VERA_VMC_MINOR__
+
+syn match   veraUserConstant "\<[A-Z][A-Z0-9_]\+\>"
+
+syn match veraClass "\zs\w\+\ze::"
+syn match veraClass "\zs\w\+\ze\s\+\w\+\s*[=;,)\[]" contains=veraConstant,veraUserConstant
+syn match veraClass "\zs\w\+\ze\s\+\w\+\s*$" contains=veraConstant,veraUserConstant
+syn match veraUserMethod "\zs\w\+\ze\s*(" contains=veraConstant,veraUserConstant
+syn match veraObject "\zs\w\+\ze\.\w"
+syn match veraObject "\zs\w\+\ze\.\$\w"
+
+" Accept ` for # (Verilog)
+syn region	veraPreCondit	start="^\s*\(`\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=veraComment,veraCppString,veraCharacter,veraCppParen,veraParenError,veraNumbers,veraCommentError,veraSpaceError
+syn match	veraPreCondit	display "^\s*\(`\|#\)\s*\(else\|endif\)\>"
+if !exists("vera_no_if0")
+  syn region	veraCppOut		start="^\s*\(`\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=veraCppOut2
+  syn region	veraCppOut2	contained start="0" end="^\s*\(`\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=veraSpaceError,veraCppSkip
+  syn region	veraCppSkip	contained start="^\s*\(`\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(`\|#\)\s*endif\>" contains=veraSpaceError,veraCppSkip
+endif
+syn region	veraIncluded	display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match	veraIncluded	display contained "<[^>]*>"
+syn match	veraInclude	display "^\s*\(`\|#\)\s*include\>\s*["<]" contains=veraIncluded
+"syn match veraLineSkip	"\\$"
+syn cluster	veraPreProcGroup	contains=veraPreCondit,veraIncluded,veraInclude,veraDefine,veraErrInParen,veraErrInBracket,veraUserLabel,veraSpecial,veraOctalZero,veraCppOut,veraCppOut2,veraCppSkip,veraFormat,veraNumber,veraFloat,veraOctal,veraOctalError,veraNumbersCom,veraString,veraCommentSkip,veraCommentString,veraComment2String,@veraCommentGroup,veraCommentStartError,veraParen,veraBracket,veraMulti
+syn region	veraDefine		start="^\s*\(`\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@veraPreProcGroup,@Spell
+syn region	veraPreProc	start="^\s*\(`\|#\)\s*\(pragma\>\|line\>\|warning\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@veraPreProcGroup,@Spell
+
+" Highlight User Labels
+syn cluster	veraMultiGroup	contains=veraIncluded,veraSpecial,veraCommentSkip,veraCommentString,veraComment2String,@veraCommentGroup,veraCommentStartError,veraUserCont,veraUserLabel,veraBitField,veraOctalZero,veraCppOut,veraCppOut2,veraCppSkip,veraFormat,veraNumber,veraFloat,veraOctal,veraOctalError,veraNumbersCom,veraCppParen,veraCppBracket,veraCppString
+syn region	veraMulti		transparent start='?' skip='::' end=':' contains=ALLBUT,@veraMultiGroup,@Spell
+" syn region	veraMulti		transparent start='?' skip='::' end=':' contains=ALL
+" The above causes veraCppOut2 to catch on:
+"    i = (isTrue) ? 0 : 1;
+" which ends up commenting the rest of the file
+
+" Avoid matching foo::bar() by requiring that the next char is not ':'
+syn cluster	veraLabelGroup	contains=veraUserLabel
+syn match	veraUserCont	display "^\s*\I\i*\s*:$" contains=@veraLabelGroup
+syn match	veraUserCont	display ";\s*\I\i*\s*:$" contains=@veraLabelGroup
+syn match	veraUserCont	display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@veraLabelGroup
+syn match	veraUserCont	display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@veraLabelGroup
+
+syn match	veraUserLabel	display "\I\i*" contained
+
+" Avoid recognizing most bitfields as labels
+syn match	veraBitField	display "^\s*\I\i*\s*:\s*[1-9]"me=e-1
+syn match	veraBitField	display ";\s*\I\i*\s*:\s*[1-9]"me=e-1
+
+if exists("vera_minlines")
+  let b:vera_minlines = vera_minlines
+else
+  if !exists("vera_no_if0")
+    let b:vera_minlines = 50	" #if 0 constructs can be long
+  else
+    let b:vera_minlines = 15	" mostly for () constructs
+  endif
+endif
+exec "syn sync ccomment veraComment minlines=" . b:vera_minlines
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_vera_syn_inits")
+  if version < 508
+    let did_vera_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink veraClass		Identifier
+  HiLink veraObject		Identifier
+  HiLink veraUserMethod		Function
+  HiLink veraTask		Keyword
+  HiLink veraModifier		Tag
+  HiLink veraDeprecated		veraError
+  HiLink veraMethods		Statement
+  " HiLink veraInterface		Label
+  HiLink veraInterface		Function
+
+  HiLink veraFormat		veraSpecial
+  HiLink veraCppString		veraString
+  HiLink veraCommentL		veraComment
+  HiLink veraCommentStart		veraComment
+  HiLink veraLabel			Label
+  HiLink veraUserLabel		Label
+  HiLink veraConditional		Conditional
+  HiLink veraRepeat		Repeat
+  HiLink veraCharacter		Character
+  HiLink veraSpecialCharacter	veraSpecial
+  HiLink veraNumber		Number
+  HiLink veraOctal			Number
+  HiLink veraOctalZero		PreProc	 " link this to Error if you want
+  HiLink veraFloat			Float
+  HiLink veraOctalError		veraError
+  HiLink veraParenError		veraError
+  HiLink veraErrInParen		veraError
+  HiLink veraErrInBracket		veraError
+  HiLink veraCommentError		veraError
+  HiLink veraCommentStartError	veraError
+  HiLink veraSpaceError         SpaceError
+  HiLink veraSpecialError		veraError
+  HiLink veraOperator		Operator
+  HiLink veraStructure		Structure
+  HiLink veraInclude		Include
+  HiLink veraPreProc		PreProc
+  HiLink veraDefine		Macro
+  HiLink veraIncluded		veraString
+  HiLink veraError			Error
+  HiLink veraStatement		Statement
+  HiLink veraPreCondit		PreCondit
+  HiLink veraType			Type
+  " HiLink veraConstant		Constant
+  HiLink veraConstant		Keyword
+  HiLink veraUserConstant		Constant
+  HiLink veraCommentString		veraString
+  HiLink veraComment2String	veraString
+  HiLink veraCommentSkip		veraComment
+  HiLink veraString		String
+  HiLink veraComment		Comment
+  HiLink veraSpecial		SpecialChar
+  HiLink veraTodo			Todo
+  HiLink veraCppSkip		veraCppOut
+  HiLink veraCppOut2		veraCppOut
+  HiLink veraCppOut		Comment
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "vera"
+
+" vim: ts=8
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index f5e654a..5b8b32e 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	Apr 12, 2006
-" Version:	7.0-42
+" Last Change:	Apr 18, 2006
+" Version:	7.0-44
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -129,7 +129,7 @@
 syn match  vimOper	"\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"	skipwhite nextgroup=vimString,vimSpecFile
 syn match  vimOper	"||\|&&\|[-+.]"	skipwhite nextgroup=vimString,vimSpecFile
 syn region vimOperParen 	oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn region vimOperParen	matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
+syn region vimOperParen	oneline matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
 if !exists("g:vimsyntax_noerror")
  syn match  vimOperError	")"
 endif
@@ -252,7 +252,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="\<setlocal\|set\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
+syn region vimSet		matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" 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 vimSetString contained	start=+="+hs=s+1	skip=+\\\\\|\\"+  end=+"+	contains=vimCtrlChar
 syn match  vimSetSep    contained	"[,:]"
diff --git a/runtime/tutor/tutor.sk b/runtime/tutor/tutor.sk
index 243493b..f56cdfb 100644
--- a/runtime/tutor/tutor.sk
+++ b/runtime/tutor/tutor.sk
@@ -1,5 +1,5 @@
 ===============================================================================
-=    V i t a j t e   v o   V I M   T u t o r i a l i    -    Verzia 1.5       =
+=    V i t a j t e   v o   V I M   T u t o r i a l i    -    Verzia 1.7       =
 ===============================================================================
 
      Vim je veµmi výkonný editor, ktorý má príli¾ veµa príkazov na to aby
@@ -10,6 +10,7 @@
      Pribli¾ný èas potrebný na prebratie tejto výuky je 25-30 minút,
      závisí na tom, koµko je stráveného èasu s preskú¹avaním.
 
+     UPOZORNENIE:
      Príkazy v lekciách modifikujú text. Vytvor kópiu tohto súboru aby
      sa mohlo precvièova» na òom (pri ¹tarte "vimtutor" je toto kópia).
 
@@ -20,16 +21,17 @@
      Presvedè sa, ¾e Shift-Lock NIEJE stlaèený a stlaèt klávesu
      j  niekoµko krát, aby sa kurzor posunul natoµko, ¾e lekcia 1.1
      celkom zaplní obrazovku.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			Lekcia 1.1:  POHYB KURZOROM
 
 
    ** Pre pohyb kurzorum stlaè klávesy h,j,k,l ako je znázornené. **
-	     ^
-	     k		 Funkcia: Klávesa h je naµavo a vykoná pohyb doµava.
-       < h	 l   >	 Klávesa l je napravo a vykoná pohyb doprava.
-	     j		 Klávesa j vyzerá ako ¹ípka dole
-	     v
+        ^
+        k        Funkcia: Klávesa h je naµavo a vykoná pohyb doµava.
+   < h     l >   Klávesa l je napravo a vykoná pohyb doprava.
+        j        Klávesa j vyzerá ako ¹ípka dole
+	      v
   1. Pohybuj kurzorom po obrazovke, kým si na to nezvykne¹.
 
   2. Dr¾ stlaèenú klávesu pre pohyb dole (j), kým sa jej funkcia nezopakuje.
@@ -38,34 +40,33 @@
   3. Pou¾itím klávesy pre pohyb dole prejdi na Lekciu 1.2.
 
 Poznámka: Ak si niesi istý tým èo si napísal, stlaè <ESC>
-	  na prechod do normálneho módu.
+	        na prechod do normálneho módu.
 
 Poznámka: Kurzorové klávesy sú tie¾ funkèné. Ale pou¾ívaním hjkl sa bude¹
-	  schopný pohybova» rýchlej¹ie, keï si zvykne¹ ich pou¾íva».
+	        schopný pohybova» rýchlej¹ie, keï si zvykne¹ ich pou¾íva». Naozaj!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		     LEKCIA 1.2: SPÚ©«ANIE A ZATVÁRANIE VIMU
+		     LEKCIA 1.2: ZATVÁRANIE VIMU
+
 
   !! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú túto lekciu !!
 
   1. Stlaè klávesu <ESC> (aby si sa uèite nachádzal v normálnom móde)
 
-  2. Napí¹:			:q! <ENTER>.
-
----> Tým ukonèí¹ prácu s editorom BEZ ulo¾enia zmien, ktoré si vykonal.
-     Ak chce¹ ulo¾i» vykonané zmeny a ukonèi» prácu s editorom napí¹:
-				:wq   <ENTER>
+  2. Napí¹:   :q! <ENTER>.
+     Tým ukonèí¹ prácu s editorom BEZ ulo¾enia zmien, ktoré si vykonal.
 
   3. Keï sa dostane¹ na príkazový riadok, napí¹ príkaz, ktorým sa dostane¹
      spe» do tejto výuky. To mô¾e by»:	vimtutor <ENTER>
-     Zvyèajne sa pou¾íva:		vim tutor <ENTER>
-
----> 'vim' znamená spustenie editora vim, 'tutor' je názov súboru, ktorý
-     chce¹ editova».
 
   4. Ak si si tieto kroky spoµahlivo zapamätal, vykonaj kroky 1 a¾ 3, pre
-     ukonèenie a znovu spustenie editora. Potom presuò kurzor dole na
-     lekciu 1.3.
+     ukonèenie a znovu spustenie editora. 
+
+POZNÁMKA: :q! <ENTER> neulo¾í zmeny, ktoré si vykonal. O niekoµko lekcií
+          sa nauèí¹ ako ulo¾i» zmeny do súboru
+
+  5. presuò kurzor dole na lekciu 1.3.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		      Lekcia 1.3: EDITÁCIA TEXTU - MAZANIE
 
@@ -85,7 +86,7 @@
 
   5. Ak je veta správna, prejdi na lekciu 1.4.
 
-POZNÁMKA: Neskú¹aj si zapametä» obsah tejto výuky, ale sa uè pou¾ívaním.
+POZNÁMKA: Neskú¹aj si zapamäta» obsah tejto výuky, ale sa uè pou¾ívaním.
 
 
 
@@ -93,7 +94,7 @@
 		     Lekcia 1.4: EDITÁCIA TEXTU - VKLADANIE
 
 
-    ** Stlaèenie klávesy  i  v normálnom móde umo¾òuje vkladanie textu. **
+    ** Stlaèenie klávesy  i  umo¾òuje vkladanie textu. **
 
   1. Presuò kurzor ni¾¹ie na prvý riadok za znaèku --->.
 
@@ -111,26 +112,73 @@
   5. Keï sa dostatoène nauèí¹ vklada» text, prejdi na nasledujúce zhrnutie.
 
 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+        Lekcia 1.5: EDITÁCIA TEXTU - PRIDÁVANIE
+
+
+     ** Stlaèenie klávesy  A  umo¾òuje pridáva» text. **
+
+  1. Presuò kurozr ni¾¹ie na prvý riadok za znaèkou --->.
+     Nezále¾í na tom, na ktorom znaku sa kurzor v tom riadku nachádza.
+
+  2. Stlaè klávesu  A  a napí¹ potrebný text.
+
+  3. Po pridaní textu stlaè klávesu <ESC> pre návrat do Normálneho módu.
+
+  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj 
+     kroky 2 a 3 kým nieje veta správna.
+
+---> Tu je nejaký text chýbajúci o
+     Tu je nejaký text chýbajúci od tiaµto.
+---> Tu tie¾ chýba nej
+     Tu tie¾ chýba nejaký text.
+
+  5. Keï sa dostatoène nauèí¹ pridáva» text, prejdi na lekciu 1.6.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+       Lekcia 1.6: EDITÁCIA SÚBORU
+
+
+    ** Napísaním  :wq  sa súbor ulo¾í a zavrie **
+
+!! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú lekciu!!
+
+1. Opusti túto výuku, ako si to urobil v lekcii 1.2:  :q!
+
+2. Do príkazového riadku napí¹ príkaz:  vim tutor <ENTER>
+   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru, 
+   ktorý chce¹ editova». Pou¾i taký súbor, ktorý mô¾e¹ meni».
+
+3. Vlo¾ a zma¾ text tak, ako si sa nauèil v predo¹lých lekciach.
+
+4. Ulo¾ súbor so zmenami a opusti Vim príkazom:  :wq  <ENTER>
+
+5. Re¹tartuj vimtutor a presuò sa dole na nasledujúce zhrnutie. 
+
+6. Urob tak po preèítaní predo¹lých krokov a porozumeniu im.
+
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			       ZHRNUTIE LEKCIE 1
 
 
   1. Kurzor sa pohybuje pou¾itím kláves so ¹ípkami alebo klávesmi hjkl.
-	  h (do lava)	j (dole)	k (hore)	l (doprava)
+	  h (do lava)    j (dole)    k (hore)    l (doprava)
 
   2. Pre spustenie Vimu (z príkazového riadku) napí¹: vim FILENAME <ENTER>
 
   3. Na ukonèenie Vimu napí¹: <ESC>  :q!  <ENTER> pre zru¹enie v¹etkých zmien
        alebo napí¹:   <ESC>   :wq   <ENTER>    pre ulo¾enie zmien.
 
-  4. Na zmazanie znaku na mieste kurzora napí¹ v normálnom móde:  x
+  4. Na zmazanie znaku na mieste kurzora napí¹:  x
 
   5. Pre vlo¾enie textu na mieste kurzora v normálnom móde napí¹:
-	 i     vkladaný text	<ESC>
+	 i     napí¹ vkladaný text   <ESC>  vkladanie pred kurzor
+   A     napí¹ pridávaný text  <EXC>  vkladanie za riadok
 
 POZNÁMKA: Stlaèenie <ESC> »a premiestní do normálneho módu alebo zru¹í
-	  nejaký nechcený a èiastoène dokonèený príkaz.
+	        nejaký nechcený a èiastoène dokonèený príkaz.
 
 Teraz pokraèuj lekciou 2.
 
@@ -149,8 +197,10 @@
 
 4. Napí¹  dw  aby slovo zmizlo.
 
-POZNÁMKA: Písmená dw sa zobrazia na poslednom riadku obrazovky tak ako ich
-	  pí¹e¹. Ak pí¹e¹ nieèo zle, stlaè  <ESC>  a zaèni znova.
+POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keï ho
+	        napí¹e¹. Vim na teba poèká, aby si mohol napísa» 
+          písmeno w. Ak vidí¹ nieèo iné ako  d , tak si napísal 
+          nesprávny znak; stlaè  <ESC>  a zaèni znova.
 
 ---> Tu je niekoµko slov zábava, ktoré nie patria list do tejto vety.
 
@@ -178,34 +228,75 @@
 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 
 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lekcia 2.3: OPERÁTORY A POHYBY
 
+  Veµa príkazov, ktoré menia text sú odvodené od operátorov a pohybov. 
+  Formát pre príkaz mazania klávesou  d  je nasledovný:
+
+    d   pohyb
+
+  kde:
+    d     - je mazací operátor
+    pohyb - je to èo operátor vykonáva (vypísané ni¾¹ie)
+
+  Krátky list pohybov:
+    w - do zaèiatku ïal¹ieho slova, okrem jeho prvého písmena.
+    e - do konca teraj¹ieho slova, vrátane posledného znaku. 
+    $ - do konca riadku, vrátane posledného znaku
+
+  Tak¾e napísaním  de  sa zma¾e v¹etko od kurzora do konca slova.
+
+POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora 
+          sa presunie kurzor tak ako je to ¹pecivikované. 
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lekcia 2.4: Pou¾itie viacnásobného pohybu
+
+
+   ** Napísaním èísla pred pohyb ho zopakuje zadný poèet krát **
+
+  1. Presuò kurozr ni¾¹ie na zaèiatok riadku oznaèeného --->.
+
+  2. Napí¹  2w  a kurozr sa presunie o dve slová vpred. 
+
+  3. Napí¹  3e  a kurozr sa presunie vpred na koniec tretieho slova. 
+
+  4. Napí¹  0  (nula) a kurozr sa presunie na zaèiatok riadku.
+
+  5. Zopakuj kroky 2 a 3 s rôznymi èíslami. 
+
+---> Toto je riadok so slovami po kotrých sa mô¾ete pohybova».
+
+  6. Prejdi na lekciu 2.5.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		     Lekcia 2.3: ROZ©IROVACIE PRÍKAZY A OBJEKTY
+		  Lekcia 2.5: POU®ITIE VIACNÁSOBNÉHO MAZANIA PRE HROMADNÉ MAZANIE
 
 
-  Formát mazacieho príkazu  d  je nasledovný:
+    ** Napísanie èísla spolu s operátorom ho zopakuje zadaný poèet krát **
 
-   [èíslo]   d objekt       ALEBO      d   [èíslo]    objekt
-  Kde:
-    èíslo - udáva koµko krát sa príkaz vykoná (voliteµné, implicitne=1)
-    d - je príkaz pre mazanie
-    objekt - udáva na èom sa príkaz vykonáva (vypísané ni¾¹ie)
+  V kombinácii operátorov mazania a pohybu spomínaného vy¹¹ie vlo¾ poèet 
+  pred pohyb pre docielenie hromadného mazania:
+    d   èíslo   pohyb
 
-  Krátky výpis objektov:
-    w - od kurzora do konca slova, vrátanie medzier
-    e - od kurzora do konca slova, BEZ medzier
-    $ - od kurzora do konca riadku.
+  1. Presuò kurzor na prvé slovo písané VE¥KÝMI PÍSMENAMI 
+     v riadku oznaèenom --->.
 
-POZNÁMKA: Ak stlaèí¹ klávesu objektu v normálnom móde bez príkazu, kurzor
-	  sa presunie na miesto ¹pecifikované vo výpise objektov.
+  2. Napí¹  2dw  a zma¾e¹ dve slová písané VE¥KÝMI PÍSMENAMI
 
+  3. Zopakuj kroky 1 a 2 s pou¾itím rôzneho èísla tak aby si zmazal slová
+     písané veµkými písmenami jedným príkazom.
 
+---> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. 
+
+POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri 
+          pou¾ití s pohybom bez operátora.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		Lekcia 2.4: VÝNIMKA V 'PRÍKAZOVOM OBJEKTE'
+    		Lekcia 2.6: OPERÁCIE S RIADKAMI
 
 
 	    ** Napísanie príkazu   dd   zma¾e celý riadok. **
@@ -216,7 +307,7 @@
 1. Presuò kurzor na druhý riadok v texte na spodu.
 2. Napí¹  dd  aby si zmazal riadok.
 3. Prejdi na ¹tvrtý riadok.
-4. Napí¹   2dd   (pametaj si  èíslo-príkaz-objekt) aby si zmazal dva riadky.
+4. Napí¹   2dd   aby si zmazal dva riadky.
 
     1)  Ru¾e sú èervené,
     2)  Blato je zábavné,
@@ -228,7 +319,7 @@
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			Lekcia 2.5: PRÍKAZ UNDO
+			Lekcia 2.7: PRÍKAZ UNDO
 
 
 ** Stlaè  u  pre vrátenie posledného príkazu,  U  pre úpravu celého riadku. **
@@ -241,7 +332,7 @@
 5. Teraz napí¹ veµké   U  èím vrátí¹ riadok do pôvodného stavu.
 6. Teraz napí¹  u  niekoµko krát, èím vrátí¹ spä» príkaz U.
 7. Teraz napí¹ CTRL-R (dr¾ klávesu CTRL stlaèenú kým stláèa¹ R) niekoµko
-   krát, èím vrátí¹ spä» predtým vrátené príkazy (redo).
+   krát, èím vrátí¹ spä» predtým vrátené príkazy (undo z undo).
 
 ---> Opprav chybby nna toomto riadku a zmeeò ich pommocou undo.
 
@@ -260,18 +351,22 @@
 
   3. Pre zmazanie celého riadku napí¹:   dd
 
-  4. Formát pre píkaz v norálnom móde je:
+  4. Pre zopakovanie pohybu, napí¹ pred neho èíslo:   2w
 
-       [èíslo]   príkaz   objekt    ALEBO   príkaz [èíslo]   objekt
+  5. Formát pre píkaz:
+
+       operátor   [èíslo]   pohyb
      kde:
-       èíslo - udáva koµko krát sa príkaz zopakuje
-       príkaz - udáva vykonávaný príkaz, ako napríklad  d  pre mazanie
-       objekt - udáva rozsah príkazu, ako napríklad  w(slovo),
+       operátor - èo treba robi», napríklad  d  pre zmazanie
+       [èíslo] - je voliteµný poèet pre opakovanie pohybu
+       pohyb - pohyb po texte vzhµadom na operátor, napríklad w (slovo), 
 		$ (do konca riadku), atï.
 
-  5. Pre vrátenie spä» predo¹lej operácie napí¹:     u	 (malé u)
-     Pre vrátenie v¹etkých úprav na riadku napí¹:    U	 (veµké U)
-     Pre vrátenie vrátených úprav napí¹:	     CTRL-R
+  6. Pre pohyb na zaèiatok riadku pou¾i nulu:  0
+
+  7. Pre vrátenie spä» predo¹lej operácie napí¹:	u   (malé u)
+     Pre vrátenie v¹etkých úprav na riadku napí¹:    U   (veµké U)
+     Pre vrátenie vrátených úprav napí¹:	      CTRL-R
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			 Lekcia 3.1: PRÍKAZ VLO®I«
@@ -289,10 +384,10 @@
 
   5. Zopakuj kroky 2 a¾ 4, kým riadky niesú v správnom poradí.
 
-     d) Tie¾ sa doká¾e¹ vzdeláva»?
-     b) Fialky sú modré,
-     c) Inteligencia sa vzdeláva,
-     a) Ru¾e sú èervené,
+---> d) Tie¾ sa doká¾e¹ vzdeláva»?
+---> b) Fialky sú modré,
+---> c) Inteligencia sa vzdeláva,
+---> a) Ru¾e sú èervené,
 
 
 
@@ -300,15 +395,15 @@
 		       Lekcia 3.2: PRÍKAZ NAHRADENIA
 
 
-     ** Napísaním  r  a znaku sa nahradí znak na mieste kurzora. **
+     ** Napísaním  rx  sa nahradí znak na mieste kurzora znakom  x . **
 
   1. Presuò kurzor ni¾¹ie na prví riadok textu oznaèeného znaèkou --->.
 
   2. Presuò kurzor na zaèiatok prvej chyby.
 
-  3. napí¹  r  a potom znak, ktorý nahradí chybu.
+  3. napí¹  r  a potom znak, ktorý tam má by».
 
-  4. Zopakuj kroky 2 a 3, kým prvý riadok nieje správny.
+  4. Zopakuj kroky 2 a 3, kým prvý riadok nieje zhodný s druhým.
 
 ---> Kaï bol tento riasok píaaný, niekro stla¹il nesprábne klávesy!
 ---> Keï bol tento riadok písaný, niekto stlaèil nesprávne klávesy!
@@ -323,22 +418,22 @@
 		       Lekcia 3.3. PRÍKAZ ÚPRAVY
 
 
-     ** Ak chce¹ zmeni» èas» slova alebo celé slovo, napí¹  cw . **
+     ** Ak chce¹ zmeni» èas» slova do konca slova, napí¹  ce . **
 
   1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->.
 
   2. Umiestni kurzor na písmeno o v slove rosfpl.
 
-  3. Napí¹  cw  a oprav slovo (v tomto prípade napí¹ 'iadok'.)
+  3. Napí¹  ce  a oprav slovo (v tomto prípade napí¹ 'iadok'.)
 
-  4. Stlaè <ESC> a prejdi na ïal¹iu chybu (prvý znak, ktorý treba zmeni».)
+  4. Stlaè <ESC> a prejdi na ïal¹í znak, ktorý treba zmeni».
 
   5. Zopakuj kroky 3 a 4, kým prvá veta nieje rovnaká ako druhá.
 
 ---> Tento rosfpl má niekoµko skic, ktoré je pirewvbí zmeni» piy»uèán príkazu.
 ---> Tento riadok má niekoµko slov, ktoré je potrebné zmeni» pou¾itím príkazu.
 
-Poznámka, ¾e  cw  nielen nahrádza slovo, ale »a aj premiestní do vkladania.
+Poznámka, ¾e  ce  zma¾e slovo a nastaví vkladací mód.
 
 
 
@@ -346,13 +441,13 @@
 		       Lekcia 3.4: VIAC ZMIEN POU®ITÍM c
 
 
-   ** Príkaz pre úpravy sa pou¾íva s rovnakými objektami ako pre mazanie **
+   ** Príkaz pre úpravy sa pou¾íva s rovnakými pohybmi ako pre mazanie **
 
   1. Príkaz pre úpravy pracuje rovnako ako pre mazanie. Formát je:
 
-    [èíslo]   c   objekt       ALEBO       c [èíslo]   objekt
+        c    [èíslo]    pohyb
 
-  2. Objekty sú rovnaké, ako napríklad  w (slovo), $ (koniec riadku), atï.
+  2. Pohyby sú rovnaké, ako napríklad   w (slovo) a  $ (koniec riadku).
 
   3. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->.
 
@@ -364,6 +459,7 @@
 ---> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy.
 ---> Koniec tohto riadku potrebuje opravi» pou¾itím príkazu  c$ .
 
+POZNÁMKA: Mô¾e¹ pou¾i» klávesu backspace na úpravu zmien poèas písania.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -376,13 +472,13 @@
   2. Pre naradenie znaku na mieste kurzora, napí¹  r  a potom znak, ktorý
      nahradí pôvodný znak.
 
-  3. Príkaz na upravenie umo¾òuje zmeni» ¹pecifikovaný objekt od kurzora
-     a¾ po koniec objektu.  napr. Napí¹  cw  èím zmní¹ text od pozície
+  3. Príkaz na upravenie umo¾òuje zmeni» od kurzora a¾ po miesto, ktoré 
+     urèuje pohyb.  napr. Napí¹  ce  èím zmní¹ text od pozície
      kurzora do konca slova, c$  zmení text do konca riadku.
 
-  4. Format pre nahradenie je:
+  4. Formát pre nahradenie je:
 
-	[èíslo]   c objekt	 ALEBO	     c	 [èíslo]    objekt
+	    c    [èíslo]    pohyb 
 
 
 Teraz prejdi na nalsedujúcu lekciu.
@@ -394,19 +490,19 @@
 
 
   ** Stlaè CTRL-g pre zobrazenie svojej pozície v súbore a statusu súboru.
-     Stlaè SHIFT-G pre prechod na riadok v súbore. **
+     Napí¹  G  pre presun na riadok v súbore. **
 
   Poznámka: Preèítaj si celú túto lekciu skôr ako zaène¹ vykonáva» kroky!!
 
-  1. Dr¾ stlaèenú klávesu Ctrl a stlaè  g . Na spodu obrazovky sa zobrazí
-     stavový riadok s názvom súboru a riadkom na ktorom práve si. Zapamätaj
-     si si èíslo riadku pre krok 3.
+  1. Dr¾ stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G. 
+     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou 
+     v súbore. Zapamätajsi si èíslo riadku pre pou¾itie v kroku 3.
 
-  2. Stlaè Shift-G èím sa dostane¹ na spodok súboru.
+  2. Stlaè  G  èím sa dostane¹ na spodok súboru.
+     Napí¹  gg  èím sa dostane¹ na zaèiatok súboru.
 
-  3. Napí¹ èíslo riadku na ktorom si sa nachádzal a stlaè Shift-G. To »a
-     vráti na riadok, na ktorom si prvý krát stlaèil Ctrl-g.
-     (Keï pí¹e¹ èísla, tieto sa nezobrazujú na obrazovke.)
+  3. Napí¹ èíslo riadku na ktorom si sa nachádzal a stlaè  G. To »a
+     vráti na riadok, na ktorom si prvý krát stlaèil CTRL-G.
 
   4. Ak sa cítí¹ schopný vykona» teto kroky, vykonaj kroky 1 a¾ 3.
 
@@ -419,24 +515,24 @@
   ** Napí¹  /  nasledované re»azcom pre vyhµadanie príslu¹ného re»azca. **
 
   1. Napí¹ znak  /  v normálnom móde. Poznámka, ¾e tento znak sa spolu
-     s kurzorom zobrazí v dolnej èasti obrazovky ako s  :  príkazom.
+     s kurzorom zobrazí v dolnej èasti obrazovky s  :  príkazom.
 
   2. Teraz napí¹ 'errroor' <ENTER>. To je slovo, ktoré chce¹ vyhµada».
 
   3. Pre vyhµadanie ïal¹ieho výskytu rovnakého re»azca, stlaè jednoducho  n.
      Pre vyhµadanie ïal¹ieho výskytu rovnakého re»azca opaèným smerom,
-     napí¹ Shift-N.
+     N.
 
   4. Ak chce¹ vyhµada» re»azec v spätnom smere, pou¾í príkaz  ?  miesto
      príkazu /.
 
- ---> Keï vyhµadávanie dosiahne koniec tohto súboru, bude pokraèova» na
-      zaèiatku.
+  5. Pre návrat na miesto z ktorého si pri¹iel stlaè CTRL-O (dr¾ stlaèenú 
+     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïal¹í návrat 
+     spä». CTRL-I ide vpred.
 
-  "errroor" nie je spôsob ako nahradi» error; errroor je error.
-
-POZNÁMKA: Keï vyhµadávanie dosiahne koniec súboru, bude pokraèova» na jeho
-	  zaèiatku.
+POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error.
+POZNÁMKA: Keï vyhµadávanie dosiahne koniec tohto súboru, bude pokraèova» na
+      zaèiatku, dokiaµ nieje resetované nastavenie 'wrapscan' .
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -454,16 +550,18 @@
 
   4. Napí¹  %  pre presun kurzoru spä» na otvárajúcu zátvorku.
 
+  5. Presuò kurzor na iný zo znakov (,),[,],{ alebo } a v¹imni si
+     èo % vykonáva.
+
 ---> Toto ( je testovací riadok s ('s, ['s ] a {'s } v riadku. ))
 
 Poznámka: Toto je veµmi výhodné pou¾í» pri ladení programu s chýbajúcimi
-	  uzatvárajúcimi zátvorkami.
-
+	  uzatvárajúcimi zátvorkami!
 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		      Lekcia 4.4: SPOSOB AKO ZMENI« CHYBY
+		      Lekcia 4.4: PRÍKAZ NAHRADENIA
 
 
  ** Napí¹   :s/starý/nový/g  pre nahradenie slova 'starý' za slovo 'nový'. **
@@ -471,7 +569,7 @@
   1. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
 
   2. Napí¹  :s/thee/the <ENTER> . Poznamka, ¾e tento príkaz zmení len prvý
-     výskyt v riadku.
+     výskyt "thee" v riadku.
 
   3. Teraz napí¹   :s/thee/the/g   èo znamená celkové nahradenie v riadku.
      Toto nahradí v¹etky výskyty v riadku.
@@ -479,9 +577,11 @@
 ---> Thee best time to see thee flowers in thee spring.
 
   4. Pre zmenu v¹etkých výskytov daného re»azca medzi dvomi ridakami,
-     napí¹  :#,#s/starý/nový/g  kde #,# sú èísla dvoch riadkov.
+     napí¹  :#,#s/starý/nový/g  kde #,# sú èísla dvoch riadkov, v rozsahu
+                                ktorých sa nahradenie vykoná.
      napí¹  :%s/starý/nový/g    pre zmenu v¹etkých výskytov v celom riadku
-
+     napí¹  :%s/starý/nový/gc   nájde v¹etky výskyty v celom súbore,
+                                s otázkou èi nahradi» alebo nie
 
 
 
@@ -489,23 +589,25 @@
 			       LEKCIA 4 ZHRNUTIE
 
 
-  1. Ctrl-g  vypí¹e tvoju pozíciu v súbore a status súboru.
-     Shift-g  »a premiestni na koniec riadku. Èíslo riadku nasledované
-     Shift-g  »a presunie na dané èíslo riadku.
+  1. CTRL-g    vypí¹e tvoju pozíciu v súbore a status súboru.
+            G  »a premiestni na koniec riadku. 
+     èíslo  G  »a premiestni na riadok s èíslom.
+           gg  »a presunie na prvý riadok
 
   2. Napísanie  /  nasledované re»azcom vyhµadá re»azec smerom DOPREDU.
      Napísanie  ?  nasledované re»azcom vyhµada re»azec smerom DOZADU.
      Napísanie  n  po vyhµadávaní, vyhµadá nasledujúci výskyt re»azca
-     v rovnakom smere, prièom  Shift-N  vyhµadá v opaènom smere.
+     v rovnakom smere, prièom  N  vyhµadá v opaènom smere.
+     CTRL-O »a vráti spä» na star¹iu pozíciu, CTRL-I na nov¹iu pozíciu.
 
   3. Napísanie  %  keï kurzor je na (,),[,],{, alebo } nájde zodpovdajúcu
-     párú zátvorku.
+     párnu zátvorku.
 
-  4. Pre nahradenie nového za prvý starý v riadku napí¹    :s/nový/starý
-     Pre nahradenie nového za v¹etky staré v riadku napí¹  :s/nový/starý/g
-     Pre nahradenie re»azcov medzi dvoma riadkami 3 napí¹  :#,#/nový/starý/g
+  4. Pre nahradenie nového za prvý starý v riadku napí¹    :s/starý/nový
+     Pre nahradenie nového za v¹etky staré v riadku napí¹  :s/starý/nový/g
+     Pre nahradenie re»azcov medzi dvoma riadkami 3 napí¹  :#,#/starý/nový/g
      Pre nahradenie v¹etkých výskytov v súbore napí¹       :%s/starý/nový/g
-     Pre potvrdenie ka¾dého nahradenia pridaj 'c'	   :%s/nový/starý/gc
+     Pre potvrdenie ka¾dého nahradenia pridaj 'c'	         :%s/starý/nový/gc
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -524,7 +626,7 @@
      zobrazí obsah tvojho adresára rovnako ako na príkazovom riadku.
      Alebo pou¾i  :!dir  ak ls nefunguje.
 
-Poznámka:  Takto je mo¾né spusti» hociaký vonkaj¹í príkaz.
+Poznámka:  Takto je mo¾né spusti» hociaký vonkaj¹í príkaz s argumentami.
 Poznámka:  V¹etky príkazy  :  musia by» dokonèené stlaèením <ENTER>
 
 
@@ -539,41 +641,43 @@
   1. Napí¹  :!dir  alebo  :!ls  pre výpis aktuálneho adresára.
      U¾ vie¹, ¾e musí¹ za týmto stlaèi» <ENTER> .
 
-  2. Vyber názov súboru, ktorý E©TE neexistuje.
+  2. Vyber názov súboru, ktorý e¹te neexistuje, ako napr. TEST.
 
   3. Teraz napí¹:   :w TEST   (kde TEST je názov vybratého súboru.)
 
   4. To ulo¾í celý súbor  (Vim Tutor)  pod názovm TEST.
      Pre overenie napí¹   :!dir   , èím  zobrazí¹ obsah adresára.
 
-Poznámka: ¾e ak ukonèí¹ prácu s editorom Vim a znovu ho spustí¹ s názvom
-	  súboru TEST, súbor bude kópia výuky, keï si ho ulo¾il.
+Poznámka: ¾e ak ukonèí¹ prácu s editorom Vim a znovu ho spustí¹ príkazom
+	        vim TEST, súbor bude kópia výuky, keï si ho ulo¾il.
 
   5. Teraz odstráò súbor napísaním (MS-DOS):   :!del TEST
 			     alebo (Unix):     :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		    Lekcia 5.3 VÝBEROVÝ PRÍKAZ PRE ULO®ENIE
+		    Lekcia 5.3 VÝBER TEXTU PRE ULO®ENIE
 
 
-  ** Pre ulo¾enie èasti súboru, napí¹   :#,# w FILENAME **
+  ** Pre ulo¾enie èasti súboru, napí¹  v  pohyb :w FILENAME **
 
-  1. Znovu napí¹  :!dir  alebo  :!ls  pre zobrazenie obsahu aktuálneho
-     adresára a vyber vhodný súbor ako TEST.
+  1. Presuò kurozr na tento riadok.
 
-  2. Presuò kurzor na vrch tejto strany a napí¹  Ctrl-g  pre vyhµadanie èísla
-     tohto riadku.  PAMETAJ SI TOTO ÈÍSLO!
+  2. Stlaè  v  a presuò kurozr na piatu polo¾ku dole. Poznámka, ¾e
+     tento text je vyznaèený (highlighted).
 
-  3. Teraz prejdi na spodok strany a napí¹  Ctrl-g  znovu. ZAPAMETAJ SI ÈÍSLO
-     AJ TOHTO RIADKU!
+  3. Stlaè klávesu  : . V spodnej èasti okna sa objaví  :'<,'>.
 
-  4. Pre ulo¾enie LEN èasti súboru, napí¹   :#,# w TEST  kde #,# sú dve èísla
-     zapamätaných riadkov (vrch, spodok) a TEST je názov súboru.
+  4. Napí¹ w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje. 
+     Skontroluj, e vidí¹  :'<,'>w TEST  predtým ne¾ stlaèí¹ Enter.
 
-  5. Znova sa pozri, èi tam ten súbor je pomocou príkazu   :!dir ale
-     NEODSTRAÒUJ ho.
+  5. Vim zapí¹e oznaèené riadky do súboru TEST. Pou¾i :!dir  alebo  !ls
+     pre overenie. Zatial ho e¹te nema¾! Pou¾ijeme ho v ïal¹ej lekcii.
 
+POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie. 
+          Mô¾e¹ pohybova» kurzorom pre upresnenie vyznaèeného textu. 
+          Potom mô¾e¹ pou¾i» operátor pre vykonanie nejakej akcie 
+          s textom. Napríklad  d  zma¾e vyznaèený text.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -582,21 +686,16 @@
 
 	** Pre vlo¾enie obsahu súboru, napí¹   :r FILENAME **
 
-  1. Napí¹   :!dir   aby si sa presvedèil, ¾e súbor TEST stále existuje.
+  1. Premiestni kurzor nad tento riadok. 
 
-  2. Presuò kurzor na vrch tejto strany.
-
-POZNÁMKA:  Po vykonaní kroku 3 uvidí¹ Lekciu 5.3. Potom sa presuò dole
-	   na túto lekciu.
+POZNÁMKA: Po vykonaní kroku 2 uvidí¹ text z lekcie 5.3. Potom sa presuò
+          dole, aby si videl túto lekciu.
 
   3. Teraz vlo¾ súbor TEST pou¾itím príkazu   :r TEST   kde TEST je názov
-     súboru.
+     súboru. Súbor, ktorý si pou¾il je umiestnený pod riadkom s kurzorom.
 
-POZNÁMKA:  Súbor, ktorý si vlo¾il sa vlo¾í od miesta, kde sa nachádza kurzor.
-
-  4. Pre kontrolu vlo¾enia súboru, presuò kurzor spä» a v¹imni si, ¾e teraz
-     má¹ dve kópie lekcie 5.3, originál a súborovú verziu.
-
+POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
+          naèíta výstup príkazu ls a umiestni ho za pozíciu kurzora.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -606,20 +705,19 @@
   1.  :!príkaz  spustí vonkaj¹í príkaz.
 
       Niektoré vyu¾iteµné príklady sú:
-	(MS_DOS)	  (UNIX)
-	 :!dir		   :!ls		    -  zobrazí obsah adresára
+	(MS_DOS)    (UNIX)
+	 :!dir       :!ls	    -  zobrazí obsah adresára
 	 :!del FILENAME    :!rm FILENAME    -  odstráni súbor FILENAME
 
   2.  :w FILENAME  ulo¾í aktuálny súbor na disk pod menom FILENAME.
-
-  3.  :#,#w FILENAME  ulo¾í riadky od # do # do súboru FILENAME.
+ 
+  3.  v  pohyb  :w FILENAME  ulo¾í vizuálne oznaèené riadky do 
+      súboru FILENAME.
 
   4.  :r FILENAME  vyberie z disku súbor FILENAME a vlo¾í ho do aktuálneho
       súboru za pozíciou kurzora.
 
-
-
-
+  5. :r !dir  naèíta výstup z príkazu dir a vlo¾í ho za pozíciu kurzora.
 
 
 
@@ -640,9 +738,10 @@
 ---> Po napísaní  o  sa kurzor premiestní na vlo¾ený riadok do vkladacieho
      módu.
 
-  4. Pre otvorenie riadku nad kurzorom, jednotucho napí¹ veµké  O , namiesto
-     malého o. Vyskú¹aj si to na nasledujúcom riadku.
-Vlo¾ riadok nad týmto napísaním Shift-O, keï kurzor je na tomto riadku.
+  4. Pre otvorenie riadku nad kurzorom, jednotucho napí¹ veµké  O , 
+     namiesto malého  o. Vyskú¹aj si to na riadku dole. 
+
+---> Vlo¾ riadok nad týmto napísaním O, keï kurzor je na tomto riadku.
 
 
 
@@ -653,20 +752,21 @@
 	   ** Napí¹  a  pre vlo¾enie textu ZA kurzor. **
 
   1. Presuò kurzor ni¾¹ie na koniec prvého riadku oznaèeného znaèkou --->
-     napísaním  $  v normálnom móde.
 
-  2. Napí¹  a  (malé písmeno) pre pridanie textu ZA znakom na mieste
-     kurzora. (Veµké A pridá na koniec riadku.)
+  2. Stlaè klávesu  e  dokiaµ kurozr nieje na konci riadku.   
 
-Poznámka: Toto obchádza písanie  i , posledný znak, text na vlo¾enie, <ESC>,
-	  kurzor doprava, a nakoniec, x , na pridávanie na koniec riadku!
+  3. Napí¹  a  (malé písmeno) pre pridanie textu ZA kurzorom.
 
-  3. Teraz dokonèi prvý riadok. Poznámka, ¾e pridávanie je vlastne rovnaké
-     ako vkladací mód, okrem miesta, kde sa text vkladá.
+  4. Dokonèí slovo tak ako je to v druhom riadku. Stla¹ <ESC> pre 
+     opustenie vkladacieho módu.
 
----> Tento riadok ti dovoµuje nácvik
+  5. Pou¾i  e  na presun na ïal¹ie nedokonèené slovo a zopakuj kroky 3 a 4.
+
+---> Tento ri ti dovoµuje nácv priávan testu na koniec riadku.
 ---> Tento riadok ti dovoµuje nácvik pridávania textu na koniec riadku.
 
+POZNÁMKA: a, i, A ¹tartujú rovnaký vkladací mód, jediný rozidel je, kde 
+          sa znaky vkladajú. 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -675,24 +775,52 @@
 
       ** Napí¹ veµké R pre nahradenie viac ako jedného znaku. **
 
-  1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->.
+  1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->. Premiestni
+     kurzor na zaèiatok prvého výskytu  xxx.
 
-  2. Premiestni kurzor na zaèiatok prvého slova, ktoré je odli¹né od druhého
-     riadku oznaèeného ---> (slovo 'posledná').
+  2. Teraz napí¹  R  a  napí¹  èíslo uvedené v druhom riadku, tak¾e 
+     sa ním nahradí pôvodné xxx.
 
-  3. Teraz napí¹  R  a nahraï zvy¹ok textu na prvom riadku písaním cez starý
-     text tak, aby prvý riadok bol rovnaký ako druhý.
+  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, ¾e zvy¹ok 
+     riadku zostane nezmenený. 
 
----> Na úpravu prvého riadku do tvaru ako je posledný na strane pou¾i klávesy.
----> Na úpravu prvého riadku do tavru ako je druhý, napí¹ R a nový text.
+  4. Zopakuj tieto kroky pre nahradenie zvy¹ných xxx.
 
-  4. Poznámka, ¾e ak stlaèí¹ <ESC> pre ukonèenie, v¹etok nezmenený text
-     zostane.
+---> Pridaním 123 ku xxx dostane¹ xxx.
+---> Pridaním 123 ku 456 dostane¹ 579.
 
+POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale ka¾dý napísaný znak 
+           zma¾e existujúci znak. 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			 Lekcia 6.4: NASTAVENIE MO®NOSTÍ
+
+          Lekcia 6.4: Copy Paste textu
+
+    ** pou¾í operátor  y  pre copy textku a  p  pre jeho paste **
+
+  1. Choï ni¾¹ie na riadok oznaèený ---> a umiestni kurozr za "a)".
+
+  2. Na¹tartuj vizuálny mód pou¾itím  v  a presuò kurozr pred "first".
+
+  3. Napí¹  y  pre  vystrihnutie (copy) oznaèeného textu.
+
+  4. Presuò kurozr na koniec ïal¹ieho riadku: j$
+
+  5. Napí¹  p  pre vlo¾nie (paste) textu. Potom napí¹:  a druha <ESC>.
+
+  6. Pou¾i vizuálny mód pre oznaèenie "polo¾ka.", vystrihni to 
+     pou¾itím  y, presuò sa na koniec nasledujúceho riadku pou¾itím  j$ 
+     a vlo¾ sem text pou¾itím  p.
+
+---> a) toto je prvá polo¾ka
+---> b)
+
+POZNÁMKA: Mô¾e¹ pou¾i» tie¾  y  ako operátor; yw  vystrihne jedno slovo. 
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lekcia 6.5: NASTAVENIE MO®NOSTÍ
 
 
 ** Nastav mo¾nosti, tak¾e vyhµadávanie alebo nahradzovanie ignoruje
@@ -700,40 +828,52 @@
 
 
   1. Vyhµadaj re»azec 'ignore' napísaním:
-     /ignore
-     Zopakuj vyhµadávanie niekoµko krát stlaèením klávesy n
+     /ignore <ENTER>
+     Zopakuj vyhµadávanie niekoµko krát stlaèením klávesy  n .
 
   2. Nastav mo¾nos» 'ic' (Ignore case) napísaním príkazu:
      :set ic
 
-  3. Teraz vyhµadaj re»azec 'ingore' znova stlaèením klávesy: n
-     Zopakuj vyhµadávanie niekoµko krát stlaèením klávesy n
+  3. Teraz vyhµadaj re»azec 'ingore' znova stlaèením klávesy  n
+     Poznámka, ¾e teraz sú vyhµadané aj Ignore a IGNORE.
 
   4. Nastav mo¾nos»i 'hlsearch' a 'incsearch':
      :set hls is
 
   5. Teraz spusti vyhµadávací príkaz znovu, a pozri èo sa stalo:
-     /ignore
+     /ignore <ENTER>
 
-  6. Na odstránenie zvýraznenia výrazov napí¹:
-     :nohlsearch
+  6. Pre opetovné zapnutie rozly¹ovania veµkých a malých písmen 
+     napí¹:  :set noic
+
+POZNÁMKA: Na odstránenie zvýraznenia výrazov napí¹:  :nohlsearch
+POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno 
+          pou¾itie vyhµadávacieho príkazu, pou¾i \c:  /ignore\c <ENTER>
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			      LEKCIA 6 ZHRNUTIE
 
 
-  1. Napísaním  o  sa otvorí nový riadok pod kurzorom a premiestni sa kurzor
-     na vlo¾ený riadok do vkladacieho módu.
-     napísaním veµkého  O  sa otvorí riadok nad aktuálnym riadkom s kurzorom.
+  1. Napí¹  o  pre otvorenie riadku pod kurzorom a ¹tart vkladacieho módu.
+     Napí¹  O  pre otvorenie riadku nad kurzorom.
 
-  2. Napí¹  a  pre vkladanie textu ZA znak na pozícii kurzoru.
-     Napísaním veµkého  A  sa text automatický pridáva na koniec riadku.
+  2. Napí¹  a  pre vkladanie textu ZA kurzor.
+     Napí¹  A  pre vkladanie textu za koncom riadku.
 
-  3. Napísanie veµkého  R  prepne do nahradzovacieho módu, kým nieje
-     stlaèené <ESC> pre ukonèenie nahradzovacieho módu.
+  3. Príkaz  e  presunie kurozr na koniec slova
 
-  4. Napísanie ":set xxx" nastaví mo¾nos» "xxx".
+  4. Operátor  y  vystrihne (skopíruje) text,  p  ho vlo¾í.
 
+  5. Napísanie veµkého  R  prepne do nahradzovacieho módu, kým nieje
+     stlaèené <ESC>.
+
+  6. Napísanie ":set xxx" nastaví mo¾nos» "xxx". Niektoré nastavenia sú: 
+     'ic' 'ignorecase' ignoruje veµké a malé písmená poèas vyhµadávania. 
+     'is' 'incsearch' zobrazuje èiastoèné re»azce vyhµadávaného re»azca. 
+     'hls' 'hlsearch' vyznaèí v¹etky vyhµadávané re»azce.
+      Mô¾e¹ pou¾i» hociktorý z dlhých a krátkych názvov mo¾ností.
+
+  7. Vlo¾ "no" pred nastavenie pre jeho vypnutie:  :set noic
 
 
 
@@ -742,7 +882,7 @@
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		    LEKCIA 7: PRÍKAZY ON-LINE NÁPOVEDY
+		    LEKCIA 7.1: ZÍSKANIE NÁPOVEDY
 
 
 	  ** Pou¾ívaj on-line systém nápovedy **
@@ -753,19 +893,21 @@
 	- stlaè klávesu <F1> (ak nejakú má¹)
 	- napí¹  :help <ENTER>
 
-  Napí¹  :q <ENTER>  èím zatvorí¹ okno nápovedy.
+  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje. 
+  Napí¹   CTRL-W CTRL-W  pre skok z jedného okna do druhého. 
+  Napí¹    :q <ENTER>    èím zatvorí¹ okno nápovedy.
 
   Mô¾e¹ nájs» help ku hociakej téme pridaním argumentu ku príkazu ":help".
   Vyskú¹aj tieto (nezabudni stlaèi» <ENTER>):
 
 	:help w
-	:help c_<T
+	:help c_CTRL-D
 	:help insert-index
 	:help user-manual
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		 LEKCIA 8: VYTVORENIE ©TARTOVACIEHO SKRIPTU
+		 LEKCIA 7.2: VYTVORENIE ©TARTOVACIEHO SKRIPTU
 
 		       ** Zapni funkcie editora Vim **
 
@@ -773,22 +915,67 @@
   vypnutá. Pre pou¾ívanie viac Vim funkcii vytvor "vimrc" súbor.
 
   1. Zaèni editova» "vimrc" súbor, to závisí na pou¾itom systéme:
-	:edit ~/.vimrc      pre Unix
-	:edit $VIM/_vimrc   pre MS-Windows
+	:e ~/.vimrc      pre Unix
+	:e $VIM/_vimrc   pre MS-Windows
 
   2. Teraz si preèítaj text príkladu "vimrc" súboru:
 
-	:read $VIMRUNTIME/vimrc_example.vim
+	:r $VIMRUNTIME/vimrc_example.vim
 
   3. Ulo¾ súbor:
-
-	:write
+	:w
 
   Pri nasledujúcom ¹tarte editora Vim sa pou¾ije zvýrazòovanie syntaxe.
   Do "vimrc" súboru mô¾e¹ prida» v¹etky svoje uprednostòované nastavenia.
+  Pre viac informácii napí¹  :help vimrc-intro
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+                   LEKCIA 7.3 DOKONÈENIE
+
+     ** Dokonèi príkaz na príkazovom riadku pou¾itím CTRL-D a <TAB> **
+
+  1. Uisti sa, ¾e Vim nieje v kompatibilnom móde:  :set nocp
+
+  2. Pozri sa aké súbory sa nachádzajú v adresári:  :!ls  alebo  :!dir
+
+  3. Napí¹ zaèiatok príkazu:  :e
+
+  4. Stlaè  CTRL-D  a Vim zobrazí zoznam príkazov zaèínajúcich "e".
+
+  5. Stlaè <TAB> a Vim dokonèí meno príkazu na ":edit".
+
+  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru: 
+     :edit FIL
+
+  7. Stlaè <TAB>. Vim dokonèí meno (ak je jedineèné).
+
+POZNÁMKA: Dokonèovanie funguje pre veµa príkazov. Vyskú¹aj stlaèenie 
+          CTRL-D a <TAB>. ©peciálne je to u¾itoèné pre príkaz  :help.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+            LEKCIA 7 ZHRNUTIE
+
+  1. Napí¹  :help  alebo stlaè <F1> alebo <Help> pre otvorenie okna nápovedy.
+
+  2. Napí¹  :help príkaz  pre vyhµadanie nápovedy ku príkazu príkaz. 
+
+  3. Napí¹  CTRL-W CTRL-W  na preskoèenie do iného okna. 
+
+  4. Napí¹  :q  pre zatvorenie okna nápovedy
+
+  5. Vytvor ¹tartovací skript vimrc pre udr¾anie uprednostòovaných nastavení. 
+
+  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení. 
+     Stlaè <TAB> pre pou¾itie jedného z dokonèení. 
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+
   Toto vymedzuje výuku Vimu. Toto je urèené pre strucný prehµad o editore
   Vim, úplne postaèujúce pre µahké a obstojné pou¾ívanie tohto editora.
   Táto výuka je ïaleko od kompletnosti, preto¾e Vim má omnoho viacej príkazov.
@@ -817,5 +1004,5 @@
 
   Preklad do Slovenèiny: ¥ubo¹ Èelko
   e-mail:       celbos@inmail.sk
-  Last Change:  2004 Apr 29
-  Encoding:	iso8859-2
+  Last Change:  2006 Apr 18
+  encoding:     iso8859-2
diff --git a/runtime/tutor/tutor.sk.cp1250 b/runtime/tutor/tutor.sk.cp1250
index dc13b26..891b355 100644
--- a/runtime/tutor/tutor.sk.cp1250
+++ b/runtime/tutor/tutor.sk.cp1250
@@ -1,5 +1,5 @@
 ===============================================================================
-=    V i t a j t e   v o   V I M   T u t o r i a l i    -    Verzia 1.5       =
+=    V i t a j t e   v o   V I M   T u t o r i a l i    -    Verzia 1.7       =
 ===============================================================================
 
      Vim je ve¾mi výkonný editor, ktorý má príliž ve¾a príkazov na to aby
@@ -10,6 +10,7 @@
      Približný èas potrebný na prebratie tejto výuky je 25-30 minút,
      závisí na tom, ko¾ko je stráveného èasu s preskúšavaním.
 
+     UPOZORNENIE:
      Príkazy v lekciách modifikujú text. Vytvor kópiu tohto súboru aby
      sa mohlo precvièova na òom (pri štarte "vimtutor" je toto kópia).
 
@@ -20,16 +21,17 @@
      Presvedè sa, že Shift-Lock NIEJE stlaèený a stlaèt klávesu
      j  nieko¾ko krát, aby sa kurzor posunul nato¾ko, že lekcia 1.1
      celkom zaplní obrazovku.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			Lekcia 1.1:  POHYB KURZOROM
 
 
    ** Pre pohyb kurzorum stlaè klávesy h,j,k,l ako je znázornené. **
-	     ^
-	     k		 Funkcia: Klávesa h je na¾avo a vykoná pohyb do¾ava.
-       < h	 l   >	 Klávesa l je napravo a vykoná pohyb doprava.
-	     j		 Klávesa j vyzerá ako šípka dole
-	     v
+        ^
+        k        Funkcia: Klávesa h je na¾avo a vykoná pohyb do¾ava.
+   < h     l >   Klávesa l je napravo a vykoná pohyb doprava.
+        j        Klávesa j vyzerá ako šípka dole
+	      v
   1. Pohybuj kurzorom po obrazovke, kým si na to nezvykneš.
 
   2. Drž stlaèenú klávesu pre pohyb dole (j), kým sa jej funkcia nezopakuje.
@@ -38,34 +40,33 @@
   3. Použitím klávesy pre pohyb dole prejdi na Lekciu 1.2.
 
 Poznámka: Ak si niesi istý tým èo si napísal, stlaè <ESC>
-	  na prechod do normálneho módu.
+	        na prechod do normálneho módu.
 
 Poznámka: Kurzorové klávesy sú tiež funkèné. Ale používaním hjkl sa budeš
-	  schopný pohybova rýchlejšie, keï si zvykneš ich používa.
+	        schopný pohybova rýchlejšie, keï si zvykneš ich používa. Naozaj!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		     LEKCIA 1.2: SPڊANIE A ZATVÁRANIE VIMU
+		     LEKCIA 1.2: ZATVÁRANIE VIMU
+
 
   !! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú túto lekciu !!
 
   1. Stlaè klávesu <ESC> (aby si sa uèite nachádzal v normálnom móde)
 
-  2. Napíš:			:q! <ENTER>.
-
----> Tým ukonèíš prácu s editorom BEZ uloženia zmien, ktoré si vykonal.
-     Ak chceš uloži vykonané zmeny a ukonèi prácu s editorom napíš:
-				:wq   <ENTER>
+  2. Napíš:   :q! <ENTER>.
+     Tým ukonèíš prácu s editorom BEZ uloženia zmien, ktoré si vykonal.
 
   3. Keï sa dostaneš na príkazový riadok, napíš príkaz, ktorým sa dostaneš
      spe do tejto výuky. To môže by:	vimtutor <ENTER>
-     Zvyèajne sa používa:		vim tutor <ENTER>
-
----> 'vim' znamená spustenie editora vim, 'tutor' je názov súboru, ktorý
-     chceš editova.
 
   4. Ak si si tieto kroky spo¾ahlivo zapamätal, vykonaj kroky 1 až 3, pre
-     ukonèenie a znovu spustenie editora. Potom presuò kurzor dole na
-     lekciu 1.3.
+     ukonèenie a znovu spustenie editora. 
+
+POZNÁMKA: :q! <ENTER> neuloží zmeny, ktoré si vykonal. O nieko¾ko lekcií
+          sa nauèíš ako uloži zmeny do súboru
+
+  5. presuò kurzor dole na lekciu 1.3.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		      Lekcia 1.3: EDITÁCIA TEXTU - MAZANIE
 
@@ -85,7 +86,7 @@
 
   5. Ak je veta správna, prejdi na lekciu 1.4.
 
-POZNÁMKA: Neskúšaj si zapametä obsah tejto výuky, ale sa uè používaním.
+POZNÁMKA: Neskúšaj si zapamäta obsah tejto výuky, ale sa uè používaním.
 
 
 
@@ -93,7 +94,7 @@
 		     Lekcia 1.4: EDITÁCIA TEXTU - VKLADANIE
 
 
-    ** Stlaèenie klávesy  i  v normálnom móde umožòuje vkladanie textu. **
+    ** Stlaèenie klávesy  i  umožòuje vkladanie textu. **
 
   1. Presuò kurzor nižšie na prvý riadok za znaèku --->.
 
@@ -111,26 +112,73 @@
   5. Keï sa dostatoène nauèíš vklada text, prejdi na nasledujúce zhrnutie.
 
 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+        Lekcia 1.5: EDITÁCIA TEXTU - PRIDÁVANIE
+
+
+     ** Stlaèenie klávesy  A  umožòuje pridáva text. **
+
+  1. Presuò kurozr nižšie na prvý riadok za znaèkou --->.
+     Nezáleží na tom, na ktorom znaku sa kurzor v tom riadku nachádza.
+
+  2. Stlaè klávesu  A  a napíš potrebný text.
+
+  3. Po pridaní textu stlaè klávesu <ESC> pre návrat do Normálneho módu.
+
+  4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj 
+     kroky 2 a 3 kým nieje veta správna.
+
+---> Tu je nejaký text chýbajúci o
+     Tu je nejaký text chýbajúci od tia¾to.
+---> Tu tiež chýba nej
+     Tu tiež chýba nejaký text.
+
+  5. Keï sa dostatoène nauèíš pridáva text, prejdi na lekciu 1.6.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+       Lekcia 1.6: EDITÁCIA SÚBORU
+
+
+    ** Napísaním  :wq  sa súbor uloží a zavrie **
+
+!! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú lekciu!!
+
+1. Opusti túto výuku, ako si to urobil v lekcii 1.2:  :q!
+
+2. Do príkazového riadku napíš príkaz:  vim tutor <ENTER>
+   'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru, 
+   ktorý chceš editova. Použi taký súbor, ktorý môžeš meni.
+
+3. Vlož a zmaž text tak, ako si sa nauèil v predošlých lekciach.
+
+4. Ulož súbor so zmenami a opusti Vim príkazom:  :wq  <ENTER>
+
+5. Reštartuj vimtutor a presuò sa dole na nasledujúce zhrnutie. 
+
+6. Urob tak po preèítaní predošlých krokov a porozumeniu im.
+
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			       ZHRNUTIE LEKCIE 1
 
 
   1. Kurzor sa pohybuje použitím kláves so šípkami alebo klávesmi hjkl.
-	  h (do lava)	j (dole)	k (hore)	l (doprava)
+	  h (do lava)    j (dole)    k (hore)    l (doprava)
 
   2. Pre spustenie Vimu (z príkazového riadku) napíš: vim FILENAME <ENTER>
 
   3. Na ukonèenie Vimu napíš: <ESC>  :q!  <ENTER> pre zrušenie všetkých zmien
        alebo napíš:   <ESC>   :wq   <ENTER>    pre uloženie zmien.
 
-  4. Na zmazanie znaku na mieste kurzora napíš v normálnom móde:  x
+  4. Na zmazanie znaku na mieste kurzora napíš:  x
 
   5. Pre vloženie textu na mieste kurzora v normálnom móde napíš:
-	 i     vkladaný text	<ESC>
+	 i     napíš vkladaný text   <ESC>  vkladanie pred kurzor
+   A     napíš pridávaný text  <EXC>  vkladanie za riadok
 
 POZNÁMKA: Stlaèenie <ESC> a premiestní do normálneho módu alebo zruší
-	  nejaký nechcený a èiastoène dokonèený príkaz.
+	        nejaký nechcený a èiastoène dokonèený príkaz.
 
 Teraz pokraèuj lekciou 2.
 
@@ -149,8 +197,10 @@
 
 4. Napíš  dw  aby slovo zmizlo.
 
-POZNÁMKA: Písmená dw sa zobrazia na poslednom riadku obrazovky tak ako ich
-	  píšeš. Ak píšeš nieèo zle, stlaè	<ESC>  a zaèni znova.
+POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keï ho
+	        napíšeš. Vim na teba poèká, aby si mohol napísa 
+          písmeno w. Ak vidíš nieèo iné ako  d , tak si napísal 
+          nesprávny znak; stlaè  <ESC>  a zaèni znova.
 
 ---> Tu je nieko¾ko slov zábava, ktoré nie patria list do tejto vety.
 
@@ -178,34 +228,75 @@
 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
 
 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lekcia 2.3: OPERÁTORY A POHYBY
 
+  Ve¾a príkazov, ktoré menia text sú odvodené od operátorov a pohybov. 
+  Formát pre príkaz mazania klávesou  d  je nasledovný:
+
+    d   pohyb
+
+  kde:
+    d     - je mazací operátor
+    pohyb - je to èo operátor vykonáva (vypísané nižšie)
+
+  Krátky list pohybov:
+    w - do zaèiatku ïalšieho slova, okrem jeho prvého písmena.
+    e - do konca terajšieho slova, vrátane posledného znaku. 
+    $ - do konca riadku, vrátane posledného znaku
+
+  Takže napísaním  de  sa zmaže všetko od kurzora do konca slova.
+
+POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora 
+          sa presunie kurzor tak ako je to špecivikované. 
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lekcia 2.4: Použitie viacnásobného pohybu
+
+
+   ** Napísaním èísla pred pohyb ho zopakuje zadný poèet krát **
+
+  1. Presuò kurozr nižšie na zaèiatok riadku oznaèeného --->.
+
+  2. Napíš  2w  a kurozr sa presunie o dve slová vpred. 
+
+  3. Napíš  3e  a kurozr sa presunie vpred na koniec tretieho slova. 
+
+  4. Napíš  0  (nula) a kurozr sa presunie na zaèiatok riadku.
+
+  5. Zopakuj kroky 2 a 3 s rôznymi èíslami. 
+
+---> Toto je riadok so slovami po kotrých sa môžete pohybova.
+
+  6. Prejdi na lekciu 2.5.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		     Lekcia 2.3: ROZŠIROVACIE PRÍKAZY A OBJEKTY
+		  Lekcia 2.5: POUŽITIE VIACNÁSOBNÉHO MAZANIA PRE HROMADNÉ MAZANIE
 
 
-  Formát mazacieho príkazu  d  je nasledovný:
+    ** Napísanie èísla spolu s operátorom ho zopakuje zadaný poèet krát **
 
-   [èíslo]   d objekt       ALEBO      d   [èíslo]    objekt
-  Kde:
-    èíslo - udáva ko¾ko krát sa príkaz vykoná (volite¾né, implicitne=1)
-    d - je príkaz pre mazanie
-    objekt - udáva na èom sa príkaz vykonáva (vypísané nižšie)
+  V kombinácii operátorov mazania a pohybu spomínaného vyššie vlož poèet 
+  pred pohyb pre docielenie hromadného mazania:
+    d   èíslo   pohyb
 
-  Krátky výpis objektov:
-    w - od kurzora do konca slova, vrátanie medzier
-    e - od kurzora do konca slova, BEZ medzier
-    $ - od kurzora do konca riadku.
+  1. Presuò kurzor na prvé slovo písané VE¼KÝMI PÍSMENAMI 
+     v riadku oznaèenom --->.
 
-POZNÁMKA: Ak stlaèíš klávesu objektu v normálnom móde bez príkazu, kurzor
-	  sa presunie na miesto špecifikované vo výpise objektov.
+  2. Napíš  2dw  a zmažeš dve slová písané VE¼KÝMI PÍSMENAMI
 
+  3. Zopakuj kroky 1 a 2 s použitím rôzneho èísla tak aby si zmazal slová
+     písané ve¾kými písmenami jedným príkazom.
 
+---> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. 
+
+POZNÁMKA: Èíslo medzi operátorom  d  a pohybom funguje podobne ako pri 
+          použití s pohybom bez operátora.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		Lekcia 2.4: VÝNIMKA V 'PRÍKAZOVOM OBJEKTE'
+    		Lekcia 2.6: OPERÁCIE S RIADKAMI
 
 
 	    ** Napísanie príkazu   dd   zmaže celý riadok. **
@@ -216,7 +307,7 @@
 1. Presuò kurzor na druhý riadok v texte na spodu.
 2. Napíš  dd  aby si zmazal riadok.
 3. Prejdi na štvrtý riadok.
-4. Napíš   2dd   (pametaj si  èíslo-príkaz-objekt) aby si zmazal dva riadky.
+4. Napíš   2dd   aby si zmazal dva riadky.
 
     1)  Ruže sú èervené,
     2)  Blato je zábavné,
@@ -228,7 +319,7 @@
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			Lekcia 2.5: PRÍKAZ UNDO
+			Lekcia 2.7: PRÍKAZ UNDO
 
 
 ** Stlaè  u  pre vrátenie posledného príkazu,  U  pre úpravu celého riadku. **
@@ -241,7 +332,7 @@
 5. Teraz napíš ve¾ké   U  èím vrátíš riadok do pôvodného stavu.
 6. Teraz napíš  u  nieko¾ko krát, èím vrátíš spä príkaz U.
 7. Teraz napíš CTRL-R (drž klávesu CTRL stlaèenú kým stláèaš R) nieko¾ko
-   krát, èím vrátíš spä predtým vrátené príkazy (redo).
+   krát, èím vrátíš spä predtým vrátené príkazy (undo z undo).
 
 ---> Opprav chybby nna toomto riadku a zmeeò ich pommocou undo.
 
@@ -260,16 +351,20 @@
 
   3. Pre zmazanie celého riadku napíš:   dd
 
-  4. Formát pre píkaz v norálnom móde je:
+  4. Pre zopakovanie pohybu, napíš pred neho èíslo:   2w
 
-       [èíslo]   príkaz   objekt    ALEBO   príkaz [èíslo]   objekt
+  5. Formát pre píkaz:
+
+       operátor   [èíslo]   pohyb
      kde:
-       èíslo - udáva ko¾ko krát sa príkaz zopakuje
-       príkaz - udáva vykonávaný príkaz, ako napríklad  d  pre mazanie
-       objekt - udáva rozsah príkazu, ako napríklad  w(slovo),
+       operátor - èo treba robi, napríklad  d  pre zmazanie
+       [èíslo] - je volite¾ný poèet pre opakovanie pohybu
+       pohyb - pohyb po texte vzh¾adom na operátor, napríklad w (slovo), 
 		$ (do konca riadku), atï.
 
-  5. Pre vrátenie spä predošlej operácie napíš:	u   (malé u)
+  6. Pre pohyb na zaèiatok riadku použi nulu:  0
+
+  7. Pre vrátenie spä predošlej operácie napíš:	u   (malé u)
      Pre vrátenie všetkých úprav na riadku napíš:    U   (ve¾ké U)
      Pre vrátenie vrátených úprav napíš:	      CTRL-R
 
@@ -289,10 +384,10 @@
 
   5. Zopakuj kroky 2 až 4, kým riadky niesú v správnom poradí.
 
-     d) Tiež sa dokážeš vzdeláva?
-     b) Fialky sú modré,
-     c) Inteligencia sa vzdeláva,
-     a) Ruže sú èervené,
+---> d) Tiež sa dokážeš vzdeláva?
+---> b) Fialky sú modré,
+---> c) Inteligencia sa vzdeláva,
+---> a) Ruže sú èervené,
 
 
 
@@ -300,15 +395,15 @@
 		       Lekcia 3.2: PRÍKAZ NAHRADENIA
 
 
-     ** Napísaním  r  a znaku sa nahradí znak na mieste kurzora. **
+     ** Napísaním  rx  sa nahradí znak na mieste kurzora znakom  x . **
 
   1. Presuò kurzor nižšie na prví riadok textu oznaèeného znaèkou --->.
 
   2. Presuò kurzor na zaèiatok prvej chyby.
 
-  3. napíš  r  a potom znak, ktorý nahradí chybu.
+  3. napíš  r  a potom znak, ktorý tam má by.
 
-  4. Zopakuj kroky 2 a 3, kým prvý riadok nieje správny.
+  4. Zopakuj kroky 2 a 3, kým prvý riadok nieje zhodný s druhým.
 
 ---> Kaï bol tento riasok píaaný, niekro stlašil nesprábne klávesy!
 ---> Keï bol tento riadok písaný, niekto stlaèil nesprávne klávesy!
@@ -323,22 +418,22 @@
 		       Lekcia 3.3. PRÍKAZ ÚPRAVY
 
 
-     ** Ak chceš zmeni èas slova alebo celé slovo, napíš  cw . **
+     ** Ak chceš zmeni èas slova do konca slova, napíš  ce . **
 
   1. Presuò kurzor nižšie na prvý riadok oznaèený znaèkou --->.
 
   2. Umiestni kurzor na písmeno o v slove rosfpl.
 
-  3. Napíš  cw  a oprav slovo (v tomto prípade napíš 'iadok'.)
+  3. Napíš  ce  a oprav slovo (v tomto prípade napíš 'iadok'.)
 
-  4. Stlaè <ESC> a prejdi na ïalšiu chybu (prvý znak, ktorý treba zmeni.)
+  4. Stlaè <ESC> a prejdi na ïalší znak, ktorý treba zmeni.
 
   5. Zopakuj kroky 3 a 4, kým prvá veta nieje rovnaká ako druhá.
 
 ---> Tento rosfpl má nieko¾ko skic, ktoré je pirewvbí zmeni piyuèán príkazu.
 ---> Tento riadok má nieko¾ko slov, ktoré je potrebné zmeni použitím príkazu.
 
-Poznámka, že  cw  nielen nahrádza slovo, ale a aj premiestní do vkladania.
+Poznámka, že  ce  zmaže slovo a nastaví vkladací mód.
 
 
 
@@ -346,13 +441,13 @@
 		       Lekcia 3.4: VIAC ZMIEN POUŽITÍM c
 
 
-   ** Príkaz pre úpravy sa používa s rovnakými objektami ako pre mazanie **
+   ** Príkaz pre úpravy sa používa s rovnakými pohybmi ako pre mazanie **
 
   1. Príkaz pre úpravy pracuje rovnako ako pre mazanie. Formát je:
 
-    [èíslo]   c   objekt       ALEBO       c [èíslo]   objekt
+        c    [èíslo]    pohyb
 
-  2. Objekty sú rovnaké, ako napríklad  w (slovo), $ (koniec riadku), atï.
+  2. Pohyby sú rovnaké, ako napríklad   w (slovo) a  $ (koniec riadku).
 
   3. Presuò kurzor nižšie na prvý riadok oznaèený znaèkou --->.
 
@@ -364,6 +459,7 @@
 ---> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy.
 ---> Koniec tohto riadku potrebuje opravi použitím príkazu  c$ .
 
+POZNÁMKA: Môžeš použi klávesu backspace na úpravu zmien poèas písania.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -376,13 +472,13 @@
   2. Pre naradenie znaku na mieste kurzora, napíš  r  a potom znak, ktorý
      nahradí pôvodný znak.
 
-  3. Príkaz na upravenie umožòuje zmeni špecifikovaný objekt od kurzora
-     až po koniec objektu.  napr. Napíš  cw  èím zmníš text od pozície
+  3. Príkaz na upravenie umožòuje zmeni od kurzora až po miesto, ktoré 
+     urèuje pohyb.  napr. Napíš  ce  èím zmníš text od pozície
      kurzora do konca slova, c$  zmení text do konca riadku.
 
-  4. Format pre nahradenie je:
+  4. Formát pre nahradenie je:
 
-	[èíslo]   c objekt	 ALEBO	     c	 [èíslo]    objekt
+	    c    [èíslo]    pohyb 
 
 
 Teraz prejdi na nalsedujúcu lekciu.
@@ -394,19 +490,19 @@
 
 
   ** Stlaè CTRL-g pre zobrazenie svojej pozície v súbore a statusu súboru.
-     Stlaè SHIFT-G pre prechod na riadok v súbore. **
+     Napíš  G  pre presun na riadok v súbore. **
 
   Poznámka: Preèítaj si celú túto lekciu skôr ako zaèneš vykonáva kroky!!
 
-  1. Drž stlaèenú klávesu Ctrl a stlaè  g . Na spodu obrazovky sa zobrazí
-     stavový riadok s názvom súboru a riadkom na ktorom práve si. Zapamätaj
-     si si èíslo riadku pre krok 3.
+  1. Drž stlaèenú klávesu Ctrl a stlaè  g . Toto nazývame CTRL-G. 
+     Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou 
+     v súbore. Zapamätajsi si èíslo riadku pre použitie v kroku 3.
 
-  2. Stlaè Shift-G èím sa dostaneš na spodok súboru.
+  2. Stlaè  G  èím sa dostaneš na spodok súboru.
+     Napíš  gg  èím sa dostaneš na zaèiatok súboru.
 
-  3. Napíš èíslo riadku na ktorom si sa nachádzal a stlaè Shift-G. To a
-     vráti na riadok, na ktorom si prvý krát stlaèil Ctrl-g.
-     (Keï píšeš èísla, tieto sa nezobrazujú na obrazovke.)
+  3. Napíš èíslo riadku na ktorom si sa nachádzal a stlaè  G. To a
+     vráti na riadok, na ktorom si prvý krát stlaèil CTRL-G.
 
   4. Ak sa cítíš schopný vykona teto kroky, vykonaj kroky 1 až 3.
 
@@ -419,24 +515,24 @@
   ** Napíš  /  nasledované reazcom pre vyh¾adanie príslušného reazca. **
 
   1. Napíš znak  /  v normálnom móde. Poznámka, že tento znak sa spolu
-     s kurzorom zobrazí v dolnej èasti obrazovky ako s  :  príkazom.
+     s kurzorom zobrazí v dolnej èasti obrazovky s  :  príkazom.
 
   2. Teraz napíš 'errroor' <ENTER>. To je slovo, ktoré chceš vyh¾ada.
 
   3. Pre vyh¾adanie ïalšieho výskytu rovnakého reazca, stlaè jednoducho  n.
      Pre vyh¾adanie ïalšieho výskytu rovnakého reazca opaèným smerom,
-     napíš Shift-N.
+     N.
 
   4. Ak chceš vyh¾ada reazec v spätnom smere, použí príkaz  ?  miesto
      príkazu /.
 
- ---> Keï vyh¾adávanie dosiahne koniec tohto súboru, bude pokraèova na
-      zaèiatku.
+  5. Pre návrat na miesto z ktorého si prišiel stlaè CTRL-O (drž stlaèenú 
+     klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïalší návrat 
+     spä. CTRL-I ide vpred.
 
-  "errroor" nie je spôsob ako nahradi error; errroor je error.
-
-POZNÁMKA: Keï vyh¾adávanie dosiahne koniec súboru, bude pokraèova na jeho
-	  zaèiatku.
+POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error.
+POZNÁMKA: Keï vyh¾adávanie dosiahne koniec tohto súboru, bude pokraèova na
+      zaèiatku, dokia¾ nieje resetované nastavenie 'wrapscan' .
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -454,16 +550,18 @@
 
   4. Napíš  %  pre presun kurzoru spä na otvárajúcu zátvorku.
 
+  5. Presuò kurzor na iný zo znakov (,),[,],{ alebo } a všimni si
+     èo % vykonáva.
+
 ---> Toto ( je testovací riadok s ('s, ['s ] a {'s } v riadku. ))
 
 Poznámka: Toto je ve¾mi výhodné použí pri ladení programu s chýbajúcimi
-	  uzatvárajúcimi zátvorkami.
-
+	  uzatvárajúcimi zátvorkami!
 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		      Lekcia 4.4: SPOSOB AKO ZMENI CHYBY
+		      Lekcia 4.4: PRÍKAZ NAHRADENIA
 
 
  ** Napíš   :s/starý/nový/g  pre nahradenie slova 'starý' za slovo 'nový'. **
@@ -471,7 +569,7 @@
   1. Presuò kurzor nižšie na riadok oznaèený znaèkou --->.
 
   2. Napíš  :s/thee/the <ENTER> . Poznamka, že tento príkaz zmení len prvý
-     výskyt v riadku.
+     výskyt "thee" v riadku.
 
   3. Teraz napíš   :s/thee/the/g   èo znamená celkové nahradenie v riadku.
      Toto nahradí všetky výskyty v riadku.
@@ -479,9 +577,11 @@
 ---> Thee best time to see thee flowers in thee spring.
 
   4. Pre zmenu všetkých výskytov daného reazca medzi dvomi ridakami,
-     napíš  :#,#s/starý/nový/g  kde #,# sú èísla dvoch riadkov.
+     napíš  :#,#s/starý/nový/g  kde #,# sú èísla dvoch riadkov, v rozsahu
+                                ktorých sa nahradenie vykoná.
      napíš  :%s/starý/nový/g    pre zmenu všetkých výskytov v celom riadku
-
+     napíš  :%s/starý/nový/gc   nájde všetky výskyty v celom súbore,
+                                s otázkou èi nahradi alebo nie
 
 
 
@@ -489,23 +589,25 @@
 			       LEKCIA 4 ZHRNUTIE
 
 
-  1. Ctrl-g  vypíše tvoju pozíciu v súbore a status súboru.
-     Shift-g  a premiestni na koniec riadku. Èíslo riadku nasledované
-     Shift-g  a presunie na dané èíslo riadku.
+  1. CTRL-g    vypíše tvoju pozíciu v súbore a status súboru.
+            G  a premiestni na koniec riadku. 
+     èíslo  G  a premiestni na riadok s èíslom.
+           gg  a presunie na prvý riadok
 
   2. Napísanie  /  nasledované reazcom vyh¾adá reazec smerom DOPREDU.
      Napísanie  ?  nasledované reazcom vyh¾ada reazec smerom DOZADU.
      Napísanie  n  po vyh¾adávaní, vyh¾adá nasledujúci výskyt reazca
-     v rovnakom smere, prièom  Shift-N  vyh¾adá v opaènom smere.
+     v rovnakom smere, prièom  N  vyh¾adá v opaènom smere.
+     CTRL-O a vráti spä na staršiu pozíciu, CTRL-I na novšiu pozíciu.
 
   3. Napísanie  %  keï kurzor je na (,),[,],{, alebo } nájde zodpovdajúcu
-     párú zátvorku.
+     párnu zátvorku.
 
-  4. Pre nahradenie nového za prvý starý v riadku napíš    :s/nový/starý
-     Pre nahradenie nového za všetky staré v riadku napíš  :s/nový/starý/g
-     Pre nahradenie reazcov medzi dvoma riadkami 3 napíš  :#,#/nový/starý/g
+  4. Pre nahradenie nového za prvý starý v riadku napíš    :s/starý/nový
+     Pre nahradenie nového za všetky staré v riadku napíš  :s/starý/nový/g
+     Pre nahradenie reazcov medzi dvoma riadkami 3 napíš  :#,#/starý/nový/g
      Pre nahradenie všetkých výskytov v súbore napíš       :%s/starý/nový/g
-     Pre potvrdenie každého nahradenia pridaj 'c'	    :%s/nový/starý/gc
+     Pre potvrdenie každého nahradenia pridaj 'c'	         :%s/starý/nový/gc
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -524,7 +626,7 @@
      zobrazí obsah tvojho adresára rovnako ako na príkazovom riadku.
      Alebo použi  :!dir  ak ls nefunguje.
 
-Poznámka:  Takto je možné spusti hociaký vonkajší príkaz.
+Poznámka:  Takto je možné spusti hociaký vonkajší príkaz s argumentami.
 Poznámka:  Všetky príkazy  :  musia by dokonèené stlaèením <ENTER>
 
 
@@ -539,41 +641,43 @@
   1. Napíš  :!dir  alebo  :!ls  pre výpis aktuálneho adresára.
      Už vieš, že musíš za týmto stlaèi <ENTER> .
 
-  2. Vyber názov súboru, ktorý EŠTE neexistuje.
+  2. Vyber názov súboru, ktorý ešte neexistuje, ako napr. TEST.
 
   3. Teraz napíš:   :w TEST   (kde TEST je názov vybratého súboru.)
 
   4. To uloží celý súbor  (Vim Tutor)  pod názovm TEST.
      Pre overenie napíš   :!dir   , èím  zobrazíš obsah adresára.
 
-Poznámka: že ak ukonèíš prácu s editorom Vim a znovu ho spustíš s názvom
-	  súboru TEST, súbor bude kópia výuky, keï si ho uložil.
+Poznámka: že ak ukonèíš prácu s editorom Vim a znovu ho spustíš príkazom
+	        vim TEST, súbor bude kópia výuky, keï si ho uložil.
 
   5. Teraz odstráò súbor napísaním (MS-DOS):   :!del TEST
 			     alebo (Unix):     :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		    Lekcia 5.3 VÝBEROVÝ PRÍKAZ PRE ULOŽENIE
+		    Lekcia 5.3 VÝBER TEXTU PRE ULOŽENIE
 
 
-  ** Pre uloženie èasti súboru, napíš   :#,# w FILENAME **
+  ** Pre uloženie èasti súboru, napíš  v  pohyb :w FILENAME **
 
-  1. Znovu napíš  :!dir  alebo  :!ls  pre zobrazenie obsahu aktuálneho
-     adresára a vyber vhodný súbor ako TEST.
+  1. Presuò kurozr na tento riadok.
 
-  2. Presuò kurzor na vrch tejto strany a napíš  Ctrl-g  pre vyh¾adanie èísla
-     tohto riadku.  PAMETAJ SI TOTO ÈÍSLO!
+  2. Stlaè  v  a presuò kurozr na piatu položku dole. Poznámka, že
+     tento text je vyznaèený (highlighted).
 
-  3. Teraz prejdi na spodok strany a napíš  Ctrl-g  znovu. ZAPAMETAJ SI ÈÍSLO
-     AJ TOHTO RIADKU!
+  3. Stlaè klávesu  : . V spodnej èasti okna sa objaví  :'<,'>.
 
-  4. Pre uloženie LEN èasti súboru, napíš   :#,# w TEST  kde #,# sú dve èísla
-     zapamätaných riadkov (vrch, spodok) a TEST je názov súboru.
+  4. Napíš w TEST  , kde TEST je meno súboru, ktorý zatial neexistuje. 
+     Skontroluj, e vidíš  :'<,'>w TEST  predtým než stlaèíš Enter.
 
-  5. Znova sa pozri, èi tam ten súbor je pomocou príkazu   :!dir ale
-     NEODSTRAÒUJ ho.
+  5. Vim zapíše oznaèené riadky do súboru TEST. Použi :!dir  alebo  !ls
+     pre overenie. Zatial ho ešte nemaž! Použijeme ho v ïalšej lekcii.
 
+POZNÁMKA: Stlaèením klávesy  v  sa spustí vizuálne oznaèovanie. 
+          Môžeš pohybova kurzorom pre upresnenie vyznaèeného textu. 
+          Potom môžeš použi operátor pre vykonanie nejakej akcie 
+          s textom. Napríklad  d  zmaže vyznaèený text.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -582,21 +686,16 @@
 
 	** Pre vloženie obsahu súboru, napíš   :r FILENAME **
 
-  1. Napíš   :!dir   aby si sa presvedèil, že súbor TEST stále existuje.
+  1. Premiestni kurzor nad tento riadok. 
 
-  2. Presuò kurzor na vrch tejto strany.
-
-POZNÁMKA:  Po vykonaní kroku 3 uvidíš Lekciu 5.3. Potom sa presuò dole
-	   na túto lekciu.
+POZNÁMKA: Po vykonaní kroku 2 uvidíš text z lekcie 5.3. Potom sa presuò
+          dole, aby si videl túto lekciu.
 
   3. Teraz vlož súbor TEST použitím príkazu   :r TEST   kde TEST je názov
-     súboru.
+     súboru. Súbor, ktorý si použil je umiestnený pod riadkom s kurzorom.
 
-POZNÁMKA:  Súbor, ktorý si vložil sa vloží od miesta, kde sa nachádza kurzor.
-
-  4. Pre kontrolu vloženia súboru, presuò kurzor spä a všimni si, že teraz
-     mᚠdve kópie lekcie 5.3, originál a súborovú verziu.
-
+POZNÁMKA: Môžeš tiež naèíta výstup vonkajšieho príkazu. Napríklad :r !ls
+          naèíta výstup príkazu ls a umiestni ho za pozíciu kurzora.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -606,20 +705,19 @@
   1.  :!príkaz  spustí vonkajší príkaz.
 
       Niektoré využite¾né príklady sú:
-	(MS_DOS)	  (UNIX)
-	 :!dir		   :!ls		    -  zobrazí obsah adresára
+	(MS_DOS)    (UNIX)
+	 :!dir       :!ls	    -  zobrazí obsah adresára
 	 :!del FILENAME    :!rm FILENAME    -  odstráni súbor FILENAME
 
   2.  :w FILENAME  uloží aktuálny súbor na disk pod menom FILENAME.
-
-  3.  :#,#w FILENAME  uloží riadky od # do # do súboru FILENAME.
+ 
+  3.  v  pohyb  :w FILENAME  uloží vizuálne oznaèené riadky do 
+      súboru FILENAME.
 
   4.  :r FILENAME  vyberie z disku súbor FILENAME a vloží ho do aktuálneho
       súboru za pozíciou kurzora.
 
-
-
-
+  5. :r !dir  naèíta výstup z príkazu dir a vloží ho za pozíciu kurzora.
 
 
 
@@ -640,9 +738,10 @@
 ---> Po napísaní  o  sa kurzor premiestní na vložený riadok do vkladacieho
      módu.
 
-  4. Pre otvorenie riadku nad kurzorom, jednotucho napíš ve¾ké  O , namiesto
-     malého o. Vyskúšaj si to na nasledujúcom riadku.
-Vlož riadok nad týmto napísaním Shift-O, keï kurzor je na tomto riadku.
+  4. Pre otvorenie riadku nad kurzorom, jednotucho napíš ve¾ké  O , 
+     namiesto malého  o. Vyskúšaj si to na riadku dole. 
+
+---> Vlož riadok nad týmto napísaním O, keï kurzor je na tomto riadku.
 
 
 
@@ -653,20 +752,21 @@
 	   ** Napíš  a  pre vloženie textu ZA kurzor. **
 
   1. Presuò kurzor nižšie na koniec prvého riadku oznaèeného znaèkou --->
-     napísaním  $  v normálnom móde.
 
-  2. Napíš  a  (malé písmeno) pre pridanie textu ZA znakom na mieste
-     kurzora. (Ve¾ké A pridá na koniec riadku.)
+  2. Stlaè klávesu  e  dokia¾ kurozr nieje na konci riadku.   
 
-Poznámka: Toto obchádza písanie  i , posledný znak, text na vloženie, <ESC>,
-	  kurzor doprava, a nakoniec, x , na pridávanie na koniec riadku!
+  3. Napíš  a  (malé písmeno) pre pridanie textu ZA kurzorom.
 
-  3. Teraz dokonèi prvý riadok. Poznámka, že pridávanie je vlastne rovnaké
-     ako vkladací mód, okrem miesta, kde sa text vkladá.
+  4. Dokonèí slovo tak ako je to v druhom riadku. Stlaš <ESC> pre 
+     opustenie vkladacieho módu.
 
----> Tento riadok ti dovo¾uje nácvik
+  5. Použi  e  na presun na ïalšie nedokonèené slovo a zopakuj kroky 3 a 4.
+
+---> Tento ri ti dovo¾uje nácv priávan testu na koniec riadku.
 ---> Tento riadok ti dovo¾uje nácvik pridávania textu na koniec riadku.
 
+POZNÁMKA: a, i, A štartujú rovnaký vkladací mód, jediný rozidel je, kde 
+          sa znaky vkladajú. 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -675,24 +775,52 @@
 
       ** Napíš ve¾ké R pre nahradenie viac ako jedného znaku. **
 
-  1. Presuò kurzor nižšie na prvý riadok oznaèený znaèkou --->.
+  1. Presuò kurzor nižšie na prvý riadok oznaèený znaèkou --->. Premiestni
+     kurzor na zaèiatok prvého výskytu  xxx.
 
-  2. Premiestni kurzor na zaèiatok prvého slova, ktoré je odlišné od druhého
-     riadku oznaèeného ---> (slovo 'posledná').
+  2. Teraz napíš  R  a  napíš  èíslo uvedené v druhom riadku, takže 
+     sa ním nahradí pôvodné xxx.
 
-  3. Teraz napíš  R  a nahraï zvyšok textu na prvom riadku písaním cez starý
-     text tak, aby prvý riadok bol rovnaký ako druhý.
+  3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, že zvyšok 
+     riadku zostane nezmenený. 
 
----> Na úpravu prvého riadku do tvaru ako je posledný na strane použi klávesy.
----> Na úpravu prvého riadku do tavru ako je druhý, napíš R a nový text.
+  4. Zopakuj tieto kroky pre nahradenie zvyšných xxx.
 
-  4. Poznámka, že ak stlaèíš <ESC> pre ukonèenie, všetok nezmenený text
-     zostane.
+---> Pridaním 123 ku xxx dostaneš xxx.
+---> Pridaním 123 ku 456 dostaneš 579.
 
+POZNÁMKA:  Nahradzovací mód je ako vkladací mód, ale každý napísaný znak 
+           zmaže existujúci znak. 
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			 Lekcia 6.4: NASTAVENIE MOŽNOSTÍ
+
+          Lekcia 6.4: Copy Paste textu
+
+    ** použí operátor  y  pre copy textku a  p  pre jeho paste **
+
+  1. Choï nižšie na riadok oznaèený ---> a umiestni kurozr za "a)".
+
+  2. Naštartuj vizuálny mód použitím  v  a presuò kurozr pred "first".
+
+  3. Napíš  y  pre  vystrihnutie (copy) oznaèeného textu.
+
+  4. Presuò kurozr na koniec ïalšieho riadku: j$
+
+  5. Napíš  p  pre vložnie (paste) textu. Potom napíš:  a druha <ESC>.
+
+  6. Použi vizuálny mód pre oznaèenie "položka.", vystrihni to 
+     použitím  y, presuò sa na koniec nasledujúceho riadku použitím  j$ 
+     a vlož sem text použitím  p.
+
+---> a) toto je prvá položka
+---> b)
+
+POZNÁMKA: Môžeš použi tiež  y  ako operátor; yw  vystrihne jedno slovo. 
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lekcia 6.5: NASTAVENIE MOŽNOSTÍ
 
 
 ** Nastav možnosti, takže vyh¾adávanie alebo nahradzovanie ignoruje
@@ -700,40 +828,52 @@
 
 
   1. Vyh¾adaj reazec 'ignore' napísaním:
-     /ignore
-     Zopakuj vyh¾adávanie nieko¾ko krát stlaèením klávesy n
+     /ignore <ENTER>
+     Zopakuj vyh¾adávanie nieko¾ko krát stlaèením klávesy  n .
 
   2. Nastav možnos 'ic' (Ignore case) napísaním príkazu:
      :set ic
 
-  3. Teraz vyh¾adaj reazec 'ingore' znova stlaèením klávesy: n
-     Zopakuj vyh¾adávanie nieko¾ko krát stlaèením klávesy n
+  3. Teraz vyh¾adaj reazec 'ingore' znova stlaèením klávesy  n
+     Poznámka, že teraz sú vyh¾adané aj Ignore a IGNORE.
 
   4. Nastav možnosi 'hlsearch' a 'incsearch':
      :set hls is
 
   5. Teraz spusti vyh¾adávací príkaz znovu, a pozri èo sa stalo:
-     /ignore
+     /ignore <ENTER>
 
-  6. Na odstránenie zvýraznenia výrazov napíš:
-     :nohlsearch
+  6. Pre opetovné zapnutie rozlyšovania ve¾kých a malých písmen 
+     napíš:  :set noic
+
+POZNÁMKA: Na odstránenie zvýraznenia výrazov napíš:  :nohlsearch
+POZNÁMKA: Ak chceš nerozlyšova ve¾kos písmen len pre jedno 
+          použitie vyh¾adávacieho príkazu, použi \c:  /ignore\c <ENTER>
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			      LEKCIA 6 ZHRNUTIE
 
 
-  1. Napísaním  o  sa otvorí nový riadok pod kurzorom a premiestni sa kurzor
-     na vložený riadok do vkladacieho módu.
-     napísaním ve¾kého  O  sa otvorí riadok nad aktuálnym riadkom s kurzorom.
+  1. Napíš  o  pre otvorenie riadku pod kurzorom a štart vkladacieho módu.
+     Napíš  O  pre otvorenie riadku nad kurzorom.
 
-  2. Napíš  a  pre vkladanie textu ZA znak na pozícii kurzoru.
-     Napísaním ve¾kého  A  sa text automatický pridáva na koniec riadku.
+  2. Napíš  a  pre vkladanie textu ZA kurzor.
+     Napíš  A  pre vkladanie textu za koncom riadku.
 
-  3. Napísanie ve¾kého  R  prepne do nahradzovacieho módu, kým nieje
-     stlaèené <ESC> pre ukonèenie nahradzovacieho módu.
+  3. Príkaz  e  presunie kurozr na koniec slova
 
-  4. Napísanie ":set xxx" nastaví možnos "xxx".
+  4. Operátor  y  vystrihne (skopíruje) text,  p  ho vloží.
 
+  5. Napísanie ve¾kého  R  prepne do nahradzovacieho módu, kým nieje
+     stlaèené <ESC>.
+
+  6. Napísanie ":set xxx" nastaví možnos "xxx". Niektoré nastavenia sú: 
+     'ic' 'ignorecase' ignoruje ve¾ké a malé písmená poèas vyh¾adávania. 
+     'is' 'incsearch' zobrazuje èiastoèné reazce vyh¾adávaného reazca. 
+     'hls' 'hlsearch' vyznaèí všetky vyh¾adávané reazce.
+      Môžeš použi hociktorý z dlhých a krátkych názvov možností.
+
+  7. Vlož "no" pred nastavenie pre jeho vypnutie:  :set noic
 
 
 
@@ -742,7 +882,7 @@
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		    LEKCIA 7: PRÍKAZY ON-LINE NÁPOVEDY
+		    LEKCIA 7.1: ZÍSKANIE NÁPOVEDY
 
 
 	  ** Používaj on-line systém nápovedy **
@@ -753,19 +893,21 @@
 	- stlaè klávesu <F1> (ak nejakú máš)
 	- napíš  :help <ENTER>
 
-  Napíš  :q <ENTER>  èím zatvoríš okno nápovedy.
+  Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje. 
+  Napíš   CTRL-W CTRL-W  pre skok z jedného okna do druhého. 
+  Napíš    :q <ENTER>    èím zatvoríš okno nápovedy.
 
   Môžeš nájs help ku hociakej téme pridaním argumentu ku príkazu ":help".
   Vyskúšaj tieto (nezabudni stlaèi <ENTER>):
 
 	:help w
-	:help c_<T
+	:help c_CTRL-D
 	:help insert-index
 	:help user-manual
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		 LEKCIA 8: VYTVORENIE ŠTARTOVACIEHO SKRIPTU
+		 LEKCIA 7.2: VYTVORENIE ŠTARTOVACIEHO SKRIPTU
 
 		       ** Zapni funkcie editora Vim **
 
@@ -773,22 +915,67 @@
   vypnutá. Pre používanie viac Vim funkcii vytvor "vimrc" súbor.
 
   1. Zaèni editova "vimrc" súbor, to závisí na použitom systéme:
-	:edit ~/.vimrc      pre Unix
-	:edit $VIM/_vimrc   pre MS-Windows
+	:e ~/.vimrc      pre Unix
+	:e $VIM/_vimrc   pre MS-Windows
 
   2. Teraz si preèítaj text príkladu "vimrc" súboru:
 
-	:read $VIMRUNTIME/vimrc_example.vim
+	:r $VIMRUNTIME/vimrc_example.vim
 
   3. Ulož súbor:
-
-	:write
+	:w
 
   Pri nasledujúcom štarte editora Vim sa použije zvýrazòovanie syntaxe.
   Do "vimrc" súboru môžeš prida všetky svoje uprednostòované nastavenia.
+  Pre viac informácii napíš  :help vimrc-intro
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+                   LEKCIA 7.3 DOKONÈENIE
+
+     ** Dokonèi príkaz na príkazovom riadku použitím CTRL-D a <TAB> **
+
+  1. Uisti sa, že Vim nieje v kompatibilnom móde:  :set nocp
+
+  2. Pozri sa aké súbory sa nachádzajú v adresári:  :!ls  alebo  :!dir
+
+  3. Napíš zaèiatok príkazu:  :e
+
+  4. Stlaè  CTRL-D  a Vim zobrazí zoznam príkazov zaèínajúcich "e".
+
+  5. Stlaè <TAB> a Vim dokonèí meno príkazu na ":edit".
+
+  6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru: 
+     :edit FIL
+
+  7. Stlaè <TAB>. Vim dokonèí meno (ak je jedineèné).
+
+POZNÁMKA: Dokonèovanie funguje pre ve¾a príkazov. Vyskúšaj stlaèenie 
+          CTRL-D a <TAB>. Špeciálne je to užitoèné pre príkaz  :help.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+            LEKCIA 7 ZHRNUTIE
+
+  1. Napíš  :help  alebo stlaè <F1> alebo <Help> pre otvorenie okna nápovedy.
+
+  2. Napíš  :help príkaz  pre vyh¾adanie nápovedy ku príkazu príkaz. 
+
+  3. Napíš  CTRL-W CTRL-W  na preskoèenie do iného okna. 
+
+  4. Napíš  :q  pre zatvorenie okna nápovedy
+
+  5. Vytvor štartovací skript vimrc pre udržanie uprednostòovaných nastavení. 
+
+  6. Poèas písania príkazu  :  stlaè CTRL-D pre zobrazenie dokonèení. 
+     Stlaè <TAB> pre použitie jedného z dokonèení. 
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+
   Toto vymedzuje výuku Vimu. Toto je urèené pre strucný preh¾ad o editore
   Vim, úplne postaèujúce pre ¾ahké a obstojné používanie tohto editora.
   Táto výuka je ïaleko od kompletnosti, pretože Vim má omnoho viacej príkazov.
@@ -817,5 +1004,5 @@
 
   Preklad do Slovenèiny: ¼uboš Èelko
   e-mail:       celbos@inmail.sk
-  Last Change:  2004 Apr 29
+  Last Change:  2006 Apr 18
   encoding:     cp1250