changeset 14372:2a4a2dc35c55

Update runtime files. commit https://github.com/vim/vim/commit/a9604e61451707b38fdcb088fbfaeea2b922fef6 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 21 05:56:22 2018 +0200 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Sat, 21 Jul 2018 06:00:09 +0200
parents 2fb503a18f12
children 380217380738
files CONTRIBUTING.md runtime/autoload/spellfile.vim runtime/doc/evim-ja.UTF-8.1 runtime/doc/motion.txt runtime/doc/options.txt runtime/doc/pattern.txt runtime/doc/starting.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_05.txt runtime/doc/vim-ja.UTF-8.1 runtime/doc/vimdiff-ja.UTF-8.1 runtime/doc/vimtutor-ja.UTF-8.1 runtime/doc/xxd-ja.UTF-8.1 runtime/lang/README.txt runtime/lang/menu_ja_jp.euc-jp.vim runtime/lang/menu_ja_jp.utf-8.vim runtime/lang/menu_japanese_japan.932.vim runtime/mswin.vim runtime/plugin/README.txt runtime/syntax/cs.vim runtime/syntax/pf.vim runtime/syntax/sudoers.vim runtime/tutor/Makefile runtime/tutor/README.txt runtime/tutor/tutor.ja.euc runtime/tutor/tutor.ja.sjis runtime/tutor/tutor.ja.utf-8 runtime/tutor/tutor.lv runtime/tutor/tutor.lv.utf-8 runtime/tutor/tutor.vim
diffstat 31 files changed, 1731 insertions(+), 1440 deletions(-) [+]
line wrap: on
line diff
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -57,11 +57,18 @@ If the maintainer does not respond, cont
 # Translations
 
 Translating messages and runtime files is very much appreciated!  These things can be translated:
-*   Messages in Vim, see src/po/README.txt
-*   Menus, see runtime/lang/README.txt
-*   Vim tutor, see runtime/tutor/README.txt
-*   Manual pages, see runtime/doc/*.1 for examples
-*   Desktop icon, see runtime/vim.desktop and runtime/gvim.desktop
+*   Messages in Vim, see [src/po/README.txt][1]
+*   Menus, see [runtime/lang/README.txt][2]
+*   Vim tutor, see [runtime/tutor/README.txt][3]
+*   Manual pages, see [runtime/doc/\*.1][4] for examples
+*   Desktop icon, see [runtime/vim.desktop][5] and [runtime/gvim.desktop][6]
 
 The help files can be translated and made available separately.
 See https://www.vim.org/translations.php for examples.
+
+[1]: https://github.com/vim/vim/blob/master/src/po/README.txt
+[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
+[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
+[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
+[5]: https://github.com/vim/vim/blob/master/runtime/vim.desktop
+[6]: https://github.com/vim/vim/blob/master/runtime/gvim.desktop
--- a/runtime/autoload/spellfile.vim
+++ b/runtime/autoload/spellfile.vim
@@ -22,6 +22,7 @@ function! spellfile#LoadFile(lang)
     endif
     return
   endif
+  let lang = tolower(a:lang)
 
   " If the URL changes we try all files again.
   if s:spellfile_URL != g:spellfile_URL
@@ -30,13 +31,13 @@ function! spellfile#LoadFile(lang)
   endif
 
   " I will say this only once!
-  if has_key(s:donedict, a:lang . &enc)
+  if has_key(s:donedict, lang . &enc)
     if &verbose
       echomsg 'spellfile#LoadFile(): Tried this language/encoding before.'
     endif
     return
   endif
-  let s:donedict[a:lang . &enc] = 1
+  let s:donedict[lang . &enc] = 1
 
   " Find spell directories we can write in.
   let [dirlist, dirchoices] = spellfile#GetDirChoices()
@@ -57,14 +58,14 @@ function! spellfile#LoadFile(lang)
     endif
   endif
 
-  let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
+  let msg = 'Cannot find spell file for "' . lang . '" in ' . &enc
   let msg .= "\nDo you want me to try downloading it?"
   if confirm(msg, "&Yes\n&No", 2) == 1
     let enc = &encoding
     if enc == 'iso-8859-15'
       let enc = 'latin1'
     endif
-    let fname = a:lang . '.' . enc . '.spl'
+    let fname = lang . '.' . enc . '.spl'
 
     " Split the window, read the file into a new buffer.
     " Remember the buffer number, we check it below.
@@ -95,7 +96,7 @@ function! spellfile#LoadFile(lang)
 	let newbufnr = winbufnr(0)
       endif
 
-      let fname = a:lang . '.ascii.spl'
+      let fname = lang . '.ascii.spl'
       echo 'Could not find it, trying ' . fname . '...'
       call spellfile#Nread(fname)
       if getline(2) !~ 'VIMspell'
--- a/runtime/doc/evim-ja.UTF-8.1
+++ b/runtime/doc/evim-ja.UTF-8.1
@@ -25,11 +25,9 @@ MS-Windows のメモ帳のような動作です。
 .PP
 引数や Vim についての詳細は vim(1) を参照してください。
 .PP
-オプション 'insertmode' が設定され、テキストを直接、入力できるようになりま
-す。
+オプション 'insertmode' が設定され、テキストを直接、入力できるようになります。
 .br
-コピーとペーストのキー操作が MS-Windows と同じになるように、マップが設定され
-ます。
+コピーとペーストのキー操作が MS-Windows と同じになるように、マップが設定されます。
 CTRL-X が切り取り、CTRL-C がコピー、CTRL-V がペーストです。
 標準の CTRL-V の操作は CTRL-Q に割り当てられます。
 .SH オプション
@@ -41,8 +39,7 @@ eVim の初期化スクリプト。
 .SH 別名
 evim は "gumbies のための Vim" とも呼ばれています。
 evim を使っているあなたはきっと、頭にハンカチをかぶっているのです。
-(訳注: gumbies は Monty Python に登場するおもしろ集団。ハンカチをかぶっ
-ている。)
+(訳注: gumbies は Monty Python に登場するおもしろ集団。ハンカチをかぶっている。)
 .SH 関連項目
 vim(1)
 .SH 著者
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1164,7 +1164,7 @@ remembered.
 							*:changes*
 :changes		Print the change list.  A ">" character indicates the
 			current position.  Just after a change it is below the
-			newest entry, indicating that "g;" takes you to the
+			newest entry, indicating that `g;` takes you to the
 			newest entry position.  The first column indicates the
 			count needed to take you to this position.  Example:
 
@@ -1174,8 +1174,8 @@ remembered.
 				    1    14   54 the latest changed line
 				>
 
-			The "3g;" command takes you to line 9.  Then the
-			output of ":changes is:
+			The `3g;` command takes you to line 9.  Then the
+			output of `:changes` is:
 
 				change line  col text ~
 				>   0     9    8 bla bla bla
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -2087,10 +2087,10 @@ A jump table for the options with a shor
 			See also |map_bar|.
 								*cpo-B*
 		B	A backslash has no special meaning in mappings,
-			abbreviations and the "to" part of the menu commands.
-			Remove this flag to be able to use a backslash like a
-			CTRL-V.  For example, the command ":map X \<Esc>"
-			results in X being mapped to:
+			abbreviations, user commands and the "to" part of the
+			menu commands.  Remove this flag to be able to use a
+			backslash like a CTRL-V.  For example, the command
+			":map X \<Esc>" results in X being mapped to:
 				'B' included:	"\^["	 (^[ is a real <Esc>)
 				'B' excluded:	"<Esc>"  (5 characters)
 				('<' excluded in both cases)
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -293,6 +293,14 @@ the "#" is under your left hand middle f
 the "*" is under your right hand middle finger (search to the right and down).
 (this depends on your keyboard layout though).
 
+								*E956*
+In very rare cases a regular expression is used recursively.  This can happen
+when executing a pattern takes a long time and when checkig for messages on
+channels a callback is invoked that also uses a pattern or an autocommand is
+triggered.  In most cases this should be fine, but if a pattern is in use when
+it's used again it fails.  Usually this means there is something wrong with
+the pattern.
+
 ==============================================================================
 2. The definition of a pattern		*search-pattern* *pattern* *[pattern]*
 					*regular-expression* *regexp* *Pattern*
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -511,9 +511,11 @@ a slash.  Thus "-R" means recovery and "
 		{not in Vi}
 
 							*--clean*
---clean		Equal to "-u DEFAULTS -U NONE -i NONE":
+--clean		Similar to "-u DEFAULTS -U NONE -i NONE":
 		- initializations from files and environment variables is
 		  skipped
+		-'runtimepath'and 'packpath' are set to exclude home
+		  directory entries (does not happen with -u DEFAULTS).
 		- the |defaults.vim| script is loaded, which implies
 		  'nocompatible': use Vim defaults
 		- no |gvimrc| script is loaded
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4620,6 +4620,7 @@ E952	autocmd.txt	/*E952*
 E953	eval.txt	/*E953*
 E954	options.txt	/*E954*
 E955	eval.txt	/*E955*
+E956	pattern.txt	/*E956*
 E96	diff.txt	/*E96*
 E97	diff.txt	/*E97*
 E98	diff.txt	/*E98*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,10 +38,6 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Crash when ui_breakcheck() called from regexec() calls regexec() recursively.
-(Andy Massimino, #3175)
-Make regexp work recursively, store all globals in "rex"?
-
 Prompt buffer:
 - Add a command line history.
 - delay next prompt until plugin gives OK?
@@ -81,6 +77,8 @@ Does not build with MinGW out of the box
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
+Patches for Python: #3162, #3263 (Ozaki Kiichi)
+
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
@@ -96,29 +94,43 @@ Patch to fix that +packages is always in
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
+Patch for Perl 5.28 on Windows. (#3196)
+
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
 Patch replacing imp with importlib. (#3163)
 
+Patch to make CTRL-S in mswin.vim work better. (#3211)
+But use "gi" instead of "a".
+
 Using ":file" in quickfix window during an autocommand doesn't work. 
 (Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
 
 Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
 
+Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
+(Dominique Pelle, 2018 Jul 16)
+
 Whenever the file name is "~" then expand('%:p') returns $HOME. (Aidan
 Shafran, 2018 Jun 23, #3072)  Proposed patch by Aidan, 2018 Jun 24.
 
 Patch to set w_set_curswant when setting the cursor in language interfaces.
 (David Hotham, 2018 Jun 22, #3060)
 
+Problem with two buffers with the same name a/b, if it didn't exist before and
+is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
+
 Patch to make CTRL-W <CR> work properly in a quickfix window. (Jason Franklin,
 2018 May 30)
 
+gethostbyname() is old, use getaddrinfo() if available. (#3227)
+
+matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
+19.
+
 Patch to make mode() return something different for Normal mode when coming
-from Insert mode with CTRL-O. (#3000)
-
-Patches for Python: #3162, #3263 (Ozaki Kiichi)
+from Insert mode with CTRL-O. (#3000)  Useful for positioning the cursor.
 
 Script generated by :mksession does not work well if there are windows with
 modified buffers
@@ -231,6 +243,10 @@ Does setting 'cursorline' cause syntax h
 mess up the cache?  (Mike Lee Williams, 2018 Jan 27, #2539)
 Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
 
+With 'foldmethod' "indent" and appending an empty line, what follows isn't
+included in the existing fold.  Deleting the empty line and undo fixes it.
+(Oleg Koshovetc, 2018 Jul 15, #3214)
+
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
@@ -256,6 +272,8 @@ confusing error message. (Wang Shidong, 
 
 Add the debug command line history to viminfo.
 
+Issue #686: apply 'F' in 'shortmess' to more messages.  Also #3221.
+
 Avoid that "sign unplace id" does a redraw right away, esp. when there is a
 sequence of these commands. (Andy Stewart, 2018 Mar 16)
 
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -344,8 +344,9 @@ 2. Drop it in the right directory.
 GETTING A GLOBAL PLUGIN
 
 Where can you find plugins?
+- Some are always loaded, you can see them in the directory $VIMRUNTIME/plugin.
 - Some come with Vim.  You can find them in the directory $VIMRUNTIME/macros
-  and its sub-directories.
+  and its sub-directories and under $VIM/vimfiles/pack/dist/opt/.
 - Download from the net.  There is a large collection on http://www.vim.org.
 - They are sometimes posted in a Vim |maillist|.
 - You could write one yourself, see |write-plugin|.
--- a/runtime/doc/vim-ja.UTF-8.1
+++ b/runtime/doc/vim-ja.UTF-8.1
@@ -36,8 +36,7 @@ vim \- Vi IMproved, プログラマのテキストエディタ
 特に、プログラムの編集に力を発揮します。
 .PP
 Vi に多くの改良が加えられています:
-多段アンドゥ、マルチウィンドウ、マルチバッファ、構文強調表示、
-コマンドライン編集、ファイル名補完、ヘルプ、ビジュアル選択、などなど。
+多段アンドゥ、マルチウィンドウ、マルチバッファ、構文強調表示、コマンドライン編集、ファイル名補完、ヘルプ、ビジュアル選択、などなど。
 .B Vim
 と Vi の違いについての要約は ":help vi_diff.txt" を参照してください。
 .PP
@@ -66,24 +65,23 @@ file ..
 filelist の前に "\-\-" を指定してください。
 .TP
 \-
-ファイルは標準入力から読み込まれます。コマンドは標準エラー (ttyからの入
-力になっているはず) から読み込まれます。
+ファイルは標準入力から読み込まれます。コマンドは標準エラー
+(ttyからの入力になっているはず) から読み込まれます。
 .TP
 \-t {tag}
 開くファイルとカーソルの初期位置は "tag" に依存します。goto label の一種です。
-tags ファイルから {tag} が検索され、関連したファイルがカレントファイルになり
-ます。そして、関連したコマンドが実行されます。
-これは主に C 言語のファイルを開くときに使われます。その場合 {tag} に関数など
-を指定して使います。
-関数を含んでいるファイルが開かれ、その関数の先頭にカーソルが移動する、
-という動作になります。
+tags ファイルから {tag} が検索され、関連したファイルがカレントファイルになります。
+そして、関連したコマンドが実行されます。
+これは主に C 言語のファイルを開くときに使われます。
+その場合 {tag} に関数などを指定して使います。
+関数を含んでいるファイルが開かれ、その関数の先頭にカーソルが移動する、という動作になります。
 詳しくは ":help tag\-commands" を参照してください。
 .TP
 \-q [errorfile]
 クイックフィックスモードで起動します。
 [errorfile] に指定したファイルが読み込まれ、最初のエラーが表示されます。
-[errorfile] を省略した場合は、オプション 'errorfile' が使われます (初期設定
-は、Amiga では "AztecC.Err"、その他のシステムでは "errors.err" です)。
+[errorfile] を省略した場合は、オプション 'errorfile' が使われます
+(初期設定は、Amiga では "AztecC.Err"、その他のシステムでは "errors.err" です)。
 ":cn" コマンドで次のエラーにジャンプできます。
 詳しくは ":help quickfix" を参照してください。
 .PP
@@ -144,16 +142,15 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
 一番目のファイルが読み込まれた後に {file} が実行されます。
 これは \-c "source {file}" と同じ動作です。
 {file} の先頭が '\-' の場合は使えません。
-{file} が省略された場合は、"Session.vim" が使われます (ただし \-S が最後の引
-数だった場合のみ)。
+{file} が省略された場合は、"Session.vim" が使われます
+(ただし \-S が最後の引数だった場合のみ)。
 .TP
 \-\-cmd {command}
 "\-c" と同じですが、vimrc を処理する前にコマンドが実行されます。
 これらのコマンドは "\-c" コマンドとは別に、10 個まで指定できます。
 .TP
 \-A
-アラビア語がサポートされていて、アラビア語キーマップがある場合は、
-アラビア語モードで起動します ('arabic' がオンになります)。
+アラビア語がサポートされていて、アラビア語キーマップがある場合は、アラビア語モードで起動します ('arabic' がオンになります)。
 右横書きのファイルを編集できます。
 サポートされていない場合はエラーメッセージを表示して終了します。
 .TP
@@ -180,8 +177,8 @@ Amiga でのみ使います。
 "\-d con:20/30/600/150".
 .TP
 \-D
-デバッグ。スクリプトの最初のコマンドが実行されるところからデバッグモードを開
-始します。
+デバッグ。
+スクリプトの最初のコマンドが実行されるところからデバッグモードを開始します。
 .TP
 \-e
 Ex モードで起動します。
@@ -203,8 +200,7 @@ Amiga では、":sh" と "!" コマンドは機能しなくなります。
 フォアグラウンド。GUI バージョンで、プロセスをフォークしなくなります。
 .TP
 \-F
-ペルシア語がサポートされていて、ペルシア語キーマップがある場合は、
-ペルシア語モードで起動します ('fkmap' と 'rightleft' がオンになります)。
+ペルシア語がサポートされていて、ペルシア語キーマップがある場合は、ペルシア語モードで起動します ('fkmap' と 'rightleft' がオンになります)。
 右横書きのファイルを編集できます。
 サポートされていない場合はエラーメッセージを表示して終了します。
 .TP
@@ -216,14 +212,13 @@ GUI がサポートされている場合は、GUI で起動します。
 コマンドライン引数やオプションのヘルプを表示して終了します。
 .TP
 \-H
-ヘブライ語がサポートされていて、ヘブライ語キーマップがある場合は、
-ヘブライ語モードで起動します ('hkmap' と 'rightleft' がオンになります)。
+ヘブライ語がサポートされていて、ヘブライ語キーマップがある場合は、ヘブライ語モードで起動します ('hkmap' と 'rightleft' がオンになります)。
 右横書きのファイルを編集できます。
 サポートされていない場合はエラーメッセージを表示して終了します。
 .TP
 \-i {viminfo}
-viminfo ファイルを使う設定になっている場合は、初期設定の "~/.viminfo" の代わ
-りに、指定されたファイルを設定します。
+viminfo ファイルを使う設定になっている場合は、初期設定の "~/.viminfo"
+の代わりに、指定されたファイルを設定します。
 "NONE" を指定すると、.viminfo ファイルを使わないように設定できます。
 .TP
 \-L
@@ -239,8 +234,8 @@ lisp モード。
 バッファを変更することはできますが、ファイルを保存することはできません。
 .TP
 \-M
-変更を不可能にします。オプションの 'modifiable' と 'write' がオフになり、
-ファイルの変更と保存ができなくなります。
+変更を不可能にします。
+オプションの 'modifiable' と 'write' がオフになり、ファイルの変更と保存ができなくなります。
 Note: それらのオプションを設定すれば変更できるようになります。
 .TP
 \-N
@@ -252,8 +247,7 @@ Note: それらのオプションを設定すれば変更できるようになります。
 \-n
 スワップファイルを使用しません。
 クラッシュしてもリカバリできなくなります。
-フロッピーディスクのような非常に低速なメディアのファイルを読み書きするときに
-便利です。
+フロッピーディスクのような非常に低速なメディアのファイルを読み書きするときに便利です。
 ":set uc=0" と設定しても同じです。
 戻すには ":set uc=200" と設定してください。
 .TP
@@ -276,10 +270,8 @@ N を省略した場合は、引数のファイルを個別のタブページで開きます。
 \-R
 読み込み専用モード。
 オプション 'readonly' がオンになります。
-バッファを変更することはできますが、間違ってファイルを上書きしてしまうのを防
-ぐことができます。
-ファイルを保存したい場合は、":w!" のように、Ex コマンドに感嘆符を付けてくだ
-さい。
+バッファを変更することはできますが、間違ってファイルを上書きしてしまうのを防ぐことができます。
+ファイルを保存したい場合は、":w!" のように、Ex コマンドに感嘆符を付けてください。
 \-R オプションは \-n オプションの効果も含んでいます (上記参照)。
 オプション 'readonly' は ":set noro" でオフにできます。
 詳しくは ":help 'readonly'" を参照してください。
@@ -301,13 +293,13 @@ N を省略した場合は、引数のファイルを個別のタブページで開きます。
 {scriptin} をスクリプトファイルとして読み込まれます。
 ファイル中の文字列は、手で入力したときと同じように処理されます。
 これは ":source! {scriptin}" と同じ動作です。
-エディタが終了する前にファイルの終わりまで読み込んだ場合、
-それ以降はキーボードから入力を読み込みます。
+エディタが終了する前にファイルの終わりまで読み込んだ場合、それ以降はキーボードから入力を読み込みます。
 .TP
 \-T {terminal}
 端末の名前を指定します。
 端末が自動的に認識されない場合に使ってください。
-Vim が組み込みでサポートしている名前か、
+.B Vim
+が組み込みでサポートしている名前か、
 termcap または terminfo ファイルで定義されている名前を指定してください。
 .TP
 \-u {vimrc}
@@ -324,8 +316,9 @@ termcap または terminfo ファイルで定義されている名前を指定してください。
 詳しくは ":help gui\-init" を参照してください。
 .TP
 \-V[N]
-冗長モード。スクリプトファイルを実行したり viminfo ファイルを読み書きするた
-びにメッセージを表示します。N に指定した数値が 'verbose' に設定されます。
+冗長モード。
+スクリプトファイルを実行したり viminfo ファイルを読み書きするたびにメッセージを表示します。
+N に指定した数値が 'verbose' に設定されます。
 省略した場合は 10 になります。
 .TP
 \-v
@@ -335,8 +328,7 @@ Vi モードで起動します。
 .TP
 \-w {scriptout}
 入力した文字を {scriptout} に記録します。
-"vim \-s" や "source!" で実行するためのスクリプトファイルを作成するのに便利
-です。
+"vim \-s" や "source!" で実行するためのスクリプトファイルを作成するのに便利です。
 {scriptout} ファイルがすでに存在した場合は追加保存されます。
 .TP
 \-W {scriptout}
@@ -371,46 +363,40 @@ GTK GUI のみ: Window ID を標準出力に出力します。
 ヘルプを表示して終了します。"\-h" と同じです。
 .TP
 \-\-literal
-引数のファイル名をリテラル文字列として扱います。ワイルドカードを展開しませ
-ん。Unix のように、シェルがワイルドカードを展開する場合は機能しません。
+引数のファイル名をリテラル文字列として扱います。ワイルドカードを展開しません。
+Unix のように、シェルがワイルドカードを展開する場合は機能しません。
 .TP
 \-\-noplugin
 プラグインをロードしません。\-u NONE はこの動作を含んでいます。
 .TP
 \-\-remote
 Vim サーバーと通信し、引数に指定されたファイルを Vim サーバーで開きます。
-サーバーが存在しない場合は、エラーメッセージを表示され、起動中の Vim でファ
-イルが開かれます。
+サーバーが存在しない場合は、エラーメッセージを表示され、起動中の Vim でファイルが開かれます。
 .TP
 \-\-remote\-expr {expr}
-Vim サーバーと通信し、{expr} に与えられた式を Vim サーバーで実行し、結果を標
-準出力に出力します。
+Vim サーバーと通信し、{expr} に与えられた式を Vim サーバーで実行し、結果を標準出力に出力します。
 .TP
 \-\-remote\-send {keys}
 Vim サーバーと通信し、{keys} に与えられたキーを Vim サーバーに送信します。
 .TP
 \-\-remote\-silent
-\-\-remote と同じですが、サーバーが存在しなくてもエラーメッセージを表示しま
-せん。
+\-\-remote と同じですが、サーバーが存在しなくてもエラーメッセージを表示しません。
 .TP
 \-\-remote\-wait
 \-\-remote と同じですが、ファイルが開かれるのを確認できるまで待機します。
 .TP
 \-\-remote\-wait\-silent
-\-\-remote\-wait と同じですが、サーバーが存在しなくてもエラーメッセージを表
-示しません。
+\-\-remote\-wait と同じですが、サーバーが存在しなくてもエラーメッセージを表示しません。
 .TP
 \-\-serverlist
 Vim サーバーの一覧を表示します。
 .TP
 \-\-servername {name}
-サーバーの名前を {name} に設定します。\-\-remote 引数を指定しなかった場合
-は、起動中の Vim の名前として使われるので、後からその名前を使ってサーバー通
-信できます。
+サーバーの名前を {name} に設定します。
+\-\-remote 引数を指定しなかった場合は、起動中の Vim の名前として使われるので、後からその名前を使ってサーバー通信できます。
 .TP
 \-\-socketid {id}
-GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行しま
-す。
+GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行します。
 .TP
 \-\-version
 バージョン情報を表示して終了します。
@@ -459,8 +445,8 @@ GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行しま
 ユーザーの gvim 初期化ファイル。
 .TP
 /usr/local/lib/vim/optwin.vim
-":options" コマンドで使われるファイル。オプションを表示したり設定したりでき
-ます。
+":options" コマンドで使われるファイル。
+オプションを表示したり設定したりできます。
 .TP
 /usr/local/lib/vim/menu.vim
 システムのメニュー初期化ファイル。gvim で使います。
@@ -494,8 +480,7 @@ G.R. (Fred) Walter によって開発されました。
 .SH バグ
 既知のバグは ":help todo" に記載されています。
 .PP
-Vi の動作を忠実に再現した結果、多くの人がバグだと思うような機能もいくつかあ
-ります。
-"この動作は Vi と違う" からバグだと思った場合は、vi_diff.txtを確認してみてく
-ださい (ファイルを開くか、Vim から ":help vi_diff.txt" と入力)。
+Vi の動作を忠実に再現した結果、多くの人がバグだと思うような機能もいくつかあります。
+"この動作は Vi と違う" からバグだと思った場合は、 vi_diff.txt を確認してみてください
+(ファイルを開くか、 Vim から ":help vi_diff.txt" と入力)。
 オプションの 'compatible' と 'cpoptions' も確認してください。
--- a/runtime/doc/vimdiff-ja.UTF-8.1
+++ b/runtime/doc/vimdiff-ja.UTF-8.1
@@ -13,26 +13,21 @@ vimdiff \- 二つか三つか四つのファイルを Vim で開いて、その差分を表示する
 .B Vim
 で開きます。
 ファイルは個別のウィンドウで開かれ、差分が強調表示されます。
-同じファイルの別のバージョン間で、変更を確認したり、変更を移動したりするのが
-簡単になります。
+同じファイルの別のバージョン間で、変更を確認したり、変更を移動したりするのが簡単になります。
 .PP
 Vim についての詳細は vim(1) を参照してください。
 .PP
 .B gvimdiff
 という名前で起動された場合は GUI で起動します。
 .PP
-差分を強調表示するために、
-それぞれのウィンドウの 'diff' オプションがオンに設定されます。
+差分を強調表示するために、それぞれのウィンドウの 'diff' オプションがオンに設定されます。
 .br
-テキストを見やすくするために、オプションの 'wrap' と 'scrollbind' もオンに設
-定されます。
+テキストを見やすくするために、オプションの 'wrap' と 'scrollbind' もオンに設定されます。
 .br
- 'foldmethod' オプションは "diff" に設定され、変更されていない行は折り畳まれ
-ます。
+ 'foldmethod' オプションは "diff" に設定され、変更されていない行は折り畳まれます。
 折り畳みの確認と開閉が簡単にできるように、'foldcolumn' は 2 に設定されます。
 .SH オプション
-行を並べて表示するために、"\-O" 引数を使ったときのように、ウィンドウは垂直分
-割されます。
+行を並べて表示するために、"\-O" 引数を使ったときのように、ウィンドウは垂直分割されます。
 ウィンドウを水平分割したい場合は "\-o" 引数を使ってください。
 .PP
 その他の引数については vim(1) を参照してください。
--- a/runtime/doc/vimtutor-ja.UTF-8.1
+++ b/runtime/doc/vimtutor-ja.UTF-8.1
@@ -7,14 +7,13 @@ vimtutor \- Vim チュートリアル
 .SH 説明
 .B Vim
 のチュートリアルを起動します。
-演習ファイルのコピーを使って実施するので、オリジナルの演習ファイルを壊してし
-まう心配はありません。
+演習ファイルのコピーを使って実施するので、オリジナルの演習ファイルを壊してしまう心配はありません。
 .PP
 .B Vim
 を初めて学ぶ人向けのチュートリアルです。
 .PP
-引数に \-g を指定すると GUI 版の vim が利用可能であれば vim ではなく gvim を
-使って vimtutor が開始します。gvim が見つからないときは Vim が使用されます。
+引数に \-g を指定すると GUI 版の vim が利用可能であれば vim ではなく gvim
+を使って vimtutor が開始します。gvim が見つからないときは Vim が使用されます。
 .PP
 [language] 引数は "ja" や "es" などの二文字の言語名です。
 [language] 引数を省略した場合はロケールの言語が使われます。
@@ -34,8 +33,8 @@ vimtutor \- Vim チュートリアル
 .SH 著者
 .B Vimtutor
 は、Colorado State University の Charles Smith のアイデアを基に、
-Colorado School of Mines の Michael C.  Pierce と Robert K. Ware の両名
-によって Vi 向けに作成されたものを基にしています。
+Colorado School of Mines の Michael C. Pierce と Robert K. Ware
+の両名によって Vi 向けに作成されたものを基にしています。
 E-mail: bware@mines.colorado.edu.
 .br
 .B Vim
--- a/runtime/doc/xxd-ja.UTF-8.1
+++ b/runtime/doc/xxd-ja.UTF-8.1
@@ -22,8 +22,7 @@ 16 進ダンプから元のバイナリに戻すこともできます。
 .BR uuencode (1)

 .BR uudecode (1)
-のように、バイナリデータを、メールに貼り付け可能な ASCII 形式に変換できた
-り、標準出力に出力することもできます。
+のように、バイナリデータを、メールに貼り付け可能な ASCII 形式に変換できたり、標準出力に出力することもできます。
 さらに、バイナリファイルにパッチを当てるという使い方もできます。
 .SH オプション
 .I infile
@@ -37,8 +36,8 @@ 16 進ダンプから元のバイナリに戻すこともできます。
 .RB \` \- '
 を指定した) 場合は、標準出力に出力されます。
 .PP
-引数の解釈処理は適当なので注意してください。パラメータを取らない引数は
-最初の一文字だけチェックされます。
+引数の解釈処理は適当なので注意してください。
+パラメータを取らない引数は最初の一文字だけチェックされます。
 引数の文字とパラメータの間のスペースは省略可能です。
 パラメータは 10 進数、16 進数、8 進数で指定できます。
 .BR \-c8
@@ -63,12 +62,12 @@ 1 オクテットが "1" と "0" の 8 文字で出力されます。
 .TP
 .IR \-e
 リトルエンディアンの 16 進ダンプに切り替える。
-このオプションは、バイトのグループをリトルエンディアンのバイト順のワードとして
-扱います。標準のグルーピングは 4 バイトですが、
+このオプションは、バイトのグループをリトルエンディアンのバイト順のワードとして扱います。
+標準のグルーピングは 4 バイトですが、
 .RI "" \-g
 を使うことで変更可能です。
-このオプションは 16 進ダンプのみに適用され、ASCII (あるいは EBCDIC) 表示は
-変更されません。
+このオプションは 16 進ダンプのみに適用され、ASCII (あるいは EBCDIC)
+表示は変更されません。
 このモードでは \-r、\-p、\-i は機能しません。
 .TP
 .IR "\-c cols " | " \-cols cols"
@@ -87,23 +86,22 @@ 16 進ダンプの出力形式は変更されません。
 .IR "\-g bytes " | " \-groupsize bytes"
 出力を
 .RI < bytes >
-バイト (2 文字の 16 進数、または 8 文字の 2 進数) ごとにスペースで区切りま
-す。
+バイト (2 文字の 16 進数、または 8 文字の 2 進数) ごとにスペースで区切ります。
 区切らずに出力するには
 .I \-g 0
 を指定してください。
 .RI < Bytes >
 の標準設定は \fI2\fP で、リトルエンディアンモードの場合は \fI4\fP 、
 2 進ダンプの場合は \fI1\fP です。
-ポストスクリプト形式やインクルード形式で出力するときは、このオプションは使わ
-れません。
+ポストスクリプト形式やインクルード形式で出力するときは、このオプションは使われません。
 .TP
 .IR \-h " | " \-help
 コマンドの説明を出力して終了する。変換は実行されません。
 .TP
 .IR \-i " | " \-include
-C インクルードファイル形式で出力します。入力ファイルの名前が付けられた静的配
-列の定義が出力されます。標準入力の場合は定義の中身だけ出力されます。
+C インクルードファイル形式で出力します。
+入力ファイルの名前が付けられた静的配列の定義が出力されます。
+標準入力の場合は定義の中身だけ出力されます。
 .TP
 .IR "\-l len " | " \-len len"
 .RI  < len >
@@ -135,9 +133,9 @@ infile の
 .RI < seek >
 バイト目 (絶対位置、または相対位置) から開始する。
 \fI+ \fRは、現在の標準入力の位置から相対的な位置を示します
-(標準入力から読み込むときのみ意味があります)。\fI\- \fRは、入力の終わりから
-の文字数を示します (\fI+\fR と同時に指定した場合は、現在の標準入力の位置から
-手前の位置を示します)。
+(標準入力から読み込むときのみ意味があります)。
+\fI\- \fRは、入力の終わりからの文字数を示します
+(\fI+\fR と同時に指定した場合は、現在の標準入力の位置から手前の位置を示します)。
 \-s 引数を指定しなかった場合は、現在のファイル位置から開始されます。
 .TP
 .I \-u
@@ -149,21 +147,20 @@ 16 進数の表記に大文字を使います。指定がない場合は小文字で出力されます。
 .PP
 .I xxd \-r
 では行番号の評価に関しての暗黙のルールがいくつかあります。
-出力ファイルがシーク可能なら、各行の行番号が順番通りに並んでなくても構いませ
-ん。位置が飛んでいても重なっていても大丈夫です。その場合、次の位置に移動する
-ために lseek(2) が使われます。
-出力ファイルがシーク不可なら、「隙間」だけが処理可能です。隙間は null バイト
-で埋められます。
+出力ファイルがシーク可能なら、各行の行番号が順番通りに並んでなくても構いません。
+位置が飛んでいても重なっていても大丈夫です。
+その場合、次の位置に移動するために lseek(2) が使われます。
+出力ファイルがシーク不可なら、「隙間」だけが処理可能です。
+隙間は null バイトで埋められます。
 .PP
 .I xxd \-r
 は不正な入力をエラーにしません。ゴミは静かに読み飛ばされます。
 .PP
 16 進ダンプを編集するときは注意が必要です。
 .I xxd \-r
-は必要な桁 (\-c 引数参照) だけ 16 進データを読み込んで、行の残りを無視しま
-す。つまり、ascii (または ebcdic) を示している列への変更は無視されます。
-xxd \-r \-p でプレーン形式 (ポストスクリプト形式) の 16 進ダンプを元に戻す場
-合は、列の数は影響しません。
+は必要な桁 (\-c 引数参照) だけ 16 進データを読み込んで、行の残りを無視します。
+つまり、ascii (または ebcdic) を示している列への変更は無視されます。
+xxd \-r \-p でプレーン形式 (ポストスクリプト形式) の 16 進ダンプを元に戻す場合は、列の数は影響しません。
 2 桁の 16 進数と認識できるものはすべて変換されます。
 .PP
 \fI% xxd \-i file\fR
@@ -177,19 +174,16 @@ 2 桁の 16 進数と認識できるものはすべて変換されます。
 .I xxd \-s +seek

 .IR "xxd \-s seek" ,
-の違いは、lseek(2) を使って入力を "巻き戻す" かどうかです。'+' が意味を持つ
-のは、入力が標準入力で、xxd が起動されたときに標準入力のファイル位置がファイ
-ルの先頭ではなかった場合です。
+の違いは、lseek(2) を使って入力を "巻き戻す" かどうかです。'+' が意味を持つのは、入力が標準入力で、xxd
+が起動されたときに標準入力のファイル位置がファイルの先頭ではなかった場合です。
 以下の例が分かりやすいかもしれません (もっと混乱するかも!)...
 .PP
-`cat' が既に標準入力を終わりまで読んでいるので、読む前に標準入力を巻き戻す必
-要がある。
+`cat' が既に標準入力を終わりまで読んでいるので、読む前に標準入力を巻き戻す必要がある。
 .br
 \fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR
 .PP
 ファイル位置 0x480 (=1024+128) 前方から 16 進ダンプする。
-`+' は 「現在地からの相対位置」を意味するので、dd が 1k 処理した後から、さら
-に `128' 進めます。
+`+' は 「現在地からの相対位置」を意味するので、dd が 1k 処理した後から、さらに `128' 進めます。
 .br
 \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR
 .PP
@@ -198,8 +192,7 @@ 2 桁の 16 進数と認識できるものはすべて変換されます。
 \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR
 .PP
 このような使い方はあまりしませんし、`+' を使うこともほとんどないでしょう。
-\-s を使うときはいつでも、strace(1) や truss(1) を使って、xxd の働きをチェッ
-クすることをお勧めします。
+\-s を使うときはいつでも、strace(1) や truss(1) を使って、xxd の働きをチェックすることをお勧めします。
 .SH 例
 .PP
 .br
@@ -233,8 +226,7 @@ 204e7567656e74203c746f6e79407363746e7567
 .br
 
 .br
-この man ページの先頭から 120 バイトを一行に 12 オクテットずつ 16 進ダンプす
-る。
+この man ページの先頭から 120 バイトを一行に 12 オクテットずつ 16 進ダンプする。
 .br
 \fI% xxd \-l 120 \-c 12 xxd.1\fR
 .br
@@ -301,8 +293,7 @@ 0000000: 0000 0000 0000 0000 0000 0000  
 000fffc: 0000 0000 40                   ....A
 .PP
 一文字の 'A' からなる 1 バイトのファイルを作成する。
- '\-r \-s' の後に指定した数値がファイル中の行番号に加算され、結果、余計なバ
-イトが飛ばされる。
+ '\-r \-s' の後に指定した数値がファイル中の行番号に加算され、結果、余計なバイトが飛ばされる。
 .br
 \fI% echo "010000: 41" | xxd \-r \-s \-0x10000 > file\fR
 .PP
@@ -319,8 +310,8 @@ 000fffc: 0000 0000 40                   
 \fI:'a,'z!xxd \-r\fR
 .PP
 .B vim(1)
-の中から xxd をフィルタとして実行し、
-16 進ダンプされた行を元に戻す。戻したい行にカーソルを移動して:
+の中から xxd をフィルタとして実行し、16 進ダンプされた行を元に戻す。
+戻したい行にカーソルを移動して:
 .br
 \fI!!xxd \-r\fR
 .PP
--- a/runtime/lang/README.txt
+++ b/runtime/lang/README.txt
@@ -1,7 +1,4 @@
-Language files for Vim
-
-Translated menus
-----------------
+Language files for Vim: Translated menus
 
 The contents of each menu file is a sequence of lines with "menutrans"
 commands.  Read one of the existing files to get an idea of how this works.
@@ -54,11 +51,3 @@ doing the conversion.  Let the UTF-8 men
 and put "scriptencoding latin1" in that one.
 Other conversions may not always be available (e.g., between iso-8859-# and
 MS-Windows codepages), thus the converted menu file must be available.
-
-
-Translated messages
--------------------
-
-This requires doing "make install" in the "src" directory.  It will compile
-the portable files "src/po/*.po" into binary ".mo" files and place them in the
-right directory.
--- a/runtime/lang/menu_ja_jp.euc-jp.vim
+++ b/runtime/lang/menu_ja_jp.euc-jp.vim
@@ -5,7 +5,7 @@
 " Last Change:		28-Jan-2016.
 "
 " Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
-"			  vim-jp (http://vim-jp.org/)
+"			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
 
@@ -174,6 +174,10 @@ menutrans Set\ language\ to\ "en_nz"	\ "en_nz"\ ꤹ
 menutrans Set\ language\ to\ "en_us"	\ "en_us"\ ꤹ
 menutrans &Find\ More\ Languages	¾θ򸡺(&F)
 
+let g:menutrans_spell_change_ARG_to = '"%s"\ ѹ'
+let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ ñꥹȤɲ'
+let g:menutrans_spell_ignore_ARG = '"%s"\ ̵'
+
 " Tools.Fold Menu
 menutrans &Folding			޾(&F)
 " open close folds
@@ -210,8 +214,7 @@ menutrans &Delete		(&D)
 menutrans &Alternate		΢(&A)
 menutrans &Next			ΥХåե(&N)
 menutrans &Previous		ΥХåե(&P)
-menutrans [No\ File]		[̵]
-let g:menutrans_no_file = "[̵]"
+let g:menutrans_no_file = "[̵̾]"
 
 " Window menu
 menutrans &Window			ɥ(&W)
--- a/runtime/lang/menu_ja_jp.utf-8.vim
+++ b/runtime/lang/menu_ja_jp.utf-8.vim
@@ -5,7 +5,7 @@
 " Last Change:		28-Jan-2016.
 "
 " Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
-"			  vim-jp (http://vim-jp.org/)
+"			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
 
@@ -174,6 +174,10 @@ menutrans Set\ language\ to\ "en_nz"	言語を\ "en_nz"\ に設定する
 menutrans Set\ language\ to\ "en_us"	言語を\ "en_us"\ に設定する
 menutrans &Find\ More\ Languages	他の言語を検索する(&F)
 
+let g:menutrans_spell_change_ARG_to = '"%s"\ を変更'
+let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ を単語リストに追加'
+let g:menutrans_spell_ignore_ARG = '"%s"\ を無視'
+
 " Tools.Fold Menu
 menutrans &Folding			折畳み(&F)
 " open close folds
@@ -210,8 +214,7 @@ menutrans &Delete		削除(&D)
 menutrans &Alternate		裏へ切替(&A)
 menutrans &Next			次のバッファ(&N)
 menutrans &Previous		前のバッファ(&P)
-menutrans [No\ File]		[無題]
-let g:menutrans_no_file = "[無題]"
+let g:menutrans_no_file = "[無名]"
 
 " Window menu
 menutrans &Window			ウィンドウ(&W)
--- a/runtime/lang/menu_japanese_japan.932.vim
+++ b/runtime/lang/menu_japanese_japan.932.vim
@@ -5,7 +5,7 @@
 " Last Change:		28-Jan-2016.
 "
 " Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
-"			  vim-jp (http://vim-jp.org/)
+"			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
 
@@ -174,6 +174,10 @@ menutrans Set\ language\ to\ "en_nz"	\ "en_nz"\ ɐݒ肷
 menutrans Set\ language\ to\ "en_us"	\ "en_us"\ ɐݒ肷
 menutrans &Find\ More\ Languages	̌(&F)
 
+let g:menutrans_spell_change_ARG_to = '"%s"\ ύX'
+let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ PꃊXgɒlj'
+let g:menutrans_spell_ignore_ARG = '"%s"\ 𖳎'
+
 " Tools.Fold Menu
 menutrans &Folding			܏(&F)
 " open close folds
@@ -210,8 +214,7 @@ menutrans &Delete		폜(&D)
 menutrans &Alternate		֐ؑ(&A)
 menutrans &Next			̃obt@(&N)
 menutrans &Previous		Õobt@(&P)
-menutrans [No\ File]		[]
-let g:menutrans_no_file = "[]"
+let g:menutrans_no_file = "[]"
 
 " Window menu
 menutrans &Window			EBhE(&W)
--- a/runtime/mswin.vim
+++ b/runtime/mswin.vim
@@ -57,10 +57,11 @@ vmap <S-Insert>		<C-V>
 " Use CTRL-Q to do what CTRL-V used to do
 noremap <C-Q>		<C-V>
 
-" Use CTRL-S for saving, also in Insert mode
+" Use CTRL-S for saving, also in Insert mode (<C-O> doesn't work well when
+" using completions).
 noremap <C-S>		:update<CR>
 vnoremap <C-S>		<C-C>:update<CR>
-inoremap <C-S>		<C-O>:update<CR>
+inoremap <C-S>		<Esc>:update<CR>gi
 
 " For CTRL-V to work autoselect must be off.
 " On Unix we have two selections, autoselect can be used.
--- a/runtime/plugin/README.txt
+++ b/runtime/plugin/README.txt
@@ -6,6 +6,7 @@ Look in the file for hints on how it can
 getscriptPlugin.vim  get latest version of Vim scripts
 gzip.vim	     edit compressed files
 logiPat.vim	     logical operators on patterns
+manpager.vim	     using Vim as manpager
 matchparen.vim	     highlight paren matching the one under the cursor
 netrwPlugin.vim	     edit files over a network and browse (remote) directories
 rrhelper.vim	     used for --remote-wait editing
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -1,12 +1,12 @@
 " Vim syntax file
-" Language:		C#
-" Maintainer:		Nick Jensen <nickspoon@gmail.com>
-" Former Maintainer:	Anduin Withers <awithers@anduin.com>
-" Former Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:		2018-05-02
-" Filenames:		*.cs
-" License:		Vim (see :h license)
-" Repository:		https://github.com/nickspoons/vim-cs
+" Language:            C#
+" Maintainer:          Nick Jensen <nickspoon@gmail.com>
+" Former Maintainers:  Anduin Withers <awithers@anduin.com>
+"                      Johannes Zellner <johannes@zellner.org>
+" Last Change:         2018-06-29
+" Filenames:           *.cs
+" License:             Vim (see :h license)
+" Repository:          https://github.com/nickspoons/vim-cs
 "
 " REFERENCES:
 " [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
@@ -19,146 +19,190 @@ let s:cs_cpo_save = &cpo
 set cpo&vim
 
 
-syn keyword csType			bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
-syn keyword csStorage			delegate enum interface namespace struct
-syn keyword csRepeat			break continue do for foreach goto return while
-syn keyword csConditional		else if switch
-syn keyword csLabel			case default
-" there's no :: operator in C#
-syn match csOperatorError		display +::+
+syn keyword	csType	bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
+syn keyword	csStorage	delegate enum interface namespace struct
+syn keyword	csRepeat	break continue do for foreach goto return while
+syn keyword	csConditional	else if switch
+syn keyword	csLabel	case default
+syn match	csOperatorError	display +::+
+syn match	csGlobal	display +global::+
 " user labels (see [1] 8.6 Statements)
-syn match   csLabel			display +^\s*\I\i*\s*:\([^:]\)\@=+
-syn keyword csModifier			abstract const extern internal override private protected public readonly sealed static virtual volatile
-syn keyword csConstant			false null true
-syn keyword csException			try catch finally throw when
-syn keyword csLinq			ascending by descending equals from group in into join let on orderby select where
-syn keyword csAsync			async await
+syn match	csLabel	display +^\s*\I\i*\s*:\([^:]\)\@=+
+syn keyword	csModifier	abstract const extern internal override private protected public readonly sealed static virtual volatile
+syn keyword	csConstant	false null true
+syn keyword	csException	try catch finally throw when
+syn keyword	csLinq	ascending by descending equals from group in into join let on orderby select where
+syn keyword	csAsync	async await
 
-syn keyword csUnspecifiedStatement	as base checked event fixed get in is lock nameof operator out params ref set sizeof stackalloc this typeof unchecked unsafe using
-syn keyword csUnsupportedStatement	add remove value
-syn keyword csUnspecifiedKeyword	explicit implicit
+syn keyword	csUnspecifiedStatement	as base checked event fixed in is lock nameof operator out params ref sizeof stackalloc this typeof unchecked unsafe using
+syn keyword	csUnsupportedStatement	add remove value
+syn keyword	csUnspecifiedKeyword	explicit implicit
 
 " Contextual Keywords
-syn match csContextualStatement	/\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
-syn match csContextualStatement	/\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
-syn match csContextualStatement	/\<\(get\|set\)[[:space:]\n]*{/me=s+3
-syn match csContextualStatement	/\<where\>[^:]\+:/me=s+5
+syn match	csContextualStatement	/\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
+syn match	csContextualStatement	/\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
+syn match	csContextualStatement	/\<\(get\|set\)\(;\|[[:space:]\n]*{\)/me=s+3
+syn match	csContextualStatement	/\<where\>[^:]\+:/me=s+5
+
+" Punctuation
+syn match	csBraces	"[{}\[\]]" display
+syn match	csParens	"[()]" display
+syn match	csOpSymbols	"[+\-><=]\{1,2}" display
+syn match	csOpSymbols	"[!><+\-*/]=" display
+syn match	csOpSymbols	"[!*/^]" display
+syn match	csOpSymbols	"=>" display
+syn match	csEndColon	";" display
+syn match	csLogicSymbols	"&&" display
+syn match	csLogicSymbols	"||" display
+syn match	csLogicSymbols	"?" display
+syn match	csLogicSymbols	":" display
 
 " Comments
 "
 " PROVIDES: @csCommentHook
