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