summaryrefslogtreecommitdiff
path: root/runtime/tutor
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/tutor')
-rw-r--r--runtime/tutor/README.txt148
-rwxr-xr-xruntime/tutor/README_ami.txt.infobin0 -> 582 bytes
-rwxr-xr-xruntime/tutor/README_amibin.txt.infobin0 -> 582 bytes
-rw-r--r--runtime/tutor/README_dos.txt154
-rw-r--r--runtime/tutor/README_mac.txt8
-rwxr-xr-xruntime/tutor/runtime.infobin0 -> 624 bytes
-rw-r--r--runtime/tutor/runtime/evim.vim66
-rw-r--r--runtime/tutor/runtime/gvimrc_example.vim59
-rw-r--r--runtime/tutor/runtime/icons.infobin0 -> 624 bytes
-rw-r--r--runtime/tutor/runtime/scripts.vim351
-rw-r--r--runtime/tutor/runtime/synmenu.vim569
-rw-r--r--runtime/tutor/runtime/vim48x48.pngbin0 -> 474 bytes
-rw-r--r--runtime/tutor/tutor.de.utf-8980
-rw-r--r--runtime/tutor/tutor.el.cp737815
-rw-r--r--runtime/tutor/tutor.hr972
-rw-r--r--runtime/tutor/uninstal.txt80
16 files changed, 4186 insertions, 16 deletions
diff --git a/runtime/tutor/README.txt b/runtime/tutor/README.txt
index 77097c199..6eece4197 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 000000000..912436d6a
--- /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 000000000..bdc3f028e
--- /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 000000000..f4818b8a2
--- /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 000000000..796ad0162
--- /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 000000000..6ff0468ea
--- /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 000000000..754729048
--- /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 000000000..5a5197e99
--- /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 000000000..566bc5663
--- /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 000000000..936f508e7
--- /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 000000000..68a841e25
--- /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 000000000..4bac67e62
--- /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 000000000..7b39abedc
--- /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 000000000..69ceff11f
--- /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 000000000..f1d346c2a
--- /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 000000000..bb06c9935
--- /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.