-"
-" TODO: include strings ?
-"
-syn keyword csTodo		contained TODO FIXME XXX NOTE HACK
-syn region  csComment		start="/\*"  end="\*/" contains=@csCommentHook,csTodo,@Spell
-syn match   csComment		"//.*$" contains=@csCommentHook,csTodo,@Spell
+syn keyword	csTodo	contained TODO FIXME XXX NOTE HACK TBD
+syn region	csComment	start="/\*"  end="\*/" contains=@csCommentHook,csTodo,@Spell
+syn match	csComment	"//.*$" contains=@csCommentHook,csTodo,@Spell
 
 " xml markup inside '///' comments
-syn cluster xmlRegionHook	add=csXmlCommentLeader
-syn cluster xmlCdataHook	add=csXmlCommentLeader
-syn cluster xmlStartTagHook	add=csXmlCommentLeader
-syn keyword csXmlTag		contained Libraries Packages Types Excluded ExcludedTypeName ExcludedLibraryName
-syn keyword csXmlTag		contained ExcludedBucketName TypeExcluded Type TypeKind TypeSignature AssemblyInfo
-syn keyword csXmlTag		contained AssemblyName AssemblyPublicKey AssemblyVersion AssemblyCulture Base
-syn keyword csXmlTag		contained BaseTypeName Interfaces Interface InterfaceName Attributes Attribute
-syn keyword csXmlTag		contained AttributeName Members Member MemberSignature MemberType MemberValue
-syn keyword csXmlTag		contained ReturnValue ReturnType Parameters Parameter MemberOfPackage
-syn keyword csXmlTag		contained ThreadingSafetyStatement Docs devdoc example overload remarks returns summary
-syn keyword csXmlTag		contained threadsafe value internalonly nodoc exception param permission platnote
-syn keyword csXmlTag		contained seealso b c i pre sub sup block code note paramref see subscript superscript
-syn keyword csXmlTag		contained list listheader item term description altcompliant altmember
+syn cluster	xmlRegionHook	add=csXmlCommentLeader
+syn cluster	xmlCdataHook	add=csXmlCommentLeader
+syn cluster	xmlStartTagHook	add=csXmlCommentLeader
+syn keyword	csXmlTag	contained Libraries Packages Types Excluded ExcludedTypeName ExcludedLibraryName
+syn keyword	csXmlTag	contained ExcludedBucketName TypeExcluded Type TypeKind TypeSignature AssemblyInfo
+syn keyword	csXmlTag	contained AssemblyName AssemblyPublicKey AssemblyVersion AssemblyCulture Base
+syn keyword	csXmlTag	contained BaseTypeName Interfaces Interface InterfaceName Attributes Attribute
+syn keyword	csXmlTag	contained AttributeName Members Member MemberSignature MemberType MemberValue
+syn keyword	csXmlTag	contained ReturnValue ReturnType Parameters Parameter MemberOfPackage
+syn keyword	csXmlTag	contained ThreadingSafetyStatement Docs devdoc example overload remarks returns summary
+syn keyword	csXmlTag	contained threadsafe value internalonly nodoc exception param permission platnote
+syn keyword	csXmlTag	contained seealso b c i pre sub sup block code note paramref see subscript superscript
+syn keyword	csXmlTag	contained list listheader item term description altcompliant altmember
 
 syn cluster xmlTagHook add=csXmlTag
 
