updated for version 7.2a
diff --git a/runtime/tutor/README.txt b/runtime/tutor/README.txt
index 77097c1..6eece41 100644
--- a/runtime/tutor/README.txt
+++ b/runtime/tutor/README.txt
@@ -1,22 +1,138 @@
-Tutor is a "hands on" tutorial for new users of the Vim editor.
+README.txt for version 7.2a of Vim: Vi IMproved.
 
-Most new users can get through it in less than one hour. The result
-is that you can do a simple editing task using the Vim editor.
 
-Tutor is a file that contains the tutorial lessons. You can simply
-execute "vim tutor" and then follow the instructions in the lessons.
-The lessons tell you to modify the file, so DON'T DO THIS ON YOUR
-ORIGINAL COPY.
+WHAT IS VIM
 
-On Unix you can also use the "vimtutor" program.  It will make a
-scratch copy of the tutor first.
+Vim is an almost compatible version of the UNIX editor Vi.  Many new features
+have been added: multi-level undo, syntax highlighting, command line history,
+on-line help, spell checking, filename completion, block operations, etc.
+There is also a Graphical User Interface (GUI) available.  See
+"runtime/doc/vi_diff.txt" for differences with Vi.
 
-I have considered adding more advanced lessons but have not found the
-time. Please let me know how you like it and send any improvements you
-make.
+This editor is very useful for editing programs and other plain ASCII files.
+All commands are given with normal keyboard characters, so those who can type
+with ten fingers can work very fast.  Additionally, function keys can be
+defined by the user, and the mouse can be used.
 
-Bob Ware, Colorado School of Mines, Golden, Co 80401, USA
-(303) 273-3987
-bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet
+Vim currently runs under Amiga DOS, MS-DOS, MS-Windows 95/98/Me/NT/2000/XP,
+Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
+UNIX.  Porting to other systems should not be very difficult.
 