-syn match   csXmlCommentLeader	+\/\/\/+    contained
-syn match   csXmlComment	+\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
-syntax include @csXml syntax/xml.vim
-hi def link xmlRegion Comment
+syn match	csXmlCommentLeader	+\/\/\/+    contained
+syn match	csXmlComment	+\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
+syn include	@csXml syntax/xml.vim
+hi def link	xmlRegion Comment
 
 
 " [1] 9.5 Pre-processing directives
-syn region	csPreCondit
-    \ start="^\s*#\s*\(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\)"
-    \ skip="\\$" end="$" contains=csComment keepend
-syn region	csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$"
-    \ end="^\s*#\s*endregion" transparent fold contains=TOP
-syn region	csSummary start="^\s*/// <summary" end="^\(\s*///\)\@!" transparent fold keepend
+syn region	csPreCondit	start="^\s*#\s*\(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\)" skip="\\$" end="$" contains=csComment keepend
+syn region	csRegion	matchgroup=csPreCondit start="^\s*#\s*region.*$" end="^\s*#\s*endregion" transparent fold contains=TOP
+syn region	csSummary	start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent fold keepend
 
 
-syn region	csClassType start="\(@\)\@<!class\>"hs=s+6 end="[:\n{]"he=e-1 contains=csClass
-syn region	csNewType start="\(@\)\@<!new\>"hs=s+4 end="[\(\<{\[]"he=e-1 contains=csNew contains=csNewType
-syn region	csIsType start="\v (is|as) "hs=s+4 end="\v[A-Za-z0-9]+" oneline contains=csIsAs
-syn keyword	csNew new contained
-syn keyword	csClass class contained
-syn keyword	csIsAs is as
+syn region	csClassType	start="@\@1<!\<class\>"hs=s+6 end="[:\n{]"me=e-1 contains=csClass
+syn region	csNewType	start="@\@1<!\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew contains=csNewType
+syn region	csIsType	start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
+syn region	csIsType	start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
+syn keyword	csNew	new contained
+syn keyword	csClass	class contained
+syn keyword	csIsAs	is as
 
 " Strings and constants
-syn match   csSpecialError	contained "\\."
-syn match   csSpecialCharError	contained "[^']"
+syn match	csSpecialError	"\\." contained
+syn match	csSpecialCharError	"[^']" contained
 " [1] 9.4.4.4 Character literals
-syn match   csSpecialChar	contained +\\["\\'0abfnrtvx]+
-" unicode characters
-syn match   csUnicodeNumber	+\\\(u\x\{4}\|U\x\{8}\)+ contained contains=csUnicodeSpecifier
-syn match   csUnicodeSpecifier	+\\[uU]+ contained
-syn region  csVerbatimString	start=+@"+ end=+"+ skip=+""+ contains=csVerbatimSpec,@Spell
-syn match   csVerbatimSpec	+@"+he=s+1 contained
-syn region  csString		start=+"+  end=+"+ end=+$+ contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
-syn match   csCharacter		"'[^']*'" contains=csSpecialChar,csSpecialCharError
-syn match   csCharacter		"'\\''" contains=csSpecialChar
-syn match   csCharacter		"'[^\\]'"
-syn match   csNumber		"\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
-syn match   csNumber		"\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
-syn match   csNumber		"\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
-syn match   csNumber		"\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+syn match	csSpecialChar	+\\["\\'0abfnrtvx]+ contained display
+syn match	csUnicodeNumber	+\\u\x\{4}+ contained contains=csUnicodeSpecifier display
+syn match	csUnicodeNumber	+\\U\x\{8}+ contained contains=csUnicodeSpecifier display
+syn match	csUnicodeSpecifier	+\\[uU]+ contained display
+
+syn region	csString	matchgroup=csQuote start=+"+  end=+"+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
+syn match	csCharacter	"'[^']*'" contains=csSpecialChar,csSpecialCharError display
+syn match	csCharacter	"'\\''" contains=csSpecialChar display
+syn match	csCharacter	"'[^\\]'" display
+syn match	csNumber	"\<0[0-7]*[lL]\=\>" display
+syn match	csNumber	"\<0[xX]\x\+[lL]\=\>" display
+syn match	csNumber	"\<\d\+[lL]\=\>" display
+syn match	csNumber	"\<\d\+\.\d*\%\([eE][-+]\=\d\+\)\=[fFdD]\=" display
+syn match	csNumber	"\.\d\+\%\([eE][-+]\=\d\+\)\=[fFdD]\=" display
+syn match	csNumber	"\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" display
+syn match	csNumber	"\<\d\+\%\([eE][-+]\=\d\+\)\=[fFdD]\>" display
+
+syn region	csInterpolatedString	matchgroup=csQuote start=+\$"+ end=+"+ end=+$+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
+
+syn region	csInterpolation	matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBracketed,csInterpolationAlign,csInterpolationFormat
+syn match	csEscapedInterpolation	"{{" transparent contains=NONE display
+syn match	csEscapedInterpolation	"}}" transparent contains=NONE display
+syn region	csInterpolationAlign	matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=csNumber,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display
+syn match	csInterpolationFormat	+:[^}]\+}+ contained contains=csInterpolationFormatDel display
+syn match	csInterpolationAlignDel	+,+ contained display
+syn match	csInterpolationFormatDel	+:+ contained display
+
+syn region	csVerbatimString	matchgroup=csQuote start=+@"+ end=+"+ skip=+""+ extend contains=csVerbatimQuote,@Spell
+syn match	csVerbatimQuote	+""+ contained
+syn match	csQuoteError	+@$"+he=s+2,me=s+2
+
+syn region	csInterVerbString	matchgroup=csQuote start=+\$@"+ end=+"+ skip=+""+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,csVerbatimQuote,@Spell
+
+syn region	csBracketed	matchgroup=csParens start=+(+ end=+)+ contained transparent contains=@csAll,csBracketed
+
+syn cluster	csAll	contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString
 
 " The default highlighting.
-hi def link csType			Type
-hi def link csNewType			Type
-hi def link csClassType			Type
-hi def link csIsType			Type
-hi def link csStorage			StorageClass
-hi def link csClass			StorageClass
-hi def link csRepeat			Repeat
-hi def link csConditional		Conditional
-hi def link csLabel			Label
-hi def link csModifier			StorageClass
-hi def link csConstant			Constant
-hi def link csException			Exception
-hi def link csUnspecifiedStatement	Statement
-hi def link csUnsupportedStatement	Statement
-hi def link csUnspecifiedKeyword	Keyword
-hi def link csNew			Statement
-hi def link csLinq			Statement
-hi def link csIsAs 			Keyword
-hi def link csAsync			Keyword
-hi def link csContextualStatement	Statement
-hi def link csOperatorError		Error
-hi def link csInterfaceDeclaration	Include
+hi def link	csType	Type
+hi def link	csNewType	Type
+hi def link	csClassType	Type
+hi def link	csIsType	Type
+hi def link	csStorage	StorageClass
+hi def link	csClass	StorageClass
+hi def link	csRepeat	Repeat
+hi def link	csConditional	Conditional
+hi def link	csLabel	Label
+hi def link	csModifier	StorageClass
+hi def link	csConstant	Constant
+hi def link	csException	Exception
+hi def link	csUnspecifiedStatement	Statement
+hi def link	csUnsupportedStatement	Statement
+hi def link	csUnspecifiedKeyword	Keyword
+hi def link	csNew	Statement
+hi def link	csLinq	Statement
+hi def link	csIsAs 	Keyword
+hi def link	csAsync	Keyword
+hi def link	csContextualStatement	Statement
+hi def link	csOperatorError	Error
+hi def link	csInterfaceDeclaration	Include
+
+hi def link	csTodo	Todo
+hi def link	csComment	Comment
 
-hi def link csTodo			Todo
-hi def link csComment			Comment
+hi def link	csEndColon	Statement
+hi def link	csOpSymbols	Operator
+hi def link	csLogicSymbols	Boolean
+hi def link	csBraces	Function
+hi def link	csParens	Operator
 
-hi def link csSpecialError		Error
-hi def link csSpecialCharError		Error
-hi def link csString			String
-hi def link csVerbatimString		String
-hi def link csVerbatimSpec		SpecialChar
-hi def link csPreCondit			PreCondit
-hi def link csCharacter			Character
-hi def link csSpecialChar		SpecialChar
-hi def link csNumber			Number
-hi def link csUnicodeNumber		SpecialChar
-hi def link csUnicodeSpecifier		SpecialChar
+hi def link	csSpecialError	Error
+hi def link	csSpecialCharError	Error
+hi def link	csString	String
+hi def link	csQuote	String
+hi def link	csQuoteError	Error
+hi def link	csInterpolatedString	String
+hi def link	csVerbatimString	String
+hi def link	csInterVerbString	String
+hi def link	csVerbatimQuote	SpecialChar
+hi def link	csPreCondit	PreCondit
+hi def link	csCharacter	Character
+hi def link	csSpecialChar	SpecialChar
+hi def link	csNumber	Number
+hi def link	csUnicodeNumber	SpecialChar
+hi def link	csUnicodeSpecifier	SpecialChar
+hi def link	csInterpolationDelimiter	Delimiter
+hi def link	csInterpolationAlignDel	csInterpolationDelimiter
+hi def link	csInterpolationFormat	csInterpolationDelimiter
+hi def link	csInterpolationFormatDel	csInterpolationDelimiter
 
 " xml markup
-hi def link csXmlCommentLeader		Comment
-hi def link csXmlComment		Comment
-hi def link csXmlTag			Statement
+hi def link	csXmlCommentLeader	Comment
+hi def link	csXmlComment	Comment
+hi def link	csXmlTag	Statement
 
 let b:current_syntax = "cs"
 
 let &cpo = s:cs_cpo_save
 unlet s:cs_cpo_save
 
-" vim: ts=8
+" vim: vts=16,28
--- a/runtime/syntax/pf.vim
+++ b/runtime/syntax/pf.vim
@@ -2,12 +2,13 @@
 " Language:        OpenBSD packet filter configuration (pf.conf)
 " Original Author: Camiel Dobbelaar <cd@sentia.nl>
 " Maintainer:      Lauri Tirkkonen <lotheac@iki.fi>
-" Last Change:     2016 Jul 06
+" Last Change:     2018 Jul 16
 
 if exists("b:current_syntax")
   finish
 endif
 
+let b:current_syntax = "pf"
 setlocal foldmethod=syntax
 syn iskeyword @,48-57,_,-,+
 syn sync fromstart
@@ -17,7 +18,7 @@ syn keyword	pfCmd		anchor antispoof bloc
 syn keyword	pfCmd		queue set table
 syn match	pfCmd		/^\s*load\sanchor\>/
 syn keyword	pfTodo		TODO XXX contained
-syn keyword	pfWildAddr	all any
+syn keyword	pfWildAddr	any no-route urpf-failed self
 syn match	pfComment	/#.*$/ contains=pfTodo
 syn match	pfCont		/\\$/
 syn match	pfErrClose	/}/
@@ -36,57 +37,6 @@ syn region	pfList		start=/{/ end=/}/ tra
 syn region	pfString	start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
 syn region	pfString	start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
 
-syn keyword	pfService	802-11-iapp Microsoft-SQL-Monitor
-syn keyword	pfService	Microsoft-SQL-Server NeXTStep NextStep
-syn keyword	pfService	afpovertcp afs3-bos afs3-callback afs3-errors
-syn keyword	pfService	afs3-fileserver afs3-kaserver afs3-prserver
-syn keyword	pfService	afs3-rmtsys afs3-update afs3-vlserver
-syn keyword	pfService	afs3-volser amt-redir-tcp amt-redir-tls
-syn keyword	pfService	amt-soap-http amt-soap-https asf-rmcp at-echo
-syn keyword	pfService	at-nbp at-rtmp at-zis auth authentication
-syn keyword	pfService	bfd-control bfd-echo bftp bgp bgpd biff bootpc
-syn keyword	pfService	bootps canna cddb cddbp chargen chat cmd
-syn keyword	pfService	cmip-agent cmip-man comsat conference
-syn keyword	pfService	conserver courier csnet-ns cso-ns cvspserver
-syn keyword	pfService	daap datametrics daytime dhcpd-sync
-syn keyword	pfService	dhcpv6-client dhcpv6-server discard domain
-syn keyword	pfService	echo efs eklogin ekshell ekshell2 epmap eppc
-syn keyword	pfService	exec finger ftp ftp-data git gopher hostname
-syn keyword	pfService	hostnames hprop http https hunt hylafax iapp
-syn keyword	pfService	icb ident imap imap2 imap3 imaps ingreslock
-syn keyword	pfService	ipp iprop ipsec-msft ipsec-nat-t ipx irc
-syn keyword	pfService	isakmp iscsi isisd iso-tsap kauth kdc kerberos
-syn keyword	pfService	kerberos-adm kerberos-iv kerberos-sec
-syn keyword	pfService	kerberos_master kf kip klogin kpasswd kpop
-syn keyword	pfService	krb524 krb_prop krbupdate krcmd kreg kshell kx
-syn keyword	pfService	l2tp ldap ldaps ldp link login mail mdns
-syn keyword	pfService	mdnsresponder microsoft-ds ms-sql-m ms-sql-s
-syn keyword	pfService	msa msp mtp mysql name nameserver netbios-dgm
-syn keyword	pfService	netbios-ns netbios-ssn netnews netplan netrjs
-syn keyword	pfService	netstat netwall newdate nextstep nfs nfsd
-syn keyword	pfService	nicname nnsp nntp ntalk ntp null openwebnet
-syn keyword	pfService	ospf6d ospfapi ospfd photuris pop2 pop3 pop3pw
-syn keyword	pfService	pop3s poppassd portmap postgresql postoffice
-syn keyword	pfService	pptp presence printer prospero prospero-np
-syn keyword	pfService	puppet pwdgen qotd quote radacct radius
-syn keyword	pfService	radius-acct rdp readnews remotefs resource rfb
-syn keyword	pfService	rfe rfs rfs_server ripd ripng rje rkinit rlp
-syn keyword	pfService	routed router rpc rpcbind rsync rtelnet rtsp
-syn keyword	pfService	sa-msg-port sane-port sftp shell sieve silc
-syn keyword	pfService	sink sip smtp smtps smux snmp snmp-trap
-syn keyword	pfService	snmptrap snpp socks source spamd spamd-cfg
-syn keyword	pfService	spamd-sync spooler spop3 ssdp ssh submission
-syn keyword	pfService	sunrpc supdup supfiledbg supfilesrv support
-syn keyword	pfService	svn svrloc swat syslog syslog-tls systat
-syn keyword	pfService	tacacs tacas+ talk tap tcpmux telnet tempo
-syn keyword	pfService	tftp time timed timeserver timserver tsap
-syn keyword	pfService	ttylink ttytst ub-dns-control ulistserv untp
-syn keyword	pfService	usenet users uucp uucp-path uucpd vnc vxlan
-syn keyword	pfService	wais webster who whod whois www x400 x400-snd
-syn keyword	pfService	xcept xdmcp xmpp-bosh xmpp-client xmpp-server
-syn keyword	pfService	z3950 zabbix-agent zabbix-trapper zebra
-syn keyword	pfService	zebrasrv
-
 hi def link pfCmd	Statement
 hi def link pfComment	Comment
 hi def link pfCont	Statement
@@ -103,4 +53,281 @@ hi def link pfVar	Identifier
 hi def link pfVarAssign	Identifier
 hi def link pfWildAddr	Type
 
-let b:current_syntax = "pf"
+" from OpenBSD src/etc/services r1.95
+syn keyword	pfService	802-11-iapp
+syn keyword	pfService	Microsoft-SQL-Monitor
+syn keyword	pfService	Microsoft-SQL-Server
+syn keyword	pfService	NeXTStep
+syn keyword	pfService	NextStep
+syn keyword	pfService	afpovertcp
+syn keyword	pfService	afs3-bos
+syn keyword	pfService	afs3-callback
+syn keyword	pfService	afs3-errors
+syn keyword	pfService	afs3-fileserver
+syn keyword	pfService	afs3-kaserver
+syn keyword	pfService	afs3-prserver
+syn keyword	pfService	afs3-rmtsys
+syn keyword	pfService	afs3-update
+syn keyword	pfService	afs3-vlserver
+syn keyword	pfService	afs3-volser
+syn keyword	pfService	amt-redir-tcp
+syn keyword	pfService	amt-redir-tls
+syn keyword	pfService	amt-soap-http
+syn keyword	pfService	amt-soap-https
+syn keyword	pfService	asf-rmcp
+syn keyword	pfService	at-echo
+syn keyword	pfService	at-nbp
+syn keyword	pfService	at-rtmp
+syn keyword	pfService	at-zis
+syn keyword	pfService	auth
+syn keyword	pfService	authentication
+syn keyword	pfService	bfd-control
+syn keyword	pfService	bfd-echo
+syn keyword	pfService	bftp
+syn keyword	pfService	bgp
+syn keyword	pfService	bgpd
+syn keyword	pfService	biff
+syn keyword	pfService	bootpc
+syn keyword	pfService	bootps
+syn keyword	pfService	canna
+syn keyword	pfService	cddb
+syn keyword	pfService	cddbp
+syn keyword	pfService	chargen
+syn keyword	pfService	chat
+syn keyword	pfService	cmd
+syn keyword	pfService	cmip-agent
+syn keyword	pfService	cmip-man
+syn keyword	pfService	comsat
+syn keyword	pfService	conference
+syn keyword	pfService	conserver
+syn keyword	pfService	courier
+syn keyword	pfService	csnet-ns
+syn keyword	pfService	cso-ns
+syn keyword	pfService	cvspserver
+syn keyword	pfService	daap
+syn keyword	pfService	datametrics
+syn keyword	pfService	daytime
+syn keyword	pfService	dhcpd-sync
+syn keyword	pfService	dhcpv6-client
+syn keyword	pfService	dhcpv6-server
+syn keyword	pfService	discard
+syn keyword	pfService	domain
+syn keyword	pfService	echo
+syn keyword	pfService	efs
+syn keyword	pfService	eklogin
+syn keyword	pfService	ekshell
+syn keyword	pfService	ekshell2
+syn keyword	pfService	epmap
+syn keyword	pfService	eppc
+syn keyword	pfService	exec
+syn keyword	pfService	finger
+syn keyword	pfService	ftp
+syn keyword	pfService	ftp-data
+syn keyword	pfService	git
+syn keyword	pfService	gopher
+syn keyword	pfService	gre-in-udp
+syn keyword	pfService	gre-udp-dtls
+syn keyword	pfService	hostname
+syn keyword	pfService	hostnames
+syn keyword	pfService	hprop
+syn keyword	pfService	http
+syn keyword	pfService	https
+syn keyword	pfService	hunt
+syn keyword	pfService	hylafax
+syn keyword	pfService	iapp
+syn keyword	pfService	icb
+syn keyword	pfService	ident
+syn keyword	pfService	imap
+syn keyword	pfService	imap2
+syn keyword	pfService	imap3
+syn keyword	pfService	imaps
+syn keyword	pfService	ingreslock
+syn keyword	pfService	ipp
+syn keyword	pfService	iprop
+syn keyword	pfService	ipsec-msft
+syn keyword	pfService	ipsec-nat-t
+syn keyword	pfService	ipx
+syn keyword	pfService	irc
+syn keyword	pfService	isakmp
+syn keyword	pfService	iscsi
+syn keyword	pfService	isisd
+syn keyword	pfService	iso-tsap
+syn keyword	pfService	kauth
+syn keyword	pfService	kdc
+syn keyword	pfService	kerberos
+syn keyword	pfService	kerberos-adm
+syn keyword	pfService	kerberos-iv
+syn keyword	pfService	kerberos-sec
+syn keyword	pfService	kerberos_master
+syn keyword	pfService	kf
+syn keyword	pfService	kip
+syn keyword	pfService	klogin
+syn keyword	pfService	kpasswd
+syn keyword	pfService	kpop
+syn keyword	pfService	krb524
+syn keyword	pfService	krb_prop
+syn keyword	pfService	krbupdate
+syn keyword	pfService	krcmd
+syn keyword	pfService	kreg
+syn keyword	pfService	kshell
+syn keyword	pfService	kx
+syn keyword	pfService	l2tp
+syn keyword	pfService	ldap
+syn keyword	pfService	ldaps
+syn keyword	pfService	ldp
+syn keyword	pfService	link
+syn keyword	pfService	login
+syn keyword	pfService	mail
+syn keyword	pfService	mdns
+syn keyword	pfService	mdnsresponder
+syn keyword	pfService	microsoft-ds
+syn keyword	pfService	ms-sql-m
+syn keyword	pfService	ms-sql-s
+syn keyword	pfService	msa
+syn keyword	pfService	msp
+syn keyword	pfService	mtp
+syn keyword	pfService	mysql
+syn keyword	pfService	name
+syn keyword	pfService	nameserver
+syn keyword	pfService	netbios-dgm
+syn keyword	pfService	netbios-ns
+syn keyword	pfService	netbios-ssn
+syn keyword	pfService	netnews
+syn keyword	pfService	netplan
+syn keyword	pfService	netrjs
+syn keyword	pfService	netstat
+syn keyword	pfService	netwall
+syn keyword	pfService	newdate
+syn keyword	pfService	nextstep
+syn keyword	pfService	nfs
+syn keyword	pfService	nfsd
+syn keyword	pfService	nicname
+syn keyword	pfService	nnsp
+syn keyword	pfService	nntp
+syn keyword	pfService	ntalk
+syn keyword	pfService	ntp
+syn keyword	pfService	null
+syn keyword	pfService	openwebnet
+syn keyword	pfService	ospf6d
+syn keyword	pfService	ospfapi
+syn keyword	pfService	ospfd
+syn keyword	pfService	photuris
+syn keyword	pfService	pop2
+syn keyword	pfService	pop3
+syn keyword	pfService	pop3pw
+syn keyword	pfService	pop3s
+syn keyword	pfService	poppassd
+syn keyword	pfService	portmap
+syn keyword	pfService	postgresql
+syn keyword	pfService	postoffice
+syn keyword	pfService	pptp
+syn keyword	pfService	presence
+syn keyword	pfService	printer
+syn keyword	pfService	prospero
+syn keyword	pfService	prospero-np
+syn keyword	pfService	puppet
+syn keyword	pfService	pwdgen
+syn keyword	pfService	qotd
+syn keyword	pfService	quote
+syn keyword	pfService	radacct
+syn keyword	pfService	radius
+syn keyword	pfService	radius-acct
+syn keyword	pfService	rdp
+syn keyword	pfService	readnews
+syn keyword	pfService	remotefs
+syn keyword	pfService	resource
+syn keyword	pfService	rfb
+syn keyword	pfService	rfe
+syn keyword	pfService	rfs
+syn keyword	pfService	rfs_server
+syn keyword	pfService	ripd
+syn keyword	pfService	ripng
+syn keyword	pfService	rje
+syn keyword	pfService	rkinit
+syn keyword	pfService	rlp
+syn keyword	pfService	routed
+syn keyword	pfService	router
+syn keyword	pfService	rpc
+syn keyword	pfService	rpcbind
+syn keyword	pfService	rsync
+syn keyword	pfService	rtelnet
+syn keyword	pfService	rtsp
+syn keyword	pfService	sa-msg-port
+syn keyword	pfService	sane-port
+syn keyword	pfService	sftp
+syn keyword	pfService	shell
+syn keyword	pfService	sieve
+syn keyword	pfService	silc
+syn keyword	pfService	sink
+syn keyword	pfService	sip
+syn keyword	pfService	smtp
+syn keyword	pfService	smtps
+syn keyword	pfService	smux
+syn keyword	pfService	snmp
+syn keyword	pfService	snmp-trap
+syn keyword	pfService	snmptrap
+syn keyword	pfService	snpp
+syn keyword	pfService	socks
+syn keyword	pfService	source
+syn keyword	pfService	spamd
+syn keyword	pfService	spamd-cfg
+syn keyword	pfService	spamd-sync
+syn keyword	pfService	spooler
+syn keyword	pfService	spop3
+syn keyword	pfService	ssdp
+syn keyword	pfService	ssh
+syn keyword	pfService	submission
+syn keyword	pfService	sunrpc
+syn keyword	pfService	supdup
+syn keyword	pfService	supfiledbg
+syn keyword	pfService	supfilesrv
+syn keyword	pfService	support
+syn keyword	pfService	svn
+syn keyword	pfService	svrloc
+syn keyword	pfService	swat
+syn keyword	pfService	syslog
+syn keyword	pfService	syslog-tls
+syn keyword	pfService	systat
+syn keyword	pfService	tacacs
+syn keyword	pfService	tacas+
+syn keyword	pfService	talk
+syn keyword	pfService	tap
+syn keyword	pfService	tcpmux
+syn keyword	pfService	telnet
+syn keyword	pfService	tempo
+syn keyword	pfService	tftp
+syn keyword	pfService	time
+syn keyword	pfService	timed
+syn keyword	pfService	timeserver
+syn keyword	pfService	timserver
+syn keyword	pfService	tsap
+syn keyword	pfService	ttylink
+syn keyword	pfService	ttytst
+syn keyword	pfService	ub-dns-control
+syn keyword	pfService	ulistserv
+syn keyword	pfService	untp
+syn keyword	pfService	usenet
+syn keyword	pfService	users
+syn keyword	pfService	uucp
+syn keyword	pfService	uucp-path
+syn keyword	pfService	uucpd
+syn keyword	pfService	vnc
+syn keyword	pfService	vxlan
+syn keyword	pfService	wais
+syn keyword	pfService	webster
+syn keyword	pfService	who
+syn keyword	pfService	whod
+syn keyword	pfService	whois
+syn keyword	pfService	www
+syn keyword	pfService	x400
+syn keyword	pfService	x400-snd
+syn keyword	pfService	xcept
+syn keyword	pfService	xdmcp
+syn keyword	pfService	xmpp-bosh
+syn keyword	pfService	xmpp-client
+syn keyword	pfService	xmpp-server
+syn keyword	pfService	z3950
+syn keyword	pfService	zabbix-agent
+syn keyword	pfService	zabbix-trapper
+syn keyword	pfService	zebra
+syn keyword	pfService	zebrasrv
--- a/runtime/syntax/sudoers.vim
+++ b/runtime/syntax/sudoers.vim
@@ -1,7 +1,8 @@
 " Vim syntax file
 " Language:             sudoers(5) configuration files
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2011-02-24
+" Latest Revision:      2018-07-19
+" Recent Changes:	Support for #include and #includedir.
 
 if exists("b:current_syntax")
   finish
@@ -24,6 +25,7 @@ syn cluster sudoersCmndSpecList       co
 syn keyword sudoersTodo               contained TODO FIXME XXX NOTE
 
 syn region  sudoersComment            display oneline start='#' end='$' contains=sudoersTodo
+syn region  sudoersInclude            display oneline start='#\(include\|includedir\)' end='$'
 
 syn keyword sudoersAlias              User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl
 syn keyword sudoersAlias              Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl
@@ -335,6 +337,7 @@ hi def link sudoersIntegerValue         
 hi def link sudoersStringValue              String
 hi def link sudoersListValue                String
 hi def link sudoersPASSWD                   Special
+hi def link sudoersInclude                  Statement
 
 let b:current_syntax = "sudoers"
 
--- a/runtime/tutor/Makefile
+++ b/runtime/tutor/Makefile
@@ -66,10 +66,10 @@ tutor.hr.cp1250: tutor.hr.utf-8
 	iconv -f UTF-8 -t cp1250 tutor.hr.utf-8 > tutor.hr.cp1250
 
 tutor.ja.sjis: tutor.ja.utf-8
-	nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
+	iconv -f UTF-8 -t cp932 tutor.ja.utf-8 > tutor.ja.sjis
 
 tutor.ja.euc: tutor.ja.utf-8
-	nkf -WXe tutor.ja.utf-8 > tutor.ja.euc
+	iconv -f UTF-8 -t EUC-JP tutor.ja.utf-8 > tutor.ja.euc
 
 tutor.ko.euc: tutor.ko.utf-8
 	iconv -f UTF-8 -t EUC-KR tutor.ko.utf-8 > tutor.ko.euc
--- a/runtime/tutor/README.txt
+++ b/runtime/tutor/README.txt
@@ -19,4 +19,19 @@ Bob Ware, Colorado School of Mines, Gold
 (303) 273-3987
 bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet
 
-[This file was modified for Vim by Bram Moolenaar]
+
+Translation
+-----------
+
+The tutor.xx and tutor.xx.utf-8 files are translated files (where xx is the
+langage code).  The encoding of tutor.xx might be latin1 or other traditional
+encoding.  If you don't need a translation with such traditional encoding,
+you just need to prepare the tutor.xx.utf-8 file.
+If you need another encoding, you can also prepare a file named tutor.xx.enc
+(replace enc with the actual encoding name).  You might also need to adjust the
+tutor.vim file.
+The "make" command can be used for creating tutor.xx from tutor.xx.utf-8.
+See the Makefile for detail.  (For some languages, tutor.xx.utf-8 is created
+from tutor.xx for historical reasons.)
+
+[This file was modified for Vim by Bram Moolenaar et al.]
--- a/runtime/tutor/tutor.ja.euc
+++ b/runtime/tutor/tutor.ja.euc
@@ -147,18 +147,18 @@ NOTE: ƤΥå̤ơФ褦ȤΤǤϤʤºݤˤäƤߤޤ礦
      ޤ
 
   2. ץץȤǤΥޥɤ򥿥פޤ:  vim tutor <ENTER>
-     'vim' Vim ǥư륳ޥɡ'tutor' Խե
+     'vim'  Vim ǥư륳ޥɡ'tutor' Խե
      ̾ǤѹƤ褤եȤޤ礦
 
   3. Υådzؤ褦ˡƥȤޤ
 
-  4. ѹե¸ޤ:  :wq  <ENTER>
+  4. ѹե¸ޤ:  :wq <ENTER>
 
   5. ƥå 1  vimtutor λ vimtutor ٵưʲ
      ؿʤߤޤ礦
 
   6. ʾΥƥåפɤ򤷤Ǥ¹Ԥޤ礦
-  
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				å 1 
 
@@ -558,11 +558,12 @@ NOTE: εǽϳ̤פƤʤץǥХåΤˤȤƤΩ
 
   1. ʲ ---> ȼ줿Ԥ˥ưޤ礦
 
-  2. :s/thee/the <ENTER> ȥפޤ礦ΥޥɤϤιԤǺǽ˸
-     ĤäΤˤԤʤ뤳Ȥ˵Ĥޤ礦
+  2. :s/thee/the <ENTER> ȥפޤ礦ΥޥɤϤιԤǺǽ˸
+     äΤˤԤ뤳Ȥ˵Ĥޤ礦
 
-  3. Ǥ :s/thee/the/g	ȥפޤ礦Τִ뤳Ȥ̣ޤ
-     ѹϤιԤǸĤäƤβսФƹԤʤޤ
+  3. Ǥ :s/thee/the/g ȥפޤ礦ɲä g ե饰ϹΤִ
+     뤳Ȥ̣ޤѹϤιԤǸĤäƤβսФƹԤ
+     ޤ
 
 ---> thee best time to see thee flowers is in thee spring.
 
@@ -638,8 +639,8 @@ NOTE:  Ƥ : ޥɤ <ENTER> 򲡤ƽλʤФʤޤ
 NOTE:  Vim λե̾ TEST ȶ˵ưȡ¸
      塼ȥꥢʣǤ夬ϤǤ
 
-  5. ˡΤ褦˥פƥեäޤ礦(MS-DOS):  :!del TEST
-                                               ⤷(Unix):    :!rm TEST
+  5. ˡΤ褦˥פƥեäޤ礦(Windows):  :!del TEST
+                                               ⤷(Unix):     :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -696,7 +697,7 @@ NOTE: ޥɤνϤɤ߹ळȤޤ㤨С
   1.  :!command  ˤä ޥɤ¹Ԥޤ
 
      褯Ȥ:
-	 (MS-DOS)	  (Unix)
+	 (Windows)	  (Unix)
 	  :!dir		   :!ls		   -  ǥ쥯ȥΰ򸫤롣
 	  :!del FILENAME   :!rm FILENAME   -  ե롣
 
@@ -718,7 +719,7 @@ NOTE: ޥɤνϤɤ߹ळȤޤ㤨С
 
     ** o 򥿥פȡβιԤ⡼ɤޤ **
 
-  1. ʲ ---> ȼ줿Ԥ˥ưޤ礦
+  1. ʲ ---> ȼ줿ǽιԤ˥ưޤ礦
 
   2. o (ʸ) 򥿥פơβιԤ򳫤⡼ɤޤ
 
@@ -741,7 +742,7 @@ NOTE: ޥɤνϤɤ߹ळȤޤ㤨С
 
       ** μΰ֤ƥȤɲäˤ a ȥפޤ **
 
-  1.  ---> Ǽ줿Ԥذưޤ礦
+  1.  ---> Ǽ줿ǽιԤذưޤ礦
 
   2. e 򲡤 li νüޤǥưޤ
 
@@ -751,7 +752,7 @@ NOTE: ޥɤνϤɤ߹ळȤޤ㤨С
      ޤ
 
   5. e ȤäƼԴñذưƥå 3  4 򷫤֤ޤ
-  
+
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
@@ -788,9 +789,9 @@ NOTE: ִ⡼ɤ⡼ɤ˻ƤޤƤΥפ줿ʸϴ¸ʸ
      ** ƥȤΥԡˤϥڥ졼 y 򡢥ڡȤˤ p Ȥޤ **
 
   1. ---> ȼ줿Ԥذư "a)" θ֤Ƥޤ
-  
+
   2. v ǥӥ奢⡼ɤ򳫻Ϥ"first" μޤǥưޤ
-  
+
   3. y 򥿥פƶĴɽ줿ƥȤ yank (ԡ)ޤ
 
   4. ιԤιޤǥưޤ:  j$
@@ -810,7 +811,7 @@ NOTE: ִ⡼ɤ⡼ɤ˻ƤޤƤΥפ줿ʸϴ¸ʸ
 
   ** ִκݤʸ/ʸ̵뤹ˤϡץꤷޤ **
 
-  1. ͤϤ 'ignore' 򸡺ޤ礦:  /ignore  <ENTER>
+  1. ͤϤ 'ignore' 򸡺ޤ礦:  /ignore <ENTER>
      n 򲡤Ʋ٤򷫤֤ޤ
 
   2. ͤϤ 'ic' (Ignore Case ά) ץꤷޤ:  :set ic
@@ -820,13 +821,13 @@ NOTE: ִ⡼ɤ⡼ɤ˻ƤޤƤΥפ줿ʸϴ¸ʸ
 
   4. 'hlsearch'  'incsearch' ץꤷޤ礦:  :set hls is
 
-  5. ޥɤϤơ뤫Ƥߤޤ礦:  /ignore  <ENTER>
+  5. ޥɤϤơ뤫Ƥߤޤ礦:  /ignore <ENTER>
 
   6. ʸʸζ̵̤ˤˤϼͤϤޤ:  :set noic
 
-NOTE: ޥåζĴɽˤϼͤϤޤ: :nohlsearch
+NOTE: ޥåζĴɽˤϼͤϤޤ:  :nohlsearch
 NOTE: 1Ĥθޥɤʸʸζ̤᤿ʤСե졼 \c
-      Ѥޤ:  /ignore\c  <ENTER>
+      Ѥޤ:  /ignore\c <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				å 6 
 
@@ -843,12 +844,12 @@ NOTE: 1Ĥθޥɤʸʸζ̤᤿ʤСե졼 \c
   5. ʸ R 򥿥פִ⡼ɤꡢ<ESC>򲡤ȴ롣
 
   6. ":set xxx" ȥפȥץ "xxx" ꤵ롣
-  	'ic' 'ignorecase'	ʸʸζ̤ʤ
+	'ic' 'ignorecase'	ʸʸζ̤ʤ
 	'is' 'incsearch'	ե졼ʬޥåƤʬɽ
 	'hls' 'hlsearch'	ޥå뤹٤Ĵɽ
      ĹûɤΥץ̾ǤѤǤޤ
 
-  7. "no" Ϳץ̵ˤޤ:  :set noic
+  7. ץ̵ˤˤ "no" Ϳޤ:  :set noic
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		    å 7.1: 饤إץޥ
@@ -884,7 +885,7 @@ NOTE: 1Ĥθޥɤʸʸζ̤᤿ʤСե졼 \c
 
   1. "vimrc" եԽ򳫻Ϥ롣ϥƥ˰¸ޤ
 	:edit ~/.vimrc			UNIX 
-	:edit $VIM/_vimrc		MS-Windows 
+	:edit $VIM/_vimrc		Windows 
 
   2. ǥץ "vimrc" ɤ߹ߤޤ
 	:read $VIMRUNTIME/vimrc_example.vim
@@ -910,7 +911,7 @@ NOTE: 1Ĥθޥɤʸʸζ̤᤿ʤСե졼 \c
 
   4. CTRL-D 򲡤 Vim  "e" Ϥޤ륳ޥɤΰɽޤ
 
-  5. <TAB> 򲡤 Vim  ":edit" Ȥޥ̾䴰ޤ
+  5. d<TAB> ȥפ Vim  ":edit" Ȥޥ̾䴰ޤ
 
   6. ˶ȡ¸Υե̾λϤޤäޤ:  :edit FIL
 
@@ -923,7 +924,7 @@ NOTE: 䴰¿Υޥɤưޤ CTRL-D  <TAB> ƤߤƤ
 			       å 7 
 
 
-  1. إץɥ򳫤ˤ :help Ȥ뤫 <F1> ⤷ <Help> 򲡤
+  1. إץɥ򳫤ˤ :help Ȥ뤫 <F1> ⤷ <HELP> 򲡤
 
   2. ޥ(cmd)Υإפ򸡺ˤ :help cmd ȥפ롣
 
--- a/runtime/tutor/tutor.ja.sjis
+++ b/runtime/tutor/tutor.ja.sjis
@@ -147,18 +147,18 @@ NOTE: SẴbXʂāAo悤Ƃ̂ł͂ȂۂɂĂ݂܂傤B
      ܂B
 
   2. VFvvgł̃R}h^Cv܂:  vim tutor <ENTER>
-     'vim' Vim GfB^NR}hA'tutor' ͕ҏWt@C
+     'vim'  Vim GfB^NR}hA'tutor' ͕ҏWt@C
      OłBύXĂ悢t@Cg܂傤B
 
   3. ÕbXŊw񂾂悤ɁAeLXg}A폜܂B
 
-  4. ύXt@Cɕۑ܂:  :wq  <ENTER>
+  4. ύXt@Cɕۑ܂:  :wq <ENTER>
 
   5. Xebv 1  vimtutor Iꍇ vimtutor ēxNAȉ
      v֐i݂܂傤B
 
   6. ȏ̃Xebvǂŗłs܂傤B
-  
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				bX 1 v
 
@@ -558,11 +558,12 @@ NOTE: ̋@\͊ʂvĂȂvOfobÔɂƂĂ𗧂
 
   1. ȉ ---> ƎꂽsɃJ[\ړ܂傤B
 
-  2. :s/thee/the <ENTER> ƃ^Cv܂傤B̃R}h͂̍sōŏɌ
-     ‚̂ɂsȂ邱ƂɋC‚܂傤B
+  2. :s/thee/the <ENTER> ƃ^Cv܂傤B̃R}h͂̍sōŏɌ
+     ̂ɂs邱ƂɋC‚܂傤B
 
-  3. ł :s/thee/the/g	ƃ^Cv܂傤BsŜu邱ƂӖ܂B
-     ̕ύX͂̍sŌ‚SẲӏɑ΂čsȂ܂B
+  3. ł :s/thee/the/g ƃ^Cv܂傤Blj g tO͍sŜu
+     邱ƂӖ܂B̕ύX͂̍sŌ‚SẲӏɑ΂čs
+     ܂B
 
 ---> thee best time to see thee flowers is in thee spring.
 