-[This file was modified for Vim by Bram Moolenaar]
+
+DISTRIBUTION
+
+There are separate distributions for Unix, PC, Amiga and some other systems.
+This README.txt file comes with the runtime archive.  It includes the
+documentation, syntax files and other files that are used at runtime.  To run
+Vim you must get either one of the binary archives or a source archive.
+Which one you need depends on the system you want to run it on and whether you
+want or must compile it yourself.  Check "http://www.vim.org/download.php" for
+an overview of currently available distributions.
+
+
+DOCUMENTATION
+
+The best is to use ":help" in Vim.  If you don't have an executable yet, read
+"runtime/doc/help.txt".  It contains pointers to the other documentation
+files.  The User Manual reads like a book and is recommended to learn to use
+Vim.  See ":help user-manual".
+
+The vim tutor is a one hour training course for beginners.  Mostly it can be
+started as "vimtutor".  See ":help tutor" for more information.
+
+
+COPYING
+
+Vim is Charityware.  You can use and copy it as much as you like, but you are
+encouraged to make a donation to orphans in Uganda.  Please read the file
+"runtime/doc/uganda.txt" for details (do ":help uganda" inside Vim).
+
+Summary of the license: There are no restrictions on using or distributing an
+unmodified copy of Vim.  Parts of Vim may also be distributed, but the license
+text must always be included.  For modified versions a few restrictions apply.
+The license is GPL compatible, you may compile Vim with GPL libraries and
+distribute it.
+
+
+SPONSORING
+
+Fixing bugs and adding new features takes a lot of time and effort.  To show
+your appreciation for the work and motivate Bram and others to continue
+working on Vim please send a donation.
+
+Since Bram is back to a paid job the money will now be used to help children
+in Uganda.  See runtime/doc/uganda.txt.  But at the same time donations
+increase Bram's motivation to keep working on Vim!
+
+For the most recent information about sponsoring look on the Vim web site:
+
+	http://www.vim.org/sponsor/
+
+
+COMPILING
+
+If you obtained a binary distribution you don't need to compile Vim.  If you
+obtained a source distribution, all the stuff for compiling Vim is in the
+"src" directory.  See src/INSTALL for instructions.
+
+
+INSTALLATION
+
+See one of these files for system-specific instructions:
+README_ami.txt		Amiga
+README_unix.txt		Unix
+README_dos.txt		MS-DOS and MS-Windows
+README_os2.txt		OS/2
+README_mac.txt		Macintosh
+README_vms.txt		VMS
+
+
+INFORMATION
+
+The latest news about Vim can be found on the Vim home page:
+	http://www.vim.org/
+
+If you have problems, have a look at the Vim FAQ:
+	http://vimdoc.sf.net/vimfaq.html
+
+Send bug reports to:
+	Bram Moolenaar <Bram@vim.org>
+
+There are five mailing lists for Vim:
+<vim@vim.org>
+	For discussions about using existing versions of Vim: Useful mappings,
+	questions, answers, where to get a specific version, etc.
+<vim-dev@vim.org>
+	For discussions about changing Vim: New features, porting, beta-test
+	versions, etc.
+<vim-announce@vim.org>
+	Announcements about new versions of Vim; also beta-test versions and
+	ports to different systems.
+<vim-multibyte@vim.org>
+	For discussions about using and improving the multi-byte aspects of
+	Vim: XIM, Hangul, fontset, etc.
+<vim-mac@vim.org>
+	For discussions about using and improving Vim on the Macintosh.
+
+For more info and URLs of the archives see "http://www.vim.org/maillist.php".
+
+NOTE:
+- You can only send messages to these lists if you have subscribed!
+- You need to send the messages from the same location as where you subscribed
+  from (to avoid spam mail).
+- Maximum message size is 40000 characters.
+
+If you want to join a maillist, send a message to
+	<vim-help@vim.org>
+Make sure that your "From:" address is correct.  Then the list server will
+send you a help message.
+
+
+MAIN AUTHOR
+
+Send any other comments, patches, pizza and suggestions to:
+
+	Bram Moolenaar		E-mail:	Bram@vim.org
+	Finsterruetihof 1
+	8134 Adliswil
+	Switzerland
diff --git a/runtime/tutor/README_ami.txt.info b/runtime/tutor/README_ami.txt.info
new file mode 100755
index 0000000..912436d
--- /dev/null
+++ b/runtime/tutor/README_ami.txt.info
Binary files differ
diff --git a/runtime/tutor/README_amibin.txt.info b/runtime/tutor/README_amibin.txt.info
new file mode 100755
index 0000000..bdc3f02
--- /dev/null
+++ b/runtime/tutor/README_amibin.txt.info
Binary files differ
diff --git a/runtime/tutor/README_dos.txt b/runtime/tutor/README_dos.txt
new file mode 100644
index 0000000..f4818b8
--- /dev/null
+++ b/runtime/tutor/README_dos.txt
@@ -0,0 +1,154 @@
+README_dos.txt for version 7.2a of Vim: Vi IMproved.
+
+This file explains the installation of Vim on MS-DOS and MS-Windows systems.
+See "README.txt" for general information about Vim.
+
+There are two ways to install Vim:
+A. Use the self-installing .exe file.
+B. Unpack .zip files and run the install.exe program.
+
+
+A. Using the self-installing .exe
+---------------------------------
+
+This is mostly self-explaining.  Just follow the prompts and make the
+selections.  A few things to watch out for:
+
+- When an existing installation is detected, you are offered to first remove
+  this.  The uninstall program is then started while the install program waits
+  for it to complete.  Sometimes the windows overlap each other, which can be
+  confusing.  Be sure the complete the uninstalling before continuing the
+  installation.  Watch the taskbar for uninstall windows.
+
+- When selecting a directory to install Vim, use the same place where other
+  versions are located.  This makes it easier to find your _vimrc file.  For
+  example "C:\Program Files\vim" or "D:\vim".  A name ending in "vim" is
+  preferred.
+
+- After selecting the directory where to install Vim, clicking on "Next" will
+  start the installation.
+
+
+B. Using .zip files
+-------------------
+
+These are the normal steps to install Vim from the .zip archives:
+
+1. Go to the directory where you want to put the Vim files.  Examples:
+	cd C:\
+	cd D:\editors
+   If you already have a "vim" directory, go to the directory in which it is
+   located.  Check the $VIM setting to see where it points to:
+	set VIM
+   For example, if you have
+	C:\vim\vim54
+   do
+	cd C:\
+   Binary and runtime Vim archives are normally unpacked in the same location,
+   on top of each other.
+
+2. Unpack the zip archives.  This will create a new directory "vim\vim70",
+   in which all the distributed Vim files are placed.  Since the directory
+   name includes the version number, it is unlikely that you overwrite
+   existing files.
+   Examples:
+	pkunzip -d gvim70.zip
+	unzip vim70w32.zip
+
+   You need to unpack the runtime archive and at least one of the binary
+   archives.  When using more than one binary version, be careful not to
+   overwrite one version with the other, the names of the executables
+   "vim.exe" and "gvim.exe" are the same.
+
+   After you unpacked the files, you can still move the whole directory tree
+   to another location.  That is where they will stay, the install program
+   won't move or copy the runtime files.
+
+   Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to
+   run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP
+   archive and follow the instructions in the documentation.
+
+3. Change to the new directory:
+	cd vim\vim70
+   Run the "install.exe" program.  It will ask you a number of questions about
+   how you would like to have your Vim setup.  Among these are:
+   - You can tell it to write a "_vimrc" file with your preferences in the
+     parent directory.
+   - It can also install an "Edit with Vim" entry in the Windows Explorer
+     popup menu.
+   - You can have it create batch files, so that you can run Vim from the
+     console or in a shell.  You can select one of the directories in your
+     $PATH.  If you skip this, you can add Vim to the search path manually:
+     The simplest is to add a line to your autoexec.bat.  Examples:
+	set path=%path%;C:\vim\vim70
+	set path=%path%;D:\editors\vim\vim70
+   - Create entries for Vim on the desktop and in the Start menu.
+
+That's it!
+
+
+Remarks:
+
+- If Vim can't find the runtime files, ":help" won't work and the GUI version
+  won't show a menubar.  Then you need to set the $VIM environment variable to
+  point to the top directory of your Vim files.  Example:
+    set VIM=C:\editors\vim
+  Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime
+  files in $VIM/vim70.  See ":help $VIM" for more information.
+
+- To avoid confusion between distributed files of different versions and your
+  own modified vim scripts, it is recommended to use this directory layout:
+  ("C:\vim" is used here as the root, replace it with the path you use)
+  Your own files:
+	C:\vim\_vimrc			Your personal vimrc.
+	C:\vim\_viminfo			Dynamic info for 'viminfo'.
+	C:\vim\vimfiles\ftplugin\*.vim	Filetype plugins
+	C:\vim\...			Other files you made.
+  Distributed files:
+	C:\vim\vim70\vim.exe		The Vim version 6.0 executable.
+	C:\vim\vim70\doc\*.txt		The version 6.0 documentation files.
+	C:\vim\vim70\bugreport.vim	A Vim version 6.0 script.
+	C:\vim\vim70\...		Other version 6.0 distributed files.
+  In this case the $VIM environment variable would be set like this:
+	set VIM=C:\vim
+  Then $VIMRUNTIME will automatically be set to "$VIM\vim70".  Don't add
+  "vim70" to $VIM, that won't work.
+
+- You can put your Vim executable anywhere else.  If the executable is not
+  with the other Vim files, you should set $VIM. The simplest is to add a line
+  to your autoexec.bat.  Examples:
+	set VIM=c:\vim
+	set VIM=d:\editors\vim
+
+- If you have told the "install.exe" program to add the "Edit with Vim" menu
+  entry, you can remove it by running the "uninstal.exe".  See
+  ":help win32-popup-menu".
+
+- In Windows 95/98/NT you can create a shortcut to Vim.  This works for all
+  DOS and Win32 console versions.  For the console version this gives you the
+  opportunity to set defaults for the Console where Vim runs in.
+
+  1. On the desktop, click right to get a menu.  Select New/Shortcut.
+  2. In the dialog, enter Command line: "C:\command.com".  Click "Next".
+  3. Enter any name.  Click "Finish".
+     The new shortcut will appear on the desktop.
+  4. With the mouse pointer on the new shortcut, click right to get a menu.
+     Select Properties.
+  5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
+     Vim executable.  Examples:
+	C:\command.com /c C:\vim\vim70\vim.exe
+	C:\command.com /c D:\editors\vim\vim70\vim.exe
+  6. Select the font, window size, etc. that you like.  If this isn't
+     possible, select "Advanced" in the Program tab, and deselect "MS-DOS
+     mode".
+  7. Click OK.
+
+  For gvim, you can use a normal shortcut on the desktop, and set the size of
+  the Window in your $VIM/_gvimrc:
+	set lines=30 columns=90
+
+
+For further information, type one of these inside Vim:
+	:help dos
+	:help msdos
+	:help win32
diff --git a/runtime/tutor/README_mac.txt b/runtime/tutor/README_mac.txt
new file mode 100644
index 0000000..796ad01
--- /dev/null
+++ b/runtime/tutor/README_mac.txt
@@ -0,0 +1,8 @@
+README_mac.txt for version 7.2a of Vim: Vi IMproved.
+
+This file explains the installation of Vim on Macintosh systems.
+See "README.txt" for general information about Vim.
+
+
+Sorry, this text still needs to be written!
+
diff --git a/runtime/tutor/runtime.info b/runtime/tutor/runtime.info
new file mode 100755
index 0000000..6ff0468
--- /dev/null
+++ b/runtime/tutor/runtime.info
Binary files differ
diff --git a/runtime/tutor/runtime/evim.vim b/runtime/tutor/runtime/evim.vim
new file mode 100644
index 0000000..7547290
--- /dev/null
+++ b/runtime/tutor/runtime/evim.vim
@@ -0,0 +1,66 @@
+" Vim script for Evim key bindings
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last Change:	2006 Mar 29
+
+" Don't use Vi-compatible mode.
+set nocompatible
+
+" Use the mswin.vim script for most mappings
+source <sfile>:p:h/mswin.vim
+
+" Vim is in Insert mode by default
+set insertmode
+
+" Make a buffer hidden when editing another one
+set hidden
+
+" Make cursor keys ignore wrapping
+inoremap <Down> <C-R>=pumvisible() ? "\<lt>Down>" : "\<lt>C-O>gj"<CR>
+inoremap <Up> <C-R>=pumvisible() ? "\<lt>Up>" : "\<lt>C-O>gk"<CR>
+
+" CTRL-F does Find dialog instead of page forward
+noremap <C-F> :promptfind<CR>
+vnoremap <C-F> y:promptfind <C-R>"<CR>
+onoremap <C-F> <C-C>:promptfind<CR>
+inoremap <C-F> <C-O>:promptfind<CR>
+cnoremap <C-F> <C-C>:promptfind<CR>
+
+
+set backspace=2		" allow backspacing over everything in insert mode
+set autoindent		" always set autoindenting on
+if has("vms")
+  set nobackup		" do not keep a backup file, use versions instead
+else
+  set backup		" keep a backup file
+endif
+set history=50		" keep 50 lines of command line history
+set ruler		" show the cursor position all the time
+set incsearch		" do incremental searching
+set mouse=a		" always use the mouse
+
+" Don't use Ex mode, use Q for formatting
+map Q gq
+
+" Switch syntax highlighting on, when the terminal has colors
+" Highlight the last used search pattern on the next search command.
+if &t_Co > 2 || has("gui_running")
+  syntax on
+  set hlsearch
+  nohlsearch
+endif
+
+" Only do this part when compiled with support for autocommands.
+if has("autocmd")
+
+  " Enable file type detection.
+  " Use the default filetype settings, so that mail gets 'tw' set to 72,
+  " 'cindent' is on in C files, etc.
+  " Also load indent files, to automatically do language-dependent indenting.
+  filetype plugin indent on
+
+  " For all text files set 'textwidth' to 78 characters.
+  au FileType text setlocal tw=78
+
+endif " has("autocmd")
+
+" vim: set sw=2 :
diff --git a/runtime/tutor/runtime/gvimrc_example.vim b/runtime/tutor/runtime/gvimrc_example.vim
new file mode 100644
index 0000000..5a5197e
--- /dev/null
+++ b/runtime/tutor/runtime/gvimrc_example.vim
@@ -0,0 +1,59 @@
+" An example for a gvimrc file.
+" The commands in this are executed when the GUI is started.
+"
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last change:	2001 Sep 02
+"
+" To use it, copy it to
+"     for Unix and OS/2:  ~/.gvimrc
+"	      for Amiga:  s:.gvimrc
+"  for MS-DOS and Win32:  $VIM\_gvimrc
+"	    for OpenVMS:  sys$login:.gvimrc
+
+" Make external commands work through a pipe instead of a pseudo-tty
+"set noguipty
+
+" set the X11 font to use
+" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
+
+set ch=2		" Make command line two lines high
+
+set mousehide		" Hide the mouse when typing text
+
+" Make shift-insert work like in Xterm
+map <S-Insert> <MiddleMouse>
+map! <S-Insert> <MiddleMouse>
+
+" Only do this for Vim version 5.0 and later.
+if version >= 500
+
+  " I like highlighting strings inside C comments
+  let c_comment_strings=1
+
+  " Switch on syntax highlighting if it wasn't on yet.
+  if !exists("syntax_on")
+    syntax on
+  endif
+
+  " Switch on search pattern highlighting.
+  set hlsearch
+
+  " For Win32 version, have "K" lookup the keyword in a help file
+  "if has("win32")
+  "  let winhelpfile='windows.hlp'
+  "  map K :execute "!start winhlp32 -k <cword> " . winhelpfile <CR>
+  "endif
+
+  " Set nice colors
+  " background for normal text is light grey
+  " Text below the last line is darker grey
+  " Cursor is green, Cyan when ":lmap" mappings are active
+  " Constants are not underlined but have a slightly lighter background
+  highlight Normal guibg=grey90
+  highlight Cursor guibg=Green guifg=NONE
+  highlight lCursor guibg=Cyan guifg=NONE
+  highlight NonText guibg=grey80
+  highlight Constant gui=NONE guibg=grey95
+  highlight Special gui=NONE guibg=grey95
+
+endif
diff --git a/runtime/tutor/runtime/icons.info b/runtime/tutor/runtime/icons.info
new file mode 100644
index 0000000..566bc56
--- /dev/null
+++ b/runtime/tutor/runtime/icons.info
Binary files differ
diff --git a/runtime/tutor/runtime/scripts.vim b/runtime/tutor/runtime/scripts.vim
new file mode 100644
index 0000000..936f508
--- /dev/null
+++ b/runtime/tutor/runtime/scripts.vim
@@ -0,0 +1,351 @@
+" Vim support file to detect file types in scripts
+"
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last change:	2008 Apr 28
+
+" This file is called by an autocommand for every file that has just been
+" loaded into a buffer.  It checks if the type of file can be recognized by
+" the file contents.  The autocommand is in $VIMRUNTIME/filetype.vim.
+
+
+" Only do the rest when the FileType autocommand has not been triggered yet.
+if did_filetype()
+  finish
+endif
+
+" Load the user defined scripts file first
+" Only do this when the FileType autocommand has not been triggered yet
+if exists("myscriptsfile") && filereadable(expand(myscriptsfile))
+  execute "source " . myscriptsfile
+  if did_filetype()
+    finish
+  endif
+endif
+
+" Line continuation is used here, remove 'C' from 'cpoptions'
+let s:cpo_save = &cpo
+set cpo&vim
+
+let s:line1 = getline(1)
+
+if s:line1 =~ "^#!"
+  " A script that starts with "#!".
+
+  " Check for a line like "#!/usr/bin/env VAR=val bash".  Turn it into
+  " "#!/usr/bin/bash" to make matching easier.
+  if s:line1 =~ '^#!\s*\S*\<env\s'
+    let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g')
+    let s:line1 = substitute(s:line1, '\<env\s\+', '', '')
+  endif
+
+  " Get the program name.
+  " Only accept spaces in PC style paths: "#!c:/program files/perl [args]".
+  " If the word env is used, use the first word after the space:
+  " "#!/usr/bin/env perl [path/args]"
+  " If there is no path use the first word: "#!perl [path/args]".
+  " Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]".
+  if s:line1 =~ '^#!\s*\a:[/\\]'
+    let s:name = substitute(s:line1, '^#!.*[/\\]\(\i\+\).*', '\1', '')
+  elseif s:line1 =~ '^#!.*\<env\>'
+    let s:name = substitute(s:line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
+  elseif s:line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
+    let s:name = substitute(s:line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
+  else
+    let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
+  endif
+
+  " tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
+  " third line.  Suggested by Steven Atkinson.
+  if getline(3) =~ '^exec wish'
+    let s:name = 'wish'
+  endif
+
+  " Bourne-like shell scripts: bash bash2 ksh ksh93 sh
+  if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
+    call SetFileTypeSH(s:line1)	" defined in filetype.vim
+
+    " csh scripts
+  elseif s:name =~ '^csh\>'
+    if exists("g:filetype_csh")
+      call SetFileTypeShell(g:filetype_csh)
+    else
+      call SetFileTypeShell("csh")
+    endif
+
+    " tcsh scripts
+  elseif s:name =~ '^tcsh\>'
+    call SetFileTypeShell("tcsh")
+
+    " Z shell scripts
+  elseif s:name =~ '^zsh\>'
+    set ft=zsh
+
+    " TCL scripts
+  elseif s:name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
+    set ft=tcl
+
+    " Expect scripts
+  elseif s:name =~ '^expect\>'
+    set ft=expect
+
+    " Gnuplot scripts
+  elseif s:name =~ '^gnuplot\>'
+    set ft=gnuplot
+
+    " Makefiles
+  elseif s:name =~ 'make\>'
+    set ft=make
+
+    " Lua
+  elseif s:name =~ 'lua'
+    set ft=lua
+
+    " Perl
+  elseif s:name =~ 'perl'
+    set ft=perl
+
+    " PHP
+  elseif s:name =~ 'php'
+    set ft=php
+
+    " Python
+  elseif s:name =~ 'python'
+    set ft=python
+
+    " Groovy
+  elseif s:name =~ '^groovy\>'
+    set ft=groovy
+
+    " Ruby
+  elseif s:name =~ 'ruby'
+    set ft=ruby
+
+    " BC calculator
+  elseif s:name =~ '^bc\>'
+    set ft=bc
+
+    " sed
+  elseif s:name =~ 'sed\>'
+    set ft=sed
+
+    " OCaml-scripts
+  elseif s:name =~ 'ocaml'
+    set ft=ocaml
+
+    " Awk scripts
+  elseif s:name =~ 'awk\>'
+    set ft=awk
+
+    " Website MetaLanguage
+  elseif s:name =~ 'wml'
+    set ft=wml
+
+    " Scheme scripts
+  elseif s:name =~ 'scheme'
+    set ft=scheme
+
+    " CFEngine scripts
+  elseif s:name =~ 'cfengine'
+    set ft=cfengine
+
+  endif
+  unlet s:name
+
+else
+  " File does not start with "#!".
+
+  let s:line2 = getline(2)
+  let s:line3 = getline(3)
+  let s:line4 = getline(4)
+  let s:line5 = getline(5)
+
+  " Bourne-like shell scripts: sh ksh bash bash2
+  if s:line1 =~ '^:$'
+    call SetFileTypeSH(s:line1)	" defined in filetype.vim
+
+    " Z shell scripts
+  elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>'
+    set ft=zsh
+
+  " ELM Mail files
+  elseif s:line1 =~ '^From [a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\= .*[12][09]\d\d$'
+    set ft=mail
+
+    " Mason
+  elseif s:line1 =~ '^<[%&].*>'
+    set ft=mason
+
+    " Vim scripts (must have '" vim' as the first line to trigger this)
+  elseif s:line1 =~ '^" *[vV]im$'
+    set ft=vim
+
+    " MOO
+  elseif s:line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
+    set ft=moo
+
+    " Diff file:
+    " - "diff" in first line (context diff)
+    " - "Only in " in first line
+    " - "--- " in first line and "+++ " in second line (unified diff).
+    " - "*** " in first line and "--- " in second line (context diff).
+    " - "# It was generated by makepatch " in the second line (makepatch diff).
+    " - "Index: <filename>" in the first line (CVS file)
+    " - "=== ", line of "=", "---", "+++ " (SVK diff)
+    " - "=== ", "--- ", "+++ " (bzr diff, common case)
+    " - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
+  elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\)'
+	\ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ')
+	\ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ')
+	\ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ')
+	\ || (s:line1 =~ '^=== ' && ((s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++') || (s:line2 =~ '^--- ' && s:line3 =~ '^+++ ')))
+	\ || (s:line1 =~ '^=== \(removed\|added\|renamed\|modified\)')
+    set ft=diff
+
+    " PostScript Files (must have %!PS as the first line, like a2ps output)
+  elseif s:line1 =~ '^%![ \t]*PS'
+    set ft=postscr
+
+    " M4 scripts: Guess there is a line that starts with "dnl".
+  elseif s:line1 =~ '^\s*dnl\>'
+	\ || s:line2 =~ '^\s*dnl\>'
+	\ || s:line3 =~ '^\s*dnl\>'
+	\ || s:line4 =~ '^\s*dnl\>'
+	\ || s:line5 =~ '^\s*dnl\>'
+    set ft=m4
+
+    " AmigaDos scripts
+  elseif $TERM == "amiga"
+	\ && (s:line1 =~ "^;" || s:line1 =~ '^\.[bB][rR][aA]')
+    set ft=amiga
+
+    " SiCAD scripts (must have procn or procd as the first line to trigger this)
+  elseif s:line1 =~? '^ *proc[nd] *$'
+    set ft=sicad
+
+    " Purify log files start with "****  Purify"
+  elseif s:line1 =~ '^\*\*\*\*  Purify'
+    set ft=purifylog
+
+    " XML
+  elseif s:line1 =~ '<?\s*xml.*?>'
+    set ft=xml
+
+    " XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
+  elseif s:line1 =~ '\<DTD\s\+XHTML\s'
+    set ft=xhtml
+
+    " PDF
+  elseif s:line1 =~ '^%PDF-'
+    set ft=pdf
+
+    " XXD output
+  elseif s:line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
+    set ft=xxd
+
+    " RCS/CVS log output
+  elseif s:line1 =~ '^RCS file:' || s:line2 =~ '^RCS file:'
+    set ft=rcslog
+
+    " CVS commit
+  elseif s:line2 =~ '^CVS:' || getline("$") =~ '^CVS: '
+    set ft=cvs
+
+    " Prescribe
+  elseif s:line1 =~ '^!R!'
+    set ft=prescribe
+
+    " Send-pr
+  elseif s:line1 =~ '^SEND-PR:'
+    set ft=sendpr
+
+    " SNNS files
+  elseif s:line1 =~ '^SNNS network definition file'
+    set ft=snnsnet
+  elseif s:line1 =~ '^SNNS pattern definition file'
+    set ft=snnspat
+  elseif s:line1 =~ '^SNNS result file'
+    set ft=snnsres
+
+    " Virata
+  elseif s:line1 =~ '^%.\{-}[Vv]irata'
+	\ || s:line2 =~ '^%.\{-}[Vv]irata'
+	\ || s:line3 =~ '^%.\{-}[Vv]irata'
+	\ || s:line4 =~ '^%.\{-}[Vv]irata'
+	\ || s:line5 =~ '^%.\{-}[Vv]irata'
+    set ft=virata
+
+    " Strace
+  elseif s:line1 =~ '^[0-9]* *execve('
+    set ft=strace
+
+    " VSE JCL
+  elseif s:line1 =~ '^\* $$ JOB\>' || s:line1 =~ '^// *JOB\>'
+    set ft=vsejcl
+
+    " TAK and SINDA
+  elseif s:line4 =~ 'K & K  Associates' || s:line2 =~ 'TAK 2000'
+    set ft=takout
+  elseif s:line3 =~ 'S Y S T E M S   I M P R O V E D '
+    set ft=sindaout
+  elseif getline(6) =~ 'Run Date: '
+    set ft=takcmp
+  elseif getline(9) =~ 'Node    File  1'
+    set ft=sindacmp
+
+    " DNS zone files
+  elseif s:line1.s:line2.s:line3.s:line4 =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
+    set ft=bindzone
+
+    " BAAN
+  elseif s:line1 =~ '|\*\{1,80}' && s:line2 =~ 'VRC '
+	\ || s:line2 =~ '|\*\{1,80}' && s:line3 =~ 'VRC '
+    set ft=baan
+
+  " Valgrind
+  elseif s:line1 =~ '^==\d\+== valgrind' || s:line3 =~ '^==\d\+== Using valgrind'
+    set ft=valgrind
+
+  " Renderman Interface Bytestream
+  elseif s:line1 =~ '^##RenderMan'
+    set ft=rib
+
+  " Scheme scripts
+  elseif s:line1 =~ 'exec\s\+\S*scheme' || s:line2 =~ 'exec\s\+\S*scheme'
+    set ft=scheme
+
+  " Git output
+  elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}$\|^tag \S\+$'
+    set ft=git
+
+  " CVS diff
+  else
+    let lnum = 1
+    while getline(lnum) =~ "^? " && lnum < line("$")
+      let lnum = lnum + 1
+    endwhile
+    if getline(lnum) =~ '^Index:\s\+\f\+$'
+      set ft=diff
+
+      " locale input files: Formal Definitions of Cultural Conventions
+      " filename must be like en_US, fr_FR@euro or en_US.UTF-8
+    elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
+      let lnum = 1
+      while lnum < 100 && lnum < line("$")
+	if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
+	  setf fdcc
+	  break
+	endif
+	let lnum = lnum + 1
+      endwhile
+    endif
+
+  endif
+
+  unlet s:line2 s:line3 s:line4 s:line5
+
+endif
+
+" Restore 'cpoptions'
+let &cpo = s:cpo_save
+
+unlet s:cpo_save s:line1
diff --git a/runtime/tutor/runtime/synmenu.vim b/runtime/tutor/runtime/synmenu.vim
new file mode 100644
index 0000000..68a841e
--- /dev/null
+++ b/runtime/tutor/runtime/synmenu.vim
@@ -0,0 +1,569 @@
+" Vim support file to define the syntax selection menu
+" This file is normally sourced from menu.vim.
+"
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last Change:	2006 Apr 27
+
+" Define the SetSyn function, used for the Syntax menu entries.
+" Set 'filetype' and also 'syntax' if it is manually selected.
+fun! SetSyn(name)
+  if a:name == "fvwm1"
+    let use_fvwm_1 = 1
+    let use_fvwm_2 = 0
+    let name = "fvwm"
+  elseif a:name == "fvwm2"
+    let use_fvwm_2 = 1
+    let use_fvwm_1 = 0
+    let name = "fvwm"
+  else
+    let name = a:name
+  endif
+  if !exists("s:syntax_menu_synonly")
+    exe "set ft=" . name
+    if exists("g:syntax_manual")
+      exe "set syn=" . name
+    endif
+  else
+    exe "set syn=" . name
+  endif
+endfun
+
+" <> notation is used here, remove '<' from 'cpoptions'
+let s:cpo_save = &cpo
+set cpo&vim
+
+" The following menu items are generated by makemenu.vim.
+" The Start Of The Syntax Menu
+
+an 50.10.100 &Syntax.AB.A2ps\ config :cal SetSyn("a2ps")<CR>
+an 50.10.110 &Syntax.AB.Aap :cal SetSyn("aap")<CR>
+an 50.10.120 &Syntax.AB.ABAP/4 :cal SetSyn("abap")<CR>
+an 50.10.130 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR>
+an 50.10.140 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR>
+an 50.10.150 &Syntax.AB.ABEL :cal SetSyn("abel")<CR>
+an 50.10.160 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR>
+an 50.10.170 &Syntax.AB.Ada :cal SetSyn("ada")<CR>
+an 50.10.180 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR>
+an 50.10.190 &Syntax.AB.ALSA\ config :cal SetSyn("alsaconf")<CR>
+an 50.10.200 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR>
+an 50.10.210 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR>
+an 50.10.220 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR>
+an 50.10.230 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR>
+an 50.10.240 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR>
+an 50.10.250 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR>
+an 50.10.260 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR>
+an 50.10.270 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR>
+an 50.10.280 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR>
+an 50.10.290 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR>
+an 50.10.300 &Syntax.AB.ART :cal SetSyn("art")<CR>
+an 50.10.310 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR>
+an 50.10.320 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR>
+an 50.10.330 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR>
+an 50.10.340 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR>
+an 50.10.350 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR>
+an 50.10.360 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR>
+an 50.10.370 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR>
+an 50.10.380 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR>
+an 50.10.390 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR>
+an 50.10.400 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR>
+an 50.10.410 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR>
+an 50.10.420 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR>
+an 50.10.430 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR>
+an 50.10.440 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR>
+an 50.10.450 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR>
+an 50.10.460 &Syntax.AB.Asterisk\ config :cal SetSyn("asterisk")<CR>
+an 50.10.470 &Syntax.AB.Asterisk\ voicemail\ config :cal SetSyn("asteriskvm")<CR>
+an 50.10.480 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR>
+an 50.10.490 &Syntax.AB.AutoHotKey :cal SetSyn("autohotkey")<CR>
+an 50.10.500 &Syntax.AB.AutoIt :cal SetSyn("autoit")<CR>
+an 50.10.510 &Syntax.AB.Automake :cal SetSyn("automake")<CR>
+an 50.10.520 &Syntax.AB.Avenue :cal SetSyn("ave")<CR>
+an 50.10.530 &Syntax.AB.Awk :cal SetSyn("awk")<CR>
+an 50.10.540 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR>
+an 50.10.560 &Syntax.AB.B :cal SetSyn("b")<CR>
+an 50.10.570 &Syntax.AB.Baan :cal SetSyn("baan")<CR>
+an 50.10.580 &Syntax.AB.Basic.FreeBasic :cal SetSyn("freebasic")<CR>
+an 50.10.590 &Syntax.AB.Basic.IBasic :cal SetSyn("ibasic")<CR>
+an 50.10.600 &Syntax.AB.Basic.QBasic :cal SetSyn("basic")<CR>
+an 50.10.610 &Syntax.AB.Basic.Visual\ Basic :cal SetSyn("vb")<CR>
+an 50.10.620 &Syntax.AB.Bazaar\ commit\ file :cal SetSyn("bzr")<CR>
+an 50.10.630 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR>
+an 50.10.640 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR>
+an 50.10.650 &Syntax.AB.BibTeX.Bibliography\ database :cal SetSyn("bib")<CR>
+an 50.10.660 &Syntax.AB.BibTeX.Bibliography\ Style :cal SetSyn("bst")<CR>
+an 50.10.670 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR>
+an 50.10.680 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR>
+an 50.10.690 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
+an 50.20.100 &Syntax.C.C :cal SetSyn("c")<CR>
+an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR>
+an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR>
+an 50.20.130 &Syntax.C.Calendar :cal SetSyn("calendar")<CR>
+an 50.20.140 &Syntax.C.Cascading\ Style\ Sheets :cal SetSyn("css")<CR>
+an 50.20.150 &Syntax.C.CDL :cal SetSyn("cdl")<CR>
+an 50.20.160 &Syntax.C.Cdrdao\ TOC :cal SetSyn("cdrtoc")<CR>
+an 50.20.170 &Syntax.C.Cdrdao\ config :cal SetSyn("cdrdaoconf")<CR>
+an 50.20.180 &Syntax.C.Century\ Term :cal SetSyn("cterm")<CR>
+an 50.20.190 &Syntax.C.CH\ script :cal SetSyn("ch")<CR>
+an 50.20.200 &Syntax.C.ChangeLog :cal SetSyn("changelog")<CR>
+an 50.20.210 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah")<CR>
+an 50.20.220 &Syntax.C.CHILL :cal SetSyn("chill")<CR>
+an 50.20.230 &Syntax.C.ChordPro :cal SetSyn("chordpro")<CR>
+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.Cmake :cal SetSyn("cmake")<CR>
+an 50.20.280 &Syntax.C.Cmusrc :cal SetSyn("cmusrc")<CR>
+an 50.20.290 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
+an 50.20.300 &Syntax.C.Coco/R :cal SetSyn("coco")<CR>
+an 50.20.310 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
+an 50.20.320 &Syntax.C.Conary\ Recipe :cal SetSyn("conaryrecipe")<CR>
+an 50.20.330 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
+an 50.20.340 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
+an 50.20.350 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
+an 50.20.360 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
+an 50.20.370 &Syntax.C.Crontab :cal SetSyn("crontab")<CR>
+an 50.20.380 &Syntax.C.CSP :cal SetSyn("csp")<CR>
+an 50.20.390 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
+an 50.20.400 &Syntax.C.CUDA :cal SetSyn("cuda")<CR>
+an 50.20.410 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
+an 50.20.420 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
+an 50.20.430 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
+an 50.20.440 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
+an 50.20.450 &Syntax.C.Cyn++ :cal SetSyn("cynpp")<CR>
+an 50.20.460 &Syntax.C.Cynlib :cal SetSyn("cynlib")<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>
+an 50.30.130 &Syntax.DE.Debian.Debian\ Sources\.list :cal SetSyn("debsources")<CR>
+an 50.30.140 &Syntax.DE.Denyhosts :cal SetSyn("denyhosts")<CR>
+an 50.30.150 &Syntax.DE.Desktop :cal SetSyn("desktop")<CR>
+an 50.30.160 &Syntax.DE.Dict\ config :cal SetSyn("dictconf")<CR>
+an 50.30.170 &Syntax.DE.Dictd\ config :cal SetSyn("dictdconf")<CR>
+an 50.30.180 &Syntax.DE.Diff :cal SetSyn("diff")<CR>
+an 50.30.190 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl")<CR>
+an 50.30.200 &Syntax.DE.Dircolors :cal SetSyn("dircolors")<CR>
+an 50.30.210 &Syntax.DE.Django\ template :cal SetSyn("django")<CR>
+an 50.30.220 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("bindzone")<CR>
+an 50.30.230 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk")<CR>
+an 50.30.240 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml")<CR>
+an 50.30.250 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml")<CR>
+an 50.30.260 &Syntax.DE.Dot :cal SetSyn("dot")<CR>
+an 50.30.270 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen")<CR>
+an 50.30.280 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen")<CR>
+an 50.30.290 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen")<CR>
+an 50.30.300 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen")<CR>
+an 50.30.310 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
+an 50.30.320 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
+an 50.30.330 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
+an 50.30.340 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR>
+an 50.30.350 &Syntax.DE.DTrace :cal SetSyn("dtrace")<CR>
+an 50.30.360 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR>
+an 50.30.370 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR>
+an 50.30.380 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
+an 50.30.400 &Syntax.DE.EDIF :cal SetSyn("edif")<CR>
+an 50.30.410 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR>
+an 50.30.420 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR>
+an 50.30.430 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR>
+an 50.30.440 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
+an 50.30.450 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
+an 50.30.460 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc")<CR>
+an 50.30.470 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR>
+an 50.30.480 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR>
+an 50.30.490 &Syntax.DE.Esterel :cal SetSyn("esterel")<CR>
+an 50.30.500 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR>
+an 50.30.510 &Syntax.DE.Eviews :cal SetSyn("eviews")<CR>
+an 50.30.520 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR>
+an 50.30.530 &Syntax.DE.Expect :cal SetSyn("expect")<CR>
+an 50.30.540 &Syntax.DE.Exports :cal SetSyn("exports")<CR>
+an 50.40.100 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail")<CR>
+an 50.40.110 &Syntax.FG.FlexWiki :cal SetSyn("flexwiki")<CR>
+an 50.40.120 &Syntax.FG.Focus\ Executable :cal SetSyn("focexec")<CR>
+an 50.40.130 &Syntax.FG.Focus\ Master :cal SetSyn("master")<CR>
+an 50.40.140 &Syntax.FG.FORM :cal SetSyn("form")<CR>
+an 50.40.150 &Syntax.FG.Forth :cal SetSyn("forth")<CR>
+an 50.40.160 &Syntax.FG.Fortran :cal SetSyn("fortran")<CR>
+an 50.40.170 &Syntax.FG.FoxPro :cal SetSyn("foxpro")<CR>
+an 50.40.180 &Syntax.FG.FrameScript :cal SetSyn("framescript")<CR>
+an 50.40.190 &Syntax.FG.Fstab :cal SetSyn("fstab")<CR>
+an 50.40.200 &Syntax.FG.Fvwm.Fvwm\ configuration :cal SetSyn("fvwm1")<CR>
+an 50.40.210 &Syntax.FG.Fvwm.Fvwm2\ configuration :cal SetSyn("fvwm2")<CR>
+an 50.40.220 &Syntax.FG.Fvwm.Fvwm2\ configuration\ with\ M4 :cal SetSyn("fvwm2m4")<CR>
+an 50.40.240 &Syntax.FG.GDB\ command\ file :cal SetSyn("gdb")<CR>
+an 50.40.250 &Syntax.FG.GDMO :cal SetSyn("gdmo")<CR>
+an 50.40.260 &Syntax.FG.Gedcom :cal SetSyn("gedcom")<CR>
+an 50.40.270 &Syntax.FG.Git.Output :cal SetSyn("git")<CR>
+an 50.40.280 &Syntax.FG.Git.Commit :cal SetSyn("gitcommit")<CR>
+an 50.40.290 &Syntax.FG.Git.Config :cal SetSyn("gitconfig")<CR>
+an 50.40.300 &Syntax.FG.Git.Rebase :cal SetSyn("gitrebase")<CR>
+an 50.40.310 &Syntax.FG.Git.Send\ Email :cal SetSyn("gitsendemail")<CR>
+an 50.40.320 &Syntax.FG.Gkrellmrc :cal SetSyn("gkrellmrc")<CR>
+an 50.40.330 &Syntax.FG.GP :cal SetSyn("gp")<CR>
+an 50.40.340 &Syntax.FG.GPG :cal SetSyn("gpg")<CR>
+an 50.40.350 &Syntax.FG.Group\ file :cal SetSyn("group")<CR>
+an 50.40.360 &Syntax.FG.Grub :cal SetSyn("grub")<CR>
+an 50.40.370 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp")<CR>
+an 50.40.380 &Syntax.FG.GNUplot :cal SetSyn("gnuplot")<CR>
+an 50.40.390 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads")<CR>
+an 50.40.400 &Syntax.FG.Gretl :cal SetSyn("gretl")<CR>
+an 50.40.410 &Syntax.FG.Groff :cal SetSyn("groff")<CR>
+an 50.40.420 &Syntax.FG.Groovy :cal SetSyn("groovy")<CR>
+an 50.40.430 &Syntax.FG.GTKrc :cal SetSyn("gtkrc")<CR>
+an 50.50.100 &Syntax.HIJK.Hamster :cal SetSyn("hamster")<CR>
+an 50.50.110 &Syntax.HIJK.Haskell.Haskell :cal SetSyn("haskell")<CR>
+an 50.50.120 &Syntax.HIJK.Haskell.Haskell-c2hs :cal SetSyn("chaskell")<CR>
+an 50.50.130 &Syntax.HIJK.Haskell.Haskell-literate :cal SetSyn("lhaskell")<CR>
+an 50.50.140 &Syntax.HIJK.HASTE :cal SetSyn("haste")<CR>
+an 50.50.150 &Syntax.HIJK.Hercules :cal SetSyn("hercules")<CR>
+an 50.50.160 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd")<CR>
+an 50.50.170 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex")<CR>
+an 50.50.180 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
+an 50.50.190 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
+an 50.50.200 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
+an 50.50.210 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
+an 50.50.220 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
+an 50.50.230 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
+an 50.50.240 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
+an 50.50.250 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
+an 50.50.260 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
+an 50.50.280 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
+an 50.50.290 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
+an 50.50.300 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
+an 50.50.310 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
+an 50.50.320 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
+an 50.50.330 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
+an 50.50.340 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
+an 50.50.350 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR>
+an 50.50.360 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
+an 50.50.370 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
+an 50.50.380 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
+an 50.50.390 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
+an 50.50.400 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
+an 50.50.420 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
+an 50.50.430 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
+an 50.50.440 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
+an 50.50.450 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
+an 50.50.460 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
+an 50.50.470 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
+an 50.50.480 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
+an 50.50.490 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
+an 50.50.500 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
+an 50.50.510 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
+an 50.50.530 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR>
+an 50.50.540 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
+an 50.50.550 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
+an 50.50.560 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
+an 50.60.100 &Syntax.L-Ma.Lace :cal SetSyn("lace")<CR>
+an 50.60.110 &Syntax.L-Ma.LamdaProlog :cal SetSyn("lprolog")<CR>
+an 50.60.120 &Syntax.L-Ma.Latte :cal SetSyn("latte")<CR>
+an 50.60.130 &Syntax.L-Ma.Ld\ script :cal SetSyn("ld")<CR>
+an 50.60.140 &Syntax.L-Ma.LDAP.LDIF :cal SetSyn("ldif")<CR>
+an 50.60.150 &Syntax.L-Ma.LDAP.Configuration :cal SetSyn("ldapconf")<CR>
+an 50.60.160 &Syntax.L-Ma.Lex :cal SetSyn("lex")<CR>
+an 50.60.170 &Syntax.L-Ma.LFTP\ config :cal SetSyn("lftp")<CR>
+an 50.60.180 &Syntax.L-Ma.Libao :cal SetSyn("libao")<CR>
+an 50.60.190 &Syntax.L-Ma.LifeLines\ script :cal SetSyn("lifelines")<CR>
+an 50.60.200 &Syntax.L-Ma.Lilo :cal SetSyn("lilo")<CR>
+an 50.60.210 &Syntax.L-Ma.Limits\ config :cal SetSyn("limits")<CR>
+an 50.60.220 &Syntax.L-Ma.Linden\ scripting :cal SetSyn("lsl")<CR>
+an 50.60.230 &Syntax.L-Ma.Lisp :cal SetSyn("lisp")<CR>
+an 50.60.240 &Syntax.L-Ma.Lite :cal SetSyn("lite")<CR>
+an 50.60.250 &Syntax.L-Ma.LiteStep\ RC :cal SetSyn("litestep")<CR>
+an 50.60.260 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc")<CR>
+an 50.60.270 &Syntax.L-Ma.Login\.access :cal SetSyn("loginaccess")<CR>
+an 50.60.280 &Syntax.L-Ma.Login\.defs :cal SetSyn("logindefs")<CR>
+an 50.60.290 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk")<CR>
+an 50.60.300 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos")<CR>
+an 50.60.310 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript")<CR>
+an 50.60.320 &Syntax.L-Ma.Lout :cal SetSyn("lout")<CR>
+an 50.60.330 &Syntax.L-Ma.LPC :cal SetSyn("lpc")<CR>
+an 50.60.340 &Syntax.L-Ma.Lua :cal SetSyn("lua")<CR>
+an 50.60.350 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss")<CR>
+an 50.60.360 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR>
+an 50.60.380 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR>
+an 50.60.390 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR>
+an 50.60.400 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR>
+an 50.60.410 &Syntax.L-Ma.Mail\ aliases :cal SetSyn("mailaliases")<CR>
+an 50.60.420 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR>
+an 50.60.430 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
+an 50.60.440 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
+an 50.60.450 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
+an 50.60.460 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf")<CR>
+an 50.60.470 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR>
+an 50.60.480 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
+an 50.60.490 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
+an 50.60.500 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
+an 50.60.510 &Syntax.L-Ma.Maxima :cal SetSyn("maxima")<CR>
+an 50.70.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel")<CR>
+an 50.70.110 &Syntax.Me-NO.Messages\ (/var/log) :cal SetSyn("messages")<CR>
+an 50.70.120 &Syntax.Me-NO.Metafont :cal SetSyn("mf")<CR>
+an 50.70.130 &Syntax.Me-NO.MetaPost :cal SetSyn("mp")<CR>
+an 50.70.140 &Syntax.Me-NO.MGL :cal SetSyn("mgl")<CR>
+an 50.70.150 &Syntax.Me-NO.MMIX :cal SetSyn("mmix")<CR>
+an 50.70.160 &Syntax.Me-NO.Modconf :cal SetSyn("modconf")<CR>
+an 50.70.170 &Syntax.Me-NO.Model :cal SetSyn("model")<CR>
+an 50.70.180 &Syntax.Me-NO.Modsim\ III :cal SetSyn("modsim3")<CR>
+an 50.70.190 &Syntax.Me-NO.Modula\ 2 :cal SetSyn("modula2")<CR>
+an 50.70.200 &Syntax.Me-NO.Modula\ 3 :cal SetSyn("modula3")<CR>
+an 50.70.210 &Syntax.Me-NO.Monk :cal SetSyn("monk")<CR>
+an 50.70.220 &Syntax.Me-NO.Mplayer\ config :cal SetSyn("mplayerconf")<CR>
+an 50.70.230 &Syntax.Me-NO.MOO :cal SetSyn("moo")<CR>
+an 50.70.240 &Syntax.Me-NO.Mrxvtrc :cal SetSyn("mrxvtrc")<CR>
+an 50.70.250 &Syntax.Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file :cal SetSyn("btm")<CR>
+an 50.70.260 &Syntax.Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file :cal SetSyn("dosbatch")<CR>
+an 50.70.270 &Syntax.Me-NO.MS-DOS/Windows.\.ini\ file :cal SetSyn("dosini")<CR>
+an 50.70.280 &Syntax.Me-NO.MS-DOS/Windows.Message\ text :cal SetSyn("msmessages")<CR>
+an 50.70.290 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def")<CR>
+an 50.70.300 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry")<CR>
+an 50.70.310 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc")<CR>
+an 50.70.320 &Syntax.Me-NO.Msql :cal SetSyn("msql")<CR>
+an 50.70.330 &Syntax.Me-NO.MuPAD :cal SetSyn("mupad")<CR>
+an 50.70.340 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush")<CR>
+an 50.70.350 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc")<CR>
+an 50.70.370 &Syntax.Me-NO.Nanorc :cal SetSyn("nanorc")<CR>
+an 50.70.380 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
+an 50.70.390 &Syntax.Me-NO.Natural :cal SetSyn("natural")<CR>
+an 50.70.400 &Syntax.Me-NO.Netrc :cal SetSyn("netrc")<CR>
+an 50.70.410 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
+an 50.70.420 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
+an 50.70.430 &Syntax.Me-NO.Nroff :cal SetSyn("nroff")<CR>
+an 50.70.440 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis")<CR>
+an 50.70.460 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc")<CR>
+an 50.70.470 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
+an 50.70.480 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml")<CR>
+an 50.70.490 &Syntax.Me-NO.Occam :cal SetSyn("occam")<CR>
+an 50.70.500 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark")<CR>
+an 50.70.510 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad")<CR>
+an 50.70.520 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl")<CR>
+an 50.70.530 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora")<CR>
+an 50.80.100 &Syntax.PQ.Packet\ filter\ conf :cal SetSyn("pf")<CR>
+an 50.80.110 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc")<CR>
+an 50.80.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR>
+an 50.80.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
+an 50.80.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
+an 50.80.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR>
+an 50.80.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
+an 50.80.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR>
+an 50.80.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
+an 50.80.190 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod")<CR>
+an 50.80.200 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs")<CR>
+an 50.80.210 &Syntax.PQ.PHP.PHP\ 3-4 :cal SetSyn("php")<CR>
+an 50.80.220 &Syntax.PQ.PHP.Phtml\ (PHP\ 2) :cal SetSyn("phtml")<CR>
+an 50.80.230 &Syntax.PQ.Pike :cal SetSyn("pike")<CR>
+an 50.80.240 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR>
+an 50.80.250 &Syntax.PQ.Pinfo\ RC :cal SetSyn("pinfo")<CR>
+an 50.80.260 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR>
+an 50.80.270 &Syntax.PQ.PL/SQL :cal SetSyn("plsql")<CR>
+an 50.80.280 &Syntax.PQ.PLP :cal SetSyn("plp")<CR>
+an 50.80.290 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR>
+an 50.80.300 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR>
+an 50.80.310 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR>
+an 50.80.320 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR>
+an 50.80.330 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR>
+an 50.80.340 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR>
+an 50.80.350 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz")<CR>
+an 50.80.360 &Syntax.PQ.Prescribe\ (Kyocera) :cal SetSyn("prescribe")<CR>
+an 50.80.370 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR>
+an 50.80.380 &Syntax.PQ.Privoxy :cal SetSyn("privoxy")<CR>
+an 50.80.390 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR>
+an 50.80.400 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR>
+an 50.80.410 &Syntax.PQ.Progress :cal SetSyn("progress")<CR>
+an 50.80.420 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR>
+an 50.80.430 &Syntax.PQ.ProMeLa :cal SetSyn("promela")<CR>
+an 50.80.440 &Syntax.PQ.Protocols :cal SetSyn("protocols")<CR>
+an 50.80.450 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR>
+an 50.80.460 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR>
+an 50.80.470 &Syntax.PQ.Python :cal SetSyn("python")<CR>
+an 50.80.490 &Syntax.PQ.Quake :cal SetSyn("quake")<CR>
+an 50.80.500 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<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.Reva\ Forth :cal SetSyn("reva")<CR>
+an 50.90.260 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
+an 50.90.270 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
+an 50.90.280 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
+an 50.90.290 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
+an 50.90.300 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR>
+an 50.90.310 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR>
+an 50.90.320 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
+an 50.90.330 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
+an 50.90.350 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR>
+an 50.90.360 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
+an 50.90.370 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
+an 50.90.380 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
+an 50.90.390 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
+an 50.90.400 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR>
+an 50.90.410 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
+an 50.90.420 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
+an 50.90.430 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
+an 50.90.440 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
+an 50.90.450 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR>
+an 50.90.460 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors")<CR>
+an 50.90.470 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf")<CR>
+an 50.90.480 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg")<CR>
+an 50.90.490 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi")<CR>
+an 50.90.500 &Syntax.R-Sg.Services :cal SetSyn("services")<CR>
+an 50.90.510 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial")<CR>
+an 50.90.520 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
+an 50.90.530 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
+an 50.90.540 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR>
+an 50.90.550 &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>
+an 50.100.130 &Syntax.Sh-S.Shell\ script.zsh :cal SetSyn("zsh")<CR>
+an 50.100.140 &Syntax.Sh-S.SiCAD :cal SetSyn("sicad")<CR>
+an 50.100.150 &Syntax.Sh-S.Sieve :cal SetSyn("sieve")<CR>
+an 50.100.160 &Syntax.Sh-S.Simula :cal SetSyn("simula")<CR>
+an 50.100.170 &Syntax.Sh-S.Sinda.Sinda\ compare :cal SetSyn("sindacmp")<CR>
+an 50.100.180 &Syntax.Sh-S.Sinda.Sinda\ input :cal SetSyn("sinda")<CR>
+an 50.100.190 &Syntax.Sh-S.Sinda.Sinda\ output :cal SetSyn("sindaout")<CR>
+an 50.100.200 &Syntax.Sh-S.SiSU :cal SetSyn("sisu")<CR>
+an 50.100.210 &Syntax.Sh-S.SKILL.SKILL :cal SetSyn("skill")<CR>
+an 50.100.220 &Syntax.Sh-S.SKILL.SKILL\ for\ Diva :cal SetSyn("diva")<CR>
+an 50.100.230 &Syntax.Sh-S.Slice :cal SetSyn("slice")<CR>
+an 50.100.240 &Syntax.Sh-S.SLRN.Slrn\ rc :cal SetSyn("slrnrc")<CR>
+an 50.100.250 &Syntax.Sh-S.SLRN.Slrn\ score :cal SetSyn("slrnsc")<CR>
+an 50.100.260 &Syntax.Sh-S.SmallTalk :cal SetSyn("st")<CR>
+an 50.100.270 &Syntax.Sh-S.Smarty\ Templates :cal SetSyn("smarty")<CR>
+an 50.100.280 &Syntax.Sh-S.SMIL :cal SetSyn("smil")<CR>
+an 50.100.290 &Syntax.Sh-S.SMITH :cal SetSyn("smith")<CR>
+an 50.100.300 &Syntax.Sh-S.SNMP\ MIB :cal SetSyn("mib")<CR>
+an 50.100.310 &Syntax.Sh-S.SNNS.SNNS\ network :cal SetSyn("snnsnet")<CR>
+an 50.100.320 &Syntax.Sh-S.SNNS.SNNS\ pattern :cal SetSyn("snnspat")<CR>
+an 50.100.330 &Syntax.Sh-S.SNNS.SNNS\ result :cal SetSyn("snnsres")<CR>
+an 50.100.340 &Syntax.Sh-S.Snobol4 :cal SetSyn("snobol4")<CR>
+an 50.100.350 &Syntax.Sh-S.Snort\ Configuration :cal SetSyn("hog")<CR>
+an 50.100.360 &Syntax.Sh-S.SPEC\ (Linux\ RPM) :cal SetSyn("spec")<CR>
+an 50.100.370 &Syntax.Sh-S.Specman :cal SetSyn("specman")<CR>
+an 50.100.380 &Syntax.Sh-S.Spice :cal SetSyn("spice")<CR>
+an 50.100.390 &Syntax.Sh-S.Spyce :cal SetSyn("spyce")<CR>
+an 50.100.400 &Syntax.Sh-S.Speedup :cal SetSyn("spup")<CR>
+an 50.100.410 &Syntax.Sh-S.Splint :cal SetSyn("splint")<CR>
+an 50.100.420 &Syntax.Sh-S.Squid\ config :cal SetSyn("squid")<CR>
+an 50.100.430 &Syntax.Sh-S.SQL.ESQL-C :cal SetSyn("esqlc")<CR>
+an 50.100.440 &Syntax.Sh-S.SQL.MySQL :cal SetSyn("mysql")<CR>
+an 50.100.450 &Syntax.Sh-S.SQL.PL/SQL :cal SetSyn("plsql")<CR>
+an 50.100.460 &Syntax.Sh-S.SQL.SQL\ Anywhere :cal SetSyn("sqlanywhere")<CR>
+an 50.100.470 &Syntax.Sh-S.SQL.SQL\ (automatic) :cal SetSyn("sql")<CR>
+an 50.100.480 &Syntax.Sh-S.SQL.SQL\ (Oracle) :cal SetSyn("sqloracle")<CR>
+an 50.100.490 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR>
+an 50.100.500 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR>
+an 50.100.510 &Syntax.Sh-S.SQL.SQL-Informix :cal SetSyn("sqlinformix")<CR>
+an 50.100.520 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR>
+an 50.100.530 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR>
+an 50.100.540 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR>
+an 50.100.550 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR>
+an 50.100.560 &Syntax.Sh-S.Stata.SMCL :cal SetSyn("smcl")<CR>
+an 50.100.570 &Syntax.Sh-S.Stata.Stata :cal SetSyn("stata")<CR>
+an 50.100.580 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
+an 50.100.590 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
+an 50.100.600 &Syntax.Sh-S.Streaming\ descriptor\ file :cal SetSyn("sd")<CR>
+an 50.100.610 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR>
+an 50.100.620 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers")<CR>
+an 50.100.630 &Syntax.Sh-S.Symbian\ meta-makefile :cal SetSyn("mmp")<CR>
+an 50.100.640 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl")<CR>
+an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads")<CR>
+an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR>
+an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp")<CR>
+an 50.110.130 &Syntax.TUV.TAK.TAK\ input :cal SetSyn("tak")<CR>
+an 50.110.140 &Syntax.TUV.TAK.TAK\ output :cal SetSyn("takout")<CR>
+an 50.110.150 &Syntax.TUV.Tcl/Tk :cal SetSyn("tcl")<CR>
+an 50.110.160 &Syntax.TUV.TealInfo :cal SetSyn("tli")<CR>
+an 50.110.170 &Syntax.TUV.Telix\ Salt :cal SetSyn("tsalt")<CR>
+an 50.110.180 &Syntax.TUV.Termcap/Printcap :cal SetSyn("ptcap")<CR>
+an 50.110.190 &Syntax.TUV.Terminfo :cal SetSyn("terminfo")<CR>
+an 50.110.200 &Syntax.TUV.TeX.TeX/LaTeX :cal SetSyn("tex")<CR>
+an 50.110.210 &Syntax.TUV.TeX.plain\ TeX :cal SetSyn("plaintex")<CR>
+an 50.110.220 &Syntax.TUV.TeX.ConTeXt :cal SetSyn("context")<CR>
+an 50.110.230 &Syntax.TUV.TeX.TeX\ configuration :cal SetSyn("texmf")<CR>
+an 50.110.240 &Syntax.TUV.TeX.Texinfo :cal SetSyn("texinfo")<CR>
+an 50.110.250 &Syntax.TUV.TF\ mud\ client :cal SetSyn("tf")<CR>
+an 50.110.260 &Syntax.TUV.Tidy\ configuration :cal SetSyn("tidy")<CR>
+an 50.110.270 &Syntax.TUV.Tilde :cal SetSyn("tilde")<CR>
+an 50.110.280 &Syntax.TUV.TPP :cal SetSyn("tpp")<CR>
+an 50.110.290 &Syntax.TUV.Trasys\ input :cal SetSyn("trasys")<CR>
+an 50.110.300 &Syntax.TUV.Trustees :cal SetSyn("trustees")<CR>
+an 50.110.310 &Syntax.TUV.TSS.Command\ Line :cal SetSyn("tsscl")<CR>
+an 50.110.320 &Syntax.TUV.TSS.Geometry :cal SetSyn("tssgm")<CR>
+an 50.110.330 &Syntax.TUV.TSS.Optics :cal SetSyn("tssop")<CR>
+an 50.110.350 &Syntax.TUV.Udev\ config :cal SetSyn("udevconf")<CR>
+an 50.110.360 &Syntax.TUV.Udev\ permissions :cal SetSyn("udevperm")<CR>
+an 50.110.370 &Syntax.TUV.Udev\ rules :cal SetSyn("udevrules")<CR>
+an 50.110.380 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR>
+an 50.110.390 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
+an 50.110.400 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb")<CR>
+an 50.110.420 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR>
+an 50.110.430 &Syntax.TUV.Vera :cal SetSyn("vera")<CR>
+an 50.110.440 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
+an 50.110.450 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
+an 50.110.460 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
+an 50.110.470 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
+an 50.110.480 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
+an 50.110.490 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
+an 50.110.500 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
+an 50.110.510 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
+an 50.110.520 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
+an 50.110.530 &Syntax.TUV.VOS\ CM\ macro :cal SetSyn("voscm")<CR>
+an 50.110.540 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
+an 50.110.550 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
+an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb")<CR>
+an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web")<CR>
+an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change")<CR>
+an 50.120.130 &Syntax.WXYZ.Webmacro :cal SetSyn("webmacro")<CR>
+an 50.120.140 &Syntax.WXYZ.Website\ MetaLanguage :cal SetSyn("wml")<CR>
+an 50.120.160 &Syntax.WXYZ.wDiff :cal SetSyn("wdiff")<CR>
+an 50.120.180 &Syntax.WXYZ.Wget\ config :cal SetSyn("wget")<CR>
+an 50.120.190 &Syntax.WXYZ.Whitespace\ (add) :cal SetSyn("whitespace")<CR>
+an 50.120.200 &Syntax.WXYZ.WildPackets\ EtherPeek\ Decoder :cal SetSyn("dcd")<CR>
+an 50.120.210 &Syntax.WXYZ.WinBatch/Webbatch :cal SetSyn("winbatch")<CR>
+an 50.120.220 &Syntax.WXYZ.Windows\ Scripting\ Host :cal SetSyn("wsh")<CR>
+an 50.120.230 &Syntax.WXYZ.WSML :cal SetSyn("wsml")<CR>
+an 50.120.240 &Syntax.WXYZ.WvDial :cal SetSyn("wvdial")<CR>
+an 50.120.260 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb")<CR>
+an 50.120.270 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm")<CR>
+an 50.120.280 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2")<CR>
+an 50.120.290 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults")<CR>
+an 50.120.300 &Syntax.WXYZ.XBL :cal SetSyn("xbl")<CR>
+an 50.120.310 &Syntax.WXYZ.Xinetd\.conf :cal SetSyn("xinetd")<CR>
+an 50.120.320 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap")<CR>
+an 50.120.330 &Syntax.WXYZ.Xmath :cal SetSyn("xmath")<CR>
+an 50.120.340 &Syntax.WXYZ.XML :cal SetSyn("xml")<CR>
+an 50.120.350 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd")<CR>
+an 50.120.360 &Syntax.WXYZ.XQuery :cal SetSyn("xquery")<CR>
+an 50.120.370 &Syntax.WXYZ.Xslt :cal SetSyn("xslt")<CR>
+an 50.120.380 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf")<CR>
+an 50.120.400 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR>
+an 50.120.410 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
+
+" The End Of The Syntax Menu
+
+
+an 50.195 &Syntax.-SEP1-			<Nop>
+
+an <silent> 50.200 &Syntax.Set\ '&syntax'\ only :call <SID>Setsynonly()<CR>
+fun! s:Setsynonly()
+  let s:syntax_menu_synonly = 1
+endfun
+an <silent> 50.202 &Syntax.Set\ '&filetype'\ too :call <SID>Nosynonly()<CR>
+fun! s:Nosynonly()
+  if exists("s:syntax_menu_synonly")
+    unlet s:syntax_menu_synonly
+  endif
+endfun
+
+" Restore 'cpoptions'
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/tutor/runtime/vim48x48.png b/runtime/tutor/runtime/vim48x48.png
new file mode 100644
index 0000000..4bac67e
--- /dev/null
+++ b/runtime/tutor/runtime/vim48x48.png
Binary files differ
diff --git a/runtime/tutor/tutor.de.utf-8 b/runtime/tutor/tutor.de.utf-8
new file mode 100644
index 0000000..7b39abe
--- /dev/null
+++ b/runtime/tutor/tutor.de.utf-8
@@ -0,0 +1,980 @@
+===============================================================================
+=      W i l l k o m m e n   im   V I M   T u t o r    -    Version 1.7D      =
+===============================================================================
+
+   Vim ist ein sehr mächtiger Editor, der viele Befehle bereitstellt; zu viele,
+   um alle in einem Tutor wie diesem zu erklären.  Dieser Tutor ist so
+   gestaltet, um genug Befehle vorzustellen, dass Du die Fähigkeit erlangst,
+   Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen.
+   Die Zeit für das Durcharbeiten dieses Tutors beträgt ca. 25-30 Minuten,
+   abhängig davon, wie viel Zeit Du mit Experimentieren verbringst.
+
+   ACHTUNG:
+   Die in den Lektionen angewendeten Kommandos werden den Text modifizieren.
+   Erstelle eine Kopie dieser Datei, in der Du üben willst (falls Du "vimtutor"
+   aufgerufen hast, ist dies bereits eine Kopie).
+
+   Es ist wichtig, sich zu vergegenwärtigen, dass dieser Tutor für das Anwenden
+   konzipiert ist. Das bedeutet, dass Du die Befehle ausführen musst, um sie
+   richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle!
+
+   Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrückt ist und betätige
+   die   j   Taste genügend Male, um den Cursor nach unten zu bewegen, so dass
+   Lektion 1.1 den Bildschirm vollkommen ausfüllt.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lektion 1.1: BEWEGEN DES CURSORS
+
+  ** Um den Cursor zu bewegen, drücke die h,j,k,l Tasten wie unten gezeigt. **
+	     ^		 Hilfestellung:
+	     k		 Die h Taste befindet sich links und bewegt nach links.
+       < h	 l >	 Die l Taste liegt rechts und bewegt nach rechts.
+	     j		 Die j Taste ähnelt einem Pfeil nach unten.
+	     v
+  1. Bewege den Cursor auf dem Bildschirm umher, bis Du Dich sicher fühlst.
+
+  2. Halte die Nach-Unten-Taste (j) gedrückt, bis sie sich wiederholt.
+     Jetzt weißt Du, wie Du Dich zur nächsten Lektion bewegen kannst.
+
+  3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen.
+
+Bemerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast,
+	   drücke <ESC> , um Dich in den Normalmodus zu begeben.
+	   Dann gib das gewünschte Kommando noch einmal ein.
+
+Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren.  Aber wenn Du
+	   hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller
+	   umherzubewegen, wenn Du Dich einmal daran gewöhnt hast. Wirklich!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			    Lektion 1.2: VIM BEENDEN
+
+
+  !! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
+     diese gesamte Lektion!!
+
+  1. Drücke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist).
+
+  2. Tippe:	:q! <ENTER>.
+     Dies beendet den Editor und VERWIRFT alle Änderungen, die Du gemacht hast.
+
+  3. Wenn Du die Eingabeaufforderung siehst, gib das Kommando ein, das Dich zu
+     diesem Tutor geführt hat. Dies wäre:	vimtutor <ENTER>
+
+  4. Wenn Du Dir diese Schritte eingeprägt hast und Du Dich sicher fühlst,
+     führe Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder
+     hineinzugelangen.
+
+Bemerkung:  :q! <ENTER>  verwirft alle Änderungen, die Du gemacht hast. In
+     einigen Lektionen lernst Du , die Änderungen in einer Datei zu speichern.
+
+  5. Bewege den Cursor abwärts zu Lektion 1.3.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 1.3: TEXT EDITIEREN - LÖSCHEN
+
+
+	 ** Drücke  x  um das Zeichen unter dem Cursor zu löschen. **
+
+  1. Bewege den Cursor zu der mit ---> markierten Zeile unten.
+
+  2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht,
+     das gelöscht werden soll.
+
+  3. Drücke die  x  Taste, um das überflüssige Zeichen zu löschen.
+
+  4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist.
+
+---> Die Kkuh sprangg übber deen Moond.
+
+  5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4.
+
+Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
+    lernen, lerne vielmehr durch Anwenden.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 1.4: TEXT EDITIEREN - EINFÜGEN
+
+
+		    **  Drücke  i  , um Text einzufügen. **
+
+  1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
+
+  2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf
+     das erste Zeichen NACH der Stelle, wo der Text eingefügt werden soll.
+
+  3. Drücke  i  und gib die notwendigen Ergänzungen ein.
+
+  4. Wenn jeweils ein Fehler beseitigt ist, drücke <ESC> , um zum Normalmodus
+     zurückzukehren.
+     Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren.
+
+---> In dieser ft etwas .
+---> In dieser Zeile fehlt etwas Text.
+
+  5. Wenn Du Dich mit dem Einfügen von Text sicher fühlst, gehe zu Lektion 1.5.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 1.5: TEXT EDITIEREN - ANFÜGEN
+
+
+		     ** Drücke  A  , um Text anzufügen. **
+
+  1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
+     Es ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht.
+
+  2. Drücke  A  und gib die nötigen Ergänzungen ein.
+
+  3. Wenn das Anfügen abgeschlossen ist, drücke <ESC>, um in den Normalmodus
+     zurückzukehren.
+
+  4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole
+     die Schritte 2 und 3, um den Satz zu korrigieren.
+
+---> In dieser Zeile feh
+     In dieser Zeile fehlt etwas Text.
+---> Auch hier steh
+     Auch hier steht etwas Unvollständiges.
+
+  5. Wenn Du dich mit dem Anfügen von Text sicher fühlst, gehe zu Lektion 1.6.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lektion 1.6: EINE DATEI EDITIEREN
+
+
+     ** Benutze  :wq  , um eine Datei zu speichern und Vim zu verlassen. **
+
+  !! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
+     diese gesamte Lektion!!
+
+  1. Verlasse den Editor so wie in Lektion 1.2:  :q!
+
+  2. Gib dieses Kommando in die Eingabeaufforderung ein:  vim tutor <ENTER>
+     'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei.
+     Benutze eine Datei, die geändert werden kann.
+
+  3. Füge Text ein oder lösche ihn, wie Du in den vorigen Lektionen gelernt
+     hast.
+
+  4. Speichere die geänderte Datei und verlasse Vim mit:  :wq <ENTER>
+
+  5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung.
+
+  6. Nachdem Du obige Schritte gelesen und verstanden hast, führe sie durch.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 1
+
+
+  1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt.
+	 h (links)     j (unten)     k (aufwärts)    l (rechts)
+
+  2. Um Vim von der Eingabeaufforderung auszuführen, tippe: vim DATEI <ENTER>
+
+  3. Um Vim zu verlassen und alle Änderungen zu verwerfen, tippe:
+		<ESC>  :q!  <ENTER> .
+	ODER tippe:	<ESC>  :wq  <ENTER> , um die Änderungen zu speichern.
+
+  4. Um das Zeichen unter dem Cursor zu löschen, tippe:  x
+
+  5. Um Text einzufügen oder anzufügen, tippe:
+	 i   Einzufügenden Text eingeben   <ESC>    Einfügen vor dem Cursor
+	 A   Anzufügenden Text eingeben    <ESC>    Anfügen nach dem Zeilendene
+
+Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
+     ungewolltes, erst teilweise eingegebenes Kommando ab.
+
+     Nun fahre mit Lektion 2 fort.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			  Lektion 2.1: LÖSCHKOMMANDOS
+
+
+		   ** Tippe  dw  , um ein Wort zu löschen. **
+
+  1. Drücke  <ESC>  um sicherzustellen, dass Du im Normalmodus bist.
+
+  2. Bewege den Cursor zu der mit ---> markierten Zeile unten.
+
+  3. Bewege den Cursor zum Anfang eines Wortes, das gelöscht werden soll.
+
+  4. Tippe  dw  , um das Wort zu entfernen.
+
+  Bemerkung: Der Buchstabe  d  erscheint auf der letzten Zeile des Bildschirms,
+        wenn Du ihn eingibst. Vim wartet darauf, daß Du  w  eingibst. Wenn Du
+        ein anderes Zeichen als  d  siehst, hast Du etwas falsches getippt;
+        drücke <ESC> und beginne neu.
+
+---> Einige Wörter lustig gehören nicht Papier in diesen Satz.
+
+  5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe
+     danach zur Lektion 2.2.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lektion 2.2: WEITERE LÖSCHKOMMANDOS
+
+
+	    ** Tippe  d$  , um bis zum Ende der Zeile zu löschen. **
+
+  1. Drücke <ESC> , um sicherzustellen, dass Du im Normalmodus bist.
+
+  2. Bewege den Cursor zu der mit ---> markierten Zeile unten.
+
+  3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ).
+
+  4. Tippe    d$    , um bis zum Ende der Zeile zu löschen.
+
+---> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben.
+
+
+  5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		 Lektion 2.3: ÜBER OPERATOREN UND BEWEGUNGSZÜGE
+
+
+  Viele Kommandos, die Text ändern, setzen sich aus einem Operator und einer
+  Bewegung zusammen. Das Format für ein Löschkommando mit dem Löschoperator  d
+  lautet wie folgt:
+
+    d  Bewegung
+
+  wobei:
+    d        - der Löschoperator
+    Bewegung - worauf der Löschoperator angewandt wird (unten aufgelistet).
+
+  Eine kleine Auflistung von Bewegungen:
+    w - bis zum Beginn des nächsten Wortes OHNE dessen erstes Zeichen.
+    e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen.
+    $ - zum Ende der Zeile MIT dem letzen Zeichen.
+
+  Dementsprechend löscht die Eingabe von  de  vom Cursor an bis zum Wortende.
+
+Bemerkung:  Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
+  Cursor entsprechend.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	Lektion 2.4: ANWENDUNG EINES ZÄHLERS FÜR EINEN BEWEGUNGSSCHRITT
+
+
+   ** Die Eingabe einer Zahl vor einem Bewegungsschritt wiederholt diesen. **
+
+  1. Bewege den Cursor zum Beginn der mit ---> markierten Zeile unten.
+
+  2. Tippe  2w  , um den Cursor zwei Wörter vorwärts zu bewegen.
+
+  3. Tippe  3e  , um den Cursor zum Ende des dritten Wortes zu bewegen.
+
+  4. Tippe  0  (Null) , um zum Anfang der Zeile zu gelangen.
+
+  5. Wiederhole Schritte 2 und 3 mit verschiedenen Zählern.
+
+  ---> Dies ist nur eine Zeile aus Wörten um sich darin herumzubewegen.
+
+  6. Gehe weiter zu Lektion 2.5.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	 Lektion 2.5: ANWENDUNG EINES ZÄHLERS FÜR MEHRERE LÖSCHVORGÄNGE
+
+
+   ** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. **
+
+  Für die Kombination des Löschoperators und einem Bewegungsschritt (siehe
+  oben) stellt man dem Bewegungsschritt einen Zähler voran, um mehr zu löschen:
+	 d  Nummer  Bewegungsschritt
+
+  1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit --->
+     markieren Zeile.
+
+  2. Tippe  d2w  , um die zwei Wörter in GROSSBUCHSTABEN zu löschen.
+
+  3. Wiederhole Schritte 1 und  2 mit einem anderen Zähler, um die
+     darauffolgenden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando
+     zu löschen.
+
+--->  Diese ABC DE Zeile FGHI JK LMN OP mit Wörtern ist Q RS TUV bereinigt.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lektion 2.6: ARBEITEN AUF ZEILEN
+
+
+	       ** Tippe  dd  , um eine ganze Zeile zu löschen. **
+
+  Wegen der Häufigkeit, dass man ganze Zeilen löscht, kamen die Entwickler von
+  Vi darauf, dass es leichter wäre, einfach zwei d's einzugeben, um eine Zeile
+  zu löschen.
+
+  1. Bewege den Cursor zur zweiten Zeile in der unten stehenden Redewendung.
+  2. Tippe  dd  , um die Zeile zu löschen.
+  3. Nun bewege Dich zur vierten Zeile.
+  4. Tippe  2dd  , um zwei Zeilen zu löschen.
+
+--->  1)  Rosen sind rot,
+--->  2)  Matsch ist lustig,
+--->  3)  Veilchen sind blau,
+--->  4)  Ich habe ein Auto,
+--->  5)  Die Uhr sagt die Zeit,
+--->  6)  Zucker ist süß,
+--->  7)  So wie Du auch.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 2.7: RÜCKGÄNGIG MACHEN (UNDO)
+
+
+	 ** Tippe u , um die letzten Kommandos rückgängig zu machen **
+	      ** oder U um eine ganze Zeile wiederherzustellen. **
+
+  1. Bewege den Cursor zu der mit ---> markierten Zeile unten
+     und setze ihn auf den ersten Fehler.
+  2. Tippe  x  , um das erste unerwünschte Zeichen zu löschen.
+  3. Nun tippe  u  um das soeben ausgeführte Kommando rückgängig zu machen.
+  4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x  Kommandos.
+  5. Nun tippe ein großes  U , um die Zeile in ihren Ursprungszustand
+     wiederherzustellen.
+  6. Nun tippe  u  einige Male, um das U und die vorhergehenden Kommandos
+     rückgängig zu machen.
+  7. Nun tippe CTRL-R (halte CTRL gedrückt und drücke R) mehrere Male, um die
+     Kommandos wiederherzustellen (die Rückgängigmachungen rückgängig machen).
+
+---> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her.
+
+  8. Dies sind sehr nützliche Kommandos.
+     Nun gehe weiter zur Zusammenfassung von Lektion 2.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 2
+
+
+  1. Um vom Cursor bis zum nächsten Wort zu löschen, tippe:    dw
+  2. Um vom Cursor bis zum Ende einer Zeile zu löschen, tippe:     d$
+  3. Um eine ganze Zeile zu löschen, tippe:    dd
+
+  4. Um eine Bewegung zu wiederholen, stelle eine Nummer voran:   2w
+  5. Das Format für ein Änderungskommando ist:
+               Operator   [Anzahl]   Bewegungsschritt
+     wobei:
+       Operator - gibt an, was getan werden soll, zum Beispiel  d  für delete
+       [Anzahl] - ein optionaler Zähler, um den Bewegungsschritt zu wiederholen
+       Bewegungsschritt - Bewegung über den zu ändernden Text, so wie
+		  w (Wort), $ (zum Ende der Zeile), etc.
+
+  6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null:  0
+
+  7. Um vorherige Aktionen rückgängig zu machen, tippe:		u (kleines u)
+     Um alle Änderungen auf einer Zeile rückgängig zu machen:   U (großes U)
+     Um die Rückgängigmachungen rückgängig zu machen, tippe:    CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			   Lektion 3.1: ANFÜGEN (PUT)
+
+
+     ** Tippe  p  , um vorher gelöschten Text nach dem Cursor anzufügen. **
+
+  1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
+
+  2. Tippe  dd  , um die Zeile zu löschen und sie in eimem Vim-Register zu
+     speichern.
+
+  3. Bewege den Cursor zur Zeile c), ÜBER derjenigen, wo die gelöschte Zeile
+     platziert werden soll.
+
+  4.  Tippe   p   , um die Zeile unterhalb des Cursors zu platzieren.
+
+  5. Wiederhole die Schritte 2 bis 4, um alle Zeilen in die richtige
+     Reihenfolge zu bringen.
+
+---> d) Kannst Du das auch?
+---> b) Veilchen sind blau,
+---> c) Intelligenz ist erlernbar,
+---> a) Rosen sind rot,
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lektion 3.2: ERSETZEN (REPLACE)
+
+
+   ** Tippe  rx  , um das Zeichen unter dem Cursor durch  x zu ersetzen. **
+
+  1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
+
+  2. Bewege den Cursor, bis er sich auf dem ersten Fehler befindet.
+
+  3. Tippe  r  und anschließend das Zeichen, welches dort stehen sollte.
+
+  4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist.
+
+--->  Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt!
+--->  Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt!
+
+  5. Nun fahre fort mit Lektion 3.2.
+
+Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch
+     Auswendiglernen.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			  Lektion 3.3: ÄNDERN (CHANGE)
+
+
+      ** Um eine Änderung bis zum Wortende durchzuführen, tippe  ce . **
+
+  1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
+
+  2. Platziere den Cursor auf das  s  von Wstwr.
+
+  3. Tippe  ce  und die Wortkorrektur ein (in diesem Fall tippe  örter ).
+
+  4. Drücke <ESC> und bewege den Cursor zum nächsten zu ändernden Zeichen.
+
+  5. Wiederhole Schritte 3 und 4 bis der erste Satz gleich dem zweiten ist.
+
+---> Einige Wstwr dieser Zlaww lasdjlaf mit dem Ändern-Operator gaaauu werden.
+---> Einige Wörter dieser Zeile sollen mit dem Ändern-Operator geändert werden.
+
+Bemerke, dass  ce  das Wort löscht und Dich in den Eingabemodus versetzt.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 3.4: MEHR ÄNDERUNGEN MITTELS c
+
+
+     ** Das change-Kommando arbeitet mit denselben Bewegungen wie delete.  **
+
+  1. Der change Operator arbeitet in gleicher Weise wie delete. Das Format ist:
+
+         c    [Anzahl]  Bewegungsschritt
+
+  2. Die Bewegungsschritte sind die gleichen , so wie  w  (Wort) und  $
+     (Zeilenende).
+
+  3. Bewege Dich zur ersten unten stehenden mit ---> markierten Zeile.
+
+  4. Bewege den Cursor zum ersten Fehler.
+
+  5. Tippe  c$  , gib den Rest der Zeile wie in der zweiten ein, drücke <ESC> .
+
+---> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden.
+---> Das Ende dieser Zeile soll mit dem  c$  Kommando korrigiert werden.
+
+Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 3
+
+
+  1. Um einen vorher gelöschten Text anzufügen, tippe   p . Dies fügt den
+     gelöschten Text NACH dem Cursor an (wenn eine ganze Zeile gelöscht wurde,
+     wird diese in die Zeile unter dem Cursor eingefügt).
+
+  2. Um das Zeichen unter dem Cursor zu ersetzen, tippe   r   und das an dieser
+     Stelle gewünschte Zeichen.
+
+  3. Der Änderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des
+     Bewegungsschrittes zu ändern. Tippe  ce  , um eine Änderung vom Cursor bis
+     zum Ende des Wortes vorzunehmen;  c$  bis zum Ende einer Zeile.
+
+  4. Das Format für change ist:
+
+	 c   [Anzahl]  Bewegungsschritt
+
+  Nun fahre mit der nächsten Lektion fort.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lektion 4.1: CURSORPOSITION UND DATEISTATUS
+
+ ** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. **
+     ** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. **
+
+Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!!
+
+  1. Halte die Ctrl Taste unten und drücke  g . Dies nennen wir wir CTRL-G.
+     Eine Statusmeldung am Fuß der Seite erscheint mit dem Dateinamen und der
+     Position innerhalb der Datei. Merke Dir die Zeilennummer für Schritt 3.
+
+Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
+      Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler')
+
+  2. Drücke  G  , um Dich zum Ende der Datei zu begeben.
+     Tippe  gg  , um Dich zum Anfang der Datei zu begeben.
+
+  3. Gib die Nummer der Zeile ein, auf der Du vorher warst, gefolgt von  G .
+     Dies bringt Dich zurück zu der Zeile, auf der Du gestanden hast, als Du
+     das erste Mal CTRL-G gedrückt hast.
+
+  4. Wenn Du Dich sicher genug fühlst, führe die Schritte 1 bis 3 aus.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lektion 4.2: DAS SUCHEN - KOMMANDO
+
+
+  ** Tippe  /  gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. **
+
+  1. Im Normalmodus, tippe das  /  Zeichen.  Bemerke, dass das  / und der
+     Cursor am Fuß des Schirms erscheinen, so wie beim :	Kommando.
+
+  2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst.
+
+  3. Um nach demselben Ausdruck weiterzusuchen, tippe einfach  n (für next).
+     Um nach demselben Ausdruck in der Gegenrichtung zu suchen, tippe  N .
+
+  4. Um nach einem Ausdruck rückwärts zu suchen , benutze  ?  statt  / .
+
+  5. Um dahin zurückzukehren, von wo Du gekommen bist, drücke CTRL-O (Halte
+     Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um weiter
+     zurückzugehen.  CTRL-I bringt dich vorwärts.
+
+--->  Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler
+Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang
+        fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 4.3: PASSENDE KLAMMERN FINDEN
+
+
+   ** Tippe  % , um eine korrespondierende Klammer ),], oder } zu finden. **
+
+  1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten
+     stehenden Zeile, die mit ---> markiert ist.
+
+  2. Nun tippe das  %  Zeichen.
+
+  3. Der Cursor bewegt sich zur passenden gegenüberliegenden Klammer.
+
+  4. Tippe  % , um den Cursor zur anderen passenden Klammer zu bewegen.
+
+  5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere  %  aus.
+
+---> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern }  darin. ))
+
+Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
+     Programmtext, in dem passende Klammern fehlen!
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lektion 4.4: DAS ERSETZUNGSKOMMANDO (SUBSTITUTE)
+
+
+	 ** Tippe :s/alt/neu/g  , um 'alt' durch 'neu' zu ersetzen. **
+
+  1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile.
+
+  2. Tippe  :s/diee/die <ENTER> .  Bemerke, dass der Befehl nur das erste
+     Vorkommen von "diee" ersetzt.
+
+  3. Nun tippe   :s/diee/die/g . Das Zufügen des Flags  g   bedeutet, eine
+     globale Ersetzung über die Zeile durchzuführen, was alle Vorkommen von
+     "diee" auf der Zeile ersetzt.
+
+---> diee schönste Zeit, um diee Blumen anzuschauen, ist diee Frühlingszeit.
+
+  4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ändern,
+     tippe  :#,#s/alt/neu/g   wobei #,# die Zeilennummern des Zeilenbereiches
+                         sind, in dem die Ersetzung durchgeführt werden soll.
+     Tippe  :%s/alt/neu/g    um alle Vorkommen in der gesamten Datei zu ändern.
+     Tippe  :%s/alt/neu/gc   um alle Vorkommen in der gesamten Datei zu finden
+                     mit einem Fragedialog, ob ersetzt werden soll oder nicht.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 4
+
+  1. CTRL-G  zeigt die aktuelle Dateiposition sowie den Dateistatus.
+             G  bringt Dich zum Ende der Datei.
+     Nummer  G  bringt Dich zur entsprechenden Zeilennummer.
+            gg  bringt Dich zur ersten Zeile.
+
+  2. Die Eingabe von  /  plus einem Ausdruck sucht VORWÄRTS nach dem Ausdruck.
+     Die Eingabe von  ?  plus einem Ausdruck sucht RÜCKWÄRTS nach dem Ausdruck.
+     Tippe nach einer Suche  n  , um das nächste Vorkommen in der gleichen
+     Richtung zu finden; oder  N  , um in der Gegenrichtung zu suchen.
+     CTRL-O bringt Dich zurück zu älteren Positionen, CTRL-I zu neueren.
+
+  3. Die Eingabe von  %  , wenn der Cursor sich auf (,),[,],{, oder }
+     befindet, bringt Dich zur Gegenklammer.
+
+  4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen,
+             tippe       :s/alt/neu
+     Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe  :s/alt/neu/g
+     Um Ausdrücke innerhalb zweier Zeilennummern zu ersetzen,  :#,#s/alt/neu/g
+     Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe  :%s/alt/neu/g
+     Für eine jedmalige Bestätigung, addiere  'c'  (confirm)   :%s/alt/neu/gc
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lektion 5.1: AUSFÜHREN EINES EXTERNEN KOMMANDOS
+
+
+  ** Gib  :! , gefolgt von einem externen Kommando ein, um es auszuführen. **
+
+  1. Tippe das vertraute Kommando  :  , um den Cursor auf den Fuß des Schirms
+     zu setzen. Dies erlaubt Dir, ein Kommandozeilen-Kommando einzugeben.
+
+  2. Nun tippe ein  !  (Ausrufezeichen).  Dies ermöglicht Dir, ein beliebiges,
+     externes Shellkommando auszuführen.
+
+  3. Als Beispiel tippe   ls   nach dem  !  und drücke <ENTER>. Dies zeigt
+     eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der
+     Eingabeaufforderung wärst.  Oder verwende  :!dir  , falls ls nicht geht.
+
+Bemerkung:  Mit dieser Methode kann jedes beliebige externe Kommando
+     ausgeführt werden, auch mit Argumenten.
+
+Bemerkung:  Alle  :  Kommandos müssen durch Eingabe von <ENTER>
+     abgeschlossen werden. Von jetzt an erwähnen wir dies nicht jedesmal.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lektion 5.2: MEHR ÜBER DAS SCHREIBEN VON DATEIEN
+
+
+** Um am Text durchgeführte Änderungen zu speichern, tippe :w DATEINAME. **
+
+  1. Tippe  :!dir  oder  :!ls  , um eine Auflistung Deines Verzeichnisses zu
+     erhalten.  Du weißt nun bereits, dass Du danach <ENTER> eingeben musst.
+
+  2. Wähle einen Dateinamen, der noch nicht existiert, z.B. TEST.
+
+  3. Nun tippe:  :w TEST   (wobei TEST der gewählte Dateiname ist).
+
+  4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST.
+     Um dies zu überprüfen, tippe nochmals  :!ls  bzw.  !dir, um Deinen
+     Verzeichnisinhalt zu sehen.
+
+Bemerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
+    starten, dann wäre diese Datei eine exakte Kopie des Tutors zu dem
+    Zeitpunkt, als Du ihn gespeichert hast.
+
+  5. Nun entferne die Datei durch Eingabe von (MS-DOS):    :!del TEST
+				oder (Unix):	:!rm TEST
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		 Lektion 5.3: AUSWÄHLEN VON TEXT ZUM SCHREIBEN
+
+** Um einen Abschnitt der Datei zu speichern,  tippe  v  Bewegung  :w DATEI **
+
+  1. Bewege den Cursor zu dieser Zeile.
+
+  2. Tippe  v  und bewege den Cursor zum fünften Auflistungspunkt unten.
+     Bemerke, daß der Text hervorgehoben wird.
+
+  3. Drücke das Zeichen  : . Am Fuß des Schirms erscheint  :'<,'> .
+
+  4. Tippe  w TEST  , wobei TEST ein noch nicht vorhandener Dateiname ist.
+     Vergewissere Dich, daß Du  :'<,'>w TEST  siehst, bevor Du Enter drückst.
+
+  5. Vim schreibt die ausgewählten Zeilen in die Datei TEST. Benutze  :!dir
+     oder  :!ls , um sie zu sehen. Lösche sie noch nicht! Wir werden sie in
+     der nächsten Lektion benutzen.
+
+Bemerkung: Drücken von  v  startet die Visuelle Auswahl. Du kannst den Cursor
+   umherbewegen, um die Auswahl größer oder kleiner zu machen. Anschließend
+   kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum
+   Beispiel löscht  d  den Text.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	      Lektion 5.4: EINLESEN UND ZUSAMMENFÜHREN VON DATEIEN
+
+
+       ** Um den Inhalt einer Datei einzulesen, tippe  :r DATEINAME  **
+
+  1. Platziere den Cursor überhalb dieser Zeile.
+
+BEACHTE:  Nachdem Du Schritt 2 ausgeführt hast, wirst Du Text aus Lektion 5.3
+       sehen. Dann bewege Dich wieder ABWÄRTS, um diese Lektion wiederzusehen.
+
+  2. Nun lies Deine Datei TEST ein indem Du das Kommando  :r TEST  ausführst,
+     wobei TEST der von Dir verwendete Dateiname ist.
+     Die eingelesene Datei wird unterhalb der Cursorzeile eingefügt.
+
+  3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und siehe,
+     dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die
+     eingefügte Dateiversion.
+
+Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
+     Beispiel liest  :r !ls  die Ausgabe des Kommandos ls ein und platziert
+     sie unterhalb des Cursors.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 5
+
+
+  1. :!Kommando  führt ein externes Kommando aus.
+
+      Einige nützliche Beispiele sind
+	(MS-DOS)	  (Unix)
+	 :!dir		   :!ls		   -  zeigt eine Verzeichnisauflistung.
+	 :!del DATEINAME   :!rm DATEINAME  -  entfernt Datei DATEINAME.
+
+  2. :w DATEINAME  speichert die aktuelle Vim-Datei unter dem Namen  DATEINAME.
+
+  3. v  Bewegung  :w DATEINAME  schreibt die Visuell ausgewählten Zeilen in
+     die Datei DATEINAME.
+
+  4. :r DATEINAME  lädt die Datei DATEINAME und fügt sie unterhalb der
+     Cursorposition ein.
+
+  5. :r !dir  liest die Ausgabe des Kommandos dir und fügt sie unterhalb der
+     Cursorposition ein.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lektion 6.1: ZEILEN ÖFFNEN (OPEN)
+
+
+   ** Tippe  o	, um eine Zeile unterhalb des Cursors zu öffnen und Dich in **
+                      ** den Einfügemodus zu begeben. **
+
+  1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten.
+
+  2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu öffnen
+     und Dich in den Einfügemodus zu begeben.
+
+  3. Nun tippe etwas Text und drücke <ESC> , um den Einfügemodus zu verlassen.
+
+---> Mit  o  wird der Cursor auf der offenen Zeile im Einfügemodus platziert.
+
+  4. Um eine Zeile ÜBERHALB des Cursos aufzumachen, gib einfach ein großes  O
+     statt einem kleinen  o  ein. Versuche dies auf der unten stehenden Zeile.
+
+---> Öffne eine Zeile über dieser mit O , wenn der Cursor auf dieser Zeile ist.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lektion 6.2: TEXT ANFÜGEN (APPEND)
+
+
+	     ** Tippe  a  , um Text NACH dem Cursor einzufügen. **
+
+  1. Bewege den Cursor zum Anfang der ersten Übungszeile mit ---> unten.
+
+  2. Drücke  e  , bis der Cursor am Ende von  Zei  steht.
+
+  3. Tippe ein kleines  a  , um Text NACH dem Cursor anzufügen.
+
+  4. Vervollständige das Wort so wie in der Zeile darunter.  Drücke <ESC> ,
+     um den Einfügemodus zu verlassen.
+
+  5. Bewege Dich mit  e  zum nächsten unvollständigen Wort und wiederhole
+     Schritte 3 und 4.
+
+---> Diese Zei bietet Gelegen , Text in einer Zeile anzufü.
+---> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufügen.
+
+Bemerkung:  a, i und A gehen alle gleichermaßen in den Einfügemodus; der
+            einzige Unterschied ist, wo die Zeichen eingefügt werden.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	      Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE)
+
+
+       ** Tippe ein großes  R  , um mehr als ein Zeichen zu ersetzen. **
+
+  1. Bewege den Cursor zur ersten unten stehenden, mit ---> markierten Zeile.
+     Bewege den Cursor zum Anfang des ersten  xxx .
+
+  2. Nun drücke  R  und tippe die Nummer, die darunter in der zweiten Zeile
+     steht, so das diese das xxx ersetzt.
+
+  3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, daß der Rest
+     der Zeile unverändert bleibt.
+
+  4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen.
+
+---> Das Addieren von 123 zu xxx ergibt xxx.
+---> Das Addieren von 123 zu 456 ergibt 579.
+
+Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
+           Zeichen löscht ein vorhandenes Zeichen.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lektion 6.4: TEXT KOPIEREN UND EINFÜGEN
+
+ ** Benutze den  y  Operator, um Text zu kopieren;  p  , um ihn einzufügen **
+
+  1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)".
+
+  2. Starte den Visuellen Modus mit  v  , bewege den Cursor genau vor "erste".
+
+  3. Tippe  y  , um den hervorgehoben Text zu kopieren.
+
+  4. Bewege den Cursor zum Ende der nächsten Zeile:  j$
+
+  5. Tippe  p , um den Text einzufügen und anschließend:  a zweite <ESC> .
+
+  6. Benutze den Visuellen Modus, um " Eintrag." auszuwählen, kopiere mittels
+     y , bewege Dich zum Ende der nächsten Zeile mit  j$  und füge den Text
+     dort mit  p  an.
+
+--->  a) dies ist der erste Eintrag.
+      b)
+
+Bemerkung: Du kannst  y  auch als Operator verwenden;  yw  kopiert ein Wort.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			  Lektion 6.5: OPTIONEN SETZEN
+
+      ** Setze eine Option so, dass eine Suche oder eine Ersetzung Groß- **
+		      ** und Kleinschreibung ignoriert **
+
+  1. Suche nach 'ignoriere', indem Du    /ignoriere   eingibst.
+     Wiederhole die Suche einige Male, indem Du die n - Taste drückst.
+
+  2. Setze die 'ic' (Ignore case) - Option, indem Du   :set ic   eingibst.
+
+  3. Nun suche wieder nach 'ignoriere', indem Du  n  tippst.
+     Bemerke, daß jetzt Ignoriere und auch IGNORIERE gefunden wird.
+
+  4. Setze die 'hlsearch' und 'incsearch' - Optionen:     :set hls is
+
+  5. Wiederhole die Suche und beobachte, was passiert: /ignoriere <ENTER>
+
+  6. Um das Ignorieren von Groß/Kleinschreibung abzuschalten, tippe:  :set noic
+
+Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein:  :nohlsearch
+Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze
+           \c im Suchausdruck:  /ignoriere\c  <ENTER>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 6
+
+ 1. Tippe  o  , um eine Zeile UNTER dem Cursor zu öffnen und den Einfügemodus
+                zu starten.
+    Tippe  O  , um eine Zeile ÜBER dem Cursor zu öffnen.
+
+ 2. Tippe  a  , um Text NACH dem Cursor anzufügen.
+    Tippe  A  , um Text nach dem Zeilenende anzufügen.
+
+ 3. Das Kommando  e  bringt Dich zum Ende eines Wortes.
+
+ 4. Der Operator  y  (yank) kopiert Text,  p  (put) fügt ihn ein.
+
+ 5. Ein großes  R  geht in den Ersetzungsmodus bis zum Drücken von  <ESC> .
+
+ 6. Die Eingabe von ":set xxx" setzt die Option "xxx". Einige Optionen sind:
+	'ic' 'ignorecase'    Ignoriere Groß/Kleinschreibung bei einer Suche
+	'is' 'incsearch'     Zeige Teilübereinstimmungen für einen Suchausdruck
+	'hls' 'hlsearch'     Hebe alle passenden Ausdrücke hervor
+    Der Optionsname kann in der Kurz- oder der Langform angegeben werden.
+
+ 7. Stelle einer Option "no" voran, um sie abzuschalten:   :set noic
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lektion 7.1 : AUFRUFEN VON HILFE
+
+
+		     ** Nutze das eingebaute Hilfesystem **
+
+  Vim besitzt ein umfassendes eingebautes Hilfesystem.  Für den Anfang probiere
+  eins der drei folgenden Dinge aus:
+	- Drücke die <Hilfe> - Taste (falls Du eine besitzt)
+	- Drücke die <F1> Taste (falls Du eine besitzt)
+	- Tippe   :help <ENTER>
+
+  Lies den Text im Hilfefenster, um zu verstehen wie die Hilfe funktioniert.
+  Tippe  CTRL-W CTRL-W   , um von einem Fenster zum anderen zu springen.
+  Tippe   :q <ENTER>  , um das Hilfefenster zu schließen.
+
+  Du kannst Hilfe zu praktisch jedem Thema finden, indem Du dem ":help"-
+  Kommando ein Argument gibst.  Probiere folgendes (<ENTER> nicht vergessen):
+
+	:help w
+	:help c_CTRL-D
+	:help insert-index
+	:help user-manual
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lektion 7.2: ERSTELLE EIN START-SKRIPT
+
+
+	   **  Aktiviere die eingebauten Funktionalitäten von Vim **
+
+  Vim besitzt viele Funktionalitäten, die über Vi hinausgehen, aber die meisten
+  von ihnen sind standardmäßig deaktiviert. Um mehr Funktionalitäten zu nutzen,
+  musst Du eine "vimrc" - Datei erstellen.
+
+  1. Starte das Editieren der "vimrc"-Datei, abhängig von Deinem System:
+	:e ~/.vimrc		für Unix
+	:e $VIM/_vimrc		für MS-Windows
+
+  2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein:
+	:r $VIMRUNTIME/vimrc_example.vim
+
+  3. Speichere die Datei mit:
+	:w
+
+  Beim nächsten Start von Vim wird die Syntaxhervorhebung aktiviert sein.
+  Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen.
+  Für mehr Informationen tippe  :help vimrc-intro
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lektion 7.3: VERVOLLSTÄNDIGEN
+
+
+	   ** Kommandozeilenvervollständigung mit CTRL-D and <TAB> **
+
+  1. Stelle sicher, daß Vim nicht im vi-Kompatibilitätsmodus ist:  :set nocp
+
+  2. Siehe nach, welche Dateien im Verzeichnis existieren:  :!ls  oder  :dir
+
+  3. Tippe den Beginn eines Komandos:  :e
+
+  4. Drücke  CTRL-D  und Vim zeigt eine Liste mit "e" beginnender Kommandos.
+
+  5. Drücke  <TAB>  und Vim vervollständigt den Kommandonamen zu ":edit".
+
+  6. Nun füge ein Leerzeichen und den Beginn einer existierenden Datei an:
+     :edit DAT
+
+  7. Drücke <TAB>. Vim vervollständigt den Namen (falls er eindeutig ist).
+
+Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
+     einfach CTRL-D und <TAB>.  Dies ist insbesondere nützlich für  :help .
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ZUSAMMENFASSUNG VON LEKTION 7
+
+
+  1. Tippe  :help  oder drücke <F1> oder <Help>, um ein Hilfefenster zu öffnen.
+
+  2. Tippe  :help Kommando  , um Hilfe über  Kommando  zu erhalten.
+
+  3. Tippe  CTRL-W CTRL-W  , um zum anderen Fenster zu springen.
+
+  4. Tippe  :q  , um das Hilfefenster zu schließen.
+
+  5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen.
+
+  6. Drücke CTRL-D nach dem Tippen eines Kommandos  :  , um mögliche
+     Vervollständigungen zu sehen.
+     Drücke <TAB> für eine einzige Vervollständigung.
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  Damit ist der Vim Tutor beendet.  Die Intention war, einen kurzen und
+  bündigen Überblick über den Vim Editor zu liefern; gerade genug, um relativ
+  leicht mit ihm umgehen zu können.  Der Vim Tutor hat nicht den geringsten
+  Anspruch auf Vollständigkeit; Vim hat noch weitaus mehr Kommandos. Lies als
+  nächstes das User Manual: ":help user-manual".
+
+  Für weiteres Lesen und Lernen ist folgendes Buch empfohlen :
+	Vim - Vi Improved - von Steve Oualline
+	Verlag: New Riders
+  Das erste Buch, welches durchgängig Vim gewidmet ist.  Besonders nützlich
+  für Anfänger.  Viele Beispiele und Bilder sind enthalten.
+  Siehe http://iccf-holland.org/click5.html
+
+  Folgendes Buch ist älter und mehr über Vi als Vim, aber auch empfehlenswert:
+	Textbearbeitung mit dem vi-Editor  -  von Linda Lamb und Arnold Robbins
+	Verlag O'Reilly - ISBN: 3897211262
+  In diesem Buch kann man fast alles finden, was man mit Vi tun möchte.
+  Die sechste Ausgabe enthält auch Informationen über Vim.
+
+  Als aktuelle Referenz für Version 6.2 und knappe Einführung dient das
+  folgende Buch:
+	vim ge-packt von Reinhard Wobst
+	mitp-Verlag, ISBN 3-8266-1425-9
+  Trotz der kompakten Darstellung ist es durch viele nützliche Beispiele auch
+  für Einsteiger empfehlenswert.  Probekapitel und die Beispielskripte sind
+  online erhältlich.  Siehe http://iccf-holland.org/click5.html
+
+  Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware,
+  Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State
+  University, zur Verfügung stellte.  E-mail: bware@mines.colorado.edu.
+
+  Bearbeitet für Vim von Bram Moolenaar.
+  Deutsche Übersetzung von Joachim Hofmann 2007.  E-mail: Joachim.Hof@gmx.de
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/runtime/tutor/tutor.el.cp737 b/runtime/tutor/tutor.el.cp737
new file mode 100644
index 0000000..69ceff1
--- /dev/null
+++ b/runtime/tutor/tutor.el.cp737
@@ -0,0 +1,815 @@
+===============================================================================
+=    ‰ ˜¢ à © ã ¨ Ÿ ˜ « œ    © « ¦   V I M   T u t o r    -    롛¦©ž 1.5     =
+===============================================================================
+
+     Ž Vim œå¤˜  ⤘ª §˜¤å©®¬¨¦ª ©¬¤«á¡«žª §¦¬ ⮜  §¦¢¢âª œ¤«¦¢âª, §á¨˜
+     §¦¢¢âª š ˜ ¤˜ œ¥žšã©¦¬£œ ©œ £å˜ §œ¨ ãšž©ž æ§àª ˜¬«ã. €¬«ã ž §œ¨ ãšž©ž
+     ©®œ› á©«ž¡œ š ˜ ¤˜ §œ¨ š¨á¯œ   ¡˜¤¦§¦ ž« ¡á « ª œ¤«¦¢âª §¦¬ Ÿ˜ ©˜ª
+     ¡á¤¦¬¤ ¤˜ ®¨ž© £¦§¦ œå«œ œç¡¦¢˜ «¦¤ Vim ©˜¤ ⤘¤ šœ¤ ¡ãª ®¨ã©žª ©¬¤«á¡«ž.
+
+     Ž ¡˜«á §¨¦©âšš ©ž ®¨æ¤¦ª §¦¬ ˜§˜ «œå«˜  š ˜ ¤˜ ¦¢¦¡¢ž¨é©œ«œ «ž¤ §œ¨ ãšž©ž
+     œå¤˜  25-30 ¢œ§«á, œ¥˜¨«é¤«˜ª ˜§æ «¦ §æ©¦ ®¨æ¤¦ Ÿ˜ ¥¦›â¯œ«œ š ˜
+     §œ ¨˜£˜« ©£¦çª.
+
+     Ž  œ¤«¦¢âª ©«˜ £˜Ÿã£˜«˜ Ÿ˜ «¨¦§¦§¦ ã©¦¬¤ «¦ ¡œå£œ¤¦. ƒž£ ¦¬¨šã©«œ ⤘
+     ˜¤«åš¨˜­¦ ˜¬«¦ç «¦¬ ˜¨®œå¦¬ š ˜ ¤˜ œ¥˜©¡žŸœå«œ (˜¤ ¥œ¡ ¤ã©˜«œ «¦
+     "Vimtutor" ˜¬«æ œå¤˜  㛞 ⤘ ˜¤«åš¨˜­¦).
+
+     „夘  ©ž£˜¤« ¡æ ¤˜ Ÿ¬£á©«œ æ«  ˜¬«ã ž §œ¨ ãšž©ž œå¤˜  ¦¨š˜¤à£â¤ž â«© 
+     é©«œ ¤˜ › ›á©¡œ  £â©à «žª ®¨ã©žª. €¬«æ ©ž£˜å¤œ  æ«  ®¨œ áœ«˜  ¤˜
+     œ¡«œ¢œå«œ « ª œ¤«¦¢âª š ˜ ¤˜ « ª £áŸœ«œ ©à©«á. €¤ › ˜™áœ«œ £æ¤¦ «¦
+     ¡œå£œ¤¦, Ÿ˜ « ª ¥œ®á©œ«œ!
+
+     ’騘, ™œ™˜ àŸœå«œ æ«  «¦ §¢ã¡«¨¦ Shift-Lock ƒ„Œ œå¤˜  §˜«ž£â¤¦ ¡˜ 
+     §˜«ã©«œ «¦ §¢ã¡«¨¦ j ˜¨¡œ«âª ­¦¨âª š ˜ ¤˜ £œ«˜¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜ â«© 
+     é©«œ «¦ ‹áŸž£˜ 1.1 ¤˜ šœ£å©œ  §¢ã¨àª «ž¤ ¦Ÿæ¤ž.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      ‹áŸž£˜ 1.1:  ‹„’€‰ˆŒŽŒ’€‘ ’ŽŒ ƒŽ‹„€
+
+  ** ‚ ˜ ¤˜ ¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜, §˜«ã©«œ «˜ §¢ã¡«¨˜ h,j,k,l æ§àª ›œå®¤œ«˜ . **
+	     ^
+	     k	      Hint: ’¦ §¢ã¡«¨¦ h œå¤˜  ˜¨ ©«œ¨á ¡˜  ¡ ¤œå ©«' ˜¨ ©«œ¨á.
+       < h	 l >	    ’¦ §¢ã¡«¨¦ l œå¤˜  ›œ¥ á ¡˜  ¡ ¤œå ©«˜ ›œ¥ á.
+	     j		    ’¦ §¢ã¡«¨¦ j £¦ áœ  £œ ™œ¢á¡  §¨¦ª «˜ ¡á«à.
+	     v
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ «¨ šç¨à ©«ž¤ ¦Ÿæ¤ž £â®¨  ¤˜ ¤¦ éŸœ«œ ᤜ«˜.
+
+  2. ‰¨˜«ã©«œ §˜«ž£â¤¦ «¦ ¡á«à §¢ã¡«¨¦ (j) £â®¨  ¤˜ œ§˜¤˜¢ž­Ÿœå.
+---> ’騘 ¥â¨œ«œ §éª ¤˜ £œ«˜¡ ¤žŸœå«œ ©«¦ œ§æ£œ¤¦ £áŸž£˜.
+
+  3. •¨ž© £¦§¦ é¤«˜ª «¦ ¡á«à §¢ã¡«¨¦, £œ«˜¡ ¤žŸœå«œ ©«¦ ‹áŸž£˜ 1.2.
+
+‘ž£œåਫ਼: €¤ ˜£­ ™á¢¢œ«œ š ˜ ¡á«  §¦¬ §˜«ã©˜«œ, §˜«ã©«œ <ESC> š ˜ ¤˜ ™¨œŸœå«œ
+	  ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. ‹œ«á §˜«ã©«œ ¥˜¤á «ž¤ œ¤«¦¢ã §¦¬ Ÿâ¢˜«œ.
+
+‘ž£œåਫ਼: ’˜ §¢ã¡«¨˜ «¦¬ ›¨¦£â˜ Ÿ˜ §¨â§œ  œ§å©žª ¤˜ ›¦¬¢œç¦¬¤. €¢¢á £œ «˜ hjkl
+	  Ÿ˜ £§¦¨œå«œ ¤˜ ¡ ¤žŸœå«œ §¦¢ç š¨žš¦¨æ«œ¨˜, £æ¢ ª «˜ ©¬¤žŸå©œ«œ.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		‹áŸž£˜ 1.2:  ‹€ˆŒŽŒ’€‘ ‰€ˆ ‚€ˆŒŽŒ’€‘ ‘’ŽŒ VIM
+
+  !! ‘†‹„ˆ—‘†: ¨ ¤ œ¡«œ¢â©œ«œ ¡á§¦ ¦ ˜§æ «˜ ™ã£˜«˜, › ˜™á©«œ 梦 «¦ £áŸž£˜!!
+
+  1. ˜«ã©«œ «¦ §¢ã¡«¨¦ <ESC> (š ˜ ¤˜ œå©«œ ©å𦬍˜ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž).
+
+  2. ¢ž¡«¨¦¢¦šã©«œ:		:q! <ENTER>.
+
+---> €¬«æ œ¥â¨®œ«˜  ˜§æ «¦¤ ©¬¤«á¡«ž •—ˆ‘ ¤˜ ©é©œ  槦 œª ˜¢¢˜šâª ⮜«œ ¡á¤œ .
+     €¤ Ÿâ¢œ«œ ¤˜ ©é©œ«œ « ª ˜¢¢˜šâª ¡˜  ¤˜ œ¥â¨Ÿœ«œ §¢ž¡«¨¦¢¦šã©«œ:
+	      :wq <ENTER>
+
+  3. ¤ ›œå«œ «ž¤ §¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç, §¢ž¡«¨¦¢¦šã©«œ «ž¤ œ¤«¦¢ã £œ «ž¤ ¦§¦å˜
+     £§ã¡˜«œ ©œ ˜¬«ã¤ «ž¤ §œ¨ ãšž©ž. ‹§¦¨œå ¤˜ œå¤˜ :	vimtutor <ENTER>
+     ‰˜¤¦¤ ¡á Ÿ˜ ®¨ž© £¦§¦ ¦ç©˜«œ:			vim tutor <ENTER>
+
+---> 'vim' ©ž£˜å¤œ  œ ©˜šàšã ©«¦¤ ©¬¤«á¡«ž vim, 'tutor' œå¤˜  «¦ ˜¨®œå¦ §¦¬
+     Ÿâ¢¦¬£œ ¤˜ › ¦¨Ÿé©¦¬£œ.
+
+  4. €¤ ⮜«œ ˜§¦£¤ž£¦¤œç©œ  ˜¬«á «˜ ™ã£˜«˜ ¡˜  ⮜«œ ˜¬«¦§œ§¦åŸž©ž, œ¡«œ¢â©«œ
+     «˜ ™ã£˜«˜ 1 âઠ3 š ˜ ¤˜ ™šœå«œ ¡˜  ¤˜ £§œå«œ ¥˜¤á ©«¦¤ ©¬¤«á¡«ž. ‹œ«á
+     £œ«˜¡ ¤ã©«œ «¦¤ ›¨¦£â˜ ¡á«à ©«¦ ‹áŸž£˜ 1.3.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 1.3:  ƒˆŽ‡—‘† ‰„ˆ‹„ŒŽ“ - ƒˆ€‚€”†
+
+   **  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ  x  š ˜ ¤˜ › ˜š¨á¯œ«œ «¦¤
+      ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
+
+  2. ‚ ˜ ¤˜ › ¦¨Ÿé©œ«œ «˜ ¢áŸž, ¡ ¤œå©«œ «¦¤ ›¨¦£â˜ £â®¨  ¤˜ œå¤˜  §á¤à ˜§æ
+     «¦¤ ®˜¨˜¡«ã¨˜ §¦¬ Ÿ˜ › ˜š¨˜­œå.
+
+  3. ˜«ã©«œ «¦ §¢ã¡«¨¦ x š ˜ ¤˜ › ˜š¨á¯œ«œ «¦¤ ˜¤œ§ Ÿç£ž«¦ ®˜¨˜¡«ã¨˜.
+
+  4. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 £â®¨  4 £â®¨  ž §¨æ«˜©ž ¤˜ œå¤˜  ©à©«ã.
+
+---> The ccow jumpedd ovverr thhe mooon.
+
+  5. ’騘 §¦¬ ž š¨˜££ã œå¤˜  ©à©«ã, §žš˜å¤«œ ©«¦ ‹áŸž£˜ 1.4.
+
+‘†‹„ˆ—‘†: ‰˜Ÿéª › ˜«¨â®œ«œ ˜¬«ã¤ «ž¤ §œ¨ ãšž©ž, §¨¦©§˜Ÿã©«œ ¤˜ £ž¤
+	  ˜§¦£¤ž£¦¤œçœ«œ, £˜Ÿ˜å¤œ«œ £œ «ž ®¨ã©ž.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 1.4: ƒˆŽ‡—‘† ‰„ˆ‹„ŒŽ“ - €„‹ŽŠ†
+
+ **  œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ  i  š ˜ ¤˜ §˜¨œ£™á¢¢œ«œ ¡œå£œ¤¦. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ £â®¨  «ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
+
+  2. ‚ ˜ ¤˜ ¡á¤œ«œ «ž¤ §¨é«ž š¨˜££ã 因˜ £œ «ž¤ ›œç«œ¨ž, £œ«˜¡ ¤œå©«œ «¦¤
+     ›¨¦£â˜ §á¤à ©«¦¤ §¨é«¦ ®˜¨˜¡«ã¨˜ ‹„’€ ˜§æ 槦¬ Ÿ˜ §˜¨œ£™¢žŸœå «¦ ¡œå£œ¤¦.
+
+  3. ˜«ã©«œ «¦  i  ¡˜  §¢ž¡«¨¦¢¦šã©«œ « ª ˜§˜¨˜å«ž«œª §¨¦©Ÿã¡œª.
+
+  4. ‰˜Ÿéª › ¦¨Ÿé¤œ«œ ¡áŸœ ¢áŸ¦ª §˜«ã©«œ <ESC> š ˜ ¤˜ œ§ ©«¨â¯œ«œ ©«ž¤
+     ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 £â®¨  4 š ˜ ¤˜ › ¦¨Ÿé©œ«œ
+     «ž¤ §¨æ«˜©ž.
+
+---> There is text misng this .
+---> There is some text missing from this line.
+
+  5. ¤ œå©«œ ᤜ«¦  £œ «ž¤ §˜¨œ£™¦¢ã ¡œ £â¤¦¬ £œ«˜¡ ¤žŸœå«œ ©«ž¤
+     §˜¨˜¡á«à §œ¨å¢ž¯ž.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 1 „ˆŠ†–†
+
+
+  1. Ž ›¨¦£â˜ª ¡ ¤œå«˜  ®¨ž© £¦§¦ é¤«˜ª œå«œ «˜ §¢ã¡«¨˜ ›¨¦£â˜ ã «˜ hjkl.
+	 h (˜¨ ©«â¨˜)	j (¡á«à)	k (§á¤à)	l (›œ¥ á)
+
+  2. ‚ ˜ ¤˜ £§œå«œ ©«¦¤ Vim (˜§æ «ž¤ §¨¦«¨¦§ã %) š¨á¯«œ:  vim €•„ˆŽ <ENTER>
+
+  3. ‚ ˜ ¤˜ ™šœå«œ š¨á¯«œ:  <ESC>   :q!   <ENTER>   š ˜ ˜§æ¨¨ ¯ž «à¤ ˜¢¢˜šé¤.
+		 ì š¨á¯«œ:  <ESC>   :wq   <ENTER>   š ˜ ˜§¦Ÿã¡œ¬©ž «à¤ ˜¢¢˜šé¤.
+
+  4. ‚ ˜ ¤˜ › ˜š¨á¯œ«œ ⤘¤ ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜ ©œ
+     ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ:  x
+
+  5. ‚ ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ©«¦¤ ›¨¦£â˜ 橦 œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž š¨á¯«œ:
+	 i     §¢ž¡«¨¦¢¦šã©«œ «¦ ¡œå£œ¤¦	<ESC>
+
+‘†‹„ˆ—‘†: ˜«é¤«˜ª <ESC> Ÿ˜ «¦§¦Ÿœ«žŸœå«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž 㠟˜
+	  ˜¡¬¨é©œ«œ £å˜ ˜¤œ§ Ÿç£ž«ž ¡˜  £œ¨ ¡éª ¦¢¦¡¢ž¨à£â¤ž œ¤«¦¢ã.
+
+’騘 ©¬¤œ®å©«œ £œ «¦ ‹áŸž£˜ 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ‹áŸž£˜ 2.1: „Œ’ŽŠ„‘ ƒˆ€‚€”†‘
+
+	 ** ‚¨á¯«œ  dw  š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª £å˜ª ¢â¥žª. **
+
+  1. ˜«ã©«œ  <ESC>  š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
+
+  2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
+
+  3. žš˜å¤œ«œ «¦¤ ›¨¦£â˜ ©«ž¤ ˜¨®ã «žª ¢â¥žª §¦¬ §¨â§œ  ¤˜ › ˜š¨˜­œå.
+
+  4. ‚¨á¯«œ  dw  š ˜ ¤˜ ¡á¤œ«œ «ž¤ ¢â¥ž ¤˜ œ¥˜­˜¤ ©«œå.
+
+‘†‹„ˆ—‘†: ’˜ š¨á££˜«˜ dw Ÿ˜ œ£­˜¤ ©«¦ç¤ ©«ž¤ «œ¢œ¬«˜å˜ š¨˜££ã «žª ¦Ÿæ¤žª 橦
+	  «˜ §¢ž¡«¨¦¢¦šœå«œ. €¤ š¨á¯˜«œ ¡á«  ¢áŸ¦ª, §˜«ã©«œ  <ESC>  ¡˜ 
+	  ¥œ¡ ¤ã©«œ ˜§æ «ž¤ ˜¨®ã.
+
+---> There are a some words fun that don't belong paper in this sentence.
+
+  5. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 3 ¡˜  4 £â®¨  ž §¨æ«˜©ž ¤˜ œå¤˜  ©à©«ã ¡˜ 
+     §žš˜å¤œ«œ ©«¦ ‹áŸž£˜ 2.2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 2.2: „ˆ‘‘Ž’„„‘ „Œ’ŽŠ„‘ ƒˆ€‚€”†‘
+
+    ** ¢ž¡«¨¦¢¦šã©«œ  d$  š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª. **
+
+  1. ˜«ã©«œ  <ESC>  š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
+
+  2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
+
+  3. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ «â¢¦ª «žª ©à©«ãª š¨˜££ãª (‹„’€ «ž¤ §¨é«ž . ).
+
+  4. ˜«ã©«œ   d$   š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª.
+
+---> Somebody typed the end of this line twice. end of this line twice.
+
+  5. žš˜å¤œ«œ ©«¦ ‹áŸž£˜ 2.3 š ˜ ¤˜ ¡˜«˜¢á™œ«œ «  ©¬£™˜å¤œ .
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 2.3: „ˆ „Œ’ŽŠ—Œ ‰€ˆ €Œ’ˆ‰„ˆ‹„Œ—Œ
+
+
+† £¦¨­ã «žª œ¤«¦¢ãª › ˜š¨˜­ãª  d  œå¤˜  ઠœ¥ãª:
+
+	 [˜¨ Ÿ£æª]   d   ˜¤« ¡œå£œ¤¦	ì	d   [˜¨ Ÿ£æª]   ˜¤« ¡œå£œ¤¦
+  ¬:
+    ˜¨ Ÿ£æª - §æ©œª ­¦¨âª Ÿ˜ œ¡«œ¢œ©«œå ž œ¤«¦¢ã (§¨¦˜ ¨œ« ¡æ, œ¥' ¦¨ ©£¦ç=1).
+    d - ž œ¤«¦¢ã «žª › ˜š¨˜­ãª.
+    ˜¤« ¡œå£œ¤¦ - §á¤à ©œ «  Ÿ˜ ¢œ «¦¬¨šã©œ  ž œ¤«¦¢ã (§˜¨˜¡á«à ¢å©«˜).
+
+  ‹å˜ £ ¡¨ã ¢å©«˜ ˜§æ ˜¤« ¡œå£œ¤˜:
+    w - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, §œ¨ ¢˜£™á¤¦¤«˜ª «¦ › á©«ž£˜.
+    e - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, •—ˆ‘ «¦ › á©«ž£˜.
+    $ - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª.
+
+‘†‹„ˆ—‘†:  ‚ ˜ «¦¬ª «ç§¦¬ª «žª §œ¨ §â«œ ˜ª, §˜«é¤«˜ª ˜§¢éª «¦ ˜¤« ¡œå£œ¤¦ 橦
+	   œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž ®à¨åª ¡á§¦ ˜ œ¤«¦¢ã Ÿ˜ £œ«˜¡ ¤ã©œ«œ
+	   «¦¤ ›¨¦£â˜ æ§àª ¡˜Ÿ¦¨åœ«˜  ©«ž¤ ¢å©«˜ ˜¤« ¡œ £â¤à¤.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	       ‹áŸž£˜ 2.4: ‹ˆ€ „€ˆ„‘† ‘’†Œ '„Œ’ŽŠ†-€Œ’ˆ‰„ˆ‹„ŒŽ'
+
+	   ** ¢ž¡«¨¦¢¦šã©«œ  dd  š ˜ ¤˜ › ˜š¨á¯œ«œ 梞 «ž š¨˜££ã. **
+
+  „¥˜ «å˜ª «žª ©¬®¤æ«ž«˜ª «žª › ˜š¨˜­ãª ¦¢æ¡¢ž¨žª š¨˜££ãª, ¦  ©®œ› ˜©«âª
+  «¦¬ Vim ˜§¦­á© ©˜¤ æ«  Ÿ˜ 㫘¤ œ¬¡¦¢æ«œ¨¦ ¤˜ š¨á­œ«œ ˜§¢éª ›ç¦ d ©«ž
+  ©œ ¨á š ˜ ¤˜ › ˜š¨á¯œ«œ £å˜ š¨˜££ã.
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž ›œç«œ¨ž š¨˜££ã «žª §˜¨˜¡á«à ­¨á©žª.
+  2. ‚¨á¯«œ  dd  š ˜ ¤˜ › ˜š¨á¯œ«œ «ž š¨˜££ã.
+  3. ’騘 £œ«˜¡ ¤žŸœå«œ ©«ž¤ «â«˜¨«ž š¨˜££ã.
+  4. ‚¨á¯«œ  2dd  (Ÿ¬£žŸœå«œ  ˜¨ Ÿ£æª-œ¤«¦¢ã-˜¤« ¡œå£œ¤¦) š ˜ ¤˜
+     › ˜š¨á¯œ«œ ›ç¦ š¨˜££âª.
+
+      1)  Roses are red,
+      2)  Mud is fun,
+      3)  Violets are blue,
+      4)  I have a car,
+      5)  Clocks tell time,
+      6)  Sugar is sweet
+      7)  And so are you.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ‹áŸž£˜ 2.5: † „Œ’ŽŠ† €Œ€ˆ„‘†‘
+
+	    ** ˜«ã©«œ  u  š ˜ ¤˜ ˜¤˜ ¨â©œ«œ « ª «œ¢œ¬«˜åœª œ¤«¦¢âª,
+	       U š ˜ ¤˜ › ¦¨Ÿé©œ«œ 梞 «ž š¨˜££ã. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ ---> ¡˜ 
+     «¦§¦Ÿœ«ã©«œ «¦¤ §á¤à ©«¦ §¨é«¦ ¢áŸ¦ª.
+  2. ˜«ã©«œ  x  š ˜ ¤˜ › ˜š¨á¯œ«œ «¦¤ §¨é«¦ ˜¤œ§ Ÿç£ž«¦ ®˜¨˜¡«ã¨˜.
+  3. ’騘 §˜«ã©«œ  u  š ˜ ¤˜ ˜¤˜ ¨â©œ«œ «ž¤ «œ¢œ¬«˜å˜ œ¡«œ¢œ©£â¤ž œ¤«¦¢ã.
+  4. €¬«ã «ž ­¦¨á › ¦¨Ÿé©«œ 梘 «˜ ¢áŸž ©«ž š¨˜££ã ®¨ž© £¦§¦ é¤«˜ª «ž¤ œ¤«¦¢ã x.
+  5. ’騘 §˜«ã©«œ ⤘ ¡œ­˜¢˜å¦  U  š ˜ ¤˜ œ§ ©«¨â¯œ«œ «ž š¨˜££ã ©«ž¤ ˜¨® ¡ã
+     «žª ¡˜«á©«˜©ž.
+  6. ’騘 §˜«ã©«œ  u  £œ¨ ¡âª ­¦¨âª š ˜ ¤˜ ˜¤˜ ¨â©œ«œ «ž¤  U  ¡˜ 
+     §¨¦žš¦ç£œ¤œª œ¤«¦¢âª.
+  7. ’騘 §˜«ã©«œ CTRL-R (¡¨˜«é¤«˜ª §˜«ž£â¤¦ «¦ §¢ã¡«¨¦ CTRL ¡˜Ÿéª §˜«á«œ «¦ R)
+     £œ¨ ¡âª ­¦¨âª š ˜ ¤˜ œ§˜¤˜­â¨œ«œ « ª œ¤«¦¢âª (˜¤˜å¨œ©ž «à¤ ˜¤˜ ¨â©œà¤).
+
+---> Fiix the errors oon thhis line and reeplace them witth undo.
+
+  8. €¬«âª œå¤˜  §¦¢ç ®¨ã© £œª œ¤«¦¢âª.  ’騘 §žš˜å¤œ«œ ©«ž¤
+     œ¨å¢ž¯ž «¦¬ ‹˜Ÿã£˜«¦ª 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 2 „ˆŠ†–†
+
+
+  1. ‚ ˜ ¤˜ › ˜š¨á¯œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª ¢â¥žª š¨á¯«œ:      dw
+
+  2. ‚ ˜ ¤˜ › ˜š¨á¯œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª š¨˜££ãª š¨á¯«œ:    d$
+
+  3. ‚ ˜ ¤˜ › ˜š¨á¯œ«œ ¦¢æ¡¢ž¨ž «ž š¨˜££ã š¨á¯«œ:    dd
+
+  4. † £¦¨­ã š ˜ £å˜ œ¤«¦¢ã ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž œå¤˜ :
+
+      [˜¨ Ÿ£æª]   œ¤«¦¢ã   ˜¤« ¡œå£œ¤¦    ì    œ¤«¦¢ã   [˜¨ Ÿ£æª]   ˜¤« ¡œå£œ¤¦
+     槦¬:
+       ˜¨ Ÿ£æª - §æ©œª ­¦¨âª ¤˜ œ§˜¤˜¢ž­Ÿœå ž œ¤«¦¢ã
+       œ¤«¦¢ã - «  ¤˜ šå¤œ , æ§àª ž  d  š ˜ › ˜š¨˜­ã
+       ˜¤« ¡œå£œ¤¦ - §á¤à ©œ «  ¤˜ œ¤œ¨šã©œ  ž œ¤«¦¢ã, æ§àª  w  (¢â¥ž),
+		     $ («â¢¦ª «žª š¨˜££ãª), ¡«¢.
+
+  5. ‚ ˜ ¤˜ ˜¤˜ ¨â©œ«œ §¨¦žš¦ç£œ¤œª œ¤â¨šœ œª, §˜«ã©«œ:        u   (§œæ u)
+     ‚ ˜ ¤˜ ˜¤˜ ¨â©œ«œ 梜ª « ª ˜¢¢˜šâª ©«ž š¨˜££ã, §˜«ã©«œ:  U  (¡œ­˜¢˜å¦ U)
+     ‚ ˜ ¤˜ ˜¤˜ ¨â©œ«œ « ª ˜¤˜ ¨â©œ ª, §˜«ã©«œ:               CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			‹áŸž£˜ 3.1: † „Œ’ŽŠ† ’ŽŽ‡„’†‘†‘
+
+
+  ** ˜«ã©«œ  p  š ˜ ¤˜ «¦§¦Ÿœ«ã©œ«œ «ž¤ «œ¢œ¬«˜å˜ › ˜š¨˜­ã £œ«á «¦¤ ›¨¦£â˜.  **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã «žª §˜¨˜¡á«à ¦£á›˜ª.
+
+  2. ˜«ã©«œ  dd  š ˜ ¤˜ › ˜š¨á¯œ«œ «ž š¨˜££ã ¡˜  ¤˜ «ž¤ ˜§¦Ÿž¡œç©œ«œ ©œ
+     §¨¦©à¨ ¤ã £¤ã£ž «¦¬ Vim.
+
+  3. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž š¨˜££ã €Œ— ˜§æ œ¡œå §¦¬ Ÿ˜ §¨â§œ  ¤˜ §áœ 
+     ž › ˜š¨˜££â¤ž š¨˜££ã.
+
+  4.  œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž, §˜«ã©«œ  p  š ˜ ¤˜ ™á¢œ«œ «ž š¨˜££ã.
+
+  5. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 âઠ4 š ˜ ¤˜ ™á¢œ«œ 梜ª « ª š¨˜££âª ©«ž
+     ©à©«ã ©œ ¨á.
+
+     d) Can you learn too?
+     b) Violets are blue,
+     c) Intelligence is learned,
+     a) Roses are red,
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      ‹áŸž£˜ 3.2: † „Œ’ŽŠ† €Œ’ˆ‰€’€‘’€‘†‘
+
+
+    ** ˜«ã©«œ  r  ¡˜  ®˜¨˜¡«ã¨˜ š ˜ ¤˜ ˜¢¢á¥œ«œ ˜¬«æ¤ §¦¬ œå¤˜ 
+       ¡á«à ˜§æ «¦¤ ›¨¦£â˜. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
+
+  2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ â«©  é©«œ ¤˜ œå¤˜  §á¤à ©«¦ §¨é«¦ ¢áŸ¦ª.
+
+  3. ˜«ã©«œ  r  ¡˜  £œ«á «¦¤ ®˜¨˜¡«ã¨˜ ¦ ¦§¦å¦ª › ¦¨Ÿé¤œ  «¦ ¢áŸ¦ª.
+
+  4. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 ¡˜  3 £â®¨  ¤˜ œå¤˜  ©à©«ã ž §¨é«ž š¨˜££ã.
+
+--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
+--->  When this line was typed in, someone pressed some wrong keys!
+
+  5. ’騘 §žš˜å¤œ«œ ©«¦ ‹áŸž£˜ 3.2.
+
+‘†‹„ˆ—‘†: Œ˜ Ÿ¬£á©«œ æ«  §¨â§œ  ¤˜ £˜Ÿ˜å¤œ«œ £œ «ž ®¨ã©ž, ¡˜  æ®  £œ
+	  «ž¤ ˜§¦£¤ž£æ¤œ¬©ž.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			  ‹áŸž£˜ 3.3: † „Œ’ŽŠ† €ŠŠ€‚†‘
+
+	   ** ‚ ˜ ¤˜ ˜¢¢á¥œ«œ «£ã£˜ ã æ¢ž «ž ¢â¥ž, §˜«ã©«œ  cw  . **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
+
+  2. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ §á¤à ©«¦ u «žª ¢â¥žª lubw.
+
+  3. ˜«ã©«œ  cw  ¡˜  «ž ©à©«ã ¢â¥ž (©«ž¤ §œ¨å§«à©ž ˜¬«ã, š¨á¯«œ  'ine'.)
+
+  4. ˜«ã©«œ <ESC> ¡˜  §žš˜å¤œ«œ ©«¦ œ§æ£œ¤¦ ¢áŸ¦ª (©«¦¤ §¨é«¦
+     ®˜¨˜¡«ã¨˜ §¨¦ª ˜¢¢˜šã).
+
+  5. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 3 ¡˜  4 £â®¨ ª 櫦¬ ž §¨é«ž §¨æ«˜©ž ¤˜ œå¤˜ 
+     因˜ £œ «ž ›œç«œ¨ž.
+
+---> This lubw has a few wptfd that mrrf changing usf the change command.
+---> This line has a few words that need changing using the change command.
+
+˜¨˜«ž¨œå©«œ æ«  ž  cw  æ®  £æ¤¦ ˜¤« ¡˜Ÿ ©«áœ  «ž ¢â¥ž, ˜¢¢á ©˜ª œ ©ášœ 
+œ§å©žª ©œ §˜¨œ£™¦¢ã.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     ‹áŸž£˜ 3.4: „ˆ‘‘Ž’„„‘ €ŠŠ€‚„‘ ‹„ c
+
+
+  ** † œ¤«¦¢ã ˜¢¢˜šãª ®¨ž© £¦§¦ œå«˜  £œ «˜ 因˜ ˜¤« ¡œå£œ¤˜ «žª › ˜š¨˜­ãª. **
+
+
+  1. † œ¤«¦¢ã ˜¢¢˜šãª ›¦¬¢œçœ  £œ «¦¤ 因¦ «¨æ§¦ æ§àª ž › ˜š¨˜­ã. † £¦¨­ã œå¤˜ :
+
+       [˜¨ Ÿ£æª]   c   ˜¤« ¡œå£œ¤¦     ì     c   [˜¨ Ÿ£æª]   ˜¤« ¡œå£œ¤¦
+
+  2. ’˜ ˜¤« ¡œå£œ¤˜ œå¤˜  §á¢  «˜ 因˜, æ§àª w (¢â¥ž), $ («â¢¦ª š¨˜££ãª), ¡«¢.
+
+  3. ‹œ«˜¡ ¤žŸœå«œ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
+
+  4. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ §¨é«¦ ¢áŸ¦ª.
+
+  5. ‚¨á¯«œ  c$  š ˜ ¤˜ ¡á¤œ«œ «¦ ¬§æ¢¦ §¦ «žª š¨˜££ãª 因¦ £œ «ž ›œç«œ¨ž
+     ¡˜  §˜«ã©«œ <ESC>.
+
+---> The end of this line needs some help to make it like the second.
+---> The end of this line needs to be corrected using the  c$  command.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 3 „ˆŠ†–†
+
+
+  1. ‚ ˜ ¤˜ «¦§¦Ÿœ«ã©œ«œ ¡œå£œ¤¦ §¦¬ £æ¢ ª ⮜  › ˜š¨˜­œå, §˜«ã©«œ  p .
+     €¬«æ «¦§¦Ÿœ«œå «¦ › ˜š¨˜££â¤¦ ¡œå£œ¤¦ ‹„’€ «¦¤ ›¨¦£â˜ (˜¤ › ˜š¨á­«ž¡œ
+     š¨˜££ã Ÿ˜ §áœ  £œ«á ©«ž š¨˜££ã ¡á«à ˜§æ «¦¤ ›¨¦£â˜.
+
+  2. ‚ ˜ ¤˜ ˜¤« ¡˜«˜©«ã©œ«œ «¦¤ ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜, §˜«ã©«œ  r
+     ¡˜  £œ«á «¦¤ ®˜¨˜¡«ã¨˜ §¦¬ Ÿ˜ ˜¤« ¡˜«˜©«ã©œ  «¦¤ ˜¨® ¡æ.
+
+  3. † œ¤«¦¢ã ˜¢¢˜šãª ©˜ª œ§ «¨â§œ  ¤˜ ˜¢¢á¥œ«œ «¦ ¡˜Ÿ¦¨ ©£â¤¦ ˜¤« ¡œå£œ¤¦
+     ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «¦¬ ˜¤« ¡œå£œ¤¦. .®. š¨á¯«œ  cw  š ˜ ¤˜
+     ˜¢¢á¥œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, c$ š ˜ ¤˜ ˜¢¢á¥œ«œ
+     £â®¨  «¦ «â¢¦ª š¨˜££ãª.
+
+  4. † £¦¨­ã š ˜ «ž¤ ˜¢¢˜šã œå¤˜ :
+
+	 [˜¨ Ÿ£æª]   c   ˜¤« ¡œå£œ¤¦     ì     c   [˜¨ Ÿ£æª]   ˜¤« ¡œå£œ¤¦
+
+’騘 ©¬¤œ®å©«œ £œ «¦ œ§æ£œ¤¦ £áŸž£˜.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     ‹áŸž£˜ 4.1: ‡„‘† ‰€ˆ ‰€’€‘’€‘† €•„ˆŽ“
+
+
+ ** ˜«ã©«œ CTRL-g š ˜ ¤˜ œ£­˜¤ ©«œå ž Ÿâ©ž ©˜ª ©«¦ ˜¨®œå¦ ¡˜  ž ¡˜«á©«˜©ã «¦¬.
+    ˜«ã©«œ SHIFT-G š ˜ ¤˜ §á«œ ©œ £å˜ š¨˜££ã ©«¦ ˜¨®œå¦. **
+
+  ‘ž£œåਫ਼: ƒ ˜™á©«œ ¦¢æ¡¢ž¨¦ «¦ £áŸž£˜ §¨ ¤ œ¡«œ¢â©œ«œ ¡á§¦ ¦ ˜§æ «˜ ™ã£˜«˜!!
+
+  1. ‰¨˜«ã©«œ §˜«ž£â¤¦ «¦ §¢ã¡«¨¦ Ctrl ¡˜  §˜«ã©«œ  g . ‹å˜ š¨˜££ã ¡˜«á©«˜©žª
+     Ÿ˜ œ£­˜¤ ©«œå ©«¦ ¡á«à £â¨¦ª «žª ©œ¢å›˜ª £œ «¦ 椦£˜ ˜¨®œå¦¬ ¡˜  «ž
+     š¨˜££ã §¦¬ œå©«œ. ‡¬£žŸœå«œ «¦¤ ˜¨ Ÿ£æ š¨˜££ãª š ˜ «¦ ã£˜ 3.
+
+  2. ˜«ã©«œ shift-G š ˜ ¤˜ £œ«˜¡ ¤žŸœå«œ ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬.
+
+  3. ˜«ã©«œ «¦¤ ˜¨ Ÿ£æ «žª š¨˜££ãª §¦¬ 㩘©«˜¤ ¡˜  £œ«á shift-G. €¬«æ Ÿ˜
+     ©˜ª œ§ ©«¨â¯œ  ©«ž š¨˜££ã §¦¬ 㩘©«˜¤ §¨ ¤ §˜«ã©œ«œ š ˜ §¨é«ž ­¦¨á Ctrl-g.
+     (¤ §¢ž¡«¨¦¢¦šœå«œ «¦¬ª ˜¨ Ÿ£¦çª, ƒ„Œ Ÿ˜ œ£­˜¤å¦¤«˜  ©«ž¤ ¦Ÿæ¤ž).
+
+  4. €¤ ¤¦ éŸœ«œ ©å𦬍¦ª š ˜ ˜¬«æ, œ¡«œ¢â©«œ «˜ ™ã£˜«˜ 1 âઠ3.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			‹áŸž£˜ 4.2: † „Œ’ŽŠ† €Œ€…†’†‘†‘
+
+
+	  ** ˜«ã©«œ   /   ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ «ž ­¨á©ž §¦¬ ¯á®¤œ«œ. **
+
+  1. ‘œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ «¦¤ ®˜¨˜¡«ã¨˜  / . ˜¨˜«ž¨ã©«œ æ«  ˜¬«æª ¡˜ 
+     ¦ ›¨¦£â˜ª œ£­˜¤å¦¤«˜  ©«¦ ¡á«à £â¨¦ª «žª ¦Ÿæ¤žª æ§àª £œ «ž¤ œ¤«¦¢ã  : .
+
+  2. ’騘 š¨á¯«œ 'errroor' <ENTER>. €¬«ã œå¤˜  ž ¢â¥ž §¦¬ Ÿâ¢œ«œ ¤˜ ¯á¥œ«œ.
+
+  3. ‚ ˜ ¤˜ ¯á¥œ«œ ¥˜¤á š ˜ «ž¤ 因˜ ­¨á©ž, §˜«ã©«œ ˜§¢éª  n .
+     ‚ ˜ ¤˜ ¯á¥œ«œ «ž¤ 因˜ ­¨á©ž ©«ž¤ ˜¤«åŸœ«ž ¡˜«œçŸ¬¤©ž, §˜«ã©«œ  Shift-N .
+
+  4. €¤ Ÿâ¢œ«œ ¤˜ ¯á¥œ«œ š ˜ £å˜ ­¨á©ž §¨¦ª «˜ §å©à, ®¨ž© £¦§¦ ã©«œ «ž¤ œ¤«¦¢ã  ?  ˜¤«å «žª  / .
+
+---> ¤ ž ˜¤˜ã«ž©ž ­«á©œ  ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬ Ÿ˜ ©¬¤œ®å©œ  ˜§æ «ž¤ ˜¨®ã.
+
+  "errroor" is not the way to spell error;  errroor is an error.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 4.3: „“„‘† ’€ˆˆ€‘’—Œ €„Œ‡„‘„—Œ
+
+
+	  ** ˜«ã©«œ   %   š ˜ ¤˜ ™¨œå«œ «ž¤ ˜¤«å©«¦ ®ž ), ], ã } . **
+
+  1. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©œ ¡á§¦ ˜ (, [, ã { ©«ž¤ §˜¨˜¡á«à š¨˜££ã
+     ©ž£œ à£â¤ž £œ --->.
+
+  2. ’騘 §˜«ã©«œ «¦¤ ®˜¨˜¡«ã¨˜  % .
+
+  3. Ž ›¨¦£â˜ª Ÿ˜ §¨â§œ  ¤˜ œå¤˜  ©«ž¤ ˜¤«å©«¦ ®ž §˜¨â¤Ÿœ©ž 㠘š¡ç¢ž.
+
+  4. ˜«ã©«œ  %  š ˜ ¤˜ £œ«˜¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜ §å©à ©«ž¤ §¨é«ž ˜š¡ç¢ž
+    («¦¬ œ¬š˜¨ ¦ç).
+
+---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
+
+‘†‹„ˆ—‘†: €¬«æ œå¤˜  §¦¢ç ®¨ã© £¦ ©«ž¤ ˜§¦©­˜¢£á«à©ž œ¤æª §¨¦š¨á££˜«¦ª
+	  £œ £ž «˜ ¨ ˜©«âª §˜¨œ¤Ÿâ©œ ª!
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    ‹áŸž£˜ 4.4: „Œ€‘ ’ŽŽ‘ ‚ˆ€ €ŠŠ€‚† Š€‡—Œ
+
+
+       ** ‚¨á¯«œ  :s/old/new/g  š ˜ ¤˜ ˜¢¢á¥œ«œ «¦ 'new' £œ «¦ 'old'. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
+
+  2. ‚¨á¯«œ  :s/thee/the <ENTER> . ‘ž£œ é©«œ æ«  ˜¬«ã ž œ¤«¦¢ã ˜¢¢áœ  £æ¤¦
+     «ž¤ §¨é«ž œ£­á¤ ©ž ©«ž š¨˜££ã.
+
+  3. ’騘 š¨á¯«œ   :s/thee/the/g    œ¤¤¦é¤«˜ª šœ¤ ¡ã ˜¤« ¡˜«á©«˜©ž ©«ž
+     š¨˜££ã. €¬«æ ˜¢¢áœ  梜ª « ª œ£­˜¤å©œ ª œ§å «žª š¨˜££ãª.
+
+---> thee best time to see thee flowers is in thee spring.
+
+  4. ‚ ˜ ¤˜ ˜¢¢á¥œ«œ ¡áŸœ œ£­á¤ ©ž £å˜ª ©¬£™¦¢¦©œ ¨áª £œ«˜¥ç ›ç¦ š¨˜££é¤,
+     š¨á¯«œ   :#,#s/old/new/g   槦¬ #,# ¦  ˜¨ Ÿ£¦å «à¤ ›ç¦ š¨˜££é¤.
+     ‚¨á¯«œ   :%s/old/new/g     š ˜ ¤˜ ˜¢¢á¥œ«œ ¡áŸœ œ£­á¤ ©ž ©œ 梦 «¦ ˜¨®œå¦.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 4 „ˆŠ†–†
+
+
+  1. ’¦  Ctrl-g  œ£­˜¤åœ  «ž Ÿâ©ž ©˜ª ©«¦ ˜¨®œå¦ ¡˜  «ž¤ ¡˜«á©«˜©ã «¦¬.
+     ’¦  Shift-G  §žš˜å¤œ  ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬. 뤘ª ˜¨ Ÿ£æª š¨˜££ãª
+     ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ª ˜§æ  Shift-G  §žš˜å¤œ  ©œ œ¡œå¤ž «ž š¨˜££ã.
+
+  2. ‚¨á­¦¤«˜ª  /  ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ ­¨á©ž ¯á®¤œ  §¨¦ª «˜ ‹Ž‘’€ š ˜
+     «ž ­¨á©ž. ‚¨á­¦¤«˜ª  ?  ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ ­¨á©ž ¯á®¤œ  §¨¦ª «˜ ˆ‘—
+     š ˜ «ž ­¨á©ž. ‹œ«á ˜§æ £å˜ ˜¤˜ã«ž©ž §˜«ã©«œ  n  š ˜ ¤˜ ™¨œå«œ «ž¤
+     œ§æ£œ¤ž œ£­á¤ ©ž §¨¦ª «ž¤ 因˜ ¡˜«œçŸ¬¤©ž ã  Shift-N  š ˜ ¤˜ ¯á¥œ«œ
+     §¨¦ª «ž¤ ˜¤«åŸœ«ž ¡˜«œçŸ¬¤©ž.
+
+  3. ˜«é¤«˜ª  %  橦 ¦ ›¨¦£â˜ª œå¤˜  §á¤à ©œ £å˜ (,),[,],{, ã }  œ¤«¦§åœ 
+     «¦ ˜¤«å©«¦ ®¦ «˜å¨  «¦¬ œ¬š˜¨ ¦ç.
+
+  4. ‚ ˜ ˜¤« ¡˜«á©«˜©ž £œ new «¦¬ §¨é«¦¬ old ©«ž š¨˜££ã š¨á¯«œ  :s/old/new
+     ‚ ˜ ˜¤« ¡˜«á©«˜©ž £œ new æ¢à¤ «à¤ 'old' ©«ž š¨˜££ã š¨á¯«œ  :s/old/new/g
+     ‚ ˜ ˜¤« ¡˜«á©«˜©ž ­¨á©œà¤ £œ«˜¥ç ›ç¦ # š¨˜££é¤ š¨á¯«œ      :#,#s/old/new/g
+     ‚ ˜ ˜¤« ¡˜«á©«˜©ž æ¢à¤ «à¤ œ£­˜¤å©œà¤ ©«¦ ˜¨®œå¦ š¨á¯«œ    :%s/old/new/g
+     ‚ ˜ œ¨é«ž©ž œ§ ™œ™˜åਫ਼ª ¡áŸœ ­¦¨á §¨¦©Ÿâ©«œ ⤘ 'c'       "%s/old/new/gc
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  ‹áŸž£˜ 5.1: —‘ „‰’„Š— ‹ˆ€ „—’„ˆ‰† „Œ’ŽŠ†
+
+
+** ‚¨á¯«œ  :!  ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ œ¥à«œ¨ ¡ã œ¤«¦¢ã š ˜ ¤˜ «ž¤ œ¡«œ¢â©œ«œ. **
+
+  1. ˜«ã©«œ «ž¤ ¦ ¡œå˜ œ¤«¦¢ã  :  š ˜ ¤˜ Ÿâ©œ«œ «¦¤ ›¨¦£â˜ ©«¦ ¡á«à £â¨¦ª
+     «žª ¦Ÿæ¤žª. €¬«æ ©˜ª œ§ «¨â§œ  ¤˜ ›é©œ«œ £å˜ œ¤«¦¢ã.
+
+  2. ’騘 §˜«ã©«œ  «¦  !  (Ÿ˜¬£˜©« ¡æ). €¬«æ ©˜ª œ§ «¨â§œ  ¤˜ œ¡«œ¢â©œ«œ
+     ¦§¦ ˜›ã§¦«œ œ¥à«œ¨ ¡ã œ¤«¦¢ã «¦¬ ­¢¦ ¦ç.
+
+  3. ‘˜¤ §˜¨á›œ š£˜ š¨á¯«œ  ls  £œ«á ˜§æ «¦ ! ¡˜  §˜«ã©«œ <ENTER>. €¬«æ Ÿ˜
+     ©˜ª œ£­˜¤å©œ  £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª, ˜¡¨ ™éª ©˜¤ ¤˜ 㩘©«˜¤ ©«ž¤
+     §¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç. ì ®¨ž© £¦§¦ ã©«œ  :!dir  ˜¤ «¦ ls ›œ¤ ›¦¬¢œçœ .
+
+---> ‘ž£œåਫ਼: „夘  ›¬¤˜«æ¤ ¤˜ œ¡«œ¢â©œ«œ ¦§¦ ˜›ã§¦«œ œ¥à«œ¨ ¡ã œ¤«¦¢ã
+     £œ ˜¬«æ¤ «¦¤ «¨æ§¦.
+
+---> ‘ž£œåਫ਼: ª ¦  œ¤«¦¢âª  :  §¨â§œ  ¤˜ «œ¨£˜«å¦¤«˜  §˜«é¤«˜ª «¦ <ENTER>.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		 ‹áŸž£˜ 5.2: „ˆ‘‘Ž’„€ „ˆ „‚‚€”†‘ €•„ˆ—Œ
+
+
+   ** ‚ ˜ ¤˜ ©é©œ«œ « ª ˜¢¢ášœª §¦¬ ¡á¤˜«œ ©«¦ ˜¨®œå¦, š¨á¯«œ  :w €•„ˆŽ.  **
+
+  1. ‚¨á¯«œ  :!dir  ã  :!ls  š ˜ ¤˜ §á¨œ«œ £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª.
+     웞 ¥â¨œ«œ æ«  §¨â§œ  ¤˜ §˜«ã©œ«œ <ENTER> £œ«á ˜§æ ˜¬«æ.
+
+  2. ƒ ˜¢â¥«œ ⤘ 椦£˜ ˜¨®œå¦¬ §¦¬ ›œ¤ ¬§á¨®œ  ˜¡æ£˜, æ§àª «¦ TEST.
+
+  3. ’騘 š¨á¯«œ:  :w TEST  (槦¬ TEST œå¤˜  «¦ 椦£˜ ˜¨®œå¦¬ §¦¬ › ˜¢â¥˜«œ).
+
+  4. €¬«æ ©éœ  梦 «¦ ˜¨®œå¦ (vim Tutor) £œ «¦ 椦£˜ TEST. ‚ ˜ ¤˜ «¦
+     œ§˜¢žŸœç©œ«œ, š¨á¯«œ ¥˜¤á  :!dir š ˜ ¤˜ ›œå«œ «¦¤ ¡˜«á¢¦šæ ©˜ª.
+
+---> ‘ž£œ é©«œ æ«  ˜¤ ™š˜å¤˜«œ ˜§æ «¦¤ Vim ¡˜  £§˜å¤˜«œ ¥˜¤á £œ «¦ 椦£˜
+     ˜¨®œå¦¬ TEST, «¦ ˜¨®œå¦ Ÿ˜ 㫘¤ ˜¡¨ ™âª ˜¤«åš¨˜­¦ «¦¬ tutor 櫘¤ «¦ ©é©˜«œ.
+
+  5. ’騘 › ˜š¨á¯«œ «¦ ˜¨®œå¦ š¨á­¦¤«˜ª (MS-DOS):      :!del TEST
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     ‹áŸž£˜ 5.3: „ˆŠ„‰’ˆ‰† „Œ’ŽŠ† „‚‚€”†‘
+
+
+	  ** ‚ ˜ ¤˜ ©é©œ«œ «£ã£˜ «¦¬ ˜¨®œå¦¬, š¨á¯«œ  :#,# w €•„ˆŽ **
+
+  1. ꢢž £ ˜ ­¦¨á, š¨á¯«œ  :!dir  ã  :!ls  š ˜ ¤˜ §á¨œ«œ £å˜ ¢å©«˜ ˜§æ «¦¤
+     ¡˜«á¢¦šæ ©˜ª ¡˜  › ˜¢â¥«œ ⤘ ¡˜«á¢¢ž¢¦ 椦£˜ ˜¨®œå¦¬ æ§àª «¦ TEST.
+
+  2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ §á¤à £â¨¦ª ˜¬«ãª «žª ©œ¢å›˜ª ¡˜  §˜«ã©«œ
+     Ctrl-g  š ˜ ¤˜ ™¨œå«œ «¦¤ ˜¨ Ÿ£æ ˜¬«ãª «žª š¨˜££ãª.
+     Œ€ ‡“‹€‘’„ €“’ŽŒ ’ŽŒ €ˆ‡‹Ž!
+
+  3. ’騘 §žš˜å¤œ«œ ©«¦ ¡á«à £â¨¦ª «žª ©œ¢å›˜ª ¡˜  §˜«ã©«œ  Ctrl-g  ¥˜¤á.
+     Œ€ ‡“‹€‘’„ ‰€ˆ €“’ŽŒ ’ŽŒ €ˆ‡‹Ž!
+
+  4. ‚ ˜ ¤˜ ©é©œ«œ ‹ŽŒŽ ⤘ «£ã£˜ ©œ ˜¨®œå¦, š¨á¯«œ   :#,# w TEST
+     槦¬ #,# ¦  ›ç¦ ˜¨ Ÿ£¦å §¦¬ ˜§¦£¤ž£¦¤œç©˜«œ (§á¤à,¡á«à) ¡˜  TEST «¦
+     椦£˜ «¦¬ ˜¨®œå¦¬ ©˜ª.
+
+  5. ˜¤á, ›œå«œ æ«  «¦ ˜¨®œå¦ œå¤˜  œ¡œå £œ «ž¤  :!dir ˜¢¢á ‹†Œ «¦ › ˜š¨á¯œ«œ.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  ‹áŸž£˜ 5.4: €Œ€‰’—Œ’€‘ ‰€ˆ „Œ—ŒŽŒ’€‘ €•„ˆ€
+
+
+     ** ‚ ˜ ¤˜ œ ©ášœ«œ «˜ §œ¨ œ®æ£œ¤˜ œ¤æª ˜¨®œå¦¬, š¨á¯«œ   :r €•„ˆŽ **
+
+  1. ‚¨á¯«œ  :!dir  š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  «¦ TEST ¬§á¨®œ  ˜§æ §¨ ¤.
+
+  2. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©«¦ §á¤à £â¨¦ª «žª ©œ¢å›˜ª.
+
+‘†‹„ˆ—‘†:  €­æ«¦¬ œ¡«œ¢â©œ«œ «¦ ã£˜ 3 Ÿ˜ ›œå«œ «¦ ‹áŸž£˜ 5.3.
+	   ‹œ«á ¡ ¤žŸœå«œ ‰€’— ¥˜¤á §¨¦ª «¦ £áŸž£˜ ˜¬«æ.
+
+  3. ’騘 ˜¤˜¡«ã©«œ «¦ ˜¨®œå¦ ©˜ª TEST ®¨ž© £¦§¦ é¤«˜ª «ž¤ œ¤«¦¢ã  :r TEST
+     槦¬ TEST œå¤˜  «¦ 椦£˜ «¦¬ ˜¨®œå¦¬.
+
+‘†‹„ˆ—‘†:  ’¦ ˜¨®œå¦ §¦¬ ˜¤˜¡«á«œ «¦§¦Ÿœ«œå«˜  ¥œ¡ ¤é¤«˜ª œ¡œå §¦¬ ™¨å©¡œ«˜ 
+	   ¦ ›¨¦£â˜ª.
+
+  4. ‚ ˜ ¤˜ œ§˜¢žŸœç©œ«œ æ«  «¦ ˜¨®œå¦ ˜¤˜¡«ãŸž¡œ, §å©à «¦¤ ›¨¦£â˜ ¡˜ 
+     §˜¨˜«ž¨ã©«œ æ«  ¬§á¨®¦¬¤ «é¨˜ ›ç¦ ˜¤«åš¨˜­˜ «¦¬ ‹˜Ÿã£˜«¦ª 5.3, «¦
+     ˜¨® ¡æ ¡˜  ž ⡛¦©ž «¦¬ ˜¨®œå¦¬.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 5 „ˆŠ†–†
+
+
+  1.  :!œ¤«¦¢ã  œ¡«œ¢œå £å˜ œ¥à«œ¨ ¡ã œ¤«¦¢ã.
+
+      ‹œ¨ ¡á ®¨ã© £˜ §˜¨˜›œåš£˜«˜ œå¤˜  (MS-DOS):
+      :!dir            - œ£­á¤ ©ž ¢å©«˜ª œ¤æª ¡˜«˜¢æš¦¬.
+      :!del €•„ˆŽ     - › ˜š¨á­œ  «¦ €•„ˆŽ.
+
+  2.  :w €•„ˆŽ   š¨á­œ  «¦ «¨â®à¤ ˜¨®œå¦ «¦¬ Vim ©«¦ ›å©¡¦ £œ 椦£˜ €•„ˆŽ.
+
+  3.  :#,#w €•„ˆŽ   ©éœ  « ª š¨˜££âª ˜§æ # £â®¨  # ©«¦ €•„ˆŽ.
+
+  4.  :r €•„ˆŽ  ˜¤˜¡«œå «¦ ˜¨®œå¦ ›å©¡¦¬ €•„ˆŽ ¡˜  «¦ §˜¨œ£™á¢¢œ  £â©˜
+      ©«¦ «¨â®¦¤ ˜¨®œå¦ £œ«á ˜§æ «ž Ÿâ©ž «¦¬ ›¨¦£â˜.
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			‹áŸž£˜ 6.1: † „Œ’ŽŠ† €ŒŽˆ‚‹€’Ž‘
+
+
+      ** ˜«ã©«œ  o  š ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã ¡á«à ˜§æ «¦¤ ›¨¦£â˜ ¡˜  ¤˜
+	 ™¨œŸœå«œ ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
+
+  2. ˜«ã©«œ  o (§œæ) š ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã ‰€’— ˜§æ «¦¤ ›¨¦£â˜ ¡˜  ¤˜
+     ™¨œŸœå«œ ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
+
+  3. ’騘 ˜¤« š¨á¯«œ «ž ©ž£œ à£â¤ž £œ ---> š¨˜££ã  ¡˜  §˜«ã©«œ <ESC> š ˜ ¤˜
+     ™šœå«œ ˜§æ «ž¤ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
+
+---> After typing  o  the cursor is placed on the open line in Insert mode.
+
+  4. ‚ ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã €Œ— ˜§æ «¦¤ ›¨¦£â˜, §˜«ã©«œ ˜§¢á ⤘ ¡œ­˜¢˜å¦
+     O, ˜¤«å š ˜ ⤘ §œæ  o.  ƒ¦¡ £á©«œ «¦ ©«ž¤ §˜¨˜¡á«à š¨˜££ã.
+€¤¦åšœ«œ š¨˜££ã §á¤à ˜§æ ˜¬«ã¤ §˜«é¤«˜ª Shift-O 橦 ¦ ›¨¦£â˜ª œå¤˜  ©«ž š¨˜££ã
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 ‹áŸž£˜ 6.2: † „Œ’ŽŠ† Ž‘‡†‰†‘
+
+	  ** ˜«ã©«œ   a   š ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ‹„’€ «¦¤ ›¨¦£â˜. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ «â¢¦ª «žª §¨é«žª š¨˜££ãª §˜¨˜¡á«à
+     ©ž£œ à£â¤ž £œ ---> §˜«é¤«˜ª  $  ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
+
+  2. ˜«ã©«œ ⤘  a  (§œæ) š ˜ ¤˜ §¨¦©Ÿâ©œ«œ ¡œå£œ¤¦ ‹„’€ ˜§æ «¦¤ ®˜¨˜¡«ã¨˜
+     §¦¬ œå¤˜  ¡á«à ˜§æ «¦¤ ›¨¦£â˜.  (’¦ ¡œ­˜¢˜å¦  A  §¨¦©Ÿâ«œ  ©«¦ «â¢¦ª
+     «žª š¨˜££ãª).
+
+‘ž£œåਫ਼: €¬«æ ˜§¦­œçšœ  «¦ §á«ž£˜ «¦¬  i , «¦¤ «œ¢œ¬«˜å¦ ®˜¨˜¡«ã¨˜, «¦
+	  ¡œå£œ¤¦ «žª œ ©˜šàšãª, <ESC>, ›¨¦£â˜-›œ¥ á, ¡˜  «â¢¦ª, x, £æ¤¦ ¡˜ 
+	  £æ¤¦ š ˜ ¤˜ §¨¦©Ÿâ©œ«œ ©«¦ «â¢¦ª «žª š¨˜££ãª!
+
+  3. ‘¬£§¢ž¨é©«œ «é¨˜ «ž¤ §¨é«ž š¨˜££ã. ‘ž£œ é©«œ œ§å©žª æ«  ž §¨¦©Ÿã¡ž œå¤˜ 
+     ˜¡¨ ™éª 因˜ ©«ž¤ ‰˜«á©«˜©ž ‰œ £â¤¦¬ £œ «ž¤ ‰˜«á©«˜©ž „ ©˜šàšãª, œ¡«æª
+     ˜§æ «ž Ÿâ©ž §¦¬ œ ©ášœ«˜  «¦ ¡œå£œ¤¦.
+
+---> This line will allow you to practice
+---> This line will allow you to practice appending text to the end of a line.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   ‹áŸž£˜ 6.3: €ŠŠ† „‰ƒŽ‘† ’†‘ €Œ’ˆ‰€’€‘’€‘†‘
+
+
+ ** ˜«ã©«œ ¡œ­˜¢˜å¦  R  š ˜ ¤˜ ˜¢¢á¥œ«œ §œ¨ ©©æ«œ¨¦¬ª ˜§æ ⤘¤ ®˜¨˜¡«ã¨œª. **
+
+  1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
+
+  2. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©«ž¤ ˜¨®ã «žª §¨é«žª ¢â¥žª §¦¬ œå¤˜  › ˜­¦¨œ« ¡ã
+     ˜§æ «ž ›œç«œ¨ž š¨˜££ã ©ž£œ à£â¤ž £œ ---> (ž ¢â¥ž 'last').
+
+  3. ˜«ã©«œ «é¨˜  R   ¡˜  ˜¢¢á¥«œ «¦ ¬§æ¢¦ §¦ «¦¬ ¡œ £â¤¦¬ ©«ž¤ §¨é«ž š¨˜££ã
+     š¨á­¦¤«˜ª §á¤à ˜§æ «¦ §˜¢ æ ¡œå£œ¤¦ é©«œ ¤˜ ¡á¤œ«œ «ž¤ §¨é«ž š¨˜££ã 因˜
+     £œ «ž ›œç«œ¨ž.
+
+---> To make the first line the same as the last on this page use the keys.
+---> To make the first line the same as the second, type R and the new text.
+
+  4. ‘ž£œ é©«œ æ«  櫘¤ §˜«á«œ <ESC> š ˜ ¤˜ ™šœå«œ, §˜¨˜£â¤œ  ¦§¦ ¦›ã§¦«œ
+     ˜¤˜¢¢¦å૦ ¡œå£œ¤¦.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			  ‹áŸž£˜ 6.4: “‡‹ˆ‘† „ˆŠŽ‚†‘
+
+
+   ** ¬Ÿ£å©«œ £å˜ œ§ ¢¦šã â«©  é©«œ ž ˜¤˜ã«ž©ž 㠞 ˜¤« ¡˜«á©«˜©ž ¤˜ ˜š¤¦œå
+      «ž › ˜­¦¨á §œé¤-¡œ­˜¢˜åठ**
+
+  1. –ᥫœ š ˜ 'ignore' œ ©á𦤫˜ª:
+     /ignore
+     ‘¬¤œ®å©«œ ˜¨¡œ«âª ­¦¨âª §˜«é¤«˜ª «¦ §¢ã¡«¨¦ n.
+
+  2. ‡â©«œ «ž¤ œ§ ¢¦šã 'ic' (Ignore case) š¨á­¦¤«˜ª:
+     :set ic
+
+  3. –ᥫœ «é¨˜ ¥˜¤á š ˜ 'ignore' §˜«é¤«˜ª: n
+     ‘¬¤œ®å©«œ «ž¤ ˜¤˜ã«ž©ž £œ¨ ¡âª ˜¡æ£˜ ­¦¨âª §˜«é¤«˜ª «¦ §¢ã¡«¨¦ n
+
+  4. ‡â©«œ « ª œ§ ¢¦šâª 'hlsearch' ¡˜  'incsearch':
+     :set hls is
+
+  5. „ ©ášœ«œ «é¨˜ ¥˜¤á «ž¤ œ¤«¦¢ã ˜¤˜ã«ž©žª, ¡˜  ›œå«œ «  ©¬£™˜å¤œ 
+     /ignore
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       ‹€‡†‹€ 6 „ˆŠ†–†
+
+
+  1. ˜«é¤«˜ª  o  ˜¤¦åšœ  £å˜ š¨˜££ã ‰€’— ˜§æ «¦¤ ›¨¦£â˜ ¡˜  «¦§¦Ÿœ«œå «¦¤
+     ›¨¦£â˜ ©«ž¤ ˜¤¦ ®«ã š¨˜££ã ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
+
+  2. ˜«ã©«œ  a  š ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ‹„’€ «¦¤ ®˜¨˜¡«ã¨˜ ©«¦¤ ¦§¦å¦ œå¤˜ 
+     ¦ ›¨¦£â˜ª. ˜«é¤«˜ª ¡œ­˜¢˜å¦  A  ˜¬«æ£˜«˜ §¨¦©Ÿâ«œ  ¡œå£œ¤¦ ©«¦ «â¢¦ª
+     «žª š¨˜££ãª.
+
+  3. ˜«é¤«˜ª ¡œ­˜¢˜å¦  R  œ ©â¨®œ«˜  ©«ž¤ ‰˜«á©«˜ž €¤« ¡˜«á©«˜©žª £â®¨  ¤˜
+     §˜«žŸœå «¦ <ESC> ¡˜  ¤˜ œ¥â¢Ÿœ .
+
+  4. ‚¨á­¦¤«˜ª ":set xxx" ¨¬Ÿ£åœ  «ž¤ œ§ ¢¦šã "xxx".
+
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       ‹€‡†‹€ 7: ON-LINE „Œ’ŽŠ„‘ Ž†‡„ˆ€‘
+
+
+		** •¨ž© £¦§¦ ã©«œ «¦ on-line ©ç©«ž£˜ ™¦ãŸœ ˜ª **
+
+  Ž Vim ⮜  ⤘ §œ¨ œ¡« ¡æ on-line ©ç©«ž£˜ ™¦ãŸœ ˜ª. ‚ ˜ ¤˜ ¥œ¡ ¤ã©œ ,
+  ›¦¡ £á©«œ ¡á§¦ ¦ ˜§æ «˜ «¨å˜:
+	- §˜«ã©«œ «¦ §¢ã¡«¨¦ <HELP> (˜¤ ⮜«œ ¡á§¦ ¦)
+	- §˜«ã©«œ «¦ §¢ã¡«¨¦ <F1> (˜¤ ⮜«œ ¡á§¦ ¦)
+	- š¨á¯«œ   :help <ENTER>
+
+  ‚¨á¯«œ  :q <ENTER>   š ˜ ¤˜ ¡¢œå©œ«œ «¦ §˜¨áŸ¬¨¦ «žª ™¦ãŸœ ˜ª.
+
+  ‹§¦¨œå«œ ¤˜ ™¨œå«œ ™¦ãŸœ ˜ §á¤à ©œ ¡áŸœ ˜¤« ¡œå£œ¤¦, ›å¤¦¤«˜ª £å˜ §˜¨á£œ«¨¦
+  ©«ž¤ œ¤«¦¢ã ":help".  ƒ¦¡ £á©«œ ˜¬«á (£ž¤ ¥œ®¤á«œ ¤˜ §˜«á«œ <ENTER>):
+
+	:help w
+	:help c_<T
+	:help insert-index
+	:help user-manual
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  ‹€‡†‹€ 8: ƒ†‹ˆŽ“‚†‘’„ „Œ€ SCRIPT „‰‰ˆŒ†‘†‘
+
+		   ** „¤œ¨š¦§¦ ã©«œ ®˜¨˜¡«ž¨ ©« ¡á «¦¬ Vim **
+
+  Ž Vim ⮜  §¦¢¢á §œ¨ ©©æ«œ¨˜ ®˜¨˜¡«ž¨ ©« ¡á ˜§' æ,«  ¦ Vi, ˜¢¢á «˜
+  §œ¨ ©©æ«œ¨˜ œå¤˜  ˜¨® ¡á ˜§œ¤œ¨š¦§¦ ž£â¤˜. ‚ ˜ ¤˜ ˜¨®å©œ«œ ¤˜ ®¨ž© £¦§¦ œå«œ
+  §œ¨ ©©æ«œ¨˜ ®˜¨˜¡«ž¨ ©« ¡á §¨â§œ  ¤˜ ­« á¥œ«œ ⤘ ˜¨®œå¦ "vimrc".
+
+  1. €¨®å©«œ › ¦¨Ÿé¤¦¤«˜ª «¦ ˜¨®œå¦ "vimrc", ˜¬«æ œ¥˜¨«á«˜  ˜§æ «¦ ©ç©«ž£á ©˜ª:
+	:edit ~/.vimrc               š ˜ Unix
+	:edit $VIM/_vimrc            š ˜ MS-Windows
+
+  2. ’騘 œ ©ášœ«œ «¦ ¡œå£œ¤¦ §˜¨˜›œåš£˜«¦ª š ˜ ˜¨®œå¦ "vimrc":
+	:read $VIMRUNTIME/vimrc_example.vim
+
+  3. ‚¨á¯«œ «¦ ˜¨®œå¦ £œ «ž¤:
+	:write
+
+  ’ž¤ œ§æ£œ¤ž ­¦¨á §¦¬ Ÿ˜ ¥œ¡ ¤ã©œ«œ «¦¤ Vim Ÿ˜ ®¨ž© £¦§¦ ã©œ  ­à« ©£æ
+  ©ç¤«˜¥žª.  ‹§¦¨œå«œ ¤˜ §¨¦©Ÿâ©œ«œ 梜ª « ª §¨¦« £é£œ¤œª œ§ ¢¦šâª ©' ˜¬«æ
+  «¦ ˜¨®œå¦ "vimrc".
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  „›é ¦¢¦¡¢ž¨é¤œ«˜  «¦ Vim Tutor. ‘¡¦§æª «¦¬ 㫘¤ ¤˜ ›é©œ  £å˜ ©ç¤«¦£ž
+  §œ¨å¢ž¯ž «¦¬ ©¬¤«á¡«ž Vim, «¦¬¢á® ©«¦¤ «æ©ž é©«œ ¤˜ ©˜ª œ§ «¨â¯œ  ¤˜
+  ®¨ž© £¦§¦ ã©œ«œ «¦¤ ©¬¤«á¡«ž ˜¨¡œ«á œç¡¦¢˜. €§â®œ  §¦¢ç ˜§æ £å˜
+  ¦¢¦¡¢ž¨à£â¤ž §˜¨¦¬©å˜©ž ¡˜Ÿéª ¦ Vim ⮜  §á¨˜ §¦¢¢âª œ¤«¦¢âª. ƒ ˜™á©«œ
+  ¡˜«æ§ ¤ «¦ œš®œ ¨å› ¦ ®¨ã©žª:
+	":help user-manual".
+
+  ‚ ˜ §œ¨˜ «â¨à › á™˜©£˜ ¡˜  £œ¢â«ž, ©¬©«ã¤œ«˜  ˜¬«æ «¦ ™ ™¢å¦:
+	Vim - Vi Improved - by Steve Oualline
+	Publisher: New Riders
+	’¦ §¨é«¦ ™ ™¢å¦ §¢ã¨àª ˜­ œ¨à£â¤¦ ©«¦¤ Vim.
+	ˆ› ˜å«œ¨˜ ®¨ã© £¦ š ˜ ˜¨®á¨ ¦¬ª.
+	“§á¨®¦¬¤ §¦¢¢á §˜¨˜›œåš£˜«˜ ¡˜  œ ¡æ¤œª.
+	ƒœå«œ «ž¤ http://iccf-holland.org/click5.html
+
+  €¬«æ «¦ ™ ™¢å¦ œå¤˜  §˜¢ æ«œ¨¦ ¡˜  §œ¨ ©©æ«œ¨¦ š ˜ «¦¤ Vi §˜¨á š ˜ «¦¤ Vim,
+  ˜¢¢á œ§å©žª ©¬¤ ©«é£œ¤¦:
+	Learning the Vi Editor - by Linda Lamb
+	Publisher: O'Reilly & Associates Inc.
+	„夘  ⤘ ¡˜¢æ ™ ™¢å¦ š ˜ ¤˜ £áŸœ«œ ©®œ›æ¤ «˜ §á¤«˜ §¦¬ Ÿâ¢œ«œ
+	¤˜ ¡á¤œ«œ £œ «¦¤ Vi.
+	† â¡«ž ⡛¦©ž §œ¨ â®œ  ˜¡æ£˜ §¢ž¨¦­¦¨åœª š ˜ «¦¤ Vim.
+
+  €¬«ã ž §œ¨ ãšž©ž š¨á­«ž¡œ ˜§æ «¦¬ª Michael C. Pierce ¡˜  Robert K. Ware,
+  Colorado School of Mines ®¨ž© £¦§¦ é¤«˜ª  ›âœª ˜§æ «¦¤ Charles Smith,
+  Colorado State University.  E-mail: bware@mines.colorado.edu.
+
+  ¨¦©˜¨£¦šã š ˜ «¦¤ Vim ˜§æ «¦¤ Bram Moolenaar.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/runtime/tutor/tutor.hr b/runtime/tutor/tutor.hr
new file mode 100644
index 0000000..f1d346c
--- /dev/null
+++ b/runtime/tutor/tutor.hr
@@ -0,0 +1,972 @@
+===============================================================================
+=    D o b r o d o ¹ l i   u   VIM   p r i r u è n i k  -    Verzija 1.7      =
+===============================================================================
+
+     Vim je vrlo moæan editor koji ima mnogo naredbi, previ¹e da bi ih
+     se svih ovdje spomenulo.  Namjena priruènika je objasniti dovoljno
+     naredbi kako bi poèetnici znatno lak¹e koristili ovaj svestran editor.
+
+     Pribli¾no vrijeme potrebno za uspje¹an zavr¹etak priruènika je oko
+     30 minuta a ovisi o tome koliko æe te vremena odvojiti za vje¾banje.
+
+     UPOZORENJE:
+     Naredbe u ovom priruèniku æe promijeniti ovaj tekst.
+     Napravite kopiju ove datoteke kako bi ste na istoj vje¾bali
+     (ako ste pokrenuli "vimtutor" ovo je veæ kopija).
+
+     Vrlo je va¾no primijetiti da je ovaj priruènik namijenjen za vje¾banje.
+     Preciznije, morate izvr¹iti naredbe u Vim-u kako bi ste iste nauèili
+     pravilno koristiti. Ako samo èitate tekst, zaboraviti æe te naredbe!
+
+     Ako je CapsLock ukljuèen ISKLJUÈITE ga.  Pritiskajte tipku  j  kako
+     bi pomakli kursor sve dok Lekcija 1.1 ne ispuni ekran.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lekcija 1.1:  POMICANJE KURSORA
+
+
+ ** Za pomicanje kursora, pritisnite h,j,k,l tipke kako je prikazano **
+	     ^
+	     k		    Savjet:  h tipka je lijevo i pomièe kursor lijevo.
+       < h	 l >		   l tipka je desno i pomièe kursor desno.
+	     j                     j izgleda kao strelica usmjerena dolje.
+	     v
+  1. Pomièite kursor po ekranu dok se ne naviknete na kori¹tenje.
+
+  2. Dr¾ite tipku (j) pritisnutom.
+     Sada znate kako doæi do sljedeæe lekcije.
+
+  3. Koristeæi tipku j prijeðite na sljedeæu lekciju 1.2.
+
+NAPOMENA:  Ako niste sigurni ¹to ste zapravo pritisnuli uvijek koristite
+           tipku <ESC> kako bi pre¹li u Normal mod i onda poku¹ajte ponovno.
+
+NAPOMENA:  Kursorske tipke rade isto.  Kori¹tenje hjkl tipaka je znatno
+           br¾e, nakon ¹to se jednom naviknete na njihovo kori¹tenje.  Stvarno!
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			   Lekcija 1.2: IZLAZ IZ VIM-a
+
+
+  !! UPOZORENJE: Prije izvoðenja bilo kojeg koraka,
+                 proèitajte cijelu lekciju!!
+
+  1. Pritisnite <ESC> tipku (Vim je sada u Normal modu).
+
+  2. Otipkajte:	:q! <ENTER>.
+     Izlaz iz editora, GUBE se sve napravljene promjene.
+
+  3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula
+     ovaj priruènik:		vimtutor <ENTER>
+
+  4. Ako ste upamtili ove korake, izvr¹ite ih redom od 1 do 3
+     kako bi ponovno pokrenuli editor.
+
+NAPOMENA:  :q! <ENTER>  poni¹tava sve promjene koje ste napravili.
+           U sljedeæim lekcijama nauèit æe te kako promjene saèuvati.
+
+  5. Pomaknite kursor na Lekciju 1.3.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lekcija 1.3: PROMJENA TEKSTA - BRISANJE
+
+
+	      ** Pritisnite  x  za brisanje znaka pod kursorom. **
+
+  1. Pomaknite kursor na liniju oznaèenu s --->.
+
+  2. Kako bi ste ispravili pogre¹ke, pomièite kursor dok se
+     ne bude nalazio na slovu kojeg trebate izbrisati.
+
+  3. Pritisnite tipku x kako bi uklonili ne¾eljeno slovo.
+
+  4. Ponovite korake od 2 do 4 dok ne ispravite sve pogre¹ke.
+
+---> KKKravaa jee presskoèila mmjeseccc.
+
+  5. Nakon ¹to ispravite liniju, prijeðite na lekciju 1.4.
+
+NAPOMENA:  Koristeæi ovaj priruènik ne poku¹avajte pamtiti
+           veæ uèite primjenom.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		 Lekcija 1.4: PROMJENA TEKSTA - UBACIVANJE
+
+
+	  ** Pritisnite  i  za ubacivanje teksta ispred kursora. **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+
+  2. Kako bi napravili prvu liniju istovjetnoj drugoj, pomaknite
+     kursor na prvi znak POSLIJE kojeg æe te utipkati potreban tekst.
+
+  3. Pritisnite  i  te utipkajte potrebne nadopune.
+
+  4. Nakon ¹to ispravite pogre¹ku pritisnite <ESC> kako bi vratili Vim
+     u Normal mod. Ponovite korake od 2 do 4 kako bi ispravili sve pogre¹ke.
+
+---> Nedje no teka od v lin.
+---> Nedostaje ne¹to teksta od ove linije.
+
+  5. Prijeðite na sljedeæu lekciju.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lekcija 1.5: PROMJENA TEKSTA - DODAVANJE
+
+
+	           ** Pritisnite  A  za dodavanje teksta. **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+     Nije va¾no na kojem se slovu nalazi kursor na toj liniji.
+
+  2. Pritisnite  A  i napravite potrebne promjene.
+
+  3. Nakon ¹to ste dodali tekst, pritisnite <ESC>
+     za povratak u Normal mod.
+
+  4. Pomaknite kursor na drugu liniju oznaèenu s --->
+     i ponovite korake 2 i 3 dok ne popravite tekst.
+
+---> Ima ne¹to teksta koji nedostaje n
+     Ima ne¹to teksta koji nedostaje na ovoj liniji.
+---> Ima ne¹to teksta koji ne
+     Ima ne¹to teksta koji nedostaje ba¹ ovdje.
+
+  5. Prijeðite na lekciju 1.6.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lekcija 1.6: PROMJENA DATOTEKE
+
+
+     ** Koristite  :wq  za spremanje teksta i napu¹tanje Vim-a. **
+
+  !! UPOZORENJE: Prije izvr¹avanja bilo kojeg koraka, proèitajte lekciju!!
+
+  1. Izaðite iz programa kao sto ste napravili u lekciji 1.2:  :q!
+
+  2. Iz ljuske utipkajte sljedeæu naredbu:  vim tutor <ENTER>
+     'vim' je naredba pokretanja Vim editora, 'tutor' je ime datoteke koju
+     ¾elite ureðivati.  Koristite datoteku koju imate ovlasti mijenjati.
+
+  3. Ubacite i izbri¹ite tekst kao ¹to ste to napravili u lekcijama prije.
+
+  4. Saèuvajte promjenjeni tekst i izaðite iz Vim-a:  :wq  <ENTER>
+
+  5. Ponovno pokrenite vimtutor i nastavite èitati sa¾etak koji sljedi.
+
+  6. Nakon sto proèitate gornje korake i u potpunosti ih razumijete:
+     izvr¹ite ih.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 1 SA®ETAK
+
+
+  1. Kursor se pomièe strelicama ili pomoæu hjkl tipaka.
+	h (lijevo)	j (dolje)	k (gore)	l (desno)
+
+  2. Pokretanje Vim-a iz ljuske:  vim IME_DATOTEKE <ENTER>
+
+  3. Izlaz:	<ESC>	:q! <ENTER> 	sve promjene su izgubljene.
+       ILI:	<ESC>	:wq <ENTER> 	promjene su saèuvane.
+
+  4. Brisanje znaka na kojem se nalazi kursor:  x
+
+  5. Ubacivanja ili dodavanje teksta:
+	 i   utipkajte tekst <ESC>	unos ispred kursora
+	 A   utipkajte tekst <ESC>	dodavanje na kraju linije
+
+NAPOMENA:  Tipkanjem tipke <ESC> prebacuje Vim u Normal mod i
+           prekida ne¾eljenu ili djelomièno zavr¹enu naredbu.
+
+Nastavite èitati Lekciju 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lekcija 2.1: NAREDBE BRISANJA
+
+
+		 ** Tipkajte  dw  za brisanje rijeèi. **
+
+  1. Pritisnite  <ESC>  kako bi bili sigurni da je Vim u Normal modu.
+
+  2. Pomaknite kursor na liniju oznaèenu s --->.
+
+  3. Pomaknite kursor na poèetak rijeèi koju treba izbrisati.
+
+  4. Otipkajte  dw  kako bi uklonili rijeè.
+
+NAPOMENA:  Vim æe prikazati slovo  d  na zadnjoj liniji kad ga otipkate.
+           Vim èeka da otipkate  w .  Ako je prikazano neko drugo slovo,
+           krivo ste otipkali; pritisnite <ESC> i poku¹ajte ponovno.
+
+---> Neke rijeèi smije¹no ne pripadaju na papir ovoj reèenici.
+
+  5. Ponovite korake 3 i 4 dok ne ispravite reèenicu;
+     prijeðite na Lekciju 2.2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lekcija 2.2: JO© BRISANJA
+
+
+       ** Otipkajte  d$ za brisanje znakova do kraja linije. **
+
+  1. Pritisnite  <ESC>  kako bi bili
+     sigurni da je Vim u Normal modu.
+
+  2. Pomaknite kursor na liniju oznaèenu s  --->.
+
+  3. Pomaknite kursor do kraja ispravne reèenice
+     (POSLJE prve . ).
+
+  4. Otipkajte  d$
+     kako bi izbrisali sve znakove do kraja linije.
+
+---> Netko je utipkao kraj ove linije dvaput. kraj ove linije dvaput.
+
+  5. Prijeðite na Lekciju 2.3 za bolje obja¹njenje.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	      Lekcija 2.3: UKRATKO O OPERATORIMA I POKRETIMA
+
+
+  Mnogo naredbi koje mijenjaju tekst se sastoje od operatora i pokreta.
+  Oblik naredbe brisanja sa  d  operatorom je sljedeæi:
+
+  	d   pokret
+
+  Pri èemu je:
+    d      - operator brisanja.
+    pokret - ono na èemu æe se operacija izvr¹avati (navedeno u nastavku).
+
+  Kratka lista pokreta:
+    w - sve do poèetka sljedeæe rijeèi, NE UKLJUÈUJUÆI prvo slovo.
+    e - sve do kraja trenutaène rijeèi, UKLJUÈUJUÆI zadnje slovo.
+    $ - sve do kraje linije, UKLJUÈUJUÆI zadnje slovo.
+
+  Tipkanjem  de  æe se brisati od kursora do kraja rijeèi.
+
+NAPOMENA:  Pritiskajuæi samo pokrete dok ste u Normal modu bez operatora æe
+           pomicati kursor kao ¹to je navedeno.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lekcija 2.4: KORI©TENJE BROJANJA ZA POKRETE
+
+
+  ** Tipkanjem nekog broja prije pokreta, pokret se izvr¹ava toliko puta. **
+
+  1. Pomaknite kursor na liniju oznaèenu s --->.
+
+  2. Otipkajte  2w  da pomaknete kursor dvije rijeèi naprijed.
+
+  3. Otipkajte  3e  da pomaknete kursor na kraj treæe rijeèi naprijed.
+
+  4. Otipkajte  0  (nulu) da pomaknete kursor na poèetak linije.
+
+  5. Ponovite korake 2 i 3 s nekim drugim brojevima.
+
+---> Reèenica sa rijeèima po kojoj mo¾ete pomicati kursor.
+
+  6. Prijeðite na Lekciju 2.5.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+             Lekcija 2.5: KORI©TENJE BROJANJA ZA VEÆE BRISANJE
+
+
+	  ** Tipkanje broja N s operatorom ponavlja ga N-puta. **
+
+  U kombinaciji operatora brisanja i pokreta spomenutih iznad
+  ubacujete broj prije pokreta kako bi izbrisali vi¹e znakova:
+
+	 d   broj   pokret
+
+  1. Pomaknite kursor na prvo slovo u rijeèi sa VELIKIM SLOVIMA
+     oznaèenu s --->.
+
+  2. Otipkajte  2dw  da izbri¹ete dvije rijeèi sa VELIKIM SLOVIMA
+
+  3. Ponovite korake 1 i 2 sa razlièitim brojevima da izbri¹ete
+     uzastopne rijeèi sa VELIKIM SLOVIMA sa samo jednom naredbom.
+
+---> ova ABCÈÆ DÐE linija FGHI JK LMN OP rijeèi je RS© TUVZ® popravljena.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lekcija 2.6: OPERIRANJE NAD LINIJAMA
+
+
+	       ** Otipkajte  dd   za brisanje cijele linije. **
+
+  Zbog uèestalosti brisanja cijelih linija, dizajneri Vi-a su odluèili da
+  je lak¹e brisati linije tipkanjem  d  dvaput.
+
+  1. Pomaknite kursor na drugu liniju u donjoj kitici.
+  2. Otipkajte  dd  kako bi izbrisali liniju.
+  3. Pomaknite kursor na èetvrtu liniju.
+  4. Otipkajte   2dd   kako bi izbrisali dvije linije.
+
+--->  1)  Ru¾e su crvene,
+--->  2)  Pla¾a je super,
+--->  3)  Ljubice su plave,
+--->  4)  Imam auto,
+--->  5)  Satovi ukazuju vrijeme,
+--->  6)  ©eæer je sladak
+--->  7)  Kao i ti.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lekcija 2.7: NAREDBA PONI©TENJA
+
+
+  ** Pritisnite  u  za poni¹tenje zadnje naredbe,  U  za cijelu liniju. **
+
+  1. Pomaknite kursor na liniju oznaèenu s ---> i postavite kursor na prvu
+     pogre¹ku.
+  2. Otipkajte  x  kako bi izbrisali prvi ne¾eljeni znak.
+  3. Otipkajte  u  kako bi poni¹tili zadnju izvr¹enu naredbu.
+  4. Ovaj put ispravite sve pogre¹ke na liniji koristeæi  x  naredbu.
+  5. Sada utipkajte veliko  U  kako bi poni¹tili sve promjene
+     na liniji, vraæajuæi je u prija¹nje stanje.
+  6. Sada utipkajte  u  nekoliko puta kako bi poni¹tili  U
+     i prija¹nje naredbe.
+  7. Sada utipkajte CTRL-R (dr¾eæi  CTRL  tipku pritisnutom dok
+     ne pritisnete  R) nekoliko puta kako bi vratili promjene
+     (poni¹tili poni¹tenja).
+
+---> Poopravite pogre¹ke nna ovvoj liniji ii pooni¹titeee ih.
+
+  8. Vrlo korisne naredbe.  Prijeðite na sa¾etak Lekcije 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 2 SA®ETAK
+
+
+  1. Brisanje od kursora do sljedeæe rijeèi:    dw
+  2. Brisanje od kursora do kraja linije:    d$
+  3. Brisanje cijele linije:    dd
+
+  4. Za ponavljanje pokreta prethodite mu broj:   2w
+  5. Oblik naredbe mijenjanja:
+               operator   [broj]   pokret
+     gdje je:
+       operator - ¹to napraviti, npr.   d  za brisanje
+       [broj]   - neobavezan broj ponavljanja pokreta
+       pokret   - kretanje po tekstu po kojem se operira,
+                  kao ¹to je: w (rijeè), $ (kraj linije), itd.
+
+  6. Postavljanje kursora na poèetak linije:  0
+
+  7. Za poni¹tenje prethodnih promjena, pritisnite:	  u  (malo u)
+     Za poni¹tenje svih promjena na liniji, pritisnite:   U  (veliko U)
+     Za vraæanja promjena, utipkajte:	CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lekcija 3.1: NAREDBA POSTAVI
+
+
+	** p  za unos prethodno izbrisanog teksta iza kursora. **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+
+  2. Otipkajte  dd  kako bi izbrisali liniju i spremili je u Vim registar.
+
+  3. Pomaknite kursor na liniju c), IZNAD linije koju trebate unijeti.
+
+  4. Otipkajte  p  kako bi postavili liniju ispod kursora.
+
+  5. Ponovite korake 2 do 4 kako bi postavili sve linije u pravilnom
+     rasporedu.
+
+---> d) Mo¾e¹ li i ti nauèiti?
+---> b) Ljubice su plave,
+---> c) Inteligencija je nauèena,
+---> a) Ru¾e su crvene,
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lekcija 3.2: NAREDBA PROMJENE
+
+
+      ** Otipkajte  rx  za zamjenu slova ispod kursora sa slovom  x . **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+
+  2. Pomaknite kursor tako da se nalazi na prvoj pogre¹ci.
+
+  3. Otipkajte  r  i nakon toga ispravan znak na tom mjestu.
+
+  4. Ponovite korake 2 i 3 sve dok prva
+     linije ne bude istovjetna drugoj.
+
+--->  Kede ju ovu limija tupjana, natko je protuskao kruve tupke!
+--->  Kada je ova linija tipkana, netko je pritiskao krive tipke!
+
+  5. Prijeðite na Lekciju 3.2.
+
+NAPOMENA:  Prisjetite da trebate uèiti vje¾banjem, ne pamæenjem.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lekcija 3.3: OPERATOR MIJENJANJA
+
+
+	  ** Za mijenjanje do kraja rijeèi, istipkajte  ce . **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+
+  2. Postavite kursor na  a  u  lackmb.
+
+  3. Otipkajte  ce  i ispravite rijeè (u ovom sluèaju otipkajte  inija ).
+
+  4. Pritisnite <ESC> i pomaknite kursor na sljedeæi znak
+     kojeg je potrebno ispraviti.
+
+  5. Ponovite korake 3 i 4 sve dok prva reèenica ne postane istovjetna
+     drugoj.
+
+---> Ova lackmb ima nekoliko rjlcah koje trfcb mijdmlfsz.
+---> Ova linija ima nekoliko rijeèi koje treba mijenjati.
+
+Primijetite da  ce  bri¹e rijeè i postavlja Vim u Insert mod.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	         Lekcija 3.4: JO© MIJENJANJA KORI©TENJEM c
+
+
+    ** Naredba mijenjanja se koristi sa istim pokretima kao i brisanje. **
+
+  1. Operator mijenjanja se koristi na isti naèin kao i operator brisanja:
+
+         c    [broj]   pokret
+
+  2. Pokreti su isti, npr:   w (rijeè) i  $ (kraj linije).
+
+  3. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+
+  4. Pomaknite kursor na prvu pogre¹ku.
+
+  5. Otipkajte  c$  i utipkajte ostatak linije tako da bude istovjetna
+     drugoj te pritisnite <ESC>.
+
+---> Kraj ove linije treba pomoæ tako da izgleda kao linija ispod.
+---> Kraj ove linije treba ispraviti kori¹tenjem c$ naredbe.
+
+NAPOMENA:  Mo¾ete koristiti Backspace za ispravljanje gre¹aka.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 3 SA®ETAK
+
+
+  1. Za postavljanje teksta koji je upravo izbrisan, pritisnite  p . Ovo
+     postavlja tekst IZA kursora (ako je pak linija izbrisana tekst se
+     postavlja na liniju ispod kursora).
+
+  2. Za promjenu znaka na kojem se nalazi kursor, pritisnite  r  i nakon toga
+     ¾eljeni znak.
+
+  3. Operator mijenjanja dozvoljava promjenu teksta od kursora do pozicije do
+     koje dovede pokret. tj. Otipkajte  ce  za mijenjanje od kursora do kraja
+     rijeèi, c$  za mijenjanje od kursora do kraja linije.
+
+  4. Oblik naredbe mijenjanja:
+
+	 c   [broj]   pokret
+
+Prijeðite na sljedeæu lekciju.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	      Lekcija 4.1: POZICIJA KURSORA I STATUS DATOTEKE
+
+  ** CTRL-G za prikaz pozicije kursora u datoteci i status datoteke.
+     Pritisnite  G  za pomicanje kursora na neku liniju u datoteci. **
+
+NAPOMENA:  Proèitajte cijelu lekciju prije izvr¹enja bilo kojeg koraka!!
+
+  1. Dr¾ite Ctrl tipku pritisnutom i pritisnite  g .  Ukratko: CTRL-G.
+     Vim æe ispisati poruku na dnu ekrana sa imenom datoteke i pozicijom
+     kursora u datoteci.  Zapamtite broj linije za 3. korak.
+
+NAPOMENA:  Mo¾ete vidjeti poziciju kursora u donjem desnom kutu ako
+           je postavka 'ruler' aktivirana (obja¹njeno u 6. lekciji).
+
+  2. Pritisnite  G  za pomicanje kursora na kraj datoteke.
+     Otipkajte  gg  za pomicanje kursora na poèetak datoteke.
+
+  3. Otipkajte broj linije na kojoj ste bili maloprije i zatim  G .  Kursor
+     æe se vratiti na liniju na kojoj se nalazio kada ste otipkali CTRL-G.
+
+  4. Ako ste spremni, izvr¹ite korake od 1 do 3.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lekcija 4.2: NAREDBE TRA®ENJA
+
+       ** Otipkajte  /  i nakon toga izraz kojeg ¾elite tra¾iti. **
+
+  1. U Normal modu otipkajte  /  znak.  Primijetite da se znak
+     pojavio zajedno sa kursorom na dnu ekrana kao kod  :  naredbe.
+
+  2. Sada otipkajte 'grrrre¹ka' <ENTER>.  To je rijeè koju zapravo tra¾ite.
+
+  3. Za ponovno tra¾enje istog izraza, otipkajte  n .
+     Za tra¾enje istog izraza ali u suprotnom smjeru, otipkajte  N .
+
+  4. Za tra¾enje izraza unatrag, koristite  ?  umjesto  / .
+
+  5. Za povratak na prethodnu poziciju koristite  CTRL-O  (dr¾ite Ctrl
+     pritisnutim dok ne pritisnete tipku o).  Ponavljajte sve dok se ne
+     vratite na poèetak.  CTRL-I slièno kao CTRL-O ali u suprotnom smjeru.
+
+---> "pogrrrre¹ka" je pogre¹no; umjesto pogrrrre¹ka treba stajati pogre¹ka.
+
+NAPOMENA:  Ako se tra¾enjem doðe do kraja datoteke nastavit æe se od njenog
+           poèetka osim ako je postavka 'wrapscan' deaktivirana.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lekcija 4.3: TRA®ENJE PRIPADAJUÆE ZAGRADE
+
+
+	** Otipkajte  %  za pronalazak pripadajuæe ), ] ili } . **
+
+  1. Postavite kursor na bilo koju od  ( ,  [  ili  {
+     otvorenih zagrada u liniji oznaèenoj s --->.
+
+  2. Otipkajte znak  % .
+
+  3. Kursor æe se pomaknuti na pripadajuæu zatvorenu zagradu.
+
+  4. Otipkajte  %  kako bi pomakli kursor na drugu pripadajuæu zagradu.
+
+  5. Pomaknite kursor na neku od (,),[,],{ ili } i ponovite  %  naredbu.
+
+---> Linija ( testiranja obiènih ( [ uglatih ] i { vitièastih } zagrada.))
+
+
+NAPOMENA:  Vrlo korisno u ispravljanju koda sa nepripadajuæim zagradama!
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lekcija 4.4: NAREDBE ZAMIJENE
+
+
+       ** Otipkajte  :s/staro/novo/g  da zamijenite 'staro' za 'novo'. **
+
+  1. Pomaknite kursor na liniju oznaèenu s --->.
+
+  2. Otipkajte  :s/cvræè/cvrè <ENTER> .  Primjetite da ova naredba zamjenjuje
+     samo prvi "cvræè" u liniji.
+
+  3. Otipkajte  :s/cvræè/cvrè/g .  Dodavanje  g  stavke znaèi da æe se naredba
+     izvr¹iti na cijeloj liniji, zamjenjivanjem svih "cvræè" u liniji.
+
+---> i cvræèi cvræèi cvræèak na èvoru crne smrèe.
+
+  4. Za zamjenu svih izraza u rasponu dviju linija,
+     otipkajte :#,#s/staro/novo/g   #,# su brojevi linije datoteke na kojima
+                                    te izmeðu njih æe se izvr¹iti zamjena.
+     Otipkajte :%s/staro/novo/g     za zamjenu svih izraza u cijeloj datoteci.
+     Otipkajte :%s/staro/novo/gc    za pronalazak svakog izraza u datoteci i
+     			            potvrdu zamjene.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 4 SA®ETAK
+
+
+  1. CTRL-G  prikazuje poziciju kursora u datoteci i status datoteke.
+             G  postavlja kursor na zadnju liniju datoteke.
+     broj    G  postavlja kursor na  broj  liniju.
+            gg  postavlja kursor na prvu liniju.
+
+  2. Tipkanje  /  sa izrazom tra¾i UNAPRIJED taj izraz.
+     Tipkanje  ?  sa izrazom tra¾i UNATRAG taj izraz.
+     Nakon naredbe tra¾enja koristite  n  za pronalazak izraza u istom
+     smjeru, i  N  za pronalazak istog izraza ali u suprotnom smjeru.
+     CTRL-O vraæa kursor na prethodnu poziciju, CTRL-I na sljedeæu poziciju.
+
+  3. Tipkanje  %  dok je kursor na zagradi pomièe ga na pripadajuæu zagradu.
+
+  4. Za zamjenu prvog izraza staro za izraz novo	   :s/staro/novo
+     Za zamjenu svih izraza staro na cijeloj liniji	   :s/staro/novo/g
+     Za zamjenu svih izraza staro u rasponu linija #,#     :#,#s/staro/novo/g
+     Za zamjenu u cijeloj datoteci			   :%s/staro/novo/g
+     Za potvrdu svake zamjene dodajte 'c'		   :%s/staro/novo/gc
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lekcija 5.1: IZVR©AVANJE VANJSKIH NAREDBI
+
+
+	** Otipkajte  :!  sa vanjskom naredbom koju ¾elite izvr¹iti. **
+
+  1. Otipkajte poznatu naredbu  :  kako bi kursor premjestili na dno
+     ekrana.  Time omoguæavate unos naredbe u naredbenoj liniji.
+
+  2. Otipkajte znak  !  (uskliènik).  Tako omoguæavate
+     izvr¹avanje naredbe vanjske ljuske.
+
+  3. Kao primjer otipkajte   ls   nakon ! te pritisnite <ENTER>.
+     Ovo æe prikazati sadr¾aj direktorija, kao da ste u ljusci.
+     Koristite   :!dir   ako   :!ls   ne radi.
+
+NAPOMENA:  Moguæe je izvr¹avati bilo koju vanjsku naredbu na ovaj naèin,
+           zajedno sa njenim argumentima.
+
+NAPOMENA:  Sve  :  naredbe se izvr¹avaju nakon ¹to pritisnete <ENTER>
+	   U daljnjem tekstu to neæe uvijek biti napomenuto.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Lekcija 5.2: VI©E O SPREMANJU DATOTEKA
+
+           ** Za spremanje promjena, otipkajte  :w IME_DATOTEKE. **
+
+  1. Otipkajte   :!dir   ili   :!ls   za pregled direktorija.
+     Veæ znate da morate pritisnuti <ENTER> na kraju tipkanja.
+
+  2. Izaberite ime datoteke koja jo¹ ne postoji, npr. TEST.
+
+  3. Otipkajte:	 :w TEST   (gdje je TEST ime koje ste prethodno odabrali.)
+
+  4. Time æe te spremiti cijelu datoteku (Vim Tutor) pod imenom TEST.
+     Za provjeru, otipkajte ponovno   :!dir   ili   :!ls
+     za pregled direktorija.
+
+NAPOMENA:  Ako bi napustili Vim i ponovno ga pokrenuli sa vim TEST ,
+           datoteka bi bila potpuna kopija ove datoteke u trenutku
+           kada ste je spremili.
+
+  5. Izbri¹ite datoteku tako da otipkate (MS-DOS):	:!del TEST
+				       ili (Unix):	:!rm TEST
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lekcija 5.3: SPREMANJE OZNAÈENOG TEKSTA
+
+
+   ** Kako bi spremili dio datoteke, otipkajte  v  pokret  :w IME_DATOTEKE **
+
+  1. Pomaknite kursor na ovu liniju.
+
+  2. Pritisnite  v  i pomaknite kursor pet linija ispod ove.
+     Primijetite promjenu, oznaèeni tekst se razlikuje od obiènog.
+
+  3. Pritisnite  :  znak.  Na dnu ekrana pojavit æe se  :'<,'> .
+
+  4. Otipkajte  w TEST  , pritom je TEST ime datoteke koja jo¹ ne postoji.
+     Provjerite da zaista pi¹e  :'<,'>w TEST
+     prije nego ¹to pritisnite <ENTER>.
+
+  5. Vim æe spremiti oznaèeni tekst u TEST.  Provjerite sa :!dir  ili  !ls .
+     Nemojte je jo¹ brisati!  Koristiti æe te je u sljedeæoj lekciji.
+
+NAPOMENA:  Tipka  v  zapoèinje Vizualno oznaèavanje.  Mo¾ete pomicati kursor
+           unaokolo kako bi mijenjali velièinu oznaèenog teksta. Mo¾ete
+           koristiti i operatore.  Npr,  d  æe izbrisati oznaèeni tekst.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Lekcija 5.4: UÈITAVANJE DATOTEKA
+
+
+       ** Za ubacivanje sadr¾aja datoteke, otipkajte  :r IME_DATOTEKE  **
+
+  1. Postavite kursor iznad ove linije.
+
+NAPOMENA:  Nakon ¹to izvr¹ite 2. korak vidjeti æe te tekst iz Lekcije 5.3.
+           Stoga pomaknite kursor DOLJE kako bi ponovno vidjeli ovu lekciju.
+
+  2. Uèitajte va¹u TEST datoteku koristeæi naredbu   :r TEST
+     gdje je TEST ime datoteke koju ste koristili u prethodnoj lekciji.
+     Sadr¾aj uèitane datoteke je ubaèen liniju ispod kursora.
+
+  3. Kako bi provjerili da je datoteka uèitana, vratite kursor unatrag i
+     primijetite dvije kopije Lekcije 5.3, originalnu i onu iz datoteke.
+
+NAPOMENA:  Mo¾ete takoðer uèitati ispis vanjske naredbe.  Npr,  :r !ls
+           æe uèitati ispis  ls  naredbe i postaviti ispis liniju ispod
+           kursora.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 5 SA®ETAK
+
+
+  1.  :!naredba  izvr¹ava vanjsku naredbu.
+
+      Korisni primjeri:
+	 (MS-DOS)	  (Unix)
+	  :!dir		   :!ls		   -  pregled direktorija.
+	  :!del DATOTEKA   :!rm DATOTEKA   -  bri¹e datoteku DATOTEKA.
+
+  2.  :w DATOTEKA  zapisuje trenutaènu datoteku na disk sa imenom DATOTEKA.
+
+  3.  v  pokret  :w IME_DATOTEKE  sprema vizualno oznaèene linije u
+      datoteku IME_DATOTEKE.
+
+  4.  :r IME_DATOTEKE  uèitava datoteku IME_DATOTEKE sa diska i stavlja
+      njen sadr¾aj liniju ispod kursora.
+
+  5.  :r !dir  uèitava ispis naredbe dir i postavlja sadr¾aj ispisa liniju
+      ispod kursora.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lekcija 6.1: NAREDBA OTVORI
+
+
+	** Pritisnite  o  kako bi otvorili liniju ispod kursora
+	   i pre¹li u Insert mod. **
+
+  1. Pomaknite kursor na sljedeæu liniju oznaèenu s --->.
+
+  2. Otipkajte malo  o  kako bi otvorili novu liniju ISPOD kursora
+     i pre¹li u Insert mod.
+
+  3. Otipkajte ne¹to teksta i nakon toga pritisnite <ESC>
+     kako bi napustili Insert mod.
+
+---> Nakon ¹to pritisnete  o  kursor æe preæi u novu liniju u Insert mod.
+
+  4. Za otvaranje linije IZNAD kursora, otipkajte umjesto malog o veliko O ,
+     Poku¹ajte na donjoj liniji oznaèenoj s --->.
+
+---> Otvorite liniju iznad ove - otipkajte O dok je kursor na ovoj liniji.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lekcija 6.2: NAREDBA DODAJ
+
+
+	     ** Otipkajte  a  za dodavanje teksta IZA kursora. **
+
+  1. Pomaknite kursor na poèetak sljedeæe linije oznaèene s --->.
+  
+  2. Tipkajte  e  dok se kursor ne nalazi na kraju  li .
+
+  3. Otipkajte  a  (malo) kako bi dodali tekst IZA kursora.
+
+  4. Dopunite rijeè kao ¹to je na liniji ispod.
+     Pritisnite <ESC> za izlaz iz Insert moda.
+
+  5. Sa  e  prijeðite na sljedeæu nepotpunu rijeè i ponovite korake 3 i 4.
+  
+---> Ova li omoguæava vje dodav teksta nekoj liniji.
+---> Ova linija omoguæava vje¾banje dodavanja teksta nekoj liniji.
+
+NAPOMENA:  Sa i, a, i  A  prelazite u isti Insert mod, jedina
+           razlika je u poziciji od koje æe se tekst ubacivati.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lekcija 6.3: DRUGI NAÈIN MIJENJANJA
+
+
+      ** Otipkajte veliko  R  kako bi zamijelili vi¹e od jednog znaka. **
+
+  1. Pomaknite kursor na prvu sljedeæu liniju oznaèenu s --->.
+     Pomaknite kursor na poèetak prvog  xxx .
+
+  2. Pritisnite  R  i otipkajte broj koji je liniju ispod,
+     tako da zamijeni xxx .
+
+  3. Pritisnite <ESC> za izlaz iz Replace moda.
+     Primijetite da je ostatak linije ostao nepromjenjen.
+
+  5. Ponovite korake kako bi zamijenili preostali xxx.
+
+---> Zbrajanje: 123 plus xxx je xxx.
+---> Zbrajanje: 123 plus 456 je 579.
+
+NAPOMENA:  Replace mod je kao Insert mod, ali sa bitnom razlikom,
+           svaki otipkani znak bri¹e veæ postojeæi.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lekcija 6.4: KOPIRANJE I LIJEPLJENJE TEKSTA
+
+
+    ** Koristite  y  operator za kopiranje a  p  za lijepljenje teksta. **
+
+  1. Pomaknite kursor na liniju s --->  i postavite kursor nakon "a)".
+  
+  2. Pokrenite Visual mod sa  v  i pomaknite kursor sve do ispred "prva".
+  
+  3. Pritisnite  y  kako bi kopirali oznaèeni tekst.
+
+  4. Pomaknite kursor do kraja sljedeæe linije:  j$
+
+  5. Pritisnite  p  kako bi zalijepili tekst.  Onda utipkajte:  druga <ESC> .
+
+  6. Koristite Visual mod kako bi oznaèili " linija.", kopirajte:  y , kursor
+     postavite na kraj sljedeæe linije:  j$  i ondje zalijepite tekst:  p .
+
+--->  a) ovo je prva linija.
+      b)
+
+NAPOMENA:  mo¾ete koristiti  y  kao operator;  yw   kopira jednu rijeè.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lekcija 6.5: MIJENJANJE POSTAVKI
+
+
+ ** Postavka: naredbe tra¾enja i zamijene ne razlikuju VELIKA i mala slova **
+
+  1. Potra¾ite 'razlika' tipkanjem:   /razlika  <ENTER>
+     Nekoliko puta ponovite pritiskanjem  n .
+
+  2. Aktivirajte 'ic' (Ignore case) postavku:   :set ic
+
+  3. Ponovno potra¾ite 'razlika' tipkanjem  n
+     Primijetite da su sada i RAZLIKA i Razlika pronaðeni.
+
+  4. Aktivirajte 'hlsearch' i 'incsearch' postavke:  :set hls is
+
+  5. Otipkajte naredbu tra¾enja i primijetite razlike:  /razlika <ENTER>
+
+  6. Za deaktiviranje  ic  postavke koristite:  :set noic
+
+NAPOMENA:  Za neoznaèavanje pronaðenih izraza otipkajte:   :nohlsearch
+NAPOMENA:  Bez razlikovanja velikih i malih slova u samo jednoj naredbi
+	   koristite  \c u izrazu:  /razlika\c  <ENTER>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 6 SA®ETAK
+
+  1. Pritisnite  o  za otvaranje linije ISPOD kursora i prelazak u Insert mod.
+     Pritisnite  O  za otvaranje linije IZNAD kursora.
+
+  2. Pritisnite  a  za unos teksta IZA kursora.
+     Pritisnite  A  za unos teksta na kraju linije.
+
+  3. Naredba  e  pomièe kursor na kraj rijeèi.
+
+  4. Operator  y  kopira tekst,  p  ga lijepi.
+
+  5. Tipkanjem velikog  R  Vim prelazi u Replace mod dok ne pritisnete <ESC> .
+
+  6. Tipkanjem ":set xxx" aktivira postavku "xxx".  Neke postavke su:
+  	'ic' 'ignorecase'	ne razlikuje velika/mala slova pri tra¾enju
+	'is' 'incsearch'	tra¾i nedovr¹ene izraze
+	'hls' 'hlsearch'	oznaèi sve pronaðene izraze
+     Mo¾ete koristite dugo ili kratko ime postavke.
+
+  7. Prethodite "no" imenu postavke za deaktiviranje iste:   :set noic
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lekcija 7.1: DOBIVANJE POMOÆI
+
+
+		   ** Koristite on-line sustav pomoæi **
+
+  Vim ima detaljan on-line sustav pomoæi.
+  Za poèetak, poku¹ajte jedno od sljedeæeg:
+	- pritisnite <HELP> tipku (ako je va¹a tipkovnica ima)
+	- pritisnite <F1> tipku (ako je va¹a tipkovnica ima)
+	- utipkajte   :help <ENTER>
+
+  Proèitajte tekst u prozoru pomoæi kako bi ste se znali slu¾iti istom.
+  Tipkanjem  CTRL-W CTRL-W   prelazite iz jednog prozora u drugi.
+  Otipkajte    :q <ENTER>    kako bi zatvorili prozor pomoæi.
+
+  Pronaæi æe te pomoæ o bilo kojoj temi, tako da dodate upit samoj
+  ":help" naredbi.  Poku¹ajte (ne zaboravite pritisnuti <ENTER>):
+
+	:help w
+	:help c_CTRL-D
+	:help insert-index
+	:help user-manual
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lekcija 7.2: PRAVLJENJE SKRIPTE
+
+
+		       ** Aktivirajte Vim moguænosti **
+
+  Vim ima mnogo vi¹e alata od Vi-ja, ali veæina njih nije aktivirana.
+  Kako bi mogli koristiti vi¹e moguænosti napravite "vimrc" datoteku.
+
+  1. Uredite "vimrc" datoteku.  Ovo ovisi o va¹em sistemu:
+	:e ~/.vimrc		za Unix
+	:e $VIM/_vimrc		za MS-Windows
+
+  2. Sada uèitajte primjer sadr¾aja "vimrc" datoteke:
+	:r $VIMRUNTIME/vimrc_example.vim
+
+  3. Saèuvajte datoteku sa:
+	:w
+
+  Sljedeæeg puta kada pokrenete Vim, bojanje sintakse teksta biti æe
+  aktivirano. Sve va¹e postavke mo¾ete dodati u "vimrc" datoteku.
+  Za vi¹e informacija otipkajte  :help vimrc-intro
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lekcija 7.3: AUTOMATSKO DOVR©AVANJE
+
+
+	** Dovr¹avanje iz naredbene linije pomoæu CTRL-D i <TAB> **
+
+  1. Provjerite da Vim nije u Vi modu:  :set nocp
+
+  2. Pogledajte koje datoteke postoje u direktoriju:  :!ls   or  :!dir
+
+  3. Otipkajte poèetak naredbe:  :e
+
+  4. Tipkajte  CTRL-D  i prikazati æe se lista naredbi koje zapoèinju sa "e".
+
+  5. Pritisnite <TAB>  i Vim æe dopuniti unos u naredbu ":edit".
+
+  6. Dodajte razmak i poèetak datoteke:  :edit FIL
+
+  7. Pritisnite <TAB>.  Vim æe nadopuniti ime datoteke (ako je jedinstveno).
+
+NAPOMENA:  Moguæe je dopuniti mnoge naredbe.  Koristite CTRL-D i <TAB>.
+           Naroèito je korisno za  :help  naredbe.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			      Lekcija 7 SA®ETAK
+
+
+  1. Otipkajte  :help  ili pritisnite <F1> ili <Help>  za pomoæ.
+
+  2. Otipkajte  :help naredba  kako bi dobili pomoæ za  naredba .
+
+  3. Otipkajte  CTRL-W CTRL-W  za prelazak u drugi prozor
+
+  4. Otipkajte  :q  kako bi zatvorili prozor pomoæi
+
+  5. Napravite vimrc skriptu za podizanje kako bi u nju spremali
+     va¹e omiljene postavke.
+
+  6. Kada tipkate naredbu koja zapoèinje sa  :
+     pritisnite CTRL-D kako bi vidjeli moguæe valjane vrijednosti.
+     Pritisnite <TAB> kako bi odabrali jednu od njih.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  Kraj.  Cilj priruènika je da poka¾e kratak pregled Vim editora, tek toliko
+  da omoguæi njegovo kori¹tenje. Priruènik nije potpun jer Vim ima mnogo vi¹e
+  naredbi. Za vi¹e informacija: ":help user-manual".
+
+  Za èitanje i kori¹tenje, preporuèamo:
+	Vim - Vi Improved - by Steve Oualline
+	Izdavaè: New Riders
+  Prva knjiga potpuno posveæena Vim-u. Vrlo korisna za poèetnike.
+  Sa mnogo primjera i slika.
+  Posjetite http://iccf-holland.org/click5.html
+
+  Sljedeæa knjiga je ne¹to starija i vi¹e o Vi-u nego o Vim-u, preporuèamo:
+	Learning the Vi Editor - by Linda Lamb
+	Izdavaè: O'Reilly & Associates Inc.
+  Solidna knjiga, mo¾ete saznati skoro sve ¹to mo¾ete napraviti
+  u Vi-u. ©esto izdanje ima ne¹to informacija i o Vim-u.
+
+  Ovaj priruènik su napisali: Michael C. Pierce i Robert K. Ware,
+  Colorado School of Mines koristeæi ideje Charles Smith,
+  Colorado State University.  E-po¹ta: bware@mines.colorado.edu.
+
+  Naknadne promjene napravio je Bram Moolenaar.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  Preveo na hrvatski: Paul B. Mahol <onemda@gmail.com>
+  Preinaka 1.42, Lipanj 2008
+
+
diff --git a/runtime/tutor/uninstal.txt b/runtime/tutor/uninstal.txt
new file mode 100644
index 0000000..bb06c99
--- /dev/null
+++ b/runtime/tutor/uninstal.txt
@@ -0,0 +1,80 @@
+Uninstalling Vim on Dos and MS-Windows.
+
+There are three ways to remove Vim:
+
+1. With the GUI uninstaller.
+   This is only available when Vim was installed with the self-installing
+   executable.  This has a minimal number of questions.  It can delete
+   everything that was installed.  This also unregisters the VisVim.dll
+
+2. With uninstal.exe.
+   This removes most installed items, but does not delete the files you
+   unpacked.
+
+3. By hand.
+   This is a bit more work, but you can decide exactly what you want to
+   remove.  For uninstalling the "Edit with Vim" popup menu entry you still
+   have to use uninstal.exe.
+
+It's recommended to use the method that matches with how you installed Vim.
+Thus if you installed Vim by hand, deleted it by hand.
+
+The first two methods should be available from the Add/Remove software window
+and the Vim entry in the Start menu.  If these have been removed already, find
+"uninstall-gui.exe" or "uninstal.exe" in the Vim directory.
+   Running these programs should be self-explanatory.  Carefully read the
+messages to avoid deleting something you want to keep.
+
+Here are guidelines for removing Vim by hand:
+
+1. Remove the "Edit with Vim" popup menu entry, if it exists.  This will only
+   be on MS-Windows 95/98/NT.  This is done by running the uninstal.exe
+   program.  It removes the registry entries for the "Edit with Vim" popup
+   menu entry.  You only need to run uninstal.exe when you have installed the
+   menu entry.  You can also run uninstal.exe from the Control panel with the
+   Add/Remove programs application.
+   Note that uninstal.exe offers you to uninstal other items.  You can skip
+   this.
+
+2. Only if you have used the OLE version of gvim: Remove the registration of
+   this program by running "gvim -unregister" in a console window.
+
+3. Delete the executables.  If you copied the executables to another location,
+   you will have to delete them from where you copied them to.  If you don't
+   remember where they are, look in the directories from the $PATH environment
+   variable.
+   If you created .bat files when installing Vim, also search for vim.bat,
+   gvim.bat, etc.
+
+4. If you completely want to delete vim, and are not going to install another
+   version, you can delete the vimrc files that you created.  These are
+   normally located in a directory like "C:\vim".  If the $VIM environment
+   variable is set, it will tell the name of the directory.  Normally you can
+   delete everything in this directory.  Warning: You might have put some
+   files there that you would like to save.  If you did remove it all, you can
+   skip the next step.
+
+5. Delete the distributed files.  If you followed the directions, these will
+   be located in a directory like "C:\vim\vim54".  If the $VIM environment
+   variable is set, the directory will be $VIM\vim54.  Delete the "vim54"
+   directory and all that is in it.  Warning: If you changed any of the
+   distributed files, or added some of your own files, you might want to save
+   these first.  But normally you would not have changed or added files here.
+
+6. Remove setting the $VIM and $VIMRUNTIME environment variable and adjust
+   $PATH.  $VIM only needs to be removed if you are not going to install
+   another version of Vim.  $VIMRUNTIME is mostly not set.  Check if $PATH
+   contains the path of the vim directory.  Note that $PATH may be set in
+   several places, you will have to find the right one, and only delete the
+   Vim path from it.  You can most likely find the lines that set $PATH, $VIM
+   and/or $VIMRUNTIME in C:\autoexec.bat.  Under Windows NT you might need to
+   use the "System Properties" editor to change the environment variables, if
+   they are not in the C:\autoexec.bat file.  You can start it by selecting
+   Start/Settings/Control Panel and then "System".
+
+7. If you added a Vim entry in the start menu, delete it.
+
+8. If you created icons for Vim on the desktop, delete them.
+
+Vim does not use .ini files.  The above should remove all Vim files, except
+the ones that you moved elsewhere yourself.