@@ -638,8 +639,8 @@ NOTE:  SĂ : R}h <ENTER> ďIȂ΂Ȃ܂B
 NOTE:  Vim IAt@C TEST ƋɋNƁAۑ
      `[gA̕łオ͂łB
 
-  5. ɁÂ悤Ƀ^Cvăt@C܂傤(MS-DOS):  :!del TEST
-                                               (Unix):    :!rm TEST
+  5. ɁÂ悤Ƀ^Cvăt@C܂傤(Windows):  :!del TEST
+                                               (Unix):     :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -696,7 +697,7 @@ NOTE: OR}h̏o͂ǂݍނƂo܂BႦ΁A
   1.  :!command  ɂ OR}hs܂B
 
      悭g:
-	 (MS-DOS)	  (Unix)
+	 (Windows)	  (Unix)
 	  :!dir		   :!ls		   -  fBNg̈ꗗB
 	  :!del FILENAME   :!rm FILENAME   -  t@C폜B
 
@@ -718,7 +719,7 @@ NOTE: OR}h̏o͂ǂݍނƂo܂BႦ΁A
 
     ** o ^CvƁAJ[\̉̍sJA}[hɓ܂ **
 
-  1. ȉ ---> ƎꂽsɃJ[\ړ܂傤B
+  1. ȉ ---> Ǝꂽŏ̍sɃJ[\ړ܂傤B
 
   2. o () ^CvāAJ[\̉̍sJA}[hɓ܂B
 
@@ -741,7 +742,7 @@ NOTE: OR}h̏o͂ǂݍނƂo܂BႦ΁A
 
       ** J[\̎̈ʒueLXgljɂ a ƃ^Cv܂ **
 
-  1. J[\ ---> Ŏꂽsֈړ܂傤B
+  1. J[\ ---> Ŏꂽŏ̍sֈړ܂傤B
 
   2. e  li ̏I[܂ŃJ[\ړ܂B
 
@@ -751,7 +752,7 @@ NOTE: OR}h̏o͂ǂݍނƂo܂BႦ΁A
      ܂B
 
   5. e gĎ̕sSȒPֈړAXebv 3  4 JԂ܂B
-  
+
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
@@ -788,9 +789,9 @@ NOTE: u[h͑}[hɎĂ܂ASẴ^Cvꂽ͊̕
      ** eLXg̃Rs[ɂ̓Iy[^ y Ay[Xgɂ p g܂ **
 
   1. ---> ƎꂽsֈړAJ[\ "a)" ̌ɒuĂ܂B
-  
+
   2. v ŃrWA[hJnA"first" ̎O܂ŃJ[\ړ܂B
-  
+
   3. y ^Cvċ\ꂽeLXg yank (Rs[)܂B
 
   4. ̍s̍s܂ŃJ[\ړ܂:  j$
@@ -810,7 +811,7 @@ NOTE: u[h͑}[hɎĂ܂ASẴ^Cvꂽ͊̕
 
   ** u̍ۂɑ啶/𖳎ɂ́AIvVݒ肵܂ **
 
-  1. ̗lɓ͂ 'ignore' ܂傤:  /ignore  <ENTER>
+  1. ̗lɓ͂ 'ignore' ܂傤:  /ignore <ENTER>
      n ĉxJԂ܂B
 
   2. ̗lɓ͂ 'ic' (Ignore Case ̗) IvVݒ肵܂:  :set ic
@@ -820,13 +821,13 @@ NOTE: u[h͑}[hɎĂ܂ASẴ^Cvꂽ͊̕
 
   4. 'hlsearch'  'incsearch' IvVݒ肵܂傤:  :set hls is
 
-  5. R}hē͂āAN邩Ă݂܂傤:  /ignore  <ENTER>
+  5. R}hē͂āAN邩Ă݂܂傤:  /ignore <ENTER>
 
   6. 啶̋ʂ𖳌ɂɂ͎̗lɓ͂܂:  :set noic
 
-NOTE: }b`̋\߂ɂ͎̗lɓ͂܂: :nohlsearch
+NOTE: }b`̋\߂ɂ͎̗lɓ͂܂:  :nohlsearch
 NOTE: 1‚̌R}h啶̋ʂ߂Ȃ΁At[Y \c
-      gp܂:  /ignore\c  <ENTER>
+      gp܂:  /ignore\c <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				bX 6 v
 
@@ -843,12 +844,12 @@ NOTE: 1‚̌R}h啶̋ʂ߂Ȃ΁At[Y \c
   5. 啶 R ^Cvƒu[hɓA<ESC>ƔB
 
   6. ":set xxx" ƃ^CvƃIvV "xxx" ݒ肳B
-  	'ic' 'ignorecase'	ɑ啶̋ʂȂ
+	'ic' 'ignorecase'	ɑ啶̋ʂȂ
 	'is' 'incsearch'	t[Yɕ}b`Ă镔\
 	'hls' 'hlsearch'	}b`邷ׂ\
      AZAǂ̃IvVłgpł܂B
 
-  7. "no" t^AIvV𖳌ɂ܂:  :set noic
+  7. IvV𖳌ɂɂ "no" t^܂:  :set noic
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		    bX 7.1: ICwvR}h
@@ -884,7 +885,7 @@ NOTE: 1‚̌R}h啶̋ʂ߂Ȃ΁At[Y \c
 
   1. "vimrc" t@C̕ҏWJnB̓VXeɈˑ܂B
 	:edit ~/.vimrc			UNIX 
-	:edit $VIM/_vimrc		MS-Windows 
+	:edit $VIM/_vimrc		Windows 
 
   2. ŃTv "vimrc" ǂݍ݂܂B
 	:read $VIMRUNTIME/vimrc_example.vim
@@ -910,7 +911,7 @@ NOTE: 1‚̌R}h啶̋ʂ߂Ȃ΁At[Y \c
 
   4. CTRL-D  Vim  "e" n܂R}ḧꗗ\܂B
 
-  5. <TAB>  Vim  ":edit" ƂR}h⊮܂B
+  5. d<TAB> ƃ^Cv Vim  ":edit" ƂR}h⊮܂B
 
   6. ɋ󔒂ƁÃt@C̎n܂܂:  :edit FIL
 
@@ -923,7 +924,7 @@ NOTE: ⊮͑̃R}hœ삵܂B CTRL-D  <TAB> Ă݂Ă
 			       bX 7 v
 
 
-  1. wvEBhEJɂ :help Ƃ邩 <F1>  <Help> B
+  1. wvEBhEJɂ :help Ƃ邩 <F1>  <HELP> B
 
   2. R}h(cmd)̃wvɂ :help cmd ƃ^CvB
 
--- a/runtime/tutor/tutor.ja.utf-8
+++ b/runtime/tutor/tutor.ja.utf-8
@@ -147,18 +147,18 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく実際にやってみましょう。
      ません。
 
   2. シェルプロンプトでこのコマンドをタイプします:  vim tutor <ENTER>
-     'vim'が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの
+     'vim' が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの
      名前です。変更してもよいファイルを使いましょう。
 
   3. 前のレッスンで学んだように、テキストを挿入、削除します。
 
-  4. 変更をファイルに保存します:  :wq  <ENTER>
+  4. 変更をファイルに保存します:  :wq <ENTER>
 
   5. ステップ 1 で vimtutor を終了した場合は vimtutor を再度起動し、以下の
      要約へ進みましょう。
 
   6. 以上のステップを読んで理解した上でこれを実行しましょう。
-  
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				レッスン 1 要約
 
@@ -558,11 +558,12 @@ NOTE: この機能は括弧が一致していないプログラムをデバッグするのにとても役立ち
 
   1. 以下の ---> と示された行にカーソルを移動しましょう。
 
-  2. :s/thee/the <ENTER> とタイプしましょう。このコマンドはその行で最初に見
-     つかったものにだけ行なわれることに気をつけましょう。
+  2. :s/thee/the <ENTER> とタイプしましょう。このコマンドはその行で最初に見つ
+     かったものにだけ行われることに気をつけましょう。
 
-  3. では :s/thee/the/g	とタイプしましょう。行全体を置換することを意味します。
-     この変更はその行で見つかった全ての箇所に対して行なわれます。
+  3. では :s/thee/the/g とタイプしましょう。追加した g フラグは行全体を置換す
+     ることを意味します。この変更はその行で見つかった全ての箇所に対して行われ
+     ます。
 
 ---> thee best time to see thee flowers is in thee spring.
 
@@ -638,8 +639,8 @@ NOTE:  全ての : コマンドは <ENTER> を押して終了しなければなりません。
 NOTE: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の
      チュートリアルの複製ができ上がるはずです。
 
-  5. さらに、次のようにタイプしてファイルを消しましょう(MS-DOS):  :!del TEST
-                                               もしくは(Unix):    :!rm TEST
+  5. さらに、次のようにタイプしてファイルを消しましょう(Windows):  :!del TEST
+                                               もしくは(Unix):     :!rm TEST
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -696,7 +697,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、
   1.  :!command  によって 外部コマンドを実行します。
 
      よく使う例:
-	 (MS-DOS)	  (Unix)
+	 (Windows)	  (Unix)
 	  :!dir		   :!ls		   -  ディレクトリ内の一覧を見る。
 	  :!del FILENAME   :!rm FILENAME   -  ファイルを削除する。
 
@@ -718,7 +719,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、
 
     ** o をタイプすると、カーソルの下の行が開き、挿入モードに入ります **
 
-  1. 以下の ---> と示された行にカーソルを移動しましょう。
+  1. 以下の ---> と示された最初の行にカーソルを移動しましょう。
 
   2. o (小文字) をタイプして、カーソルの下の行を開き、挿入モードに入ります。
 
@@ -741,7 +742,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、
 
       ** カーソルの次の位置からテキストを追加するには a とタイプします **
 
-  1. カーソルを ---> で示された行へ移動しましょう。
+  1. カーソルを ---> で示された最初の行へ移動しましょう。
 
   2. e を押して li の終端部までカーソルを移動します。
 
@@ -751,7 +752,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、
      します。
 
   5. e を使って次の不完全な単語へ移動し、ステップ 3 と 4 を繰り返します。
-  
+
 ---> This li will allow you to pract appendi text to a line.
 ---> This line will allow you to practice appending text to a line.
 
@@ -788,9 +789,9 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイプされた文字は既存の文字
      ** テキストのコピーにはオペレータ y を、ペーストには p を使います **
 
   1. ---> と示された行へ移動し、カーソルを "a)" の後に置いておきます。
-  
+
   2. v でビジュアルモードを開始し、"first" の手前までカーソルを移動します。
-  
+
   3. y をタイプして強調表示されたテキストを yank (コピー)します。
 
   4. 次の行の行末までカーソルを移動します:  j$
@@ -810,7 +811,7 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイプされた文字は既存の文字
 
   ** 検索や置換の際に大文字/小文字を無視するには、オプションを設定します **
 
-  1. 次の様に入力して 'ignore' を検索しましょう:  /ignore  <ENTER>
+  1. 次の様に入力して 'ignore' を検索しましょう:  /ignore <ENTER>
      n を押して何度か検索を繰り返します。
 
   2. 次の様に入力して 'ic' (Ignore Case の略) オプションを設定します:  :set ic
@@ -820,13 +821,13 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイプされた文字は既存の文字
 
   4. 'hlsearch' と 'incsearch' オプションを設定しましょう:  :set hls is
 
-  5. 検索コマンドを再入力して、何が起こるか見てみましょう:  /ignore  <ENTER>
+  5. 検索コマンドを再入力して、何が起こるか見てみましょう:  /ignore <ENTER>
 
   6. 大文字小文字の区別を無効にするには次の様に入力します:  :set noic
 
-NOTE: マッチの強調表示をやめるには次の様に入力します: :nohlsearch
+NOTE: マッチの強調表示をやめるには次の様に入力します:  :nohlsearch
 NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
-      を使用します:  /ignore\c  <ENTER>
+      を使用します:  /ignore\c <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 				レッスン 6 要約
 
@@ -843,12 +844,12 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
   5. 大文字の R をタイプすると置換モードに入り、<ESC>を押すと抜ける。
 
   6. ":set xxx" とタイプするとオプション "xxx" が設定される。
-  	'ic' 'ignorecase'	検索時に大文字小文字の区別しない
+	'ic' 'ignorecase'	検索時に大文字小文字の区別しない
 	'is' 'incsearch'	検索フレーズに部分マッチしている部分を表示する
 	'hls' 'hlsearch'	マッチするすべを強調表示する
      長い方、短い方、どちらのオプション名でも使用できます。
 
-  7. "no" を付与し、オプションを無効にします:  :set noic
+  7. オプションを無効にするには "no" を付与します:  :set noic
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		    レッスン 7.1: オンラインヘルプコマンド
@@ -884,7 +885,7 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
 
   1. "vimrc" ファイルの編集を開始する。これはシステムに依存します。
 	:edit ~/.vimrc			UNIX 向け
-	:edit $VIM/_vimrc		MS-Windows 向け
+	:edit $VIM/_vimrc		Windows 向け
 
   2. ここでサンプルの "vimrc" を読み込みます。
 	:read $VIMRUNTIME/vimrc_example.vim
@@ -910,7 +911,7 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
 
   4. CTRL-D を押すと Vim は "e" から始まるコマンドの一覧を表示します。
 
-  5. <TAB> を押すと Vim は ":edit" というコマンド名を補完します。
+  5. d<TAB> とタイプすると Vim は ":edit" というコマンド名を補完します。
 
   6. さらに空白と、既存のファイル名の始まりを加えます:  :edit FIL
 
@@ -923,7 +924,7 @@ NOTE: 補完は多くのコマンドで動作します。そして CTRL-D と <TAB> 押してみてくだ
 			       レッスン 7 要約
 
 
-  1. ヘルプウィンドウを開くには :help とするか <F1> もしくは <Help> を押す。
+  1. ヘルプウィンドウを開くには :help とするか <F1> もしくは <HELP> を押す。
 
   2. コマンド(cmd)のヘルプを検索するには :help cmd とタイプする。
 
deleted file mode 100644
--- a/runtime/tutor/tutor.lv
+++ /dev/null
@@ -1,1009 +0,0 @@
-===============================================================================
-=         Ī s a          p a m ā c ī b a        V I M     -   Versija 1.7     =
-===============================================================================
-
-   Vim ir jaudīgs teksta redaktors ar pārāk daudzām komandām, lai to
-   aprakstītu tik īsā aprakstā kā šis. Šī pamācība ir paredzēta, lai
-   spētu iemācīties tik daudz, cik nepieciešams, lietojot Vim, kā plaša
-   pielietojuma teksta redaktoru.
-
-   Atkarībā no tā, cik daudz laika veltīsiet eksperimentiem,
-   šīs pamācības aptuvenais izpildīšanas laiks  ir 25 — 30 minūtes.
-
-   UZMANĪBU:
-   Darbojoties ar komandām, jūs izmainīsiet šo tekstu, tāpēc izveidojiet šī
-   faila kopiju (ja jūs palaidāt "vimtutor" komandu, šī jau ir kopija).
-
-   Svarīgi atcerēties, ka šo pamācību ir paredzēts izpildīt praktiski!
-   Ja jūs tikai lasīsiet šo tekstu, jūs komandas aizmirsīsiet!
-
-   Tagad pārliecinieties, ka tastatūrai nav nospiesti SHIFT vai
-   CAPS-LOCK taustiņi un spiediet j taustiņu, līdz pilnībā redzat
-
-   1.1 nodarbības saturu
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.1 nodarbība: KURSORA PĀRVIETOŠANA
-
-    ** Lai pārvietotu kursoru, spiediet taustiņus h, j, k, l  **
-
-  Lai atcerētos,
-  izmantojiet vārdus:        k          "Kaugšup"
-                             ^
-            pa "Heisi"  h  <   >  l  pa "Labi"
-                             v
-                             j          "Jejup"
-
-  1. Pārvietojiet kursoru pa ekrānu tik ilgi, kamēr pierodat.
-
-  2. Turiet j taustiņu tik ilgi, kamēr ieslēdzas tā auto-atkārtošana.
-     Un dodieties uz nākamo nodarbību.
-
-PIEZĪME: Ja neesat pārliecināts par nospiesto taustiņu, spiediet <ESC>,
-      lai atgrieztos normālajā režīmā, un spiediet vajadzīgo taustiņu atkal.
-
-PIEZĪME: Kursora vadībai var izmantot arī bultiņu taustiņus, bet ticiet —
-      iemācīties vadīt ar j, k, l, h taustiņiem ir daudz parocīgāk!
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.2 nodarbība: IZIEŠANA NO VIM
-
-  !! PIEZĪME: Pirms izpildīt šīs nodarbības soļus, izlasiet visu instrukciju!
-
-  1. Lai būtu drošs, ka esat normālajā režīmā, nospiediet <ESC> taustiņu.
-
-  2. Ievadiet komandu:   :q! <ENTER>.
-     Ievadot šo komandu, jūs iziesiet no redaktora nesaglabājot izmaiņas.
-
-  3. Ja palaidāt vim komandrindā, tad pēc tam atkal to izsauciet, ievadot
-     vimtutor <ENTER>
-
-  4. Kad esat iegaumējis 1. — 3. soli, izpildiet tos, lai atgrieztos
-     redaktorā.
-
-PIEZĪME:  :q! <ENTER> komanda atceļ visas failā radītās izmaiņas. Pēc dažām
-       nodarbībām jūs uzzināsiet, kā izmaiņas varat saglabāt.
-
-  5. Pārvietojiet kursoru, uz 1.3 nodarbību.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.3 nodarbība: TEKSTA REDIĢĒŠANA – DZĒŠANA
-
-	   ** Lai izdzēstu zem kursora atrodošos burtu, spiediet  x  **
-
-  1. Pārvietojiet kursoru uz līniju ar atzīmi --->.
-
-  2. Lai izlabotu kļūdas, pārvietojiet kursoru uz vajadzīgo burtu.
-
-  3. Spiediet x taustiņu, lai izdzēstu nevajadzīgo burtu.
-
-  4. Atkārtojiet 2. līdz 4. soļus, līdz teksts ir pareizs.
-
----> Hiiipijiiii čččauuukstiiina celllofānu.
-
-  5. Kad augstāk parādītā rinda ir izlabota, dodieties uz 1.4. nodarbību.
-
-PIEZĪME: Izpildot šo pamācību, centieties mācīties nevis domājot,
-         bet gan praktiski trenējot kustību atmiņu.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.4 nodarbība: TEKSTA REDIĢĒŠANA — IEVIETOŠANA
-
-			** Lai ievietotu tekstu, spiediet i **
-
-  1. Pārvietojiet kursoru uz pirmo līniju ar atzīmi --->.
-
-  2. Lai ierakstītu tekstu augšējā rindā tieši tādu pašu kā apakšējā,
-     novietojiet kursoru tieši PĒC ievietojamā teksta.
-
-  3. Spiediet i un ievadiet visu nepieciešamo tekstu.
-
-  4. Pēc katra papildinājuma, spiediet <ESC> lai atgrieztos normālajā režīmā.
-     Atkārtojiet 2. līdz 4. soļus, līdz teksts ir pareizs.
-
----> Šaā lnij no tksta rūkt dai buti.
-     Šajā līnijā no teksta trūkst daži burti.
-
-  5. Kad esat apguvis šīs darbības, dodieties uz 1.5. nodarbību.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.5 nodarbība: TEKSTA REDIĢĒŠANA — PIEVIENOŠANA
-
-			** Lai pievienotu tekstu, spiediet A **
-
-  1. Pārvietojiet kursoru uz pirmo līniju ar atzīmi --->.
-     Nav svarīgi, uz kura šīs rindas burta atrodas kursors.
-
-  2. Spiediet A un pievienojiet iztrūkstošo tekstu.
-
-  3. Kad nepieciešamais teksts ir pievienots, spiediet <ESC>,
-     lai atgrieztos normālajā režīmā.
-
-  4. Pārvietojiet kursoru uz otro līniju ar atzīmi --->
-     un atkārtojiet 2. un 3. soļus.
-
----> Šajā līnijā tekstam
-     Šajā līnijā tekstam pietrūkst beigas.
----> Šajā līnijā t
-     Šajā līnijā tekstam pietrūkst beigas.
-
-  5. Kad esat apguvis šīs darbības, dodieties uz 1.6. nodarbību.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1.6 nodarbība: FAILA SAGLABĀŠANA
-
-        ** Lai saglabātu failu un izietu no redaktora, spiediet :wq **
-
-  !! PIEZĪME: Pirms izpildīt šo nodarbību, izlasiet visus tās soļus!
-
-  1. Pārliecinieties, ka esat pareizi izpildījis visas iepriekšējās nodarbības.
-
-  2. Ja neesat pārliecināts, izejiet no redaktora, kā 1.2. nodarbībā ar komandu:
-     :q!
-
-  3. Tad atkal palaidiet pamācību, un, ja nepieciešams, veiciet failā izmaiņas.
-
-  4. Saglabājiet faila izmaiņas, redaktorā ievadot  :w tutor <ENTER>
-     Izejiet no redaktora, ievadot komandu  :wq <ENTER>
-
-  5. Palaidiet atkal šo pamācību, terminālī ievadot komandu: vim tutor
-     Šajā komandā vārds "vim" izsauc teksta redaktoru, bet
-     vārds "tutor" ir faila nosaukums, kurā ir saglabāta izmainītā pamācība.
-
-  5. Kad esat sapratis veicamās darbības, izpildiet tās.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    1. nodarbības APKOPOJUMS
-
-
-  1. Kursoru pārvieto ar bultiņu vai arī h,j,k,l taustiņiem:
-	 h (pa kreisi)   j (lejup)     k (augšup)   l (pa labi)
-
-  2. Lai ar Vim rediģētu noteiktu failu, ievadiet komandu:  vim fails <ENTER>
-
-  3. Lai izietu no Vim ievadiet:
-     <ESC>   :q!         <ENTER>   lai pazaudētu izmaiņas.
-     <ESC>   :wq         <ENTER>   lai saglabātu izmaiņas.
-
-  4. Lai izdzēstu burtu zem kursora, spiediet x
-
-  5. Lai ievietotu vai pievienotu tekstu, spiediet:
-	 i   ievadāmais teksts          <ESC>   lai ievietotu pirms kursora
-	 A   pievienojamais teksts      <ESC>   lai pievienotu rindas beigās
-
-PIEZĪME: <ESC> spiešana atgriezīs jūs normālajā režīmā, vai arī atcels
-         nepareizu vai daļēji ievadītu komandu.
-
-Tagad dodieties uz 2. nodarbību.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.1 nodarbība: DZĒŠANAS KOMANDAS
-
-
-		       ** Lai izdzēstu vārdu, spiediet dw **
-
-  1. Nospiediet <ESC> lai pārliecinātos, ka esat normālajā režīmā.
-
-  2. Pārvietojiet kursoru uz rindu ar atzīmi --->.
-
-  3. Pārvietojiet kursoru uz izdzēšamā vārda sākumu.
-
-  4. Ievadiet   dw    lai izdzēstu nepieciešamo vārdu.
-
-PIEZĪME: Nospiežot d, ekrāna labajā apakšējā stūrī parādīsies d burts.
-         Tas ir tāpēc, ka Vim gaida nākamo komandu (burtu w).
-         Ja jūs redzat citu burtu, vai neredzat neko, esat kaut ko izdarījis
-         nepareizi. Tad spiediet <ESC> un sāciet no sākuma.
-
----> Šajā kuku teikumā ir tata daži lala vārdi, kuri mumu nav vajadzīgi.
-
-  5. Izpildiet 3. — 4. soļus, līdz teksts ir pareizs un dodieties uz 2.2. nodarbību.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.2 nodarbība: CITAS DZĒŠANAS KOMANDAS
-
-
-	   ** Lai izdzēstu līdz rindas beigām, spiediet d$ **
-
-  1. Nospiediet <ESC> lai pārliecinātos, ka esat normālajā režīmā.
-
-  2. Pārvietojiet kursoru uz rindu ar atzīmi --->.
-
-  3. Pārvietojiet kursoru līdz pirmā teikuma beigām (PĒC pirmā punkta).
-
-  4. Ievadiet d$  lai izdzēstu tekstu no kursora līdz rindas beigām.
-
----> Kāds ir ievadījis teikuma beigas divreiz. ievadījis teikuma beigas divreiz.
-
-
-  5. Dodieties uz 2.3 nodarbību, lai labāk izprastu, kā tas notiek.
-
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.3 nodarbība: OPERATORI UN KOMANDAS
-
-
-  Daudzas tekstu mainošās komandas sastāv no operatora un kustības.
-  Dzēšanas komanda, kuru izsauc ar d operatoru vispārīgā gadījumā ir sekojoša:
-
-        d kustība
-
-  Kur:
-    d       - ir dzēšanas operators.
-    kustība - ir operators, kas nosaka dzēšanas veidu.
-
-  Biežāk izplatītās kustības ir:
-    w - līdz nākamā vārda sākumam, NEIESKAITOT tā pirmo burtu.
-    e - līdz tekošā vārda beigām, IESKAITOT pēdējo burtu.
-    $ - līdz rindas beigām, IESKAITOT tās pēdējo burtu.
-
-  Piemēram, ievadot  de  tiks izdzēsts teksts no kursora līdz rindas beigām.
-
-PIEZĪME: Ievadot kustības komandu normālajā režīmā, tā pārvietos kursoru uz
-         norādīto vietu.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.4 nodarbība: KUSTĪBAS SKAITA IZMANTOŠANA
-
-
-   ** Pirms kustības ievadot skaitli, tā tiks atkārtota norādās reizes. **
-
-  1. Pārvietojiet kursoru uz līniju ar atzīmi --->.
-
-  2. Ievadiet  2w  lai pārvietotu kursoru par 2 vārdiem uz priekšu.
-
-  3. Ievadiet  3e  lai pārvietotu kursoru par 3 vārdiem atpakaļ.
-
-  4. Ievadiet  0  (nulli), lai pārvietotu kursoru uz rindas sākumu.
-
-  5. Atkārtojiet 2. — 3. soļus ar dažādiem skaitļiem.
-
----> Šī ir rinda ar vārdiem, kurā jūs varat pārvietoties.
-
-  6. Dodieties uz nodarbību 2.5.
-
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.5 nodarbība: SKAITĻA IZMANTOŠANA DZĒŠANAI
-
-
-   ** Ievadot skaitli pirms operatora, tas tiks atkārtots norādītās reizes. **
-
-  Pirms augšminētajām dzēšanas un pārvietošanās darbībām
-  var ievadīt skaitli, lai norādītu cik reizes to izpildīt, formā:
-	 d   skaitlis  kustība
-
-  1. Pārvietojiet kursoru uz pirmo vārdu ar LIELAJIEM BURTIEM rindā ar atzīmi --->.
-
-  2. Ievadiet komandu d2w lai izdzēstu divus vārdus ar LIELAJIEM BURTIEM
-
-  3. Atkārtojiet pirmo soli, dzēšanas komandai norādot dažādus skaitļus,
-     lai izdzēstu visus vārdus ar LIELAJIEM BURTIEM
-
---->  šajā ABC DE rindā FGHI JK LMN OP ir jāizdzēš liekie Q RS TUV vārdi
-
-
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.6 nodarbība: DARBĪBAS AR RINDĀM
-
-
-		   ** Ievadiet   dd   lai izdzēstu visu teksta rindu. **
-
-  Tā kā veselas rindas izdzēšana ir izplatīta darbība, Vi dizaineri nolēma
-  tās dzēšanu realizēt ar dubultu d ievadīšanu.
-
-  1. Pārvietojiet kursoru uz otro rindu ar atzīmi --->
-  2. Ievadiet  dd  lai izdzēstu rindu.
-  3. Pārvietojiet kursoru uz ceturto rindu.
-  4. Ievadiet  2dd   lai izdzēstu divas rindas.
-
---->  1)  Astoņi kustoņi,
---->  2)  astoņi kustoņi,
---->  3)  kas tos astoņus kustoņus pirks?
---->  4)  Zirgs.
---->  5)  Astoņi kustoņi,
---->  6)  astoņi kustoņi,
---->  7)  kas tos astoņus kustoņus pirks?
---->  8)  Cirks.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2.7 nodarbība: ATCELŠANAS KOMANDA
-
-
-   ** Lai atceltu darbību, spiediet  u  **
-   ** Lai atceltu visas darbības tekošajā rindā, spiediet  U  **
-
-  1. Pārvietojiet kursoru uz rindu ar atzīmi ---> un novietojiet to uz
-     pirmās kļūdas.
-  2. Pārvietojiet kursoru un ievadiet  x  lai izdzēstu visus liekos burtus.
-  3. Ievadiet  u  lai atceltu iepriekšējo komandu.
-  4. Šī darbība atcels iepriekšējo darbību, kuru veicāt, ievadot  x
-  5. Ievadiet  U  lai atgrieztos sākuma stāvoklī.
-  6. Ievadiet  u  vairākas reizes, lai atceltu  U  un iepriekšējās komandas.
-  7. Ievadiet  CTRL-R  t.i.:
-     nospiediet CTRL un, to neatlaižot, Shift un to neatlaižot un r
-     vairākas reizes, lai atceltu atcelšanas darbības.
-
----> Iizlabojiet kļūudas šaajā riindā, aatceliet tās un aatceliet aatcelšanu.
-
-  8. Šīs ir svarīgas un noderīgas iespējas.
-     Tagad pārejiet uz 2. nodarbības apkopojumu.
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    2. nodarbības APKOPOJUMS
-
-
-  1. Lai izdzēstu vārdu, uz kura atrodas kursors, ievada:    dw
-  2. Lai izdzēstu rindu no kursora līdz tās beigām, ievada:  d$
-  3. Lai izdzēstu visu rindu, ievada:                        dd
-  4. Lai atkārtotu kustības darbību, pirms tās ievada skaitli, piemēram:
-                                                             2w
-
-  5. Lai atkārtotu izmaiņu darbību, komandu formāts ir sekojošs:
-       operators   [skaitlis]   kustība
-     kur:
-       operators  - ir veicamā darbība, piemēram,  d  lai dzēstu
-       [skaitlis] - ir neobligāts darbības atkārtojumu skaits
-       kustība    - pārvieto kursoru tik tālu, cik ir veicama darbība, piem:
-                      w  lai pārvietotos par vienu vārdu,
-		      $  lai pārvietotos līdz rindas beigām u.tml.
-
-  6. Lai pārvietotos uz rindas sākumu, ievada:          0   (nulli)
-
-  7. Lai atceltu iepriekšējo darbību, ievada:           u  (mazo u)
-     Lai atceltu visas rindā veiktās izmaiņas, ievada:  U  (Shift+U)
-     Lai atceltu atcelšanas darbības, ievada:      CTRL-R  (Ctrl+Shift+r)
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    3.1 nodarbība: IEVIETOŠANAS DARBĪBA
-
-
-       ** Lai pēc kursora ievietotu iepriekš izdzēstu tekstu, spiediet  p  **
-
-  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
-
-  2. Ievadiet  dd  lai izdzēstu visu rindu un saglabātu to reģistrā.
-
-  3. Pārvietojiet kursoru uz c) rindu (virs vietas, kur būtu jāievieto
-     dzēstā rinda).
-
-  4. Spiediet  p  lai ievietotu reģistrā saglabāto rindu.
-
-  5. Atkārtojiet soļus 2 līdz 4 līdz rindas ir pareizajā secībā.
-
----> d)  Zirgs.
----> c)  kas tos astoņus kustoņus pirks?
----> b)  astoņi kustoņi,
----> a)  Astoņi kustoņi,
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    3.2 nodarbība: AIZVIETOŠANAS KOMANDA
-
-
-       ** Lai aizvietotu burtu ar citu, ievadiet r un nepieciešamo burtu. **
-
-  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
-
-  2. Pārvietojiet kursoru, lai iezīmētu pirmo nepareizo burtu.
-
-  3. Ievadiet  r  un tad burtu, uz kuru iezīmēto ir nepieciešams nomainīt.
-
-  4. Atkārtojiet soļus 2 un 3 līdz ir pirmā rinda atbilst otrajai rindai.
-
---->  Iavadut šo rixdu, kuds ar nuspeedis napariizus teusteņus!
---->  Ievadot šo rindu, kāds ir nospiedis nepareizus taustiņus!
-
-  5. Tagad dodieties uz 3.3. nodarbību.
-
-PIEZĪME: Atcerieties, ka jums ir jāmācās darbojoties,
-         nevis vienkārši mēģinot atcerēties!
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    3.3 nodarbība: IZMAIŅU DARBĪBA
-
-
-	   ** Lai izmainītu tekstu līdz vārda beigām, spiediet  ce  **
-
-  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
-
-  2. Novietojiet kursoru virs pirmā Š vārdā Šma.
-
-  3. Ievadiet  ce  un izlabojiet vārdu uz pareizu (šajā gad. "Šīs").
-
-  4. Spiediet <ESC> un pārvietojiet kursoru uz nākamo maināmo vārdu.
-
-  5. Atkārtojiet soļus 3 un 4 līdz pirmā un otrā rinda ir vienādas.
-
----> Šma rindas vamula nepieciešams šimahaļ, lietojot šašābiļabita darbību.
----> Šīs rindas vārdus nepieciešams izlabot, lietojot izmainīšanas darbību.
-
-Ievērojiet, ka pēc  ce  un vārda ievades jūs paliekat ievietošanas režīmā.
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    3.4 nodarbība: CITAS MAINĪŠANAS DARBĪBAS AR c
-
-
-     ** Izmaiņu kustības operatoru lieto tieši tāpat kā dzēšanai. **
-
-  1. Izmaiņu kustības operators darbojas tāpat kā dzēšanai. Formāts ir:
-
-         c    [skaitlis]   kustība
-
-  2. Var lietot tos pašus kustības operatorus  w (vārds) un  $ (rindas beigas).
-
-  3. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->.
-
-  4. Pārvietojiet kursoru uz pirmo kļūdu.
-
-  5. Ievadiet  c$ rakstiet nomaināmo tekstu līdz rindas beigām un spiediet <ESC>.
-
----> Šī teksta beigas nepieciešams izlabot, lietojot c$ komandu.
----> Šī teksta beigas nepieciešams izlabot, lietojot c$ šari-vari-traļi-muļi.
-
-PIEZĪME:  Lai labotu nepareizi ievadītu tekstu, spiediet <BACKSPACE> taustiņu.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    3. NODARBĪBAS APKOPOJUMS
-
-
-  1. Lai ievietotu izdzēsto tekstu, spiediet  p  taustiņu. Ar to ievietosiet
-     dzēsto tekstu PĒC kursora. (Ja bija izdzēsta vesela rinda, tā tiks
-     ievietota rindā VIRS kursora.)
-
-  2. Lai izmainītu burtu zem kursora, spiediet  r  un pēc tam
-     jums nepieciešamo rakstzīmi.
-
-  3. Izmaiņu operators ļauj jums nomainīt tekstu no kursora līdz
-     kustības operatora norādītajai vietai. Piemēram,
-     ievadot  ce  jūs izmaināt tekstu no kursora līdz VĀRDA beigām, bet
-     ievadot  c$  jūs nomaināt tekstu no kursora līdz RINDAS beigām.
-
-  4. Izmaiņu komandas formāts ir:
-
-	 c   [skaitlis]   kustība
-
-Tagad dodieties uz nākamo nodarbību.
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4.1 nodarbība: KURSORA VIETA FAILĀ UN FAILA STATUSS
-
-  ** Lai noteiktu kursora atrašanās vietu failā un faila statusu, spiediet  CTRL-g
-     Lai pārvietotu kursoru uz noteiktu faila rindu, spiediet  G  **
-
-  PIEZĪME: Pirms pildīt šo uzdevumu, izlasiet visas tā darbības līdz beigām!
-
-  1. Spiediet Ctrl taustiņu, un neatlaižot to, spiediet g  saīsināti CTRL-g.
-     Redaktora ekrāna apakšā parādīsies statusa rinda, ar faila statusu
-     un rindu kurā atrodas kursors, kā arī citu informāciju.
-     Atcerieties šo vietu, lai izpildītu 3. darbību.
-
-PIEZĪME: Jūs varat redzēt kursora atrašanās vietu failā vienmēr ekrāna
-       labajā apakšējā stūrī, ja redaktoram ir ieslēgta ruler opcija.
-       (Skatiet palīdzību par šo komandu, ievadot  :help 'ruler')
-
-  2. Lai pārvietotu kursoru uz faila beigām, ievadiet  G
-     Lai pārvietotu kursoru uz faila sākumu, ievadiet  gg
-
-  3. Ievadiet iepriekš iegaumētās rindas numuru un tad ievadiet  G
-     Ar šo jūs pārvietosiet kursoru atpakaļ rindā, kurā jūs sākāt
-     šo nodarbību.
-
-  4. Atkārtojiet darbības 1. — 3. tik ilgi, kamēr droši atceraties šīs komandas.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4.2 nodarbība: MEKLĒŠANAS KOMANDA
-
-
-     ** Lai meklētu tekstā, spiediet  /  un ievadiet meklējamo frāzi. **
-
-  1. Normālajā režīmā spiediet  /  taustiņu. Ievērojiet, ka kursors pārvietojas
-     uz redaktora apakšējo rindu, līdzīgi, kā nospiežot taustiņu  :
-     lai ievadītu dažādas komandas.
-
-  2. Tad ievadiet vārdu  kļūūūda  un spiediet <ENTER>.
-     Ar šo jūs izgaismosiet atrasto meklējamo redaktorā.
-
-  3. Lai atrastu nākošo vārdu, spiediet  n  taustiņu.
-     Lai pārvietotu kursoru uz nākamo atrasto vietu tekstā uz augšu,
-     ievadiet  N
-
-  4. Lai meklētu frāzi augšupejošā virzienā  /  vietā lietojiet  ?
-
-  5. Lai atgrieztos uz vietu, kurā sākāt meklēšanu, spiediet CTRL-O
-     (spiediet Ctrl, tad, to neatlaižot spiediet arī o). To var turpināt,
-     lai dotos tālāk atpakaļ, vai arī spiest CTRL-i, lai dotos uz priekšu.
-
---->  "kļūūūda" nav pareizs vārds; kļūda ir vienkārši kļūda.
-
-PIEZĪME: Ja ir atrasta pēdējā meklējamā frāze faila beigās vai sākumā,
-      pēc nākamā meklējuma tiks atrasta pirmā/pēdējā faila sākumā/beigās,
-      ja vien nav atslēgta wrapscan opcija.
-
-PIEZĪME: Ja vairs nevēlaties izgaismot meklējamo tekstu, spiediet  /
-      un ievadiet nesakarīgu/neatrodamu frāzi. (VIM speciālisti parasti
-      piekārto savu taustiņu kombināciju šai darbībai.)
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4.3 nodarbība: SAISTĪTO IEKAVU MEKLĒŠANA
-
-
-	      ** Lai atrastu saistīto ),], vai } iekavu, ievadiet  %  **
-
-  1. Novietojiet kursoru uz iekavām (, [, { rindā ar atzīmi --->.
-
-  2. Ievadiet % simbolu.
-
-  3. Kursors pārvietosies uz izvēlētajai iekavai atbilstošo pretējo iekavu.
-
-  4. Ievadiet % lai pārvietotos atpakaļ uz atbilstošo pretējo iekavu.
-
-  5. Pārvietojiet kursoru uz cita veida iekavu (,),[,],{ or } un pārbaudiet,
-     kas notiek atkārtoti ievadot %
-
----> Šī ir (testa rinda ar dažādām (-veida, [-veida] un {-veida} iekavām.))
-
-
-PIEZĪME: Šī iespēja ir ļoti noderīga, lai pārbaudītu nelīdzsvarotas iekavas
-         programmas kodā
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4.4 nodarbība: AIZVIETOŠANAS KOMANDA
-
-
-	** Ievadiet  :s/vecais/jaunais/g  lai aizvietotu 'vecais' ar 'jaunais'. **
-
-  1. Novietojiet kursoru rindā ar atzīmi --->.
-
-  2. Ievadiet :s/ss/s<ENTER>
-     Ievērojiet, ka šī komanda nomaina tikai pirmo atrasto frāzi.
-
-  3. Tagad ievadiet :s/ss/s/g<ENTER>
-     Ievērojiet, ka slēdzis g liek aizvietot frāzi visās atrastajās vietās.
-
----> visslabākaiss laikss vērot ziedus ir pavassariss.
-
-  4. Aizvietošanas komandai var norādīt darbības diapazonu:
-
-     ievadiet :#,#s/vecais/jaunais/g  kur #,# ir diapazona sākuma un beigu rinda
-     ievadiet :%s/vecais/jaunais/g    lai aizvietotu frāzi visā failā
-     ievadiet :%s/vecais/jaunais/gc   lai aizvietotu visā failā ar uzaicinājumu
-                                      apstiprināt katru aizvietošanu
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4.5 nodarbība: DARBĪBAS ATKĀRTOŠANA
-
-       ** Lai atkārtotu iepriekšējo darbību, spiediet  .  **
-
-  Atšķirībā no citiem teksta redaktoriem, Vim par vienu darbību uzskata
-  vairāku ievadīto komandu virkni ārpus normālā režīma (t.i. ievietošanas,
-  aizstāšanas u.tml.). Tas ļauj viegli atkārtot sarežģītas darbības, spiežot
-  .  taustiņu.
-
-  1. Pārliecinieties, ka esat normālajā režīmā, spiežot <ESC>.
-
-  2. Sameklējiet pirmo skaitli rindā ar --->, ievadot:  /11 
-
-  3. Ievadiet komandu 2sll un atgriezieties normālajā režīmā.
-
-  4. Lai sameklētu nākamo skaitli un atkārtotu iepriekšējo aizstāšanas darbību,
-     spiediet:  n.
-
----> ba11e ce11e ha11e le11e ka11a mu11a nu11e ra11ijs šte11e ti11s ze11is
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    4. nodarbības APKOPOJUMS
-
-  1. CTRL-G   statusa rindā parāda faila nosaukumu, statusu un kursora atrašanās
-              vietu
-              G  pārvieto kursoru uz faila beigām.
-     skaitlis G  pārvieto kursoru uz norādīto rindu.
-              gg pārvieto kursoru uz faila sākumu.
-
-  2. Ievadot  / un frāzi, to meklē failā uz priekšu
-     Ievadot  ? un frāzi, to meklē failā atpakaļ
-     Pēc pirmās atrastās frāzes, spiežot n sameklē nākamo frāzi tajā pašā virzienā
-     vai arī, spiežot N, sameklē nākamo frāzi pretējā virzienā.
-     CTRL-o pārvieto kursoru uz iepriekšējo izmaiņu vietu, CTRL-i uz nākamo vietu.
-     .  atkārto iepriekšējo darbību, ko var apvienot ar meklēšanu:  n. vai  N.
-
-  3. Ja kursors atrodas uz  (,),[,],{, vai }, ievadot % kursors pārvietojas uz
-     pretējo iekavu.
-
-  4. Lai aizvietotu frāzi tekošajā rindā vienreiz, ievadiet: :s/vecais/jaunais
-     Lai aizvietotu visas frāzes tekošajā rindā, ievadiet:   :s/vecais/jaunais/g
-     Lai aizvietotu visas frāzes starp norādītajām rindām:   :#,#s/vecais/jaunais/g
-     Lai aizvietotu visas frāzes failā, ievadiet:            :%s/vecais/jaunais/g
-     Lai aizvietotu visas frāzes failā ar apstiprinājumu:    :%s/vecais/jaunais/gc
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    5.1 nodarbība: KĀ IZPILDĪT ĀRĒJU KOMANDU
-
-
-   ** Ievadiet :! un pēc tam sekojošo ārējo komandu. **
-
-  1. Nospiediet ierasto  :  lai parādītu uzaicinājumu statusa rindā
-
-  2. Šajā rindā ievadiet !  (izsaukuma zīmi). Tā norāda VIM, ka būs jāizpilda
-     ārēja (komandrindas čaulas) komanda
-
-  3. Pēc tam ievadiet, piemēram  ls un spiediet <ENTER>
-     Šī komanda ekrāna apakšējā daļā parādīs failu sarakstu.
-     Ja lietojat Windows, ls komandas vietā ievadiet dir
-
-PIEZĪME: Izsaucamās komandas izpilda nospiežot <ENTER> taustiņu, kopš šī brīža
-         mēs to vairs īpaši neuzsvērsim. Lai aizvērtu komandas izvadīto saturu,
-         arī jāspiež <ENTER> taustiņš.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    5.2 nodarbība: VAIRĀK PAR FAILU SAGLABĀŠANU
-
-   ** Lai saglabātu failu ar noteiktu nosaukumu, ievadiet :w NOSAUKUMS **
-
-  1. Ievadiet  :!ls  (vai :!dir), lai apskatītu failu sarakstu.
-     Atcerieties, ka pēc komandu nosaukuma ievades jānospiež <ENTER>!
-
-  2. Izdomājiet jaunu faila nosaukumu, piemēram, test
-
-  3. Tagad ievadiet:  :w test1  (kur test ir jūsu izvēlētais faila nosaukums)
-
-  4. Šī komanda saglabās vim pamācību failā test
-     Lai pārbaudītu, ievadiet  :!ls  vai  :!dir un sameklējiet failu sarakstā
-
-PIEZĪME: Ja jūs iziesiet no vim un palaidīsiet to ar komandu  vim test
-     vim atvērs jūsu saglabāto test failu.
-
-  5. Tagad izdzēsiet šo failu, ievadot komandu:    :!rm test
-     Vai, ja lietojat Windows, komandu:            :!del test
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    5.3 nodarbība: TEKSTA DAĻĒJA SAGLABĀŠANA
-
-	** Lai saglabātu tikai daļu no faila, ievadiet:  v  kustība :w fails **
-
-  1. Pārvietojiet kursoru uz šo rindu
-
-  2. Spiediet  v  un pārvietojiet kursoru līdz piektajam punktam.
-
-  3. Spiediet  :  simbolu.  Statusa rindā parādīsies  :'<,'>
-
-  4. Ievadiet  w test  kur test ir izvēlētais faila nosaukums.
-     Pirms spiest <ENTER>, pārliecinieties, ka  redzat :'<,'>w test
-
-  5. Vim saglabās iezīmēto tekstu failā test.
-     Neizdzēsiet šo failu, mēs to izmantosim nākošajā nodarbībā!
-
-PIEZĪME: Spiežot v VIM pārslēdzas vizuālā iezīmēšanas režīmā. Jūs varat izmantot
-       kursora pārvietošanas komandas, lai iezīmētu nepieciešamo tekstu.
-       Pēc teksta iezīmēšanas, jūs varat izmantot dažādus operatorus, lai
-       kaut ko darītu ar iezīmēto tekstu. Piemēram, spiežot  d  jūs izdzēsīsit
-       iezīmēto tekstu.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    5.4 nodarbība: FAILU SATURA IEGŪŠANA UN APVIENOŠANA
-
-       ** Lai ievietotu faila saturu, ievadiet  :r fails  **
-
-  1. Novietojiet kursoru tieši virs šīs rindas.
-
-PIEZĪME:  Pēc 2. soļa izpildes, jūs redzēsiet tekstu no 5.3 nodarbības.
-       Pēc tam pārvietojiet kursoru uz leju, lai lasītu tālāk šīs
-       nodarbības saturu.
-
-  2. Iegūstiet test faila saturu, ievadot komandas   :r test
-     kur test ir jūsu iepriekšējā nodarbībā saglabātais fails.
-     Ielasītā faila saturs tiek ievietots zem kursora.
-
-  3. Lai pārbaudītu, ka darbība ir izdevusies, pārliecinieties, ka 5.4
-     nodarbības aprakstā ir saturs no 5.3 nodarbības.
-
-PIEZĪME: Jūs varat ievadīt saturu failā, izpildot ārēju komandu.
-       Piemēram, ar komandu   :r !ls
-       jūs ievietosiet failā tekošās mapes failu sarakstu.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    5. nodarbības APKOPOJUMS
-
-  1.  :!komanda  izpilda ārēju komandu
-
-      Daži noderīgi piemēri:
-	 (MS-DOS)         (Unix)
-	  :!dir            :!ls         -  parāda mapes saturu
-	  :!del fails      :!rm fails   -  izdzēš norādīto failu
-
-  2.  :w fails  saglabā tekošo failu failā ar norādīto nosaukumu.
-
-  3.  v  kustība :w fails  saglabā vizuāli iezīmēto tekstu norādītajā failā.
-
-  4.  :r fails  ielasa faila saturu tekošajā failā zem kursora.
-
-  5.  :r !ls  ielasa izpildītās komandas atgriezto saturu failā zem kursora.
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6.1 nodarbība: ATVĒRŠANAS KOMANDA
-
- ** Ievadiet o  lai ievadītu jaunu rindu virs kursora un pārietu ievades režīmā. **
-
-  1. Pārvietojiet kursoru uz rindu ar atzīmi --->.
-
-  2. Ievadiet mazo  o  lai ievadītu jaunu rindu virs kursora un pārslēgtos
-     ievades režīmā.
-
-  3. Ievadiet kādu tekstu un spiediet <ESC>, lai izietu no ievades režīma.
-
----> Ievadot  o  izveidosiet rindu virs šīs un pāriesiet ievades režīmā.
-
-  4. Lai izveidotu rindu ZEM kursora, ievadiet lielo  O.
-
----> Ievadot  O  izveidosiet rindu zem šīs un pāriesiet ievades režīmā.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6.2 nodarbība: PIEVIENOŠANAS KOMANDA
-
-	     ** Ievadiet  a  lai ievietotu jaunu tekstu PĒC kursora. **
-
-  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->.
-
-  2. Spiediet  e līdz kursors ir pirmā nepabeigtā vārda beigās.
-
-  3. Ievadiet  a  (mazo a), lai pievienotu tekstu pēc kursora.
-
-  4. Ievadiet tekstu, lai abas rindas ar atzīmi ---> sakrīt.
-     Spiediet <ESC>, lai pārietu normālajā režīmā.
-
-  5. Ievadiet e, lai novietotu kursoru nākamā nepabiegtā vārda beigās,
-     un atkārtojiet soļus 3 un 4.
-
----> Šī rin ju palīd praktiz tekst pievienoš vārd bei
----> Šī rinda jums palīdzēs praktizēties teksta pievienošanā vārdu beigās.
-
-PIEZĪME:  No normālā režīma pāriet uz ievades režīmu ievadot a, i, A un I.
-       Atšķirība ir tikai tā, kur tiek uzsākta teksta ievade: a – pēc kursora,
-       i — pirms kursora, A — rindas beigās, I — rindas sākumā.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6.3 nodarbība: VĒL VIENS AIZVIETOŠANAS VEIDS
-
-      ** Lai aizvietotu vairāk kā vienu rakstzīmi, spiediet R **
-
-  1. Pārvietojiet kursoru uz rindu ar atzīmi --->.
-
-  2. Pārvietojiet kursoru uz pirmo no xxx
-
-  3. Spiediet  R  un ievadiet skaitli, kas norādīts apakšējā rindā tā,
-     lai ievadītie cipari pārraksta xxx.
-
-  4. Lai izietu no aizvietošanas režīma, spiediet <ESC>.
-     Pārliecinieties, ka pārējais rindas saturs nav izmainīts.
-
-  5. Atkārtojiet 2. — 4. soļa darbības, lai līdzīgi aizvietotu pārējos xxx.
-
----> Saskaitot xxx ar xxx iegūstam xxx.
----> Saskaitot 123 ar 456 iegūstam 579.
-
-PIEZĪME: Aizvietošanas režīms darbojas līdzīgi ievietošanas režīmam, ar
-         tikai ievadītās rakstzīmes aizvieto esošās.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6.4 nodarbība: TEKSTA KOPĒŠANA UN IEVIETOŠANA
-
-	  ** Lai kopētu tekstu, izmantojiet y, bet lai ievietotu — p **
-
-  1. Pārvietojiet kursoru uz rindu ar atzīmi ---> un novietojiet kursoru
-     pēc "a)"
-
-  2. Ieslēdziet vizuālo režīmu, spiežot v un pārvietojiet kursoru līdz
-     "pirmais" (to neskaitot)
-
-  3. Spiediet  y  lai iekopētu izcelto tekstu
-
-  4. Pārvietojiet kursoru uz nākamās rindas beigām, spiežot j$
-
-  5. Spiediet  p lai ievietotu nokopēto tekstu. Pēc tam spiediet <ESC>
-
-  6. Ierakstiet otrās rindas beigās vārdu "otrais"
-
-  7. Līdzīgi, lietojot v y un p, nokopējiet vārdu "simtdivdesmitpiecgadnieks",
-     lai iegūtu rindu: šis ir otrais simtdivdesmitpiecgadnieks.
-
---->  a) šis ir pirmais simtdivdesmitpiecgadnieks.
-      b)
-
-  PIEZĪME: y var lietot kopā ar pārvietošanās operatoru, piemēram,
-           spiežot yw var nokopēt izvēlēto vārdu.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6.5 nodarbība: IESTATĪJUMU MAIŅA
-
- ** Iestatiet meklēšana un aizstāšana, neievērojot lielos/mazos burtus **
-
-  1. Sameklējiet vārdu 'neievērot', ievadot:   /neievērot  <ENTER>
-     Atkārtojiet meklēšanu, spiežot n
-
-  2. Iestatiet 'ic' (Neievērot lielos/mazos burtus) iestatījumu, ievadot:  :set ic
-
-  3. Tagad sameklējiet 'neievērot' atkārtoti, spiežot  n
-     Ievērojiet, ka tiek atrasti vārdi Neievērot un NEIEVĒROT.
-
-  4. Iestatiet 'hlsearch' un 'incsearch' opcijas, ievadot:  :set hls is
-
-  5. Ievadiet atkal sekojošo komandu, un skatieties, kas notiek:  /neievērot <ENTER>
-
-  6. Lai atceltu lielo/mazo burtu neievērošanu, ievadiet:   :set noic
-
-PIEZĪME:  Lai atceltu atrasto vietu izcelšanu, ievadiet:    :nohlsearch
-PIEZĪME:  Ja vēlaties meklēt gan lielos, gan mazos burtus vienā meklējumā,
-          ievadiet papildu komandu  \c
-          Piemēram:   /neievērot\c  <ENTER>
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    6. nodarbības APKOPOJUMS
-
-  Lai pārietu uz ievietošanas režīmu un:
-
-  1. lai ievietotu jaunu rindu zem tekošās, ievadiet   o
-     lai ievietotu jaunu rindu virs tekošās, ievadiet  O
-
-  2. Lai ievietotu tekstu pēc kursora, ievadiet        a
-     Lai ievietotu tekstu rindas beigās, ievadiet      A
-
-  Normālajā režīmā:
-
-  3.  e  komanda pārvieto kursoru uz vārda beigām.
-
-  4.  y  komanda nokopē tekstu, bet  p  komanda ievieto to.
-
-  5.  R  ieslēdz aizvietošanas režīmu, līdz tiek nospiests <ESC>.
-
-  6. Ievadot ":set xxx" iestata "xxx" opciju. Dažas no tām ir sekojošas:
-        'ic' 'ignorecase'       meklējot neievēro lielos/mazos burtus.
-	'is' 'incsearch'        uzreiz meklē daļēji ievadīto frāzi.
-	'hls' 'hlsearch'        izgaismo atrastās frāzes.
-     Var norādīt gan īso, gan garo opcijas nosaukumu.
-
-  7. Lai opciju izslēgtu, pievieno priedēkli "no". Piemēram,  :set noic
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    7.1 nodarbība: PALĪDZĪBAS IEGŪŠANA
-
-
-		      ** Iebūvētās palīdzības izmantošana **
-
-  Vim ir plaša iebūvētā palīdzības sistēma. Lai sāktu to lietot, ievadiet vieno
-  no sekojošām komandām:
-	- spiediet <HELP> taustiņu (ja jūsu tastatūrā tāds pastāv)
-	- spiediet <F1> taustiņu (ja jūsu tastatūrai ir tāds)
-	- ievadiet   :help <ENTER>
-
-  Izlasiet palīdzības aprakstu, lai saprastu, kā tas darbojas.
-  Ievadiet  CTRL-W CTRL-W   lai pārslēgtos uz citu logu.
-  Ievadiet  :q <ENTER>      lai aizvērtu palīdzības logu.
-
-  Jūs varat atrast konkrētu palīdzību par jebkuru komandu, ievadot:
-  ":help" komanda.  Piemēram (neaizmirstiet komandas beigās nospiest <ENTER>):
-
-	:help w
-	:help c_CTRL-D
-	:help insert-index
-	:help user-manual
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    7.2 nodarbība: IZVEIDOJIET SĀKŠANAS SKRIPTU
-
-			  ** Ieslēdziet Vim iespējas **
-
-  Vim ir daudz plašākas iespējas, nekā Vi, bet vairums no tām,
-  pēc noklusēšanas, nav ieslēgtas. Lai tās ieslēgtu, izveidojiet "vimrc" failu.
-
-  1. Atkarībā no lietotās operētājsistēmas, atveriet "vimrc" failu sekojoši:
-	:e ~/.vimrc             Unix-veidīgā (t.sk. MacOS un Linux)
-	:e $VIM/_vimrc          VMS-veidīgā (t.sk. MS-Windows)
-
-  2. Ielasiet "vimrc" šablona faila saturu, ievadot:
-	:r $VIMRUNTIME/vimrc_example.vim
-
-  3. Saglabājiet šablona saturu savā iestatījumu failā:
-	:w
-
-  Kad nākamo reizi atvērsiet Vim, tajā tiks izmantota sintakses izgaismošana.
-  Jūs varat ievietot arī citas iestatījumu iespējas savā "vimrc" failā.
-  Papildu informācijai ievadiet   :help vimrc-intro
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    7.3 nodarbība: AUTOMĀTISKĀ PABEIGŠANA
-
-      ** Automātisko pabeigšanu komandrindā izsauc ar CTRL-D un <TAB> **
-
-  1. Pārliecinieties, ka Vim ir ar Vi nesavietojamā režīmā:  :set nocp
-
-  2. Apskatiet tekošās mapes saturu Vim, ievadot:   :!ls   vai  :!dir
-
-  3. Ievadiet komandas sākumu ar:  :e
-
-  4. Spiediet CTRL-D  un Vim parādīs visas komandas, kuras sākas ar "e".
-
-  5. Spiediet <TAB>   un Vim automātiski pabeigs komandu uz ":edit".
-
-  6. Spiediet atstarpes taustiņu un sāciet ievadīt faila nosaukumu,
-     piemēram:  :edit FIL
-
-  7. Spiediet <TAB>   un Vim pabeigs faila nosaukumu,
-     ja norādītais sākums ir unikāls.
-
-PIEZĪME:  Pabeigšana strādā dažādām komandām.
-          Vienkārši mēģiniet spiest CTRL-D un <TAB>.
-          Šī iespēja var būt īpaši noderīga, ievadot  :help .
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                    7. nodarbības APKOPOJUMS
-
-
-  1. Lai atvērtu palīdzības logu, ievadiet  :help  vai spiediet <F1> vai <Help>
-
-  2. Lai atvērtu palīdzību par "komanda", ievadiet  :help komanda
-
-  3. Lai pārslēgtos uz citu logu, spiediet:  CTRL-W CTRL-W
-
-  4. Lai aizvērtu tekošo logu, ievadiet:    :q
-
-  5. Izveidojiet savu "vimrc" sākšanas skriptu ar saviem iestatījumiem.
-
-  6. Ievadot  :  komanda  spiediet CTRL-D, lai apskatītu iespējamos pabeigšanas
-     veidus. Lai pabeigtu komandu, spiediet <TAB> .
-
-
-
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-  Ar šo Vim ievads ir pabeigts. Tajā tika sniegts īss Vim redaktora apraksts,
-  ar kuru pietiek, lai Vim lietotu vienkāršām darbībām.
-  Vim iespējas ir daudz plašākas, un tajā ir daudz vairāk komandu. Lai apskatītu
-  tās,  ievadiet:  ":help user-manual".
-
-  Tālākai apmācībai tiek rekomendētas sekojošas grāmatas:
-
-  Vim - Vi Improved, Steve Oualline, New Riders
-
-  Šī grāmata ir tieši par Vim, un ir ļoti ieteicama iesācējiem.
-  Daudzi piemēri un attēli no tās pieejami: http://iccf-holland.org/click5.html
-
-  Otra, vecāka grāmata ir par Vi, nevis Vim, bet arī ir ļoti noderīga:
-
-  Learning the Vi Editor, Linda Lamb, O'Reilly & Associates Inc.
-
-  Tajā ir visplašākais Vi iespēju apraksts, grāmatas sestajā laidienā ir
-  aprakstītas arī Vim iespējas.
-
-  Šīs pamācības variantu angļu valodā izveidoja:
-
-  * Michael C. Pierce,
-  * Robert K. Ware,
-  * Charles Smith,
-  * Bram Moolenaar.
-
-  Pamācību latviešu valodā tulkoja:
-
-  * Valdis Vītoliņš
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
new file mode 100644
--- /dev/null
+++ b/runtime/tutor/tutor.lv.utf-8
@@ -0,0 +1,1009 @@
+===============================================================================
+=         Ī s a          p a m ā c ī b a        V I M     -   Versija 1.7     =
+===============================================================================
+
+   Vim ir jaudīgs teksta redaktors ar pārāk daudzām komandām, lai to
+   aprakstītu tik īsā aprakstā kā šis. Šī pamācība ir paredzēta, lai
+   spētu iemācīties tik daudz, cik nepieciešams, lietojot Vim, kā plaša
+   pielietojuma teksta redaktoru.
+
+   Atkarībā no tā, cik daudz laika veltīsiet eksperimentiem,
+   šīs pamācības aptuvenais izpildīšanas laiks  ir 25 — 30 minūtes.
+
+   UZMANĪBU:
+   Darbojoties ar komandām, jūs izmainīsiet šo tekstu, tāpēc izveidojiet šī
+   faila kopiju (ja jūs palaidāt "vimtutor" komandu, šī jau ir kopija).
+
+   Svarīgi atcerēties, ka šo pamācību ir paredzēts izpildīt praktiski!
+   Ja jūs tikai lasīsiet šo tekstu, jūs komandas aizmirsīsiet!
+
+   Tagad pārliecinieties, ka tastatūrai nav nospiesti SHIFT vai
+   CAPS-LOCK taustiņi un spiediet j taustiņu, līdz pilnībā redzat
+
+   1.1 nodarbības saturu
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.1 nodarbība: KURSORA PĀRVIETOŠANA
+
+    ** Lai pārvietotu kursoru, spiediet taustiņus h, j, k, l  **
+
+  Lai atcerētos,
+  izmantojiet vārdus:        k          "Kaugšup"
+                             ^
+            pa "Heisi"  h  <   >  l  pa "Labi"
+                             v
+                             j          "Jejup"
+
+  1. Pārvietojiet kursoru pa ekrānu tik ilgi, kamēr pierodat.
+
+  2. Turiet j taustiņu tik ilgi, kamēr ieslēdzas tā auto-atkārtošana.
+     Un dodieties uz nākamo nodarbību.
+
+PIEZĪME: Ja neesat pārliecināts par nospiesto taustiņu, spiediet <ESC>,
+      lai atgrieztos normālajā režīmā, un spiediet vajadzīgo taustiņu atkal.
+
+PIEZĪME: Kursora vadībai var izmantot arī bultiņu taustiņus, bet ticiet —
+      iemācīties vadīt ar j, k, l, h taustiņiem ir daudz parocīgāk!
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.2 nodarbība: IZIEŠANA NO VIM
+
+  !! PIEZĪME: Pirms izpildīt šīs nodarbības soļus, izlasiet visu instrukciju!
+
+  1. Lai būtu drošs, ka esat normālajā režīmā, nospiediet <ESC> taustiņu.
+
+  2. Ievadiet komandu:   :q! <ENTER>.
+     Ievadot šo komandu, jūs iziesiet no redaktora nesaglabājot izmaiņas.
+
+  3. Ja palaidāt vim komandrindā, tad pēc tam atkal to izsauciet, ievadot
+     vimtutor <ENTER>
+
+  4. Kad esat iegaumējis 1. — 3. soli, izpildiet tos, lai atgrieztos
+     redaktorā.
+
+PIEZĪME:  :q! <ENTER> komanda atceļ visas failā radītās izmaiņas. Pēc dažām
+       nodarbībām jūs uzzināsiet, kā izmaiņas varat saglabāt.
+
+  5. Pārvietojiet kursoru, uz 1.3 nodarbību.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.3 nodarbība: TEKSTA REDIĢĒŠANA – DZĒŠANA
+
+	   ** Lai izdzēstu zem kursora atrodošos burtu, spiediet  x  **
+
+  1. Pārvietojiet kursoru uz līniju ar atzīmi --->.
+
+  2. Lai izlabotu kļūdas, pārvietojiet kursoru uz vajadzīgo burtu.
+
+  3. Spiediet x taustiņu, lai izdzēstu nevajadzīgo burtu.
+
+  4. Atkārtojiet 2. līdz 4. soļus, līdz teksts ir pareizs.
+
+---> Hiiipijiiii čččauuukstiiina celllofānu.
+
+  5. Kad augstāk parādītā rinda ir izlabota, dodieties uz 1.4. nodarbību.
+
+PIEZĪME: Izpildot šo pamācību, centieties mācīties nevis domājot,
+         bet gan praktiski trenējot kustību atmiņu.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.4 nodarbība: TEKSTA REDIĢĒŠANA — IEVIETOŠANA
+
+			** Lai ievietotu tekstu, spiediet i **
+
+  1. Pārvietojiet kursoru uz pirmo līniju ar atzīmi --->.
+
+  2. Lai ierakstītu tekstu augšējā rindā tieši tādu pašu kā apakšējā,
+     novietojiet kursoru tieši PĒC ievietojamā teksta.
+
+  3. Spiediet i un ievadiet visu nepieciešamo tekstu.
+
+  4. Pēc katra papildinājuma, spiediet <ESC> lai atgrieztos normālajā režīmā.
+     Atkārtojiet 2. līdz 4. soļus, līdz teksts ir pareizs.
+
+---> Šaā lnij no tksta rūkt dai buti.
+     Šajā līnijā no teksta trūkst daži burti.
+
+  5. Kad esat apguvis šīs darbības, dodieties uz 1.5. nodarbību.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.5 nodarbība: TEKSTA REDIĢĒŠANA — PIEVIENOŠANA
+
+			** Lai pievienotu tekstu, spiediet A **
+
+  1. Pārvietojiet kursoru uz pirmo līniju ar atzīmi --->.
+     Nav svarīgi, uz kura šīs rindas burta atrodas kursors.
+
+  2. Spiediet A un pievienojiet iztrūkstošo tekstu.
+
+  3. Kad nepieciešamais teksts ir pievienots, spiediet <ESC>,
+     lai atgrieztos normālajā režīmā.
+
+  4. Pārvietojiet kursoru uz otro līniju ar atzīmi --->
+     un atkārtojiet 2. un 3. soļus.
+
+---> Šajā līnijā tekstam
+     Šajā līnijā tekstam pietrūkst beigas.
+---> Šajā līnijā t
+     Šajā līnijā tekstam pietrūkst beigas.
+
+  5. Kad esat apguvis šīs darbības, dodieties uz 1.6. nodarbību.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1.6 nodarbība: FAILA SAGLABĀŠANA
+
+        ** Lai saglabātu failu un izietu no redaktora, spiediet :wq **
+
+  !! PIEZĪME: Pirms izpildīt šo nodarbību, izlasiet visus tās soļus!
+
+  1. Pārliecinieties, ka esat pareizi izpildījis visas iepriekšējās nodarbības.
+
+  2. Ja neesat pārliecināts, izejiet no redaktora, kā 1.2. nodarbībā ar komandu:
+     :q!
+
+  3. Tad atkal palaidiet pamācību, un, ja nepieciešams, veiciet failā izmaiņas.
+
+  4. Saglabājiet faila izmaiņas, redaktorā ievadot  :w tutor <ENTER>
+     Izejiet no redaktora, ievadot komandu  :wq <ENTER>
+
+  5. Palaidiet atkal šo pamācību, terminālī ievadot komandu: vim tutor
+     Šajā komandā vārds "vim" izsauc teksta redaktoru, bet
+     vārds "tutor" ir faila nosaukums, kurā ir saglabāta izmainītā pamācība.
+
+  5. Kad esat sapratis veicamās darbības, izpildiet tās.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    1. nodarbības APKOPOJUMS
+
+
+  1. Kursoru pārvieto ar bultiņu vai arī h,j,k,l taustiņiem:
+	 h (pa kreisi)   j (lejup)     k (augšup)   l (pa labi)
+
+  2. Lai ar Vim rediģētu noteiktu failu, ievadiet komandu:  vim fails <ENTER>
+
+  3. Lai izietu no Vim ievadiet:
+     <ESC>   :q!         <ENTER>   lai pazaudētu izmaiņas.
+     <ESC>   :wq         <ENTER>   lai saglabātu izmaiņas.
+
+  4. Lai izdzēstu burtu zem kursora, spiediet x
+
+  5. Lai ievietotu vai pievienotu tekstu, spiediet:
+	 i   ievadāmais teksts          <ESC>   lai ievietotu pirms kursora
+	 A   pievienojamais teksts      <ESC>   lai pievienotu rindas beigās
+
+PIEZĪME: <ESC> spiešana atgriezīs jūs normālajā režīmā, vai arī atcels
+         nepareizu vai daļēji ievadītu komandu.
+
+Tagad dodieties uz 2. nodarbību.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.1 nodarbība: DZĒŠANAS KOMANDAS
+
+
+		       ** Lai izdzēstu vārdu, spiediet dw **
+
+  1. Nospiediet <ESC> lai pārliecinātos, ka esat normālajā režīmā.
+
+  2. Pārvietojiet kursoru uz rindu ar atzīmi --->.
+
+  3. Pārvietojiet kursoru uz izdzēšamā vārda sākumu.
+
+  4. Ievadiet   dw    lai izdzēstu nepieciešamo vārdu.
+
+PIEZĪME: Nospiežot d, ekrāna labajā apakšējā stūrī parādīsies d burts.
+         Tas ir tāpēc, ka Vim gaida nākamo komandu (burtu w).
+         Ja jūs redzat citu burtu, vai neredzat neko, esat kaut ko izdarījis
+         nepareizi. Tad spiediet <ESC> un sāciet no sākuma.
+
+---> Šajā kuku teikumā ir tata daži lala vārdi, kuri mumu nav vajadzīgi.
+
+  5. Izpildiet 3. — 4. soļus, līdz teksts ir pareizs un dodieties uz 2.2. nodarbību.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.2 nodarbība: CITAS DZĒŠANAS KOMANDAS
+
+
+	   ** Lai izdzēstu līdz rindas beigām, spiediet d$ **
+
+  1. Nospiediet <ESC> lai pārliecinātos, ka esat normālajā režīmā.
+
+  2. Pārvietojiet kursoru uz rindu ar atzīmi --->.
+
+  3. Pārvietojiet kursoru līdz pirmā teikuma beigām (PĒC pirmā punkta).
+
+  4. Ievadiet d$  lai izdzēstu tekstu no kursora līdz rindas beigām.
+
+---> Kāds ir ievadījis teikuma beigas divreiz. ievadījis teikuma beigas divreiz.
+
+
+  5. Dodieties uz 2.3 nodarbību, lai labāk izprastu, kā tas notiek.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.3 nodarbība: OPERATORI UN KOMANDAS
+
+
+  Daudzas tekstu mainošās komandas sastāv no operatora un kustības.
+  Dzēšanas komanda, kuru izsauc ar d operatoru vispārīgā gadījumā ir sekojoša:
+
+        d kustība
+
+  Kur:
+    d       - ir dzēšanas operators.
+    kustība - ir operators, kas nosaka dzēšanas veidu.
+
+  Biežāk izplatītās kustības ir:
+    w - līdz nākamā vārda sākumam, NEIESKAITOT tā pirmo burtu.
+    e - līdz tekošā vārda beigām, IESKAITOT pēdējo burtu.
+    $ - līdz rindas beigām, IESKAITOT tās pēdējo burtu.
+
+  Piemēram, ievadot  de  tiks izdzēsts teksts no kursora līdz rindas beigām.
+
+PIEZĪME: Ievadot kustības komandu normālajā režīmā, tā pārvietos kursoru uz
+         norādīto vietu.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.4 nodarbība: KUSTĪBAS SKAITA IZMANTOŠANA
+
+
+   ** Pirms kustības ievadot skaitli, tā tiks atkārtota norādās reizes. **
+
+  1. Pārvietojiet kursoru uz līniju ar atzīmi --->.
+
+  2. Ievadiet  2w  lai pārvietotu kursoru par 2 vārdiem uz priekšu.
+
+  3. Ievadiet  3e  lai pārvietotu kursoru par 3 vārdiem atpakaļ.
+
+  4. Ievadiet  0  (nulli), lai pārvietotu kursoru uz rindas sākumu.
+
+  5. Atkārtojiet 2. — 3. soļus ar dažādiem skaitļiem.
+
+---> Šī ir rinda ar vārdiem, kurā jūs varat pārvietoties.
+
+  6. Dodieties uz nodarbību 2.5.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.5 nodarbība: SKAITĻA IZMANTOŠANA DZĒŠANAI
+
+
+   ** Ievadot skaitli pirms operatora, tas tiks atkārtots norādītās reizes. **
+
+  Pirms augšminētajām dzēšanas un pārvietošanās darbībām
+  var ievadīt skaitli, lai norādītu cik reizes to izpildīt, formā:
+	 d   skaitlis  kustība
+
+  1. Pārvietojiet kursoru uz pirmo vārdu ar LIELAJIEM BURTIEM rindā ar atzīmi --->.
+
+  2. Ievadiet komandu d2w lai izdzēstu divus vārdus ar LIELAJIEM BURTIEM
+
+  3. Atkārtojiet pirmo soli, dzēšanas komandai norādot dažādus skaitļus,
+     lai izdzēstu visus vārdus ar LIELAJIEM BURTIEM
+
+--->  šajā ABC DE rindā FGHI JK LMN OP ir jāizdzēš liekie Q RS TUV vārdi
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.6 nodarbība: DARBĪBAS AR RINDĀM
+
+
+		   ** Ievadiet   dd   lai izdzēstu visu teksta rindu. **
+
+  Tā kā veselas rindas izdzēšana ir izplatīta darbība, Vi dizaineri nolēma
+  tās dzēšanu realizēt ar dubultu d ievadīšanu.
+
+  1. Pārvietojiet kursoru uz otro rindu ar atzīmi --->
+  2. Ievadiet  dd  lai izdzēstu rindu.
+  3. Pārvietojiet kursoru uz ceturto rindu.
+  4. Ievadiet  2dd   lai izdzēstu divas rindas.
+
+--->  1)  Astoņi kustoņi,
+--->  2)  astoņi kustoņi,
+--->  3)  kas tos astoņus kustoņus pirks?
+--->  4)  Zirgs.
+--->  5)  Astoņi kustoņi,
+--->  6)  astoņi kustoņi,
+--->  7)  kas tos astoņus kustoņus pirks?
+--->  8)  Cirks.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2.7 nodarbība: ATCELŠANAS KOMANDA
+
+
+   ** Lai atceltu darbību, spiediet  u  **
+   ** Lai atceltu visas darbības tekošajā rindā, spiediet  U  **
+
+  1. Pārvietojiet kursoru uz rindu ar atzīmi ---> un novietojiet to uz
+     pirmās kļūdas.
+  2. Pārvietojiet kursoru un ievadiet  x  lai izdzēstu visus liekos burtus.
+  3. Ievadiet  u  lai atceltu iepriekšējo komandu.
+  4. Šī darbība atcels iepriekšējo darbību, kuru veicāt, ievadot  x
+  5. Ievadiet  U  lai atgrieztos sākuma stāvoklī.
+  6. Ievadiet  u  vairākas reizes, lai atceltu  U  un iepriekšējās komandas.
+  7. Ievadiet  CTRL-R  t.i.:
+     nospiediet CTRL un, to neatlaižot, Shift un to neatlaižot un r
+     vairākas reizes, lai atceltu atcelšanas darbības.
+
+---> Iizlabojiet kļūudas šaajā riindā, aatceliet tās un aatceliet aatcelšanu.
+
+  8. Šīs ir svarīgas un noderīgas iespējas.
+     Tagad pārejiet uz 2. nodarbības apkopojumu.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    2. nodarbības APKOPOJUMS
+
+
+  1. Lai izdzēstu vārdu, uz kura atrodas kursors, ievada:    dw
+  2. Lai izdzēstu rindu no kursora līdz tās beigām, ievada:  d$
+  3. Lai izdzēstu visu rindu, ievada:                        dd
+  4. Lai atkārtotu kustības darbību, pirms tās ievada skaitli, piemēram:
+                                                             2w
+
+  5. Lai atkārtotu izmaiņu darbību, komandu formāts ir sekojošs:
+       operators   [skaitlis]   kustība
+     kur:
+       operators  - ir veicamā darbība, piemēram,  d  lai dzēstu
+       [skaitlis] - ir neobligāts darbības atkārtojumu skaits
+       kustība    - pārvieto kursoru tik tālu, cik ir veicama darbība, piem:
+                      w  lai pārvietotos par vienu vārdu,
+		      $  lai pārvietotos līdz rindas beigām u.tml.
+
+  6. Lai pārvietotos uz rindas sākumu, ievada:          0   (nulli)
+
+  7. Lai atceltu iepriekšējo darbību, ievada:           u  (mazo u)
+     Lai atceltu visas rindā veiktās izmaiņas, ievada:  U  (Shift+U)
+     Lai atceltu atcelšanas darbības, ievada:      CTRL-R  (Ctrl+Shift+r)
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    3.1 nodarbība: IEVIETOŠANAS DARBĪBA
+
+
+       ** Lai pēc kursora ievietotu iepriekš izdzēstu tekstu, spiediet  p  **
+
+  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
+
+  2. Ievadiet  dd  lai izdzēstu visu rindu un saglabātu to reģistrā.
+
+  3. Pārvietojiet kursoru uz c) rindu (virs vietas, kur būtu jāievieto
+     dzēstā rinda).
+
+  4. Spiediet  p  lai ievietotu reģistrā saglabāto rindu.
+
+  5. Atkārtojiet soļus 2 līdz 4 līdz rindas ir pareizajā secībā.
+
+---> d)  Zirgs.
+---> c)  kas tos astoņus kustoņus pirks?
+---> b)  astoņi kustoņi,
+---> a)  Astoņi kustoņi,
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    3.2 nodarbība: AIZVIETOŠANAS KOMANDA
+
+
+       ** Lai aizvietotu burtu ar citu, ievadiet r un nepieciešamo burtu. **
+
+  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
+
+  2. Pārvietojiet kursoru, lai iezīmētu pirmo nepareizo burtu.
+
+  3. Ievadiet  r  un tad burtu, uz kuru iezīmēto ir nepieciešams nomainīt.
+
+  4. Atkārtojiet soļus 2 un 3 līdz ir pirmā rinda atbilst otrajai rindai.
+
+--->  Iavadut šo rixdu, kuds ar nuspeedis napariizus teusteņus!
+--->  Ievadot šo rindu, kāds ir nospiedis nepareizus taustiņus!
+
+  5. Tagad dodieties uz 3.3. nodarbību.
+
+PIEZĪME: Atcerieties, ka jums ir jāmācās darbojoties,
+         nevis vienkārši mēģinot atcerēties!
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    3.3 nodarbība: IZMAIŅU DARBĪBA
+
+
+	   ** Lai izmainītu tekstu līdz vārda beigām, spiediet  ce  **
+
+  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->
+
+  2. Novietojiet kursoru virs pirmā Š vārdā Šma.
+
+  3. Ievadiet  ce  un izlabojiet vārdu uz pareizu (šajā gad. "Šīs").
+
+  4. Spiediet <ESC> un pārvietojiet kursoru uz nākamo maināmo vārdu.
+
+  5. Atkārtojiet soļus 3 un 4 līdz pirmā un otrā rinda ir vienādas.
+
+---> Šma rindas vamula nepieciešams šimahaļ, lietojot šašābiļabita darbību.
+---> Šīs rindas vārdus nepieciešams izlabot, lietojot izmainīšanas darbību.
+
+Ievērojiet, ka pēc  ce  un vārda ievades jūs paliekat ievietošanas režīmā.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    3.4 nodarbība: CITAS MAINĪŠANAS DARBĪBAS AR c
+
+
+     ** Izmaiņu kustības operatoru lieto tieši tāpat kā dzēšanai. **
+
+  1. Izmaiņu kustības operators darbojas tāpat kā dzēšanai. Formāts ir:
+
+         c    [skaitlis]   kustība
+
+  2. Var lietot tos pašus kustības operatorus  w (vārds) un  $ (rindas beigas).
+
+  3. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->.
+
+  4. Pārvietojiet kursoru uz pirmo kļūdu.
+
+  5. Ievadiet  c$ rakstiet nomaināmo tekstu līdz rindas beigām un spiediet <ESC>.
+
+---> Šī teksta beigas nepieciešams izlabot, lietojot c$ komandu.
+---> Šī teksta beigas nepieciešams izlabot, lietojot c$ šari-vari-traļi-muļi.
+
+PIEZĪME:  Lai labotu nepareizi ievadītu tekstu, spiediet <BACKSPACE> taustiņu.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    3. NODARBĪBAS APKOPOJUMS
+
+
+  1. Lai ievietotu izdzēsto tekstu, spiediet  p  taustiņu. Ar to ievietosiet
+     dzēsto tekstu PĒC kursora. (Ja bija izdzēsta vesela rinda, tā tiks
+     ievietota rindā VIRS kursora.)
+
+  2. Lai izmainītu burtu zem kursora, spiediet  r  un pēc tam
+     jums nepieciešamo rakstzīmi.
+
+  3. Izmaiņu operators ļauj jums nomainīt tekstu no kursora līdz
+     kustības operatora norādītajai vietai. Piemēram,
+     ievadot  ce  jūs izmaināt tekstu no kursora līdz VĀRDA beigām, bet
+     ievadot  c$  jūs nomaināt tekstu no kursora līdz RINDAS beigām.
+
+  4. Izmaiņu komandas formāts ir:
+
+	 c   [skaitlis]   kustība
+
+Tagad dodieties uz nākamo nodarbību.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4.1 nodarbība: KURSORA VIETA FAILĀ UN FAILA STATUSS
+
+  ** Lai noteiktu kursora atrašanās vietu failā un faila statusu, spiediet  CTRL-g
+     Lai pārvietotu kursoru uz noteiktu faila rindu, spiediet  G  **
+
+  PIEZĪME: Pirms pildīt šo uzdevumu, izlasiet visas tā darbības līdz beigām!
+
+  1. Spiediet Ctrl taustiņu, un neatlaižot to, spiediet g  saīsināti CTRL-g.
+     Redaktora ekrāna apakšā parādīsies statusa rinda, ar faila statusu
+     un rindu kurā atrodas kursors, kā arī citu informāciju.
+     Atcerieties šo vietu, lai izpildītu 3. darbību.
+
+PIEZĪME: Jūs varat redzēt kursora atrašanās vietu failā vienmēr ekrāna
+       labajā apakšējā stūrī, ja redaktoram ir ieslēgta ruler opcija.
+       (Skatiet palīdzību par šo komandu, ievadot  :help 'ruler')
+
+  2. Lai pārvietotu kursoru uz faila beigām, ievadiet  G
+     Lai pārvietotu kursoru uz faila sākumu, ievadiet  gg
+
+  3. Ievadiet iepriekš iegaumētās rindas numuru un tad ievadiet  G
+     Ar šo jūs pārvietosiet kursoru atpakaļ rindā, kurā jūs sākāt
+     šo nodarbību.
+
+  4. Atkārtojiet darbības 1. — 3. tik ilgi, kamēr droši atceraties šīs komandas.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4.2 nodarbība: MEKLĒŠANAS KOMANDA
+
+
+     ** Lai meklētu tekstā, spiediet  /  un ievadiet meklējamo frāzi. **
+
+  1. Normālajā režīmā spiediet  /  taustiņu. Ievērojiet, ka kursors pārvietojas
+     uz redaktora apakšējo rindu, līdzīgi, kā nospiežot taustiņu  :
+     lai ievadītu dažādas komandas.
+
+  2. Tad ievadiet vārdu  kļūūūda  un spiediet <ENTER>.
+     Ar šo jūs izgaismosiet atrasto meklējamo redaktorā.
+
+  3. Lai atrastu nākošo vārdu, spiediet  n  taustiņu.
+     Lai pārvietotu kursoru uz nākamo atrasto vietu tekstā uz augšu,
+     ievadiet  N
+
+  4. Lai meklētu frāzi augšupejošā virzienā  /  vietā lietojiet  ?
+
+  5. Lai atgrieztos uz vietu, kurā sākāt meklēšanu, spiediet CTRL-O
+     (spiediet Ctrl, tad, to neatlaižot spiediet arī o). To var turpināt,
+     lai dotos tālāk atpakaļ, vai arī spiest CTRL-i, lai dotos uz priekšu.
+
+--->  "kļūūūda" nav pareizs vārds; kļūda ir vienkārši kļūda.
+
+PIEZĪME: Ja ir atrasta pēdējā meklējamā frāze faila beigās vai sākumā,
+      pēc nākamā meklējuma tiks atrasta pirmā/pēdējā faila sākumā/beigās,
+      ja vien nav atslēgta wrapscan opcija.
+
+PIEZĪME: Ja vairs nevēlaties izgaismot meklējamo tekstu, spiediet  /
+      un ievadiet nesakarīgu/neatrodamu frāzi. (VIM speciālisti parasti
+      piekārto savu taustiņu kombināciju šai darbībai.)
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4.3 nodarbība: SAISTĪTO IEKAVU MEKLĒŠANA
+
+
+	      ** Lai atrastu saistīto ),], vai } iekavu, ievadiet  %  **
+
+  1. Novietojiet kursoru uz iekavām (, [, { rindā ar atzīmi --->.
+
+  2. Ievadiet % simbolu.
+
+  3. Kursors pārvietosies uz izvēlētajai iekavai atbilstošo pretējo iekavu.
+
+  4. Ievadiet % lai pārvietotos atpakaļ uz atbilstošo pretējo iekavu.
+
+  5. Pārvietojiet kursoru uz cita veida iekavu (,),[,],{ or } un pārbaudiet,
+     kas notiek atkārtoti ievadot %
+
+---> Šī ir (testa rinda ar dažādām (-veida, [-veida] un {-veida} iekavām.))
+
+
+PIEZĪME: Šī iespēja ir ļoti noderīga, lai pārbaudītu nelīdzsvarotas iekavas
+         programmas kodā
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4.4 nodarbība: AIZVIETOŠANAS KOMANDA
+
+
+	** Ievadiet  :s/vecais/jaunais/g  lai aizvietotu 'vecais' ar 'jaunais'. **
+
+  1. Novietojiet kursoru rindā ar atzīmi --->.
+
+  2. Ievadiet :s/ss/s<ENTER>
+     Ievērojiet, ka šī komanda nomaina tikai pirmo atrasto frāzi.
+
+  3. Tagad ievadiet :s/ss/s/g<ENTER>
+     Ievērojiet, ka slēdzis g liek aizvietot frāzi visās atrastajās vietās.
+
+---> visslabākaiss laikss vērot ziedus ir pavassariss.
+
+  4. Aizvietošanas komandai var norādīt darbības diapazonu:
+
+     ievadiet :#,#s/vecais/jaunais/g  kur #,# ir diapazona sākuma un beigu rinda
+     ievadiet :%s/vecais/jaunais/g    lai aizvietotu frāzi visā failā
+     ievadiet :%s/vecais/jaunais/gc   lai aizvietotu visā failā ar uzaicinājumu
+                                      apstiprināt katru aizvietošanu
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4.5 nodarbība: DARBĪBAS ATKĀRTOŠANA
+
+       ** Lai atkārtotu iepriekšējo darbību, spiediet  .  **
+
+  Atšķirībā no citiem teksta redaktoriem, Vim par vienu darbību uzskata
+  vairāku ievadīto komandu virkni ārpus normālā režīma (t.i. ievietošanas,
+  aizstāšanas u.tml.). Tas ļauj viegli atkārtot sarežģītas darbības, spiežot
+  .  taustiņu.
+
+  1. Pārliecinieties, ka esat normālajā režīmā, spiežot <ESC>.
+
+  2. Sameklējiet pirmo skaitli rindā ar --->, ievadot:  /11 
+
+  3. Ievadiet komandu 2sll un atgriezieties normālajā režīmā.
+
+  4. Lai sameklētu nākamo skaitli un atkārtotu iepriekšējo aizstāšanas darbību,
+     spiediet:  n.
+
+---> ba11e ce11e ha11e le11e ka11a mu11a nu11e ra11ijs šte11e ti11s ze11is
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    4. nodarbības APKOPOJUMS
+
+  1. CTRL-G   statusa rindā parāda faila nosaukumu, statusu un kursora atrašanās
+              vietu
+              G  pārvieto kursoru uz faila beigām.
+     skaitlis G  pārvieto kursoru uz norādīto rindu.
+              gg pārvieto kursoru uz faila sākumu.
+
+  2. Ievadot  / un frāzi, to meklē failā uz priekšu
+     Ievadot  ? un frāzi, to meklē failā atpakaļ
+     Pēc pirmās atrastās frāzes, spiežot n sameklē nākamo frāzi tajā pašā virzienā
+     vai arī, spiežot N, sameklē nākamo frāzi pretējā virzienā.
+     CTRL-o pārvieto kursoru uz iepriekšējo izmaiņu vietu, CTRL-i uz nākamo vietu.
+     .  atkārto iepriekšējo darbību, ko var apvienot ar meklēšanu:  n. vai  N.
+
+  3. Ja kursors atrodas uz  (,),[,],{, vai }, ievadot % kursors pārvietojas uz
+     pretējo iekavu.
+
+  4. Lai aizvietotu frāzi tekošajā rindā vienreiz, ievadiet: :s/vecais/jaunais
+     Lai aizvietotu visas frāzes tekošajā rindā, ievadiet:   :s/vecais/jaunais/g
+     Lai aizvietotu visas frāzes starp norādītajām rindām:   :#,#s/vecais/jaunais/g
+     Lai aizvietotu visas frāzes failā, ievadiet:            :%s/vecais/jaunais/g
+     Lai aizvietotu visas frāzes failā ar apstiprinājumu:    :%s/vecais/jaunais/gc
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    5.1 nodarbība: KĀ IZPILDĪT ĀRĒJU KOMANDU
+
+
+   ** Ievadiet :! un pēc tam sekojošo ārējo komandu. **
+
+  1. Nospiediet ierasto  :  lai parādītu uzaicinājumu statusa rindā
+
+  2. Šajā rindā ievadiet !  (izsaukuma zīmi). Tā norāda VIM, ka būs jāizpilda
+     ārēja (komandrindas čaulas) komanda
+
+  3. Pēc tam ievadiet, piemēram  ls un spiediet <ENTER>
+     Šī komanda ekrāna apakšējā daļā parādīs failu sarakstu.
+     Ja lietojat Windows, ls komandas vietā ievadiet dir
+
+PIEZĪME: Izsaucamās komandas izpilda nospiežot <ENTER> taustiņu, kopš šī brīža
+         mēs to vairs īpaši neuzsvērsim. Lai aizvērtu komandas izvadīto saturu,
+         arī jāspiež <ENTER> taustiņš.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    5.2 nodarbība: VAIRĀK PAR FAILU SAGLABĀŠANU
+
+   ** Lai saglabātu failu ar noteiktu nosaukumu, ievadiet :w NOSAUKUMS **
+
+  1. Ievadiet  :!ls  (vai :!dir), lai apskatītu failu sarakstu.
+     Atcerieties, ka pēc komandu nosaukuma ievades jānospiež <ENTER>!
+
+  2. Izdomājiet jaunu faila nosaukumu, piemēram, test
+
+  3. Tagad ievadiet:  :w test1  (kur test ir jūsu izvēlētais faila nosaukums)
+
+  4. Šī komanda saglabās vim pamācību failā test
+     Lai pārbaudītu, ievadiet  :!ls  vai  :!dir un sameklējiet failu sarakstā
+
+PIEZĪME: Ja jūs iziesiet no vim un palaidīsiet to ar komandu  vim test
+     vim atvērs jūsu saglabāto test failu.
+
+  5. Tagad izdzēsiet šo failu, ievadot komandu:    :!rm test
+     Vai, ja lietojat Windows, komandu:            :!del test
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    5.3 nodarbība: TEKSTA DAĻĒJA SAGLABĀŠANA
+
+	** Lai saglabātu tikai daļu no faila, ievadiet:  v  kustība :w fails **
+
+  1. Pārvietojiet kursoru uz šo rindu
+
+  2. Spiediet  v  un pārvietojiet kursoru līdz piektajam punktam.
+
+  3. Spiediet  :  simbolu.  Statusa rindā parādīsies  :'<,'>
+
+  4. Ievadiet  w test  kur test ir izvēlētais faila nosaukums.
+     Pirms spiest <ENTER>, pārliecinieties, ka  redzat :'<,'>w test
+
+  5. Vim saglabās iezīmēto tekstu failā test.
+     Neizdzēsiet šo failu, mēs to izmantosim nākošajā nodarbībā!
+
+PIEZĪME: Spiežot v VIM pārslēdzas vizuālā iezīmēšanas režīmā. Jūs varat izmantot
+       kursora pārvietošanas komandas, lai iezīmētu nepieciešamo tekstu.
+       Pēc teksta iezīmēšanas, jūs varat izmantot dažādus operatorus, lai
+       kaut ko darītu ar iezīmēto tekstu. Piemēram, spiežot  d  jūs izdzēsīsit
+       iezīmēto tekstu.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    5.4 nodarbība: FAILU SATURA IEGŪŠANA UN APVIENOŠANA
+
+       ** Lai ievietotu faila saturu, ievadiet  :r fails  **
+
+  1. Novietojiet kursoru tieši virs šīs rindas.
+
+PIEZĪME:  Pēc 2. soļa izpildes, jūs redzēsiet tekstu no 5.3 nodarbības.
+       Pēc tam pārvietojiet kursoru uz leju, lai lasītu tālāk šīs
+       nodarbības saturu.
+
+  2. Iegūstiet test faila saturu, ievadot komandas   :r test
+     kur test ir jūsu iepriekšējā nodarbībā saglabātais fails.
+     Ielasītā faila saturs tiek ievietots zem kursora.
+
+  3. Lai pārbaudītu, ka darbība ir izdevusies, pārliecinieties, ka 5.4
+     nodarbības aprakstā ir saturs no 5.3 nodarbības.
+
+PIEZĪME: Jūs varat ievadīt saturu failā, izpildot ārēju komandu.
+       Piemēram, ar komandu   :r !ls
+       jūs ievietosiet failā tekošās mapes failu sarakstu.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    5. nodarbības APKOPOJUMS
+
+  1.  :!komanda  izpilda ārēju komandu
+
+      Daži noderīgi piemēri:
+	 (MS-DOS)         (Unix)
+	  :!dir            :!ls         -  parāda mapes saturu
+	  :!del fails      :!rm fails   -  izdzēš norādīto failu
+
+  2.  :w fails  saglabā tekošo failu failā ar norādīto nosaukumu.
+
+  3.  v  kustība :w fails  saglabā vizuāli iezīmēto tekstu norādītajā failā.
+
+  4.  :r fails  ielasa faila saturu tekošajā failā zem kursora.
+
+  5.  :r !ls  ielasa izpildītās komandas atgriezto saturu failā zem kursora.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6.1 nodarbība: ATVĒRŠANAS KOMANDA
+
+ ** Ievadiet o  lai ievadītu jaunu rindu virs kursora un pārietu ievades režīmā. **
+
+  1. Pārvietojiet kursoru uz rindu ar atzīmi --->.
+
+  2. Ievadiet mazo  o  lai ievadītu jaunu rindu virs kursora un pārslēgtos
+     ievades režīmā.
+
+  3. Ievadiet kādu tekstu un spiediet <ESC>, lai izietu no ievades režīma.
+
+---> Ievadot  o  izveidosiet rindu virs šīs un pāriesiet ievades režīmā.
+
+  4. Lai izveidotu rindu ZEM kursora, ievadiet lielo  O.
+
+---> Ievadot  O  izveidosiet rindu zem šīs un pāriesiet ievades režīmā.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6.2 nodarbība: PIEVIENOŠANAS KOMANDA
+
+	     ** Ievadiet  a  lai ievietotu jaunu tekstu PĒC kursora. **
+
+  1. Pārvietojiet kursoru uz pirmo rindu ar atzīmi --->.
+
+  2. Spiediet  e līdz kursors ir pirmā nepabeigtā vārda beigās.
+
+  3. Ievadiet  a  (mazo a), lai pievienotu tekstu pēc kursora.
+
+  4. Ievadiet tekstu, lai abas rindas ar atzīmi ---> sakrīt.
+     Spiediet <ESC>, lai pārietu normālajā režīmā.
+
+  5. Ievadiet e, lai novietotu kursoru nākamā nepabiegtā vārda beigās,
+     un atkārtojiet soļus 3 un 4.
+
+---> Šī rin ju palīd praktiz tekst pievienoš vārd bei
+---> Šī rinda jums palīdzēs praktizēties teksta pievienošanā vārdu beigās.
+
+PIEZĪME:  No normālā režīma pāriet uz ievades režīmu ievadot a, i, A un I.
+       Atšķirība ir tikai tā, kur tiek uzsākta teksta ievade: a – pēc kursora,
+       i — pirms kursora, A — rindas beigās, I — rindas sākumā.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6.3 nodarbība: VĒL VIENS AIZVIETOŠANAS VEIDS
+
+      ** Lai aizvietotu vairāk kā vienu rakstzīmi, spiediet R **
+
+  1. Pārvietojiet kursoru uz rindu ar atzīmi --->.
+
+  2. Pārvietojiet kursoru uz pirmo no xxx
+
+  3. Spiediet  R  un ievadiet skaitli, kas norādīts apakšējā rindā tā,
+     lai ievadītie cipari pārraksta xxx.
+
+  4. Lai izietu no aizvietošanas režīma, spiediet <ESC>.
+     Pārliecinieties, ka pārējais rindas saturs nav izmainīts.
+
+  5. Atkārtojiet 2. — 4. soļa darbības, lai līdzīgi aizvietotu pārējos xxx.
+
+---> Saskaitot xxx ar xxx iegūstam xxx.
+---> Saskaitot 123 ar 456 iegūstam 579.
+
+PIEZĪME: Aizvietošanas režīms darbojas līdzīgi ievietošanas režīmam, ar
+         tikai ievadītās rakstzīmes aizvieto esošās.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6.4 nodarbība: TEKSTA KOPĒŠANA UN IEVIETOŠANA
+
+	  ** Lai kopētu tekstu, izmantojiet y, bet lai ievietotu — p **
+
+  1. Pārvietojiet kursoru uz rindu ar atzīmi ---> un novietojiet kursoru
+     pēc "a)"
+
+  2. Ieslēdziet vizuālo režīmu, spiežot v un pārvietojiet kursoru līdz
+     "pirmais" (to neskaitot)
+
+  3. Spiediet  y  lai iekopētu izcelto tekstu
+
+  4. Pārvietojiet kursoru uz nākamās rindas beigām, spiežot j$
+
+  5. Spiediet  p lai ievietotu nokopēto tekstu. Pēc tam spiediet <ESC>
+
+  6. Ierakstiet otrās rindas beigās vārdu "otrais"
+
+  7. Līdzīgi, lietojot v y un p, nokopējiet vārdu "simtdivdesmitpiecgadnieks",
+     lai iegūtu rindu: šis ir otrais simtdivdesmitpiecgadnieks.
+
+--->  a) šis ir pirmais simtdivdesmitpiecgadnieks.
+      b)
+
+  PIEZĪME: y var lietot kopā ar pārvietošanās operatoru, piemēram,
+           spiežot yw var nokopēt izvēlēto vārdu.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6.5 nodarbība: IESTATĪJUMU MAIŅA
+
+ ** Iestatiet meklēšana un aizstāšana, neievērojot lielos/mazos burtus **
+
+  1. Sameklējiet vārdu 'neievērot', ievadot:   /neievērot  <ENTER>
+     Atkārtojiet meklēšanu, spiežot n
+
+  2. Iestatiet 'ic' (Neievērot lielos/mazos burtus) iestatījumu, ievadot:  :set ic
+
+  3. Tagad sameklējiet 'neievērot' atkārtoti, spiežot  n
+     Ievērojiet, ka tiek atrasti vārdi Neievērot un NEIEVĒROT.
+
+  4. Iestatiet 'hlsearch' un 'incsearch' opcijas, ievadot:  :set hls is
+
+  5. Ievadiet atkal sekojošo komandu, un skatieties, kas notiek:  /neievērot <ENTER>
+
+  6. Lai atceltu lielo/mazo burtu neievērošanu, ievadiet:   :set noic
+
+PIEZĪME:  Lai atceltu atrasto vietu izcelšanu, ievadiet:    :nohlsearch
+PIEZĪME:  Ja vēlaties meklēt gan lielos, gan mazos burtus vienā meklējumā,
+          ievadiet papildu komandu  \c
+          Piemēram:   /neievērot\c  <ENTER>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    6. nodarbības APKOPOJUMS
+
+  Lai pārietu uz ievietošanas režīmu un:
+
+  1. lai ievietotu jaunu rindu zem tekošās, ievadiet   o
+     lai ievietotu jaunu rindu virs tekošās, ievadiet  O
+
+  2. Lai ievietotu tekstu pēc kursora, ievadiet        a
+     Lai ievietotu tekstu rindas beigās, ievadiet      A
+
+  Normālajā režīmā:
+
+  3.  e  komanda pārvieto kursoru uz vārda beigām.
+
+  4.  y  komanda nokopē tekstu, bet  p  komanda ievieto to.
+
+  5.  R  ieslēdz aizvietošanas režīmu, līdz tiek nospiests <ESC>.
+
+  6. Ievadot ":set xxx" iestata "xxx" opciju. Dažas no tām ir sekojošas:
+        'ic' 'ignorecase'       meklējot neievēro lielos/mazos burtus.
+	'is' 'incsearch'        uzreiz meklē daļēji ievadīto frāzi.
+	'hls' 'hlsearch'        izgaismo atrastās frāzes.
+     Var norādīt gan īso, gan garo opcijas nosaukumu.
+
+  7. Lai opciju izslēgtu, pievieno priedēkli "no". Piemēram,  :set noic
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    7.1 nodarbība: PALĪDZĪBAS IEGŪŠANA
+
+
+		      ** Iebūvētās palīdzības izmantošana **
+
+  Vim ir plaša iebūvētā palīdzības sistēma. Lai sāktu to lietot, ievadiet vieno
+  no sekojošām komandām:
+	- spiediet <HELP> taustiņu (ja jūsu tastatūrā tāds pastāv)
+	- spiediet <F1> taustiņu (ja jūsu tastatūrai ir tāds)
+	- ievadiet   :help <ENTER>
+
+  Izlasiet palīdzības aprakstu, lai saprastu, kā tas darbojas.
+  Ievadiet  CTRL-W CTRL-W   lai pārslēgtos uz citu logu.
+  Ievadiet  :q <ENTER>      lai aizvērtu palīdzības logu.
+
+  Jūs varat atrast konkrētu palīdzību par jebkuru komandu, ievadot:
+  ":help" komanda.  Piemēram (neaizmirstiet komandas beigās nospiest <ENTER>):
+
+	:help w
+	:help c_CTRL-D
+	:help insert-index
+	:help user-manual
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    7.2 nodarbība: IZVEIDOJIET SĀKŠANAS SKRIPTU
+
+			  ** Ieslēdziet Vim iespējas **
+
+  Vim ir daudz plašākas iespējas, nekā Vi, bet vairums no tām,
+  pēc noklusēšanas, nav ieslēgtas. Lai tās ieslēgtu, izveidojiet "vimrc" failu.
+
+  1. Atkarībā no lietotās operētājsistēmas, atveriet "vimrc" failu sekojoši:
+	:e ~/.vimrc             Unix-veidīgā (t.sk. MacOS un Linux)
+	:e $VIM/_vimrc          VMS-veidīgā (t.sk. MS-Windows)
+
+  2. Ielasiet "vimrc" šablona faila saturu, ievadot:
+	:r $VIMRUNTIME/vimrc_example.vim
+
+  3. Saglabājiet šablona saturu savā iestatījumu failā:
+	:w
+
+  Kad nākamo reizi atvērsiet Vim, tajā tiks izmantota sintakses izgaismošana.
+  Jūs varat ievietot arī citas iestatījumu iespējas savā "vimrc" failā.
+  Papildu informācijai ievadiet   :help vimrc-intro
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    7.3 nodarbība: AUTOMĀTISKĀ PABEIGŠANA
+
+      ** Automātisko pabeigšanu komandrindā izsauc ar CTRL-D un <TAB> **
+
+  1. Pārliecinieties, ka Vim ir ar Vi nesavietojamā režīmā:  :set nocp
+
+  2. Apskatiet tekošās mapes saturu Vim, ievadot:   :!ls   vai  :!dir
+
+  3. Ievadiet komandas sākumu ar:  :e
+
+  4. Spiediet CTRL-D  un Vim parādīs visas komandas, kuras sākas ar "e".
+
+  5. Spiediet <TAB>   un Vim automātiski pabeigs komandu uz ":edit".
+
+  6. Spiediet atstarpes taustiņu un sāciet ievadīt faila nosaukumu,
+     piemēram:  :edit FIL
+
+  7. Spiediet <TAB>   un Vim pabeigs faila nosaukumu,
+     ja norādītais sākums ir unikāls.
+
+PIEZĪME:  Pabeigšana strādā dažādām komandām.
+          Vienkārši mēģiniet spiest CTRL-D un <TAB>.
+          Šī iespēja var būt īpaši noderīga, ievadot  :help .
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    7. nodarbības APKOPOJUMS
+
+
+  1. Lai atvērtu palīdzības logu, ievadiet  :help  vai spiediet <F1> vai <Help>
+
+  2. Lai atvērtu palīdzību par "komanda", ievadiet  :help komanda
+
+  3. Lai pārslēgtos uz citu logu, spiediet:  CTRL-W CTRL-W
+
+  4. Lai aizvērtu tekošo logu, ievadiet:    :q
+
+  5. Izveidojiet savu "vimrc" sākšanas skriptu ar saviem iestatījumiem.
+
+  6. Ievadot  :  komanda  spiediet CTRL-D, lai apskatītu iespējamos pabeigšanas
+     veidus. Lai pabeigtu komandu, spiediet <TAB> .
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  Ar šo Vim ievads ir pabeigts. Tajā tika sniegts īss Vim redaktora apraksts,
+  ar kuru pietiek, lai Vim lietotu vienkāršām darbībām.
+  Vim iespējas ir daudz plašākas, un tajā ir daudz vairāk komandu. Lai apskatītu
+  tās,  ievadiet:  ":help user-manual".
+
+  Tālākai apmācībai tiek rekomendētas sekojošas grāmatas:
+
+  Vim - Vi Improved, Steve Oualline, New Riders
+
+  Šī grāmata ir tieši par Vim, un ir ļoti ieteicama iesācējiem.
+  Daudzi piemēri un attēli no tās pieejami: http://iccf-holland.org/click5.html
+
+  Otra, vecāka grāmata ir par Vi, nevis Vim, bet arī ir ļoti noderīga:
+
+  Learning the Vi Editor, Linda Lamb, O'Reilly & Associates Inc.
+
+  Tajā ir visplašākais Vi iespēju apraksts, grāmatas sestajā laidienā ir
+  aprakstītas arī Vim iespējas.
+
+  Šīs pamācības variantu angļu valodā izveidoja:
+
+  * Michael C. Pierce,
+  * Robert K. Ware,
+  * Charles Smith,
+  * Bram Moolenaar.
+
+  Pamācību latviešu valodā tulkoja:
+
+  * Valdis Vītoliņš
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.vim
+++ b/runtime/tutor/tutor.vim
@@ -59,7 +59,7 @@ if s:ext =~? '\.en'
   let s:ext = ""
 endif
 
-" The japanese tutor is available in two encodings, guess which one to use
+" The Japanese tutor is available in three encodings, guess which one to use
 " The "sjis" one is actually "cp932", it doesn't matter for this text.
 if s:ext =~? '\.ja'
   if &enc =~ "euc"
@@ -69,7 +69,7 @@ if s:ext =~? '\.ja'
   endif
 endif
 
-" The korean tutor is available in two encodings, guess which one to use
+" The Korean tutor is available in two encodings, guess which one to use
 if s:ext =~? '\.ko'
   if &enc != "utf-8"
     let s:ext = ".ko.euc"
@@ -169,15 +169,6 @@ if s:ext =~? '\.hr'
   endif
 endif
 
-" Esperanto is only available in utf-8
-if s:ext =~? '\.eo'
-  let s:ext = ".eo.utf-8"
-endif
-" Vietnamese is only available in utf-8
-if s:ext =~? '\.vi'
-  let s:ext = ".vi.utf-8"
-endif
-
 " If 'encoding' is utf-8 s:ext must end in utf-8.
 if &enc == 'utf-8' && s:ext !~ '\.utf-8'
   let s:ext .= '.utf-8'
@@ -190,6 +181,9 @@ let s:tutorxx = $VIMRUNTIME . s:tutorfil
 " 3. Finding the file:
 if filereadable(s:tutorxx)
   let $TUTOR = s:tutorxx
+elseif s:ext !~ '\.utf-8' && filereadable(s:tutorxx . ".utf-8")
+  " Fallback to utf-8 if available.
+  let $TUTOR = s:tutorxx . ".utf-8"
 else
   let $TUTOR = $VIMRUNTIME . s:tutorfile
   echo "The file " . s:tutorxx . " does not exist.\n"