Changeset 44767e0


Ignore:
Timestamp:
Oct 13, 2006, 1:06:50 AM (18 years ago)
Author:
Jim Gifford <clfs@…>
Branches:
clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
714b206
Parents:
f1eafe24
Message:

Updated vim.patch

File:
1 moved

Legend:

Unmodified
Added
Removed
  • patches/vim-7.0-fixes-14.patch

    rf1eafe24 r44767e0  
    11Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
    2 Date: 2006-09-18
     2Date: 2006-10-13
    33Initial Package Version: 7.0
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains Patch 001-004, 006-026, 028-031, 033-044, 036-056,
    7         058-064, 066-073, 075-107, and 109  from Upstream
    8         005, 027, 032, 045, 057, 066, 074, 108  are for the extras, Mac, or
    9         Windows 32 only
     6Description: Contains all upstream patches up to 7.0.132
     7             The following patches were skipped
     8                005 027 028 032 045 057 065 074 108 130 131 132
    109
    1110diff -Naur vim70.orig/configure vim70/configure
    1211--- vim70.orig/configure        2004-07-05 02:02:24.000000000 -0700
    13 +++ vim70/configure     2006-08-09 08:37:06.000000000 -0700
     12+++ vim70/configure     2006-10-13 01:02:48.000000000 -0700
    1413@@ -3,4 +3,4 @@
    1514 # This is just a stub for the Unix configure script, to provide support for
     
    2019diff -Naur vim70.orig/runtime/autoload/ccomplete.vim vim70/runtime/autoload/ccomplete.vim
    2120--- vim70.orig/runtime/autoload/ccomplete.vim   2006-05-03 07:35:56.000000000 -0700
    22 +++ vim70/runtime/autoload/ccomplete.vim        2006-07-14 08:51:21.000000000 -0700
     21+++ vim70/runtime/autoload/ccomplete.vim        2006-10-13 01:02:42.000000000 -0700
    2322@@ -1,7 +1,7 @@
    2423 " Vim completion script
     
    4140diff -Naur vim70.orig/runtime/autoload/gzip.vim vim70/runtime/autoload/gzip.vim
    4241--- vim70.orig/runtime/autoload/gzip.vim        2006-03-31 07:12:15.000000000 -0800
    43 +++ vim70/runtime/autoload/gzip.vim     2006-08-09 08:37:36.000000000 -0700
     42+++ vim70/runtime/autoload/gzip.vim     2006-10-13 01:03:07.000000000 -0700
    4443@@ -1,6 +1,6 @@
    4544 " Vim autoload file for editing compressed files.
    4645 " Maintainer: Bram Moolenaar <Bram@vim.org>
    4746-" Last Change: 2006 Mar 31
    48 +" Last Change: 2006 Jul 19
     47+" Last Change: 2006 Oct 03
    4948 
    5049 " These functions are used by the gzip plugin.
    5150 
     51@@ -68,9 +68,9 @@
     52   let tmp = tempname()
     53   let tmpe = tmp . "." . expand("<afile>:e")
     54   " write the just read lines to a temp file "'[,']w tmp.gz"
     55-  execute "silent '[,']w " . tmpe
     56+  execute "silent '[,']w " . escape(tmpe, ' ')
     57   " uncompress the temp file: call system("gzip -dn tmp.gz")
     58-  call system(a:cmd . " " . tmpe)
     59+  call system(a:cmd . " " . s:escape(tmpe))
     60   if !filereadable(tmp)
     61     " uncompress didn't work!  Keep the compressed file then.
     62     echoerr "Error: Could not read uncompressed file"
    5263@@ -127,9 +127,9 @@
    5364     let nmt = s:tempname(nm)
     
    5566       if exists("b:gzip_comp_arg")
    5667-       call system(a:cmd . " " . b:gzip_comp_arg . " " . nmt)
    57 +       call system(a:cmd . " " . b:gzip_comp_arg . " '" . nmt . "'")
     68+       call system(a:cmd . " " . b:gzip_comp_arg . " " . s:escape(nmt))
    5869       else
    5970-       call system(a:cmd . " " . nmt)
    60 +       call system(a:cmd . " '" . nmt . "'")
     71+       call system(a:cmd . " " . s:escape(nmt))
    6172       endif
    6273       call rename(nmt . "." . expand("<afile>:e"), nm)
    6374     endif
     75@@ -154,10 +154,10 @@
     76     if rename(nm, nmte) == 0
     77       if &patchmode != "" && getfsize(nm . &patchmode) == -1
     78        " Create patchmode file by creating the decompressed file new
     79-       call system(a:cmd . " -c " . nmte . " > " . nmt)
     80+       call system(a:cmd . " -c " . s:escape(nmte) . " > " . s:escape(nmt))
     81        call rename(nmte, nm . &patchmode)
     82       else
     83-       call system(a:cmd . " " . nmte)
     84+       call system(a:cmd . " " . s:escape(nmte))
     85       endif
     86       call rename(nmt, nm)
     87     endif
     88@@ -175,4 +175,12 @@
     89   return fnamemodify(a:name, ":p:h") . "/X~=@l9q5"
     90 endfun
     91 
     92+fun s:escape(name)
     93+  " shellescape() was added by patch 7.0.111
     94+  if v:version > 700 || (v:version == 700 && has('patch111'))
     95+    return shellescape(a:name)
     96+  endif
     97+  return "'" . a:name . "'"
     98+endfun
     99+
     100 " vim: set sw=2 :
    64101diff -Naur vim70.orig/runtime/autoload/paste.vim vim70/runtime/autoload/paste.vim
    65102--- vim70.orig/runtime/autoload/paste.vim       2006-04-21 11:31:01.000000000 -0700
    66 +++ vim70/runtime/autoload/paste.vim    2006-07-14 08:51:21.000000000 -0700
     103+++ vim70/runtime/autoload/paste.vim    2006-10-13 01:02:46.000000000 -0700
    67104@@ -1,6 +1,6 @@
    68105 " Vim support file to help with paste mappings and menus
     
    84121diff -Naur vim70.orig/runtime/autoload/spellfile.vim vim70/runtime/autoload/spellfile.vim
    85122--- vim70.orig/runtime/autoload/spellfile.vim   2006-02-01 04:12:24.000000000 -0800
    86 +++ vim70/runtime/autoload/spellfile.vim        2006-09-11 08:32:21.000000000 -0700
     123+++ vim70/runtime/autoload/spellfile.vim        2006-10-13 01:02:54.000000000 -0700
    87124@@ -1,9 +1,9 @@
    88125 " Vim script to download a missing spell file
     
    138175+  endif
    139176+endfunc
     177diff -Naur vim70.orig/runtime/doc/eval.txt vim70/runtime/doc/eval.txt
     178--- vim70.orig/runtime/doc/eval.txt     2006-05-07 05:16:44.000000000 -0700
     179+++ vim70/runtime/doc/eval.txt  2006-10-13 01:03:07.000000000 -0700
     180@@ -1,4 +1,4 @@
     181-*eval.txt*      For Vim version 7.0.  Last change: 2006 May 06
     182+*eval.txt*      For Vim version 7.0.  Last change: 2006 Sep 22
     183 
     184 
     185                  VIM REFERENCE MANUAL    by Bram Moolenaar
     186@@ -1709,6 +1709,8 @@
     187 settabwinvar( {tabnr}, {winnr}, {varname}, {val})    set {varname} in window
     188                                        {winnr} in tab page {tabnr} to {val}
     189 setwinvar( {nr}, {varname}, {val})     set {varname} in window {nr} to {val}
     190+shellescape( {string})         String  escape {string} for use as shell
     191+                                       command argument
     192 simplify( {filename})          String  simplify filename as much as possible
     193 sort( {list} [, {func}])       List    sort {list}, using {func} to compare
     194 soundfold( {word})             String  sound-fold {word}
     195@@ -4434,6 +4436,21 @@
     196                        :call setwinvar(1, "&list", 0)
     197                        :call setwinvar(2, "myvar", "foobar")
     198 
     199+shellescape({string})                                  *shellescape()*
     200+               Escape {string} for use as shell command argument.
     201+               On MS-Windows and MS-DOS, when 'shellslash' is not set, it
     202+               will enclose {string} double quotes and double all double
     203+               quotes within {string}.
     204+               For other systems, it will enclose {string} in single quotes
     205+               and replace all "'" with "'\''".
     206+               Example: >
     207+                       :echo shellescape('c:\program files\vim')
     208+<              results in:
     209+                       "c:\program files\vim" ~
     210+               Example usage: >
     211+                       :call system("chmod +x -- " . shellescape(expand("%")))
     212+
     213+
     214 simplify({filename})                                   *simplify()*
     215                Simplify the file name as much as possible without changing
     216                the meaning.  Shortcuts (on MS-Windows) or symbolic links (on
    140217diff -Naur vim70.orig/runtime/menu.vim vim70/runtime/menu.vim
    141218--- vim70.orig/runtime/menu.vim 2006-04-17 06:47:28.000000000 -0700
    142 +++ vim70/runtime/menu.vim      2006-09-18 08:56:52.000000000 -0700
     219+++ vim70/runtime/menu.vim      2006-10-13 01:03:05.000000000 -0700
    143220@@ -2,7 +2,7 @@
    144221 " You can also use this as a start for your own set of menus.
     
    207284diff -Naur vim70.orig/runtime/plugin/matchparen.vim vim70/runtime/plugin/matchparen.vim
    208285--- vim70.orig/runtime/plugin/matchparen.vim    2006-04-27 06:31:26.000000000 -0700
    209 +++ vim70/runtime/plugin/matchparen.vim 2006-09-11 09:04:35.000000000 -0700
     286+++ vim70/runtime/plugin/matchparen.vim 2006-10-13 01:02:59.000000000 -0700
    210287@@ -1,6 +1,6 @@
    211288 " Vim plugin for showing matching parens
     
    250327diff -Naur vim70.orig/runtime/scripts.vim vim70/runtime/scripts.vim
    251328--- vim70.orig/runtime/scripts.vim      2006-03-28 11:30:49.000000000 -0800
    252 +++ vim70/runtime/scripts.vim   2006-08-09 08:38:04.000000000 -0700
     329+++ vim70/runtime/scripts.vim   2006-10-13 01:02:48.000000000 -0700
    253330@@ -1,7 +1,7 @@
    254331 " Vim support file to detect file types in scripts
     
    275352diff -Naur vim70.orig/runtime/tutor/Makefile vim70/runtime/tutor/Makefile
    276353--- vim70.orig/runtime/tutor/Makefile   2004-06-07 07:32:39.000000000 -0700
    277 +++ vim70/runtime/tutor/Makefile        2006-09-11 09:26:16.000000000 -0700
     354+++ vim70/runtime/tutor/Makefile        2006-10-13 01:02:59.000000000 -0700
    278355@@ -2,8 +2,13 @@
    279356 #
     
    309386diff -Naur vim70.orig/runtime/tutor/tutor.gr.utf-8 vim70/runtime/tutor/tutor.gr.utf-8
    310387--- vim70.orig/runtime/tutor/tutor.gr.utf-8     1969-12-31 16:00:00.000000000 -0800
    311 +++ vim70/runtime/tutor/tutor.gr.utf-8  2006-09-11 09:26:16.000000000 -0700
     388+++ vim70/runtime/tutor/tutor.gr.utf-8  2006-10-13 01:02:59.000000000 -0700
    312389@@ -0,0 +1,815 @@
    313390+===============================================================================
    314 +=    Î. αλ Ï. Ï. ή ρ Ξ α Ï. ε    Ï. Ï. ο   V I M   T u t o r    -    Î.κΎοÏ.η 1.5     =
     391+=    Κ αλ ω σ ή ρ Ξ α τ ε    σ τ ο   V I M   T u t o r    -    ΈκΎοση 1.5     =
    315392+===============================================================================
    316393+
    317 +     Î. Vim είΜαι έΜαÏ. Ï.αΜίÏ.Ï.Ï.ροÏ. Ï.Ï.ÎœÏ.άκÏ.ηÏ. Ï.οÏ. έÏ.ει Ï.ολλέÏ. εΜÏ.ολέÏ., Ï.άρα
    318 +     Ï.ολλέÏ. για Μα εΟηγήÏ.οÏ.Όε Ï.ε Όία Ï.εριήγηÏ.η Ï.Ï.Ï.Ï. αÏ.Ï.ή. Î.Ï.Ï.ή η Ï.εριήγηÏ.η
    319 +     Ï.Ï.εΎιάÏ.Ï.ηκε για Μα Ï.εριγράÏ.ει ικαΜοÏ.οιηÏ.ικά Ï.ιÏ. εΜÏ.ολέÏ. Ï.οÏ. Ξα Ï.αÏ.
    320 +     ÎºÎ¬ÎœÎ¿Ï.Îœ Μα Ï.ρηÏ.ιΌοÏ.οιείÏ.ε εύκολα Ï.οΜ Vim Ï.αΜ έΜαΜ γεΜικήÏ. Ï.ρήÏ.ηÏ. Ï.Ï.ÎœÏ.άκÏ.η.
    321 +
    322 +     Î. καÏ.ά Ï.ροÏ.έγγιÏ.η Ï.ρÏ.ΜοÏ. Ï.οÏ. αÏ.αιÏ.είÏ.αι για Μα ολοκληρÏ.Ï.εÏ.ε Ï.ηΜ Ï.εριήγηÏ.η
    323 +     ÎµÎ¯ÎœÎ±Î¹ 25-30 λεÏ.Ï.ά, εΟαρÏ.Ï.ÎœÏ.αÏ. αÏ.Ï. Ï.ο Ï.Ï.Ï.ο Ï.ρÏ.Μο Ξα ΟοΎέÏ.εÏ.ε για
    324 +     Ï.ειραΌαÏ.ιÏ.ΌούÏ..
    325 +
    326 +     Î.ι εΜÏ.ολέÏ. Ï.Ï.α ΌαΞήΌαÏ.α Ξα Ï.ροÏ.οÏ.οιήÏ.οÏ.Îœ Ï.ο κείΌεΜο. Î.ηΌιοÏ.ργήÏ.Ï.ε έΜα
    327 +     Î±ÎœÏ.ίγραÏ.ο αÏ.Ï.ού Ï.οÏ. αρÏ.είοÏ. για Μα εΟαÏ.κηΞείÏ.ε (αΜ ΟεκιΜήÏ.αÏ.ε Ï.ο
    328 +     "Vimtutor" αÏ.Ï.Ï. είΜαι ήΎη έΜα αΜÏ.ίγραÏ.ο).
    329 +
    330 +     Î.ίΜαι Ï.ηΌαΜÏ.ικÏ. Μα ΞÏ.ΌάÏ.Ï.ε Ï.Ï.ι αÏ.Ï.ή η Ï.εριήγηÏ.η είΜαι οργαΜÏ.ΌέΜη έÏ.Ï.ι
    331 +     Ï.Ï.Ï.ε Μα ΎιΎάÏ.κει ΌέÏ.Ï. Ï.ηÏ. Ï.ρήÏ.ηÏ.. Î.Ï.Ï.Ï. Ï.ηΌαίΜει Ï.Ï.ι Ï.ρειάζεÏ.αι Μα
    332 +     ÎµÎºÏ.ελείÏ.ε Ï.ιÏ. εΜÏ.ολέÏ. για Μα Ï.ιÏ. ΌάΞεÏ.ε Ï.Ï.Ï.Ï.ά. Î.Îœ ΎιαβάζεÏ.ε ÎŒÏ.Μο Ï.ο
    333 +     ÎºÎµÎ¯ÎŒÎµÎœÎ¿, Ξα Ï.ιÏ. ΟεÏ.άÏ.εÏ.ε!
    334 +
    335 +     Î€Ï.ρα, βεβαιÏ.ΞείÏ.ε Ï.Ï.ι Ï.ο Ï.λήκÏ.ρο Shift-Lock Î.Î.Ν είΜαι Ï.αÏ.ηΌέΜο και
    336 +     Ï.αÏ.ήÏ.Ï.ε Ï.ο Ï.λήκÏ.ρο j αρκεÏ.έÏ. Ï.ορέÏ. για Μα ΌεÏ.ακιΜήÏ.εÏ.ε Ï.οΜ ΎροΌέα έÏ.Ï.ι
    337 +     Ï.Ï.Ï.ε Ï.ο Î.άΞηΌα 1.1 Μα γεΌίÏ.ει Ï.λήρÏ.Ï. Ï.ηΜ οΞÏ.Μη.
     394+     ÎŸ Vim είΜαι έΜας παΜίσχÏ
     395ρος σÏ
     396Μτάκτης ποÏ
     397 Î­Ï‡ÎµÎ¹ πολλές εΜτολές, πάρα
     398+     Ï€Î¿Î»Î»Î­Ï‚ για Μα εΟηγήσοÏ
     399Όε σε Όία περιήγηση όπως αÏ
     400τή. ΑÏ
     401τή η περιήγηση
     402+     ÏƒÏ‡ÎµÎŽÎ¹Î¬ÏƒÏ„ηκε για Μα περιγράψει ικαΜοποιητικά τις εΜτολές ποÏ
     403 ÎžÎ± σας
     404+     ÎºÎ¬ÎœÎ¿Ï
     405Îœ Μα χρησιΌοποιείτε εύκολα τοΜ Vim σαΜ έΜαΜ γεΜικής χρήσης σÏ
     406Μτάκτη.
     407+
     408+     ÎŸ κατά προσέγγιση χρόΜος ποÏ
     409 Î±Ï€Î±Î¹Ï„είται για Μα ολοκληρώσετε τηΜ περιήγηση
     410+     ÎµÎ¯ÎœÎ±Î¹ 25-30 λεπτά, εΟαρτώΜτας από το πόσο χρόΜο Ξα ΟοΎέψετε για
     411+     Ï€ÎµÎ¹ÏÎ±ÎŒÎ±Ï„ισΌούς.
     412+
     413+     ÎŸÎ¹ εΜτολές στα ΌαΞήΌατα Ξα τροποποιήσοÏ
     414Îœ το κείΌεΜο. ΔηΌιοÏ
     415ργήστε έΜα
     416+     Î±ÎœÏ„ίγραφο αÏ
     417τού τοÏ
     418 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     419 Î³Î¹Î± Μα εΟασκηΞείτε (αΜ ΟεκιΜήσατε το
     420+     "Vimtutor" αÏ
     421τό είΜαι ήΎη έΜα αΜτίγραφο).
     422+
     423+     Î•Î¯ÎœÎ±Î¹ σηΌαΜτικό Μα ΞÏ
     424Όάστε ότι αÏ
     425τή η περιήγηση είΜαι οργαΜωΌέΜη έτσι
     426+     ÏŽÏƒÏ„ε Μα ΎιΎάσκει Όέσω της χρήσης. ΑÏ
     427τό σηΌαίΜει ότι χρειάζεται Μα
     428+     ÎµÎºÏ„ελείτε τις εΜτολές για Μα τις ΌάΞετε σωστά. ΑΜ Ύιαβάζετε ΌόΜο το
     429+     ÎºÎµÎ¯ÎŒÎµÎœÎ¿, Ξα τις Οεχάσετε!
     430+
     431+     Î€ÏŽÏÎ±, βεβαιωΞείτε ότι το πλήκτρο Shift-Lock ΔΕΝ είΜαι πατηΌέΜο και
     432+     Ï€Î±Ï„ήστε το πλήκτρο j αρκετές φορές για Μα ΌετακιΜήσετε τοΜ ΎροΌέα έτσι
     433+     ÏŽÏƒÏ„ε το ΜάΞηΌα 1.1 Μα γεΌίσει πλήρως τηΜ οΞόΜη.
    338434+
    339435+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    340 +                     Î.άΞηΌα 1.1:  Î.Î.΀Î.Î.Î.ΝÎ.Ν΀Î.Σ ΀Î.Ν Î.ΡÎ.Î.Î.Î.
    341 +
    342 +  ** Î.ια Μα κιΜήÏ.εÏ.ε Ï.οΜ ΎροΌέα, Ï.αÏ.ήÏ.Ï.ε Ï.α Ï.λήκÏ.ρα h,j,k,l Ï.Ï.Ï.Ï. ΎείÏ.ΜεÏ.αι. **
     436+                     ÎœÎ¬ÎžÎ·ÎŒÎ± 1.1:  ΜΕ΀ΑΚΙΝΟΝ΀ΑΣ ΀ΟΝ ΔΡΟΜΕΑ
     437+
     438+  ** Για Μα κιΜήσετε τοΜ ΎροΌέα, πατήστε τα πλήκτρα h,j,k,l όπως ΎείχΜεται. **
    343439+            ^
    344 +            k        Hint: ΀ο Ï.λήκÏ.ρο h είΜαι αριÏ.Ï.ερά και κιΜεί Ï.Ï.' αριÏ.Ï.ερά.
    345 +       < h      l >        ΀ο Ï.λήκÏ.ρο l είΜαι ΎεΟιά και κιΜεί Ï.Ï.α ΎεΟιά.
    346 +            j              ΀ο Ï.λήκÏ.ρο j Όοιάζει Όε βελάκι Ï.ροÏ. Ï.α κάÏ.Ï..
     440+            k        Hint: ΀ο πλήκτρο h είΜαι αριστερά και κιΜεί στ' αριστερά.
     441+       < h      l >        ΀ο πλήκτρο l είΜαι ΎεΟιά και κιΜεί στα ΎεΟιά.
     442+            j              ΀ο πλήκτρο j Όοιάζει Όε βελάκι προς τα κάτω.
    347443+            v
    348444+
    349 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.ριγύρÏ. Ï.Ï.ηΜ οΞÏ.Μη ΌέÏ.ρι Μα ΜοιÏ.ΞεÏ.ε άΜεÏ.α.
    350 +
    351 +  2. Î.ραÏ.ήÏ.Ï.ε Ï.αÏ.ηΌέΜο Ï.ο κάÏ.Ï. Ï.λήκÏ.ρο (j) ΌέÏ.ρι Μα εÏ.αΜαληÏ.Ξεί.
    352 +---> ΀Ï.ρα ΟέρεÏ.ε Ï.Ï.Ï. Μα ΌεÏ.ακιΜηΞείÏ.ε Ï.Ï.ο εÏ.Ï.ΌεΜο ΌάΞηΌα.
    353 +
    354 +  3. ΧρηÏ.ιΌοÏ.οιÏ.ÎœÏ.αÏ. Ï.ο κάÏ.Ï. Ï.λήκÏ.ρο, ΌεÏ.ακιΜηΞείÏ.ε Ï.Ï.ο Î.άΞηΌα 1.2.
    355 +
    356 +ΣηΌείÏ.Ï.η: Î.Îœ αΌÏ.ιβάλλεÏ.ε για κάÏ.ι Ï.οÏ. Ï.αÏ.ήÏ.αÏ.ε, Ï.αÏ.ήÏ.Ï.ε <ESC> για Μα βρεΞείÏ.ε
    357 +         Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η. Î.εÏ.ά Ï.αÏ.ήÏ.Ï.ε ΟαΜά Ï.ηΜ εΜÏ.ολή Ï.οÏ. ΞέλαÏ.ε.
    358 +
    359 +ΣηΌείÏ.Ï.η: ΀α Ï.λήκÏ.ρα Ï.οÏ. ΎροΌέα Ξα Ï.ρέÏ.ει εÏ.ίÏ.ηÏ. Μα ΎοÏ.λεύοÏ.Îœ. Î.λλά Όε Ï.α hjkl
    360 +         ÎžÎ± ÎŒÏ.ορείÏ.ε Μα κιΜηΞείÏ.ε Ï.ολύ γρηγορÏ.Ï.ερα, ÎŒÏ.λιÏ. Ï.α Ï.Ï.ΜηΞίÏ.εÏ.ε.
     445+  1. ΜετακιΜείστε τοΜ ΎροΌέα τριγύρω στηΜ οΞόΜη Όέχρι Μα ΜοιώΞετε άΜετα.
     446+
     447+  2. Κρατήστε πατηΌέΜο το κάτω πλήκτρο (j) Όέχρι Μα επαΜαληφΞεί.
     448+---> ΀ώρα Οέρετε πώς Μα ΌετακιΜηΞείτε στο επόΌεΜο ΌάΞηΌα.
     449+
     450+  3. ΧρησιΌοποιώΜτας το κάτω πλήκτρο, ΌετακιΜηΞείτε στο ΜάΞηΌα 1.2.
     451+
     452+ΣηΌείωση: ΑΜ αΌφιβάλλετε για κάτι ποÏ
     453 Ï€Î±Ï„ήσατε, πατήστε <ESC> για Μα βρεΞείτε
     454+         ÏƒÏ„ηΜ ΚαΜοΜική Κατάσταση. Μετά πατήστε ΟαΜά τηΜ εΜτολή ποÏ
     455 ÎžÎ­Î»Î±Ï„ε.
     456+
     457+ΣηΌείωση: ΀α πλήκτρα τοÏ
     458 ÎŽÏÎ¿ÎŒÎ­Î± Ξα πρέπει επίσης Μα ΎοÏ
     459λεύοÏ
     460Îœ. Αλλά Όε τα hjkl
     461+         ÎžÎ± Όπορείτε Μα κιΜηΞείτε πολύ γρηγορότερα, Όόλις τα σÏ
     462ΜηΞίσετε.
    361463+
    362464+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    363 +               Î.άΞηΌα 1.2:  Î.Î Î.Î.ΝÎ.Ν΀Î.Σ Î.Î.Î. Î.Î.Î.Î.ΝÎ.Ν΀Î.Σ Σ΀Î.Ν VIM
    364 +
    365 +  !! ΣÎ.Î.Î.Î.ΩΣÎ.: ΠριΜ εκÏ.ελέÏ.εÏ.ε κάÏ.οιο αÏ.Ï. Ï.α βήΌαÏ.α, ΎιαβάÏ.Ï.ε Ï.λο Ï.ο ΌάΞηΌα!!
    366 +
    367 +  1. ΠαÏ.ήÏ.Ï.ε Ï.ο Ï.λήκÏ.ρο <ESC> (για Μα είÏ.Ï.ε Ï.ίγοÏ.ρα Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η).
    368 +
    369 +  2. ΠληκÏ.ρολογήÏ.Ï.ε:             :q! <ENTER>.
    370 +
    371 +---> Î.Ï.Ï.Ï. εΟέρÏ.εÏ.αι αÏ.Ï. Ï.οΜ Ï.Ï.ÎœÏ.άκÏ.η ΧΩΡÎ.Σ Μα Ï.Ï.Ï.ει Ï.Ï.οιεÏ. αλλαγέÏ. έÏ.εÏ.ε κάΜει.
    372 +     Î.Îœ ΞέλεÏ.ε Μα Ï.Ï.Ï.εÏ.ε Ï.ιÏ. αλλαγέÏ. και Μα εΟέρΞεÏ.ε Ï.ληκÏ.ρολογήÏ.Ï.ε:
     465+               ÎœÎ¬ÎžÎ·ÎŒÎ± 1.2:  ΜΠΑΙΝΟΝ΀ΑΣ ΚΑΙ ΒΓΑΙΝΟΝ΀ΑΣ Σ΀ΟΝ VIM
     466+
     467+  !! ΣΗΜΕΙΩΣΗ: ΠριΜ εκτελέσετε κάποιο από τα βήΌατα, Ύιαβάστε όλο το ΌάΞηΌα!!
     468+
     469+  1. Πατήστε το πλήκτρο <ESC> (για Μα είστε σίγοÏ
     470ρα στηΜ ΚαΜοΜική Κατάσταση).
     471+
     472+  2. Πληκτρολογήστε:             :q! <ENTER>.
     473+
     474+---> ΑÏ
     475τό εΟέρχεται από τοΜ σÏ
     476Μτάκτη ΧΩΡΙΣ Μα σώσει όποιες αλλαγές έχετε κάΜει.
     477+     Î‘Îœ Ξέλετε Μα σώσετε τις αλλαγές και Μα εΟέρΞετε πληκτρολογήστε:
    373478+             :wq <ENTER>
    374479+
    375 +  3. Î.Ï.αΜ ΎείÏ.ε Ï.ηΜ Ï.ροÏ.ροÏ.ή Ï.οÏ. Ï.λοιού, Ï.ληκÏ.ρολογήÏ.Ï.ε Ï.ηΜ εΜÏ.ολή Όε Ï.ηΜ οÏ.οία
    376 +     ÎŒÏ.ήκαÏ.ε Ï.ε αÏ.Ï.ήΜ Ï.ηΜ Ï.εριήγηÏ.η. Î.Ï.ορεί Μα είΜαι:   vimtutor <ENTER>
    377 +     Î.αΜοΜικά Ξα Ï.ρηÏ.ιΌοÏ.οιούÏ.αÏ.ε:                   vim tutor <ENTER>
    378 +
    379 +---> 'vim' Ï.ηΌαίΜει ειÏ.αγÏ.γή Ï.Ï.οΜ Ï.Ï.ÎœÏ.άκÏ.η vim, 'tutor' είΜαι Ï.ο αρÏ.είο Ï.οÏ.
    380 +     ÎžÎ­Î»Î¿Ï.Όε Μα ΎιορΞÏ.Ï.οÏ.Όε.
    381 +
    382 +  4. Î.Îœ έÏ.εÏ.ε αÏ.οΌΜηΌοΜεύÏ.ει αÏ.Ï.ά Ï.α βήΌαÏ.α και έÏ.εÏ.ε αÏ.Ï.οÏ.εÏ.οίΞηÏ.η, εκÏ.ελέÏ.Ï.ε
    383 +     Ï.α βήΌαÏ.α 1 έÏ.Ï. 3 για Μα βγείÏ.ε και Μα ÎŒÏ.είÏ.ε ΟαΜά Ï.Ï.οΜ Ï.Ï.ÎœÏ.άκÏ.η. Î.εÏ.ά
    384 +     ÎŒÎµÏ.ακιΜήÏ.Ï.ε Ï.οΜ ΎροΌέα κάÏ.Ï. Ï.Ï.ο Î.άΞηΌα 1.3.
     480+  3. ΌταΜ Ύείτε τηΜ προτροπή τοÏ
     481 Ï†Î»Î¿Î¹Î¿Ï, πληκτρολογήστε τηΜ εΜτολή Όε τηΜ οποία
     482+     ÎŒÏ€Î®ÎºÎ±Ï„ε σε αÏ
     483τήΜ τηΜ περιήγηση. Μπορεί Μα είΜαι: vimtutor <ENTER>
     484+     ÎšÎ±ÎœÎ¿ÎœÎ¹ÎºÎ¬ Ξα χρησιΌοποιούσατε:                   vim tutor <ENTER>
     485+
     486+---> 'vim' σηΌαίΜει εισαγωγή στοΜ σÏ
     487Μτάκτη vim, 'tutor' είΜαι το αρχείο ποÏ
     488
     489+     ÎžÎ­Î»Î¿Ï
     490Όε Μα ΎιορΞώσοÏ
     491Όε.
     492+
     493+  4. ΑΜ έχετε αποΌΜηΌοΜεύσει αÏ
     494τά τα βήΌατα και έχετε αÏ
     495τοπεποίΞηση, εκτελέστε
     496+     Ï„α βήΌατα 1 έως 3 για Μα βγείτε και Μα Όπείτε ΟαΜά στοΜ σÏ
     497Μτάκτη. Μετά
     498+     ÎŒÎµÏ„ακιΜήστε τοΜ ΎροΌέα κάτω στο ΜάΞηΌα 1.3.
    385499+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    386 +                  Î.άΞηΌα 1.3:  Î.Î.Î.ΡÎ.ΩΣÎ. Î.Î.Î.Î.Î.ΝÎ.Î¥ - Î.Î.Î.Î.ΡÎ.ΊÎ.
    387 +
    388 +   ** Î.Ï.ο είÏ.Ï.ε Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η Ï.αÏ.ήÏ.Ï.ε  x  για Μα ΎιαγράÏ.εÏ.ε Ï.οΜ
    389 +      Ï.αρακÏ.ήρα κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα. **
    390 +
    391 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε --->.
    392 +
    393 +  2. Î.ια Μα ΎιορΞÏ.Ï.εÏ.ε Ï.α λάΞη, κιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα ΌέÏ.ρι Μα είΜαι Ï.άΜÏ. αÏ.Ï.
    394 +     Ï.οΜ Ï.αρακÏ.ήρα Ï.οÏ. Ξα ΎιαγραÏ.εί.
    395 +
    396 +  3. ΠαÏ.ήÏ.Ï.ε Ï.ο Ï.λήκÏ.ρο x για Μα ΎιαγράÏ.εÏ.ε Ï.οΜ αΜεÏ.ιΞύΌηÏ.ο Ï.αρακÏ.ήρα.
    397 +
    398 +  4. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 2 ΌέÏ.ρι 4 ΌέÏ.ρι η Ï.ρÏ.Ï.αÏ.η Μα είΜαι Ï.Ï.Ï.Ï.ή.
     500+                  ΜάΞηΌα 1.3:  ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΔΙΑΓΡΑΊΗ
     501+
     502+   ** Όσο είστε στηΜ ΚαΜοΜική Κατάσταση πατήστε  x  για Μα Ύιαγράψετε τοΜ
     503+      χαρακτήρα κάτω από τοΜ ΎροΌέα. **
     504+
     505+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε --->.
     506+
     507+  2. Για Μα ΎιορΞώσετε τα λάΞη, κιΜείστε τοΜ ΎροΌέα Όέχρι Μα είΜαι πάΜω από
     508+     Ï„οΜ χαρακτήρα ποÏ
     509 ÎžÎ± Ύιαγραφεί.
     510+
     511+  3. Πατήστε το πλήκτρο x για Μα Ύιαγράψετε τοΜ αΜεπιΞύΌητο χαρακτήρα.
     512+
     513+  4. ΕπαΜαλάβετε τα βήΌατα 2 Όέχρι 4 Όέχρι η πρόταση Μα είΜαι σωστή.
    399514+
    400515+---> The ccow jumpedd ovverr thhe mooon.
    401516+
    402 +  5. ΀Ï.ρα Ï.οÏ. η γραΌΌή είΜαι Ï.Ï.Ï.Ï.ή, Ï.ηγαίΜÏ.ε Ï.Ï.ο Î.άΞηΌα 1.4.
    403 +
    404 +ΣÎ.Î.Î.Î.ΩΣÎ.: Î.αΞÏ.Ï. ΎιαÏ.ρέÏ.εÏ.ε αÏ.Ï.ήΜ Ï.ηΜ Ï.εριήγηÏ.η, Ï.ροÏ.Ï.αΞήÏ.Ï.ε Μα ΌηΜ
    405 +         Î±Ï.οΌΜηΌοΜεύεÏ.ε, ΌαΞαίΜεÏ.ε Όε Ï.η Ï.ρήÏ.η.
     517+  5. ΀ώρα ποÏ
     518 Î· γραΌΌή είΜαι σωστή, πηγαίΜτε στο ΜάΞηΌα 1.4.
     519+
     520+ΣΗΜΕΙΩΣΗ: ΚαΞώς Ύιατρέχετε αÏ
     521τήΜ τηΜ περιήγηση, προσπαΞήστε Μα ΌηΜ
     522+         Î±Ï€Î¿ÎŒÎœÎ·ÎŒÎ¿ÎœÎµÏÎµÏ„ε, ΌαΞαίΜετε Όε τη χρήση.
    406523+
    407524+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    408 +                  Î.άΞηΌα 1.4: Î.Î.Î.ΡÎ.ΩΣÎ. Î.Î.Î.Î.Î.ΝÎ.Î¥ - Î Î.ΡÎ.Î.Î.Î.Î.Î.
    409 +
    410 + ** Î.Ï.ο είÏ.Ï.ε Ï.ε Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η Ï.αÏ.ήÏ.Ï.ε  i  για Μα Ï.αρεΌβάλλεÏ.ε κείΌεΜο. **
    411 +
    412 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.αρακάÏ.Ï. Ï.ηΌειÏ.ΌέΜη Όε --->.
    413 +
    414 +  2. Î.ια Μα κάΜεÏ.ε Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή ίΎια Όε Ï.ηΜ ΎεύÏ.ερη, ΌεÏ.ακιΜείÏ.Ï.ε Ï.οΜ
    415 +     ÎŽÏÎ¿ÎŒÎ­Î± Ï.άΜÏ. Ï.Ï.οΜ Ï.ρÏ.Ï.ο Ï.αρακÏ.ήρα Î.Î.΀Î. αÏ.Ï. Ï.Ï.οÏ. Ξα Ï.αρεΌβληΞεί Ï.ο κείΌεΜο.
    416 +
    417 +  3. ΠαÏ.ήÏ.Ï.ε Ï.ο  i  και Ï.ληκÏ.ρολογήÏ.Ï.ε Ï.ιÏ. αÏ.αραίÏ.ηÏ.εÏ. Ï.ροÏ.ΞήκεÏ..
    418 +
    419 +  4. Î.αΞÏ.Ï. ΎιορΞÏ.ΜεÏ.ε κάΞε λάΞοÏ. Ï.αÏ.ήÏ.Ï.ε <ESC> για Μα εÏ.ιÏ.Ï.ρέÏ.εÏ.ε Ï.Ï.ηΜ
    420 +     Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 2 ΌέÏ.ρι 4 για Μα ΎιορΞÏ.Ï.εÏ.ε
    421 +     Ï.ηΜ Ï.ρÏ.Ï.αÏ.η.
     525+                  ΜάΞηΌα 1.4: ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΠΑΡΕΜΒΟΛΗ
     526+
     527+ ** Όσο είστε σε ΚαΜοΜική Κατάσταση πατήστε  i  για Μα παρεΌβάλλετε κείΌεΜο. **
     528+
     529+  1. ΜετακιΜείστε τοΜ ΎροΌέα Όέχρι τηΜ πρώτη γραΌΌή παρακάτω σηΌειωΌέΜη Όε --->.
     530+
     531+  2. Για Μα κάΜετε τηΜ πρώτη γραΌΌή ίΎια Όε τηΜ Ύεύτερη, ΌετακιΜείστε τοΜ
     532+     ÎŽÏÎ¿ÎŒÎ­Î± πάΜω στοΜ πρώτο χαρακτήρα ΜΕ΀Α από όποÏ
     533 ÎžÎ± παρεΌβληΞεί το κείΌεΜο.
     534+
     535+  3. Πατήστε το  i  και πληκτρολογήστε τις απαραίτητες προσΞήκες.
     536+
     537+  4. ΚαΞώς ΎιορΞώΜετε κάΞε λάΞος πατήστε <ESC> για Μα επιστρέψετε στηΜ
     538+     ÎšÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® Κατάσταση. ΕπαΜαλάβετε τα βήΌατα 2 Όέχρι 4 για Μα ΎιορΞώσετε
     539+     Ï„ηΜ πρόταση.
    422540+
    423541+---> There is text misng this .
    424542+---> There is some text missing from this line.
    425543+
    426 +  5. Î.Ï.αΜ είÏ.Ï.ε άΜεÏ.οι Όε Ï.ηΜ Ï.αρεΌβολή κειΌέΜοÏ. ΌεÏ.ακιΜηΞείÏ.ε Ï.Ï.ηΜ
    427 +     Ï.αρακάÏ.Ï. Ï.ερίληÏ.η.
     544+  5. ΌταΜ είστε άΜετοι Όε τηΜ παρεΌβολή κειΌέΜοÏ
     545 ÎŒÎµÏ„ακιΜηΞείτε στηΜ
     546+     Ï€Î±ÏÎ±ÎºÎ¬Ï„ω περίληψη.
    428547+
    429548+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    430 +                              Î.Î.Î.Î.Î.Î. 1 Î Î.ΡÎ.Î.Î.ΚÎ.
    431 +
    432 +
    433 +  1. Î. ΎροΌέαÏ. κιΜείÏ.αι Ï.ρηÏ.ιΌοÏ.οιÏ.ÎœÏ.αÏ. είÏ.ε Ï.α Ï.λήκÏ.ρα ΎροΌέα ή Ï.α hjkl.
    434 +        h (αριÏ.Ï.έρα)   j (κάÏ.Ï.)    k (Ï.άΜÏ.)    l (ΎεΟιά)
    435 +
    436 +  2. Î.ια Μα ÎŒÏ.είÏ.ε Ï.Ï.οΜ Vim (αÏ.Ï. Ï.ηΜ Ï.ροÏ.ροÏ.ή %) γράÏ.Ï.ε:  vim Î.ΡΧÎ.Î.Î. <ENTER>
    437 +
    438 +  3. Î.ια Μα βγείÏ.ε γράÏ.Ï.ε:  <ESC>   :q!   <ENTER>   Î³Î¹Î± αÏ.Ï.ρριÏ.η Ï.Ï.Îœ αλλαγÏ.Îœ.
    439 +                Î. γράÏ.Ï.ε:  <ESC>   :wq   <ENTER>   Î³Î¹Î± αÏ.οΞήκεÏ.Ï.η Ï.Ï.Îœ αλλαγÏ.Îœ.
    440 +
    441 +  4. Î.ια Μα ΎιαγράÏ.εÏ.ε έΜαΜ Ï.αρακÏ.ήρα κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα Ï.ε
    442 +     Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η Ï.αÏ.ήÏ.Ï.ε:  x
    443 +
    444 +  5. Î.ια Μα ειÏ.άγεÏ.ε κείΌεΜο Ï.Ï.οΜ ΎροΌέα Ï.Ï.ο είÏ.Ï.ε Ï.ε Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η γράÏ.Ï.ε:
    445 +        i     Ï.ληκÏ.ρολογήÏ.Ï.ε Ï.ο κείΌεΜο <ESC>
    446 +
    447 +ΣÎ.Î.Î.Î.ΩΣÎ.: ΠαÏ.Ï.ÎœÏ.αÏ. <ESC> Ξα Ï.οÏ.οΞεÏ.ηΞείÏ.ε Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η ή Ξα
    448 +         Î±ÎºÏ.ρÏ.Ï.εÏ.ε Όία αΜεÏ.ιΞύΌηÏ.η και ΌερικÏ.Ï. ολοκληρÏ.ΌέΜη εΜÏ.ολή.
    449 +
    450 +΀Ï.ρα Ï.Ï.ΜεÏ.ίÏ.Ï.ε Όε Ï.ο Î.άΞηΌα 2.
     549+                              ΜΑΘΗΜΑ 1 ΠΕΡΙΛΗΚΗ
     550+
     551+
     552+  1. Ο ΎροΌέας κιΜείται χρησιΌοποιώΜτας είτε τα πλήκτρα ΎροΌέα ή τα hjkl.
     553+        h (αριστέρα)   j (κάτω)    k (πάΜω)    l (ΎεΟιά)
     554+
     555+  2. Για Μα Όπείτε στοΜ Vim (από τηΜ προτροπή %) γράψτε:  vim ΑΡΧΕΙΟ <ENTER>
     556+
     557+  3. Για Μα βγείτε γράψτε:  <ESC>   :q!   <ENTER>   Î³Î¹Î± απόρριψη τωΜ αλλαγώΜ.
     558+                Ή γράψτε:  <ESC>   :wq   <ENTER>   Î³Î¹Î± αποΞήκεÏ
     559ση τωΜ αλλαγώΜ.
     560+
     561+  4. Για Μα Ύιαγράψετε έΜαΜ χαρακτήρα κάτω από τοΜ ΎροΌέα σε
     562+     ÎšÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® Κατάσταση πατήστε:  x
     563+
     564+  5. Για Μα εισάγετε κείΌεΜο στοΜ ΎροΌέα όσο είστε σε ΚαΜοΜική Κατάσταση γράψτε:
     565+        i     Ï€Î»Î·ÎºÏ„ρολογήστε το κείΌεΜο <ESC>
     566+
     567+ΣΗΜΕΙΩΣΗ: ΠατώΜτας <ESC> Ξα τοποΞετηΞείτε στηΜ ΚαΜοΜική Κατάσταση ή Ξα
     568+         Î±ÎºÏ
     569ρώσετε Όία αΜεπιΞύΌητη και Όερικώς ολοκληρωΌέΜη εΜτολή.
     570+
     571+΀ώρα σÏ
     572Μεχίστε Όε το ΜάΞηΌα 2.
    451573+
    452574+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    453 +                        Î.άΞηΌα 2.1: Î.Ν΀Î.Î.Î.Σ Î.Î.Î.Î.ΡÎ.ΊÎ.Σ
    454 +
    455 +        ** Î.ράÏ.Ï.ε  dw  για Μα ΎιαγράÏ.εÏ.ε ΌέÏ.ρι Ï.ο Ï.έλοÏ. ΌίαÏ. λέΟηÏ.. **
    456 +
    457 +  1. ΠαÏ.ήÏ.Ï.ε  <ESC>  για Μα βεβαιÏ.ΞείÏ.ε Ï.Ï.ι είÏ.Ï.ε Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η.
    458 +
    459 +  2. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε --->.
    460 +
    461 +  3. ΠηγαίΜεÏ.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ αρÏ.ή Ï.ηÏ. λέΟηÏ. Ï.οÏ. Ï.ρέÏ.ει Μα ΎιαγραÏ.εί.
    462 +
    463 +  4. Î.ράÏ.Ï.ε  dw  για Μα κάΜεÏ.ε Ï.ηΜ λέΟη Μα εΟαÏ.αΜιÏ.Ï.εί.
    464 +
    465 +ΣÎ.Î.Î.Î.ΩΣÎ.: ΀α γράΌΌαÏ.α dw Ξα εΌÏ.αΜιÏ.Ï.ούΜ Ï.Ï.ηΜ Ï.ελεÏ.Ï.αία γραΌΌή Ï.ηÏ. οΞÏ.ΜηÏ. Ï.Ï.ο
    466 +         Ï.α Ï.ληκÏ.ρολογείÏ.ε. Î.Îœ γράÏ.αÏ.ε κάÏ.ι λάΞοÏ., Ï.αÏ.ήÏ.Ï.ε  <ESC>  και
    467 +         ÎŸÎµÎºÎ¹ÎœÎ®Ï.Ï.ε αÏ.Ï. Ï.ηΜ αρÏ.ή.
     575+                        ΜάΞηΌα 2.1: ΕΝ΀ΟΛΕΣ ΔΙΑΓΡΑΊΗΣ
     576+
     577+        ** Γράψτε  dw  για Μα Ύιαγράψετε Όέχρι το τέλος Όίας λέΟης. **
     578+
     579+  1. Πατήστε  <ESC>  για Μα βεβαιωΞείτε ότι είστε στηΜ ΚαΜοΜική Κατάσταση.
     580+
     581+  2. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε --->.
     582+
     583+  3. ΠηγαίΜετε τοΜ ΎροΌέα στηΜ αρχή της λέΟης ποÏ
     584 Ï€ÏÎ­Ï€ÎµÎ¹ Μα Ύιαγραφεί.
     585+
     586+  4. Γράψτε  dw  για Μα κάΜετε τηΜ λέΟη Μα εΟαφαΜιστεί.
     587+
     588+ΣΗΜΕΙΩΣΗ: ΀α γράΌΌατα dw Ξα εΌφαΜιστούΜ στηΜ τελεÏ
     589ταία γραΌΌή της οΞόΜης όσο
     590+         Ï„α πληκτρολογείτε. ΑΜ γράψατε κάτι λάΞος, πατήστε  <ESC>  και
     591+         ÎŸÎµÎºÎ¹ÎœÎ®ÏƒÏ„ε από τηΜ αρχή.
    468592+
    469593+---> There are a some words fun that don't belong paper in this sentence.
    470594+
    471 +  5. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 3 και 4 ΌέÏ.ρι η Ï.ρÏ.Ï.αÏ.η Μα είΜαι Ï.Ï.Ï.Ï.ή και
    472 +     Ï.ηγαίΜεÏ.ε Ï.Ï.ο Î.άΞηΌα 2.2.
     595+  5. ΕπαΜαλάβετε τα βήΌατα 3 και 4 Όέχρι η πρόταση Μα είΜαι σωστή και
     596+     Ï€Î·Î³Î±Î¯ÎœÎµÏ„ε στο ΜάΞηΌα 2.2.
    473597+
    474598+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    475 +                  Î.άΞηΌα 2.2: Î Î.ΡÎ.ΣΣÎ.΀Î.ΡÎ.Σ Î.Ν΀Î.Î.Î.Σ Î.Î.Î.Î.ΡÎ.ΊÎ.Σ
    476 +
    477 +    ** ΠληκÏ.ρολογήÏ.Ï.ε  d$  για Μα ΎιαγράÏ.εÏ.ε ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. γραΌΌήÏ.. **
    478 +
    479 +  1. ΠαÏ.ήÏ.Ï.ε  <ESC>  για Μα βεβαιÏ.ΞείÏ.ε Ï.Ï.ι είÏ.Ï.ε Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η.
    480 +
    481 +  2. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε --->.
    482 +
    483 +  3. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ο Ï.έλοÏ. Ï.ηÏ. Ï.Ï.Ï.Ï.ήÏ. γραΌΌήÏ. (Î.Î.΀Î. Ï.ηΜ Ï.ρÏ.Ï.η . ).
    484 +
    485 +  4. ΠαÏ.ήÏ.Ï.ε   d$   Î³Î¹Î± Μα ΎιαγράÏ.εÏ.ε ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. γραΌΌήÏ..
     599+                  ΜάΞηΌα 2.2: ΠΕΡΙΣΣΟ΀ΕΡΕΣ ΕΝ΀ΟΛΕΣ ΔΙΑΓΡΑΊΗΣ
     600+
     601+    ** Πληκτρολογήστε  d$  για Μα Ύιαγράψετε Όέχρι το τέλος της γραΌΌής. **
     602+
     603+  1. Πατήστε  <ESC>  για Μα βεβαιωΞείτε ότι είστε στηΜ ΚαΜοΜική Κατάσταση.
     604+
     605+  2. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε --->.
     606+
     607+  3. ΜετακιΜείστε τοΜ ΎροΌέα στο τέλος της σωστής γραΌΌής (ΜΕ΀Α τηΜ πρώτη . ).
     608+
     609+  4. Πατήστε   d$   Î³Î¹Î± Μα Ύιαγράψετε Όέχρι το τέλος της γραΌΌής.
    486610+
    487611+---> Somebody typed the end of this line twice. end of this line twice.
    488612+
    489 +  5. ΠηγαίΜεÏ.ε Ï.Ï.ο Î.άΞηΌα 2.3 για Μα καÏ.αλάβεÏ.ε Ï.ι Ï.Ï.ΌβαίΜει.
     613+  5. ΠηγαίΜετε στο ΜάΞηΌα 2.3 για Μα καταλάβετε τι σÏ
     614ΌβαίΜει.
    490615+
    491616+
     
    496621+
    497622+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    498 +                  Î.άΞηΌα 2.3: Î Î.ΡÎ. Î.Ν΀Î.Î.ΩΝ Î.Î.Î. Î.Ν΀Î.Î.Î.Î.Î.Î.ΝΩΝ
    499 +
    500 +
    501 +Î. ΌορÏ.ή Ï.ηÏ. εΜÏ.ολήÏ. ΎιαγραÏ.ήÏ.  d  είΜαι Ï.Ï. εΟήÏ.:
    502 +
    503 +        [αριΞΌÏ.Ï.]   d   Î±ÎœÏ.ικείΌεΜο  Î.      d   [αριΞΌÏ.Ï.]   Î±ÎœÏ.ικείΌεΜο
    504 +  Î.Ï.οÏ.:
    505 +    αριΞΌÏ.Ï. - Ï.Ï.Ï.εÏ. Ï.ορέÏ. Ξα εκÏ.ελεÏ.Ï.εί η εΜÏ.ολή (Ï.ροαιρεÏ.ικÏ., εΟ' οριÏ.Όού=1).
    506 +    d - η εΜÏ.ολή Ï.ηÏ. ΎιαγραÏ.ήÏ..
    507 +    αΜÏ.ικείΌεΜο - Ï.άΜÏ. Ï.ε Ï.ι Ξα λειÏ.οÏ.ργήÏ.ει η εΜÏ.ολή (Ï.αρακάÏ.Ï. λίÏ.Ï.α).
    508 +
    509 +  Î.ία Όικρή λίÏ.Ï.α αÏ.Ï. αΜÏ.ικείΌεΜα:
    510 +    w - αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. λέΟηÏ., Ï.εριλαΌβάΜοΜÏ.αÏ. Ï.ο ΎιάÏ.Ï.ηΌα.
    511 +    e - αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. λέΟηÏ., ΧΩΡÎ.Σ Ï.ο ΎιάÏ.Ï.ηΌα.
    512 +    $ - αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. γραΌΌήÏ..
    513 +
    514 +ΣÎ.Î.Î.Î.ΩΣÎ.:  Î.ια Ï.οÏ.Ï. Ï.ύÏ.οÏ.Ï. Ï.ηÏ. Ï.εριÏ.έÏ.ειαÏ., Ï.αÏ.Ï.ÎœÏ.αÏ. αÏ.λÏ.Ï. Ï.ο αΜÏ.ικείΌεΜο Ï.Ï.ο
    515 +          είÏ.Ï.ε Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η Ï.Ï.ρίÏ. κάÏ.οια εΜÏ.ολή Ξα ΌεÏ.ακιΜήÏ.εÏ.ε
    516 +          Ï.οΜ ΎροΌέα Ï.Ï.Ï.Ï. καΞορίζεÏ.αι Ï.Ï.ηΜ λίÏ.Ï.α αΜÏ.ικειΌέΜÏ.Îœ.
     623+                  ΜάΞηΌα 2.3: ΠΕΡΙ ΕΝ΀ΟΛΩΝ ΚΑΙ ΑΝ΀ΙΚΕΙΜΕΝΩΝ
     624+
     625+
     626+Η Όορφή της εΜτολής Ύιαγραφής  d  είΜαι ως εΟής:
     627+
     628+        [αριΞΌός]   d   Î±ÎœÏ„ικείΌεΜο  Ή      d   [αριΞΌός]   Î±ÎœÏ„ικείΌεΜο
     629+  ΌποÏ
     630:
     631+    αριΞΌός - πόσες φορές Ξα εκτελεστεί η εΜτολή (προαιρετικό, εΟ' ορισΌού=1).
     632+    d - η εΜτολή της Ύιαγραφής.
     633+    αΜτικείΌεΜο - πάΜω σε τι Ξα λειτοÏ
     634ργήσει η εΜτολή (παρακάτω λίστα).
     635+
     636+  Μία Όικρή λίστα από αΜτικείΌεΜα:
     637+    w - από τοΜ ΎροΌέα Όέχρι το τέλος της λέΟης, περιλαΌβάΜοΜτας το ΎιάστηΌα.
     638+    e - από τοΜ ΎροΌέα Όέχρι το τέλος της λέΟης, ΧΩΡΙΣ το ΎιάστηΌα.
     639+    $ - από τοΜ ΎροΌέα Όέχρι το τέλος της γραΌΌής.
     640+
     641+ΣΗΜΕΙΩΣΗ:  Για τοÏ
     642ς τύποÏ
     643ς της περιπέτειας, πατώΜτας απλώς το αΜτικείΌεΜο όσο
     644+          είστε στηΜ ΚαΜοΜική Κατάσταση χωρίς κάποια εΜτολή Ξα ΌετακιΜήσετε
     645+          τοΜ ΎροΌέα όπως καΞορίζεται στηΜ λίστα αΜτικειΌέΜωΜ.
    517646+
    518647+
    519648+
    520649+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    521 +              Î.άΞηΌα 2.4: Î.Î.Î. Î.Î.Î.Î.ΡÎ.ΣÎ. Σ΀Î.Ν 'Î.Ν΀Î.Î.Î.-Î.Ν΀Î.Î.Î.Î.Î.Î.ΝÎ.'
    522 +
    523 +          ** ΠληκÏ.ρολογήÏ.Ï.ε  dd  για Μα ΎιαγράÏ.εÏ.ε Ï.λη Ï.η γραΌΌή. **
    524 +
    525 +  Î.ΟαιÏ.ίαÏ. Ï.ηÏ. Ï.Ï.Ï.ÎœÏ.Ï.ηÏ.αÏ. Ï.ηÏ. ΎιαγραÏ.ήÏ. ολÏ.κληρηÏ. γραΌΌήÏ., οι Ï.Ï.εΎιαÏ.Ï.έÏ.
    526 +  Ï.οÏ. Vim αÏ.οÏ.άÏ.ιÏ.αΜ Ï.Ï.ι Ξα ήÏ.αΜ εÏ.κολÏ.Ï.ερο Μα γράÏ.εÏ.ε αÏ.λÏ.Ï. Ύύο d Ï.Ï.η
    527 +  Ï.ειρά για Μα ΎιαγράÏ.εÏ.ε Όία γραΌΌή.
    528 +
    529 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.η ΎεύÏ.ερη γραΌΌή Ï.ηÏ. Ï.αρακάÏ.Ï. Ï.ράÏ.ηÏ..
    530 +  2. Î.ράÏ.Ï.ε  dd  για Μα ΎιαγράÏ.εÏ.ε Ï.η γραΌΌή.
    531 +  3. ΀Ï.ρα ΌεÏ.ακιΜηΞείÏ.ε Ï.Ï.ηΜ Ï.έÏ.αρÏ.η γραΌΌή.
    532 +  4. Î.ράÏ.Ï.ε  2dd  (ΞÏ.ΌηΞείÏ.ε  αριΞΌÏ.Ï.-εΜÏ.ολή-αΜÏ.ικείΌεΜο) για Μα
    533 +     ÎŽÎ¹Î±Î³ÏÎ¬Ï.εÏ.ε Ύύο γραΌΌέÏ..
     650+              ΜάΞηΌα 2.4: ΜΙΑ ΕΞΑΙΡΕΣΗ Σ΀ΗΝ 'ΕΝ΀ΟΛΗ-ΑΝ΀ΙΚΕΙΜΕΝΟ'
     651+
     652+          ** Πληκτρολογήστε  dd  για Μα Ύιαγράψετε όλη τη γραΌΌή. **
     653+
     654+  ΕΟαιτίας της σÏ
     655χΜότητας της Ύιαγραφής ολόκληρης γραΌΌής, οι σχεΎιαστές
     656+  τοÏ
     657 Vim αποφάσισαΜ ότι Ξα ήταΜ εÏ
     658κολότερο Μα γράφετε απλώς Ύύο d στη
     659+  σειρά για Μα Ύιαγράψετε Όία γραΌΌή.
     660+
     661+  1. ΜετακιΜείστε τοΜ ΎροΌέα στη Ύεύτερη γραΌΌή της παρακάτω φράσης.
     662+  2. Γράψτε  dd  για Μα Ύιαγράψετε τη γραΌΌή.
     663+  3. ΀ώρα ΌετακιΜηΞείτε στηΜ τέταρτη γραΌΌή.
     664+  4. Γράψτε  2dd  (ΞÏ
     665ΌηΞείτε  αριΞΌός-εΜτολή-αΜτικείΌεΜο) για Μα
     666+     ÎŽÎ¹Î±Î³ÏÎ¬ÏˆÎµÏ„ε Ύύο γραΌΌές.
    534667+
    535668+      1)  Roses are red,
     
    542675+
    543676+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    544 +                        Î.άΞηΌα 2.5: Î. Î.Ν΀Î.Î.Î. Î.ΝÎ.Î.ΡÎ.ΣÎ.Σ
    545 +
    546 +           ** ΠαÏ.ήÏ.Ï.ε  u  για Μα αΜαιρέÏ.εÏ.ε Ï.ιÏ. Ï.ελεÏ.Ï.αίεÏ. εΜÏ.ολέÏ.,
    547 +              U για Μα ΎιορΞÏ.Ï.εÏ.ε Ï.λη Ï.η γραΌΌή. **
    548 +
    549 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε ---> και
    550 +     Ï.οÏ.οΞεÏ.ήÏ.Ï.ε Ï.οΜ Ï.άΜÏ. Ï.Ï.ο Ï.ρÏ.Ï.ο λάΞοÏ..
    551 +  2. ΠαÏ.ήÏ.Ï.ε  x  για Μα ΎιαγράÏ.εÏ.ε Ï.οΜ Ï.ρÏ.Ï.ο αΜεÏ.ιΞύΌηÏ.ο Ï.αρακÏ.ήρα.
    552 +  3. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε  u  για Μα αΜαιρέÏ.εÏ.ε Ï.ηΜ Ï.ελεÏ.Ï.αία εκÏ.ελεÏ.ΌέΜη εΜÏ.ολή.
    553 +  4. Î.Ï.Ï.ή Ï.η Ï.ορά ΎιορΞÏ.Ï.Ï.ε Ï.λα Ï.α λάΞη Ï.Ï.η γραΌΌή Ï.ρηÏ.ιΌοÏ.οιÏ.ÎœÏ.αÏ. Ï.ηΜ εΜÏ.ολή x.
    554 +  5. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε έΜα κεÏ.αλαίο  U  για Μα εÏ.ιÏ.Ï.ρέÏ.εÏ.ε Ï.η γραΌΌή Ï.Ï.ηΜ αρÏ.ική
    555 +     Ï.ηÏ. καÏ.άÏ.Ï.αÏ.η.
    556 +  6. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε  u  ΌερικέÏ. Ï.ορέÏ. για Μα αΜαιρέÏ.εÏ.ε Ï.ηΜ  U  και
    557 +     Ï.ροηγούΌεΜεÏ. εΜÏ.ολέÏ..
    558 +  7. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε CTRL-R (κραÏ.Ï.ÎœÏ.αÏ. Ï.αÏ.ηΌέΜο Ï.ο Ï.λήκÏ.ρο CTRL καΞÏ.Ï. Ï.αÏ.άÏ.ε Ï.ο R)
    559 +     ÎŒÎµÏÎ¹ÎºÎ­Ï. Ï.ορέÏ. για Μα εÏ.αΜαÏ.έρεÏ.ε Ï.ιÏ. εΜÏ.ολέÏ. (αΜαίρεÏ.η Ï.Ï.Îœ αΜαιρέÏ.εÏ.Îœ).
     677+                        ΜάΞηΌα 2.5: Η ΕΝ΀ΟΛΗ ΑΝΑΙΡΕΣΗΣ
     678+
     679+           ** Πατήστε  u  για Μα αΜαιρέσετε τις τελεÏ
     680ταίες εΜτολές,
     681+              U για Μα ΎιορΞώσετε όλη τη γραΌΌή. **
     682+
     683+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε ---> και
     684+     Ï„οποΞετήστε τοΜ πάΜω στο πρώτο λάΞος.
     685+  2. Πατήστε  x  για Μα Ύιαγράψετε τοΜ πρώτο αΜεπιΞύΌητο χαρακτήρα.
     686+  3. ΀ώρα πατήστε  u  για Μα αΜαιρέσετε τηΜ τελεÏ
     687ταία εκτελεσΌέΜη εΜτολή.
     688+  4. ΑÏ
     689τή τη φορά ΎιορΞώστε όλα τα λάΞη στη γραΌΌή χρησιΌοποιώΜτας τηΜ εΜτολή x.
     690+  5. ΀ώρα πατήστε έΜα κεφαλαίο  U  για Μα επιστρέψετε τη γραΌΌή στηΜ αρχική
     691+     Ï„ης κατάσταση.
     692+  6. ΀ώρα πατήστε  u  Όερικές φορές για Μα αΜαιρέσετε τηΜ  U  και
     693+     Ï€ÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎµÏ‚ εΜτολές.
     694+  7. ΀ώρα πατήστε CTRL-R (κρατώΜτας πατηΌέΜο το πλήκτρο CTRL καΞώς πατάτε το R)
     695+     ÎŒÎµÏÎ¹ÎºÎ­Ï‚ φορές για Μα επαΜαφέρετε τις εΜτολές (αΜαίρεση τωΜ αΜαιρέσεωΜ).
    560696+
    561697+---> Fiix the errors oon thhis line and reeplace them witth undo.
    562698+
    563 +  8. Î.Ï.Ï.έÏ. είΜαι Ï.ολύ Ï.ρήÏ.ιΌεÏ. εΜÏ.ολέÏ..  ΀Ï.ρα Ï.ηγαίΜεÏ.ε Ï.Ï.ηΜ
    564 +     Î ερίληÏ.η Ï.οÏ. Î.αΞήΌαÏ.οÏ. 2.
     699+  8. ΑÏ
     700τές είΜαι πολύ χρήσιΌες εΜτολές.  ΀ώρα πηγαίΜετε στηΜ
     701+     Î ÎµÏÎ¯Î»Î·ÏˆÎ· τοÏ
     702 ÎœÎ±ÎžÎ®ÎŒÎ±Ï„ος 2.
    565703+
    566704+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    567 +                              Î.Î.Î.Î.Î.Î. 2 Î Î.ΡÎ.Î.Î.ΚÎ.
    568 +
    569 +
    570 +  1. Î.ια Μα ΎιαγράÏ.εÏ.ε αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. λέΟηÏ. γράÏ.Ï.ε:      dw
    571 +
    572 +  2. Î.ια Μα ΎιαγράÏ.εÏ.ε αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. γραΌΌήÏ. γράÏ.Ï.ε:    d$
    573 +
    574 +  3. Î.ια Μα ΎιαγράÏ.εÏ.ε ολÏ.κληρη Ï.η γραΌΌή γράÏ.Ï.ε:    dd
    575 +
    576 +  4. Î. ΌορÏ.ή για Όία εΜÏ.ολή Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η είΜαι:
    577 +
    578 +      [αριΞΌÏ.Ï.]   ÎµÎœÏ.ολή   Î±ÎœÏ.ικείΌεΜο    Î.    εΜÏ.ολή   [αριΞΌÏ.Ï.]   Î±ÎœÏ.ικείΌεΜο
    579 +     Ï.Ï.οÏ.:
    580 +       Î±ÏÎ¹ÎžÎŒÏ.Ï. - Ï.Ï.Ï.εÏ. Ï.ορέÏ. Μα εÏ.αΜαληÏ.Ξεί η εΜÏ.ολή
    581 +       ÎµÎœÏ.ολή - Ï.ι Μα γίΜει, Ï.Ï.Ï.Ï. η  d  για ΎιαγραÏ.ή
    582 +       Î±ÎœÏ.ικείΌεΜο - Ï.άΜÏ. Ï.ε Ï.ι Μα εΜεργήÏ.ει η εΜÏ.ολή, Ï.Ï.Ï.Ï.  w  (λέΟη),
    583 +                    $ (Ï.έλοÏ. Ï.ηÏ. γραΌΌήÏ.), κÏ.λ.
    584 +
    585 +  5. Î.ια Μα αΜαιρέÏ.εÏ.ε Ï.ροηγούΌεΜεÏ. εΜέργειεÏ., Ï.αÏ.ήÏ.Ï.ε:        u   (Ï.εζÏ. u)
    586 +     Î.ια Μα αΜαιρέÏ.εÏ.ε Ï.λεÏ. Ï.ιÏ. αλλαγέÏ. Ï.Ï.η γραΌΌή, Ï.αÏ.ήÏ.Ï.ε:  U  (κεÏ.αλαίο U)
    587 +     Î.ια Μα αΜαιρέÏ.εÏ.ε Ï.ιÏ. αΜαιρέÏ.ειÏ., Ï.αÏ.ήÏ.Ï.ε:               CTRL-R
     705+                              ΜΑΘΗΜΑ 2 ΠΕΡΙΛΗΚΗ
     706+
     707+
     708+  1. Για Μα Ύιαγράψετε από τοΜ ΎροΌέα Όέχρι το τέλος λέΟης γράψτε:      dw
     709+
     710+  2. Για Μα Ύιαγράψετε από τοΜ ΎροΌέα Όέχρι το τέλος γραΌΌής γράψτε:    d$
     711+
     712+  3. Για Μα Ύιαγράψετε ολόκληρη τη γραΌΌή γράψτε:    dd
     713+
     714+  4. Η Όορφή για Όία εΜτολή στηΜ ΚαΜοΜική Κατάσταση είΜαι:
     715+
     716+      [αριΞΌός]   ÎµÎœÏ„ολή   Î±ÎœÏ„ικείΌεΜο    Ή    εΜτολή   [αριΞΌός]   Î±ÎœÏ„ικείΌεΜο
     717+     ÏŒÏ€Î¿Ï
     718:
     719+       Î±ÏÎ¹ÎžÎŒÏŒÏ‚ - πόσες φορές Μα επαΜαληφΞεί η εΜτολή
     720+       ÎµÎœÏ„ολή - τι Μα γίΜει, όπως η  d  για Ύιαγραφή
     721+       Î±ÎœÏ„ικείΌεΜο - πάΜω σε τι Μα εΜεργήσει η εΜτολή, όπως  w  (λέΟη),
     722+                    $ (τέλος της γραΌΌής), κτλ.
     723+
     724+  5. Για Μα αΜαιρέσετε προηγούΌεΜες εΜέργειες, πατήστε:        u   (πεζό u)
     725+     Î“ια Μα αΜαιρέσετε όλες τις αλλαγές στη γραΌΌή, πατήστε:  U  (κεφαλαίο U)
     726+     Î“ια Μα αΜαιρέσετε τις αΜαιρέσεις, πατήστε:               CTRL-R
    588727+
    589728+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    590 +                       Î.άΞηΌα 3.1: Î. Î.Ν΀Î.Î.Î. ΀Î.Î Î.Î.Î.΀Î.ΣÎ.Σ
    591 +
    592 +
    593 +  ** ΠαÏ.ήÏ.Ï.ε  p  για Μα Ï.οÏ.οΞεÏ.ήÏ.εÏ.ε Ï.ηΜ Ï.ελεÏ.Ï.αία ΎιαγραÏ.ή ΌεÏ.ά Ï.οΜ ΎροΌέα.  **
    594 +
    595 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.ηÏ. Ï.αρακάÏ.Ï. οΌάΎαÏ..
    596 +
    597 +  2. ΠαÏ.ήÏ.Ï.ε  dd  για Μα ΎιαγράÏ.εÏ.ε Ï.η γραΌΌή και Μα Ï.ηΜ αÏ.οΞηκεύÏ.εÏ.ε Ï.ε
    598 +     Ï.ροÏ.Ï.ριΜή ΌΜήΌη Ï.οÏ. Vim.
    599 +
    600 +  3. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.η γραΌΌή Î Î.ΝΩ αÏ.Ï. εκεί Ï.οÏ. Ξα Ï.ρέÏ.ει Μα Ï.άει
     729+                       ÎœÎ¬ÎžÎ·ÎŒÎ± 3.1: Η ΕΝ΀ΟΛΗ ΀ΟΠΟΘΕ΀ΗΣΗΣ
     730+
     731+
     732+  ** Πατήστε  p  για Μα τοποΞετήσετε τηΜ τελεÏ
     733ταία Ύιαγραφή Όετά τοΜ ΎροΌέα.  **
     734+
     735+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ πρώτη γραΌΌή της παρακάτω οΌάΎας.
     736+
     737+  2. Πατήστε  dd  για Μα Ύιαγράψετε τη γραΌΌή και Μα τηΜ αποΞηκεύσετε σε
     738+     Ï€ÏÎ¿ÏƒÏ‰ÏÎ¹ÎœÎ® ΌΜήΌη τοÏ
     739 Vim.
     740+
     741+  3. ΜετακιΜείστε τοΜ ΎροΌέα στη γραΌΌή ΠΑΝΩ από εκεί ποÏ
     742 ÎžÎ± πρέπει Μα πάει
    601743+     Î· ΎιαγραΌΌέΜη γραΌΌή.
    602744+
    603 +  4. Î.Ï.ο είÏ.Ï.ε Ï.ε Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η, Ï.αÏ.ήÏ.Ï.ε  p  για Μα βάλεÏ.ε Ï.η γραΌΌή.
    604 +
    605 +  5. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 2 έÏ.Ï. 4 για Μα βάλεÏ.ε Ï.λεÏ. Ï.ιÏ. γραΌΌέÏ. Ï.Ï.η
    606 +     Ï.Ï.Ï.Ï.ή Ï.ειρά.
     745+  4. Όσο είστε σε ΚαΜοΜική Κατάσταση, πατήστε  p  για Μα βάλετε τη γραΌΌή.
     746+
     747+  5. ΕπαΜαλάβετε τα βήΌατα 2 έως 4 για Μα βάλετε όλες τις γραΌΌές στη
     748+     ÏƒÏ‰ÏƒÏ„ή σειρά.
    607749+
    608750+     d) Can you learn too?
     
    612754+
    613755+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    614 +                     Î.άΞηΌα 3.2: Î. Î.Ν΀Î.Î.Î. Î.Ν΀Î.Î.Î.΀Î.Σ΀Î.ΣÎ.Σ
    615 +
    616 +
    617 +    ** ΠαÏ.ήÏ.Ï.ε  r  και Ï.αρακÏ.ήρα για Μα αλλάΟεÏ.ε αÏ.Ï.Ï.Îœ Ï.οÏ. είΜαι
    618 +       ÎºÎ¬Ï.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα. **
    619 +
    620 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.αρακάÏ.Ï. Ï.ηΌειÏ.ΌέΜη Όε --->.
    621 +
    622 +  2. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα έÏ.Ï.ι Ï.Ï.Ï.ε Μα είΜαι Ï.άΜÏ. Ï.Ï.ο Ï.ρÏ.Ï.ο λάΞοÏ..
    623 +
    624 +  3. ΠαÏ.ήÏ.Ï.ε  r  και ΌεÏ.ά Ï.οΜ Ï.αρακÏ.ήρα ο οÏ.οίοÏ. ΎιορΞÏ.Μει Ï.ο λάΞοÏ..
    625 +
    626 +  4. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 2 και 3 ΌέÏ.ρι Μα είΜαι Ï.Ï.Ï.Ï.ή η Ï.ρÏ.Ï.η γραΌΌή.
     756+                     ÎœÎ¬ÎžÎ·ÎŒÎ± 3.2: Η ΕΝ΀ΟΛΗ ΑΝ΀ΙΚΑ΀ΑΣ΀ΑΣΗΣ
     757+
     758+
     759+    ** Πατήστε  r  και χαρακτήρα για Μα αλλάΟετε αÏ
     760τόΜ ποÏ
     761 ÎµÎ¯ÎœÎ±Î¹
     762+       ÎºÎ¬Ï„ω από τοΜ ΎροΌέα. **
     763+
     764+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ πρώτη γραΌΌή παρακάτω σηΌειωΌέΜη Όε --->.
     765+
     766+  2. ΜετακιΜείστε τοΜ ΎροΌέα έτσι ώστε Μα είΜαι πάΜω στο πρώτο λάΞος.
     767+
     768+  3. Πατήστε  r  και Όετά τοΜ χαρακτήρα ο οποίος ΎιορΞώΜει το λάΞος.
     769+
     770+  4. ΕπαΜαλάβετε τα βήΌατα 2 και 3 Όέχρι Μα είΜαι σωστή η πρώτη γραΌΌή.
    627771+
    628772+--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
    629773+--->  When this line was typed in, someone pressed some wrong keys!
    630774+
    631 +  5. ΀Ï.ρα Ï.ηγαίΜεÏ.ε Ï.Ï.ο Î.άΞηΌα 3.2.
    632 +
    633 +ΣÎ.Î.Î.Î.ΩΣÎ.: Να ΞÏ.ΌάÏ.Ï.ε Ï.Ï.ι Ï.ρέÏ.ει Μα ΌαΞαίΜεÏ.ε Όε Ï.η Ï.ρήÏ.η, και Ï.Ï.ι Όε
    634 +         Ï.ηΜ αÏ.οΌΜηΌÏ.ΜεÏ.Ï.η.
     775+  5. ΀ώρα πηγαίΜετε στο ΜάΞηΌα 3.2.
     776+
     777+ΣΗΜΕΙΩΣΗ: Να ΞÏ
     778Όάστε ότι πρέπει Μα ΌαΞαίΜετε Όε τη χρήση, και όχι Όε
     779+         Ï„ηΜ αποΌΜηΌόΜεÏ
     780ση.
    635781+
    636782+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    637 +                         Î.άΞηΌα 3.3: Î. Î.Ν΀Î.Î.Î. Î.Î.Î.Î.Î.Î.Σ
    638 +
    639 +          ** Î.ια Μα αλλάΟεÏ.ε Ï.ΌήΌα ή Ï.λη Ï.η λέΟη, Ï.αÏ.ήÏ.Ï.ε  cw  . **
    640 +
    641 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.αρακάÏ.Ï. Ï.ηΌειÏ.ΌέΜη Όε --->.
    642 +
    643 +  2. ΀οÏ.οΞεÏ.ήÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.άΜÏ. Ï.Ï.ο u Ï.ηÏ. λέΟηÏ. lubw.
    644 +
    645 +  3. ΠαÏ.ήÏ.Ï.ε  cw  και Ï.η Ï.Ï.Ï.Ï.ή λέΟη (Ï.Ï.ηΜ Ï.ερίÏ.Ï.Ï.Ï.η αÏ.Ï.ή, γράÏ.Ï.ε  'ine'.)
    646 +
    647 +  4. ΠαÏ.ήÏ.Ï.ε <ESC> και Ï.ηγαίΜεÏ.ε Ï.Ï.ο εÏ.Ï.ΌεΜο λάΞοÏ. (Ï.Ï.οΜ Ï.ρÏ.Ï.ο
    648 +     Ï.αρακÏ.ήρα Ï.ροÏ. αλλαγή).
    649 +
    650 +  5. Î.Ï.αΜαλάβεÏ.ε Ï.α βήΌαÏ.α 3 και 4 ΌέÏ.ριÏ. Ï.Ï.οÏ. η Ï.ρÏ.Ï.η Ï.ρÏ.Ï.αÏ.η Μα είΜαι
    651 +     Î¯ÎŽÎ¹Î± Όε Ï.η ΎεύÏ.ερη.
     783+                         ÎœÎ¬ÎžÎ·ÎŒÎ± 3.3: Η ΕΝ΀ΟΛΗ ΑΛΛΑΓΗΣ
     784+
     785+          ** Για Μα αλλάΟετε τΌήΌα ή όλη τη λέΟη, πατήστε  cw  . **
     786+
     787+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ πρώτη γραΌΌή παρακάτω σηΌειωΌέΜη Όε --->.
     788+
     789+  2. ΀οποΞετήστε τοΜ ΎροΌέα πάΜω στο u της λέΟης lubw.
     790+
     791+  3. Πατήστε  cw  και τη σωστή λέΟη (στηΜ περίπτωση αÏ
     792τή, γράψτε  'ine'.)
     793+
     794+  4. Πατήστε <ESC> και πηγαίΜετε στο επόΌεΜο λάΞος (στοΜ πρώτο
     795+     Ï‡Î±ÏÎ±ÎºÏ„ήρα προς αλλαγή).
     796+
     797+  5. ΕπαΜαλάβετε τα βήΌατα 3 και 4 Όέχρις ότοÏ
     798 Î· πρώτη πρόταση Μα είΜαι
     799+     Î¯ÎŽÎ¹Î± Όε τη Ύεύτερη.
    652800+
    653801+---> This lubw has a few wptfd that mrrf changing usf the change command.
    654802+---> This line has a few words that need changing using the change command.
    655803+
    656  Î±ÏÎ±Ï.ηρείÏ.Ï.ε Ï.Ï.ι η  cw  Ï.Ï.ι ÎŒÏ.Μο αΜÏ.ικαΞιÏ.Ï.άει Ï.η λέΟη, αλλά Ï.αÏ. ειÏ.άγει
    657 +εÏ.ίÏ.ηÏ. Ï.ε Ï.αρεΌβολή.
     804 Î±ÏÎ±Ï„ηρείστε ότι η  cw  όχι ΌόΜο αΜτικαΞιστάει τη λέΟη, αλλά σας εισάγει
     805+επίσης σε παρεΌβολή.
    658806+
    659807+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    660 +                    Î.άΞηΌα 3.4: Î Î.ΡÎ.ΣΣÎ.΀Î.ΡÎ.Σ Î.Î.Î.Î.Î.Î.Σ Î.Î. c
    661 +
    662 +
    663 +  ** Î. εΜÏ.ολή αλλαγήÏ. Ï.ρηÏ.ιΌοÏ.οιείÏ.αι Όε Ï.α ίΎια αΜÏ.ικείΌεΜα Ï.ηÏ. ΎιαγραÏ.ήÏ.. **
    664 +
    665 +
    666 +  1. Î. εΜÏ.ολή αλλαγήÏ. ΎοÏ.λεύει Όε Ï.οΜ ίΎιο Ï.ρÏ.Ï.ο Ï.Ï.Ï.Ï. η ΎιαγραÏ.ή. Î. ΌορÏ.ή είΜαι:
    667 +
    668 +       [αριΞΌÏ.Ï.]   c   Î±ÎœÏ.ικείΌεΜο     Î.     c   [αριΞΌÏ.Ï.]   Î±ÎœÏ.ικείΌεΜο
    669 +
    670 +  2. ΀α αΜÏ.ικείΌεΜα είΜαι Ï.άλι Ï.α ίΎια, Ï.Ï.Ï.Ï. w (λέΟη), $ (Ï.έλοÏ. γραΌΌήÏ.), κÏ.λ.
    671 +
    672 +  3. Î.εÏ.ακιΜηΞείÏ.ε Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.αρακάÏ.Ï. Ï.ηΌειÏ.ΌέΜη Όε --->.
    673 +
    674 +  4. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ο Ï.ρÏ.Ï.ο λάΞοÏ..
    675 +
    676 +  5. Î.ράÏ.Ï.ε  c$  για Μα κάΜεÏ.ε Ï.ο Ï.Ï.Ï.λοιÏ.ο Ï.ηÏ. γραΌΌήÏ. ίΎιο Όε Ï.η ΎεύÏ.ερη
    677 +     ÎºÎ±Î¹ Ï.αÏ.ήÏ.Ï.ε <ESC>.
     808+                    ΜάΞηΌα 3.4: ΠΕΡΙΣΣΟ΀ΕΡΕΣ ΑΛΛΑΓΕΣ ΜΕ c
     809+
     810+
     811+  ** Η εΜτολή αλλαγής χρησιΌοποιείται Όε τα ίΎια αΜτικείΌεΜα της Ύιαγραφής. **
     812+
     813+
     814+  1. Η εΜτολή αλλαγής ΎοÏ
     815λεύει Όε τοΜ ίΎιο τρόπο όπως η Ύιαγραφή. Η Όορφή είΜαι:
     816+
     817+       [αριΞΌός]   c   Î±ÎœÏ„ικείΌεΜο     Î‰     c   [αριΞΌός]   Î±ÎœÏ„ικείΌεΜο
     818+
     819+  2. ΀α αΜτικείΌεΜα είΜαι πάλι τα ίΎια, όπως w (λέΟη), $ (τέλος γραΌΌής), κτλ.
     820+
     821+  3. ΜετακιΜηΞείτε στηΜ πρώτη γραΌΌή παρακάτω σηΌειωΌέΜη Όε --->.
     822+
     823+  4. ΜετακιΜείστε τοΜ ΎροΌέα στο πρώτο λάΞος.
     824+
     825+  5. Γράψτε  c$  για Μα κάΜετε το Ï
     826πόλοιπο της γραΌΌής ίΎιο Όε τη Ύεύτερη
     827+     ÎºÎ±Î¹ πατήστε <ESC>.
    678828+
    679829+---> The end of this line needs some help to make it like the second.
     
    682832+
    683833+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    684 +                              Î.Î.Î.Î.Î.Î. 3 Î Î.ΡÎ.Î.Î.ΚÎ.
    685 +
    686 +
    687 +  1. Î.ια Μα Ï.οÏ.οΞεÏ.ήÏ.εÏ.ε κείΌεΜο Ï.οÏ. ÎŒÏ.λιÏ. έÏ.ει ΎιαγραÏ.εί, Ï.αÏ.ήÏ.Ï.ε  p .
    688 +     Î.Ï.Ï.Ï. Ï.οÏ.οΞεÏ.εί Ï.ο ΎιαγραΌΌέΜο κείΌεΜο Î.Î.΀Î. Ï.οΜ ΎροΌέα (αΜ ΎιαγράÏ.Ï.ηκε
    689 +     Î³ÏÎ±ÎŒÎŒÎ® Ξα Ï.άει ΌεÏ.ά Ï.Ï.η γραΌΌή κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα.
    690 +
    691 +  2. Î.ια Μα αΜÏ.ικαÏ.αÏ.Ï.ήÏ.εÏ.ε Ï.οΜ Ï.αρακÏ.ήρα κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα, Ï.αÏ.ήÏ.Ï.ε  r
    692 +     ÎºÎ±Î¹ ΌεÏ.ά Ï.οΜ Ï.αρακÏ.ήρα Ï.οÏ. Ξα αΜÏ.ικαÏ.αÏ.Ï.ήÏ.ει Ï.οΜ αρÏ.ικÏ..
    693 +
    694 +  3. Î. εΜÏ.ολή αλλαγήÏ. Ï.αÏ. εÏ.ιÏ.ρέÏ.ει Μα αλλάΟεÏ.ε Ï.ο καΞοριÏ.ΌέΜο αΜÏ.ικείΌεΜο
    695 +     Î±Ï.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.οÏ. αΜÏ.ικείΌεΜο. Î .Ï.. γράÏ.Ï.ε  cw  για Μα
    696 +     Î±Î»Î»Î¬ÎŸÎµÏ.ε αÏ.Ï. Ï.οΜ ΎροΌέα ΌέÏ.ρι Ï.ο Ï.έλοÏ. Ï.ηÏ. λέΟηÏ., c$ για Μα αλλάΟεÏ.ε
    697 +     ÎŒÎ­Ï.ρι Ï.ο Ï.έλοÏ. γραΌΌήÏ..
    698 +
    699 +  4. Î. ΌορÏ.ή για Ï.ηΜ αλλαγή είΜαι:
    700 +
    701 +        [αριΞΌÏ.Ï.]   c   Î±ÎœÏ.ικείΌεΜο     Î.     c   [αριΞΌÏ.Ï.]   Î±ÎœÏ.ικείΌεΜο
    702 +
    703 +΀Ï.ρα Ï.Ï.ΜεÏ.ίÏ.Ï.ε Όε Ï.ο εÏ.Ï.ΌεΜο ΌάΞηΌα.
     834+                              ΜΑΘΗΜΑ 3 ΠΕΡΙΛΗΚΗ
     835+
     836+
     837+  1. Για Μα τοποΞετήσετε κείΌεΜο ποÏ
     838 ÎŒÏŒÎ»Î¹Ï‚ έχει Ύιαγραφεί, πατήστε  p .
     839+     Î‘Ï
     840τό τοποΞετεί το ΎιαγραΌΌέΜο κείΌεΜο ΜΕ΀Α τοΜ ΎροΌέα (αΜ Ύιαγράφτηκε
     841+     Î³ÏÎ±ÎŒÎŒÎ® Ξα πάει Όετά στη γραΌΌή κάτω από τοΜ ΎροΌέα.
     842+
     843+  2. Για Μα αΜτικαταστήσετε τοΜ χαρακτήρα κάτω από τοΜ ΎροΌέα, πατήστε  r
     844+     ÎºÎ±Î¹ Όετά τοΜ χαρακτήρα ποÏ
     845 ÎžÎ± αΜτικαταστήσει τοΜ αρχικό.
     846+
     847+  3. Η εΜτολή αλλαγής σας επιτρέπει Μα αλλάΟετε το καΞορισΌέΜο αΜτικείΌεΜο
     848+     Î±Ï€ÏŒ τοΜ ΎροΌέα Όέχρι το τέλος τοÏ
     849 Î±ÎœÏ„ικείΌεΜο. Π.χ. γράψτε  cw  για Μα
     850+     Î±Î»Î»Î¬ÎŸÎµÏ„ε από τοΜ ΎροΌέα Όέχρι το τέλος της λέΟης, c$ για Μα αλλάΟετε
     851+     ÎŒÎ­Ï‡ÏÎ¹ το τέλος γραΌΌής.
     852+
     853+  4. Η Όορφή για τηΜ αλλαγή είΜαι:
     854+
     855+        [αριΞΌός]   c   Î±ÎœÏ„ικείΌεΜο     Î‰     c   [αριΞΌός]   Î±ÎœÏ„ικείΌεΜο
     856+
     857+΀ώρα σÏ
     858Μεχίστε Όε το επόΌεΜο ΌάΞηΌα.
    704859+
    705860+
    706861+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    707 +                    Î.άΞηΌα 4.1: Î.Î.ΣÎ. Î.Î.Î. Î.Î.΀Î.Σ΀Î.ΣÎ. Î.ΡΧÎ.Î.Î.Î¥
    708 +
    709 +
    710 + ** ΠαÏ.ήÏ.Ï.ε CTRL-g για Μα εΌÏ.αΜιÏ.Ï.εί η ΞέÏ.η Ï.αÏ. Ï.Ï.ο αρÏ.είο και η καÏ.άÏ.Ï.αÏ.ή Ï.οÏ..
    711 +    ΠαÏ.ήÏ.Ï.ε SHIFT-G για Μα Ï.άÏ.ε Ï.ε Όία γραΌΌή Ï.Ï.ο αρÏ.είο. **
    712 +
    713 +  ΣηΌείÏ.Ï.η: Î.ιαβάÏ.Ï.ε ολÏ.κληρο Ï.ο ΌάΞηΌα Ï.ριΜ εκÏ.ελέÏ.εÏ.ε κάÏ.οιο αÏ.Ï. Ï.α βήΌαÏ.α!!
    714 +
    715 +  1. Î.ραÏ.ήÏ.Ï.ε Ï.αÏ.ηΌέΜο Ï.ο Ï.λήκÏ.ρο Ctrl και Ï.αÏ.ήÏ.Ï.ε  g . Î.ία γραΌΌή καÏ.άÏ.Ï.αÏ.ηÏ.
    716 +     ÎžÎ± εΌÏ.αΜιÏ.Ï.εί Ï.Ï.ο κάÏ.Ï. ΌέροÏ. Ï.ηÏ. Ï.ελίΎαÏ. Όε Ï.ο Ï.ΜοΌα αρÏ.είοÏ. και Ï.η
    717 +     Î³ÏÎ±ÎŒÎŒÎ® Ï.οÏ. είÏ.Ï.ε. Î.Ï.ΌηΞείÏ.ε Ï.οΜ αριΞΌÏ. γραΌΌήÏ. για Ï.ο Î.ήΌα 3.
    718 +
    719 +  2. ΠαÏ.ήÏ.Ï.ε shift-G για Μα ΌεÏ.ακιΜηΞείÏ.ε Ï.Ï.ο Ï.έλοÏ. Ï.οÏ. αρÏ.είοÏ..
    720 +
    721 +  3. ΠαÏ.ήÏ.Ï.ε Ï.οΜ αριΞΌÏ. Ï.ηÏ. γραΌΌήÏ. Ï.οÏ. ήÏ.αÏ.Ï.αΜ και ΌεÏ.ά shift-G. Î.Ï.Ï.Ï. Ξα
    722 +     Ï.αÏ. εÏ.ιÏ.Ï.ρέÏ.ει Ï.Ï.η γραΌΌή Ï.οÏ. ήÏ.αÏ.Ï.αΜ Ï.ριΜ Ï.αÏ.ήÏ.εÏ.ε για Ï.ρÏ.Ï.η Ï.ορά Ctrl-g.
    723 +     (Î.Ï.αΜ Ï.ληκÏ.ρολογείÏ.ε Ï.οÏ.Ï. αριΞΌούÏ., Î.Î.Ν Ξα εΌÏ.αΜίζοΜÏ.αι Ï.Ï.ηΜ οΞÏ.Μη).
    724 +
    725 +  4. Î.Îœ ΜοιÏ.ΞεÏ.ε Ï.ίγοÏ.ροÏ. για αÏ.Ï.Ï., εκÏ.ελέÏ.Ï.ε Ï.α βήΌαÏ.α 1 έÏ.Ï. 3.
     862+                    ΜάΞηΌα 4.1: ΘΕΣΗ ΚΑΙ ΚΑ΀ΑΣ΀ΑΣΗ ΑΡΧΕΙΟΥ
     863+
     864+
     865+ ** Πατήστε CTRL-g για Μα εΌφαΜιστεί η Ξέση σας στο αρχείο και η κατάστασή τοÏ
     866.
     867+    Πατήστε SHIFT-G για Μα πάτε σε Όία γραΌΌή στο αρχείο. **
     868+
     869+  ΣηΌείωση: Διαβάστε ολόκληρο το ΌάΞηΌα πριΜ εκτελέσετε κάποιο από τα βήΌατα!!
     870+
     871+  1. Κρατήστε πατηΌέΜο το πλήκτρο Ctrl και πατήστε  g . Μία γραΌΌή κατάστασης
     872+     ÎžÎ± εΌφαΜιστεί στο κάτω Όέρος της σελίΎας Όε το όΜοΌα αρχείοÏ
     873 ÎºÎ±Î¹ τη
     874+     Î³ÏÎ±ÎŒÎŒÎ® ποÏ
     875 ÎµÎ¯ÏƒÏ„ε. ΘÏ
     876ΌηΞείτε τοΜ αριΞΌό γραΌΌής για το ΒήΌα 3.
     877+
     878+  2. Πατήστε shift-G για Μα ΌετακιΜηΞείτε στο τέλος τοÏ
     879 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     880.
     881+
     882+  3. Πατήστε τοΜ αριΞΌό της γραΌΌής ποÏ
     883 Î®ÏƒÎ±ÏƒÏ„αΜ και Όετά shift-G. ΑÏ
     884τό Ξα
     885+     ÏƒÎ±Ï‚ επιστρέψει στη γραΌΌή ποÏ
     886 Î®ÏƒÎ±ÏƒÏ„αΜ πριΜ πατήσετε για πρώτη φορά Ctrl-g.
     887+     (ΌταΜ πληκτρολογείτε τοÏ
     888ς αριΞΌούς, ΔΕΝ Ξα εΌφαΜίζοΜται στηΜ οΞόΜη).
     889+
     890+  4. ΑΜ ΜοιώΞετε σίγοÏ
     891ρος για αÏ
     892τό, εκτελέστε τα βήΌατα 1 έως 3.
    726893+
    727894+
    728895+
    729896+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    730 +                       Î.άΞηΌα 4.2: Î. Î.Ν΀Î.Î.Î. Î.ΝÎ.Î.Î.΀Î.ΣÎ.Σ
    731 +
    732 +
    733 +         ** ΠαÏ.ήÏ.Ï.ε   /   Î±ÎºÎ¿Î»Î¿Ï.ΞούΌεΜο αÏ.Ï. Ï.η Ï.ράÏ.η Ï.οÏ. Ï.άÏ.ΜεÏ.ε. **
    734 +
    735 +  1. Σε Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η Ï.αÏ.ήÏ.Ï.ε Ï.οΜ Ï.αρακÏ.ήρα  / . ΠαραÏ.ηρήÏ.Ï.ε Ï.Ï.ι αÏ.Ï.Ï.Ï. και
    736 +     Î¿ ΎροΌέαÏ. εΌÏ.αΜίζοΜÏ.αι Ï.Ï.ο κάÏ.Ï. ΌέροÏ. Ï.ηÏ. οΞÏ.ΜηÏ. Ï.Ï.Ï.Ï. Όε Ï.ηΜ εΜÏ.ολή  : .
    737 +
    738 +  2. ΀Ï.ρα γράÏ.Ï.ε 'errroor' <ENTER>. Î.Ï.Ï.ή είΜαι η λέΟη Ï.οÏ. ΞέλεÏ.ε Μα Ï.άΟεÏ.ε.
    739 +
    740 +  3. Î.ια Μα Ï.άΟεÏ.ε ΟαΜά για Ï.ηΜ ίΎια Ï.ράÏ.η, Ï.αÏ.ήÏ.Ï.ε αÏ.λÏ.Ï.  n .
    741 +     Î.ια Μα Ï.άΟεÏ.ε Ï.ηΜ ίΎια Ï.ράÏ.η Ï.Ï.ηΜ αΜÏ.ίΞεÏ.η καÏ.εύΞÏ.ÎœÏ.η, Ï.αÏ.ήÏ.Ï.ε  Shift-N .
    742 +
    743 +  4. Î.Îœ ΞέλεÏ.ε Μα Ï.άΟεÏ.ε για Όία Ï.ράÏ.η Ï.ροÏ. Ï.α Ï.ίÏ.Ï., Ï.ρηÏ.ιΌοÏ.οιήÏ.Ï.ε Ï.ηΜ εΜÏ.ολή  ?  αΜÏ.ί Ï.ηÏ.  / .
    744 +
    745 +---> Î.Ï.αΜ η αΜαζήÏ.ηÏ.η Ï.Ï.άÏ.ει Ï.Ï.ο Ï.έλοÏ. Ï.οÏ. αρÏ.είοÏ. Ξα Ï.Ï.ΜεÏ.ίÏ.ει αÏ.Ï. Ï.ηΜ αρÏ.ή.
     897+                       ÎœÎ¬ÎžÎ·ÎŒÎ± 4.2: Η ΕΝ΀ΟΛΗ ΑΝΑΖΗ΀ΗΣΗΣ
     898+
     899+
     900+         ** Πατήστε   /   Î±ÎºÎ¿Î»Î¿Ï
     901ΞούΌεΜο από τη φράση ποÏ
     902 ÏˆÎ¬Ï‡ÎœÎµÏ„ε. **
     903+
     904+  1. Σε ΚαΜοΜική Κατάσταση πατήστε τοΜ χαρακτήρα  / . Παρατηρήστε ότι αÏ
     905τός και
     906+     Î¿ ΎροΌέας εΌφαΜίζοΜται στο κάτω Όέρος της οΞόΜης όπως Όε τηΜ εΜτολή  : .
     907+
     908+  2. ΀ώρα γράψτε 'errroor' <ENTER>. ΑÏ
     909τή είΜαι η λέΟη ποÏ
     910 ÎžÎ­Î»ÎµÏ„ε Μα ψάΟετε.
     911+
     912+  3. Για Μα ψάΟετε ΟαΜά για τηΜ ίΎια φράση, πατήστε απλώς  n .
     913+     Î“ια Μα ψάΟετε τηΜ ίΎια φράση στηΜ αΜτίΞετη κατεύΞÏ
     914Μση, πατήστε  Shift-N .
     915+
     916+  4. ΑΜ Ξέλετε Μα ψάΟετε για Όία φράση προς τα πίσω, χρησιΌοποιήστε τηΜ εΜτολή  ?  αΜτί της  / .
     917+
     918+---> ΌταΜ η αΜαζήτηση φτάσει στο τέλος τοÏ
     919 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     920 ÎžÎ± σÏ
     921Μεχίσει από τηΜ αρχή.
    746922+
    747923+  "errroor" is not the way to spell error;  errroor is an error.
     
    750926+
    751927+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    752 +                  Î.άΞηΌα 4.3: Î.ΥΡÎ.ΣÎ. ΀Î.Î.ΡÎ.Î.Σ΀ΩΝ Î Î.ΡÎ.ΝÎ.Î.ΣÎ.ΩΝ
    753 +
    754 +
    755 +         ** ΠαÏ.ήÏ.Ï.ε   %   Î³Î¹Î± Μα βρείÏ.ε Ï.ηΜ αΜÏ.ίÏ.Ï.οιÏ.η ), ], ή } . **
    756 +
    757 +  1. ΀οÏ.οΞεÏ.ήÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.ε κάÏ.οια (, [, ή { Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή
    758 +     Ï.ηΌειÏ.ΌέΜη Όε --->.
    759 +
    760 +  2. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε Ï.οΜ Ï.αρακÏ.ήρα  % .
    761 +
    762 +  3. Î. ΎροΌέαÏ. Ξα Ï.ρέÏ.ει Μα είΜαι Ï.Ï.ηΜ αΜÏ.ίÏ.Ï.οιÏ.η Ï.αρέΜΞεÏ.η ή αγκύλη.
    763 +
    764 +  4. ΠαÏ.ήÏ.Ï.ε  %  για Μα ΌεÏ.ακιΜήÏ.εÏ.ε Ï.οΜ ΎροΌέα Ï.ίÏ.Ï. Ï.Ï.ηΜ Ï.ρÏ.Ï.η αγκύλη
    765 +    (Ï.οÏ. ζεÏ.γαριού).
     928+                  ΜάΞηΌα 4.3: ΕΥΡΕΣΗ ΀ΑΙΡΙΑΣ΀ΩΝ ΠΑΡΕΝΘΕΣΕΩΝ
     929+
     930+
     931+         ** Πατήστε   %   Î³Î¹Î± Μα βρείτε τηΜ αΜτίστοιχη ), ], ή } . **
     932+
     933+  1. ΀οποΞετήστε τοΜ ΎροΌέα σε κάποια (, [, ή { στηΜ παρακάτω γραΌΌή
     934+     ÏƒÎ·ÎŒÎµÎ¹Ï‰ÎŒÎ­ÎœÎ· Όε --->.
     935+
     936+  2. ΀ώρα πατήστε τοΜ χαρακτήρα  % .
     937+
     938+  3. Ο ΎροΌέας Ξα πρέπει Μα είΜαι στηΜ αΜτίστοιχη παρέΜΞεση ή αγκύλη.
     939+
     940+  4. Πατήστε  %  για Μα ΌετακιΜήσετε τοΜ ΎροΌέα πίσω στηΜ πρώτη αγκύλη
     941+    (τοÏ
     942 Î¶ÎµÏ
     943γαριού).
    766944+
    767945+---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
    768946+
    769 +ΣÎ.Î.Î.Î.ΩΣÎ.: Î.Ï.Ï.Ï. είΜαι Ï.ολύ Ï.ρήÏ.ιΌο Ï.Ï.ηΜ αÏ.οÏ.Ï.αλΌάÏ.Ï.Ï.η εΜÏ.Ï. Ï.ρογράΌΌαÏ.οÏ.
    770 +         ÎŒÎµ Όη Ï.αιριαÏ.Ï.έÏ. Ï.αρεΜΞέÏ.ειÏ.!
     947+ΣΗΜΕΙΩΣΗ: ΑÏ
     948τό είΜαι πολύ χρήσιΌο στηΜ αποσφαλΌάτωση εΜός προγράΌΌατος
     949+         ÎŒÎµ Όη ταιριαστές παρεΜΞέσεις!
    771950+
    772951+
    773952+
    774953+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    775 +                   Î.άΞηΌα 4.4: Î.ΝÎ.Σ ΀ΡÎ.Î Î.Σ Î.Î.Î. Î.Î.Î.Î.Î.Î. Î.Î.Î.ΩΝ
    776 +
    777 +
    778 +       ** Î.ράÏ.Ï.ε  :s/old/new/g  για Μα αλλάΟεÏ.ε Ï.ο 'new' Όε Ï.ο 'old'. **
    779 +
    780 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε --->.
    781 +
    782 +  2. Î.ράÏ.Ï.ε  :s/thee/the <ENTER> . ΣηΌειÏ.Ï.Ï.ε Ï.Ï.ι αÏ.Ï.ή η εΜÏ.ολή αλλάζει ÎŒÏ.Μο
    783 +     Ï.ηΜ Ï.ρÏ.Ï.η εΌÏ.άΜιÏ.η Ï.Ï.η γραΌΌή.
    784 +
    785 +  3. ΀Ï.ρα γράÏ.Ï.ε   :s/thee/the/g    εΜΜοÏ.ÎœÏ.αÏ. γεΜική αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Ï.Ï.η
    786 +     Î³ÏÎ±ÎŒÎŒÎ®. Î.Ï.Ï.Ï. αλλάζει Ï.λεÏ. Ï.ιÏ. εΌÏ.αΜίÏ.ειÏ. εÏ.ί Ï.ηÏ. γραΌΌήÏ..
     954+                   ÎœÎ¬ÎžÎ·ÎŒÎ± 4.4: ΕΝΑΣ ΀ΡΟΠΟΣ ΓΙΑ ΑΛΛΑΓΗ ΛΑΘΩΝ
     955+
     956+
     957+       ** Γράψτε  :s/old/new/g  για Μα αλλάΟετε το 'new' Όε το 'old'. **
     958+
     959+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε --->.
     960+
     961+  2. Γράψτε  :s/thee/the <ENTER> . ΣηΌειώστε ότι αÏ
     962τή η εΜτολή αλλάζει ΌόΜο
     963+     Ï„ηΜ πρώτη εΌφάΜιση στη γραΌΌή.
     964+
     965+  3. ΀ώρα γράψτε   :s/thee/the/g    εΜΜοώΜτας γεΜική αΜτικατάσταση στη
     966+     Î³ÏÎ±ÎŒÎŒÎ®. ΑÏ
     967τό αλλάζει όλες τις εΌφαΜίσεις επί της γραΌΌής.
    787968+
    788969+---> thee best time to see thee flowers is in thee spring.
    789970+
    790 +  4. Î.ια Μα αλλάΟεÏ.ε κάΞε εΌÏ.άΜιÏ.η ΌίαÏ. Ï.Ï.ΌβολοÏ.ειράÏ. ΌεÏ.αΟύ Ύύο γραΌΌÏ.Îœ,
    791 +     Î³ÏÎ¬Ï.Ï.ε   :#,#s/old/new/g   Ï.Ï.οÏ. #,# οι αριΞΌοί Ï.Ï.Îœ Ύύο γραΌΌÏ.Îœ.
    792 +     Î.ράÏ.Ï.ε   :%s/old/new/g     Î³Î¹Î± Μα αλλάΟεÏ.ε κάΞε εΌÏ.άΜιÏ.η Ï.ε Ï.λο Ï.ο αρÏ.είο.
     971+  4. Για Μα αλλάΟετε κάΞε εΌφάΜιση Όίας σÏ
     972Όβολοσειράς ΌεταΟύ Ύύο γραΌΌώΜ,
     973+     Î³ÏÎ¬ÏˆÏ„ε   :#,#s/old/new/g   ÏŒÏ€Î¿Ï
     974 #,# οι αριΞΌοί τωΜ Ύύο γραΌΌώΜ.
     975+     Î“ράψτε   :%s/old/new/g     Î³Î¹Î± Μα αλλάΟετε κάΞε εΌφάΜιση σε όλο το αρχείο.
    793976+
    794977+
     
    796979+
    797980+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    798 +                              Î.Î.Î.Î.Î.Î. 4 Î Î.ΡÎ.Î.Î.ΚÎ.
    799 +
    800 +
    801 +  1. ΀ο  Ctrl-g  εΌÏ.αΜίζει Ï.η ΞέÏ.η Ï.αÏ. Ï.Ï.ο αρÏ.είο και Ï.ηΜ καÏ.άÏ.Ï.αÏ.ή Ï.οÏ..
    802 +     Î€Î¿  Shift-G  Ï.ηγαίΜει Ï.Ï.ο Ï.έλοÏ. Ï.οÏ. αρÏ.είοÏ.. Î.ΜαÏ. αριΞΌÏ.Ï. γραΌΌήÏ.
    803 +     Î±ÎºÎ¿Î»Î¿Ï.ΞούΌεΜοÏ. αÏ.Ï.  Shift-G  Ï.ηγαίΜει Ï.ε εκείΜη Ï.η γραΌΌή.
    804 +
    805 +  2. Î.ράÏ.οΜÏ.αÏ.  /  ακολοÏ.ΞούΌεΜο αÏ.Ï. Όία Ï.ράÏ.η Ï.άÏ.Μει Ï.ροÏ. Ï.α Î.ΠΡÎ.Σ΀Î. για
    806 +     Ï.η Ï.ράÏ.η. Î.ράÏ.οΜÏ.αÏ.  ?  ακολοÏ.ΞούΌεΜο αÏ.Ï. Όία Ï.ράÏ.η Ï.άÏ.Μει Ï.ροÏ. Ï.α Î Î.ΣΩ
    807 +     Î³Î¹Î± Ï.η Ï.ράÏ.η. Î.εÏ.ά αÏ.Ï. Όία αΜαζήÏ.ηÏ.η Ï.αÏ.ήÏ.Ï.ε  n  για Μα βρείÏ.ε Ï.ηΜ
    808 +     ÎµÏ.Ï.ΌεΜη εΌÏ.άΜιÏ.η Ï.ροÏ. Ï.ηΜ ίΎια καÏ.εύΞÏ.ÎœÏ.η ή  Shift-N  για Μα Ï.άΟεÏ.ε
    809 +     Ï.ροÏ. Ï.ηΜ αΜÏ.ίΞεÏ.η καÏ.εύΞÏ.ÎœÏ.η.
    810 +
    811 +  3. ΠαÏ.Ï.ÎœÏ.αÏ.  %  Ï.Ï.ο ο ΎροΌέαÏ. είΜαι Ï.άΜÏ. Ï.ε Όία (,),[,],{, ή }  εΜÏ.οÏ.ίζει
    812 +     Ï.ο αΜÏ.ίÏ.Ï.οιÏ.ο Ï.αίρι Ï.οÏ. ζεÏ.γαριού.
    813 +
    814 +  4. Î.ια αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Όε new Ï.οÏ. Ï.ρÏ.Ï.οÏ. old Ï.Ï.η γραΌΌή γράÏ.Ï.ε  :s/old/new
    815 +     Î.ια αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Όε new Ï.λÏ.Îœ Ï.Ï.Îœ 'old' Ï.Ï.η γραΌΌή γράÏ.Ï.ε  :s/old/new/g
    816 +     Î.ια αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Ï.ράÏ.εÏ.Îœ ΌεÏ.αΟύ Ύύο # γραΌΌÏ.Îœ γράÏ.Ï.ε      :#,#s/old/new/g
    817 +     Î.ια αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Ï.λÏ.Îœ Ï.Ï.Îœ εΌÏ.αΜίÏ.εÏ.Îœ Ï.Ï.ο αρÏ.είο γράÏ.Ï.ε    :%s/old/new/g
    818 +     Î.ια ερÏ.Ï.ηÏ.η εÏ.ιβεβαίÏ.Ï.ηÏ. κάΞε Ï.ορά Ï.ροÏ.ΞέÏ.Ï.ε έΜα 'c'       "%s/old/new/gc
     981+                              ΜΑΘΗΜΑ 4 ΠΕΡΙΛΗΚΗ
     982+
     983+
     984+  1. ΀ο  Ctrl-g  εΌφαΜίζει τη Ξέση σας στο αρχείο και τηΜ κατάστασή τοÏ
     985.
     986+     Î€Î¿  Shift-G  πηγαίΜει στο τέλος τοÏ
     987 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     988. ΈΜας αριΞΌός γραΌΌής
     989+     Î±ÎºÎ¿Î»Î¿Ï
     990ΞούΌεΜος από  Shift-G  πηγαίΜει σε εκείΜη τη γραΌΌή.
     991+
     992+  2. ΓράφοΜτας  /  ακολοÏ
     993ΞούΌεΜο από Όία φράση ψάχΜει προς τα ΜΠΡΟΣ΀Α για
     994+     Ï„η φράση. ΓράφοΜτας  ?  ακολοÏ
     995ΞούΌεΜο από Όία φράση ψάχΜει προς τα ΠΙΣΩ
     996+     Î³Î¹Î± τη φράση. Μετά από Όία αΜαζήτηση πατήστε  n  για Μα βρείτε τηΜ
     997+     ÎµÏ€ÏŒÎŒÎµÎœÎ· εΌφάΜιση προς τηΜ ίΎια κατεύΞÏ
     998Μση ή  Shift-N  για Μα ψάΟετε
     999+     Ï€ÏÎ¿Ï‚ τηΜ αΜτίΞετη κατεύΞÏ
     1000Μση.
     1001+
     1002+  3. ΠατώΜτας  %  όσο ο ΎροΌέας είΜαι πάΜω σε Όία (,),[,],{, ή }  εΜτοπίζει
     1003+     Ï„ο αΜτίστοιχο ταίρι τοÏ
     1004 Î¶ÎµÏ
     1005γαριού.
     1006+
     1007+  4. Για αΜτικατάσταση Όε new τοÏ
     1008 Ï€ÏÏŽÏ„οÏ
     1009 old στη γραΌΌή γράψτε  :s/old/new
     1010+     Î“ια αΜτικατάσταση Όε new όλωΜ τωΜ 'old' στη γραΌΌή γράψτε  :s/old/new/g
     1011+     Î“ια αΜτικατάσταση φράσεωΜ ΌεταΟύ Ύύο # γραΌΌώΜ γράψτε      :#,#s/old/new/g
     1012+     Î“ια αΜτικατάσταση όλωΜ τωΜ εΌφαΜίσεωΜ στο αρχείο γράψτε    :%s/old/new/g
     1013+     Î“ια ερώτηση επιβεβαίωσης κάΞε φορά προσΞέστε έΜα 'c'       "%s/old/new/gc
    8191014+
    8201015+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    821 +                 Î.άΞηΌα 5.1: ΠΩΣ Î.Î.΀Î.Î.Ω Î.Î.Î. Î.Î.Ω΀Î.ΡÎ.Î.Î. Î.Ν΀Î.Î.Î.
    822 +
    823 +
    824 +** Î.ράÏ.Ï.ε  :!  ακολοÏ.ΞούΌεΜο αÏ.Ï. Όία εΟÏ.Ï.ερική εΜÏ.ολή για Μα Ï.ηΜ εκÏ.ελέÏ.εÏ.ε. **
    825 +
    826 +  1. ΠαÏ.ήÏ.Ï.ε Ï.ηΜ οικεία εΜÏ.ολή  :  για Μα ΞέÏ.εÏ.ε Ï.οΜ ΎροΌέα Ï.Ï.ο κάÏ.Ï. ΌέροÏ.
    827 +     Ï.ηÏ. οΞÏ.ΜηÏ.. Î.Ï.Ï.Ï. Ï.αÏ. εÏ.ιÏ.ρέÏ.ει Μα ÎŽÏ.Ï.εÏ.ε Όία εΜÏ.ολή.
    828 +
    829 +  2. ΀Ï.ρα Ï.αÏ.ήÏ.Ï.ε  Ï.ο  !  (ΞαÏ.ΌαÏ.Ï.ικÏ.). Î.Ï.Ï.Ï. Ï.αÏ. εÏ.ιÏ.ρέÏ.ει Μα εκÏ.ελέÏ.εÏ.ε
    830 +     Î¿Ï.οιαΎήÏ.οÏ.ε εΟÏ.Ï.ερική εΜÏ.ολή Ï.οÏ. Ï.λοιού.
    831 +
    832 +  3. ΣαΜ Ï.αράΎειγΌα γράÏ.Ï.ε  ls  ΌεÏ.ά αÏ.Ï. Ï.ο ! και Ï.αÏ.ήÏ.Ï.ε <ENTER>. Î.Ï.Ï.Ï. Ξα
    833 +     Ï.αÏ. εΌÏ.αΜίÏ.ει Όία λίÏ.Ï.α Ï.οÏ. καÏ.αλÏ.γοÏ. Ï.αÏ., ακριβÏ.Ï. Ï.αΜ Μα ήÏ.αÏ.Ï.αΜ Ï.Ï.ηΜ
    834 +     Ï.ροÏ.ροÏ.ή Ï.οÏ. Ï.λοιού. Î. Ï.ρηÏ.ιΌοÏ.οιήÏ.Ï.ε  :!dir  αΜ Ï.ο ls ΎεΜ ΎοÏ.λεύει.
    835 +
    836 +---> ΣηΌείÏ.Ï.η: Î.ίΜαι ÎŽÏ.ΜαÏ.Ï.Îœ Μα εκÏ.ελέÏ.εÏ.ε οÏ.οιαΎήÏ.οÏ.ε εΟÏ.Ï.ερική εΜÏ.ολή
    837 +     ÎŒÎµ αÏ.Ï.Ï.Îœ Ï.οΜ Ï.ρÏ.Ï.ο.
    838 +
    839 +---> ΣηΌείÏ.Ï.η: Î.λεÏ. οι εΜÏ.ολέÏ.  :  Ï.ρέÏ.ει Μα Ï.ερΌαÏ.ίζοΜÏ.αι Ï.αÏ.Ï.ÎœÏ.αÏ. Ï.ο <ENTER>.
     1016+                 ÎœÎ¬ÎžÎ·ÎŒÎ± 5.1: ΠΩΣ ΕΚ΀ΕΛΩ ΜΙΑ ΕΞΩ΀ΕΡΙΚΗ ΕΝ΀ΟΛΗ
     1017+
     1018+
     1019+** Γράψτε  :!  ακολοÏ
     1020ΞούΌεΜο από Όία εΟωτερική εΜτολή για Μα τηΜ εκτελέσετε. **
     1021+
     1022+  1. Πατήστε τηΜ οικεία εΜτολή  :  για Μα Ξέσετε τοΜ ΎροΌέα στο κάτω Όέρος
     1023+     Ï„ης οΞόΜης. ΑÏ
     1024τό σας επιτρέπει Μα Ύώσετε Όία εΜτολή.
     1025+
     1026+  2. ΀ώρα πατήστε  το  !  (ΞαÏ
     1027Όαστικό). ΑÏ
     1028τό σας επιτρέπει Μα εκτελέσετε
     1029+     Î¿Ï€Î¿Î¹Î±ÎŽÎ®Ï€Î¿Ï„ε εΟωτερική εΜτολή τοÏ
     1030 Ï†Î»Î¿Î¹Î¿Ï.
     1031+
     1032+  3. ΣαΜ παράΎειγΌα γράψτε  ls  Όετά από το ! και πατήστε <ENTER>. ΑÏ
     1033τό Ξα
     1034+     ÏƒÎ±Ï‚ εΌφαΜίσει Όία λίστα τοÏ
     1035 ÎºÎ±Ï„αλόγοÏ
     1036 ÏƒÎ±Ï‚, ακριβώς σαΜ Μα ήσασταΜ στηΜ
     1037+     Ï€ÏÎ¿Ï„ροπή τοÏ
     1038 Ï†Î»Î¿Î¹Î¿Ï. Ή χρησιΌοποιήστε  :!dir  αΜ το ls ΎεΜ ΎοÏ
     1039λεύει.
     1040+
     1041+---> ΣηΌείωση: ΕίΜαι ÎŽÏ
     1042ΜατόΜ Μα εκτελέσετε οποιαΎήποτε εΟωτερική εΜτολή
     1043+     ÎŒÎµ αÏ
     1044τόΜ τοΜ τρόπο.
     1045+
     1046+---> ΣηΌείωση: Όλες οι εΜτολές  :  πρέπει Μα τερΌατίζοΜται πατώΜτας το <ENTER>.
    8401047+
    8411048+
    8421049+
    8431050+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    844 +                Î.άΞηΌα 5.2: Î Î.ΡÎ.ΣΣÎ.΀Î.ΡÎ. Î Î.ΡÎ. Î.Î.Î.ΡÎ.ΊÎ.Σ Î.ΡΧÎ.Î.ΩΝ
    845 +
    846 +
    847 +   ** Î.ια Μα Ï.Ï.Ï.εÏ.ε Ï.ιÏ. αλλάγεÏ. Ï.οÏ. κάΜαÏ.ε Ï.Ï.ο αρÏ.είο, γράÏ.Ï.ε  :w Î.ΡΧÎ.Î.Î..  **
    848 +
    849 +  1. Î.ράÏ.Ï.ε  :!dir  ή  :!ls  για Μα Ï.άρεÏ.ε Όία λίÏ.Ï.α Ï.οÏ. καÏ.αλÏ.γοÏ. Ï.αÏ..
    850 +     Î.Ύη ΟέρεÏ.ε Ï.Ï.ι Ï.ρέÏ.ει Μα Ï.αÏ.ήÏ.εÏ.ε <ENTER> ΌεÏ.ά αÏ.Ï. αÏ.Ï.Ï..
    851 +
    852 +  2. Î.ιαλέΟÏ.ε έΜα Ï.ΜοΌα αρÏ.είοÏ. Ï.οÏ. ΎεΜ Ï.Ï.άρÏ.ει ακÏ.Όα, Ï.Ï.Ï.Ï. Ï.ο TEST.
    853 +
    854 +  3. ΀Ï.ρα γράÏ.Ï.ε:  :w TEST  (Ï.Ï.οÏ. TEST είΜαι Ï.ο Ï.ΜοΌα αρÏ.είοÏ. Ï.οÏ. ΎιαλέΟαÏ.ε).
    855 +
    856 +  4. Î.Ï.Ï.Ï. Ï.Ï.ζει Ï.λο Ï.ο αρÏ.είο (vim Tutor) Όε Ï.ο Ï.ΜοΌα TEST. Î.ια Μα Ï.ο
    857 +     ÎµÏ.αληΞεύÏ.εÏ.ε, γράÏ.Ï.ε ΟαΜά  :!dir για Μα ΎείÏ.ε Ï.οΜ καÏ.άλογÏ. Ï.αÏ..
    858 +
    859 +---> ΣηΌειÏ.Ï.Ï.ε Ï.Ï.ι αΜ βγαίΜαÏ.ε αÏ.Ï. Ï.οΜ Vim και ÎŒÏ.αίΜαÏ.ε ΟαΜά Όε Ï.ο Ï.ΜοΌα
    860 +     Î±ÏÏ.είοÏ. TEST, Ï.ο αρÏ.είο Ξα ήÏ.αΜ ακριβέÏ. αΜÏ.ίγραÏ.ο Ï.οÏ. tutor Ï.Ï.αΜ Ï.ο Ï.Ï.Ï.αÏ.ε.
    861 +
    862 +  5. ΀Ï.ρα ΎιαγράÏ.Ï.ε Ï.ο αρÏ.είο γράÏ.οΜÏ.αÏ. (MS-DOS):      :!del TEST
     1051+                ΜάΞηΌα 5.2: ΠΕΡΙΣΣΟ΀ΕΡΑ ΠΕΡΙ ΕΓΓΡΑΊΗΣ ΑΡΧΕΙΩΝ
     1052+
     1053+
     1054+   ** Για Μα σώσετε τις αλλάγες ποÏ
     1055 ÎºÎ¬ÎœÎ±Ï„ε στο αρχείο, γράψτε  :w ΑΡΧΕΙΟ.  **
     1056+
     1057+  1. Γράψτε  :!dir  ή  :!ls  για Μα πάρετε Όία λίστα τοÏ
     1058 ÎºÎ±Ï„αλόγοÏ
     1059 ÏƒÎ±Ï‚.
     1060+     Î‰ÎŽÎ· Οέρετε ότι πρέπει Μα πατήσετε <ENTER> Όετά από αÏ
     1061τό.
     1062+
     1063+  2. ΔιαλέΟτε έΜα όΜοΌα αρχείοÏ
     1064 Ï€Î¿Ï
     1065 ÎŽÎµÎœ Ï
     1066πάρχει ακόΌα, όπως το TEST.
     1067+
     1068+  3. ΀ώρα γράψτε:  :w TEST  (όποÏ
     1069 TEST είΜαι το όΜοΌα αρχείοÏ
     1070 Ï€Î¿Ï
     1071 ÎŽÎ¹Î±Î»Î­ÎŸÎ±Ï„ε).
     1072+
     1073+  4. ΑÏ
     1074τό σώζει όλο το αρχείο (vim Tutor) Όε το όΜοΌα TEST. Για Μα το
     1075+     ÎµÏ€Î±Î»Î·ÎžÎµÏÏƒÎµÏ„ε, γράψτε ΟαΜά  :!dir για Μα Ύείτε τοΜ κατάλογό σας.
     1076+
     1077+---> ΣηΌειώστε ότι αΜ βγαίΜατε από τοΜ Vim και ΌπαίΜατε ΟαΜά Όε το όΜοΌα
     1078+     Î±ÏÏ‡ÎµÎ¯Î¿Ï
     1079 TEST, το αρχείο Ξα ήταΜ ακριβές αΜτίγραφο τοÏ
     1080 tutor όταΜ το σώσατε.
     1081+
     1082+  5. ΀ώρα Ύιαγράψτε το αρχείο γράφοΜτας (MS-DOS):      :!del TEST
    8631083+
    8641084+
    8651085+
    8661086+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    867 +                    Î.άΞηΌα 5.3: Î.Î Î.Î.Î.Î.΀Î.Î.Î. Î.Ν΀Î.Î.Î. Î.Î.Î.ΡÎ.ΊÎ.Σ
    868 +
    869 +
    870 +         ** Î.ια Μα Ï.Ï.Ï.εÏ.ε Ï.ΌήΌα Ï.οÏ. αρÏ.είοÏ., γράÏ.Ï.ε  :#,# w Î.ΡΧÎ.Î.Î. **
    871 +
    872 +  1. Î.λλη Όια Ï.ορά, γράÏ.Ï.ε  :!dir  ή  :!ls  για Μα Ï.άρεÏ.ε Όία λίÏ.Ï.α αÏ.Ï. Ï.οΜ
    873 +     ÎºÎ±Ï.άλογÏ. Ï.αÏ. και ΎιαλέΟÏ.ε έΜα καÏ.άλληλο Ï.ΜοΌα αρÏ.είοÏ. Ï.Ï.Ï.Ï. Ï.ο TEST.
    874 +
    875 +  2. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ο Ï.άΜÏ. ΌέροÏ. αÏ.Ï.ήÏ. Ï.ηÏ. Ï.ελίΎαÏ. και Ï.αÏ.ήÏ.Ï.ε
    876 +     Ctrl-g  για Μα βρείÏ.ε Ï.οΜ αριΞΌÏ. αÏ.Ï.ήÏ. Ï.ηÏ. γραΌΌήÏ..
    877 +     ÎÎ. Î.Î¥Î.Î.Σ΀Î. Î.Υ΀Î.Ν ΀Î.Ν Î.ΡÎ.Î.Î.Î.!
    878 +
    879 +  3. ΀Ï.ρα Ï.ηγαίΜεÏ.ε Ï.Ï.ο κάÏ.Ï. ΌέροÏ. Ï.ηÏ. Ï.ελίΎαÏ. και Ï.αÏ.ήÏ.Ï.ε  Ctrl-g  ΟαΜά.
    880 +     ÎÎ. Î.Î¥Î.Î.Σ΀Î. Î.Î.Î. Î.Υ΀Î.Ν ΀Î.Ν Î.ΡÎ.Î.Î.Î.!
    881 +
    882 +  4. Î.ια Μα Ï.Ï.Ï.εÏ.ε Î.Î.ΝÎ. έΜα Ï.ΌήΌα Ï.ε αρÏ.είο, γράÏ.Ï.ε   :#,# w TEST
    883 +     Ï.Ï.οÏ. #,# οι Ύύο αριΞΌοί Ï.οÏ. αÏ.οΌΜηΌοΜεύÏ.αÏ.ε (Ï.άΜÏ.,κάÏ.Ï.) και TEST Ï.ο
    884 +     Ï.ΜοΌα Ï.οÏ. αρÏ.είοÏ. Ï.αÏ..
    885 +
    886 +  5. Î.αΜά, ΎείÏ.ε Ï.Ï.ι Ï.ο αρÏ.είο είΜαι εκεί Όε Ï.ηΜ  :!dir αλλά Î.Î.Ν Ï.ο ΎιαγράÏ.εÏ.ε.
     1087+                    ΜάΞηΌα 5.3: ΕΠΙΛΕΚ΀ΙΚΗ ΕΝ΀ΟΛΗ ΕΓΓΡΑΊΗΣ
     1088+
     1089+
     1090+         ** Για Μα σώσετε τΌήΌα τοÏ
     1091 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     1092, γράψτε  :#,# w ΑΡΧΕΙΟ **
     1093+
     1094+  1. Άλλη Όια φορά, γράψτε  :!dir  ή  :!ls  για Μα πάρετε Όία λίστα από τοΜ
     1095+     ÎºÎ±Ï„άλογό σας και ΎιαλέΟτε έΜα κατάλληλο όΜοΌα αρχείοÏ
     1096 ÏŒÏ€Ï‰Ï‚ το TEST.
     1097+
     1098+  2. ΜετακιΜείστε τοΜ ΎροΌέα στο πάΜω Όέρος αÏ
     1099τής της σελίΎας και πατήστε
     1100+     Ctrl-g  για Μα βρείτε τοΜ αριΞΌό αÏ
     1101τής της γραΌΌής.
     1102+     ÎÎ‘ ΘΥΜΑΣ΀Ε ΑΥ΀ΟΝ ΀ΟΝ ΑΡΙΘΜΟ!
     1103+
     1104+  3. ΀ώρα πηγαίΜετε στο κάτω Όέρος της σελίΎας και πατήστε  Ctrl-g  ΟαΜά.
     1105+     ÎÎ‘ ΘΥΜΑΣ΀Ε ΚΑΙ ΑΥ΀ΟΝ ΀ΟΝ ΑΡΙΘΜΟ!
     1106+
     1107+  4. Για Μα σώσετε ΜΟΝΟ έΜα τΌήΌα σε αρχείο, γράψτε   :#,# w TEST
     1108+     ÏŒÏ€Î¿Ï
     1109 #,# οι Ύύο αριΞΌοί ποÏ
     1110 Î±Ï€Î¿ÎŒÎœÎ·ÎŒÎ¿ÎœÎµÏÏƒÎ±Ï„ε (πάΜω,κάτω) και TEST το
     1111+     ÏŒÎœÎ¿ÎŒÎ± τοÏ
     1112 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     1113 ÏƒÎ±Ï‚.
     1114+
     1115+  5. ΞαΜά, Ύείτε ότι το αρχείο είΜαι εκεί Όε τηΜ  :!dir αλλά ΜΗΝ το Ύιαγράψετε.
    8871116+
    8881117+
    8891118+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    890 +                 Î.άΞηΌα 5.4: Î.ΝÎ.Î.΀ΩΝ΀Î.Σ Î.Î.Î. Î.ΝΩΝÎ.Ν΀Î.Σ Î.ΡΧÎ.Î.Î.
    891 +
    892 +
    893 +     ** Î.ια Μα ειÏ.άγεÏ.ε Ï.α Ï.εριεÏ.Ï.ΌεΜα εΜÏ.Ï. αρÏ.είοÏ., γράÏ.Ï.ε   :r Î.ΡΧÎ.Î.Î. **
    894 +
    895 +  1. Î.ράÏ.Ï.ε  :!dir  για Μα βεβαιÏ.ΞείÏ.ε Ï.Ï.ι Ï.ο TEST Ï.Ï.άρÏ.ει αÏ.Ï. Ï.ριΜ.
    896 +
    897 +  2. ΀οÏ.οΞεÏ.ήÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ο Ï.άΜÏ. ΌέροÏ. Ï.ηÏ. Ï.ελίΎαÏ..
    898 +
    899 +ΣÎ.Î.Î.Î.ΩΣÎ.:  Î.Ï.Ï.Ï.οÏ. εκÏ.ελέÏ.εÏ.ε Ï.ο Î.ήΌα 3 Ξα ΎείÏ.ε Ï.ο Î.άΞηΌα 5.3.
    900 +          Î.εÏ.ά κιΜηΞείÏ.ε Î.Î.΀Ω ΟαΜά Ï.ροÏ. Ï.ο ΌάΞηΌα αÏ.Ï.Ï..
    901 +
    902 +  3. ΀Ï.ρα αΜακÏ.ήÏ.Ï.ε Ï.ο αρÏ.είο Ï.αÏ. TEST Ï.ρηÏ.ιΌοÏ.οιÏ.ÎœÏ.αÏ. Ï.ηΜ εΜÏ.ολή  :r TEST
    903 +     Ï.Ï.οÏ. TEST είΜαι Ï.ο Ï.ΜοΌα Ï.οÏ. αρÏ.είοÏ..
    904 +
    905 +ΣÎ.Î.Î.Î.ΩΣÎ.:  ΀ο αρÏ.είο Ï.οÏ. αΜακÏ.άÏ.ε Ï.οÏ.οΞεÏ.είÏ.αι ΟεκιΜÏ.ÎœÏ.αÏ. εκεί Ï.οÏ. βρίÏ.κεÏ.αι
    906 +          ο ΎροΌέαÏ..
    907 +
    908 +  4. Î.ια Μα εÏ.αληΞεύÏ.εÏ.ε Ï.Ï.ι Ï.ο αρÏ.είο αΜακÏ.ήΞηκε, Ï.ίÏ.Ï. Ï.οΜ ΎροΌέα και
    909 +     Ï.αραÏ.ηρήÏ.Ï.ε Ï.Ï.ι Ï.Ï.άρÏ.οÏ.Îœ Ï.Ï.ρα Ύύο αΜÏ.ίγραÏ.α Ï.οÏ. Î.αΞήΌαÏ.οÏ. 5.3, Ï.ο
    910 +     Î±ÏÏ.ικÏ. και η έκΎοÏ.η Ï.οÏ. αρÏ.είοÏ..
     1119+                 ÎœÎ¬ÎžÎ·ÎŒÎ± 5.4: ΑΝΑΚ΀ΩΝ΀ΑΣ ΚΑΙ ΕΝΩΝΟΝ΀ΑΣ ΑΡΧΕΙΑ
     1120+
     1121+
     1122+     ** Για Μα εισάγετε τα περιεχόΌεΜα εΜός αρχείοÏ
     1123, γράψτε   :r ΑΡΧΕΙΟ **
     1124+
     1125+  1. Γράψτε  :!dir  για Μα βεβαιωΞείτε ότι το TEST Ï
     1126πάρχει από πριΜ.
     1127+
     1128+  2. ΀οποΞετήστε τοΜ ΎροΌέα στο πάΜω Όέρος της σελίΎας.
     1129+
     1130+ΣΗΜΕΙΩΣΗ:  ΑφότοÏ
     1131 ÎµÎºÏ„ελέσετε το ΒήΌα 3 Ξα Ύείτε το ΜάΞηΌα 5.3.
     1132+          Μετά κιΜηΞείτε ΚΑ΀Ω ΟαΜά προς το ΌάΞηΌα αÏ
     1133τό.
     1134+
     1135+  3. ΀ώρα αΜακτήστε το αρχείο σας TEST χρησιΌοποιώΜτας τηΜ εΜτολή  :r TEST
     1136+     ÏŒÏ€Î¿Ï
     1137 TEST είΜαι το όΜοΌα τοÏ
     1138 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     1139.
     1140+
     1141+ΣΗΜΕΙΩΣΗ:  ΀ο αρχείο ποÏ
     1142 Î±ÎœÎ±ÎºÏ„άτε τοποΞετείται ΟεκιΜώΜτας εκεί ποÏ
     1143 Î²ÏÎ¯ÏƒÎºÎµÏ„αι
     1144+          ο ΎροΌέας.
     1145+
     1146+  4. Για Μα επαληΞεύσετε ότι το αρχείο αΜακτήΞηκε, πίσω τοΜ ΎροΌέα και
     1147+     Ï€Î±ÏÎ±Ï„ηρήστε ότι Ï
     1148πάρχοÏ
     1149Îœ τώρα Ύύο αΜτίγραφα τοÏ
     1150 ÎœÎ±ÎžÎ®ÎŒÎ±Ï„ος 5.3, το
     1151+     Î±ÏÏ‡Î¹ÎºÏŒ και η έκΎοση τοÏ
     1152 Î±ÏÏ‡ÎµÎ¯Î¿Ï
     1153.
    9111154+
    9121155+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    913 +                              Î.Î.Î.Î.Î.Î. 5 Î Î.ΡÎ.Î.Î.ΚÎ.
    914 +
    915 +
    916 +  1.  :!εΜÏ.ολή  εκÏ.ελεί Όία εΟÏ.Ï.ερική εΜÏ.ολή.
    917 +
    918 +      Î.ερικά Ï.ρήÏ.ιΌα Ï.αραΎείγΌαÏ.α είΜαι (MS-DOS):
    919 +      :!dir            - εΌÏ.άΜιÏ.η λίÏ.Ï.αÏ. εΜÏ.Ï. καÏ.αλÏ.γοÏ..
    920 +      :!del Î.ΡΧÎ.Î.Î.     - ΎιαγράÏ.ει Ï.ο Î.ΡΧÎ.Î.Î..
    921 +
    922 +  2.  :w Î.ΡΧÎ.Î.Î.   Î³ÏÎ¬Ï.ει Ï.ο Ï.ρέÏ.Ï.Îœ αρÏ.είο Ï.οÏ. Vim Ï.Ï.ο ΎίÏ.κο Όε Ï.ΜοΌα Î.ΡΧÎ.Î.Î..
    923 +
    924 +  3.  :#,#w Î.ΡΧÎ.Î.Î.   Ï.Ï.ζει Ï.ιÏ. γραΌΌέÏ. αÏ.Ï. # ΌέÏ.ρι # Ï.Ï.ο Î.ΡΧÎ.Î.Î..
    925 +
    926 +  4.  :r Î.ΡΧÎ.Î.Î.  αΜακÏ.εί Ï.ο αρÏ.είο ΎίÏ.κοÏ. Î.ΡΧÎ.Î.Î. και Ï.ο Ï.αρεΌβάλλει ΌέÏ.α
    927 +      Ï.Ï.ο Ï.ρέÏ.οΜ αρÏ.είο ΌεÏ.ά αÏ.Ï. Ï.η ΞέÏ.η Ï.οÏ. ΎροΌέα.
     1156+                              ΜΑΘΗΜΑ 5 ΠΕΡΙΛΗΚΗ
     1157+
     1158+
     1159+  1.  :!εΜτολή  εκτελεί Όία εΟωτερική εΜτολή.
     1160+
     1161+      Μερικά χρήσιΌα παραΎείγΌατα είΜαι (MS-DOS):
     1162+      :!dir            - εΌφάΜιση λίστας εΜός καταλόγοÏ
     1163.
     1164+      :!del ΑΡΧΕΙΟ     - Ύιαγράφει το ΑΡΧΕΙΟ.
     1165+
     1166+  2.  :w ΑΡΧΕΙΟ   Î³ÏÎ¬Ï†ÎµÎ¹ το τρέχωΜ αρχείο τοÏ
     1167 Vim στο Ύίσκο Όε όΜοΌα ΑΡΧΕΙΟ.
     1168+
     1169+  3.  :#,#w ΑΡΧΕΙΟ   ÏƒÏŽÎ¶ÎµÎ¹ τις γραΌΌές από # Όέχρι # στο ΑΡΧΕΙΟ.
     1170+
     1171+  4.  :r ΑΡΧΕΙΟ  αΜακτεί το αρχείο ΎίσκοÏ
     1172 Î‘ΡΧΕΙΟ και το παρεΌβάλλει Όέσα
     1173+      στο τρέχοΜ αρχείο Όετά από τη Ξέση τοÏ
     1174 ÎŽÏÎ¿ÎŒÎ­Î±.
    9281175+
    9291176+
     
    9341181+
    9351182+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    936 +                       Î.άΞηΌα 6.1: Î. Î.Ν΀Î.Î.Î. Î.ΝÎ.Î.Î.Î.Î.΀Î.Σ
    937 +
    938 +
    939 +      ** ΠαÏ.ήÏ.Ï.ε  o  για Μα αΜοίΟεÏ.ε Όία γραΌΌή κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα και Μα
    940 +        βρεΞείÏ.ε Ï.ε Î.αÏ.άÏ.Ï.αÏ.η Î.ειΌέΜοÏ.. **
    941 +
    942 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε --->.
    943 +
    944 +  2. ΠαÏ.ήÏ.Ï.ε  o (Ï.εζÏ.) για Μα αΜοίΟεÏ.ε Όία γραΌΌή Î.Î.΀Ω αÏ.Ï. Ï.οΜ ΎροΌέα και Μα
    945 +     Î²ÏÎµÎžÎµÎ¯Ï.ε Ï.ε Î.αÏ.άÏ.Ï.αÏ.η Î.ειΌέΜοÏ..
    946 +
    947 +  3. ΀Ï.ρα αΜÏ.ιγράÏ.Ï.ε Ï.η Ï.ηΌειÏ.ΌέΜη Όε ---> γραΌΌή  και Ï.αÏ.ήÏ.Ï.ε <ESC> για Μα
    948 +     Î²Î³ÎµÎ¯Ï.ε αÏ.Ï. Ï.ηΜ Î.αÏ.άÏ.Ï.αÏ.η Î.ειΌέΜοÏ..
     1183+                       ÎœÎ¬ÎžÎ·ÎŒÎ± 6.1: Η ΕΝ΀ΟΛΗ ΑΝΟΙΓΜΑ΀ΟΣ
     1184+
     1185+
     1186+      ** Πατήστε  o  για Μα αΜοίΟετε Όία γραΌΌή κάτω από τοΜ ΎροΌέα και Μα
     1187+        βρεΞείτε σε Κατάσταση ΚειΌέΜοÏ
     1188. **
     1189+
     1190+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ παρακάτω γραΌΌή σηΌειωΌέΜη Όε --->.
     1191+
     1192+  2. Πατήστε  o (πεζό) για Μα αΜοίΟετε Όία γραΌΌή ΚΑ΀Ω από τοΜ ΎροΌέα και Μα
     1193+     Î²ÏÎµÎžÎµÎ¯Ï„ε σε Κατάσταση ΚειΌέΜοÏ
     1194.
     1195+
     1196+  3. ΀ώρα αΜτιγράψτε τη σηΌειωΌέΜη Όε ---> γραΌΌή  και πατήστε <ESC> για Μα
     1197+     Î²Î³ÎµÎ¯Ï„ε από τηΜ Κατάσταση ΚειΌέΜοÏ
     1198.
    9491199+
    9501200+---> After typing  o  the cursor is placed on the open line in Insert mode.
    9511201+
    952 +  4. Î.ια Μα αΜοίΟεÏ.ε Όία γραΌΌή Î Î.ΝΩ αÏ.Ï. Ï.οΜ ΎροΌέα, Ï.αÏ.ήÏ.Ï.ε αÏ.λά έΜα κεÏ.αλαίο
    953 +     O, αΜÏ.ί για έΜα Ï.εζÏ.  o.  Î.οκιΌάÏ.Ï.ε Ï.ο Ï.Ï.ηΜ Ï.αρακάÏ.Ï. γραΌΌή.
    954 +Î.ΜοίγεÏ.ε γραΌΌή Ï.άΜÏ. αÏ.Ï. αÏ.Ï.ήΜ Ï.αÏ.Ï.ÎœÏ.αÏ. Shift-O Ï.Ï.ο ο ΎροΌέαÏ. είΜαι Ï.Ï.η γραΌΌή
     1202+  4. Για Μα αΜοίΟετε Όία γραΌΌή ΠΑΝΩ από τοΜ ΎροΌέα, πατήστε απλά έΜα κεφαλαίο
     1203+     O, αΜτί για έΜα πεζό  o.  ΔοκιΌάστε το στηΜ παρακάτω γραΌΌή.
     1204+ΑΜοίγετε γραΌΌή πάΜω από αÏ
     1205τήΜ πατώΜτας Shift-O όσο ο ΎροΌέας είΜαι στη γραΌΌή
    9551206+
    9561207+
    9571208+
    9581209+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    959 +                        Î.άΞηΌα 6.2: Î. Î.Ν΀Î.Î.Î. ΠΡÎ.ΣÎ.Î.Î.Î.Σ
    960 +
    961 +         ** ΠαÏ.ήÏ.Ï.ε   a   Î³Î¹Î± Μα ειÏ.άγεÏ.ε κείΌεΜο Î.Î.΀Î. Ï.οΜ ΎροΌέα. **
    962 +
    963 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ο Ï.έλοÏ. Ï.ηÏ. Ï.ρÏ.Ï.ηÏ. γραΌΌήÏ. Ï.αρακάÏ.Ï.
    964 +     Ï.ηΌειÏ.ΌέΜη Όε ---> Ï.αÏ.Ï.ÎœÏ.αÏ.  $  Ï.Ï.ηΜ Î.αΜοΜική Î.αÏ.άÏ.Ï.αÏ.η.
    965 +
    966 +  2. ΠαÏ.ήÏ.Ï.ε έΜα  a  (Ï.εζÏ.) για Μα Ï.ροÏ.ΞέÏ.εÏ.ε κείΌεΜο Î.Î.΀Î. αÏ.Ï. Ï.οΜ Ï.αρακÏ.ήρα
    967 +     Ï.οÏ. είΜαι κάÏ.Ï. αÏ.Ï. Ï.οΜ ΎροΌέα.  (΀ο κεÏ.αλαίο  A  Ï.ροÏ.ΞέÏ.ει Ï.Ï.ο Ï.έλοÏ.
    968 +     Ï.ηÏ. γραΌΌήÏ.).
    969 +
    970 +ΣηΌείÏ.Ï.η: Î.Ï.Ï.Ï. αÏ.οÏ.εύγει Ï.ο Ï.άÏ.ηΌα Ï.οÏ.  i , Ï.οΜ Ï.ελεÏ.Ï.αίο Ï.αρακÏ.ήρα, Ï.ο
    971 +         ÎºÎµÎ¯ÎŒÎµÎœÎ¿ Ï.ηÏ. ειÏ.αγÏ.γήÏ., <ESC>, ΎροΌέα-ΎεΟιά, και Ï.έλοÏ., x, ÎŒÏ.Μο και
    972 +         ÎŒÏ.Μο για Μα Ï.ροÏ.ΞέÏ.εÏ.ε Ï.Ï.ο Ï.έλοÏ. Ï.ηÏ. γραΌΌήÏ.!
    973 +
    974 +  3. ΣÏ.ÎŒÏ.ληρÏ.Ï.Ï.ε Ï.Ï.ρα Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή. ΣηΌειÏ.Ï.Ï.ε εÏ.ίÏ.ηÏ. Ï.Ï.ι η Ï.ροÏ.Ξήκη είΜαι
    975 +     Î±ÎºÏÎ¹Î²Ï.Ï. ίΎια Ï.Ï.ηΜ Î.αÏ.άÏ.Ï.αÏ.η Î.ειΌέΜοÏ. Όε Ï.ηΜ Î.αÏ.άÏ.Ï.αÏ.η Î.ιÏ.αγÏ.γήÏ., εκÏ.Ï.Ï.
    976 +     Î±Ï.Ï. Ï.η ΞέÏ.η Ï.οÏ. ειÏ.άγεÏ.αι Ï.ο κείΌεΜο.
     1210+                        ΜάΞηΌα 6.2: Η ΕΝ΀ΟΛΗ ΠΡΟΣΘΗΚΗΣ
     1211+
     1212+         ** Πατήστε   a   Î³Î¹Î± Μα εισάγετε κείΌεΜο ΜΕ΀Α τοΜ ΎροΌέα. **
     1213+
     1214+  1. ΜετακιΜείστε τοΜ ΎροΌέα στο τέλος της πρώτης γραΌΌής παρακάτω
     1215+     ÏƒÎ·ÎŒÎµÎ¹Ï‰ÎŒÎ­ÎœÎ· Όε ---> πατώΜτας  $  στηΜ ΚαΜοΜική Κατάσταση.
     1216+
     1217+  2. Πατήστε έΜα  a  (πεζό) για Μα προσΞέσετε κείΌεΜο ΜΕ΀Α από τοΜ χαρακτήρα
     1218+     Ï€Î¿Ï
     1219 ÎµÎ¯ÎœÎ±Î¹ κάτω από τοΜ ΎροΌέα.  (΀ο κεφαλαίο  A  προσΞέτει στο τέλος
     1220+     Ï„ης γραΌΌής).
     1221+
     1222+ΣηΌείωση: ΑÏ
     1223τό αποφεύγει το πάτηΌα τοÏ
     1224  i , τοΜ τελεÏ
     1225ταίο χαρακτήρα, το
     1226+         ÎºÎµÎ¯ÎŒÎµÎœÎ¿ της εισαγωγής, <ESC>, ΎροΌέα-ΎεΟιά, και τέλος, x, ΌόΜο και
     1227+         ÎŒÏŒÎœÎ¿ για Μα προσΞέσετε στο τέλος της γραΌΌής!
     1228+
     1229+  3. ΣÏ
     1230Όπληρώστε τώρα τηΜ πρώτη γραΌΌή. ΣηΌειώστε επίσης ότι η προσΞήκη είΜαι
     1231+     Î±ÎºÏÎ¹Î²ÏŽÏ‚ ίΎια στηΜ Κατάσταση ΚειΌέΜοÏ
     1232 ÎŒÎµ τηΜ Κατάσταση Εισαγωγής, εκτός
     1233+     Î±Ï€ÏŒ τη Ξέση ποÏ
     1234 ÎµÎ¹ÏƒÎ¬Î³ÎµÏ„αι το κείΌεΜο.
    9771235+
    9781236+---> This line will allow you to practice
     
    9801238+
    9811239+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    982 +                  Î.άΞηΌα 6.3: Î.Î.Î.Î. Î.Î.Î.Î.ΣÎ. ΀Î.Σ Î.Ν΀Î.Î.Î.΀Î.Σ΀Î.ΣÎ.Σ
    983 +
    984 +
    985 + ** ΠαÏ.ήÏ.Ï.ε κεÏ.αλαίο  R  για Μα αλλάΟεÏ.ε Ï.εριÏ.Ï.Ï.Ï.εροÏ.Ï. αÏ.Ï. έΜαΜ Ï.αρακÏ.ήρεÏ.. **
    986 +
    987 +  1. Î.εÏ.ακιΜείÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή Ï.αρακάÏ.Ï. Ï.ηΌειÏ.ΌέΜη Όε --->.
    988 +
    989 +  2. ΀οÏ.οΞεÏ.ήÏ.Ï.ε Ï.οΜ ΎροΌέα Ï.Ï.ηΜ αρÏ.ή Ï.ηÏ. Ï.ρÏ.Ï.ηÏ. λέΟηÏ. Ï.οÏ. είΜαι ΎιαÏ.ορεÏ.ική
    990 +     Î±Ï.Ï. Ï.η ΎεύÏ.ερη γραΌΌή Ï.ηΌειÏ.ΌέΜη Όε ---> (η λέΟη 'last').
    991 +
    992 +  3. ΠαÏ.ήÏ.Ï.ε Ï.Ï.ρα  R   ÎºÎ±Î¹ αλλάΟÏ.ε Ï.ο Ï.Ï.Ï.λοιÏ.ο Ï.οÏ. κειΌέΜοÏ. Ï.Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή
    993 +     Î³ÏÎ¬Ï.οΜÏ.αÏ. Ï.άΜÏ. αÏ.Ï. Ï.ο Ï.αλιÏ. κείΌεΜο Ï.Ï.Ï.ε Μα κάΜεÏ.ε Ï.ηΜ Ï.ρÏ.Ï.η γραΌΌή ίΎια
    994 +     ÎŒÎµ Ï.η ΎεύÏ.ερη.
     1240+                  ΜάΞηΌα 6.3: ΑΛΛΗ ΕΚΔΟΣΗ ΀ΗΣ ΑΝ΀ΙΚΑ΀ΑΣ΀ΑΣΗΣ
     1241+
     1242+
     1243+ ** Πατήστε κεφαλαίο  R  για Μα αλλάΟετε περισσότεροÏ
     1244ς από έΜαΜ χαρακτήρες. **
     1245+
     1246+  1. ΜετακιΜείστε τοΜ ΎροΌέα στηΜ πρώτη γραΌΌή παρακάτω σηΌειωΌέΜη Όε --->.
     1247+
     1248+  2. ΀οποΞετήστε τοΜ ΎροΌέα στηΜ αρχή της πρώτης λέΟης ποÏ
     1249 ÎµÎ¯ÎœÎ±Î¹ Ύιαφορετική
     1250+     Î±Ï€ÏŒ τη Ύεύτερη γραΌΌή σηΌειωΌέΜη Όε ---> (η λέΟη 'last').
     1251+
     1252+  3. Πατήστε τώρα  R   ÎºÎ±Î¹ αλλάΟτε το Ï
     1253πόλοιπο τοÏ
     1254 ÎºÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
     1255 ÏƒÏ„ηΜ πρώτη γραΌΌή
     1256+     Î³ÏÎ¬Ï†Î¿ÎœÏ„ας πάΜω από το παλιό κείΌεΜο ώστε Μα κάΜετε τηΜ πρώτη γραΌΌή ίΎια
     1257+     ÎŒÎµ τη Ύεύτερη.
    9951258+
    9961259+---> To make the first line the same as the last on this page use the keys.
    9971260+---> To make the first line the same as the second, type R and the new text.
    9981261+
    999 +  4. ΣηΌειÏ.Ï.Ï.ε Ï.Ï.ι Ï.Ï.αΜ Ï.αÏ.άÏ.ε <ESC> για Μα βγείÏ.ε, Ï.αραΌέΜει οÏ.οιοΎήÏ.οÏ.ε
    1000 +     Î±ÎœÎ±Î»Î»Î¿Î¯Ï.Ï.ο κείΌεΜο.
     1262+  4. ΣηΌειώστε ότι όταΜ πατάτε <ESC> για Μα βγείτε, παραΌέΜει οποιοΎήποτε
     1263+     Î±ÎœÎ±Î»Î»Î¿Î¯Ï‰Ï„ο κείΌεΜο.
    10011264+
    10021265+
    10031266+
    10041267+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1005 +                         Î.άΞηΌα 6.4: ΡΥÎ.Î.Î.ΣÎ. Î.Î Î.Î.Î.Î.Î.Σ
    1006 +
    1007 +
    1008 +   ** ΡÏ.ΞΌίÏ.Ï.ε Όία εÏ.ιλογή έÏ.Ï.ι Ï.Ï.Ï.ε η αΜαζήÏ.ηÏ.η ή η αΜÏ.ικαÏ.άÏ.Ï.αÏ.η Μα αγΜοεί
    1009 +      Ï.η ΎιαÏ.ορά Ï.εζÏ.Îœ-κεÏ.αλαίÏ.Îœ **
    1010 +
    1011 +  1. ΚάΟÏ.ε για 'ignore' ειÏ.άγοΜÏ.αÏ.:
     1268+                         ÎœÎ¬ÎžÎ·ÎŒÎ± 6.4: ΡΥΘΜΙΣΗ ΕΠΙΛΟΓΗΣ
     1269+
     1270+
     1271+   ** ΡÏ
     1272ΞΌίστε Όία επιλογή έτσι ώστε η αΜαζήτηση ή η αΜτικατάσταση Μα αγΜοεί
     1273+      τη Ύιαφορά πεζώΜ-κεφαλαίωΜ **
     1274+
     1275+  1. ΚάΟτε για 'ignore' εισάγοΜτας:
    10121276+     /ignore
    1013 +     Î£Ï.ΜεÏ.ίÏ.Ï.ε αρκεÏ.έÏ. Ï.ορέÏ. Ï.αÏ.Ï.ÎœÏ.αÏ. Ï.ο Ï.λήκÏ.ρο n.
    1014 +
    1015 +  2. Î.έÏ.Ï.ε Ï.ηΜ εÏ.ιλογή 'ic' (Ignore case) γράÏ.οΜÏ.αÏ.:
     1277+     Î£Ï
     1278Μεχίστε αρκετές φορές πατώΜτας το πλήκτρο n.
     1279+
     1280+  2. Θέστε τηΜ επιλογή 'ic' (Ignore case) γράφοΜτας:
    10161281+     :set ic
    10171282+
    1018 +  3. ΚάΟÏ.ε Ï.Ï.ρα ΟαΜά για 'ignore' Ï.αÏ.Ï.ÎœÏ.αÏ.: n
    1019 +     Î£Ï.ΜεÏ.ίÏ.Ï.ε Ï.ηΜ αΜαζήÏ.ηÏ.η ΌερικέÏ. ακÏ.Όα Ï.ορέÏ. Ï.αÏ.Ï.ÎœÏ.αÏ. Ï.ο Ï.λήκÏ.ρο n
    1020 +
    1021 +  4. Î.έÏ.Ï.ε Ï.ιÏ. εÏ.ιλογέÏ. 'hlsearch' και 'incsearch':
     1283+  3. ΚάΟτε τώρα ΟαΜά για 'ignore' πατώΜτας: n
     1284+     Î£Ï
     1285Μεχίστε τηΜ αΜαζήτηση Όερικές ακόΌα φορές πατώΜτας το πλήκτρο n
     1286+
     1287+  4. Θέστε τις επιλογές 'hlsearch' και 'incsearch':
    10221288+     :set hls is
    10231289+
    1024 +  5. Î.ιÏ.άγεÏ.ε Ï.Ï.ρα ΟαΜά Ï.ηΜ εΜÏ.ολή αΜαζήÏ.ηÏ.ηÏ., και ΎείÏ.ε Ï.ι Ï.Ï.ΌβαίΜει
     1290+  5. Εισάγετε τώρα ΟαΜά τηΜ εΜτολή αΜαζήτησης, και Ύείτε τι σÏ
     1291ΌβαίΜει
    10251292+     /ignore
    10261293+
    10271294+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1028 +                              Î.Î.Î.Î.Î.Î. 6 Î Î.ΡÎ.Î.Î.ΚÎ.
    1029 +
    1030 +
    1031 +  1. ΠαÏ.Ï.ÎœÏ.αÏ.  o  αΜοίγει Όία γραΌΌή Î.Î.΀Ω αÏ.Ï. Ï.οΜ ΎροΌέα και Ï.οÏ.οΞεÏ.εί Ï.οΜ
    1032 +     ÎŽÏÎ¿ÎŒÎ­Î± Ï.Ï.ηΜ αΜοιÏ.Ï.ή γραΌΌή Ï.ε Î.αÏ.άÏ.Ï.αÏ.η Î.ειΌέΜοÏ..
    1033 +
    1034 +  2. ΠαÏ.ήÏ.Ï.ε  a  για Μα ειÏ.άγεÏ.ε κείΌεΜο Î.Î.΀Î. Ï.οΜ Ï.αρακÏ.ήρα Ï.Ï.οΜ οÏ.οίο είΜαι
    1035 +     Î¿ ΎροΌέαÏ.. ΠαÏ.Ï.ÎœÏ.αÏ. κεÏ.αλαίο  A  αÏ.Ï.Ï.ΌαÏ.α Ï.ροÏ.ΞέÏ.ει κείΌεΜο Ï.Ï.ο Ï.έλοÏ.
    1036 +     Ï.ηÏ. γραΌΌήÏ..
    1037 +
    1038 +  3. ΠαÏ.Ï.ÎœÏ.αÏ. κεÏ.αλαίο  R  ειÏ.έρÏ.εÏ.αι Ï.Ï.ηΜ Î.αÏ.άÏ.Ï.αη Î.ÎœÏ.ικαÏ.άÏ.Ï.αÏ.ηÏ. ΌέÏ.ρι Μα
    1039 +     Ï.αÏ.ηΞεί Ï.ο <ESC> και Μα εΟέλΞει.
    1040 +
    1041 +  4. Î.ράÏ.οΜÏ.αÏ. ":set xxx" ρÏ.ΞΌίζει Ï.ηΜ εÏ.ιλογή "xxx".
     1295+                              ΜΑΘΗΜΑ 6 ΠΕΡΙΛΗΚΗ
     1296+
     1297+
     1298+  1. ΠατώΜτας  o  αΜοίγει Όία γραΌΌή ΚΑ΀Ω από τοΜ ΎροΌέα και τοποΞετεί τοΜ
     1299+     ÎŽÏÎ¿ÎŒÎ­Î± στηΜ αΜοιχτή γραΌΌή σε Κατάσταση ΚειΌέΜοÏ
     1300.
     1301+
     1302+  2. Πατήστε  a  για Μα εισάγετε κείΌεΜο ΜΕ΀Α τοΜ χαρακτήρα στοΜ οποίο είΜαι
     1303+     Î¿ ΎροΌέας. ΠατώΜτας κεφαλαίο  A  αÏ
     1304τόΌατα προσΞέτει κείΌεΜο στο τέλος
     1305+     Ï„ης γραΌΌής.
     1306+
     1307+  3. ΠατώΜτας κεφαλαίο  R  εισέρχεται στηΜ Κατάσταη ΑΜτικατάστασης Όέχρι Μα
     1308+     Ï€Î±Ï„ηΞεί το <ESC> και Μα εΟέλΞει.
     1309+
     1310+  4. ΓράφοΜτας ":set xxx" ρÏ
     1311ΞΌίζει τηΜ επιλογή "xxx".
    10421312+
    10431313+
     
    10491319+
    10501320+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1051 +                      Î.Î.Î.Î.Î.Î. 7: ON-LINE Î.Ν΀Î.Î.Î.Σ Î.Î.Î.Î.Î.Î.Î.Σ
    1052 +
    1053 +
    1054 +               ** ΧρηÏ.ιΌοÏ.οιήÏ.Ï.ε Ï.ο on-line Ï.ύÏ.Ï.ηΌα βοήΞειαÏ. **
    1055 +
    1056 +  Î. Vim έÏ.ει έΜα Ï.εριεκÏ.ικÏ. on-line Ï.ύÏ.Ï.ηΌα βοήΞειαÏ.. Î.ια Μα ΟεκιΜήÏ.ει,
    1057 +  ΎοκιΌάÏ.Ï.ε κάÏ.οιο αÏ.Ï. Ï.α Ï.ρία:
    1058 +       - Ï.αÏ.ήÏ.Ï.ε Ï.ο Ï.λήκÏ.ρο <HELP> (αΜ έÏ.εÏ.ε κάÏ.οιο)
    1059 +       - Ï.αÏ.ήÏ.Ï.ε Ï.ο Ï.λήκÏ.ρο <F1> (αΜ έÏ.εÏ.ε κάÏ.οιο)
    1060 +       - γράÏ.Ï.ε   :help <ENTER>
    1061 +
    1062 +  Î.ράÏ.Ï.ε  :q <ENTER>   Î³Î¹Î± Μα κλείÏ.εÏ.ε Ï.ο Ï.αράΞÏ.ρο Ï.ηÏ. βοήΞειαÏ..
    1063 +
    1064 +  Î.Ï.ορείÏ.ε Μα βρείÏ.ε βοήΞεια Ï.άΜÏ. Ï.ε κάΞε αΜÏ.ικείΌεΜο, ΎίΜοΜÏ.αÏ. Όία Ï.αράΌεÏ.ρο
    1065 +  Ï.Ï.ηΜ εΜÏ.ολή ":help".  Î.οκιΌάÏ.Ï.ε αÏ.Ï.ά (ΌηΜ ΟεÏ.ΜάÏ.ε Μα Ï.αÏ.άÏ.ε <ENTER>):
     1321+                      ΜΑΘΗΜΑ 7: ON-LINE ΕΝ΀ΟΛΕΣ ΒΟΗΘΕΙΑΣ
     1322+
     1323+
     1324+               ** ΧρησιΌοποιήστε το on-line σύστηΌα βοήΞειας **
     1325+
     1326+  Ο Vim έχει έΜα περιεκτικό on-line σύστηΌα βοήΞειας. Για Μα ΟεκιΜήσει,
     1327+  ΎοκιΌάστε κάποιο από τα τρία:
     1328+       - πατήστε το πλήκτρο <HELP> (αΜ έχετε κάποιο)
     1329+       - πατήστε το πλήκτρο <F1> (αΜ έχετε κάποιο)
     1330+       - γράψτε   :help <ENTER>
     1331+
     1332+  Γράψτε  :q <ENTER>   Î³Î¹Î± Μα κλείσετε το παράΞÏ
     1333ρο της βοήΞειας.
     1334+
     1335+  Μπορείτε Μα βρείτε βοήΞεια πάΜω σε κάΞε αΜτικείΌεΜο, ΎίΜοΜτας Όία παράΌετρο
     1336+  στηΜ εΜτολή ":help".  ΔοκιΌάστε αÏ
     1337τά (ΌηΜ ΟεχΜάτε Μα πατάτε <ENTER>):
    10661338+
    10671339+       :help w
     
    10721344+
    10731345+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1074 +                 Î.Î.Î.Î.Î.Î. 8: Î.Î.Î.Î.Î.ΥΡÎ.Î.Σ΀Î. Î.ΝÎ. SCRIPT Î.Î.Î.Î.ΝÎ.ΣÎ.Σ
    1075 +
    1076 +                  ** Î.ΜεργοÏ.οιήÏ.Ï.ε Ï.αρακÏ.ηριÏ.Ï.ικά Ï.οÏ. Vim **
    1077 +
    1078 +  Î. Vim έÏ.ει Ï.ολλά Ï.εριÏ.Ï.Ï.Ï.ερα Ï.αρακÏ.ηριÏ.Ï.ικά αÏ.' Ï.,Ï.ι ο Vi, αλλά Ï.α
    1079 +  Ï.εριÏ.Ï.Ï.Ï.ερα είΜαι αρÏ.ικά αÏ.εΜεργοÏ.οιηΌέΜα. Î.ια Μα αρÏ.ίÏ.εÏ.ε Μα Ï.ρηÏ.ιΌοÏ.οιείÏ.ε
    1080 +  Ï.εριÏ.Ï.Ï.Ï.ερα Ï.αρακÏ.ηριÏ.Ï.ικά Ï.ρέÏ.ει Μα Ï.Ï.ιάΟεÏ.ε έΜα αρÏ.είο "vimrc".
    1081 +
    1082 +  1. Î.ρÏ.ίÏ.Ï.ε ΎιορΞÏ.ΜοΜÏ.αÏ. Ï.ο αρÏ.είο "vimrc", αÏ.Ï.Ï. εΟαρÏ.άÏ.αι αÏ.Ï. Ï.ο Ï.ύÏ.Ï.ηΌά Ï.αÏ.:
     1346+                 ÎœÎ‘ΘΗΜΑ 8: ΔΗΜΙΟΥΡΓΗΣ΀Ε ΕΝΑ SCRIPT ΕΚΚΙΝΗΣΗΣ
     1347+
     1348+                  ** ΕΜεργοποιήστε χαρακτηριστικά τοÏ
     1349 Vim **
     1350+
     1351+  Ο Vim έχει πολλά περισσότερα χαρακτηριστικά απ' ό,τι ο Vi, αλλά τα
     1352+  περισσότερα είΜαι αρχικά απεΜεργοποιηΌέΜα. Για Μα αρχίσετε Μα χρησιΌοποιείτε
     1353+  περισσότερα χαρακτηριστικά πρέπει Μα φτιάΟετε έΜα αρχείο "vimrc".
     1354+
     1355+  1. Αρχίστε ΎιορΞώΜοΜτας το αρχείο "vimrc", αÏ
     1356τό εΟαρτάται από το σύστηΌά σας:
    10831357+       :edit ~/.vimrc               Î³Î¹Î± Unix
    10841358+       :edit $VIM/_vimrc            για MS-Windows
    10851359+
    1086 +  2. ΀Ï.ρα ειÏ.άγεÏ.ε Ï.ο κείΌεΜο Ï.αραΎείγΌαÏ.οÏ. για αρÏ.είο "vimrc":
     1360+  2. ΀ώρα εισάγετε το κείΌεΜο παραΎείγΌατος για αρχείο "vimrc":
    10871361+       :read $VIMRUNTIME/vimrc_example.vim
    10881362+
    1089 +  3. Î.ράÏ.Ï.ε Ï.ο αρÏ.είο Όε Ï.ηΜ:
     1363+  3. Γράψτε το αρχείο Όε τηΜ:
    10901364+       :write
    10911365+
    1092 +  ΀ηΜ εÏ.Ï.ΌεΜη Ï.ορά Ï.οÏ. Ξα ΟεκιΜήÏ.εÏ.ε Ï.οΜ Vim Ξα Ï.ρηÏ.ιΌοÏ.οιήÏ.ει Ï.Ï.Ï.ιÏ.ÎŒÏ.
    1093 +  Ï.ύΜÏ.αΟηÏ..  Î.Ï.ορείÏ.ε Μα Ï.ροÏ.ΞέÏ.εÏ.ε Ï.λεÏ. Ï.ιÏ. Ï.ροÏ.ιΌÏ.ΌεΜεÏ. εÏ.ιλογέÏ. Ï.' αÏ.Ï.Ï.
    1094 +  Ï.ο αρÏ.είο "vimrc".
     1366+  ΀ηΜ επόΌεΜη φορά ποÏ
     1367 ÎžÎ± ΟεκιΜήσετε τοΜ Vim Ξα χρησιΌοποιήσει φωτισΌό
     1368+  σύΜταΟης.  Μπορείτε Μα προσΞέσετε όλες τις προτιΌώΌεΜες επιλογές σ' αÏ
     1369τό
     1370+  το αρχείο "vimrc".
    10951371+
    10961372+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    10971373+
    1098 +  Î.ÎŽÏ. ολοκληρÏ.ΜεÏ.αι Ï.ο Vim Tutor. ΣκοÏ.Ï.Ï. Ï.οÏ. ήÏ.αΜ Μα ÎŽÏ.Ï.ει Όία Ï.ύΜÏ.οΌη
    1099 +  Ï.ερίληÏ.η Ï.οÏ. Ï.Ï.ÎœÏ.άκÏ.η Vim, Ï.οÏ.λάÏ.ιÏ.Ï.οΜ Ï.Ï.Ï.η Ï.Ï.Ï.ε Μα Ï.αÏ. εÏ.ιÏ.ρέÏ.ει Μα
    1100 +  Ï.ρηÏ.ιΌοÏ.οιήÏ.εÏ.ε Ï.οΜ Ï.Ï.ÎœÏ.άκÏ.η αρκεÏ.ά εύκολα. Î.Ï.έÏ.ει Ï.ολύ αÏ.Ï. Όία
    1101 +  ολοκληρÏ.ΌέΜη Ï.αροÏ.Ï.ίαÏ.η καΞÏ.Ï. ο Vim έÏ.ει Ï.άρα Ï.ολλέÏ. εΜÏ.ολέÏ.. Î.ιαβάÏ.Ï.ε
    1102 +  καÏ.Ï.Ï.ιΜ Ï.ο εγÏ.ειρίΎιο Ï.ρήÏ.ηÏ.:
     1374+  ΕΎώ ολοκληρώΜεται το Vim Tutor. Σκοπός τοÏ
     1375 Î®Ï„αΜ Μα Ύώσει Όία σύΜτοΌη
     1376+  περίληψη τοÏ
     1377 ÏƒÏ
     1378Μτάκτη Vim, τοÏ
     1379λάχιστοΜ τόση ώστε Μα σας επιτρέψει Μα
     1380+  χρησιΌοποιήσετε τοΜ σÏ
     1381Μτάκτη αρκετά εύκολα. Απέχει πολύ από Όία
     1382+  ολοκληρωΌέΜη παροÏ
     1383σίαση καΞώς ο Vim έχει πάρα πολλές εΜτολές. Διαβάστε
     1384+  κατόπιΜ το εγχειρίΎιο χρήσης:
    11031385+       ":help user-manual".
    11041386+
    1105 +  Î.ια Ï.εραιÏ.έρÏ. ΎιάβαÏ.Όα και ΌελέÏ.η, Ï.Ï.Ï.Ï.ήΜεÏ.αι αÏ.Ï.Ï. Ï.ο βιβλίο:
     1387+  Για περαιτέρω ΎιάβασΌα και Όελέτη, σÏ
     1388στήΜεται αÏ
     1389τό το βιβλίο:
    11061390+       Vim - Vi Improved - by Steve Oualline
    11071391+       Publisher: New Riders
    1108 +       Î€Î¿ Ï.ρÏ.Ï.ο βιβλίο Ï.λήρÏ.Ï. αÏ.ιερÏ.ΌέΜο Ï.Ï.οΜ Vim.
    1109 +       Î.ΎιαίÏ.ερα Ï.ρήÏ.ιΌο για αρÏ.άριοÏ.Ï..
    1110 +       Î¥Ï.άρÏ.οÏ.Îœ Ï.ολλά Ï.αραΎείγΌαÏ.α και εικÏ.ΜεÏ..
    1111 +       Î.είÏ.ε Ï.ηΜ http://iccf-holland.org/click5.html
    1112 +
    1113 +  Î.Ï.Ï.Ï. Ï.ο βιβλίο είΜαι Ï.αλιÏ.Ï.ερο και Ï.εριÏ.Ï.Ï.Ï.ερο για Ï.οΜ Vi Ï.αρά για Ï.οΜ Vim,
    1114 +  αλλά εÏ.ίÏ.ηÏ. Ï.Ï.ΜιÏ.Ï.Ï.ΌεΜο:
     1392+       Î€Î¿ πρώτο βιβλίο πλήρως αφιερωΌέΜο στοΜ Vim.
     1393+       Î™ÎŽÎ¹Î±Î¯Ï„ερα χρήσιΌο για αρχάριοÏ
     1394ς.
     1395+       Î¥Ï€Î¬ÏÏ‡Î¿Ï
     1396Îœ πολλά παραΎείγΌατα και εικόΜες.
     1397+       Î”είτε τηΜ http://iccf-holland.org/click5.html
     1398+
     1399+  ΑÏ
     1400τό το βιβλίο είΜαι παλιότερο και περισσότερο για τοΜ Vi παρά για τοΜ Vim,
     1401+  αλλά επίσης σÏ
     1402ΜιστώΌεΜο:
    11151403+       Learning the Vi Editor - by Linda Lamb
    11161404+       Publisher: O'Reilly & Associates Inc.
    1117 +       Î.ίΜαι έΜα καλÏ. βιβλίο για Μα ΌάΞεÏ.ε Ï.Ï.εΎÏ.Îœ Ï.α Ï.άΜÏ.α Ï.οÏ. ΞέλεÏ.ε
    1118 +       ÎœÎ± κάΜεÏ.ε Όε Ï.οΜ Vi.
    1119 +       Î. έκÏ.η έκΎοÏ.η Ï.εριέÏ.ει ακÏ.Όα Ï.ληροÏ.ορίεÏ. για Ï.οΜ Vim.
    1120 +
    1121 +  Î.Ï.Ï.ή η Ï.εριήγηÏ.η γράÏ.Ï.ηκε αÏ.Ï. Ï.οÏ.Ï. Michael C. Pierce και Robert K. Ware,
    1122 +  Colorado School of Mines Ï.ρηÏ.ιΌοÏ.οιÏ.ÎœÏ.αÏ. ιΎέεÏ. αÏ.Ï. Ï.οΜ Charles Smith,
     1405+       Î•Î¯ÎœÎ±Î¹ έΜα καλό βιβλίο για Μα ΌάΞετε σχεΎόΜ τα πάΜτα ποÏ
     1406 ÎžÎ­Î»ÎµÏ„ε
     1407+       ÎœÎ± κάΜετε Όε τοΜ Vi.
     1408+       Î— έκτη έκΎοση περιέχει ακόΌα πληροφορίες για τοΜ Vim.
     1409+
     1410+  ΑÏ
     1411τή η περιήγηση γράφτηκε από τοÏ
     1412ς Michael C. Pierce και Robert K. Ware,
     1413+  Colorado School of Mines χρησιΌοποιώΜτας ιΎέες από τοΜ Charles Smith,
    11231414+  Colorado State University.  E-mail: bware@mines.colorado.edu.
    11241415+
    1125 +  ΠροÏ.αρΌογή για Ï.οΜ Vim αÏ.Ï. Ï.οΜ Bram Moolenaar.
     1416+  ΠροσαρΌογή για τοΜ Vim από τοΜ Bram Moolenaar.
    11261417+
    11271418+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    11281419diff -Naur vim70.orig/runtime/tutor/tutor.ru.utf-8 vim70/runtime/tutor/tutor.ru.utf-8
    11291420--- vim70.orig/runtime/tutor/tutor.ru.utf-8     1969-12-31 16:00:00.000000000 -0800
    1130 +++ vim70/runtime/tutor/tutor.ru.utf-8  2006-09-11 08:57:09.000000000 -0700
     1421+++ vim70/runtime/tutor/tutor.ru.utf-8  2006-10-13 01:02:54.000000000 -0700
    11311422@@ -0,0 +1,834 @@
    11321423+===============================================================================
    1133 +=    Ð. П б Ñ. П   Ð¿ П ж а л П в а Ñ. Ñ.   Ð²   Ñ. Ñ. е б Ðœ О к   VIM  -  Ð.еÑ.сОя 1.5 =
     1424+=    Д П б р П   Ð¿ П ж а л П в а т ь   Ð²   Ñƒ ч е б Ðœ О к   VIM  -  ВерсОя 1.5 =
    11341425+===============================================================================
    1135 +     Vim --- эÑ.П ПÑ.еМÑ. ЌПÑ.ÐœÑ.й Ñ.еЎакÑ.ПÑ., ОЌеÑ.Ñ.Ой ЌМПжесÑ.вП кПЌаМЎ, слОÑ.кПЌ
    1136 +     ÐŒÐœÐŸÐ³ÐŸ Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. ОÑ. все ЌПжМП бÑ.лП ПпОсаÑ.Ñ. в Ñ.акПЌ Ñ.Ñ.ебМОке, как
    1137 +     ÑÑ.ПÑ.. ЭÑ.ПÑ. Ñ.Ñ.ебМОк пÑ.ОзваМ ПбÑ.ясМОÑ.Ñ. ЎПсÑ.аÑ.ПÑ.МПе Ñ.ОслП кПЌаМЎ Ўля Ñ.ПгП,
    1138 +     Ñ.Ñ.ПбÑ. Ð.Ñ. ЌПглО с легкПсÑ.Ñ.Ñ. ОспПлÑ.зПваÑ.Ñ. Vim в каÑ.есÑ.ве Ñ.еЎакÑ.ПÑ.а ПбÑ.егП
    1139 +     ÐœÐ°Ð·ÐœÐ°Ñ.еМОя.
    1140 +
    1141 +     Ð.аЌ пПÑ.Ñ.ебÑ.еÑ.ся пÑ.ОблОзОÑ.елÑ.МП 25-30 ЌОМÑ.Ñ. Ма ПсвПеМОе ЎаММПгП Ñ.Ñ.ебМОка в
    1142 +     Ð·Ð°Ð²ÐžÑÐžÐŒÐŸÑÑ.О ПÑ. Ñ.ПгП, скПлÑ.кП вÑ.еЌеМО Ð.Ñ. пПÑ.Ñ.аÑ.ОÑ.е Ма экспеÑ.ОЌеМÑ.Ñ..
    1143 +
    1144 +     Ð.ПЌаМЎÑ. в Ñ.Ñ.ПкаÑ. бÑ.ÐŽÑ.Ñ. ЌПЎОÑ.ОÑ.ОÑ.ПваÑ.Ñ. Ñ.ексÑ.. СПзЎайÑ.е кПпОÑ. эÑ.ПгП Ñ.айла,
    1145 +     Ñ.Ñ.ПбÑ. пПпÑ.акÑ.ОкПваÑ.Ñ.ся Ма Мей (еслО Ð.Ñ. запÑ.сÑ.ОлО "vimtutor", Ñ.П эÑ.П Ñ.же
     1426+     Vim --- этП ПчеМь ЌПщМый реЎактПр, ОЌеющОй ЌМПжествП кПЌаМЎ, слОшкПЌ
     1427+     ÐŒÐœÐŸÐ³ÐŸ Ўля тПгП, чтПбы ОÑ
     1428 Ð²ÑÐµ ЌПжМП былП ПпОсать в такПЌ учебМОке, как
     1429+     ÑÑ‚Пт. ЭтПт учебМОк прОзваМ ПбъясМОть ЎПстатПчМПе чОслП кПЌаМЎ Ўля тПгП,
     1430+     Ñ‡Ñ‚Пбы Вы ЌПглО с легкПстью ОспПльзПвать Vim в качестве реЎактПра ПбщегП
     1431+     ÐœÐ°Ð·ÐœÐ°Ñ‡ÐµÐœÐžÑ.
     1432+
     1433+     Ð’аЌ пПтребуется прОблОзОтельМП 25-30 ЌОМут Ма ПсвПеМОе ЎаММПгП учебМОка в
     1434+     Ð·Ð°Ð²ÐžÑÐžÐŒÐŸÑÑ‚О Пт тПгП, скПлькП вреЌеМО Вы пПтратОте Ма эксперОЌеМты.
     1435+
     1436+     ÐšÐŸÐŒÐ°ÐœÐŽÑ‹ в урПкаÑ
     1437 Ð±ÑƒÐŽÑƒÑ‚ ЌПЎОфОцОрПвать текст. СПзЎайте кПпОю этПгП файла,
     1438+     Ñ‡Ñ‚Пбы пПпрактОкПваться Ма Мей (еслО Вы запустОлО "vimtutor", тП этП уже
    11461439+     ÐºÐŸÐ¿ÐžÑ).
    11471440+
    1148 +     Ð.ажМП пПЌМОÑ.Ñ., Ñ.Ñ.П эÑ.ПÑ. Ñ.Ñ.ебМОк пÑ.еЎМазМаÑ.еМ Ўля ПбÑ.Ñ.еМОя в пÑ.ПÑ.ессе
    1149 +     ÐžÑÐ¿ÐŸÐ»Ñ.зПваМОя. ЭÑ.П ПзМаÑ.аеÑ., Ñ.Ñ.П Ð.Ñ. ЎПлжМÑ. запÑ.скаÑ.Ñ. кПЌаМЎÑ. Ўля Ñ.ПгП,
    1150 +     Ñ.Ñ.ПбÑ. как слеЎÑ.еÑ. ОÑ. ОзÑ.Ñ.ОÑ.Ñ.. Ð.слО Ð.Ñ. пÑ.ПсÑ.П пÑ.ПÑ.ОÑ.аеÑ.е Ñ.ексÑ., Ñ.П
    1151 +     Ð·Ð°Ð±Ñ.ЎеÑ.е кПЌаМЎÑ.!
    1152 +
    1153 +     Ð¢ÐµÐ¿ÐµÑ.Ñ. Ñ.беЎОÑ.есÑ. в Ñ.ПЌ, Ñ.Ñ.П клавОÑ.а CapsLock Ме вклÑ.Ñ.еМа О МажЌОÑ.е
    1154 +     ÐºÐ»Ð°Ð²ÐžÑ.Ñ.   j   ÐœÐµÑÐºÐŸÐ»Ñ.кП Ñ.аз, Ñ.ак, Ñ.Ñ.ПбÑ. УÑ.Пк 1.1 пПлМПсÑ.Ñ.Ñ. пПЌесÑ.Олся Ма
    1155 +     ÑÐºÑ.аМе.
     1441+     Ð’ажМП пПЌМОть, чтП этПт учебМОк преЎМазМачеМ Ўля ПбучеМОя в прПцессе
     1442+     ÐžÑÐ¿ÐŸÐ»ÑŒÐ·ÐŸÐ²Ð°ÐœÐžÑ. ЭтП ПзМачает, чтП Вы ЎПлжМы запускать кПЌаМЎы Ўля тПгП,
     1443+     Ñ‡Ñ‚Пбы как слеЎует ОÑ
     1444 ÐžÐ·ÑƒÑ‡ÐžÑ‚ÑŒ. ЕслО Вы прПстП прПчОтаете текст, тП
     1445+     Ð·Ð°Ð±ÑƒÐŽÐµÑ‚е кПЌаМЎы!
     1446+
     1447+     Ð¢ÐµÐ¿ÐµÑ€ÑŒ убеЎОтесь в тПЌ, чтП клавОша CapsLock Ме включеМа О МажЌОте
     1448+     ÐºÐ»Ð°Ð²ÐžÑˆÑƒ   j   ÐœÐµÑÐºÐŸÐ»ÑŒÐºÐŸ раз, так, чтПбы УрПк 1.1 пПлМПстью пПЌестОлся Ма
     1449+     ÑÐºÑ€Ð°ÐœÐµ.
    11561450+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1157 +                       Ð£Ñ.Пк 1.1:  Ð.Ð.Ð Ð.Ð.Ð.ЩÐ.НÐ.Ð. Ð.УРСÐ.РА
    1158 +
    1159 +** Ð.ля пеÑ.еЌеÑ.еМОя кÑ.Ñ.сПÑ.а МажЌОÑ.е клавОÑ.О h,j,k,l Ñ.ак, как пПказаМП МОже. **
     1451+                       Ð£Ñ€ÐŸÐº 1.1:  ПЕРЕМЕЩЕНИЕ КУРСОРА
     1452+
     1453+** Для переЌещеМОя курсПра МажЌОте клавОшО h,j,k,l так, как пПказаМП МОже. **
    11601454+            ^
    1161 +            k          СПвеÑ.Ñ.:   Ð.лавОÑ.а h МаÑ.ПЎОÑ.ся слева О пеÑ.еЌеÑ.аеÑ. влевП.
    1162 +       < h      l >            Ð.лавОÑ.а l МаÑ.ПЎОÑ.ся спÑ.ава О пеÑ.еЌеÑ.аеÑ. впÑ.авП.
    1163 +            j                  Ð.лавОÑ.а j пПÑ.Пжа Ма сÑ.Ñ.елкÑ. `вМОз'.
     1455+            k          СПветы:   ÐšÐ»Ð°Ð²ÐžÑˆÐ° h МаÑ
     1456ПЎОтся слева О переЌещает влевП.
     1457+       < h      l >            КлавОша l МаÑ
     1458ПЎОтся справа О переЌещает вправП.
     1459+            j                  КлавОша j пПÑ
     1460Пжа Ма стрелку `вМОз'.
    11641461+            v
    1165 +  1. Ð.ПЎвОгайÑ.е кÑ.Ñ.сПÑ. пП экÑ.аМÑ., пПка Ме пПÑ.Ñ.всÑ.вÑ.еÑ.е себя Ñ.веÑ.еММП.
    1166 +
    1167 +  2. НаЎавОÑ.е клавОÑ.Ñ. `вМОз' (j) пПка ПМа Ме МаÑ.МеÑ. пПвÑ.ПÑ.яÑ.Ñ.ся.
    1168 +---> ТепеÑ.Ñ. Ð.Ñ. зМаеÑ.е, как пеÑ.ейÑ.О к слеЎÑ.Ñ.Ñ.еЌÑ. Ñ.Ñ.ПкÑ..
    1169 +
    1170 +  3. Ð.спПлÑ.зÑ.я клавОÑ.Ñ. `вМОз' пеÑ.ейЎОÑ.е к УÑ.ПкÑ. 1.2.
    1171 +
    1172 +Ð.аЌеÑ.аМОе: Ð.слО вÑ. пПка Ме Ñ.веÑ.еМÑ. в Ñ.ПЌ, Ñ.Ñ.П МабОÑ.аеÑ.е, МажЌОÑ.е <ESC> Ўля
    1173 +          пеÑ.еÑ.ПЎа в ПбÑ.Ñ.ÐœÑ.й Ñ.ежОЌ (Normal mode). Ð.Псле эÑ.ПгП пеÑ.еМабеÑ.ОÑ.е
    1174 +          Ñ.Ñ.ебÑ.еЌÑ.Ñ. кПЌаМЎÑ..
    1175 +
    1176 +Ð.аЌеÑ.аМОе: Ð.бÑ.Ñ.ÐœÑ.е клавОÑ.О Ñ.пÑ.авлеМОя кÑ.Ñ.сПÑ.ПЌ (сÑ.Ñ.елкО) Ñ.акже ЎПлжМÑ.
    1177 +          Ñ.абПÑ.аÑ.Ñ.. Ð.ЎМакП, клавОÑ.О hjkl пПзвПляÑ. Ð.аЌ пеÑ.еЌеÑ.аÑ.Ñ.ся
    1178 +          зМаÑ.ОÑ.елÑ.МП бÑ.сÑ.Ñ.ее, как Ñ.ПлÑ.кП Ð.Ñ. МаÑ.Ñ.ОÑ.есÑ. ОЌО пПлÑ.зПваÑ.Ñ.ся.
     1462+  1. ППЎвОгайте курсПр пП экраМу, пПка Ме пПчувствуете себя увереММП.
     1463+
     1464+  2. НаЎавОте клавОшу `вМОз' (j) пПка ПМа Ме МачМет пПвтПряться.
     1465+---> Теперь Вы зМаете, как перейтО к слеЎующеЌу урПку.
     1466+
     1467+  3. ИспПльзуя клавОшу `вМОз' перейЎОте к УрПку 1.2.
     1468+
     1469+ЗаЌечаМОе: ЕслО вы пПка Ме увереМы в тПЌ, чтП МабОраете, МажЌОте <ESC> Ўля
     1470+          переÑ
     1471ПЎа в ПбычМый режОЌ (Normal mode). ППсле этПгП переМаберОте
     1472+          требуеЌую кПЌаМЎу.
     1473+
     1474+ЗаЌечаМОе: ОбычМые клавОшО управлеМОя курсПрПЌ (стрелкО) также ЎПлжМы
     1475+          рабПтать. ОЎМакП, клавОшО hjkl пПзвПлят ВаЌ переЌещаться
     1476+          зМачОтельМП быстрее, как тПлькП Вы МаучОтесь ОЌО пПльзПваться.
    11791477+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1180 +                 Ð£Ñ.Пк 1.2: Ð.АÐ.УСÐ. Ð. Ð.АÐ.Ð.РКÐ.НÐ.Ð. РАÐ.Ð.ТЫ С VIM
    1181 +
    1182 +!! Ð.НÐ.Ð.АНÐ.Ð.! Ð.Ñ.ежЎе, Ñ.еЌ вÑ.пПлМяÑ.Ñ. лÑ.бПй Оз ПпОсаММÑ.Ñ. МОже Ñ.агПв, пÑ.ПÑ.Ñ.ОÑ.е
    1183 +                              Ñ.Ñ.Пк Ñ.елОкПЌ !!
    1184 +
    1185 +  1. НажЌОÑ.е клавОÑ.Ñ. <ESC> (Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. Ñ.ЎПсÑ.ПвеÑ.ОÑ.Ñ.ся, Ñ.Ñ.П Ð.Ñ. в ПбÑ.Ñ.МПЌ
    1186 +     Ñ.ежОЌе (Normal mode)).
    1187 +
    1188 +  2. НабеÑ.ОÑ.е:                 :q! <ENTER>.
    1189 +
    1190 +---> ЭÑ.П пПзвПлОÑ. Ð.аЌ вÑ.йÑ.О Оз Ñ.еЎакÑ.ПÑ.а Ð.Ð.Ð. СÐ.ХРАНÐ.НÐ.Я лÑ.бÑ.Ñ. сЎелаММÑ.Ñ.
    1191 +     ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹. Ð.слО Ð.Ñ. Ñ.ПÑ.ОÑ.е сПÑ.Ñ.аМОÑ.Ñ. ОзЌеМеМОя О вÑ.йÑ.О:
     1478+                 Ð£Ñ€ÐŸÐº 1.2: ЗАПУСК И ЗАВЕРКЕНИЕ РАБОТЫ С VIM
     1479+
     1480+!! ВНИМАНИЕ! ПрежЎе, чеЌ выпПлМять любПй Оз ПпОсаММыÑ
     1481 ÐœÐžÐ¶Ðµ шагПв, прПчтОте
     1482+                              урПк целОкПЌ !!
     1483+
     1484+  1. НажЌОте клавОшу <ESC> (Ўля тПгП, чтПбы уЎПстПверОться, чтП Вы в ПбычМПЌ
     1485+     Ñ€ÐµÐ¶ÐžÐŒÐµ (Normal mode)).
     1486+
     1487+  2. НаберОте:                 :q! <ENTER>.
     1488+
     1489+---> ЭтП пПзвПлОт ВаЌ выйтО Оз реЎактПра БЕЗ СОХРАНЕНИЯ любыÑ
     1490 ÑÐŽÐµÐ»Ð°ÐœÐœÑ‹Ñ
     1491
     1492+     ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹. ЕслО Вы Ñ
     1493ПтОте сПÑ
     1494раМОть ОзЌеМеМОя О выйтО:
    11921495+                               :wq  <ENTER>
    11931496+
    1194 +  3. Ð.ПгЎа Ð.Ñ. Ñ.вОЎОÑ.е пÑ.ОглаÑ.еМОе кПЌаМЎМПй ПбПлПÑ.кО, МабеÑ.ОÑ.е кПЌаМЎÑ.,
    1195 +     ÐºÐŸÑ.ПÑ.ая пÑ.Овела Ð.ас в эÑ.ПÑ. Ñ.Ñ.ебМОк. ЭÑ.П ЌПжеÑ. бÑ.Ñ.Ñ.
     1497+  3. КПгЎа Вы увОЎОте прОглашеМОе кПЌаМЎМПй ПбПлПчкО, МаберОте кПЌаМЎу,
     1498+     ÐºÐŸÑ‚Прая прОвела Вас в этПт учебМОк. ЭтП ЌПжет быть
    11961499+                               vimtutor ru <ENTER>
    1197 +     Ð.бÑ.Ñ.МП ЌПжМП ОспПлÑ.зПваÑ.Ñ.: vim tutor.ru <ENTER>
    1198 +
    1199 +---> 'vim' пПзвПляеÑ. запÑ.сÑ.ОÑ.Ñ. Ñ.еЎакÑ.ПÑ. vim, 'tutor.ru' --- эÑ.П Ñ.айл, кПÑ.ПÑ.Ñ.й
    1200 +     Ð.Ñ. бÑ.ЎеÑ.е Ñ.еЎакÑ.ОÑ.ПваÑ.Ñ..
    1201 +
    1202 +  4. Ð.слО Ð.Ñ. Ñ.веÑ.еМÑ. в Ñ.ПЌ, Ñ.Ñ.П запПЌМОлО эÑ.О Ñ.агО, вÑ.пПлМОÑ.е Ñ.агО ПÑ. 1 ЎП 3
    1203 +     Ñ.Ñ.ПбÑ. вÑ.йÑ.О сМПва запÑ.сÑ.ОÑ.Ñ. Ñ.еЎакÑ.ПÑ.. Ð.аÑ.еЌ пеÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз к
    1204 +     Ð£Ñ.ПкÑ. 1.3.
     1500+     ÐžÐ±Ñ‹Ñ‡ÐœÐŸ ЌПжМП ОспПльзПвать: vim tutor.ru <ENTER>
     1501+
     1502+---> 'vim' пПзвПляет запустОть реЎактПр vim, 'tutor.ru' --- этП файл, кПтПрый
     1503+     Ð’Ñ‹ буЎете реЎактОрПвать.
     1504+
     1505+  4. ЕслО Вы увереМы в тПЌ, чтП запПЌМОлО этО шагО, выпПлМОте шагО Пт 1 ЎП 3
     1506+     Ñ‡Ñ‚Пбы выйтО сМПва запустОть реЎактПр. ЗатеЌ переЌестОте курсПр вМОз к
     1507+     Ð£Ñ€ÐŸÐºÑƒ 1.3.
    12051508+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1206 +                 Ð£Ñ.Пк 1.3: Ð Ð.Ð.АÐ.ТÐ.Ð Ð.Ð.АНÐ.Ð. ТÐ.Ð.СТА - УÐ.АÐ.Ð.НÐ.Ð.
    1207 +
    1208 +
    1209 +** НаÑ.ПЎясÑ. в ПбÑ.Ñ.МПЌ Ñ.ежОЌе МажЌОÑ.е x, Ñ.Ñ.ПбÑ. Ñ.ЎалОÑ.Ñ. сОЌвПл пПЎ кÑ.Ñ.сПÑ.ПЌ. **
    1210 +
    1211 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. к сÑ.Ñ.Пке вМОзÑ., пПЌеÑ.еММПй --->.
    1212 +
    1213 +  2. Ð.ля ОспÑ.авлеМОя ПÑ.ОбПк, пеÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ., пПка ПМ Ме ПкажеÑ.ся МаЎ
    1214 +     Ñ.ЎаляеЌÑ.ÐŒ сОЌвПлПЌ.
    1215 +
    1216 +  3. НажЌОÑ.е клавОÑ.Ñ. x Ўля Ñ.ЎалеМОя Ñ.Ñ.ебÑ.еЌПгП сОЌвПла.
    1217 +
    1218 +  4. Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 2--4 пПка сÑ.Ñ.Пка Ме бÑ.ЎеÑ. ОспÑ.авлеМа.
    1219 +
    1220 +---> Ð.Ñ. Ñ.Ñ.Ñ.ПпПÑ.а кПпÑ.Ñ.Ñ. пппÑ.лÑ. ппП пппПлÑ. леÑ.Ñ.ОÑ.Ñ..
    1221 +
    1222 +  5. ТепеÑ.Ñ., кПгЎа сÑ.Ñ.Пка ПÑ.кПÑ.Ñ.екÑ.ОÑ.ПваМа, пеÑ.еÑ.ПЎОÑ.е к Ñ.Ñ.ПкÑ. 1.4.
    1223 +
    1224 +Ð.АÐ.Ð.ЧАНÐ.Ð.: Ð. Ñ.ПЎе ПсвПеМОя эÑ.ПгП Ñ.Ñ.ебМОка Ме пÑ.Ñ.айÑ.есÑ. запПЌОМаÑ.Ñ., Ñ.Ñ.ОÑ.е
    1225 +          в пÑ.ПÑ.ессе ОспПлÑ.зПваМОя.
     1509+                 Ð£Ñ€ÐŸÐº 1.3: РЕДАКТИРОВАНИЕ ТЕКСТА - УДАЛЕНИЕ
     1510+
     1511+
     1512+** НаÑ
     1513ПЎясь в ПбычМПЌ режОЌе МажЌОте x, чтПбы уЎалОть сОЌвПл пПЎ курсПрПЌ. **
     1514+
     1515+  1. ПереЌестОте курсПр к стрПке вМОзу, пПЌечеММПй --->.
     1516+
     1517+  2. Для ОсправлеМОя ПшОбПк, переЌестОте курсПр, пПка ПМ Ме Пкажется МаЎ
     1518+     ÑƒÐŽÐ°Ð»ÑÐµÐŒÑ‹ÐŒ сОЌвПлПЌ.
     1519+
     1520+  3. НажЌОте клавОшу x Ўля уЎалеМОя требуеЌПгП сОЌвПла.
     1521+
     1522+  4. ППвтПрОте шагО 2--4 пПка стрПка Ме буЎет ОсправлеМа.
     1523+
     1524+---> От тттПпПта кПпытт пппыль ппП пппПлю леттОтт.
     1525+
     1526+  5. Теперь, кПгЎа стрПка ПткПрректОрПваМа, переÑ
     1527ПЎОте к урПку 1.4.
     1528+
     1529+ЗАМЕЧАНИЕ: В Ñ
     1530ПЎе ПсвПеМОя этПгП учебМОка Ме пытайтесь запПЌОМать, учОте
     1531+          в прПцессе ОспПльзПваМОя.
    12261532+
    12271533+
    12281534+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1229 +                 Ð£Ñ.Пк 1.4: Ð Ð.Ð.АÐ.ТÐ.Ð Ð.Ð.АНÐ.Ð. ТÐ.Ð.СТА - Ð.СТАÐ.Ð.А
    1230 +
    1231 +
    1232 + ** НаÑ.ПЎясÑ. в ПбÑ.Ñ.МПЌ Ñ.ежОЌе (Normal mode), МажЌОÑ.е i Ўля всÑ.авкО Ñ.ексÑ.а. **
    1233 +
    1234 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. к пеÑ.вПй сÑ.Ñ.Пке вМОзÑ., пПЌеÑ.еММПй --->.
    1235 +
    1236 +  2. Ð.ля Ñ.ПгП, Ñ.Ñ.ПбÑ. сЎелаÑ.Ñ. пеÑ.вÑ.Ñ. сÑ.Ñ.ПкÑ. ОЎеМÑ.ОÑ.МПй вÑ.ПÑ.Пй, пПЌесÑ.ОÑ.е
    1237 +     ÐºÑ.Ñ.сПÑ. Ма сОЌвПл Ð.Ð.Ð Ð.Ð. кПÑ.ПÑ.Ñ.ÐŒ слеЎÑ.еÑ. всÑ.авОÑ.Ñ. Ñ.ексÑ..
    1238 +
    1239 +  3. НажЌОÑ.е i О МабеÑ.ОÑ.е Ñ.Ñ.ебÑ.еЌÑ.е ЎПбавлеМОя.
    1240 +
    1241 +  4. Ð.Псле ОспÑ.авлеМОя всеÑ. ПÑ.ОбПк МажЌОÑ.е <ESC> Ўля вПзвÑ.аÑ.а в ПбÑ.Ñ.ÐœÑ.й Ñ.ежОЌ.
    1242 +     Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 2--4, пПка Ñ.Ñ.аза Ме бÑ.ЎеÑ. ОспÑ.авлеМа пПлМПсÑ.Ñ.Ñ..
    1243 +
    1244 +---> ЧасÑ.Ñ. Ñ.ексÑ.а в сÑ.Ñ.Пке беслеЎМП .
    1245 +---> ЧасÑ.Ñ. Ñ.ексÑ.а в эÑ.Пй сÑ.Ñ.Пке бесслеЎМП пÑ.Ппала.
    1246 +
    1247 +  5. Ð.ПгЎа ПсвПОÑ.е всÑ.авкÑ. Ñ.ексÑ.а, пеÑ.еÑ.ПЎОÑ.е ЎалÑ.Ñ.е к РезÑ.Ќе.
     1535+                 Ð£Ñ€ÐŸÐº 1.4: РЕДАКТИРОВАНИЕ ТЕКСТА - ВСТАВКА
     1536+
     1537+
     1538+ ** НаÑ
     1539ПЎясь в ПбычМПЌ режОЌе (Normal mode), МажЌОте i Ўля вставкО текста. **
     1540+
     1541+  1. ПереЌестОте курсПр к первПй стрПке вМОзу, пПЌечеММПй --->.
     1542+
     1543+  2. Для тПгП, чтПбы сЎелать первую стрПку ОЎеМтОчМПй втПрПй, пПЌестОте
     1544+     ÐºÑƒÑ€ÑÐŸÑ€ Ма сОЌвПл ПЕРЕД кПтПрыЌ слеЎует вставОть текст.
     1545+
     1546+  3. НажЌОте i О МаберОте требуеЌые ЎПбавлеМОя.
     1547+
     1548+  4. ППсле ОсправлеМОя всеÑ
     1549 ÐŸÑˆÐžÐ±ÐŸÐº МажЌОте <ESC> Ўля вПзврата в ПбычМый режОЌ.
     1550+     ÐŸÐŸÐ²Ñ‚ПрОте шагО 2--4, пПка фраза Ме буЎет ОсправлеМа пПлМПстью.
     1551+
     1552+---> Часть текста в стрПке беслеЎМП .
     1553+---> Часть текста в этПй стрПке бесслеЎМП прПпала.
     1554+
     1555+  5. КПгЎа ПсвПОте вставку текста, переÑ
     1556ПЎОте Ўальше к РезюЌе.
    12481557+
    12491558+
    12501559+
    12511560+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1252 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 1
    1253 +
    1254 +  1. Ð.Ñ.Ñ.сПÑ. пеÑ.еЌеÑ.аеÑ.ся лОбП клавОÑ.аЌО сП сÑ.Ñ.елкаЌО, лОбП клавОÑ.аЌО hjkl.
    1255 +        h (влевП) j (вМОз)       k (ввеÑ.Ñ.)           l (впÑ.авП)
    1256 +
    1257 +  2. Ð.ля запÑ.ска Vim (Оз пÑ.ОглаÑ.еМОя % кПЌаМЎМПй ПбПлПÑ.кО) МабеÑ.ОÑ.е:
    1258 +     vim Ð.Ð.Я_ЀАÐ.Ð.А <ENTER>
    1259 +
    1260 +  3. Ð.ля завеÑ.Ñ.еМОя Ñ.абПÑ.Ñ. с Vim МабеÑ.ОÑ.е:
    1261 +     <ESC>   :q!        <ENTER>  Ñ.Ñ.ПбÑ. ПÑ.казаÑ.Ñ.ся ПÑ. сПÑ.Ñ.аМеМОя ОзЌеМеМОй.
    1262 +     Ð.лО МабеÑ.ОÑ.е:
    1263 +     <ESC>   :wq        <ENTER>  Ñ.Ñ.ПбÑ. сПÑ.Ñ.аМОÑ.Ñ. ОзЌеМеМОя.
    1264 +
    1265 +  4. Ð.ля Ñ.ЎалеМОя сОЌвПла пПЎ кÑ.Ñ.сПÑ.ПЌ в ПбÑ.Ñ.МПЌ Ñ.ежОЌе, МабеÑ.ОÑ.е: x
    1266 +
    1267 +  5. ЧÑ.ПбÑ. всÑ.авОÑ.Ñ. Ñ.ексÑ. пеÑ.еЎ кÑ.Ñ.сПÑ.ПЌ в ПбÑ.Ñ.МПЌ Ñ.ежОЌе, МабеÑ.ОÑ.е:
    1268 +        i     Ð²Ð²ÐŸÐŽÐžÑ.е Ñ.ексÑ.        <ESC>
    1269 +
    1270 +Ð.АÐ.Ð.ЧАНÐ.Ð.: НажаÑ.Ое <ESC> пеÑ.еЌесÑ.ОÑ. Ð.ас в ПбÑ.Ñ.ÐœÑ.й Ñ.ежОЌ (Normal mode) лОбП
    1271 +          пÑ.еÑ.веÑ. МежелаÑ.елÑ.ÐœÑ.Ñ. О Ñ.асÑ.ОÑ.МП завеÑ.Ñ.еММÑ.Ñ. кПЌаМЎÑ..
    1272 +
    1273 +ТепеÑ.Ñ. пеÑ.еÑ.ПЎОЌ к УÑ.ПкÑ. 2.
     1561+                               Ð Ð•Ð—ЮМЕ УРОКА 1
     1562+
     1563+  1. КурсПр переЌещается лОбП клавОшаЌО сП стрелкаЌО, лОбП клавОшаЌО hjkl.
     1564+        h (влевП) j (вМОз)       k (вверÑ
     1565)           l (вправП)
     1566+
     1567+  2. Для запуска Vim (Оз прОглашеМОя % кПЌаМЎМПй ПбПлПчкО) МаберОте:
     1568+     vim ИМЯ_ЀАЙЛА <ENTER>
     1569+
     1570+  3. Для завершеМОя рабПты с Vim МаберОте:
     1571+     <ESC>   :q!        <ENTER>  чтПбы Птказаться Пт сПÑ
     1572раМеМОя ОзЌеМеМОй.
     1573+     Ð˜Ð»Ðž МаберОте:
     1574+     <ESC>   :wq        <ENTER>  чтПбы сПÑ
     1575раМОть ОзЌеМеМОя.
     1576+
     1577+  4. Для уЎалеМОя сОЌвПла пПЎ курсПрПЌ в ПбычМПЌ режОЌе, МаберОте: x
     1578+
     1579+  5. ЧтПбы вставОть текст переЎ курсПрПЌ в ПбычМПЌ режОЌе, МаберОте:
     1580+        i     Ð²Ð²ÐŸÐŽÐžÑ‚е текст        <ESC>
     1581+
     1582+ЗАМЕЧАНИЕ: НажатОе <ESC> переЌестОт Вас в ПбычМый режОЌ (Normal mode) лОбП
     1583+          прервет МежелательМую О частОчМП завершеММую кПЌаМЎу.
     1584+
     1585+Теперь переÑ
     1586ПЎОЌ к УрПку 2.
    12741587+
    12751588+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1276 +                         Ð£Ñ.Пк 2.1: Ð.Ð.Ð.АНÐ.Ы УÐ.АÐ.Ð.НÐ.Я
    1277 +
    1278 +
    1279 +       ** НабеÑ.ОÑ.е dw Ўля Ñ.ЎалеМОя Ñ.Ñ.асÑ.ка Ñ.ексÑ.а ЎП кПМÑ.а слПва. **
    1280 +
    1281 +  1. НажЌОÑ.е <ESC>, Ñ.Ñ.ПбÑ. пеÑ.ейÑ.О в ПбÑ.Ñ.ÐœÑ.й Ñ.ежОЌ.
    1282 +
    1283 +  2. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1284 +
    1285 +  3. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. в МаÑ.алП слПва, кПÑ.ПÑ.Пе слеЎÑ.еÑ. Ñ.ЎалОÑ.Ñ..
    1286 +
    1287 +  4. НабеÑ.ОÑ.е  dw , Ñ.Ñ.ПбÑ. Ñ.ЎалОÑ.Ñ. эÑ.П слПвП.
    1288 +
    1289 +Ð.АÐ.Ð.ЧАНÐ.Ð.: Ð.П вÑ.еЌя МабПÑ.а бÑ.квÑ. dw пПявяÑ.ся в пПслеЎМей сÑ.Ñ.Пке экÑ.аМа. Ð.слО
    1290 +          Ð.Ñ. Ñ.Ñ.П-Ñ.П МабеÑ.еÑ.е МепÑ.авОлÑ.МП, МажЌОÑ.е <ESC> О МаÑ.МОÑ.е сМаÑ.ала.
    1291 +
    1292 +---> НескПлÑ.кП слПв Ñ.аÑ.ОМаЎ в эÑ.ПЌ пÑ.еЎлПжеМОО авÑ.ПкÑ.аМ ОзлОÑ.МО.
    1293 +
    1294 +  5. Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 3 О 4, пПка Ме ОспÑ.авОÑ.е все ПÑ.ОбкО О пеÑ.еÑ.ПЎОÑ.е к
    1295 +     Ð£Ñ.ПкÑ. 2.2.
     1589+                         Ð£Ñ€ÐŸÐº 2.1: КОМАНДЫ УДАЛЕНИЯ
     1590+
     1591+
     1592+       ** НаберОте dw Ўля уЎалеМОя участка текста ЎП кПМца слПва. **
     1593+
     1594+  1. НажЌОте <ESC>, чтПбы перейтО в ПбычМый режОЌ.
     1595+
     1596+  2. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1597+
     1598+  3. ПереЌестОте курсПр в МачалП слПва, кПтПрПе слеЎует уЎалОть.
     1599+
     1600+  4. НаберОте  dw , чтПбы уЎалОть этП слПвП.
     1601+
     1602+ЗАМЕЧАНИЕ: ВП вреЌя МабПра буквы dw пПявятся в пПслеЎМей стрПке экраМа. ЕслО
     1603+          Вы чтП-тП Маберете МеправОльМП, МажЌОте <ESC> О МачМОте сМачала.
     1604+
     1605+---> НескПлькП слПв рафОМаЎ в этПЌ преЎлПжеМОО автПкраМ ОзлОшМО.
     1606+
     1607+  5. ППвтПрОте шагО 3 О 4, пПка Ме ОсправОте все ПшОбкО О переÑ
     1608ПЎОте к
     1609+     Ð£Ñ€ÐŸÐºÑƒ 2.2.
    12961610+
    12971611+
    12981612+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1299 +                 Ð£Ñ.Пк 2.2: Ð.Ð.Ð.Ð.Ð.НÐ.ТÐ.Ð.ЬНЫÐ. Ð.Ð.Ð.АНÐ.Ы УÐ.АÐ.Ð.НÐ.Я
    1300 +
    1301 +
    1302 +           ** НабеÑ.ОÑ.е d$ Ўля Ñ.ЎалеМОя Ñ.ексÑ.а ЎП кПМÑ.а сÑ.Ñ.ПкО. **
    1303 +
    1304 +  1. НажЌОÑ.е <ESC>, Ñ.Ñ.ПбÑ. пеÑ.ейÑ.О в ПбÑ.Ñ.ÐœÑ.й Ñ.ежОЌ.
    1305 +
    1306 +  2. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1307 +
    1308 +  3. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. к кПМÑ.Ñ. пÑ.авОлÑ.МПй сÑ.Ñ.ПкО (Ð.Ð.СÐ.Ð. пеÑ.вПй . ).
    1309 +
    1310 +  4. ЧÑ.ПбÑ. Ñ.ЎалОÑ.Ñ. ПсÑ.аÑ.Пк сÑ.Ñ.ПкО, МабеÑ.ОÑ.е  d$ .
    1311 +
    1312 +---> Ð.Ñ.П-Ñ.П МабÑ.ал ПкПМÑ.аМОе эÑ.Пй сÑ.Ñ.ПкО ЎважЎÑ.. ПкПМÑ.аМОе эÑ.Пй сÑ.Ñ.ПкО ЎважЎÑ..
    1313 +
    1314 +
    1315 +  5.ЧÑ.ПбÑ. лÑ.Ñ.Ñ.е Ñ.азПбÑ.аÑ.Ñ.ся в эÑ.ПЌ, пеÑ.еÑ.ПЎОÑ.е к УÑ.ПкÑ. 2.3.
     1613+                 Ð£Ñ€ÐŸÐº 2.2: ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ УДАЛЕНИЯ
     1614+
     1615+
     1616+           ** НаберОте d$ Ўля уЎалеМОя текста ЎП кПМца стрПкО. **
     1617+
     1618+  1. НажЌОте <ESC>, чтПбы перейтО в ПбычМый режОЌ.
     1619+
     1620+  2. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1621+
     1622+  3. ПереЌестОте курсПр к кПМцу правОльМПй стрПкО (ПОСЛЕ первПй . ).
     1623+
     1624+  4. ЧтПбы уЎалОть ПстатПк стрПкО, МаберОте  d$ .
     1625+
     1626+---> КтП-тП Мабрал ПкПМчаМОе этПй стрПкО ЎважЎы. ПкПМчаМОе этПй стрПкО ЎважЎы.
     1627+
     1628+
     1629+  5.ЧтПбы лучше разПбраться в этПЌ, переÑ
     1630ПЎОте к УрПку 2.3.
    13161631+
    13171632+
     
    13201635+
    13211636+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1322 +                        УÑ.Пк 2.3: Ð.Ð.Ð.АНÐ.Ы Ð. Ð.Ð.ЪÐ.Ð.ТЫ
    1323 +
    1324 +
    1325 +  ЀПÑ.ЌаÑ. кПЌаМЎÑ. `Ñ.ЎалеМОе' d Ñ.акПв:
    1326 +
    1327 +        [Ñ.ОслП]   d       ÐŸÐ±Ñ.екÑ.        Ð.Ð.Ð.           d   [Ñ.ОслП]   ÐŸÐ±Ñ.екÑ.
    1328 +  Ð.ЎесÑ.:
    1329 +    Ñ.ОслП  - скПлÑ.кП Ñ.аз ОспПлМОÑ.Ñ. кПЌаМЎÑ. (МеПбязаÑ.елÑ.МП, пП Ñ.ЌПлÑ.аМОÑ.=1).
    1330 +    d      - кПЌаМЎа Ñ.ЎалеМОя.
    1331 +    ПбÑ.екÑ. - с Ñ.еЌ кПЌаМЎа ЎПлжМа бÑ.Ñ.Ñ. вÑ.пПлМеМа (пеÑ.еÑ.ОслеМП МОже).
    1332 +
    1333 +  Ð.Ñ.аÑ.кОй спОсПк ПбÑ.екÑ.Пв:
    1334 +    w - ПÑ. кÑ.Ñ.сПÑ.а ЎП кПМÑ.а слПва, вклÑ.Ñ.ая завеÑ.Ñ.аÑ.Ñ.Ой пÑ.Пбел.
    1335 +    e - ПÑ. кÑ.Ñ.сПÑ.а ЎП кПМÑ.а слПва, НÐ. вклÑ.Ñ.ая завеÑ.Ñ.аÑ.Ñ.Ой пÑ.Пбел.
    1336 +    $ - ПÑ. кÑ.Ñ.сПÑ.а ЎП кПМÑ.а сÑ.Ñ.ПкО.
    1337 +    ^ - ПÑ. кÑ.Ñ.сПÑ.а ЎП МаÑ.ала сÑ.Ñ.ПкО.
    1338 +
    1339 +Ð.АÐ.Ð.ЧАНÐ.Ð.: Ð.Ñ.ПсÑ.Пе МажаÑ.Ое Ма сОЌвПл ПбÑ.екÑ.а в ПбÑ.Ñ.МПЌ Ñ.ежОЌе (Normal mode)
    1340 +          без ЎПпПлМОÑ.елÑ.ÐœÑ.Ñ. кПЌаМЎ пеÑ.еЎвОМеÑ. кÑ.Ñ.сПÑ. Ñ.ак, как Ñ.казаМП в
    1341 +          спОске ПбÑ.екÑ.Пв.
     1637+                        УрПк 2.3: КОМАНДЫ И ОБЪЕКТЫ
     1638+
     1639+
     1640+  ЀПрЌат кПЌаМЎы `уЎалеМОе' d такПв:
     1641+
     1642+        [чОслП]   d       ÐŸÐ±ÑŠÐµÐºÑ‚        ИЛИ           d   [чОслП]   ÐŸÐ±ÑŠÐµÐºÑ‚
     1643+  ЗЎесь:
     1644+    чОслП  - скПлькП раз ОспПлМОть кПЌаМЎу (МеПбязательМП, пП уЌПлчаМОю=1).
     1645+    d      - кПЌаМЎа уЎалеМОя.
     1646+    Пбъект - с чеЌ кПЌаМЎа ЎПлжМа быть выпПлМеМа (перечОслеМП МОже).
     1647+
     1648+  КраткОй спОсПк ПбъектПв:
     1649+    w - Пт курсПра ЎП кПМца слПва, включая завершающОй прПбел.
     1650+    e - Пт курсПра ЎП кПМца слПва, НЕ включая завершающОй прПбел.
     1651+    $ - Пт курсПра ЎП кПМца стрПкО.
     1652+    ^ - Пт курсПра ЎП Мачала стрПкО.
     1653+
     1654+ЗАМЕЧАНИЕ: ПрПстПе МажатОе Ма сОЌвПл Пбъекта в ПбычМПЌ режОЌе (Normal mode)
     1655+          без ЎПпПлМОтельМыÑ
     1656 ÐºÐŸÐŒÐ°ÐœÐŽ переЎвОМет курсПр так, как указаМП в
     1657+          спОске ПбъектПв.
    13421658+
    13431659+
    13441660+
    13451661+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1346 +              УÑ.Пк 2.4: Ð.СÐ.Ð.ЮЧÐ.НÐ.Ð. Ð.Ð. Ð.РАÐ.Ð.Ð.А `Ð.Ð.Ð.АНÐ.А-Ð.Ð.ЪÐ.Ð.Т'
    1347 +
    1348 +
    1349 +                ** НабеÑ.ОÑ.е dd Ўля Ñ.ЎалеМОя всей сÑ.Ñ.ПкО. **
    1350 +
    1351 +  Ð.слеЎсÑ.вОе Ñ.асÑ.ПгП пÑ.ОЌеМеМОя ПпеÑ.аÑ.ОО Ñ.ЎалеМОя всей сÑ.Ñ.ПкО, Ñ.азÑ.абПÑ.Ñ.ОкО
    1352 +  Vim Ñ.еÑ.ОлО, Ñ.Ñ.П Ўля эÑ.ПгП пÑ.ПÑ.е всегП пÑ.ПсÑ.П МабÑ.аÑ.Ñ. d ЎважЎÑ..
    1353 +
    1354 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, кП вÑ.ПÑ.Пй сÑ.Ñ.Пке Ñ.Ñ.азÑ..
    1355 +  2. НабеÑ.ОÑ.е dd Ўля Ñ.ЎалеМОя сÑ.Ñ.ПкО.
    1356 +  3. ТепеÑ.Ñ. пеÑ.еЌесÑ.ОÑ.есÑ. к Ñ.еÑ.веÑ.Ñ.Пй сÑ.Ñ.Пке.
    1357 +  4. НабеÑ.ОÑ.е 2dd (вспПЌМОÑ.е пÑ.авОлП `Ñ.ОслП-кПЌаМЎа-ПбÑ.екÑ.'), Ñ.Ñ.ПбÑ. Ñ.ЎалОÑ.Ñ.
    1358 +     ÐŽÐ²Ðµ сÑ.Ñ.ПкО.
    1359 +
    1360 +      1)  Ð.еÑ.ПЌ я Ñ.ПжÑ. Ма сÑ.аЎОПМ,
    1361 +      2)  Ð., как вМезапМП кПМÑ.Олся ЎОваМ!
    1362 +      3)  Я бПлеÑ. за ``Ð.еМОÑ.'', ``Ð.еМОÑ.'' --- Ñ.еЌпОПМ!
    1363 +      4)  Ð.еÑ.алÑ.МП я гляжÑ. Ма МаÑ.е пПкПлеМОе!
    1364 +      5)  Ð.гП гÑ.яЎÑ.Ñ.ее ОлÑ. пÑ.сÑ.П ОлÑ. Ñ.еЌМП...
    1365 +      6)  Я сОжÑ. Ма скаЌейке в лПже `Ð.'
    1366 +      7)  Ð. ОгÑ.аÑ. Ма бПлÑ.Ñ.Пй жесÑ.яМПй Ñ.Ñ.Ñ.бе.
     1662+              УрПк 2.4: ИСКЛЮЧЕНИЕ ИЗ ПРАВИЛА `КОМАНДА-ОБЪЕКТ'
     1663+
     1664+
     1665+                ** НаберОте dd Ўля уЎалеМОя всей стрПкО. **
     1666+
     1667+  ВслеЎствОе частПгП прОЌеМеМОя ПперацОО уЎалеМОя всей стрПкО, разрабПтчОкО
     1668+  Vim решОлО, чтП Ўля этПгП прПще всегП прПстП Мабрать d ЎважЎы.
     1669+
     1670+  1. ПереЌестОте курсПр вМОз, кП втПрПй стрПке фразы.
     1671+  2. НаберОте dd Ўля уЎалеМОя стрПкО.
     1672+  3. Теперь переЌестОтесь к четвертПй стрПке.
     1673+  4. НаберОте 2dd (вспПЌМОте правОлП `чОслП-кПЌаМЎа-Пбъект'), чтПбы уЎалОть
     1674+     ÐŽÐ²Ðµ стрПкО.
     1675+
     1676+      1)  ЛетПЌ я Ñ
     1677Пжу Ма стаЎОПМ,
     1678+      2)  О, как вМезапМП кПМчОлся ЎОваМ!
     1679+      3)  Я бПлею за ``ЗеМОт'', ``ЗеМОт'' --- чеЌпОПМ!
     1680+      4)  ПечальМП я гляжу Ма Маше пПкПлеМОе!
     1681+      5)  ЕгП гряЎущее Оль пустП Оль теЌМП...
     1682+      6)  Я сОжу Ма скаЌейке в лПже `Б'
     1683+      7)  И Ограю Ма бПльшПй жестяМПй трубе.
    13671684+
    13681685+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1369 +                         Ð£Ñ.Пк 2.5: Ð.Ð.Ð.АНÐ.А `Ð.ТÐ.АТ'
    1370 +
    1371 +
    1372 +  ** НажЌОÑ.е u  Ўля ПÑ.ЌеМÑ. Ñ.езÑ.лÑ.Ñ.аÑ.а Ñ.абПÑ.Ñ. пÑ.еЎÑ.ÐŽÑ.Ñ.ей кПЌаМЎÑ., U Ўля ПÑ.ЌеМÑ.
    1373 +                       ÐžÑÐ¿Ñ.авлеМОй вП всей сÑ.Ñ.Пке. **
    1374 +
    1375 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй ---> О Ñ.сÑ.аМПвОÑ.е егП Ма
    1376 +     Ð¿ÐµÑ.вÑ.Ñ. ПÑ.ОбкÑ..
    1377 +  2. НажЌОÑ.е x Ўля Ñ.ЎалеМОя пеÑ.вПгП МепÑ.авОлÑ.МПгП сОЌвПла.
    1378 +  3. ТепеÑ.Ñ. МажЌОÑ.е u Ўля ПÑ.ЌеМÑ. (ПÑ.каÑ.а) пПслеЎМей вÑ.пПлМеММПй кПЌаМЎÑ..
    1379 +  4. Ð.спÑ.авÑ.Ñ.е все ПÑ.ОбкО в сÑ.Ñ.Пке, ОспПлÑ.зÑ.я кПЌаМЎÑ. x .
    1380 +  5. ТепеÑ.Ñ. МажЌОÑ.е заглавМÑ.Ñ. U Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. веÑ.ÐœÑ.Ñ.Ñ. всÑ. сÑ.Ñ.ПкÑ. в ОсÑ.ПЎМПе
    1381 +     ÑÐŸÑÑ.ПяМОе.
    1382 +  6. НажЌОÑ.е u МескПлÑ.кП Ñ.аз Ўля ПÑ.ЌеМÑ. кПЌаМЎÑ. U О пÑ.еЎÑ.ÐŽÑ.Ñ.ОÑ. кПЌаМЎ.
    1383 +  7. НажЌОÑ.е Ñ.епеÑ.Ñ. CTRL-R (Ñ.ЎеÑ.жОвайÑ.е клавОÑ.Ñ. CTRL МажаÑ.Пй в ЌПЌеМÑ. МажаÑ.Оя
    1384 +  R)     ÐœÐµÑÐºÐŸÐ»Ñ.кП Ñ.аз Ўля вПзвÑ.аÑ.а кПЌаМЎ (ПÑ.каÑ. ПÑ.каÑ.а).
    1385 +
    1386 +---> Ð.спÑ.Ñ.авÑ.Ñ.е ППÑ.ОбкО в эÑ.Пйй сÑ.Ñ.Пке О веÑ.МОÑ.Ñ.е ОÑ. сс пПЌПÑ.Ñ.Ñ.Ñ. `ПÑ.каÑ.а'.
    1387 +
    1388 +  8. ЭÑ.П бÑ.лО ПÑ.еМÑ. пПлезМÑ.е кПЌаМЎÑ.. Ð.алее пеÑ.еÑ.ПЎОÑ.е к РезÑ.Ќе УÑ.Пка 2.
     1686+                         Ð£Ñ€ÐŸÐº 2.5: КОМАНДА `ОТКАТ'
     1687+
     1688+
     1689+  ** НажЌОте u  Ўля ПтЌеМы результата рабПты преЎыЎущей кПЌаМЎы, U Ўля ПтЌеМы
     1690+                       ÐžÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐœÐžÐ¹ вП всей стрПке. **
     1691+
     1692+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй ---> О устаМПвОте егП Ма
     1693+     Ð¿ÐµÑ€Ð²ÑƒÑŽ ПшОбку.
     1694+  2. НажЌОте x Ўля уЎалеМОя первПгП МеправОльМПгП сОЌвПла.
     1695+  3. Теперь МажЌОте u Ўля ПтЌеМы (Птката) пПслеЎМей выпПлМеММПй кПЌаМЎы.
     1696+  4. Исправьте все ПшОбкО в стрПке, ОспПльзуя кПЌаМЎу x .
     1697+  5. Теперь МажЌОте заглавМую U Ўля тПгП, чтПбы верМуть всю стрПку в ОсÑ
     1698ПЎМПе
     1699+     ÑÐŸÑÑ‚ПяМОе.
     1700+  6. НажЌОте u МескПлькП раз Ўля ПтЌеМы кПЌаМЎы U О преЎыЎущОÑ
     1701 ÐºÐŸÐŒÐ°ÐœÐŽ.
     1702+  7. НажЌОте теперь CTRL-R (уЎержОвайте клавОшу CTRL МажатПй в ЌПЌеМт МажатОя
     1703+  R)     ÐœÐµÑÐºÐŸÐ»ÑŒÐºÐŸ раз Ўля вПзврата кПЌаМЎ (Пткат Птката).
     1704+
     1705+---> Испрравьте ППшОбкО в этПйй стрПке О верМОтте ОÑ
     1706 ÑÑ пПЌПщьью `Птката'.
     1707+
     1708+  8. ЭтП былО ПчеМь пПлезМые кПЌаМЎы. Далее переÑ
     1709ПЎОте к РезюЌе УрПка 2.
    13891710+
    13901711+
    13911712+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1392 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 2
    1393 +
    1394 +
    1395 +  1. Ð.ля Ñ.ЎалеМОя Ñ.ексÑ.а ПÑ. кÑ.Ñ.сПÑ.а ЎП кПМÑ.а слПва МабеÑ.ОÑ.е:    dw
    1396 +
    1397 +  2. Ð.ля Ñ.ЎалеМОя Ñ.ексÑ.а ПÑ. кÑ.Ñ.сПÑ.а ЎП кПМÑ.а сÑ.Ñ.ПкО МабеÑ.ОÑ.е:    d$
    1398 +
    1399 +  3. Ð.ля Ñ.ЎалеМОя всей сÑ.Ñ.ПкО МабеÑ.ОÑ.е:    dd
    1400 +
    1401 +  4. ЀПÑ.ЌаÑ. кПЌаМЎÑ. в ПбÑ.Ñ.МПЌ Ñ.ежОЌе ОЌееÑ. вОЎ:
    1402 +
    1403 +       [Ñ.ОслП]   ÐºÐŸÐŒÐ°ÐœÐŽÐ°   ÐŸÐ±Ñ.екÑ.     Ð.Ð.Ð.     ÐºÐŸÐŒÐ°ÐœÐŽÐ°      [Ñ.ОслП]   ÐŸÐ±Ñ.екÑ.
     1713+                               Ð Ð•Ð—ЮМЕ УРОКА 2
     1714+
     1715+
     1716+  1. Для уЎалеМОя текста Пт курсПра ЎП кПМца слПва МаберОте:    dw
     1717+
     1718+  2. Для уЎалеМОя текста Пт курсПра ЎП кПМца стрПкО МаберОте:    d$
     1719+
     1720+  3. Для уЎалеМОя всей стрПкО МаберОте:    dd
     1721+
     1722+  4. ЀПрЌат кПЌаМЎы в ПбычМПЌ режОЌе ОЌеет вОЎ:
     1723+
     1724+       [чОслП]   ÐºÐŸÐŒÐ°ÐœÐŽÐ°   ÐŸÐ±ÑŠÐµÐºÑ‚     Ð˜Ð›Ð˜     ÐºÐŸÐŒÐ°ÐœÐŽÐ°      [чОслП]   ÐŸÐ±ÑŠÐµÐºÑ‚
    14041725+     Ð³ÐŽÐµ:
    1405 +       Ñ.ОслП   - скПлÑ.кП Ñ.аз пПвÑ.ПÑ.ОÑ.Ñ. вÑ.пПлМеМОе кПЌаМЎÑ.
    1406 +       ÐºÐŸÐŒÐ°ÐœÐŽÐ° - Ñ.Ñ.П вÑ.пПлМОÑ.Ñ., МапÑ.ОЌеÑ. d Ўля Ñ.ЎалеМОя
    1407 +       ÐŸÐ±Ñ.екÑ.  - Ма Ñ.Ñ.П ЎПлжМа вПзЎейсÑ.вПваÑ.Ñ. кПЌаМЎа, МапÑ.ОЌеÑ. w (слПвП),
    1408 +               $ (ЎП кПМÑ.а сÑ.Ñ.ПкО), О Ñ..ÐŽ.
    1409 +
    1410 +  5. Ð.ля ПÑ.ЌеМÑ. (ПÑ.каÑ.а) пÑ.еЎÑ.есÑ.вÑ.Ñ.Ñ.ОÑ. ЎейсÑ.вОй МабеÑ.ОÑ.е:  u (сÑ.Ñ.ПÑ.Мая u)
    1411 +     Ð.ля ПÑ.ЌеМÑ. (ПÑ.каÑ.а) всеÑ. ОзЌеМеМОй в сÑ.Ñ.Пке МабеÑ.ОÑ.е:  U (пÑ.ПпОсМая U)
    1412 +     Ð.ля ПÑ.ЌеМÑ. ПÑ.каÑ.а МабеÑ.ОÑ.е:  CTRL-R
     1726+       Ñ‡ÐžÑÐ»ÐŸ   - скПлькП раз пПвтПрОть выпПлМеМОе кПЌаМЎы
     1727+       ÐºÐŸÐŒÐ°ÐœÐŽÐ° - чтП выпПлМОть, МапрОЌер d Ўля уЎалеМОя
     1728+       ÐŸÐ±ÑŠÐµÐºÑ‚  - Ма чтП ЎПлжМа вПзЎействПвать кПЌаМЎа, МапрОЌер w (слПвП),
     1729+               $ (ЎП кПМца стрПкО), О т.ÐŽ.
     1730+
     1731+  5. Для ПтЌеМы (Птката) преЎшествующОÑ
     1732 ÐŽÐµÐ¹ÑÑ‚вОй МаберОте:  u (стрПчМая u)
     1733+     Ð”ля ПтЌеМы (Птката) всеÑ
     1734 ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹ в стрПке МаберОте:  U (прПпОсМая U)
     1735+     Ð”ля ПтЌеМы Птката МаберОте:  CTRL-R
    14131736+
    14141737+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1415 +                         Ð£Ñ.Пк 3.1: Ð.Ð.Ð.АНÐ.А Ð.СТАÐ.Ð.Ð.
    1416 +
    1417 +
    1418 +   ** НабеÑ.ОÑ.е p Ўля всÑ.авкО пПслеЎМегП Ñ.ЎалеММПгП Ñ.ексÑ.а пПсле кÑ.Ñ.сПÑ.а. **
    1419 +
    1420 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз к пПслеЎМей сÑ.Ñ.Пке Оз МабПÑ.а.
    1421 +
    1422 +  2. НабеÑ.ОÑ.е dd Ўля Ñ.ЎалеМОя сÑ.Ñ.ПкО О ее сПÑ.Ñ.аМеМОя в бÑ.Ñ.еÑ.е Vim'а.
    1423 +
    1424 +  3. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. к сÑ.Ñ.Пке НАÐ. Ñ.еЌ ЌесÑ.ПЌ, кÑ.Ўа слеЎÑ.еÑ. всÑ.авОÑ.Ñ.
    1425 +     Ñ.ЎалеММÑ.Ñ. сÑ.Ñ.ПкÑ..
    1426 +
    1427 +  4. НаÑ.ПЎясÑ. в ПбÑ.Ñ.МПЌ Ñ.ежОЌе МабеÑ.ОÑ.е p Ўля заЌеМÑ. сÑ.Ñ.ПкО.
    1428 +
    1429 +  5. Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 2--4, пПка Ме Ñ.ассÑ.авОÑ.е все сÑ.Ñ.ПкО в ÐœÑ.жМПЌ пПÑ.яЎке.
    1430 +
    1431 +     Ð³) Ð. лÑ.Ñ.Ñ.е вÑ.ÐŽÑ.ЌаÑ.Ñ. Ме ЌПг.
    1432 +     Ð±) Ð.ПгЎа Ме в Ñ.Ñ.Ñ.кÑ. заМеЌПг,
    1433 +     Ð²) Ð.Ðœ Ñ.важаÑ.Ñ. себя засÑ.авОл
    1434 +     Ð°) Ð.Пй ЎяЎя саЌÑ.Ñ. Ñ.есÑ.ÐœÑ.Ñ. пÑ.авОл
     1738+                         Ð£Ñ€ÐŸÐº 3.1: КОМАНДА ВСТАВКИ
     1739+
     1740+
     1741+   ** НаберОте p Ўля вставкО пПслеЎМегП уЎалеММПгП текста пПсле курсПра. **
     1742+
     1743+  1. ПереЌестОте курсПр вМОз к пПслеЎМей стрПке Оз МабПра.
     1744+
     1745+  2. НаберОте dd Ўля уЎалеМОя стрПкО О ее сПÑ
     1746раМеМОя в буфере Vim'а.
     1747+
     1748+  3. ПереЌестОте курсПр к стрПке НАД теЌ ЌестПЌ, куЎа слеЎует вставОть
     1749+     ÑƒÐŽÐ°Ð»ÐµÐœÐœÑƒÑŽ стрПку.
     1750+
     1751+  4. НаÑ
     1752ПЎясь в ПбычМПЌ режОЌе МаберОте p Ўля заЌеМы стрПкО.
     1753+
     1754+  5. ППвтПрОте шагО 2--4, пПка Ме расставОте все стрПкО в МужМПЌ пПряЎке.
     1755+
     1756+     Ð³) И лучше выЎуЌать Ме ЌПг.
     1757+     Ð±) КПгЎа Ме в шутку заМеЌПг,
     1758+     Ð²) ОМ уважать себя заставОл
     1759+     Ð°) МПй ЎяЎя саЌыÑ
     1760 Ñ‡ÐµÑÑ‚МыÑ
     1761 Ð¿Ñ€Ð°Ð²ÐžÐ»
    14351762+
    14361763+
    14371764+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1438 +                      УÑ.Пк 3.2: Ð.Ð.Ð.АНÐ.А Ð.АÐ.Ð.НЫ
    1439 +
    1440 +
    1441 +         ** НабеÑ.ОÑ.е r О сОЌвПл, заЌеМяÑ.Ñ.Ой сОЌвПл пПЎ кÑ.Ñ.сПÑ.ПЌ. **
    1442 +
    1443 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1444 +
    1445 +  2. УсÑ.аМПвОÑ.е кÑ.Ñ.сПÑ. Ñ.ак, Ñ.Ñ.ПбÑ. ПМ МаÑ.ПЎОлся МаЎ пеÑ.вПй ПÑ.ОбкПй.
    1446 +
    1447 +  3. НабеÑ.ОÑ.е r        О заÑ.еЌ сОЌвПл, ОспÑ.авляÑ.Ñ.Ой ПÑ.ОбкÑ..
    1448 +
    1449 +  4. Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 2 О 3, пПка пеÑ.вая сÑ.Ñ.Пка Ме бÑ.ЎеÑ. ОспÑ.авлеМа.
    1450 +
    1451 +--->  Ð. ЌПЌегÑ. МабÑ.Ñ.а эÑ.Пй Ñ.Ñ.Ñ.ПкО кПе0кÑ.П с Ñ.Ñ.Ñ.ЎПЌ пПпвЎал пП клваОÑ.аЌ!
    1452 +--->  Ð. ЌПЌеМÑ. МабПÑ.а эÑ.Пй сÑ.Ñ.ПкО кПе-кÑ.П с Ñ.Ñ.Ñ.ЎПЌ пПпаЎал пП клавОÑ.аЌ!
    1453 +
    1454 +  5. ТепеÑ.Ñ. пеÑ.еÑ.ПЎОÑ.е к УÑ.ПкÑ. 3.2.
    1455 +
    1456 +Ð.АÐ.Ð.ЧАНÐ.Ð.: Ð.ПЌМОÑ.е, Ñ.Ñ.П вÑ. ЎПлжМÑ. Ñ.Ñ.ОÑ.Ñ.ся в пÑ.ПÑ.ессе Ñ.абПÑ.Ñ., а Ме пÑ.ПсÑ.П
     1765+                      УрПк 3.2: КОМАНДА ЗАМЕНЫ
     1766+
     1767+
     1768+         ** НаберОте r О сОЌвПл, заЌеМяющОй сОЌвПл пПЎ курсПрПЌ. **
     1769+
     1770+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1771+
     1772+  2. УстаМПвОте курсПр так, чтПбы ПМ МаÑ
     1773ПЎОлся МаЎ первПй ПшОбкПй.
     1774+
     1775+  3. НаберОте r        О затеЌ сОЌвПл, ОсправляющОй ПшОбку.
     1776+
     1777+  4. ППвтПрОте шагО 2 О 3, пПка первая стрПка Ме буЎет ОсправлеМа.
     1778+
     1779+--->  В ЌПЌегт Мабтра этПй чтрПкО кПе0ктП с труЎПЌ пПпвЎал пП клваОшаЌ!
     1780+--->  В ЌПЌеМт МабПра этПй стрПкО кПе-ктП с труЎПЌ пПпаЎал пП клавОшаЌ!
     1781+
     1782+  5. Теперь переÑ
     1783ПЎОте к УрПку 3.2.
     1784+
     1785+ЗАМЕЧАНИЕ: ППЌМОте, чтП вы ЎПлжМы учОться в прПцессе рабПты, а Ме прПстП
    14571786+          запПЌОМая.
    14581787+
    14591788+
    14601789+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1461 +                        УÑ.Пк 3.3: Ð.Ð.Ð.АНÐ.А Ð.Ð.Ð.Ð.НÐ.НÐ.Я
    1462 +
    1463 +
    1464 +               ** Ð.ля ОзЌеМеМОя Ñ.асÑ.О слПва МабеÑ.ОÑ.е cw . **
    1465 +
    1466 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1467 +
    1468 +  2. РаспПлПжОÑ.е кÑ.Ñ.сПÑ. МаЎ бÑ.квПй `o' в слПве `сПла'.
    1469 +
    1470 +  3. НабеÑ.ОÑ.е cw О ОспÑ.авÑ.Ñ.е слПвП (в ЎаММПЌ слÑ.Ñ.ае, МабеÑ.ОÑ.е `лПв'.)
    1471 +
    1472 +  4. НажЌОÑ.е <ESC> О пеÑ.еÑ.ПЎОÑ.е к слеЎÑ.Ñ.Ñ.ей ПÑ.Обке (к пеÑ.вПЌÑ. сОЌвПлÑ., кПÑ.ПÑ.Ñ.й
    1473 +     ÐœÐ°ÐŽÐŸ ОзЌеМОÑ.Ñ..)
    1474 +
    1475 +  5. Ð.ПвÑ.ПÑ.ОÑ.е Ñ.агО 3--4 пПка пеÑ.вПе пÑ.еЎлПжеМОе Ме сÑ.аМеÑ. ОЎеМÑ.ОÑ.ÐœÑ.ÐŒ вÑ.ПÑ.ПЌÑ..
    1476 +
    1477 +---> НескПлÑ.кП сПла в эÑ.гÑ. сÑ.Ñ.Пке Ñ.пгÑ.Ñ.бÑ. Ñ.еЎалзкÑ.Ñ.ОесвÑ..
    1478 +---> НескПлÑ.кП слПв в эÑ.Пй сÑ.Ñ.Пке Ñ.Ñ.ебÑ.Ñ.Ñ. Ñ.еЎакÑ.ОÑ.ПваМОя.
    1479 +
    1480 +Ð.бÑ.аÑ.ОÑ.е вМОЌаМОе, Ñ.Ñ.П cw Ме Ñ.ПлÑ.кП заЌеМяеÑ. слПвП, МП О пеÑ.евПЎОÑ. вас в Ñ.ежОЌ
    1481 +всÑ.авкО.
     1790+                        УрПк 3.3: КОМАНДА ИЗМЕНЕНИЯ
     1791+
     1792+
     1793+               ** Для ОзЌеМеМОя частО слПва МаберОте cw . **
     1794+
     1795+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1796+
     1797+  2. РаспПлПжОте курсПр МаЎ буквПй `o' в слПве `сПла'.
     1798+
     1799+  3. НаберОте cw О Осправьте слПвП (в ЎаММПЌ случае, МаберОте `лПв'.)
     1800+
     1801+  4. НажЌОте <ESC> О переÑ
     1802ПЎОте к слеЎующей ПшОбке (к первПЌу сОЌвПлу, кПтПрый
     1803+     ÐœÐ°ÐŽÐŸ ОзЌеМОть.)
     1804+
     1805+  5. ППвтПрОте шагО 3--4 пПка первПе преЎлПжеМОе Ме стаМет ОЎеМтОчМыЌ втПрПЌу.
     1806+
     1807+---> НескПлькП сПла в эьгц стрПке тпгшцбь реЎалзкуюОесвÑ
     1808.
     1809+---> НескПлькП слПв в этПй стрПке требуют реЎактОрПваМОя.
     1810+
     1811+ОбратОте вМОЌаМОе, чтП cw Ме тПлькП заЌеМяет слПвП, МП О перевПЎОт вас в режОЌ
     1812+вставкО.
    14821813+
    14831814+
    14841815+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1485 +                 Ð£Ñ.Пк 3.4: Ð.Ð Ð.Ð.Ð.Ð.Ð.АÐ.Ð. Ð.Ð.Ð.Ð.НЯТЬ С Ð.Ð.Ð.АНÐ.Ð.Ð. c
    1486 +
    1487 +
    1488 +** Ð.ПЌаМЎа заЌеМÑ. ОспПлÑ.зÑ.еÑ.ся с Ñ.еЌО же ПбÑ.екÑ.аЌО, Ñ.Ñ.П О кПЌаМЎа Ñ.ЎалеМОя. **
    1489 +
    1490 +  1. Ð.ПЌаМЎа ОзЌеМеМОя пÑ.ОЌеМяеÑ.ся Ñ.акОЌ же ПбÑ.азПЌ, как О кПЌаМЎа Ñ.ЎалеМОя.
    1491 +     Ð.е Ñ.ПÑ.ЌаÑ. Ñ.акПв:
    1492 +
    1493 +       [Ñ.ОслП]   c   ÐŸÐ±Ñ.екÑ.    Ð.Ð.Ð.           c   [Ñ.ОслП]   ÐŸÐ±Ñ.екÑ.
    1494 +
    1495 +  2. Ð.бÑ.екÑ.Ñ. Ñ.акже сПвпаЎаÑ.Ñ.: w (слПвП), $ (кПМеÑ. сÑ.Ñ.ПкО) О Ñ..п.
    1496 +
    1497 +  3. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1498 +
    1499 +  4. Ð.еÑ.ейЎОÑ.е к пеÑ.вПй ПÑ.Обке.
    1500 +
    1501 +  5. НабеÑ.ОÑ.е c$ О ПÑ.Ñ.еЎакÑ.ОÑ.Ñ.йÑ.е пеÑ.вÑ.Ñ. сÑ.Ñ.ПкÑ. Ñ.ак, Ñ.Ñ.ПбÑ. ПМа сПвпаЎала сП
    1502 +     Ð²Ñ.ПÑ.Пй, пПсле Ñ.егП МажЌОÑ.е <ESC>.
    1503 +
    1504 +---> Ð.ПМеÑ. эÑ.Пй сÑ.Ñ.ПкО ÐœÑ.жЎаеÑ.ся в пПЌПÑ.О, Ñ.Ñ.ПбÑ. сÑ.аÑ.Ñ. пПÑ.ПжОЌ Ма вÑ.ПÑ.Пй.
    1505 +---> Ð.ПМеÑ. эÑ.Пй сÑ.Ñ.ПкО ÐœÑ.жЎаеÑ.ся в пПЌПÑ.О кПЌаМЎÑ. c$ .
     1816+                 Ð£Ñ€ÐŸÐº 3.4: ПРОДОЛЖАЕМ ИЗМЕНЯТЬ С КОМАНДОЙ c
     1817+
     1818+
     1819+** КПЌаМЎа заЌеМы ОспПльзуется с теЌО же ПбъектаЌО, чтП О кПЌаМЎа уЎалеМОя. **
     1820+
     1821+  1. КПЌаМЎа ОзЌеМеМОя прОЌеМяется такОЌ же ПбразПЌ, как О кПЌаМЎа уЎалеМОя.
     1822+     Ð•Ðµ фПрЌат такПв:
     1823+
     1824+       [чОслП]   c   ÐŸÐ±ÑŠÐµÐºÑ‚    ИЛИ           c   [чОслП]   ÐŸÐ±ÑŠÐµÐºÑ‚
     1825+
     1826+  2. Объекты также сПвпаЎают: w (слПвП), $ (кПМец стрПкО) О т.п.
     1827+
     1828+  3. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1829+
     1830+  4. ПерейЎОте к первПй ПшОбке.
     1831+
     1832+  5. НаберОте c$ О ПтреЎактОруйте первую стрПку так, чтПбы ПМа сПвпаЎала сП
     1833+     Ð²Ñ‚ПрПй, пПсле чегП МажЌОте <ESC>.
     1834+
     1835+---> КПМец этПй стрПкО МужЎается в пПЌПщО, чтПбы стать пПÑ
     1836ПжОЌ Ма втПрПй.
     1837+---> КПМец этПй стрПкО МужЎается в пПЌПщО кПЌаМЎы c$ .
    15061838+
    15071839+
    15081840+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1509 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 3
    1510 +
    1511 +
    1512 +  1. Ð.ля всÑ.авкО Ñ.ексÑ.а, кПÑ.ПÑ.Ñ.й Ñ.ПлÑ.кП Ñ.Ñ.П бÑ.л Ñ.ЎалеМ, МабеÑ.ОÑ.е p . ЭÑ.а
    1513 +     ÐºÐŸÐŒÐ°ÐœÐŽÐ° всÑ.авОÑ. Ñ.ЎалеММÑ.й Ñ.ексÑ. Ð.Ð.СÐ.Ð. кÑ.Ñ.сПÑ.а (еслО бÑ.ла Ñ.ЎалеМа сÑ.Ñ.Пка,
    1514 +     Ñ.П ПМа бÑ.ЎеÑ. пПЌеÑ.еМа в сÑ.Ñ.Пке пПЎ кÑ.Ñ.сПÑ.ПЌ).
    1515 +
    1516 +  2. Ð.ля заЌеМÑ. сОЌвПла пПЎ кÑ.Ñ.сПÑ.ПЌ МабеÑ.ОÑ.е r О заÑ.еЌ заЌеМяÑ.Ñ.Ой сОЌвПл.
    1517 +
    1518 +  3. Ð.ПЌаМЎа ОзЌеМеМОя пПзвПляеÑ. Ð.аЌ ОзЌеМОÑ.Ñ. Ñ.казаММÑ.й ПбÑ.екÑ. ПÑ. кÑ.Ñ.сПÑ.а ЎП
    1519 +     ÐºÐŸÐœÑ.а эÑ.ПгП ПбÑ.екÑ.а. НапÑ.ОЌеÑ., МабеÑ.ОÑ.е cw Ўля заЌеМÑ. ПÑ. кÑ.Ñ.сПÑ.а ЎП
    1520 +     ÐºÐŸÐœÑ.а слПва, c$ Ўля ОзЌеМеМОя ЎП кПМÑ.а сÑ.Ñ.ПкО.
    1521 +
    1522 +  4. ЀПÑ.ЌаÑ. кПЌаМЎÑ. ОзЌеМеМОя Ñ.акПв:
    1523 +
    1524 +        [Ñ.ОслП]   c       ÐŸÐ±Ñ.екÑ.          Ð.Ð.Ð.    c   [Ñ.ОслП]   ÐŸÐ±Ñ.екÑ.
    1525 +
    1526 +ТепеÑ.Ñ. ПÑ.пÑ.авляйÑ.есÑ. к слеЎÑ.Ñ.Ñ.еЌÑ. Ñ.Ñ.ПкÑ..
     1841+                               Ð Ð•Ð—ЮМЕ УРОКА 3
     1842+
     1843+
     1844+  1. Для вставкО текста, кПтПрый тПлькП чтП был уЎалеМ, МаберОте p . Эта
     1845+     ÐºÐŸÐŒÐ°ÐœÐŽÐ° вставОт уЎалеММый текст ПОСЛЕ курсПра (еслО была уЎалеМа стрПка,
     1846+     Ñ‚П ПМа буЎет пПЌещеМа в стрПке пПЎ курсПрПЌ).
     1847+
     1848+  2. Для заЌеМы сОЌвПла пПЎ курсПрПЌ МаберОте r О затеЌ заЌеМяющОй сОЌвПл.
     1849+
     1850+  3. КПЌаМЎа ОзЌеМеМОя пПзвПляет ВаЌ ОзЌеМОть указаММый Пбъект Пт курсПра ЎП
     1851+     ÐºÐŸÐœÑ†Ð° этПгП Пбъекта. НапрОЌер, МаберОте cw Ўля заЌеМы Пт курсПра ЎП
     1852+     ÐºÐŸÐœÑ†Ð° слПва, c$ Ўля ОзЌеМеМОя ЎП кПМца стрПкО.
     1853+
     1854+  4. ЀПрЌат кПЌаМЎы ОзЌеМеМОя такПв:
     1855+
     1856+        [чОслП]   c       ÐŸÐ±ÑŠÐµÐºÑ‚          ИЛИ    c   [чОслП]   ÐŸÐ±ÑŠÐµÐºÑ‚
     1857+
     1858+Теперь Птправляйтесь к слеЎующеЌу урПку.
    15271859+
    15281860+
     
    15311863+
    15321864+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1533 +             Ð£Ñ.Пк 4.1: Ð.НЀÐ.Ð Ð.АЊÐ.Я Ð. ЀАÐ.Ð.Ð. Ð. РАСÐ.Ð.Ð.Ð.Ð.Ð.НÐ.Ð. Ð. НÐ.Ð.
    1534 +
    1535 +
    1536 + ** НабеÑ.ОÑ.е CTRL-g Ñ.Ñ.ПбÑ. Ñ.вОЎеÑ.Ñ. Ð.аÑ.е ЌесÑ.ПÑ.аспПлПжеМОе в Ñ.айле О ОМÑ.ПÑ.ЌаÑ.ОÑ.
     1865+             Ð£Ñ€ÐŸÐº 4.1: ИНЀОРМАЊИЯ О ЀАЙЛЕ И РАСПОЛОЖЕНИЕ В НЕМ
     1866+
     1867+
     1868+ ** НаберОте CTRL-g чтПбы увОЎеть Ваше ЌестПраспПлПжеМОе в файле О ОМфПрЌацОю
    15371869+                                   ÐŸ МеЌ.
    1538 +       ÐÐ°Ð±ÐµÑ.ОÑ.е SHIFT-G Ўля пеÑ.еЌеÑ.еМОя к заЎаММПй сÑ.Ñ.Пке в Ñ.айле. **
    1539 +
    1540 +  Ð.аЌеÑ.аМОе: Ð.Ñ.ПÑ.ОÑ.айÑ.е весÑ. Ñ.Ñ.Пк пÑ.ежЎе Ñ.еЌ вÑ.пПлМяÑ.Ñ. лÑ.бÑ.е кПЌаМЎÑ.!!
    1541 +
    1542 +  1. УЎеÑ.жОвая клавОÑ.Ñ. Ctrl МажЌОÑ.е g . Ð.МОзÑ. экÑ.аМа пПявОÑ.ся сÑ.Ñ.Пка сÑ.аÑ.Ñ.са с
    1543 +     ÐžÐŒÐµÐœÐµÐŒ Ñ.айла О МПЌеÑ.ПЌ сÑ.Ñ.ПкО, в кПÑ.ПÑ.Пй Ð.Ñ. МаÑ.ПЎОÑ.есÑ.. Ð.апПЌМОÑ.е МПЌеÑ.
    1544 +     ÑÑ.Ñ.ПкО, ПМ пПÑ.Ñ.ебÑ.еÑ.ся Ма Каге 3.
    1545 +
    1546 +  2. НажЌОÑ.е shift-G Ўля пеÑ.еЌеÑ.еМОя к кПМÑ.Ñ. Ñ.айла.
    1547 +
    1548 +  3. НабеÑ.ОÑ.е МПЌеÑ. сÑ.Ñ.ПкО, в кПÑ.ПÑ.Пй вÑ. МаÑ.ПЎОлОсÑ. О заÑ.еЌ shift-G. ЭÑ.П
    1549 +     Ð²ÐµÑ.МеÑ. Ð.ас к сÑ.Ñ.Пке, в кПÑ.ПÑ.Пй Ð.Ñ. бÑ.лО, кПгЎа в пеÑ.вÑ.й Ñ.аз МажалО Ctrl-g.
    1550 +     (Ð.ПгЎа Ð.Ñ. бÑ.ЎеÑ.е МабОÑ.аÑ.Ñ. Ñ.ОÑ.Ñ.Ñ., ПМО НÐ. ПÑ.ПбÑ.азяÑ.ся Ма экÑ.аМе.)
    1551 +
    1552 +  4. Ð.слО Ð.Ñ. запПЌМОлО все вÑ.Ñ.есказаММПе, вÑ.пПлМОÑ.е Ñ.агО 1--3.
     1870+       ÐÐ°Ð±ÐµÑ€ÐžÑ‚е SHIFT-G Ўля переЌещеМОя к заЎаММПй стрПке в файле. **
     1871+
     1872+  ЗаЌечаМОе: ПрПчОтайте весь урПк прежЎе чеЌ выпПлМять любые кПЌаМЎы!!
     1873+
     1874+  1. УЎержОвая клавОшу Ctrl МажЌОте g . ВМОзу экраМа пПявОтся стрПка статуса с
     1875+     ÐžÐŒÐµÐœÐµÐŒ файла О МПЌерПЌ стрПкО, в кПтПрПй Вы МаÑ
     1876ПЎОтесь. ЗапПЌМОте МПЌер
     1877+     ÑÑ‚рПкО, ПМ пПтребуется Ма Каге 3.
     1878+
     1879+  2. НажЌОте shift-G Ўля переЌещеМОя к кПМцу файла.
     1880+
     1881+  3. НаберОте МПЌер стрПкО, в кПтПрПй вы МаÑ
     1882ПЎОлОсь О затеЌ shift-G. ЭтП
     1883+     Ð²ÐµÑ€ÐœÐµÑ‚ Вас к стрПке, в кПтПрПй Вы былО, кПгЎа в первый раз МажалО Ctrl-g.
     1884+     (КПгЎа Вы буЎете МабОрать цОфры, ПМО НЕ ПтПбразятся Ма экраМе.)
     1885+
     1886+  4. ЕслО Вы запПЌМОлО все вышесказаММПе, выпПлМОте шагО 1--3.
    15531887+
    15541888+
    15551889+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1556 +                          УÑ.Пк 4.2: Ð.Ð.Ð.АНÐ.А Ð.Ð.Ð.СÐ.А
    1557 +
    1558 +             ** НабеÑ.ОÑ.е  /  О заÑ.еЌ ввеЎОÑ.е ОскПЌÑ.Ñ. Ñ.Ñ.азÑ.. **
    1559 +
    1560 +  1. Ð. ПбÑ.Ñ.МПЌ Ñ.ежОЌе (Normal mode) МабеÑ.ОÑ.е сОЌвПл  / . Ð.бÑ.аÑ.ОÑ.е вМОЌаМОе,
    1561 +     Ñ.Ñ.П ПМ вЌесÑ.е с кÑ.Ñ.сПÑ.ПЌ пПявОÑ.ся вМОзÑ. экÑ.аМа, как эÑ.П пÑ.ПОсÑ.ПЎОÑ. с
     1890+                          УрПк 4.2: КОМАНДА ПОИСКА
     1891+
     1892+             ** НаберОте  /  О затеЌ ввеЎОте ОскПЌую фразу. **
     1893+
     1894+  1. В ПбычМПЌ режОЌе (Normal mode) МаберОте сОЌвПл  / . ОбратОте вМОЌаМОе,
     1895+     Ñ‡Ñ‚П ПМ вЌесте с курсПрПЌ пПявОтся вМОзу экраМа, как этП прПОсÑ
     1896ПЎОт с
    15621897+     ÐºÐŸÐŒÐ°ÐœÐŽÐŸÐ¹ :        .
    15631898+
    1564 +  2. ТепеÑ.Ñ. МабеÑ.ОÑ.е 'ПÑ.Ñ.Ñ.Обка' <ENTER>. ЭÑ.П Ñ.П слПвП, кПÑ.ПÑ.Пе Ð.Ñ. бÑ.ЎеÑ.е
    1565 +     ÐžÑÐºÐ°Ñ.Ñ..
    1566 +
    1567 +  3. Ð.ля Ñ.ПгП, Ñ.Ñ.ПбÑ. пПвÑ.ПÑ.ОÑ.Ñ. пПОск, пÑ.ПсÑ.П МажЌОÑ.е n .
    1568 +     Ð.ля пПОска эÑ.Пй Ñ.Ñ.азÑ. в ПбÑ.аÑ.МПЌ МапÑ.авлеМОО, МажЌОÑ.е Shift-N .
    1569 +
    1570 +  4. Ð.слО Ð.Ñ. желаеÑ.е сÑ.азÑ. ОскаÑ.Ñ. в ПбÑ.аÑ.МПЌ МапÑ.авлеМОО, ОспПлÑ.зÑ.йÑ.е
    1571 +     ÐºÐŸÐŒÐ°ÐœÐŽÑ. ? вЌесÑ.П / .
    1572 +
    1573 +---> Ð.ПгЎа Ð.Ñ. пÑ.О пПОске ЎПсÑ.ОгМеÑ.е кПМÑ.а Ñ.айла, пПОск бÑ.ЎеÑ. пÑ.ПЎПлжеМ с
    1574 +     ÐœÐ°Ñ.ала.
    1575 +
    1576 +  "ПÑ.Ñ.Ñ.Обка" эÑ.П Ме спПсПб пÑ.ПОзМесеМОя слПва `ПÑ.Обка';  ПÑ.Ñ.Ñ.Обка эÑ.П ПÑ.Обка.
     1899+  2. Теперь МаберОте 'ПшшшОбка' <ENTER>. ЭтП тП слПвП, кПтПрПе Вы буЎете
     1900+     ÐžÑÐºÐ°Ñ‚ÑŒ.
     1901+
     1902+  3. Для тПгП, чтПбы пПвтПрОть пПОск, прПстП МажЌОте n .
     1903+     Ð”ля пПОска этПй фразы в ПбратМПЌ МаправлеМОО, МажЌОте Shift-N .
     1904+
     1905+  4. ЕслО Вы желаете сразу Оскать в ПбратМПЌ МаправлеМОО, ОспПльзуйте
     1906+     ÐºÐŸÐŒÐ°ÐœÐŽÑƒ ? вЌестП / .
     1907+
     1908+---> КПгЎа Вы прО пПОске ЎПстОгМете кПМца файла, пПОск буЎет прПЎПлжеМ с
     1909+     ÐœÐ°Ñ‡Ð°Ð»Ð°.
     1910+
     1911+  "ПшшшОбка" этП Ме спПсПб прПОзМесеМОя слПва `ПшОбка';  ПшшшОбка этП ПшОбка.
    15771912+
    15781913+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1579 +                       Ð£Ñ.Пк 4.3: Ð.Ð.Ð.СÐ. Ð.АРНЫХ СÐ.Ð.Ð.Ð.Ð.
    1580 +
    1581 +
    1582 +               ** НабеÑ.ОÑ.е % Ўля пПОска паÑ.ÐœÑ.Ñ. ),] ОлО } . **
    1583 +
    1584 +  1. Ð.ПЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. МаЎ лÑ.бПй Оз (, [ ОлО { в сÑ.Ñ.Пке вМОзÑ., пПЌеÑ.еММПй --->.
    1585 +
    1586 +  2. ТепеÑ.Ñ. МабеÑ.ОÑ.е сОЌвПл % .
    1587 +
    1588 +  3. Ð.Ñ.Ñ.сПÑ. ЎПлжеМ пеÑ.ескПÑ.ОÑ.Ñ. Ма паÑ.ÐœÑ.Ñ. скПбкÑ..
    1589 +
    1590 +  4. НабеÑ.ОÑ.е % Ўля вПзвÑ.аÑ.а кÑ.Ñ.сПÑ.а МазаЎ к пеÑ.вПй скПбке.
    1591 +
    1592 +---> ЭÑ.П ( сÑ.Ñ.Пка, сПЎеÑ.жаÑ.ая Ñ.акОе (, Ñ.акОе [ ] О Ñ.акОе { } скПбкО. ))
    1593 +
    1594 +Ð.аЌеÑ.аМОе: ЭÑ.П ПÑ.еМÑ. Ñ.ЎПбМП пÑ.О ПÑ.лаЎке пÑ.ПгÑ.аЌЌ с пÑ.ПпÑ.Ñ.еММÑ.ЌО скПбкаЌО!
     1914+                       Ð£Ñ€ÐŸÐº 4.3: ПОИСК ПАРНЫХ СКОБОК
     1915+
     1916+
     1917+               ** НаберОте % Ўля пПОска парМыÑ
     1918 ),] ОлО } . **
     1919+
     1920+  1. ППЌестОте курсПр МаЎ любПй Оз (, [ ОлО { в стрПке вМОзу, пПЌечеММПй --->.
     1921+
     1922+  2. Теперь МаберОте сОЌвПл % .
     1923+
     1924+  3. КурсПр ЎПлжеМ перескПчОть Ма парМую скПбку.
     1925+
     1926+  4. НаберОте % Ўля вПзврата курсПра МазаЎ к первПй скПбке.
     1927+
     1928+---> ЭтП ( стрПка, сПЎержащая такОе (, такОе [ ] О такОе { } скПбкО. ))
     1929+
     1930+ЗаЌечаМОе: ЭтП ПчеМь уЎПбМП прО ПтлаЎке прПграЌЌ с прПпущеММыЌО скПбкаЌО!
    15951931+
    15961932+
     
    16001936+
    16011937+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1602 +                     Ð£Ñ.Пк 4.4: СÐ.Ð.СÐ.Ð. Ð.СÐ.РАÐ.Ð.Ð.НÐ.Я Ð.КÐ.Ð.Ð.Ð.
    1603 +
    1604 +
    1605 +        ** НабеÑ.ОÑ.е :s/бÑ.лП/сÑ.алП/g Ўля заЌеМÑ. 'бÑ.лП' Ма 'сÑ.алП'. **
    1606 +
    1607 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1608 +
    1609 +  2. НабеÑ.ОÑ.е :s/Ñ.вПЎÑ./Ñ.вПжÑ. <ENTER> . Ð.бÑ.аÑ.ОÑ.е вМОЌаМОе Ма Ñ.П, Ñ.Ñ.П эÑ.а кПЌаМЎа
    1610 +     Ð·Ð°ÐŒÐµÐœÐžÑ. Ñ.ПлÑ.кП пеÑ.вПе МайЎеММПе вÑ.ПжЎеМОе в сÑ.Ñ.Пке.
    1611 +
    1612 +  3. ТепеÑ.Ñ. МабеÑ.ОÑ.е :s/Ñ.вПЎÑ./Ñ.вПжÑ./g , ПзМаÑ.аÑ.Ñ.ее пПЎсÑ.аМПвкÑ. глПбалÑ.МП вП
    1613 +     Ð²ÑÐµÐ¹ сÑ.Ñ.Пке. ЭÑ.П заЌеМОÑ. все МайЎеММÑ.е в сÑ.Ñ.Пке вÑ.ПжЎеМОя.
    1614 +
    1615 +---> Я Ñ.вПЎÑ. к ПÑ.веÑ.жеММÑ.ÐŒ селеМÑ.яЌ, я Ñ.вПЎÑ. сквПзÑ. векПвеÑ.ÐœÑ.й сÑ.ПМ, я Ñ.вПЎÑ. к
    1616 +     Ð·Ð°Ð±Ñ.Ñ.Ñ.ÐŒ пПкПлеМÑ.яЌ.
    1617 +
    1618 +  4. Ð.ля заЌеМÑ. всеÑ. вÑ.ПжЎеМОй пПслеЎПваÑ.елÑ.МПсÑ.О сОЌвПлПв ЌежЎÑ. ЎвÑ.Ќя
    1619 +     ÑÑ.Ñ.ПкаЌО,
    1620 +     ÐœÐ°Ð±ÐµÑ.ОÑ.е :#,#s/бÑ.лП/сÑ.алП/g  гЎе #,# --- МПЌеÑ.а эÑ.ОÑ. сÑ.Ñ.Пк.
    1621 +     ÐÐ°Ð±ÐµÑ.ОÑ.е :%s/бÑ.лП/сÑ.алП/g    Ўля заЌеМÑ. всеÑ. вÑ.ПжЎеМОй вП всеЌ Ñ.айле.
     1938+                     Ð£Ñ€ÐŸÐº 4.4: СПОСОБ ИСПРАВЛЕНИЯ ОКИБОК
     1939+
     1940+
     1941+        ** НаберОте :s/былП/сталП/g Ўля заЌеМы 'былП' Ма 'сталП'. **
     1942+
     1943+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     1944+
     1945+  2. НаберОте :s/увПЎю/увПжу <ENTER> . ОбратОте вМОЌаМОе Ма тП, чтП эта кПЌаМЎа
     1946+     Ð·Ð°ÐŒÐµÐœÐžÑ‚ тПлькП первПе МайЎеММПе вÑ
     1947ПжЎеМОе в стрПке.
     1948+
     1949+  3. Теперь МаберОте :s/увПЎю/увПжу/g , ПзМачающее пПЎстаМПвку глПбальМП вП
     1950+     Ð²ÑÐµÐ¹ стрПке. ЭтП заЌеМОт все МайЎеММые в стрПке вÑ
     1951ПжЎеМОя.
     1952+
     1953+---> Я увПЎю к ПтвержеММыЌ селеМьяЌ, я увПЎю сквПзь векПвечМый стПМ, я увПЎю к
     1954+     Ð·Ð°Ð±Ñ‹Ñ‚Ñ‹ÐŒ пПкПлеМьяЌ.
     1955+
     1956+  4. Для заЌеМы всеÑ
     1957 Ð²Ñ
     1958ПжЎеМОй пПслеЎПвательМПстО сОЌвПлПв ЌежЎу ЎвуЌя
     1959+     ÑÑ‚рПкаЌО,
     1960+     ÐœÐ°Ð±ÐµÑ€ÐžÑ‚е :#,#s/былП/сталП/g  гЎе #,# --- МПЌера этОÑ
     1961 ÑÑ‚рПк.
     1962+     ÐÐ°Ð±ÐµÑ€ÐžÑ‚е :%s/былП/сталП/g    Ўля заЌеМы всеÑ
     1963 Ð²Ñ
     1964ПжЎеМОй вП всеЌ файле.
    16221965+
    16231966+
    16241967+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1625 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 4
    1626 +  1. Ctrl-g пПказÑ.ваеÑ. ваÑ.е пПлПжеМОе в Ñ.айле О ОМÑ.ПÑ.ЌаÑ.ОÑ. П МеЌ.
    1627 +     Shift-G пеÑ.еЌеÑ.аеÑ. Ð.ас в кПМеÑ. Ñ.айла. НПЌеÑ., за кПÑ.ПÑ.Ñ.ÐŒ слеЎÑ.еÑ. Shift-G
    1628 +     Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ. пеÑ.ейÑ.О к сÑ.Ñ.Пке с эÑ.ОЌ МПЌеÑ.ПЌ.
    1629 +
    1630 +  2. НажаÑ.Ое / О заÑ.еЌ ввПЎ сÑ.Ñ.ПкО пПзвПляеÑ. пÑ.ПОзвесÑ.О пПОск эÑ.Пй сÑ.Ñ.ПкО
    1631 +     Ð.Ð.Ð.Ð Ð.Ð. пП Ñ.ексÑ.Ñ..
    1632 +     ÐÐ°Ð¶Ð°Ñ.Ое ? О заÑ.еЌ ввПЎ сÑ.Ñ.ПкО пПзвПляеÑ. пÑ.ПОзвесÑ.О пПОск эÑ.Пй сÑ.Ñ.ПкО
    1633 +     ÐÐÐ.АÐ. пП Ñ.ексÑ.Ñ..
    1634 +     Ð.Псле пПОска МабеÑ.ОÑ.е n Ўля пеÑ.еÑ.ПЎа к слеЎÑ.Ñ.Ñ.еЌÑ. вÑ.ПжЎеМОÑ. ОскПЌПй
    1635 +     ÑÑ.Ñ.ПкО в Ñ.ПЌ же МапÑ.авлеМОО ОлО Shift-N Ўля пеÑ.еÑ.ПЎа в пÑ.ПÑ.ОвПпПлПжМПЌ
    1636 +     ÐœÐ°Ð¿Ñ.авлеМОО.
    1637 +
    1638 +  3. НажаÑ.Ое % , кПгЎа кÑ.Ñ.сПÑ. МаÑ.ПЎОÑ.ся Ма (,),[,],{, ОлО } пПзвПляеÑ. МайÑ.О
    1639 +     Ð¿Ð°Ñ.ÐœÑ.Ñ. скПбкÑ..
    1640 +
    1641 +  4. Ð.ля пПЎсÑ.аМПвкО `сÑ.алП' вЌесÑ.П пеÑ.вПгП `бÑ.лП' в сÑ.Ñ.Пке, МабеÑ.ОÑ.е
     1968+                               Ð Ð•Ð—ЮМЕ УРОКА 4
     1969+  1. Ctrl-g пПказывает ваше пПлПжеМОе в файле О ОМфПрЌацОю П МеЌ.
     1970+     Shift-G переЌещает Вас в кПМец файла. НПЌер, за кПтПрыЌ слеЎует Shift-G
     1971+     Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ‚ перейтО к стрПке с этОЌ МПЌерПЌ.
     1972+
     1973+  2. НажатОе / О затеЌ ввПЎ стрПкО пПзвПляет прПОзвестО пПОск этПй стрПкО
     1974+     Ð’ПЕРЕД пП тексту.
     1975+     ÐÐ°Ð¶Ð°Ñ‚Ое ? О затеЌ ввПЎ стрПкО пПзвПляет прПОзвестО пПОск этПй стрПкО
     1976+     ÐÐÐ—АД пП тексту.
     1977+     ÐŸÐŸÑÐ»Ðµ пПОска МаберОте n Ўля переÑ
     1978ПЎа к слеЎующеЌу вÑ
     1979ПжЎеМОю ОскПЌПй
     1980+     ÑÑ‚рПкО в тПЌ же МаправлеМОО ОлО Shift-N Ўля переÑ
     1981ПЎа в прПтОвПпПлПжМПЌ
     1982+     ÐœÐ°Ð¿Ñ€Ð°Ð²Ð»ÐµÐœÐžÐž.
     1983+
     1984+  3. НажатОе % , кПгЎа курсПр МаÑ
     1985ПЎОтся Ма (,),[,],{, ОлО } пПзвПляет МайтО
     1986+     Ð¿Ð°Ñ€ÐœÑƒÑŽ скПбку.
     1987+
     1988+  4. Для пПЎстаМПвкО `сталП' вЌестП первПгП `былП' в стрПке, МаберОте
    16421989+     :s/old/new
    1643 +     Ð.ля пПЎсÑ.аМПвкО `сÑ.алП' вЌесÑ.П всеÑ. `бÑ.лП' в сÑ.Ñ.Пке, МабеÑ.ОÑ.е
     1990+     Ð”ля пПЎстаМПвкО `сталП' вЌестП всеÑ
     1991 `былП' в стрПке, МаберОте
    16441992+     :s/old/new/g
    1645 +     Ð.ля заЌеМÑ. в ОМÑ.еÑ.вале ЌежЎÑ. ЎвÑ.Ќя сÑ.Ñ.ПкаЌО, МабеÑ.ОÑ.е
     1993+     Ð”ля заЌеМы в ОМтервале ЌежЎу ЎвуЌя стрПкаЌО, МаберОте
    16461994+     :#,#s/old/new/g
    1647 +     Ð.ля заЌеМÑ. всеÑ. вÑ.ПжЎеМОй `бÑ.лП' Ма `сÑ.алП' в Ñ.айле, МабеÑ.ОÑ.е
     1995+     Ð”ля заЌеМы всеÑ
     1996 Ð²Ñ
     1997ПжЎеМОй `былП' Ма `сталП' в файле, МаберОте
    16481998+     :%s/old/new/g
    1649 +     Ð§Ñ.ПбÑ. Ñ.еЎакÑ.ПÑ. кажЎÑ.й Ñ.аз запÑ.аÑ.Овал пПЎÑ.веÑ.жЎеМОе, ЎПбавÑ.Ñ.е 'c'
     1999+     Ð§Ñ‚Пбы реЎактПр кажЎый раз запрашОвал пПЎтвержЎеМОе, ЎПбавьте 'c'
    16502000+     :%s/old/new/gc
    16512001+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1652 +                  УÑ.Пк 5.1: Ð.АÐ. Ð.ЫÐ.Ð.Ð.НÐ.ТЬ Ð.НÐ.КНЮЮ Ð.Ð.Ð.АНÐ.У
    1653 +
    1654 +
    1655 +    ** НабеÑ.ОÑ.е :! О заÑ.еЌ вМеÑ.ÐœÑ.Ñ. кПЌаМЎÑ., кПÑ.ПÑ.Ñ.Ñ. слеЎÑ.еÑ. вÑ.пПлМОÑ.Ñ.. **
    1656 +
    1657 +  1. НабеÑ.ОÑ.е Ñ.же зМакПЌÑ.Ñ. Ð.аЌ кПЌаМЎÑ. : Ўля Ñ.сÑ.аМПвкО кÑ.Ñ.сПÑ.а в кПЌаМЎМÑ.Ñ.
    1658 +     ÑÑ.Ñ.ПкÑ. Ñ.еЎакÑ.ПÑ.а. ЭÑ.П пПзвПлОÑ. Ð.аЌ ввесÑ.О кПЌаМЎÑ..
    1659 +
    1660 +  2. ТепеÑ.Ñ. МабеÑ.ОÑ.е сОЌвПл ! (вПсклОÑ.аÑ.елÑ.ÐœÑ.й зМак). ТепеÑ.Ñ. ЌПжМП ОспПлМОÑ.Ñ.
    1661 +     Ð²ÐœÐµÑ.ÐœÑ.Ñ. кПЌаМЎÑ., ОспПлÑ.зÑ.я кПЌаМЎМÑ.Ñ. ПбПлПÑ.кÑ..
    1662 +
    1663 +  3. Ð.ля пÑ.ОЌеÑ.а МабеÑ.ОÑ.е ls пПсле ! О МажЌОÑ.е <ENTER>. ЭÑ.а кПЌаМЎа вÑ.веЎеÑ.
    1664 +     ÑÐ¿ÐžÑÐŸÐº Ñ.айлПв в Ñ.екÑ.Ñ.еЌ каÑ.алПге, Ñ.ПÑ.МП Ñ.акже, как еслО бÑ. Ð.Ñ. ввелО эÑ.Ñ.
    1665 +     ÐºÐŸÐŒÐ°ÐœÐŽÑ. в пÑ.ОглаÑ.еМОО ПбПлПÑ.кО. Ð.лО пПпÑ.ПбÑ.йÑ.е :!dir , еслО пÑ.еЎÑ.ÐŽÑ.Ñ.ая
    1666 +     ÐºÐŸÐŒÐ°ÐœÐŽÐ° Ме сÑ.абПÑ.ала.
    1667 +
    1668 +---> Ð.аЌеÑ.аМОе: ТакОЌ спПсПбПЌ ЌПжМП вÑ.пПлМОÑ.Ñ. лÑ.бÑ.Ñ. вМеÑ.ÐœÑ.Ñ. кПЌаМЎÑ..
    1669 +
    1670 +---> Ð.аЌеÑ.аМОе: Ð.се кПЌаМЎÑ., МаÑ.ОМаÑ.Ñ.Оеся с : , ЎПлжМÑ. завеÑ.Ñ.аÑ.Ñ.ся МажаÑ.ОеЌ
     2002+                  УрПк 5.1: КАК ВЫПОЛНИТЬ ВНЕКНЮЮ КОМАНДУ
     2003+
     2004+
     2005+    ** НаберОте :! О затеЌ вМешМюю кПЌаМЎу, кПтПрую слеЎует выпПлМОть. **
     2006+
     2007+  1. НаберОте уже зМакПЌую ВаЌ кПЌаМЎу : Ўля устаМПвкО курсПра в кПЌаМЎМую
     2008+     ÑÑ‚рПку реЎактПра. ЭтП пПзвПлОт ВаЌ ввестО кПЌаМЎу.
     2009+
     2010+  2. Теперь МаберОте сОЌвПл ! (вПсклОцательМый зМак). Теперь ЌПжМП ОспПлМОть
     2011+     Ð²ÐœÐµÑˆÐœÑŽÑŽ кПЌаМЎу, ОспПльзуя кПЌаМЎМую ПбПлПчку.
     2012+
     2013+  3. Для прОЌера МаберОте ls пПсле ! О МажЌОте <ENTER>. Эта кПЌаМЎа вывеЎет
     2014+     ÑÐ¿ÐžÑÐŸÐº файлПв в текущеЌ каталПге, тПчМП также, как еслО бы Вы ввелО эту
     2015+     ÐºÐŸÐŒÐ°ÐœÐŽÑƒ в прОглашеМОО ПбПлПчкО. ИлО пПпрПбуйте :!dir , еслО преЎыЎущая
     2016+     ÐºÐŸÐŒÐ°ÐœÐŽÐ° Ме срабПтала.
     2017+
     2018+---> ЗаЌечаМОе: ТакОЌ спПсПбПЌ ЌПжМП выпПлМОть любую вМешМюю кПЌаМЎу.
     2019+
     2020+---> ЗаЌечаМОе: Все кПЌаМЎы, МачОМающОеся с : , ЎПлжМы завершаться МажатОеЌ
    16712021+     <ENTER>.
    16722022+
    16732023+
    16742024+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1675 +                        УÑ.Пк 5.2: Ð.АÐ. Ð.АÐ.Ð.САТЬ ЀАÐ.Ð.
    1676 +
    1677 +
    1678 +** Ð.ля сПÑ.Ñ.аМеМОя ОзЌеМеМОй, пÑ.ПОзвеЎеММÑ.Ñ. в Ñ.айле, МабеÑ.ОÑ.е :w Ð.Ð.Я_ЀАÐ.Ð.А. **
    1679 +
    1680 +  1. НабеÑ.ОÑ.е :!dir ОлО :!ls Ўля пПлÑ.Ñ.еМОя спОска Ñ.айлПв в Ñ.екÑ.Ñ.еЌ каÑ.алПге.
    1681 +     Ð.ак Ð.аЌ Ñ.же ОзвесÑ.МП, Ð.Ñ. ЎПлжМÑ. МажаÑ.Ñ. <ENTER> пПсле ввПЎа эÑ.ОÑ. кПЌаМЎ.
    1682 +
    1683 +  2. Ð.Ñ.ОЎÑ.ЌайÑ.е МазваМОе Ўля Ñ.айла, кПÑ.ПÑ.Пе еÑ.е Ме сÑ.Ñ.есÑ.вÑ.еÑ., МапÑ.ОЌеÑ. TEST.
    1684 +
    1685 +  3. ТепеÑ.Ñ. МабеÑ.ОÑ.е :w TEST (гЎе TEST --- эÑ.П ОЌя Ñ.айла, пÑ.ОЎÑ.ЌаММПе Ð.аЌО.)
    1686 +
    1687 +  4. ЭÑ.а кПЌаМЎа сПÑ.Ñ.аМОÑ. весÑ. Ñ.айл (УÑ.ебМОк пП Vim) пПЎ ОЌеМеЌ TEST. ЧÑ.ПбÑ.
    1688 +     Ñ.ЎПсÑ.ПвеÑ.ОÑ.Ñ.ся в эÑ.ПЌ, сМПва МабеÑ.ОÑ.е :!dir О пÑ.ПсЌПÑ.Ñ.ОÑ.е каÑ.алПг.
    1689 +
    1690 +---> Ð.аЌеÑ.Ñ.Ñ.е, Ñ.Ñ.П еслО Ð.Ñ. вÑ.йЎеÑ.е Оз Vim О заÑ.еЌ запÑ.сÑ.ОÑ.е егП сМПва с
    1691 +     Ñ.айлПЌ TEST, эÑ.ПÑ. Ñ.айл бÑ.ЎеÑ. Ñ.ПÑ.МПй кПпОей Ñ.Ñ.ебМОка в Ñ.ПÑ. ЌПЌеМÑ., кПгЎа
    1692 +     Ð.Ñ. егП сПÑ.Ñ.аМОлО.
    1693 +
    1694 +  5. ТепеÑ.Ñ. Ñ.ЎалОÑ.е эÑ.ПÑ. Ñ.айл, МабÑ.ав :!del TEST
     2025+                        УрПк 5.2: КАК ЗАПИСАТЬ ЀАЙЛ
     2026+
     2027+
     2028+** Для сПÑ
     2029раМеМОя ОзЌеМеМОй, прПОзвеЎеММыÑ
     2030 Ð² файле, МаберОте :w ИМЯ_ЀАЙЛА. **
     2031+
     2032+  1. НаберОте :!dir ОлО :!ls Ўля пПлучеМОя спОска файлПв в текущеЌ каталПге.
     2033+     ÐšÐ°Ðº ВаЌ уже ОзвестМП, Вы ЎПлжМы Мажать <ENTER> пПсле ввПЎа этОÑ
     2034 ÐºÐŸÐŒÐ°ÐœÐŽ.
     2035+
     2036+  2. ПрОЎуЌайте МазваМОе Ўля файла, кПтПрПе еще Ме существует, МапрОЌер TEST.
     2037+
     2038+  3. Теперь МаберОте :w TEST (гЎе TEST --- этП ОЌя файла, прОЎуЌаММПе ВаЌО.)
     2039+
     2040+  4. Эта кПЌаМЎа сПÑ
     2041раМОт весь файл (УчебМОк пП Vim) пПЎ ОЌеМеЌ TEST. ЧтПбы
     2042+     ÑƒÐŽÐŸÑÑ‚ПверОться в этПЌ, сМПва МаберОте :!dir О прПсЌПтрОте каталПг.
     2043+
     2044+---> ЗаЌетьте, чтП еслО Вы выйЎете Оз Vim О затеЌ запустОте егП сМПва с
     2045+     Ñ„айлПЌ TEST, этПт файл буЎет тПчМПй кПпОей учебМОка в тПт ЌПЌеМт, кПгЎа
     2046+     Ð’Ñ‹ егП сПÑ
     2047раМОлО.
     2048+
     2049+  5. Теперь уЎалОте этПт файл, Мабрав :!del TEST
    16952050+
    16962051+
    16972052+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1698 +                      УÑ.Пк 5.3: Ð.ЫÐ.Ð.Ð Ð.ЧНÐ.Ð. СÐ.ХРАНÐ.НÐ.Ð.
    1699 +
    1700 +
    1701 +        ** Ð.ля сПÑ.Ñ.аМеМОя Ñ.асÑ.О Ñ.айла, МабеÑ.ОÑ.е :#,# w Ð.Ð.Я_ЀАÐ.Ð.А **
    1702 +
    1703 +  1. Ð.Ñ.е Ñ.аз МабеÑ.ОÑ.е :!dir ОлО :!ls Ўля пПлÑ.Ñ.еМОя спОска Ñ.айлПв в Ñ.екÑ.Ñ.еЌ
    1704 +     ÐºÐ°Ñ.алПге О вÑ.беÑ.ОÑ.е пПЎÑ.ПЎяÑ.ее ОЌя, МапÑ.ОЌеÑ. TEST.
    1705 +
    1706 +  2. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. к МаÑ.алÑ. эÑ.Пй сÑ.Ñ.аМОÑ.Ñ. О МажЌОÑ.е Ctrl-g Ўля МаÑ.ПжЎеМОя
    1707 +     ÐœÐŸÐŒÐµÑ.а сÑ.Ñ.ПкОto. Ð.АÐ.Ð.Ð.НÐ.ТÐ. ЭТÐ.Т НÐ.Ð.Ð.Ð !
    1708 +
    1709 +  3. ТепеÑ.Ñ. пеÑ.еЌесÑ.ОÑ.есÑ. в кПМеÑ. сÑ.Ñ.аМОÑ.Ñ. О вМПвÑ. МабеÑ.ОÑ.е Ctrl-g. Ð.АÐ.Ð.Ð.НÐ.ТÐ.
    1710 +     Ð. ЭТÐ.Т НÐ.Ð.Ð.Р ТÐ.Ð.Ð.!
    1711 +
    1712 +  4. Ð.ля сПÑ.Ñ.аМеМОя ТÐ.Ð.ЬÐ.Ð. ЧАСТÐ. Ñ.айла МабеÑ.ОÑ.е :#,# w TEST , гЎе #,# --- эÑ.П
    1713 +     ÐœÐŸÐŒÐµÑ.а, кПÑ.ПÑ.Ñ.е Ð.Ñ. запПЌМОлО (МаÑ.алП, кПМеÑ.), а TEST --- ОЌя ваÑ.егП Ñ.айла.
    1714 +
    1715 +  5. Ð.ак О пÑ.ежЎе, Ñ.беЎОÑ.есÑ. в МалОÑ.ОО эÑ.ПгП Ñ.айла кПЌаМЎПй :!dir , МП НÐ.
    1716 +     Ð£Ð.АÐ.ЯÐ.ТÐ. егП.
     2053+                      УрПк 5.3: ВЫБОРОЧНОЕ СОХРАНЕНИЕ
     2054+
     2055+
     2056+        ** Для сПÑ
     2057раМеМОя частО файла, МаберОте :#,# w ИМЯ_ЀАЙЛА **
     2058+
     2059+  1. Еще раз МаберОте :!dir ОлО :!ls Ўля пПлучеМОя спОска файлПв в текущеЌ
     2060+     ÐºÐ°Ñ‚алПге О выберОте пПЎÑ
     2061ПЎящее ОЌя, МапрОЌер TEST.
     2062+
     2063+  2. ПереЌестОте курсПр к Мачалу этПй страМОцы О МажЌОте Ctrl-g Ўля МаÑ
     2064ПжЎеМОя
     2065+     ÐœÐŸÐŒÐµÑ€Ð° стрПкОto. ЗАПОМНИТЕ ЭТОТ НОМЕР!
     2066+
     2067+  3. Теперь переЌестОтесь в кПМец страМОцы О вМПвь МаберОте Ctrl-g. ЗАПОМНИТЕ
     2068+     Ð˜ ЭТОТ НОМЕР ТОЖЕ!
     2069+
     2070+  4. Для сПÑ
     2071раМеМОя ТОЛЬКО ЧАСТИ файла МаберОте :#,# w TEST , гЎе #,# --- этП
     2072+     ÐœÐŸÐŒÐµÑ€Ð°, кПтПрые Вы запПЌМОлО (МачалП, кПМец), а TEST --- ОЌя вашегП файла.
     2073+
     2074+  5. Как О прежЎе, убеЎОтесь в МалОчОО этПгП файла кПЌаМЎПй :!dir , МП НЕ
     2075+     Ð£Ð”АЛЯЙТЕ егП.
    17172076+
    17182077+
    17192078+
    17202079+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1721 +                   Ð£Ñ.Пк 5.4: ЧТÐ.НÐ.Ð. Ð. Ð.Ð.ЪÐ.Ð.Ð.НÐ.НÐ.Ð. ЀАÐ.Ð.Ð.Ð.
    1722 +
    1723 +         ** Ð.ля всÑ.авкО сПЎеÑ.жОЌПгП Ñ.айла, МабеÑ.ОÑ.е  :r FILENAME **
    1724 +
    1725 +  1. НабеÑ.ОÑ.е :!dir Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. Ñ.беЎОÑ.Ñ.ся в Ñ.ПЌ, Ñ.Ñ.П Ñ.айл TEST все еÑ.е
    1726 +     ÑÑ.Ñ.есÑ.вÑ.еÑ..
    1727 +
    1728 +  2. УсÑ.аМПвОÑ.е кÑ.Ñ.сПÑ. в веÑ.Ñ.Мей Ñ.асÑ.О эÑ.Пй сÑ.Ñ.аМОÑ.Ñ..
    1729 +
    1730 +Ð.аЌеÑ.аМОе: Ð.Псле вÑ.пПлМеМОя Ñ.ага 3 Ð.Ñ. Ñ.вОЎОÑ.е УÑ.Пк 5.3.       Ð.Псле эÑ.ПгП
    1731 +          пеÑ.еЌеÑ.айÑ.есÑ. Ð.НÐ.Ð., сМПва к эÑ.ПЌÑ. Ñ.Ñ.ПкÑ..
    1732 +
    1733 +  3. ТепеÑ.Ñ. пÑ.ПÑ.ОÑ.айÑ.е Ð.аÑ. Ñ.айл TEST, ОспПлÑ.зÑ.я кПЌаМЎÑ. :r TEST , гЎе
    1734 +     TEST --- эÑ.П ОЌя Ñ.айла.
    1735 +
    1736 +Ð.аЌеÑ.аМОе: Ð.Ñ.ПÑ.ОÑ.аММÑ.й Ð.аЌО Ñ.айл бÑ.ЎеÑ. всÑ.авлеМ в Ñ.ПЌ ЌесÑ.е, гЎе МаÑ.ПЎОÑ.ся
    1737 +          кÑ.Ñ.сПÑ..
    1738 +
    1739 +  4. ЧÑ.ПбÑ. Ñ.беЎОÑ.Ñ.ся в Ñ.ПЌ, Ñ.Ñ.П Ñ.айл пÑ.ПÑ.ОÑ.аМ, пеÑ.еЌесÑ.ОÑ.есÑ. МеЌМПгП МазаЎ пП
    1740 +     Ñ.ексÑ.Ñ. О заЌеÑ.Ñ.Ñ.е, Ñ.Ñ.П Ñ.епеÑ.Ñ. сÑ.Ñ.есÑ.вÑ.Ñ.Ñ. Ўве кПпОО УÑ.Пка 5.3, ОсÑ.ПЎМая
    1741 +     Ðž пПлÑ.Ñ.еММая Оз Ñ.айла.
     2080+                   Ð£Ñ€ÐŸÐº 5.4: ЧТЕНИЕ И ОБЪЕДИНЕНИЕ ЀАЙЛОВ
     2081+
     2082+         ** Для вставкО сПЎержОЌПгП файла, МаберОте  :r FILENAME **
     2083+
     2084+  1. НаберОте :!dir Ўля тПгП, чтПбы убеЎОться в тПЌ, чтП файл TEST все еще
     2085+     ÑÑƒÑ‰ÐµÑÑ‚вует.
     2086+
     2087+  2. УстаМПвОте курсПр в верÑ
     2088Мей частО этПй страМОцы.
     2089+
     2090+ЗаЌечаМОе: ППсле выпПлМеМОя шага 3 Вы увОЎОте УрПк 5.3.       ÐŸÐŸÑÐ»Ðµ этПгП
     2091+          переЌещайтесь ВНИЗ, сМПва к этПЌу урПку.
     2092+
     2093+  3. Теперь прПчОтайте Ваш файл TEST, ОспПльзуя кПЌаМЎу :r TEST , гЎе
     2094+     TEST --- этП ОЌя файла.
     2095+
     2096+ЗаЌечаМОе: ПрПчОтаММый ВаЌО файл буЎет вставлеМ в тПЌ Ќесте, гЎе МаÑ
     2097ПЎОтся
     2098+          курсПр.
     2099+
     2100+  4. ЧтПбы убеЎОться в тПЌ, чтП файл прПчОтаМ, переЌестОтесь МеЌМПгП МазаЎ пП
     2101+     Ñ‚ексту О [A[BзаЌетьте, чтП теперь существуют Ўве кПпОО УрПка 5.3, ОсÑ
     2102ПЎМая
     2103+     Ðž пПлучеММая Оз файла.
    17422104+
    17432105+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1744 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 5
    1745 +
    1746 +
    1747 +  1.  :!кПЌаМЎа  ОспПлМяеÑ. вМеÑ.ÐœÑ.Ñ. кПЌаМЎÑ..
    1748 +
    1749 +      НекПÑ.ПÑ.Ñ.е пПлезМÑ.е пÑ.ОЌеÑ.Ñ.:
    1750 +         :!dir --- вÑ.вПЎОÑ. спОсПк Ñ.айлПв в каÑ.алПге.
    1751 +         :!del FILENAME --- Ñ.ЎаляеÑ. Ñ.айл FILENAME.
    1752 +
    1753 +  2.  :w FILENAME запОсÑ.ваеÑ. Ñ.екÑ.Ñ.Ой Ñ.еЎакÑ.ОÑ.Ñ.еЌÑ.й Ñ.айл Ма ЎОск
     2106+                               Ð Ð•Ð—ЮМЕ УРОКА 5
     2107+
     2108+
     2109+  1.  :!кПЌаМЎа  ОспПлМяет вМешМюю кПЌаМЎу.
     2110+
     2111+      НекПтПрые пПлезМые прОЌеры:
     2112+         :!dir --- вывПЎОт спОсПк файлПв в каталПге.
     2113+         :!del FILENAME --- уЎаляет файл FILENAME.
     2114+
     2115+  2.  :w FILENAME запОсывает текущОй реЎактОруеЌый файл Ма ЎОск
    17542116+      пПЎ ОЌеМеЌ FILENAME.
    17552117+
    1756 +  3.  :#,#w FILENAME сПÑ.Ñ.аМяеÑ. сÑ.Ñ.ПкО ПÑ. # ЎП # в Ñ.айл FILENAME.
    1757 +
    1758 +  4.  :r FILENAME сÑ.ОÑ.Ñ.ваеÑ. с ЎОска Ñ.айл FILENAME О пПЌеÑ.аеÑ. егП в Ñ.екÑ.Ñ.Ой
    1759 +      Ñ.айл слеЎПЌ за пПзОÑ.Оей кÑ.Ñ.сПÑ.а.
     2118+  3.  :#,#w FILENAME сПÑ
     2119раМяет стрПкО Пт # ЎП # в файл FILENAME.
     2120+
     2121+  4.  :r FILENAME счОтывает с ЎОска файл FILENAME О пПЌещает егП в текущОй
     2122+      файл слеЎПЌ за пПзОцОей курсПра.
    17602123+
    17612124+
     
    17662129+
    17672130+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1768 +                         Ð£Ñ.Пк 6.1: Ð.Ð.Ð.АНÐ.А СÐ.Ð.Ð.АНÐ.Я
    1769 +
    1770 +
    1771 + ** НабеÑ.ОÑ.е o Ñ.Ñ.ПбÑ. сПзЎаÑ.Ñ. пÑ.сÑ.Ñ.Ñ. сÑ.Ñ.ПкÑ. пПЎ кÑ.Ñ.сПÑ.ПЌ О пеÑ.ейÑ.О в Ñ.ежОЌ
    1772 +                          всÑ.авкО (Insert mode) **
    1773 +
    1774 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1775 +
    1776 +  2. НабеÑ.ОÑ.е o (в МОжМеЌ Ñ.егОсÑ.Ñ.е) Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. сПзЎаÑ.Ñ. пÑ.сÑ.Ñ.Ñ. сÑ.Ñ.ПкÑ.
    1777 +     ÐÐ.Ð.Ð. кÑ.Ñ.сПÑ.а О пеÑ.ейÑ.О в Ñ.ежОЌ всÑ.авкО (Insert mode).
    1778 +
    1779 +  3. ТепеÑ.Ñ. скПпОÑ.Ñ.йÑ.е пПЌеÑ.еММÑ.Ñ. ---> сÑ.Ñ.ПкÑ. О МажЌОÑ.е <ESC> Ўля вÑ.Ñ.ПЎа Оз
    1780 +     Ñ.ежОЌа всÑ.авкО.
    1781 +
    1782 +---> Ð.Псле МажаÑ.Оя o кÑ.Ñ.сПÑ. пеÑ.ейЎеÑ. Ма МПвÑ.Ñ. пÑ.сÑ.Ñ.Ñ. сÑ.Ñ.ПкÑ. в Ñ.ежОЌе всÑ.авкО.
    1783 +
    1784 +  4. Ð.ля сПзЎаМОя сÑ.Ñ.ПкО Ð.ЫКÐ. кÑ.Ñ.сПÑ.а, пÑ.ПсÑ.П МабеÑ.ОÑ.е заглавМÑ.Ñ. O, вЌесÑ.П
    1785 +     ÑÑ.Ñ.ПÑ.МПй o. Ð.ПпÑ.ПбÑ.йÑ.е пÑ.ПЎелаÑ.Ñ. эÑ.П с МОжеслеЎÑ.Ñ.Ñ.ей сÑ.Ñ.ПкПй.
    1786 +СПзЎайÑ.е МПвÑ.Ñ. сÑ.Ñ.ПкÑ. МаЎ эÑ.Пй, Мажав Shift-O, пПЌесÑ.Ов кÑ.Ñ.сПÑ. Ма эÑ.Ñ. сÑ.Ñ.ПкÑ..
     2131+                         Ð£Ñ€ÐŸÐº 6.1: КОМАНДА СОЗДАНИЯ
     2132+
     2133+
     2134+ ** НаберОте o чтПбы сПзЎать пустую стрПку пПЎ курсПрПЌ О перейтО в режОЌ
     2135+                          вставкО (Insert mode) **
     2136+
     2137+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     2138+
     2139+  2. НаберОте o (в МОжМеЌ регОстре) Ўля тПгП, чтПбы сПзЎать пустую стрПку
     2140+     ÐÐ˜Ð–Е курсПра О перейтО в режОЌ вставкО (Insert mode).
     2141+
     2142+  3. Теперь скПпОруйте пПЌечеММую ---> стрПку О МажЌОте <ESC> Ўля выÑ
     2143ПЎа Оз
     2144+     Ñ€ÐµÐ¶ÐžÐŒÐ° вставкО.
     2145+
     2146+---> ППсле МажатОя o курсПр перейЎет Ма МПвую пустую стрПку в режОЌе вставкО.
     2147+
     2148+  4. Для сПзЎаМОя стрПкО ВЫКЕ курсПра, прПстП МаберОте заглавМую O, вЌестП
     2149+     ÑÑ‚рПчМПй o. ППпрПбуйте прПЎелать этП с МОжеслеЎующей стрПкПй.
     2150+СПзЎайте МПвую стрПку МаЎ этПй, Мажав Shift-O, пПЌестОв курсПр Ма эту стрПку.
    17872151+
    17882152+
     
    17902154+
    17912155+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1792 +                        УÑ.Пк 6.2: Ð.Ð.Ð.АНÐ.А Ð.Ð.Ð.АÐ.Ð.Ð.НÐ.Я
    1793 +
    1794 +           ** НабеÑ.ОÑ.е a , Ñ.Ñ.ПбÑ. всÑ.авОÑ.Ñ. Ñ.ексÑ. Ð.Ð.СÐ.Ð. кÑ.Ñ.сПÑ.а. **
    1795 +
    1796 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, в кПМеÑ. пеÑ.вПй сÑ.Ñ.ПкО, пПЌеÑ.еММПй ---> ,
    1797 +     ÐœÐ°Ð±Ñ.ав $ в ПбÑ.Ñ.МПЌ Ñ.ежОЌе (Normal mode).
    1798 +
    1799 +  2. НабеÑ.ОÑ.е a (в МОжМеЌ Ñ.егОсÑ.Ñ.е) Ўля ЎПбавлеМОя Ñ.ексÑ.а Ð.Ð.СÐ.Ð. сОЌвПла,
    1800 +     ÐœÐ°Ñ.ПЎяÑ.егПся пПЎ кÑ.Ñ.сПÑ.ПЌ. (Ð.аглавМая A пПзвПляеÑ. ЎПбавОÑ.Ñ. в кПМеÑ.
    1801 +     ÑÑ.Ñ.ПкО.)
    1802 +
    1803 +Ð.аЌеÑ.аМОе: ЭÑ.П пПзвПляеÑ. ОзбежаÑ.Ñ. МажаÑ.Оя i , пПслеЎМегП сОЌвПла, Ñ.ексÑ.а Ўля
    1804 +          всÑ.авкО, <ESC>, кÑ.Ñ.сПÑ.-впÑ.авП, О, МакПМеÑ., x , пÑ.ПсÑ.П Ўля Ñ.ПгП,
    1805 +          Ñ.Ñ.ПбÑ. ЎПбавОÑ.Ñ. Ñ.есÑ. в кПМеÑ. сÑ.Ñ.ПкО!
    1806 +
    1807 +  3. ТепеÑ.Ñ. завеÑ.Ñ.ОÑ.е пеÑ.вÑ.Ñ. сÑ.Ñ.ПкÑ.. Ð.аЌеÑ.Ñ.Ñ.е Ñ.акже, Ñ.Ñ.П ЎПбавлеМОе эÑ.П в
    1808 +     Ñ.ПÑ.МПсÑ.О Ñ.П же саЌПе, Ñ.Ñ.П О Ñ.ежОЌ всÑ.авкО, за ОсклÑ.Ñ.еМОеЌ пПзОÑ.ОО, в
    1809 +     ÐºÐŸÑ.ПÑ.Ñ.Ñ. бÑ.ЎеÑ. всÑ.авлеМ Ñ.ексÑ..
    1810 +
    1811 +---> ЭÑ.а сÑ.Ñ.ПÑ.ка пПзвПлОÑ. Ð.аЌ пПпÑ.акÑ.ОкПваÑ.Ñ.ся
    1812 +---> ЭÑ.а сÑ.Ñ.ПÑ.ка пПзвПлОÑ. Ð.аЌ пПпÑ.акÑ.ОкПваÑ.Ñ.ся в ЎПбавлеМОО Ñ.ексÑ.а в кПМеÑ.
    1813 +     ÑÑ.Ñ.ПкО.
     2156+                        УрПк 6.2: КОМАНДА ДОБАВЛЕНИЯ
     2157+
     2158+           ** НаберОте a , чтПбы вставОть текст ПОСЛЕ курсПра. **
     2159+
     2160+  1. ПереЌестОте курсПр вМОз, в кПМец первПй стрПкО, пПЌечеММПй ---> ,
     2161+     ÐœÐ°Ð±Ñ€Ð°Ð² $ в ПбычМПЌ режОЌе (Normal mode).
     2162+
     2163+  2. НаберОте a (в МОжМеЌ регОстре) Ўля ЎПбавлеМОя текста ПОСЛЕ сОЌвПла,
     2164+     ÐœÐ°Ñ
     2165ПЎящегПся пПЎ курсПрПЌ. (ЗаглавМая A пПзвПляет ЎПбавОть в кПМец
     2166+     ÑÑ‚рПкО.)
     2167+
     2168+ЗаЌечаМОе: ЭтП пПзвПляет Озбежать МажатОя i , пПслеЎМегП сОЌвПла, текста Ўля
     2169+          вставкО, <ESC>, курсПр-вправП, О, МакПМец, x , прПстП Ўля тПгП,
     2170+          чтПбы ЎПбавОть тест в кПМец стрПкО!
     2171+
     2172+  3. Теперь завершОте первую стрПку. ЗаЌетьте также, чтП ЎПбавлеМОе этП в
     2173+     Ñ‚ПчМПстО тП же саЌПе, чтП О режОЌ вставкО, за ОсключеМОеЌ пПзОцОО, в
     2174+     ÐºÐŸÑ‚Прую буЎет вставлеМ текст.
     2175+
     2176+---> Эта стрПчка пПзвПлОт ВаЌ пПпрактОкПваться
     2177+---> Эта стрПчка пПзвПлОт ВаЌ пПпрактОкПваться в ЎПбавлеМОО текста в кПМец
     2178+     ÑÑ‚рПкО.
    18142179+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1815 +                      УÑ.Пк 6.3: Ð.ЩÐ. Ð.Ð.Ð.Н СÐ.Ð.СÐ.Ð. Ð.АÐ.Ð.НЫ
    1816 +
    1817 +
    1818 +       ** НабеÑ.ОÑ.е заглавМÑ.Ñ. R Ўля заЌеМÑ. бПлее, Ñ.еЌ ПЎМПгП сОЌвПла. **
    1819 +
    1820 +  1. Ð.еÑ.еЌесÑ.ОÑ.е кÑ.Ñ.сПÑ. вМОз, к сÑ.Ñ.Пке, пПЌеÑ.еММПй --->.
    1821 +
    1822 +  2. РаспПлПжОÑ.е кÑ.Ñ.сПÑ. в МаÑ.але пеÑ.вПгП слПва, ПÑ.лОÑ.аÑ.Ñ.егПся ПÑ.
    1823 +     ÑÐŸÐŸÑ.веÑ.сÑ.вÑ.Ñ.Ñ.егП в слеЎÑ.Ñ.Ñ.ей сÑ.Ñ.Пке, пПЌеÑ.еММПй ---> (слПвП 'пПслеЎМей').
    1824 +
    1825 +  3. ТепеÑ.Ñ. МабеÑ.ОÑ.е R О заЌеМОÑ.е ПсÑ.аÑ.Пк Ñ.ексÑ.а в пеÑ.вПй сÑ.Ñ.Пке, МабÑ.ав
    1826 +     Ð¿ÐŸÐ²ÐµÑ.Ñ. сÑ.аÑ.ПгП Ñ.ексÑ.а Ñ.ак, Ñ.Ñ.ПбÑ. Пбе сÑ.Ñ.ПкО сÑ.алО ПЎОМакПвÑ.ЌО.
    1827 +
    1828 +---> Ð.еÑ.вÑ.Ñ. сÑ.Ñ.ПкÑ. ЌПжМП сÑ.авМяÑ.Ñ. с пПслеЎМей, ОспПлÑ.зÑ.я клавОÑ.О.
    1829 +---> Ð.еÑ.вÑ.Ñ. сÑ.Ñ.ПкÑ. ЌПжМП сÑ.авМяÑ.Ñ. с вÑ.ПÑ.Пй, ОспПлÑ.зÑ.я R О МабÑ.ав МПвÑ.й Ñ.ексÑ..
    1830 +
    1831 +  4. Ð.бÑ.аÑ.ОÑ.е вМОЌаМОе, Ñ.Ñ.П пÑ.О МажаÑ.ОО <ESC> Ўля завеÑ.Ñ.еМОя, лÑ.бПй
    1832 +     ÐœÐµ ОзЌеМеММÑ.й Ñ.ексÑ. сПÑ.Ñ.аМОÑ.ся.
     2180+                      УрПк 6.3: ЕЩЕ ОДИН СПОСОБ ЗАМЕНЫ
     2181+
     2182+
     2183+       ** НаберОте заглавМую R Ўля заЌеМы бПлее, чеЌ ПЎМПгП сОЌвПла. **
     2184+
     2185+  1. ПереЌестОте курсПр вМОз, к стрПке, пПЌечеММПй --->.
     2186+
     2187+  2. РаспПлПжОте курсПр в Мачале первПгП слПва, ПтлОчающегПся Пт
     2188+     ÑÐŸÐŸÑ‚ветствующегП в слеЎующей стрПке, пПЌечеММПй ---> (слПвП 'пПслеЎМей').
     2189+
     2190+  3. Теперь МаберОте R О заЌеМОте ПстатПк текста в первПй стрПке, Мабрав
     2191+     Ð¿ÐŸÐ²ÐµÑ€Ñ
     2192 ÑÑ‚арПгП текста так, чтПбы Пбе стрПкО сталО ПЎОМакПвыЌО.
     2193+
     2194+---> Первую стрПку ЌПжМП сравМять с пПслеЎМей, ОспПльзуя клавОшО.
     2195+---> Первую стрПку ЌПжМП сравМять с втПрПй, ОспПльзуя R О Мабрав МПвый текст.
     2196+
     2197+  4. ОбратОте вМОЌаМОе, чтП прО МажатОО <ESC> Ўля завершеМОя, любПй
     2198+     ÐœÐµ ОзЌеМеММый текст сПÑ
     2199раМОтся.
    18332200+
    18342201+
     
    18362203+
    18372204+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1838 +                       Ð£Ñ.Пк 6.4: УСТАНÐ.Ð.Ð.А Ð.АРАÐ.Ð.ТРÐ.Ð.
    1839 +
    1840 +
    1841 +** УсÑ.аМПвОЌ паÑ.аЌеÑ.Ñ.Ñ. Ñ.ак, Ñ.Ñ.ПбÑ. ОгМПÑ.ОÑ.ПваÑ.Ñ. Ñ.егОсÑ.Ñ. пÑ.О пПОске ОлО заЌеМе **
    1842 +
    1843 +
    1844 +  1. Ð.ПОÑ.ОÑ.е слПвП 'ОгМПÑ.ОÑ.ПваÑ.Ñ.', МабÑ.ав:
    1845 +     /ОгМПÑ.ОÑ.ПваÑ.Ñ.
    1846 +     Ð.ПвÑ.ПÑ.ОÑ.е пПОск МескПлÑ.кП Ñ.аз, МажОЌая клавОÑ.Ñ. n
    1847 +
    1848 +  2. Ð.клÑ.Ñ.ОÑ.е паÑ.аЌеÑ.Ñ. 'ic' (Ð.гМПÑ.ОÑ.ПваÑ.Ñ. Ñ.егОсÑ.Ñ.), МабÑ.ав:
     2205+                       Ð£Ñ€ÐŸÐº 6.4: УСТАНОВКА ПАРАМЕТРОВ
     2206+
     2207+
     2208+** УстаМПвОЌ параЌетры так, чтПбы ОгМПрОрПвать регОстр прО пПОске ОлО заЌеМе **
     2209+
     2210+
     2211+  1. ППОщОте слПвП 'ОгМПрОрПвать', Мабрав:
     2212+     /ОгМПрОрПвать
     2213+     ÐŸÐŸÐ²Ñ‚ПрОте пПОск МескПлькП раз, МажОЌая клавОшу n
     2214+
     2215+  2. ВключОте параЌетр 'ic' (ИгМПрОрПвать регОстр), Мабрав:
    18492216+     :set ic
    18502217+
    1851 +  3. ТепеÑ.Ñ. сМПва сЎелайÑ.е пПОск слПва 'ОгМПÑ.ОÑ.ПваÑ.Ñ.', Мажав: n
    1852 +     Ð.ПвÑ.ПÑ.ОÑ.е пПОск МескПлÑ.кП Ñ.аз, МажОЌая клавОÑ.Ñ. n
    1853 +
    1854 +  4. Ð.клÑ.Ñ.ОÑ.е паÑ.аЌеÑ.Ñ.Ñ. 'hlsearch' О 'incsearch':
     2218+  3. Теперь сМПва сЎелайте пПОск слПва 'ОгМПрОрПвать', Мажав: n
     2219+     ÐŸÐŸÐ²Ñ‚ПрОте пПОск МескПлькП раз, МажОЌая клавОшу n
     2220+
     2221+  4. ВключОте параЌетры 'hlsearch' О 'incsearch':
    18552222+     :set hls is
    18562223+
    1857 +  5. ТепеÑ.Ñ. ПпяÑ.Ñ. ввеЎОÑ.е кПЌаМЎÑ. пПОска О пПсЌПÑ.Ñ.ОÑ.е, Ñ.Ñ.П пПлÑ.Ñ.ОÑ.ся:
    1858 +     /ОгМПÑ.ОÑ.ПваÑ.Ñ.
     2224+  5. Теперь Ппять ввеЎОте кПЌаМЎу пПОска О пПсЌПтрОте, чтП пПлучОтся:
     2225+     /ОгМПрОрПвать
    18592226+
    18602227+
    18612228+
    18622229+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1863 +                               Ð Ð.Ð.ЮÐ.Ð. УРÐ.Ð.А 6
    1864 +
    1865 +
    1866 +  1. НажаÑ.Ое o сПзЎаеÑ. сÑ.Ñ.ПкÑ. НÐ.Ð.Ð. кÑ.Ñ.сПÑ.а О пеÑ.еЌеÑ.аеÑ. кÑ.Ñ.сПÑ. в Мее в Ñ.ежОЌе
    1867 +     Ð²ÑÑ.авкО.
    1868 +     ÐÐ°Ð¶Ð°Ñ.Ое заглавМПй O сПзЎаеÑ. сÑ.Ñ.ПкÑ. Ð.ЫКÐ. сÑ.Ñ.ПкО, в кПÑ.ПÑ.Пй МаÑ.ПЎОÑ.ся
    1869 +     ÐºÑ.Ñ.сПÑ..
    1870 +
    1871 +  2. НабеÑ.ОÑ.е a Ўля всÑ.авкО Ñ.ексÑ.а Ð.Ð.СÐ.Ð. сОЌвПла, Ма кПÑ.ПÑ.ПЌ МаÑ.ПЎОÑ.ся кÑ.Ñ.сПÑ..
    1872 +     ÐÐ°Ð¶Ð°Ñ.Ое заглавМПй A авÑ.ПЌаÑ.ОÑ.ескО пеÑ.еЌеÑ.аеÑ. Ð.ас Ўля ЎПбавлеМОя Ñ.ексÑ.а
    1873 +     Ð² кПМеÑ. сÑ.Ñ.ПкО.
    1874 +
    1875 +  3. НажаÑ.Ое заглавМПй R пеÑ.евПЎОÑ. Ð.ас в Ñ.ежОЌ заЌеМÑ. ЎП Ñ.еÑ. пПÑ., пПка Ме
    1876 +     Ð±Ñ.ЎеÑ. МажаÑ.а клавОÑ.а <ESC> Ўля завеÑ.Ñ.еМОя.
    1877 +
    1878 +  4. НабÑ.ав ":set xxx" вÑ. сЌПжеÑ.е вклÑ.Ñ.ОÑ.Ñ. паÑ.аЌеÑ.Ñ. "xxx"
     2230+                               Ð Ð•Ð—ЮМЕ УРОКА 6
     2231+
     2232+
     2233+  1. НажатОе o сПзЎает стрПку НИЖЕ курсПра О переЌещает курсПр в Мее в режОЌе
     2234+     Ð²ÑÑ‚авкО.
     2235+     ÐÐ°Ð¶Ð°Ñ‚Ое заглавМПй O сПзЎает стрПку ВЫКЕ стрПкО, в кПтПрПй МаÑ
     2236ПЎОтся
     2237+     ÐºÑƒÑ€ÑÐŸÑ€.
     2238+
     2239+  2. НаберОте a Ўля вставкО текста ПОСЛЕ сОЌвПла, Ма кПтПрПЌ МаÑ
     2240ПЎОтся курсПр.
     2241+     ÐÐ°Ð¶Ð°Ñ‚Ое заглавМПй A автПЌатОческО переЌещает Вас Ўля ЎПбавлеМОя текста
     2242+     Ð² кПМец стрПкО.
     2243+
     2244+  3. НажатОе заглавМПй R перевПЎОт Вас в режОЌ заЌеМы ЎП теÑ
     2245 Ð¿ÐŸÑ€, пПка Ме
     2246+     Ð±ÑƒÐŽÐµÑ‚ Мажата клавОша <ESC> Ўля завершеМОя.
     2247+
     2248+  4. Набрав ":set xxx" вы сЌПжете включОть параЌетр "xxx"
    18792249+
    18802250+
     
    18852255+
    18862256+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1887 +                УÑ.Пк 7: Ð.Ð.Ð.АНÐ.Ы Ð.Ð.Ð.УЧÐ.НÐ.Я Ð.СТРÐ.Ð.ННÐ.Ð. СÐ.РАÐ.Ð.Ð.
    1888 +
    1889 +              ** Ð.спПлÑ.зÑ.йÑ.е всÑ.Ñ.ПеММÑ.Ñ. спÑ.авПÑ.ÐœÑ.Ñ. сОсÑ.еЌÑ. **
    1890 +
    1891 +  Vim ПблаЎаеÑ. ЌПÑ.МПй всÑ.Ñ.ПеММПй спÑ.авПÑ.МПй сОсÑ.еЌПй. Ð.ля МаÑ.ала пПпÑ.ПбÑ.йÑ.е
    1892 +  ПЎОМ Оз Ñ.Ñ.еÑ. ваÑ.ОаМÑ.Пв:
    1893 +       - МажЌОÑ.е клавОÑ.Ñ. <HELP> (еслО Ñ.акПвая ОЌееÑ.ся Ма клавОаÑ.Ñ.Ñ.е)
    1894 +       - МажЌОÑ.е клавОÑ.Ñ. <F1> (еслО Ñ.акПвая ОЌееÑ.ся Ма клавОаÑ.Ñ.Ñ.е)
    1895 +       - МабеÑ.ОÑ.е   :help <ENTER>
    1896 +
    1897 +  НабеÑ.ОÑ.е   :q <ENTER>   Ñ.Ñ.ПбÑ. закÑ.Ñ.Ñ.Ñ. ПкМП спÑ.авкО.
    1898 +
    1899 +  Ð.Ñ. ЌПжеÑ.е МайÑ.О спÑ.авкÑ. Ўля лÑ.бПгП пПМяÑ.Оя ОлО кПЌаМЎÑ., пÑ.ПсÑ.П заЎав
    1900 +  сППÑ.веÑ.сÑ.вÑ.Ñ.Ñ.Ой аÑ.гÑ.ЌеМÑ. кПЌаМЎе ":help". Ð.ПпÑ.ПбÑ.йÑ.е слеЎÑ.Ñ.Ñ.ее (Ме забÑ.ÐŽÑ.Ñ.е
    1901 +  МажаÑ.Ñ. <ENTER>):
     2257+                УрПк 7: КОМАНДЫ ПОЛУЧЕНИЯ ВСТРОЕННОЙ СПРАВКИ
     2258+
     2259+              ** ИспПльзуйте встрПеММую справПчМую сОстеЌу **
     2260+
     2261+  Vim ПблаЎает ЌПщМПй встрПеММПй справПчМПй сОстеЌПй. Для Мачала пПпрПбуйте
     2262+  ПЎОМ Оз треÑ
     2263 Ð²Ð°Ñ€ÐžÐ°ÐœÑ‚Пв:
     2264+       - МажЌОте клавОшу <HELP> (еслО такПвая ОЌеется Ма клавОатуре)
     2265+       - МажЌОте клавОшу <F1> (еслО такПвая ОЌеется Ма клавОатуре)
     2266+       - МаберОте   :help <ENTER>
     2267+
     2268+  НаберОте   :q <ENTER>   Ñ‡Ñ‚Пбы закрыть ПкМП справкО.
     2269+
     2270+  Вы ЌПжете МайтО справку Ўля любПгП пПМятОя ОлО кПЌаМЎы, прПстП заЎав
     2271+  сППтветствующОй аргуЌеМт кПЌаМЎе ":help". ППпрПбуйте слеЎующее (Ме забуЎьте
     2272+  Мажать <ENTER>):
    19022273+
    19032274+  :help w
     
    19102281+
    19112282+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1912 +                    УÑ.Пк 8: СÐ.Ð.Ð.АНÐ.Ð. СТАРТÐ.Ð.Ð.Ð.Ð. СÐ.Ð Ð.Ð.ТА
    1913 +
    1914 +                       ** Ð.клÑ.Ñ.ОЌ вПзЌПжМПсÑ.О Vim **
    1915 +
    1916 +  Vim ОЌееÑ. МаЌМПгП бПлÑ.Ñ.е вПзЌПжМПсÑ.ей, Ñ.еЌ Vi, ПЎМакП бПлÑ.Ñ.ОМсÑ.ваП Оз МОÑ.
    1917 +  вÑ.клÑ.Ñ.еМÑ. пП Ñ.ЌПлÑ.аМОÑ.. Ð.ля Ñ.ПгП, Ñ.Ñ.ПбÑ. МаÑ.аÑ.Ñ. ОспПлÑ.зПваÑ.Ñ. МПвÑ.е
    1918 +  вПзЌПжМПсÑ.О Ð.аЌ слеЎÑ.еÑ. сПзЎаÑ.Ñ. Ñ.айл "vimrc".
    1919 +
    1920 +  1. Ð.Ñ.Ñ.еЎакÑ.ОÑ.Ñ.йÑ.е Ñ.айл "vimrc", егП Ñ.аспПлПжеМОе завОсОÑ. ПÑ. ОспПлÑ.зÑ.еЌПй
    1921 +     ÑÐžÑÑ.еЌÑ.:
     2283+                    УрПк 8: СОЗДАНИЕ СТАРТОВОГО СКРИПТА
     2284+
     2285+                       ** ВключОЌ вПзЌПжМПстО Vim **
     2286+
     2287+  Vim ОЌеет МаЌМПгП бПльше вПзЌПжМПстей, чеЌ Vi, ПЎМакП бПльшОМстваП Оз МОÑ
     2288
     2289+  выключеМы пП уЌПлчаМОю. Для тПгП, чтПбы Мачать ОспПльзПвать МПвые
     2290+  вПзЌПжМПстО ВаЌ слеЎует сПзЎать файл "vimrc".
     2291+
     2292+  1. ОтреЎактОруйте файл "vimrc", егП распПлПжеМОе завОсОт Пт ОспПльзуеЌПй
     2293+     ÑÐžÑÑ‚еЌы:
    19222294+
    19232295+       :edit ~/.vimrc                  Ўля Unix
    19242296+       :edit $VIM/_vimrc               ÐŽÐ»Ñ MS-Windows
    19252297+
    1926 +  2. ТепеÑ.Ñ. пÑ.ПÑ.ОÑ.айÑ.е пÑ.ОЌеÑ. Ñ.айла "vimrc":
     2298+  2. Теперь прПчОтайте прОЌер файла "vimrc":
    19272299+
    19282300+       :read $VIMRUNTIME/vimrc_example.vim
    19292301+
    1930 +  3. Ð.апОÑ.ОÑ.е Ñ.айл:
     2302+  3. ЗапОшОте файл:
    19312303+
    19322304+       :write
    19332305+
    1934 +  ТепеÑ.Ñ. пÑ.О слеЎÑ.Ñ.Ñ.еЌ запÑ.ске Vim бÑ.ЎеÑ. вклÑ.Ñ.еМа пПЎсвеÑ.ка сОМÑ.аксОса. Ð.се
    1935 +  МасÑ.Ñ.ПйкО, пÑ.еЎпПÑ.ОÑ.аеЌÑ.е Ð.аЌО, ЌПгÑ.Ñ. бÑ.Ñ.Ñ. ЎПбавлеМÑ. в Ñ.айл "vimrc".
     2306+  Теперь прО слеЎующеЌ запуске Vim буЎет включеМа пПЎсветка сОМтаксОса. Все
     2307+  МастрПйкО, преЎпПчОтаеЌые ВаЌО, ЌПгут быть ЎПбавлеМы в файл "vimrc".
    19362308+
    19372309+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1938 +  На эÑ.ПЌ завеÑ.Ñ.аеÑ.ся УÑ.ебМОк Vim. Ð.Ðœ бÑ.л пÑ.еЎМазМаÑ.еМ Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. ЎаÑ.Ñ.
    1939 +  ПбÑ.ее пÑ.еЎсÑ.авлеМОе П Ñ.еЎакÑ.ПÑ.е Vim, ЎПсÑ.аÑ.ПÑ.МПе Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. с легкПсÑ.Ñ.Ñ.
    1940 +  ОспПлÑ.зПваÑ.Ñ. егП. УÑ.ебМОк Ўалек ПÑ. пПлМПÑ.Ñ., пПскПлÑ.кÑ. Vim ОЌееÑ. ПÑ.еМÑ. ЌМПгП
    1941 +  кПЌаМЎ. Ð.Ñ.ПÑ.ОÑ.айÑ.е Ñ.епеÑ.Ñ. Ñ.Ñ.кПвПЎсÑ.вП пПлÑ.зПваÑ.еля: ":help user-manual".
    1942 +
    1943 +  Ð.ля ЎалÑ.МейÑ.егП Ñ.Ñ.еМОя Ñ.екПЌеМЎÑ.еÑ.ся кМОга:
    1944 +       Vim - Vi Improved - АвÑ.ПÑ.: Steve Oualline
    1945 +       Ð.зЎаÑ.елÑ.: New Riders
    1946 +  ЭÑ.а кМОга пПлМПсÑ.Ñ.Ñ. пПсвяÑ.еМа Vim. Ð.сПбеММП пПлезМа МПвОÑ.каЌ. СПЎеÑ.жОÑ.
    1947 +  ЌМПжесÑ.вП пÑ.ОЌеÑ.Пв О ОллÑ.сÑ.Ñ.аÑ.Ой.
    1948 +  Ð.згляМОÑ.е Ма See http://iccf-holland.org/click5.html
    1949 +
    1950 +  СлеЎÑ.Ñ.Ñ.ая кМОга бПлее пПÑ.Ñ.еММПгП вПзÑ.асÑ.а О пПсвяÑ.еМа бПлÑ.Ñ.е Vi, Ñ.еЌ Vim,
    1951 +  ПЎМакП Ñ.акже Ñ.екПЌеМЎÑ.еÑ.ся:
    1952 +       Learning the Vi Editor - АвÑ.ПÑ.: Linda Lamb
    1953 +       Ð.зЎаÑ.елÑ.: O'Reilly & Associates Inc.
    1954 +  ЭÑ.П Ñ.ПÑ.ПÑ.ая кМОга Ўля Ñ.ПгП, Ñ.Ñ.ПбÑ. Ñ.зМаÑ.Ñ. все, Ñ.Ñ.П Ñ.ПлÑ.кП ЌПжМП пÑ.ПЎелÑ.ваÑ.Ñ. с
    1955 +  Vi. КесÑ.Пе ОзЎаМОе Ñ.акже вклÑ.Ñ.аеÑ. ОМÑ.ПÑ.ЌаÑ.ОÑ. П Vim.
    1956 +
    1957 +  ЭÑ.ПÑ. Ñ.Ñ.ебМОк бÑ.л МапОсаМ Michael C. Pierce О Robert K. Ware, Colorado School
    1958 +  of Mines с ОспПлÑ.зПваМОеЌ ОЎей, пÑ.еЎлПжеММÑ.Ñ. Charles Smith, Colorado State
     2310+  На этПЌ завершается УчебМОк Vim. ОМ был преЎМазМачеМ Ўля тПгП, чтПбы Ўать
     2311+  Пбщее преЎставлеМОе П реЎактПре Vim, ЎПстатПчМПе Ўля тПгП, чтПбы с легкПстью
     2312+  ОспПльзПвать егП. УчебМОк Ўалек Пт пПлМПты, пПскПльку Vim ОЌеет ПчеМь ЌМПгП
     2313+  кПЌаМЎ. ПрПчОтайте теперь рукПвПЎствП пПльзПвателя: ":help user-manual".
     2314+
     2315+  Для ЎальМейшегП чтеМОя рекПЌеМЎуется кМОга:
     2316+       Vim - Vi Improved - АвтПр: Steve Oualline
     2317+       Ð˜Ð·ÐŽÐ°Ñ‚ель: New Riders
     2318+  Эта кМОга пПлМПстью пПсвящеМа Vim. ОсПбеММП пПлезМа МПвОчкаЌ. СПЎержОт
     2319+  ЌМПжествП прОЌерПв О ОллюстрацОй.
     2320+  ВзгляМОте Ма See http://iccf-holland.org/click5.html
     2321+
     2322+  СлеЎующая кМОга бПлее пПчтеММПгП вПзраста О пПсвящеМа бПльше Vi, чеЌ Vim,
     2323+  ПЎМакП также рекПЌеМЎуется:
     2324+       Learning the Vi Editor - АвтПр: Linda Lamb
     2325+       Ð˜Ð·ÐŽÐ°Ñ‚ель: O'Reilly & Associates Inc.
     2326+  ЭтП Ñ
     2327ПрПшая кМОга Ўля тПгП, чтПбы узМать все, чтП тПлькП ЌПжМП прПЎелывать с
     2328+  Vi. КестПе ОзЎаМОе также включает ОМфПрЌацОю П Vim.
     2329+
     2330+  ЭтПт учебМОк был МапОсаМ Michael C. Pierce О Robert K. Ware, Colorado School
     2331+  of Mines с ОспПльзПваМОеЌ ОЎей, преЎлПжеММыÑ
     2332 Charles Smith, Colorado State
    19592333+  University. E-mail: bware@mines.colorado.edu.
    19602334+
    1961 +  Ð.ПÑ.абПÑ.аМП Ўля Vim Bram Moolenaar.
    1962 +
    1963 +  Ð.еÑ.евПЎ: АМЎÑ.ей Ð.Оселев <a_kissel@eudoramail.com>, 2002.
     2335+  ДПрабПтаМП Ўля Vim Bram Moolenaar.
     2336+
     2337+  ПеревПЎ: АМЎрей КОселев <a_kissel@eudoramail.com>, 2002.
    19642338+  Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002.
    19652339+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    19662340diff -Naur vim70.orig/runtime/tutor/tutor.vim vim70/runtime/tutor/tutor.vim
    19672341--- vim70.orig/runtime/tutor/tutor.vim  2006-03-18 12:20:36.000000000 -0800
    1968 +++ vim70/runtime/tutor/tutor.vim       2006-09-11 09:26:16.000000000 -0700
     2342+++ vim70/runtime/tutor/tutor.vim       2006-10-13 01:02:59.000000000 -0700
    19692343@@ -1,6 +1,6 @@
    19702344 " Vim tutor support file
     
    20182392diff -Naur vim70.orig/src/auto/configure vim70/src/auto/configure
    20192393--- vim70.orig/src/auto/configure       2006-05-04 03:46:19.000000000 -0700
    2020 +++ vim70/src/auto/configure    2006-09-11 09:02:36.000000000 -0700
     2394+++ vim70/src/auto/configure    2006-10-13 01:03:10.000000000 -0700
    20212395@@ -4014,7 +4014,7 @@
    20222396       LDFLAGS=$ldflags_save
     
    20282402        if test "X$perlldflags" != "X"; then
    20292403          LDFLAGS="$perlldflags $LDFLAGS"
     2404@@ -4256,7 +4256,7 @@
     2405 echo $ECHO_N "checking if -pthread should be used... $ECHO_C" >&6
     2406        threadsafe_flag=
     2407        thread_lib=
     2408-       if test "x$MACOSX" != "xyes"; then
     2409+               if test "`(uname) 2>/dev/null`" != Darwin; then
     2410          test "$GCC" = yes && threadsafe_flag="-pthread"
     2411          if test "`(uname) 2>/dev/null`" = FreeBSD; then
     2412            threadsafe_flag="-D_THREAD_SAFE"
     2413@@ -11555,8 +11555,8 @@
     2414 else
     2415   echo "$as_me:$LINENO: result: empty: automatic terminal library selection" >&5
     2416 echo "${ECHO_T}empty: automatic terminal library selection" >&6
     2417-            case "`uname -s 2>/dev/null`" in
     2418-       OSF1)   tlibs="ncurses curses termlib termcap";;
     2419+              case "`uname -s 2>/dev/null`" in
     2420+       OSF1|SCO_SV)    tlibs="ncurses curses termlib termcap";;
     2421        *)      tlibs="ncurses termlib termcap curses";;
     2422   esac
     2423   for libname in $tlibs; do
    20302424diff -Naur vim70.orig/src/buffer.c vim70/src/buffer.c
    20312425--- vim70.orig/src/buffer.c     2006-04-26 14:37:23.000000000 -0700
    2032 +++ vim70/src/buffer.c  2006-09-11 09:04:57.000000000 -0700
     2426+++ vim70/src/buffer.c  2006-10-13 01:02:59.000000000 -0700
    20332427@@ -434,12 +434,8 @@
    20342428     if (usingNetbeans)
     
    21412535diff -Naur vim70.orig/src/configure vim70/src/configure
    21422536--- vim70.orig/src/configure    2006-05-07 07:17:49.000000000 -0700
    2143 +++ vim70/src/configure 2006-08-09 08:37:06.000000000 -0700
     2537+++ vim70/src/configure 2006-10-13 01:02:48.000000000 -0700
    21442538@@ -2,5 +2,9 @@
    21452539 # run the automatically generated configure script
     
    21542548diff -Naur vim70.orig/src/configure.in vim70/src/configure.in
    21552549--- vim70.orig/src/configure.in 2006-05-04 03:46:11.000000000 -0700
    2156 +++ vim70/src/configure.in      2006-09-11 09:02:36.000000000 -0700
     2550+++ vim70/src/configure.in      2006-10-13 01:03:09.000000000 -0700
    21572551@@ -508,7 +508,8 @@
    21582552       LDFLAGS=$ldflags_save
     
    21652559        if test "X$perlldflags" != "X"; then
    21662560          LDFLAGS="$perlldflags $LDFLAGS"
     2561@@ -680,7 +681,8 @@
     2562        AC_MSG_CHECKING([if -pthread should be used])
     2563        threadsafe_flag=
     2564        thread_lib=
     2565-       if test "x$MACOSX" != "xyes"; then
     2566+       dnl if test "x$MACOSX" != "xyes"; then
     2567+        if test "`(uname) 2>/dev/null`" != Darwin; then
     2568          test "$GCC" = yes && threadsafe_flag="-pthread"
     2569          if test "`(uname) 2>/dev/null`" = FreeBSD; then
     2570            threadsafe_flag="-D_THREAD_SAFE"
     2571@@ -2150,8 +2152,9 @@
     2572   dnl  Newer versions of ncurses are preferred over anything.
     2573   dnl  Older versions of ncurses have bugs, get a new one!
     2574   dnl  Digital Unix (OSF1) should use curses (Ronald Schild).
     2575+  dnl  On SCO Openserver should prefer termlib (Roger Cornelius).
     2576   case "`uname -s 2>/dev/null`" in
     2577-       OSF1)   tlibs="ncurses curses termlib termcap";;
     2578+       OSF1|SCO_SV)    tlibs="ncurses curses termlib termcap";;
     2579        *)      tlibs="ncurses termlib termcap curses";;
     2580   esac
     2581   for libname in $tlibs; do
    21672582diff -Naur vim70.orig/src/edit.c vim70/src/edit.c
    21682583--- vim70.orig/src/edit.c       2006-05-07 04:48:51.000000000 -0700
    2169 +++ vim70/src/edit.c    2006-09-18 08:55:16.000000000 -0700
     2584+++ vim70/src/edit.c    2006-10-13 01:03:10.000000000 -0700
    21702585@@ -129,7 +129,7 @@
    21712586 
     
    22232638            }
    22242639 #endif
    2225 @@ -1383,6 +1394,12 @@
     2640@@ -912,6 +923,7 @@
     2641                if (cmdchar != 'r' && cmdchar != 'v')
     2642                    apply_autocmds(EVENT_INSERTLEAVE, NULL, NULL,
     2643                                                               FALSE, curbuf);
     2644+               did_cursorhold = FALSE;
     2645 #endif
     2646                return (c == Ctrl_O);
     2647            }
     2648@@ -1383,6 +1395,12 @@
    22262649            break;
    22272650        }   /* end of switch (c) */
     
    22362659        if (arrow_used)
    22372660            inserted_space = FALSE;
    2238 @@ -2112,7 +2129,7 @@
     2661@@ -2112,7 +2130,7 @@
    22392662  * maybe because alloc() returns NULL, then FAIL is returned.
    22402663  */
     
    22452668     int                len;
    22462669     int                icase;
    2247 @@ -2120,7 +2137,7 @@
     2670@@ -2120,7 +2138,7 @@
    22482671     char_u     **cptext;   /* extra text for popup menu or NULL */
    22492672     int                cdir;
     
    22542677     compl_T    *match;
    22552678     int                dir = (cdir == 0 ? compl_direction : cdir);
    2256 @@ -2134,7 +2151,7 @@
     2679@@ -2134,13 +2152,13 @@
    22572680     /*
    22582681      * If the same match is already present, don't add it.
     
    22632686        match = compl_first_match;
    22642687        do
    2265 @@ -2399,7 +2416,7 @@
     2688        {
     2689            if (    !(match->cp_flags & ORIGINAL_TEXT)
     2690-                   && ins_compl_equal(match, str, len)
     2691+                   && STRNCMP(match->cp_str, str, len) == 0
     2692                    && match->cp_str[len] == NUL)
     2693                return NOTDONE;
     2694            match = match->cp_next;
     2695@@ -2399,7 +2417,7 @@
    22662696     /* compl_pattern doesn't need to be set */
    22672697     compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
     
    22722702 
    22732703     /* Handle like dictionary completion. */
    2274 @@ -2409,6 +2426,7 @@
     2704@@ -2409,6 +2427,7 @@
    22752705     compl_matches = ins_compl_make_cyclic();
    22762706     compl_started = TRUE;
     
    22802710     compl_curr_match = compl_first_match;
    22812711     ins_complete(Ctrl_N);
    2282 @@ -2753,6 +2771,7 @@
     2712@@ -2753,6 +2772,7 @@
    22832713        }
    22842714        else
     
    22882718            ins_compl_files(count, files, thesaurus, flags,
    22892719                                                        &regmatch, buf, &dir);
    2290 @@ -2813,7 +2832,7 @@
     2720@@ -2813,7 +2833,7 @@
    22912721                        ptr = find_word_end(ptr);
    22922722                    add_r = ins_compl_add_infercase(regmatch->startp[0],
     
    22972727                    {
    22982728                        char_u *wstart;
    2299 @@ -2849,7 +2868,7 @@
     2729@@ -2849,7 +2869,7 @@
    23002730                                ptr = find_word_end(ptr);
    23012731                            add_r = ins_compl_add_infercase(wstart,
     
    23062736                    }
    23072737                    if (add_r == OK)
    2308 @@ -3015,9 +3034,6 @@
     2738@@ -3015,9 +3035,6 @@
    23092739     if ((int)(p - line) - (int)compl_col <= 0)
    23102740        return K_BS;
     
    23162746      * finding all matches: need to look for matches all over again. */
    23172747     if (curwin->w_cursor.col <= compl_col + compl_length
    2318 @@ -3046,7 +3062,6 @@
     2748@@ -3046,7 +3063,6 @@
    23192749     ins_compl_delete();
    23202750     ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     
    23242754     if (compl_started)
    23252755        ins_compl_set_original_text(compl_leader);
    2326 @@ -3076,6 +3091,7 @@
     2756@@ -3076,6 +3092,7 @@
    23272757        compl_restarting = FALSE;
    23282758     }
     
    23322762     {
    23332763        /* Go to the original text, since none of the matches is inserted. */
    2334 @@ -3087,9 +3103,15 @@
     2764@@ -3087,9 +3104,15 @@
    23352765        compl_curr_match = compl_shown_match;
    23362766        compl_shows_dir = compl_direction;
     
    23482778 
    23492779 /*
    2350 @@ -3115,10 +3137,6 @@
     2780@@ -3115,10 +3138,6 @@
    23512781 #endif
    23522782        ins_char(c);
     
    23592789     if (compl_was_interrupted)
    23602790        ins_compl_restart();
    2361 @@ -3175,10 +3193,32 @@
     2791@@ -3175,10 +3194,33 @@
    23622792     char_u     *p;
    23632793     int                len = curwin->w_cursor.col - compl_col;
     
    23772807+                                && cp != compl_first_match; cp = cp->cp_next)
    23782808+           {
    2379 +               if (ins_compl_equal(cp, compl_leader,
     2809+               if (compl_leader == NULL
     2810+                       || ins_compl_equal(cp, compl_leader,
    23802811+                                                  (int)STRLEN(compl_leader)))
    23812812+               {
     
    23932824 #ifdef FEAT_MBYTE
    23942825     c = mb_ptr2char(p);
    2395 @@ -3198,7 +3238,6 @@
     2826@@ -3198,7 +3240,6 @@
    23962827     int            c;
    23972828 {
     
    24012832     int                retval = FALSE;
    24022833 
    2403 @@ -3354,6 +3393,7 @@
     2834@@ -3354,6 +3395,7 @@
    24042835            if (compl_curr_match != NULL || compl_leader != NULL || c == Ctrl_E)
    24052836            {
     
    24092840                /*
    24102841                 * If any of the original typed text has been changed, eg when
    2411 @@ -3369,16 +3409,21 @@
     2842@@ -3369,16 +3411,21 @@
    24122843                    ptr = compl_leader;
    24132844                else
     
    24392870 
    24402871 #ifdef FEAT_CINDENT
    2441 @@ -3578,7 +3623,7 @@
     2872@@ -3578,7 +3625,7 @@
    24422873 {
    24432874     char_u     *word;
     
    24482879 
    24492880     if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
    2450 @@ -3595,7 +3640,7 @@
     2881@@ -3595,7 +3642,7 @@
    24512882        if (get_dict_string(tv->vval.v_dict, (char_u *)"icase", FALSE) != NULL)
    24522883            icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
     
    24572888     else
    24582889     {
    2459 @@ -3604,7 +3649,7 @@
     2890@@ -3604,7 +3651,7 @@
    24602891     }
    24612892     if (word == NULL || *word == NUL)
     
    24662897 #endif
    24672898 
    2468 @@ -3796,7 +3841,7 @@
     2899@@ -3796,7 +3843,7 @@
    24692900                    TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
    24702901                    TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
     
    24752906            p_ic = save_p_ic;
    24762907            break;
    2477 @@ -3837,7 +3882,7 @@
     2908@@ -3837,7 +3884,7 @@
    24782909            num_matches = expand_spelling(first_match_pos.lnum,
    24792910                                 first_match_pos.col, compl_pattern, &matches);
     
    24842915            break;
    24852916 
    2486 @@ -3971,7 +4016,7 @@
     2917@@ -3971,7 +4018,7 @@
    24872918                            continue;
    24882919                    }
     
    24932924                                           0, flags) != NOTDONE)
    24942925                {
    2495 @@ -4100,6 +4145,21 @@
     2926@@ -3996,7 +4043,7 @@
     2927            if (got_int)
     2928                break;
     2929            /* Fill the popup menu as soon as possible. */
     2930-           if (pum_wanted() && type != -1)
     2931+           if (type != -1)
     2932                ins_compl_check_keys(0);
     2933 
     2934            if ((ctrl_x_mode != 0 && ctrl_x_mode != CTRL_X_WHOLE_LINE)
     2935@@ -4100,6 +4147,21 @@
    24962936                && compl_shown_match->cp_next != NULL
    24972937                && compl_shown_match->cp_next != compl_first_match)
     
    25152955 
    25162956     if (allow_get_expansion && insert_match
    2517 @@ -4124,8 +4184,6 @@
     2957@@ -4124,8 +4186,6 @@
    25182958     {
    25192959        if (compl_shows_dir == FORWARD && compl_shown_match->cp_next != NULL)
     
    25242964            found_end = (compl_first_match != NULL
    25252965                           && (compl_shown_match->cp_next == compl_first_match
    2526 @@ -4134,14 +4192,24 @@
     2966@@ -4134,14 +4194,24 @@
    25272967        else if (compl_shows_dir == BACKWARD
    25282968                                        && compl_shown_match->cp_prev != NULL)
     
    25512991            {
    25522992                if (compl_shows_dir == BACKWARD)
    2553 @@ -4149,14 +4217,27 @@
     2993@@ -4149,14 +4219,27 @@
    25542994                else
    25552995                    ++compl_pending;
     
    25833023        }
    25843024        if ((compl_shown_match->cp_flags & ORIGINAL_TEXT) == 0
    2585 @@ -4265,9 +4346,9 @@
     3025@@ -4265,9 +4348,9 @@
    25863026        return;
    25873027     count = 0;
     
    25953035     {
    25963036        if (vim_is_ctrl_x_key(c) && c != Ctrl_X && c != Ctrl_R)
    2597 @@ -4277,12 +4358,27 @@
     3037@@ -4277,12 +4360,27 @@
    25983038            (void)ins_compl_next(FALSE, ins_compl_key2count(c),
    25993039                                                    c != K_UP && c != K_DOWN);
     
    26273067 
    26283068 /*
    2629 @@ -4611,10 +4707,12 @@
     3069@@ -4611,10 +4709,12 @@
    26303070                                     (int)STRLEN(compl_pattern), curs_col);
    26313071            if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL
     
    26443084        else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
    26453085        {
    2646 @@ -4668,11 +4766,17 @@
     3086@@ -4668,11 +4768,17 @@
    26473087            else
    26483088                compl_col = spell_word_start(startcol);
     
    26653105            if (compl_pattern == NULL)
    26663106 #endif
    2667 @@ -4720,7 +4824,7 @@
     3107@@ -4720,7 +4826,7 @@
    26683108        vim_free(compl_orig_text);
    26693109        compl_orig_text = vim_strnsave(line + compl_col, compl_length);
     
    26743114            vim_free(compl_pattern);
    26753115            compl_pattern = NULL;
    2676 @@ -8508,7 +8612,12 @@
     3116@@ -5227,8 +5333,16 @@
     3117        /* Format with 'formatexpr' when it's set.  Use internal formatting
     3118         * when 'formatexpr' isn't set or it returns non-zero. */
     3119 #if defined(FEAT_EVAL)
     3120-       if (*curbuf->b_p_fex == NUL
     3121-                            || fex_format(curwin->w_cursor.lnum, 1L, c) != 0)
     3122+       int do_internal = TRUE;
     3123+
     3124+       if (*curbuf->b_p_fex != NUL)
     3125+       {
     3126+           do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0);
     3127+           /* It may be required to save for undo again, e.g. when setline()
     3128+            * was called. */
     3129+           ins_need_undo = TRUE;
     3130+       }
     3131+       if (do_internal)
     3132 #endif
     3133            internal_format(textwidth, second_indent, flags, c == NUL);
     3134     }
     3135@@ -8508,7 +8622,12 @@
    26773136     tpos = curwin->w_cursor;
    26783137     if (oneleft() == OK)
     
    26903149diff -Naur vim70.orig/src/eval.c vim70/src/eval.c
    26913150--- vim70.orig/src/eval.c       2006-05-05 10:15:26.000000000 -0700
    2692 +++ vim70/src/eval.c    2006-09-11 09:04:12.000000000 -0700
     3151+++ vim70/src/eval.c    2006-10-13 01:03:10.000000000 -0700
    26933152@@ -454,7 +454,7 @@
    26943153 static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
     
    27003159 static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
    27013160 static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
    2702 @@ -701,6 +701,7 @@
     3161@@ -622,6 +622,7 @@
     3162 static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv));
     3163 static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
     3164 static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
     3165+static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
     3166 static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
     3167 static void f_sort __ARGS((typval_T *argvars, typval_T *rettv));
     3168 static void f_soundfold __ARGS((typval_T *argvars, typval_T *rettv));
     3169@@ -701,6 +702,7 @@
    27033170 static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_u *string));
    27043171 static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
     
    27083175 static void copy_tv __ARGS((typval_T *from, typval_T *to));
    27093176 static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
    2710 @@ -2260,7 +2261,7 @@
     3177@@ -2260,7 +2262,7 @@
    27113178            EMSG(_(e_letunexp));
    27123179        else
     
    27173184 
    27183185            p = get_tv_string_chk(tv);
    2719 @@ -2269,7 +2270,7 @@
     3186@@ -2269,7 +2271,7 @@
    27203187                s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
    27213188                if (s != NULL)
     
    27263193                }
    27273194            }
    2728 @@ -2278,7 +2279,7 @@
     3195@@ -2278,7 +2280,7 @@
    27293196                write_reg_contents(*arg == '@' ? '"' : *arg, p, -1, FALSE);
    27303197                arg_end = arg + 1;
     
    27353202     }
    27363203 
    2737 @@ -3364,6 +3365,8 @@
     3204@@ -3364,6 +3366,8 @@
    27383205        hi = hash_find(ht, varname);
    27393206        if (!HASHITEM_EMPTY(hi))
     
    27443211                return FAIL;
    27453212            delete_var(ht, hi);
    2746 @@ -6059,6 +6062,10 @@
     3213@@ -6059,6 +6063,10 @@
    27473214     tabpage_T  *tp;
    27483215 #endif
     
    27553222      * 1. Go through all accessible variables and mark all lists and dicts
    27563223      *    with copyID.
    2757 @@ -7595,8 +7602,8 @@
     3224@@ -7139,6 +7147,7 @@
     3225     {"setreg",         2, 3, f_setreg},
     3226     {"settabwinvar",   4, 4, f_settabwinvar},
     3227     {"setwinvar",      3, 3, f_setwinvar},
     3228+    {"shellescape",    1, 1, f_shellescape},
     3229     {"simplify",       1, 1, f_simplify},
     3230     {"sort",           1, 2, f_sort},
     3231     {"soundfold",      1, 1, f_soundfold},
     3232@@ -7595,8 +7604,8 @@
    27583233  * Give an error message with a function name.  Handle <SNR> things.
    27593234  */
     
    27663241 {
    27673242     char_u     *p;
    2768 @@ -7605,7 +7612,7 @@
     3243@@ -7605,7 +7614,7 @@
    27693244        p = concat_str((char_u *)"<SNR>", name + 3);
    27703245     else
     
    27753250        vim_free(p);
    27763251 }
    2777 @@ -8252,6 +8259,12 @@
     3252@@ -8252,6 +8261,12 @@
    27783253        EMSG(_("E785: complete() can only be used in Insert mode"));
    27793254        return;
     
    27883263     {
    27893264        EMSG(_(e_invarg));
    2790 @@ -9173,25 +9186,25 @@
     3265@@ -9173,25 +9188,25 @@
    27913266     typval_T   save_key;
    27923267     int                rem;
     
    28183293     }
    28193294 
    2820 @@ -9223,7 +9236,7 @@
     3295@@ -9223,7 +9238,7 @@
    28213296                {
    28223297                    --todo;
     
    28273302                    vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
    28283303                    if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
    2829 @@ -9242,7 +9255,7 @@
     3304@@ -9242,7 +9257,7 @@
    28303305        {
    28313306            for (li = l->lv_first; li != NULL; li = nli)
     
    28363311                nli = li->li_next;
    28373312                if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL
    2838 @@ -9598,7 +9611,9 @@
     3313@@ -9598,7 +9613,9 @@
    28393314     typval_T   *argvars;
    28403315     typval_T   *rettv;
     
    28473322 
    28483323 /*
    2849 @@ -9792,6 +9807,9 @@
     3324@@ -9792,6 +9809,9 @@
    28503325     varnumber_T                n;
    28513326     int                        error = FALSE;
     
    28573332     ++allow_keys;
    28583333     if (argvars[0].v_type == VAR_UNKNOWN)
     3334@@ -10412,20 +10432,14 @@
     3335 
     3336     if (win != NULL && varname != NULL)
     3337     {
     3338-       if (*varname == '&')    /* window-local-option */
     3339-       {
     3340-           /* Set curwin to be our win, temporarily.  Also set curbuf, so
     3341-            * that we can get buffer-local options. */
     3342-           oldcurwin = curwin;
     3343-           curwin = win;
     3344-           curbuf = win->w_buffer;
     3345+       /* Set curwin to be our win, temporarily.  Also set curbuf, so
     3346+        * that we can get buffer-local options. */
     3347+       oldcurwin = curwin;
     3348+       curwin = win;
     3349+       curbuf = win->w_buffer;
     3350 
     3351+       if (*varname == '&')    /* window-local-option */
     3352            get_option_tv(&varname, rettv, 1);
     3353-
     3354-           /* restore previous notion of curwin */
     3355-           curwin = oldcurwin;
     3356-           curbuf = curwin->w_buffer;
     3357-       }
     3358        else
     3359        {
     3360            if (*varname == NUL)
     3361@@ -10438,6 +10452,10 @@
     3362            if (v != NULL)
     3363                copy_tv(&v->di_tv, rettv);
     3364        }
     3365+
     3366+       /* restore previous notion of curwin */
     3367+       curwin = oldcurwin;
     3368+       curbuf = curwin->w_buffer;
     3369     }
     3370 
     3371     --emsg_off;
    28593372@@ -11312,14 +11330,19 @@
    28603373 
     
    29843497 }
    29853498 
    2986 @@ -16173,7 +16196,7 @@
     3499@@ -14582,6 +14605,18 @@
     3500 }
     3501 
     3502 /*
     3503+ * "shellescape({string})" function
     3504+ */
     3505+    static void
     3506+f_shellescape(argvars, rettv)
     3507+    typval_T   *argvars;
     3508+    typval_T   *rettv;
     3509+{
     3510+    rettv->vval.v_string = vim_strsave_shellescape(get_tv_string(&argvars[0]));
     3511+    rettv->v_type = VAR_STRING;
     3512+}
     3513+
     3514+/*
     3515  * "simplify()" function
     3516  */
     3517     static void
     3518@@ -16173,7 +16208,7 @@
    29873519        curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant");
    29883520        curwin->w_set_curswant = FALSE;
     
    29933525        curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill");
    29943526 #endif
    2995 @@ -16218,6 +16241,7 @@
     3527@@ -16218,6 +16253,7 @@
    29963528 #ifdef FEAT_VIRTUALEDIT
    29973529     dict_add_nr_str(dict, "coladd", (long)curwin->w_cursor.coladd, NULL);
     
    30013533 
    30023534     dict_add_nr_str(dict, "topline", (long)curwin->w_topline, NULL);
    3003 @@ -16438,9 +16462,12 @@
     3535@@ -16438,9 +16474,12 @@
    30043536     long       i = 0;
    30053537     long       n;
     
    30173549 
    30183550     if (fnump != NULL)
    3019 @@ -16466,8 +16493,9 @@
     3551@@ -16466,8 +16505,9 @@
    30203552 #ifdef FEAT_VIRTUALEDIT
    30213553     n = list_find_nr(l, i, NULL);
     
    30293561 
    30303562     return OK;
    3031 @@ -17759,6 +17787,13 @@
     3563@@ -17759,6 +17799,13 @@
    30323564     }
    30333565     else                   /* add a new variable */
     
    30433575        for (p = varname; *p != NUL; ++p)
    30443576            if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
    3045 @@ -17792,7 +17827,7 @@
     3577@@ -17792,7 +17839,7 @@
    30463578 }
    30473579 
     
    30523584  */
    30533585     static int
    3054 @@ -17814,6 +17849,23 @@
     3586@@ -17814,6 +17861,23 @@
    30553587 }
    30563588 
     
    30763608  * Also give an error message, using "name".
    30773609  */
    3078 @@ -18786,6 +18838,7 @@
     3610@@ -18786,6 +18850,7 @@
    30793611                if (dict_add(fudi.fd_dict, fudi.fd_di) == FAIL)
    30803612                {
     
    30843616                }
    30853617            }
    3086 @@ -18963,7 +19016,8 @@
     3618@@ -18963,7 +19028,8 @@
    30873619     else if (lead > 0)
    30883620     {
     
    30943626            /* It's "s:" or "<SID>" */
    30953627            if (current_SID <= 0)
    3096 @@ -19685,6 +19739,7 @@
     3628@@ -19685,6 +19751,7 @@
    30973629     v->di_tv.vval.v_list = &fc.l_varlist;
    30983630     vim_memset(&fc.l_varlist, 0, sizeof(list_T));
     
    31023634     /*
    31033635      * Set a:firstline to "firstline" and a:lastline to "lastline".
    3104 @@ -19761,7 +19816,7 @@
     3636@@ -19761,7 +19828,7 @@
    31053637            if (p_verbose >= 14)
    31063638            {
     
    31113643 
    31123644                msg_puts((char_u *)"(");
    3113 @@ -19773,8 +19828,8 @@
     3645@@ -19773,8 +19840,8 @@
    31143646                        msg_outnum((long)argvars[i].vval.v_number);
    31153647                    else
     
    31223654                        vim_free(tofree);
    31233655                    }
    3124 @@ -19852,13 +19907,13 @@
     3656@@ -19852,13 +19919,13 @@
    31253657        else
    31263658        {
     
    31403672diff -Naur vim70.orig/src/ex_cmds2.c vim70/src/ex_cmds2.c
    31413673--- vim70.orig/src/ex_cmds2.c   2006-04-17 03:19:07.000000000 -0700
    3142 +++ vim70/src/ex_cmds2.c        2006-09-11 08:23:15.000000000 -0700
     3674+++ vim70/src/ex_cmds2.c        2006-10-13 01:02:52.000000000 -0700
    31433675@@ -3648,13 +3648,13 @@
    31443676  * Return FALSE when not sourcing a file.
     
    31613693diff -Naur vim70.orig/src/ex_cmds.c vim70/src/ex_cmds.c
    31623694--- vim70.orig/src/ex_cmds.c    2006-04-22 11:56:56.000000000 -0700
    3163 +++ vim70/src/ex_cmds.c 2006-09-11 09:03:01.000000000 -0700
     3695+++ vim70/src/ex_cmds.c 2006-10-13 01:02:58.000000000 -0700
    31643696@@ -95,7 +95,10 @@
    31653697                _("<%s>%s%s  %d,  Hex %02x,  Octal %03o"),
     
    32723804diff -Naur vim70.orig/src/ex_cmds.h vim70/src/ex_cmds.h
    32733805--- vim70.orig/src/ex_cmds.h    2006-04-07 02:44:46.000000000 -0700
    3274 +++ vim70/src/ex_cmds.h 2006-07-14 08:51:21.000000000 -0700
     3806+++ vim70/src/ex_cmds.h 2006-10-13 01:02:46.000000000 -0700
    32753807@@ -262,7 +262,7 @@
    32763808 EX(CMD_comclear,       "comclear",     ex_comclear,
     
    32843816diff -Naur vim70.orig/src/ex_docmd.c vim70/src/ex_docmd.c
    32853817--- vim70.orig/src/ex_docmd.c   2006-05-05 09:33:19.000000000 -0700
    3286 +++ vim70/src/ex_docmd.c        2006-09-11 09:27:48.000000000 -0700
     3818+++ vim70/src/ex_docmd.c        2006-10-13 01:03:00.000000000 -0700
    32873819@@ -58,9 +58,9 @@
    32883820 #endif
     
    35564088diff -Naur vim70.orig/src/ex_getln.c vim70/src/ex_getln.c
    35574089--- vim70.orig/src/ex_getln.c   2006-04-30 08:32:01.000000000 -0700
    3558 +++ vim70/src/ex_getln.c        2006-09-18 08:55:55.000000000 -0700
     4090+++ vim70/src/ex_getln.c        2006-10-13 01:03:05.000000000 -0700
    35594091@@ -324,6 +324,9 @@
    35604092      */
     
    36204152diff -Naur vim70.orig/src/fileio.c vim70/src/fileio.c
    36214153--- vim70.orig/src/fileio.c     2006-04-30 08:28:57.000000000 -0700
    3622 +++ vim70/src/fileio.c  2006-09-18 08:55:16.000000000 -0700
     4154+++ vim70/src/fileio.c  2006-10-13 01:03:05.000000000 -0700
    36234155@@ -316,6 +316,9 @@
    36244156      * display the line. */
     
    37424274diff -Naur vim70.orig/src/getchar.c vim70/src/getchar.c
    37434275--- vim70.orig/src/getchar.c    2006-05-03 10:29:21.000000000 -0700
    3744 +++ vim70/src/getchar.c 2006-09-11 09:00:04.000000000 -0700
     4276+++ vim70/src/getchar.c 2006-10-13 01:03:08.000000000 -0700
    37454277@@ -1451,7 +1451,8 @@
    37464278 {
     
    38084340 
    38094341 /*
     4342@@ -1940,10 +1960,13 @@
     4343                        c = Ctrl_C;
     4344                    flush_buffers(TRUE);        /* flush all typeahead */
     4345 
     4346-                   /* Also record this character, it might be needed to
     4347-                    * get out of Insert mode. */
     4348-                   *typebuf.tb_buf = c;
     4349-                   gotchars(typebuf.tb_buf, 1);
     4350+                   if (advance)
     4351+                   {
     4352+                       /* Also record this character, it might be needed to
     4353+                        * get out of Insert mode. */
     4354+                       *typebuf.tb_buf = c;
     4355+                       gotchars(typebuf.tb_buf, 1);
     4356+                   }
     4357                    cmd_silent = FALSE;
     4358 
     4359                    break;
    38104360diff -Naur vim70.orig/src/globals.h vim70/src/globals.h
    38114361--- vim70.orig/src/globals.h    2006-04-30 06:16:23.000000000 -0700
    3812 +++ vim70/src/globals.h 2006-09-11 09:00:04.000000000 -0700
     4362+++ vim70/src/globals.h 2006-10-13 01:02:55.000000000 -0700
    38134363@@ -300,9 +300,16 @@
    38144364 #endif
     
    38424392diff -Naur vim70.orig/src/gui_at_fs.c vim70/src/gui_at_fs.c
    38434393--- vim70.orig/src/gui_at_fs.c  2005-07-09 04:30:17.000000000 -0700
    3844 +++ vim70/src/gui_at_fs.c       2006-07-14 08:51:21.000000000 -0700
     4394+++ vim70/src/gui_at_fs.c       2006-10-13 01:02:44.000000000 -0700
    38454395@@ -1861,27 +1861,27 @@
    38464396     XtPointer  pnew;
     
    39584508diff -Naur vim70.orig/src/gui_beval.c vim70/src/gui_beval.c
    39594509--- vim70.orig/src/gui_beval.c  2006-05-04 12:29:51.000000000 -0700
    3960 +++ vim70/src/gui_beval.c       2006-09-11 08:23:15.000000000 -0700
     4510+++ vim70/src/gui_beval.c       2006-10-13 01:02:52.000000000 -0700
    39614511@@ -926,7 +926,7 @@
    39624512 #  define IS_NONPRINTABLE(c) (((c) < 0x20 && (c) != TAB && (c) != NL) \
     
    39974547diff -Naur vim70.orig/src/gui.c vim70/src/gui.c
    39984548--- vim70.orig/src/gui.c        2006-05-03 04:00:59.000000000 -0700
    3999 +++ vim70/src/gui.c     2006-09-11 09:28:13.000000000 -0700
     4549+++ vim70/src/gui.c     2006-10-13 01:03:11.000000000 -0700
    40004550@@ -187,9 +187,10 @@
    40014551 #endif
     
    40124562 
    40134563     --recursive;
    4014 @@ -3733,6 +3734,12 @@
     4564@@ -636,6 +637,7 @@
     4565 
     4566 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
     4567        || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) || defined(PROTO)
     4568+# define NEED_GUI_UPDATE_SCREEN 1
     4569 /*
     4570  * Called when the GUI shell is closed by the user.  If there are no changed
     4571  * files Vim exits, otherwise there will be a dialog to ask the user what to
     4572@@ -664,8 +666,7 @@
     4573 
     4574     exiting = FALSE;
     4575     cmdmod = save_cmdmod;
     4576-    setcursor();               /* position cursor */
     4577-    out_flush();
     4578+    gui_update_screen();       /* redraw, window may show changed buffer */
     4579 }
     4580 #endif
     4581 
     4582@@ -2872,6 +2873,9 @@
     4583      */
     4584     if ((State == NORMAL || State == NORMAL_BUSY || (State & INSERT))
     4585            && Y_2_ROW(y) >= topframe->fr_height
     4586+# ifdef FEAT_WINDOWS
     4587+                                               + firstwin->w_winrow
     4588+# endif
     4589            && button != MOUSE_DRAG
     4590 # ifdef FEAT_MOUSESHAPE
     4591            && !drag_status_line
     4592@@ -3733,6 +3737,12 @@
    40154593     if (dont_scroll || input_available())
    40164594        return;
     
    40254603 #ifdef FEAT_RIGHTLEFT
    40264604     if (sb->wp == NULL && curwin->w_p_rl)
    4027 @@ -4207,6 +4214,12 @@
     4605@@ -4207,6 +4217,12 @@
    40284606        updateWindow(wp);   /* update window, status line, and cmdline */
    40294607     }
     
    40384616 }
    40394617 
    4040 @@ -4515,7 +4528,7 @@
     4618@@ -4515,7 +4531,7 @@
    40414619     int                y;
    40424620 {
     
    40474625     /* Ignore this while still starting up. */
    40484626     if (!gui.in_use || gui.starting)
    4049 @@ -4603,11 +4616,11 @@
     4627@@ -4603,11 +4619,11 @@
    40504628     /* Don't move the mouse when it's left or right of the Vim window */
    40514629     if (x < 0 || x > Columns * gui.char_width)
     
    40624640     if (wp != curwin && wp != NULL)    /* If in other than current window */
    40634641     {
     4642@@ -4807,6 +4823,7 @@
     4643 #endif
     4644 
     4645 #if defined(FIND_REPLACE_DIALOG) || defined(FEAT_SUN_WORKSHOP) \
     4646+       || defined(NEED_GUI_UPDATE_SCREEN) \
     4647        || defined(PROTO)
     4648 /*
     4649  * Update the current window and the screen.
    40644650diff -Naur vim70.orig/src/gui_gtk.c vim70/src/gui_gtk.c
    40654651--- vim70.orig/src/gui_gtk.c    2006-05-05 04:52:52.000000000 -0700
    4066 +++ vim70/src/gui_gtk.c 2006-09-11 08:23:15.000000000 -0700
     4652+++ vim70/src/gui_gtk.c 2006-10-13 01:03:11.000000000 -0700
    40674653@@ -957,15 +957,15 @@
    40684654 get_menu_position(vimmenu_T *menu)
     
    40844670 #endif /* FEAT_TOOLBAR && HAVE_GTK2 */
    40854671 
     4672@@ -1275,18 +1275,13 @@
     4673     title = CONVERT_TO_UTF8(title);
     4674 # endif
     4675 
     4676-    /* Concatenate "initdir" and "dflt". */
     4677+    /* GTK has a bug, it only works with an absolute path. */
     4678     if (initdir == NULL || *initdir == NUL)
     4679        mch_dirname(dirbuf, MAXPATHL);
     4680-    else if (STRLEN(initdir) + 2 < MAXPATHL)
     4681-       STRCPY(dirbuf, initdir);
     4682-    else
     4683+    else if (vim_FullName(initdir, dirbuf, MAXPATHL - 2, FALSE) == FAIL)
     4684        dirbuf[0] = NUL;
     4685     /* Always need a trailing slash for a directory. */
     4686     add_pathsep(dirbuf);
     4687-    if (dflt != NULL && *dflt != NUL
     4688-                             && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL)
     4689-       STRCAT(dirbuf, dflt);
     4690 
     4691     /* If our pointer is currently hidden, then we should show it. */
     4692     gui_mch_mousehide(FALSE);
     4693@@ -1341,6 +1336,11 @@
     4694     else
     4695        gtk_window_set_title(GTK_WINDOW(gui.filedlg), (const gchar *)title);
     4696 
     4697+    /* Concatenate "initdir" and "dflt". */
     4698+    if (dflt != NULL && *dflt != NUL
     4699+                             && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL)
     4700+       STRCAT(dirbuf, dflt);
     4701+
     4702     gtk_file_selection_set_filename(GTK_FILE_SELECTION(gui.filedlg),
     4703                                                      (const gchar *)dirbuf);
     4704 # ifndef HAVE_GTK2
    40864705@@ -2127,7 +2127,7 @@
    40874706     char    **ync;  /* "yes no cancel" */
     
    41194738diff -Naur vim70.orig/src/gui_gtk_x11.c vim70/src/gui_gtk_x11.c
    41204739--- vim70.orig/src/gui_gtk_x11.c        2006-05-04 23:58:59.000000000 -0700
    4121 +++ vim70/src/gui_gtk_x11.c     2006-09-11 08:23:16.000000000 -0700
     4740+++ vim70/src/gui_gtk_x11.c     2006-10-13 01:02:52.000000000 -0700
    41224741@@ -3233,12 +3233,12 @@
    41234742 on_select_tab(
     
    41844803diff -Naur vim70.orig/src/gui_xmebw.c vim70/src/gui_xmebw.c
    41854804--- vim70.orig/src/gui_xmebw.c  2006-04-30 08:32:32.000000000 -0700
    4186 +++ vim70/src/gui_xmebw.c       2006-07-14 08:51:21.000000000 -0700
     4805+++ vim70/src/gui_xmebw.c       2006-10-13 01:02:44.000000000 -0700
    41874806@@ -47,13 +47,13 @@
    41884807 #include "gui_xmebwp.h"
     
    42844903diff -Naur vim70.orig/src/hardcopy.c vim70/src/hardcopy.c
    42854904--- vim70.orig/src/hardcopy.c   2006-05-04 03:09:58.000000000 -0700
    4286 +++ vim70/src/hardcopy.c        2006-09-11 08:23:16.000000000 -0700
     4905+++ vim70/src/hardcopy.c        2006-10-13 01:02:52.000000000 -0700
    42874906@@ -1794,29 +1794,27 @@
    42884907     static int
     
    43875006diff -Naur vim70.orig/src/if_cscope.c vim70/src/if_cscope.c
    43885007--- vim70.orig/src/if_cscope.c  2006-04-18 01:54:15.000000000 -0700
    4389 +++ vim70/src/if_cscope.c       2006-09-11 08:23:16.000000000 -0700
     5008+++ vim70/src/if_cscope.c       2006-10-13 01:02:52.000000000 -0700
    43905009@@ -989,8 +989,7 @@
    43915010 {
     
    44105029diff -Naur vim70.orig/src/if_perl.xs vim70/src/if_perl.xs
    44115030--- vim70.orig/src/if_perl.xs   2006-03-06 10:57:16.000000000 -0800
    4412 +++ vim70/src/if_perl.xs        2006-08-19 16:39:02.000000000 -0700
     5031+++ vim70/src/if_perl.xs        2006-10-13 01:02:49.000000000 -0700
    44135032@@ -155,8 +155,8 @@
    44145033 static int (*perl_run)(PerlInterpreter*);
     
    45235142            }
    45245143        }
     5144diff -Naur vim70.orig/src/if_python.c vim70/src/if_python.c
     5145--- vim70.orig/src/if_python.c  2006-04-30 08:31:36.000000000 -0700
     5146+++ vim70/src/if_python.c       2006-10-13 01:03:07.000000000 -0700
     5147@@ -1463,7 +1463,7 @@
     5148     if (this->buf && this->buf != INVALID_BUFFER_VALUE)
     5149        this->buf->b_python_ref = NULL;
     5150 
     5151-    PyMem_DEL(self);
     5152+    Py_DECREF(self);
     5153 }
     5154 
     5155     static PyObject *
     5156@@ -1674,7 +1674,7 @@
     5157     bufr = (BufferObject *)BufferNew(buf);
     5158     if (bufr == NULL)
     5159     {
     5160-       PyMem_DEL(self);
     5161+       Py_DECREF(self);
     5162        return NULL;
     5163     }
     5164     Py_INCREF(bufr);
     5165@@ -1690,7 +1690,7 @@
     5166 RangeDestructor(PyObject *self)
     5167 {
     5168     Py_DECREF(((RangeObject *)(self))->buf);
     5169-    PyMem_DEL(self);
     5170+    Py_DECREF(self);
     5171 }
     5172 
     5173     static PyObject *
     5174@@ -1944,7 +1944,7 @@
     5175     if (this->win && this->win != INVALID_WINDOW_VALUE)
     5176        this->win->w_python_ref = NULL;
     5177 
     5178-    PyMem_DEL(self);
     5179+    Py_DECREF(self);
     5180 }
     5181 
     5182     static int
    45255183diff -Naur vim70.orig/src/if_ruby.c vim70/src/if_ruby.c
    45265184--- vim70.orig/src/if_ruby.c    2006-04-30 08:37:52.000000000 -0700
    4527 +++ vim70/src/if_ruby.c 2006-08-19 16:39:01.000000000 -0700
     5185+++ vim70/src/if_ruby.c 2006-10-13 01:02:49.000000000 -0700
    45285186@@ -643,11 +643,14 @@
    45295187 
     
    46405298diff -Naur vim70.orig/src/macros.h vim70/src/macros.h
    46415299--- vim70.orig/src/macros.h     2006-03-01 04:01:10.000000000 -0800
    4642 +++ vim70/src/macros.h  2006-09-11 09:01:59.000000000 -0700
     5300+++ vim70/src/macros.h  2006-10-13 01:02:56.000000000 -0700
    46435301@@ -276,3 +276,9 @@
    46445302 # define MB_CHARLEN(p)         STRLEN(p)
     
    46535311diff -Naur vim70.orig/src/main.c vim70/src/main.c
    46545312--- vim70.orig/src/main.c       2006-05-03 10:36:44.000000000 -0700
    4655 +++ vim70/src/main.c    2006-09-11 09:00:04.000000000 -0700
     5313+++ vim70/src/main.c    2006-10-13 01:02:55.000000000 -0700
    46565314@@ -564,7 +564,11 @@
    46575315      */
     
    47425400diff -Naur vim70.orig/src/Makefile vim70/src/Makefile
    47435401--- vim70.orig/src/Makefile     2006-05-07 06:25:27.000000000 -0700
    4744 +++ vim70/src/Makefile  2006-09-11 08:57:41.000000000 -0700
     5402+++ vim70/src/Makefile  2006-10-13 01:02:54.000000000 -0700
    47455403@@ -2177,6 +2177,7 @@
    47465404        cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
     
    47625420diff -Naur vim70.orig/src/mbyte.c vim70/src/mbyte.c
    47635421--- vim70.orig/src/mbyte.c      2006-04-30 04:51:01.000000000 -0700
    4764 +++ vim70/src/mbyte.c   2006-09-11 08:23:16.000000000 -0700
     5422+++ vim70/src/mbyte.c   2006-10-13 01:02:52.000000000 -0700
    47655423@@ -311,7 +311,11 @@
    47665424 
     
    48425500            }
    48435501            while (pango_attr_iterator_next(iter));
     5502diff -Naur vim70.orig/src/memfile.c vim70/src/memfile.c
     5503--- vim70.orig/src/memfile.c    2006-03-06 00:59:15.000000000 -0800
     5504+++ vim70/src/memfile.c 2006-10-13 01:03:06.000000000 -0700
     5505@@ -517,7 +517,7 @@
     5506        mf_ins_free(mfp, hp);   /* put *hp in the free list */
     5507 }
     5508 
     5509-#if defined(__MORPHOS__)
     5510+#if defined(__MORPHOS__) && defined(__libnix__)
     5511 /* function is missing in MorphOS libnix version */
     5512 extern unsigned long *__stdfiledes;
     5513 
     5514@@ -677,15 +677,19 @@
     5515 #  else
     5516 #   if defined(_DCC) || defined(__GNUC__) || defined(__MORPHOS__)
     5517        {
     5518-#    if defined(__GNUC__) && !defined(__MORPHOS__)
     5519+#    if defined(__GNUC__) && !defined(__MORPHOS__) && defined(__libnix__)
     5520            /* Have function (in libnix at least),
     5521             * but ain't got no prototype anywhere. */
     5522            extern unsigned long fdtofh(int filedescriptor);
     5523 #    endif
     5524+#    if !defined(__libnix__)
     5525+           fflush(NULL);
     5526+#    else
     5527            BPTR fh = (BPTR)fdtofh(mfp->mf_fd);
     5528 
     5529            if (fh != 0)
     5530                Flush(fh);
     5531+#    endif
     5532        }
     5533 #   else /* assume Manx */
     5534            Flush(_devtab[mfp->mf_fd].fd);
    48445535diff -Naur vim70.orig/src/memline.c vim70/src/memline.c
    48455536--- vim70.orig/src/memline.c    2006-04-20 14:00:21.000000000 -0700
    4846 +++ vim70/src/memline.c 2006-09-11 08:23:16.000000000 -0700
     5537+++ vim70/src/memline.c 2006-10-13 01:03:11.000000000 -0700
    48475538@@ -215,7 +215,7 @@
    48485539 #define ML_FLUSH       0x02        /* flush locked block */
     
    48755566        else
    48765567            set_b0_dir_flag(b0p, buf);
     5568@@ -1633,6 +1633,7 @@
     5569     int                    fd;
     5570     struct block0   b0;
     5571     time_t         x = (time_t)0;
     5572+    char           *p;
     5573 #ifdef UNIX
     5574     char_u         uname[B0_UNAME_SIZE];
     5575 #endif
     5576@@ -1652,8 +1653,11 @@
     5577 #endif
     5578            MSG_PUTS(_("             dated: "));
     5579        x = st.st_mtime;                    /* Manx C can't do &st.st_mtime */
     5580-       MSG_PUTS(ctime(&x));                /* includes '\n' */
     5581-
     5582+       p = ctime(&x);                      /* includes '\n' */
     5583+       if (p == NULL)
     5584+           MSG_PUTS("(invalid)\n");
     5585+       else
     5586+           MSG_PUTS(p);
     5587     }
     5588 
     5589     /*
     5590@@ -3652,6 +3656,7 @@
     5591 {
     5592     struct stat st;
     5593     time_t     x, sx;
     5594+    char       *p;
     5595 
     5596     ++no_wait_return;
     5597     (void)EMSG(_("E325: ATTENTION"));
     5598@@ -3666,7 +3671,11 @@
     5599     {
     5600        MSG_PUTS(_("             dated: "));
     5601        x = st.st_mtime;    /* Manx C can't do &st.st_mtime */
     5602-       MSG_PUTS(ctime(&x));
     5603+       p = ctime(&x);                      /* includes '\n' */
     5604+       if (p == NULL)
     5605+           MSG_PUTS("(invalid)\n");
     5606+       else
     5607+           MSG_PUTS(p);
     5608        if (sx != 0 && x > sx)
     5609            MSG_PUTS(_("      NEWER than swap file!\n"));
     5610     }
    48775611diff -Naur vim70.orig/src/menu.c vim70/src/menu.c
    48785612--- vim70.orig/src/menu.c       2006-05-03 10:30:48.000000000 -0700
    4879 +++ vim70/src/menu.c    2006-08-19 16:40:11.000000000 -0700
     5613+++ vim70/src/menu.c    2006-10-13 01:02:50.000000000 -0700
    48805614@@ -511,6 +511,14 @@
    48815615         * name (without mnemonic and accelerator text). */
     
    49545688diff -Naur vim70.orig/src/message.c vim70/src/message.c
    49555689--- vim70.orig/src/message.c    2006-05-06 13:07:37.000000000 -0700
    4956 +++ vim70/src/message.c 2006-09-11 08:59:06.000000000 -0700
     5690+++ vim70/src/message.c 2006-10-13 01:03:09.000000000 -0700
    49575691@@ -1925,7 +1925,8 @@
    49585692             * If screen is completely filled and 'more' is set then wait
     
    49655699            {
    49665700 #ifdef FEAT_CON_DIALOG
    4967 @@ -4175,15 +4176,16 @@
     5701@@ -4123,8 +4124,6 @@
     5702            case 'c':
     5703            case 's':
     5704                length_modifier = '\0';
     5705-               zero_padding = 0;    /* turn zero padding off for string
     5706-                                       conversions */
     5707                str_arg_l = 1;
     5708                switch (fmt_spec)
     5709                {
     5710@@ -4175,15 +4174,16 @@
    49685711                        str_arg_l = 0;
    49695712                    else
     
    49905733diff -Naur vim70.orig/src/misc1.c vim70/src/misc1.c
    49915734--- vim70.orig/src/misc1.c      2006-04-30 08:30:02.000000000 -0700
    4992 +++ vim70/src/misc1.c   2006-09-18 08:57:51.000000000 -0700
     5735+++ vim70/src/misc1.c   2006-10-13 01:03:06.000000000 -0700
    49935736@@ -3016,6 +3016,7 @@
    49945737     int                len = 0;
     
    50705813                if (*that == '(' || *that == '[')
    50715814                    ++parencount;
     5815diff -Naur vim70.orig/src/misc2.c vim70/src/misc2.c
     5816--- vim70.orig/src/misc2.c      2006-05-04 05:12:38.000000000 -0700
     5817+++ vim70/src/misc2.c   2006-10-13 01:03:07.000000000 -0700
     5818@@ -1229,6 +1229,94 @@
     5819     return escaped_string;
     5820 }
     5821 
     5822+#if defined(FEAT_EVAL) || defined(PROTO)
     5823+/*
     5824+ * Escape "string" for use as a shell argument with system().
     5825+ * This uses single quotes, except when we know we need to use double qoutes
     5826+ * (MS-DOS and MS-Windows without 'shellslash' set).
     5827+ * Returns the result in allocated memory, NULL if we have run out.
     5828+ */
     5829+    char_u *
     5830+vim_strsave_shellescape(string)
     5831+    char_u     *string;
     5832+{
     5833+    unsigned   length;
     5834+    char_u     *p;
     5835+    char_u     *d;
     5836+    char_u     *escaped_string;
     5837+
     5838+    /* First count the number of extra bytes required. */
     5839+    length = STRLEN(string) + 3;       /* two quotes and the trailing NUL */
     5840+    for (p = string; *p != NUL; mb_ptr_adv(p))
     5841+    {
     5842+# if defined(WIN32) || defined(WIN16) || defined(DOS)
     5843+       if (!p_ssl)
     5844+       {
     5845+           if (*p == '"')
     5846+               ++length;               /* " -> "" */
     5847+       }
     5848+       else
     5849+# endif
     5850+       if (*p == '\'')
     5851+           length += 3;                /* ' => '\'' */
     5852+    }
     5853+
     5854+    /* Allocate memory for the result and fill it. */
     5855+    escaped_string = alloc(length);
     5856+    if (escaped_string != NULL)
     5857+    {
     5858+       d = escaped_string;
     5859+
     5860+       /* add opening quote */
     5861+# if defined(WIN32) || defined(WIN16) || defined(DOS)
     5862+       if (!p_ssl)
     5863+           *d++ = '"';
     5864+       else
     5865+# endif
     5866+           *d++ = '\'';
     5867+
     5868+       for (p = string; *p != NUL; )
     5869+       {
     5870+# if defined(WIN32) || defined(WIN16) || defined(DOS)
     5871+           if (!p_ssl)
     5872+           {
     5873+               if (*p == '"')
     5874+               {
     5875+                   *d++ = '"';
     5876+                   *d++ = '"';
     5877+                   ++p;
     5878+                   continue;
     5879+               }
     5880+           }
     5881+           else
     5882+# endif
     5883+           if (*p == '\'')
     5884+           {
     5885+               *d++='\'';
     5886+               *d++='\\';
     5887+               *d++='\'';
     5888+               *d++='\'';
     5889+               ++p;
     5890+               continue;
     5891+           }
     5892+
     5893+           MB_COPY_CHAR(p, d);
     5894+       }
     5895+
     5896+       /* add terminating quote and finish with a NUL */
     5897+# if defined(WIN32) || defined(WIN16) || defined(DOS)
     5898+       if (!p_ssl)
     5899+           *d++ = '"';
     5900+       else
     5901+# endif
     5902+           *d++ = '\'';
     5903+       *d = NUL;
     5904+    }
     5905+
     5906+    return escaped_string;
     5907+}
     5908+#endif
     5909+
     5910 /*
     5911  * Like vim_strsave(), but make all characters uppercase.
     5912  * This uses ASCII lower-to-upper case translation, language independent.
    50725913diff -Naur vim70.orig/src/netbeans.c vim70/src/netbeans.c
    50735914--- vim70.orig/src/netbeans.c   2006-04-22 11:00:05.000000000 -0700
    5074 +++ vim70/src/netbeans.c        2006-09-11 08:23:16.000000000 -0700
     5915+++ vim70/src/netbeans.c        2006-10-13 01:02:52.000000000 -0700
    50755916@@ -103,7 +103,7 @@
    50765917 static int  inputHandler = -1;         /* simply ret.value of WSAAsyncSelect() */
     
    52426083diff -Naur vim70.orig/src/normal.c vim70/src/normal.c
    52436084--- vim70.orig/src/normal.c     2006-04-29 06:11:18.000000000 -0700
    5244 +++ vim70/src/normal.c  2006-09-11 08:23:16.000000000 -0700
    5245 @@ -2504,7 +2504,8 @@
     6085+++ vim70/src/normal.c  2006-10-13 01:03:10.000000000 -0700
     6086@@ -1477,14 +1477,17 @@
     6087        }
     6088        else if (VIsual_active)
     6089        {
     6090-           /* Save the current VIsual area for '< and '> marks, and "gv" */
     6091-           curbuf->b_visual.vi_start = VIsual;
     6092-           curbuf->b_visual.vi_end = curwin->w_cursor;
     6093-           curbuf->b_visual.vi_mode = VIsual_mode;
     6094-           curbuf->b_visual.vi_curswant = curwin->w_curswant;
     6095+           if (!gui_yank)
     6096+           {
     6097+               /* Save the current VIsual area for '< and '> marks, and "gv" */
     6098+               curbuf->b_visual.vi_start = VIsual;
     6099+               curbuf->b_visual.vi_end = curwin->w_cursor;
     6100+               curbuf->b_visual.vi_mode = VIsual_mode;
     6101+               curbuf->b_visual.vi_curswant = curwin->w_curswant;
     6102 # ifdef FEAT_EVAL
     6103-           curbuf->b_visual_mode_eval = VIsual_mode;
     6104+               curbuf->b_visual_mode_eval = VIsual_mode;
     6105 # endif
     6106+           }
     6107 
     6108            /* In Select mode, a linewise selection is operated upon like a
     6109             * characterwise selection. */
     6110@@ -2504,7 +2507,8 @@
    52466111             * NOTE: Ignore right button down and drag mouse events.
    52476112             * Windows only shows the popup menu on the button up event.
     
    52536118                return FALSE;
    52546119 #endif
    5255 @@ -4126,7 +4127,7 @@
     6120@@ -4126,7 +4130,7 @@
    52566121     int                save_p_ws;
    52576122     int                save_p_scs;
     
    52626127     if ((pat = alloc(len + 7)) == NULL)
    52636128        return FAIL;
    5264 @@ -4146,7 +4147,7 @@
     6129@@ -4146,7 +4150,7 @@
    52656130      * With "gd" Search back for the start of the current function, then go
    52666131      * back until a blank line.  If this fails go to line 1.
     
    52736138diff -Naur vim70.orig/src/ops.c vim70/src/ops.c
    52746139--- vim70.orig/src/ops.c        2006-04-30 08:13:44.000000000 -0700
    5275 +++ vim70/src/ops.c     2006-08-09 08:33:53.000000000 -0700
    5276 @@ -2413,6 +2413,7 @@
     6140+++ vim70/src/ops.c     2006-10-13 01:03:09.000000000 -0700
     6141@@ -770,6 +770,7 @@
     6142 {
     6143     char_u     *expr_copy;
     6144     char_u     *rv;
     6145+    static int nested = 0;
     6146 
     6147     if (expr_line == NULL)
     6148        return NULL;
     6149@@ -780,7 +781,14 @@
     6150     if (expr_copy == NULL)
     6151        return NULL;
     6152 
     6153+    /* When we are invoked recursively limit the evaluation to 10 levels.
     6154+     * Then return the string as-is. */
     6155+    if (nested >= 10)
     6156+       return expr_copy;
     6157+
     6158+    ++nested;
     6159     rv = eval_to_string(expr_copy, NULL, TRUE);
     6160+    --nested;
     6161     vim_free(expr_copy);
     6162     return rv;
     6163 }
     6164@@ -2413,6 +2421,7 @@
    52776165        else
    52786166        {
     
    52826170            /* Works just like an 'i'nsert on the next character. */
    52836171            if (!lineempty(curwin->w_cursor.lnum)
    5284 @@ -3492,8 +3493,15 @@
     6172@@ -3492,8 +3501,15 @@
    52856173 # endif
    52866174        if (flags & PUT_CURSEND)
     
    53006188diff -Naur vim70.orig/src/option.c vim70/src/option.c
    53016189--- vim70.orig/src/option.c     2006-05-03 10:32:28.000000000 -0700
    5302 +++ vim70/src/option.c  2006-09-11 09:01:59.000000000 -0700
     6190+++ vim70/src/option.c  2006-10-13 01:02:56.000000000 -0700
    53036191@@ -2294,7 +2294,7 @@
    53046192                            {(char_u *)0L, (char_u *)0L}
     
    54076295diff -Naur vim70.orig/src/os_unix.c vim70/src/os_unix.c
    54086296--- vim70.orig/src/os_unix.c    2006-05-01 01:13:15.000000000 -0700
    5409 +++ vim70/src/os_unix.c 2006-09-11 08:23:16.000000000 -0700
     6297+++ vim70/src/os_unix.c 2006-10-13 01:02:52.000000000 -0700
    54106298@@ -3934,7 +3934,7 @@
    54116299                    {
     
    54496337                            }
    54506338                            else if (len > 0)
    5451 @@ -4971,7 +4971,8 @@
    5452                     if (((*file)[*num_file] = alloc(len + 2)) != NULL)
    5453                     {
    5454                         STRCPY((*file)[*num_file], p);
    5455 -                       if (!after_pathsep((*file)[*num_file] + len))
    5456 +                       if (!after_pathsep((*file)[*num_file],
    5457 +                                                   (*file)[*num_file] + len))
    5458                         {
    5459                             (*file)[*num_file][len] = psepc;
    5460                             (*file)[*num_file][len + 1] = NUL;
    5461 @@ -5757,8 +5758,13 @@
     6339@@ -5757,8 +5757,13 @@
    54626340     int                retval_int = 0;
    54636341     int                success = FALSE;
     
    54766354diff -Naur vim70.orig/src/popupmnu.c vim70/src/popupmnu.c
    54776355--- vim70.orig/src/popupmnu.c   2006-04-20 13:18:37.000000000 -0700
    5478 +++ vim70/src/popupmnu.c        2006-08-27 12:48:28.000000000 -0700
     6356+++ vim70/src/popupmnu.c        2006-10-13 01:02:50.000000000 -0700
    54796357@@ -552,6 +552,9 @@
    54806358 {
     
    54896367diff -Naur vim70.orig/src/proto/buffer.pro vim70/src/proto/buffer.pro
    54906368--- vim70.orig/src/proto/buffer.pro     2006-05-07 06:08:29.000000000 -0700
    5491 +++ vim70/src/proto/buffer.pro  2006-09-11 09:01:59.000000000 -0700
     6369+++ vim70/src/proto/buffer.pro  2006-10-13 01:02:56.000000000 -0700
    54926370@@ -10,6 +10,7 @@
    54936371 extern int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
     
    55006378diff -Naur vim70.orig/src/proto/menu.pro vim70/src/proto/menu.pro
    55016379--- vim70.orig/src/proto/menu.pro       2006-05-07 06:08:51.000000000 -0700
    5502 +++ vim70/src/proto/menu.pro    2006-08-19 16:40:11.000000000 -0700
     6380+++ vim70/src/proto/menu.pro    2006-10-13 01:02:50.000000000 -0700
    55036381@@ -10,6 +10,7 @@
    55046382 extern int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
     
    55096387 extern void gui_update_menus __ARGS((int modes));
    55106388 extern int gui_is_menu_shortcut __ARGS((int key));
     6389diff -Naur vim70.orig/src/proto/misc2.pro vim70/src/proto/misc2.pro
     6390--- vim70.orig/src/proto/misc2.pro      2006-05-07 06:08:54.000000000 -0700
     6391+++ vim70/src/proto/misc2.pro   2006-10-13 01:03:07.000000000 -0700
     6392@@ -29,6 +29,7 @@
     6393 extern char_u *vim_strnsave __ARGS((char_u *string, int len));
     6394 extern char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
     6395 extern char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
     6396+extern char_u *vim_strsave_shellescape __ARGS((char_u *string));
     6397 extern char_u *vim_strsave_up __ARGS((char_u *string));
     6398 extern char_u *vim_strnsave_up __ARGS((char_u *string, int len));
     6399 extern void vim_strup __ARGS((char_u *p));
    55116400diff -Naur vim70.orig/src/proto/undo.pro vim70/src/proto/undo.pro
    55126401--- vim70.orig/src/proto/undo.pro       2006-05-07 06:09:11.000000000 -0700
    5513 +++ vim70/src/proto/undo.pro    2006-07-14 10:51:11.000000000 -0700
     6402+++ vim70/src/proto/undo.pro    2006-10-13 01:02:47.000000000 -0700
    55146403@@ -4,6 +4,7 @@
    55156404 extern int u_savesub __ARGS((linenr_T lnum));
     
    55226411diff -Naur vim70.orig/src/quickfix.c vim70/src/quickfix.c
    55236412--- vim70.orig/src/quickfix.c   2006-05-03 00:47:42.000000000 -0700
    5524 +++ vim70/src/quickfix.c        2006-09-11 09:00:46.000000000 -0700
     6413+++ vim70/src/quickfix.c        2006-10-13 01:02:56.000000000 -0700
    55256414@@ -500,8 +500,6 @@
    55266415        {
     
    57436632diff -Naur vim70.orig/src/regexp.c vim70/src/regexp.c
    57446633--- vim70.orig/src/regexp.c     2006-04-30 08:31:50.000000000 -0700
    5745 +++ vim70/src/regexp.c  2006-09-11 08:23:16.000000000 -0700
     6634+++ vim70/src/regexp.c  2006-10-13 01:02:53.000000000 -0700
    57466635@@ -3912,7 +3912,7 @@
    57476636                {
     
    57766665diff -Naur vim70.orig/src/screen.c vim70/src/screen.c
    57776666--- vim70.orig/src/screen.c     2006-05-05 03:13:55.000000000 -0700
    5778 +++ vim70/src/screen.c  2006-09-18 08:57:17.000000000 -0700
     6667+++ vim70/src/screen.c  2006-10-13 01:03:09.000000000 -0700
    57796668@@ -1228,7 +1228,14 @@
    57806669        {
     
    58496738 # endif
    58506739                           )
    5851 @@ -7103,7 +7106,7 @@
     6740@@ -5076,15 +5079,38 @@
     6741             * character too.  If we didn't skip any blanks above, then we
     6742             * only redraw if the character wasn't already redrawn anyway.
     6743             */
     6744-           if (gui.in_use && (col > startCol || !redraw_this)
     6745-# ifdef FEAT_MBYTE
     6746-                   && enc_dbcs == 0
     6747-# endif
     6748-              )
     6749+           if (gui.in_use && (col > startCol || !redraw_this))
     6750            {
     6751                hl = ScreenAttrs[off_to];
     6752                if (hl > HL_ALL || (hl & HL_BOLD))
     6753-                   screen_char(off_to - 1, row, col + coloff - 1);
     6754+               {
     6755+                   int prev_cells = 1;
     6756+# ifdef FEAT_MBYTE
     6757+                   if (enc_utf8)
     6758+                       /* for utf-8, ScreenLines[char_offset + 1] == 0 means
     6759+                        * that its width is 2. */
     6760+                       prev_cells = ScreenLines[off_to - 1] == 0 ? 2 : 1;
     6761+                   else if (enc_dbcs != 0)
     6762+                   {
     6763+                       /* find previous character by counting from first
     6764+                        * column and get its width. */
     6765+                       unsigned off = LineOffset[row];
     6766+
     6767+                       while (off < off_to)
     6768+                       {
     6769+                           prev_cells = (*mb_off2cells)(off);
     6770+                           off += prev_cells;
     6771+                       }
     6772+                   }
     6773+
     6774+                   if (enc_dbcs != 0 && prev_cells > 1)
     6775+                       screen_char_2(off_to - prev_cells, row,
     6776+                                                  col + coloff - prev_cells);
     6777+                   else
     6778+# endif
     6779+                       screen_char(off_to - prev_cells, row,
     6780+                                                  col + coloff - prev_cells);
     6781+               }
     6782            }
     6783 #endif
     6784            screen_fill(row, row + 1, col + coloff, clear_width + coloff,
     6785@@ -7103,7 +7129,7 @@
    58526786     tabpage_T      *tp;
    58536787 #endif
     
    58586792     /*
    58596793      * Allocation of the screen buffers is done only when the size changes and
    5860 @@ -7133,6 +7136,12 @@
     6794@@ -7133,6 +7159,12 @@
    58616795        return;
    58626796     entered = TRUE;
     
    58716805 
    58726806     comp_col();                /* recompute columns for shown command and ruler */
    5873 @@ -7205,14 +7214,14 @@
     6807@@ -7205,14 +7237,14 @@
    58746808 #endif
    58756809            || outofmem)
     
    58886822        vim_free(new_ScreenLines);
    58896823        new_ScreenLines = NULL;
    5890 @@ -7240,7 +7249,7 @@
     6824@@ -7240,7 +7272,7 @@
    58916825     }
    58926826     else
     
    58976831        for (new_row = 0; new_row < Rows; ++new_row)
    58986832        {
    5899 @@ -7367,6 +7376,7 @@
     6833@@ -7367,6 +7399,7 @@
    59006834 #endif
    59016835 
     
    59076841diff -Naur vim70.orig/src/search.c vim70/src/search.c
    59086842--- vim70.orig/src/search.c     2006-05-05 05:12:13.000000000 -0700
    5909 +++ vim70/src/search.c  2006-09-11 08:23:39.000000000 -0700
     6843+++ vim70/src/search.c  2006-10-13 01:02:53.000000000 -0700
    59106844@@ -1259,7 +1259,7 @@
    59116845        /*
     
    59566890diff -Naur vim70.orig/src/spell.c vim70/src/spell.c
    59576891--- vim70.orig/src/spell.c      2006-05-05 00:49:58.000000000 -0700
    5958 +++ vim70/src/spell.c   2006-09-18 08:54:02.000000000 -0700
     6892+++ vim70/src/spell.c   2006-10-13 01:03:05.000000000 -0700
    59596893@@ -1483,7 +1483,7 @@
    59606894            else if ((mode == FIND_COMPOUND || mode == FIND_KEEPCOMPOUND
     
    62877221diff -Naur vim70.orig/src/structs.h vim70/src/structs.h
    62887222--- vim70.orig/src/structs.h    2006-04-09 10:57:46.000000000 -0700
    6289 +++ vim70/src/structs.h 2006-08-19 16:39:02.000000000 -0700
     7223+++ vim70/src/structs.h 2006-10-13 01:02:50.000000000 -0700
    62907224@@ -2213,18 +2213,20 @@
    62917225 
     
    63117245 } aco_save_T;
    63127246 
     7247diff -Naur vim70.orig/src/syntax.c vim70/src/syntax.c
     7248--- vim70.orig/src/syntax.c     2006-04-26 05:49:45.000000000 -0700
     7249+++ vim70/src/syntax.c  2006-10-13 01:03:08.000000000 -0700
     7250@@ -977,6 +977,7 @@
     7251 {
     7252     stateitem_T        *cur_si;
     7253     int                i;
     7254+    int                seen_keepend;
     7255 
     7256     if (startofline)
     7257     {
     7258@@ -1002,7 +1003,10 @@
     7259     /*
     7260      * Need to update the end of a start/skip/end that continues from the
     7261      * previous line.  And regions that have "keepend", because they may
     7262-     * influence contained items.
     7263+     * influence contained items.  If we've just removed "extend"
     7264+     * (startofline == 0) then we should update ends of normal regions
     7265+     * contained inside "keepend" because "extend" could have extended
     7266+     * these "keepend" regions as well as contained normal regions.
     7267      * Then check for items ending in column 0.
     7268      */
     7269     i = current_state.ga_len - 1;
     7270@@ -1010,10 +1014,13 @@
     7271        for ( ; i > keepend_level; --i)
     7272            if (CUR_STATE(i).si_flags & HL_EXTEND)
     7273                break;
     7274+
     7275+    seen_keepend = FALSE;
     7276     for ( ; i < current_state.ga_len; ++i)
     7277     {
     7278        cur_si = &CUR_STATE(i);
     7279        if ((cur_si->si_flags & HL_KEEPEND)
     7280+                           || (seen_keepend && !startofline)
     7281                            || (i == current_state.ga_len - 1 && startofline))
     7282        {
     7283            cur_si->si_h_startpos.col = 0;      /* start highl. in col 0 */
     7284@@ -1021,6 +1028,9 @@
     7285 
     7286            if (!(cur_si->si_flags & HL_MATCHCONT))
     7287                update_si_end(cur_si, (int)current_col, !startofline);
     7288+
     7289+           if (!startofline && (cur_si->si_flags & HL_KEEPEND))
     7290+               seen_keepend = TRUE;
     7291        }
     7292     }
     7293     check_keepend();
     7294@@ -2564,6 +2574,7 @@
     7295 {
     7296     int                i;
     7297     lpos_T     maxpos;
     7298+    lpos_T     maxpos_h;
     7299     stateitem_T        *sip;
     7300 
     7301     /*
     7302@@ -2583,23 +2594,30 @@
     7303            break;
     7304 
     7305     maxpos.lnum = 0;
     7306+    maxpos_h.lnum = 0;
     7307     for ( ; i < current_state.ga_len; ++i)
     7308     {
     7309        sip = &CUR_STATE(i);
     7310        if (maxpos.lnum != 0)
     7311        {
     7312            limit_pos_zero(&sip->si_m_endpos, &maxpos);
     7313-           limit_pos_zero(&sip->si_h_endpos, &maxpos);
     7314+           limit_pos_zero(&sip->si_h_endpos, &maxpos_h);
     7315            limit_pos_zero(&sip->si_eoe_pos, &maxpos);
     7316            sip->si_ends = TRUE;
     7317        }
     7318-       if (sip->si_ends
     7319-               && (sip->si_flags & HL_KEEPEND)
     7320-               && (maxpos.lnum == 0
     7321+       if (sip->si_ends && (sip->si_flags & HL_KEEPEND))
     7322+       {
     7323+           if (maxpos.lnum == 0
     7324                    || maxpos.lnum > sip->si_m_endpos.lnum
     7325                    || (maxpos.lnum == sip->si_m_endpos.lnum
     7326-                       && maxpos.col > sip->si_m_endpos.col)))
     7327-           maxpos = sip->si_m_endpos;
     7328+                       && maxpos.col > sip->si_m_endpos.col))
     7329+               maxpos = sip->si_m_endpos;
     7330+           if (maxpos_h.lnum == 0
     7331+                   || maxpos_h.lnum > sip->si_h_endpos.lnum
     7332+                   || (maxpos_h.lnum == sip->si_h_endpos.lnum
     7333+                       && maxpos_h.col > sip->si_h_endpos.col))
     7334+               maxpos_h = sip->si_h_endpos;
     7335+       }
     7336     }
     7337 }
     7338 
    63137339diff -Naur vim70.orig/src/tag.c vim70/src/tag.c
    63147340--- vim70.orig/src/tag.c        2006-04-27 06:11:21.000000000 -0700
    6315 +++ vim70/src/tag.c     2006-09-11 09:26:46.000000000 -0700
     7341+++ vim70/src/tag.c     2006-10-13 01:02:59.000000000 -0700
    63167342@@ -3787,6 +3787,7 @@
    63177343 {
     
    63467372diff -Naur vim70.orig/src/term.c vim70/src/term.c
    63477373--- vim70.orig/src/term.c       2006-05-03 10:34:57.000000000 -0700
    6348 +++ vim70/src/term.c    2006-08-19 16:40:11.000000000 -0700
     7374+++ vim70/src/term.c    2006-10-13 01:02:50.000000000 -0700
    63497375@@ -4783,6 +4783,14 @@
    63507376                return -1;
     
    63647390diff -Naur vim70.orig/src/testdir/test56.in vim70/src/testdir/test56.in
    63657391--- vim70.orig/src/testdir/test56.in    2005-05-18 08:37:37.000000000 -0700
    6366 +++ vim70/src/testdir/test56.in 2006-09-11 09:00:23.000000000 -0700
     7392+++ vim70/src/testdir/test56.in 2006-10-13 01:02:56.000000000 -0700
    63677393@@ -3,7 +3,7 @@
    63687394 STARTTEST
     
    63767402diff -Naur vim70.orig/src/ui.c vim70/src/ui.c
    63777403--- vim70.orig/src/ui.c 2006-03-27 11:15:09.000000000 -0800
    6378 +++ vim70/src/ui.c      2006-09-11 08:23:16.000000000 -0700
     7404+++ vim70/src/ui.c      2006-10-13 01:02:53.000000000 -0700
    63797405@@ -1137,7 +1137,6 @@
    63807406     int                len;
     
    63967422diff -Naur vim70.orig/src/undo.c vim70/src/undo.c
    63977423--- vim70.orig/src/undo.c       2006-04-21 02:30:59.000000000 -0700
    6398 +++ vim70/src/undo.c    2006-09-11 08:23:16.000000000 -0700
     7424+++ vim70/src/undo.c    2006-10-13 01:02:53.000000000 -0700
    63997425@@ -84,7 +84,6 @@
    64007426 static void u_unch_branch __ARGS((u_header_T *uhp));
     
    64617487diff -Naur vim70.orig/src/version.c vim70/src/version.c
    64627488--- vim70.orig/src/version.c    2006-05-03 00:50:42.000000000 -0700
    6463 +++ vim70/src/version.c 2006-09-18 08:57:51.000000000 -0700
    6464 @@ -667,6 +667,208 @@
     7489+++ vim70/src/version.c 2006-10-13 01:03:11.000000000 -0700
     7490@@ -667,6 +667,246 @@
    64657491 static int included_patches[] =
    64667492 {   /* Add new patch number below this line */
    64677493 /**/
     7494+    129,
     7495+/**/
     7496+    128,
     7497+/**/
     7498+    127,
     7499+/**/
     7500+    126,
     7501+/**/
     7502+    125,
     7503+/**/
     7504+    124,
     7505+/**/
     7506+    123,
     7507+/**/
     7508+    122,
     7509+/**/
     7510+    121,
     7511+/**/
     7512+    120,
     7513+/**/
     7514+    119,
     7515+/**/
     7516+    118,
     7517+/**/
     7518+    117,
     7519+/**/
     7520+    116,
     7521+/**/
     7522+    115,
     7523+/**/
     7524+    114,
     7525+/**/
     7526+    113,
     7527+/**/
     7528+    112,
     7529+/**/
     7530+    111,
     7531+/**/
     7532+    110,
     7533+/**/
    64687534+    109,
    64697535+/**/
     
    66157681+/**/
    66167682+    29,
    6617 +/**/
    6618 +    28,
    66197683+/**/
    66207684+    26,
     
    66717735 };
    66727736 
     7737@@ -731,7 +971,11 @@
     7738     /* Only MS VC 4.1 and earlier can do Win32s */
     7739     MSG_PUTS(_("\nMS-Windows 16/32 bit GUI version"));
     7740 #  else
     7741+#   ifdef _WIN64
     7742+    MSG_PUTS(_("\nMS-Windows 64 bit GUI version"));
     7743+#   else
     7744     MSG_PUTS(_("\nMS-Windows 32 bit GUI version"));
     7745+#   endif
     7746 #  endif
     7747     if (gui_is_win32s())
     7748        MSG_PUTS(_(" in Win32s mode"));
     7749diff -Naur vim70.orig/src/version.c~ vim70/src/version.c~
     7750--- vim70.orig/src/version.c~   1969-12-31 16:00:00.000000000 -0800
     7751+++ vim70/src/version.c~        2006-10-13 01:03:08.000000000 -0700
     7752@@ -0,0 +1,1450 @@
     7753+/* vi:set ts=8 sts=4 sw=4:
     7754+ *
     7755+ * VIM - Vi IMproved           by Bram Moolenaar
     7756+ *
     7757+ * Do ":help uganda"  in Vim to read copying and usage conditions.
     7758+ * Do ":help credits" in Vim to see a list of people who contributed.
     7759+ * See README.txt for an overview of the Vim source code.
     7760+ */
     7761+
     7762+#include "vim.h"
     7763+
     7764+#ifdef AMIGA
     7765+# include <time.h>     /* for time() */
     7766+#endif
     7767+
     7768+/*
     7769+ * Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred)
     7770+ * It has been changed beyond recognition since then.
     7771+ *
     7772+ * Differences between version 6.x and 7.x can be found with ":help version7".
     7773+ * Differences between version 5.x and 6.x can be found with ":help version6".
     7774+ * Differences between version 4.x and 5.x can be found with ":help version5".
     7775+ * Differences between version 3.0 and 4.x can be found with ":help version4".
     7776+ * All the remarks about older versions have been removed, they are not very
     7777+ * interesting.
     7778+ */
     7779+
     7780+#include "version.h"
     7781+
     7782+char           *Version = VIM_VERSION_SHORT;
     7783+static char    *mediumVersion = VIM_VERSION_MEDIUM;
     7784+
     7785+#if defined(HAVE_DATE_TIME) || defined(PROTO)
     7786+# if (defined(VMS) && defined(VAXC)) || defined(PROTO)
     7787+char   longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
     7788+                                                     + sizeof(__TIME__) + 3];
     7789+    void
     7790+make_version()
     7791+{
     7792+    /*
     7793+     * Construct the long version string.  Necessary because
     7794+     * VAX C can't catenate strings in the preprocessor.
     7795+     */
     7796+    strcpy(longVersion, VIM_VERSION_LONG_DATE);
     7797+    strcat(longVersion, __DATE__);
     7798+    strcat(longVersion, " ");
     7799+    strcat(longVersion, __TIME__);
     7800+    strcat(longVersion, ")");
     7801+}
     7802+# else
     7803+char   *longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
     7804+# endif
     7805+#else
     7806+char   *longVersion = VIM_VERSION_LONG;
     7807+#endif
     7808+
     7809+static void version_msg __ARGS((char *s));
     7810+
     7811+static char *(features[]) =
     7812+{
     7813+#ifdef AMIGA           /* only for Amiga systems */
     7814+# ifdef FEAT_ARP
     7815+       "+ARP",
     7816+# else
     7817+       "-ARP",
     7818+# endif
     7819+#endif
     7820+#ifdef FEAT_ARABIC
     7821+       "+arabic",
     7822+#else
     7823+       "-arabic",
     7824+#endif
     7825+#ifdef FEAT_AUTOCMD
     7826+       "+autocmd",
     7827+#else
     7828+       "-autocmd",
     7829+#endif
     7830+#ifdef FEAT_BEVAL
     7831+       "+balloon_eval",
     7832+#else
     7833+       "-balloon_eval",
     7834+#endif
     7835+#ifdef FEAT_BROWSE
     7836+       "+browse",
     7837+#else
     7838+       "-browse",
     7839+#endif
     7840+#ifdef NO_BUILTIN_TCAPS
     7841+       "-builtin_terms",
     7842+#endif
     7843+#ifdef SOME_BUILTIN_TCAPS
     7844+       "+builtin_terms",
     7845+#endif
     7846+#ifdef ALL_BUILTIN_TCAPS
     7847+       "++builtin_terms",
     7848+#endif
     7849+#ifdef FEAT_BYTEOFF
     7850+       "+byte_offset",
     7851+#else
     7852+       "-byte_offset",
     7853+#endif
     7854+#ifdef FEAT_CINDENT
     7855+       "+cindent",
     7856+#else
     7857+       "-cindent",
     7858+#endif
     7859+#ifdef FEAT_CLIENTSERVER
     7860+       "+clientserver",
     7861+#else
     7862+       "-clientserver",
     7863+#endif
     7864+#ifdef FEAT_CLIPBOARD
     7865+       "+clipboard",
     7866+#else
     7867+       "-clipboard",
     7868+#endif
     7869+#ifdef FEAT_CMDL_COMPL
     7870+       "+cmdline_compl",
     7871+#else
     7872+       "-cmdline_compl",
     7873+#endif
     7874+#ifdef FEAT_CMDHIST
     7875+       "+cmdline_hist",
     7876+#else
     7877+       "-cmdline_hist",
     7878+#endif
     7879+#ifdef FEAT_CMDL_INFO
     7880+       "+cmdline_info",
     7881+#else
     7882+       "-cmdline_info",
     7883+#endif
     7884+#ifdef FEAT_COMMENTS
     7885+       "+comments",
     7886+#else
     7887+       "-comments",
     7888+#endif
     7889+#ifdef FEAT_CRYPT
     7890+       "+cryptv",
     7891+#else
     7892+       "-cryptv",
     7893+#endif
     7894+#ifdef FEAT_CSCOPE
     7895+       "+cscope",
     7896+#else
     7897+       "-cscope",
     7898+#endif
     7899+#ifdef CURSOR_SHAPE
     7900+       "+cursorshape",
     7901+#else
     7902+       "-cursorshape",
     7903+#endif
     7904+#if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
     7905+       "+dialog_con_gui",
     7906+#else
     7907+# if defined(FEAT_CON_DIALOG)
     7908+       "+dialog_con",
     7909+# else
     7910+#  if defined(FEAT_GUI_DIALOG)
     7911+       "+dialog_gui",
     7912+#  else
     7913+       "-dialog",
     7914+#  endif
     7915+# endif
     7916+#endif
     7917+#ifdef FEAT_DIFF
     7918+       "+diff",
     7919+#else
     7920+       "-diff",
     7921+#endif
     7922+#ifdef FEAT_DIGRAPHS
     7923+       "+digraphs",
     7924+#else
     7925+       "-digraphs",
     7926+#endif
     7927+#ifdef FEAT_DND
     7928+       "+dnd",
     7929+#else
     7930+       "-dnd",
     7931+#endif
     7932+#ifdef EBCDIC
     7933+       "+ebcdic",
     7934+#else
     7935+       "-ebcdic",
     7936+#endif
     7937+#ifdef FEAT_EMACS_TAGS
     7938+       "+emacs_tags",
     7939+#else
     7940+       "-emacs_tags",
     7941+#endif
     7942+#ifdef FEAT_EVAL
     7943+       "+eval",
     7944+#else
     7945+       "-eval",
     7946+#endif
     7947+#ifdef FEAT_EX_EXTRA
     7948+       "+ex_extra",
     7949+#else
     7950+       "-ex_extra",
     7951+#endif
     7952+#ifdef FEAT_SEARCH_EXTRA
     7953+       "+extra_search",
     7954+#else
     7955+       "-extra_search",
     7956+#endif
     7957+#ifdef FEAT_FKMAP
     7958+       "+farsi",
     7959+#else
     7960+       "-farsi",
     7961+#endif
     7962+#ifdef FEAT_SEARCHPATH
     7963+       "+file_in_path",
     7964+#else
     7965+       "-file_in_path",
     7966+#endif
     7967+#ifdef FEAT_FIND_ID
     7968+       "+find_in_path",
     7969+#else
     7970+       "-find_in_path",
     7971+#endif
     7972+#ifdef FEAT_FOLDING
     7973+       "+folding",
     7974+#else
     7975+       "-folding",
     7976+#endif
     7977+#ifdef FEAT_FOOTER
     7978+       "+footer",
     7979+#else
     7980+       "-footer",
     7981+#endif
     7982+           /* only interesting on Unix systems */
     7983+#if !defined(USE_SYSTEM) && defined(UNIX)
     7984+       "+fork()",
     7985+#endif
     7986+#ifdef FEAT_GETTEXT
     7987+# ifdef DYNAMIC_GETTEXT
     7988+       "+gettext/dyn",
     7989+# else
     7990+       "+gettext",
     7991+# endif
     7992+#else
     7993+       "-gettext",
     7994+#endif
     7995+#ifdef FEAT_HANGULIN
     7996+       "+hangul_input",
     7997+#else
     7998+       "-hangul_input",
     7999+#endif
     8000+#if (defined(HAVE_ICONV_H) && defined(USE_ICONV)) || defined(DYNAMIC_ICONV)
     8001+# ifdef DYNAMIC_ICONV
     8002+       "+iconv/dyn",
     8003+# else
     8004+       "+iconv",
     8005+# endif
     8006+#else
     8007+       "-iconv",
     8008+#endif
     8009+#ifdef FEAT_INS_EXPAND
     8010+       "+insert_expand",
     8011+#else
     8012+       "-insert_expand",
     8013+#endif
     8014+#ifdef FEAT_JUMPLIST
     8015+       "+jumplist",
     8016+#else
     8017+       "-jumplist",
     8018+#endif
     8019+#ifdef FEAT_KEYMAP
     8020+       "+keymap",
     8021+#else
     8022+       "-keymap",
     8023+#endif
     8024+#ifdef FEAT_LANGMAP
     8025+       "+langmap",
     8026+#else
     8027+       "-langmap",
     8028+#endif
     8029+#ifdef FEAT_LIBCALL
     8030+       "+libcall",
     8031+#else
     8032+       "-libcall",
     8033+#endif
     8034+#ifdef FEAT_LINEBREAK
     8035+       "+linebreak",
     8036+#else
     8037+       "-linebreak",
     8038+#endif
     8039+#ifdef FEAT_LISP
     8040+       "+lispindent",
     8041+#else
     8042+       "-lispindent",
     8043+#endif
     8044+#ifdef FEAT_LISTCMDS
     8045+       "+listcmds",
     8046+#else
     8047+       "-listcmds",
     8048+#endif
     8049+#ifdef FEAT_LOCALMAP
     8050+       "+localmap",
     8051+#else
     8052+       "-localmap",
     8053+#endif
     8054+#ifdef FEAT_MENU
     8055+       "+menu",
     8056+#else
     8057+       "-menu",
     8058+#endif
     8059+#ifdef FEAT_SESSION
     8060+       "+mksession",
     8061+#else
     8062+       "-mksession",
     8063+#endif
     8064+#ifdef FEAT_MODIFY_FNAME
     8065+       "+modify_fname",
     8066+#else
     8067+       "-modify_fname",
     8068+#endif
     8069+#ifdef FEAT_MOUSE
     8070+       "+mouse",
     8071+#  ifdef FEAT_MOUSESHAPE
     8072+       "+mouseshape",
     8073+#  else
     8074+       "-mouseshape",
     8075+#  endif
     8076+# else
     8077+       "-mouse",
     8078+#endif
     8079+#if defined(UNIX) || defined(VMS)
     8080+# ifdef FEAT_MOUSE_DEC
     8081+       "+mouse_dec",
     8082+# else
     8083+       "-mouse_dec",
     8084+# endif
     8085+# ifdef FEAT_MOUSE_GPM
     8086+       "+mouse_gpm",
     8087+# else
     8088+       "-mouse_gpm",
     8089+# endif
     8090+# ifdef FEAT_MOUSE_JSB
     8091+       "+mouse_jsbterm",
     8092+# else
     8093+       "-mouse_jsbterm",
     8094+# endif
     8095+# ifdef FEAT_MOUSE_NET
     8096+       "+mouse_netterm",
     8097+# else
     8098+       "-mouse_netterm",
     8099+# endif
     8100+# ifdef FEAT_MOUSE_XTERM
     8101+       "+mouse_xterm",
     8102+# else
     8103+       "-mouse_xterm",
     8104+# endif
     8105+#endif
     8106+#ifdef __QNX__
     8107+# ifdef FEAT_MOUSE_PTERM
     8108+       "+mouse_pterm",
     8109+# else
     8110+       "-mouse_pterm",
     8111+# endif
     8112+#endif
     8113+#ifdef FEAT_MBYTE_IME
     8114+# ifdef DYNAMIC_IME
     8115+       "+multi_byte_ime/dyn",
     8116+# else
     8117+       "+multi_byte_ime",
     8118+# endif
     8119+#else
     8120+# ifdef FEAT_MBYTE
     8121+       "+multi_byte",
     8122+# else
     8123+       "-multi_byte",
     8124+# endif
     8125+#endif
     8126+#ifdef FEAT_MULTI_LANG
     8127+       "+multi_lang",
     8128+#else
     8129+       "-multi_lang",
     8130+#endif
     8131+#ifdef FEAT_MZSCHEME
     8132+# ifdef DYNAMIC_MZSCHEME
     8133+       "+mzscheme/dyn",
     8134+# else
     8135+       "+mzscheme",
     8136+# endif
     8137+#else
     8138+       "-mzscheme",
     8139+#endif
     8140+#ifdef FEAT_NETBEANS_INTG
     8141+       "+netbeans_intg",
     8142+#else
     8143+       "-netbeans_intg",
     8144+#endif
     8145+#ifdef FEAT_GUI_W32
     8146+# ifdef FEAT_OLE
     8147+       "+ole",
     8148+# else
     8149+       "-ole",
     8150+# endif
     8151+#endif
     8152+#ifdef FEAT_OSFILETYPE
     8153+       "+osfiletype",
     8154+#else
     8155+       "-osfiletype",
     8156+#endif
     8157+#ifdef FEAT_PATH_EXTRA
     8158+       "+path_extra",
     8159+#else
     8160+       "-path_extra",
     8161+#endif
     8162+#ifdef FEAT_PERL
     8163+# ifdef DYNAMIC_PERL
     8164+       "+perl/dyn",
     8165+# else
     8166+       "+perl",
     8167+# endif
     8168+#else
     8169+       "-perl",
     8170+#endif
     8171+#ifdef FEAT_PRINTER
     8172+# ifdef FEAT_POSTSCRIPT
     8173+       "+postscript",
     8174+# else
     8175+       "-postscript",
     8176+# endif
     8177+       "+printer",
     8178+#else
     8179+       "-printer",
     8180+#endif
     8181+#ifdef FEAT_PROFILE
     8182+       "+profile",
     8183+#else
     8184+       "-profile",
     8185+#endif
     8186+#ifdef FEAT_PYTHON
     8187+# ifdef DYNAMIC_PYTHON
     8188+       "+python/dyn",
     8189+# else
     8190+       "+python",
     8191+# endif
     8192+#else
     8193+       "-python",
     8194+#endif
     8195+#ifdef FEAT_QUICKFIX
     8196+       "+quickfix",
     8197+#else
     8198+       "-quickfix",
     8199+#endif
     8200+#ifdef FEAT_RELTIME
     8201+       "+reltime",
     8202+#else
     8203+       "-reltime",
     8204+#endif
     8205+#ifdef FEAT_RIGHTLEFT
     8206+       "+rightleft",
     8207+#else
     8208+       "-rightleft",
     8209+#endif
     8210+#ifdef FEAT_RUBY
     8211+# ifdef DYNAMIC_RUBY
     8212+       "+ruby/dyn",
     8213+# else
     8214+       "+ruby",
     8215+# endif
     8216+#else
     8217+       "-ruby",
     8218+#endif
     8219+#ifdef FEAT_SCROLLBIND
     8220+       "+scrollbind",
     8221+#else
     8222+       "-scrollbind",
     8223+#endif
     8224+#ifdef FEAT_SIGNS
     8225+       "+signs",
     8226+#else
     8227+       "-signs",
     8228+#endif
     8229+#ifdef FEAT_SMARTINDENT
     8230+       "+smartindent",
     8231+#else
     8232+       "-smartindent",
     8233+#endif
     8234+#ifdef FEAT_SNIFF
     8235+       "+sniff",
     8236+#else
     8237+       "-sniff",
     8238+#endif
     8239+#ifdef FEAT_STL_OPT
     8240+       "+statusline",
     8241+#else
     8242+       "-statusline",
     8243+#endif
     8244+#ifdef FEAT_SUN_WORKSHOP
     8245+       "+sun_workshop",
     8246+#else
     8247+       "-sun_workshop",
     8248+#endif
     8249+#ifdef FEAT_SYN_HL
     8250+       "+syntax",
     8251+#else
     8252+       "-syntax",
     8253+#endif
     8254+           /* only interesting on Unix systems */
     8255+#if defined(USE_SYSTEM) && (defined(UNIX) || defined(__EMX__))
     8256+       "+system()",
     8257+#endif
     8258+#ifdef FEAT_TAG_BINS
     8259+       "+tag_binary",
     8260+#else
     8261+       "-tag_binary",
     8262+#endif
     8263+#ifdef FEAT_TAG_OLDSTATIC
     8264+       "+tag_old_static",
     8265+#else
     8266+       "-tag_old_static",
     8267+#endif
     8268+#ifdef FEAT_TAG_ANYWHITE
     8269+       "+tag_any_white",
     8270+#else
     8271+       "-tag_any_white",
     8272+#endif
     8273+#ifdef FEAT_TCL
     8274+# ifdef DYNAMIC_TCL
     8275+       "+tcl/dyn",
     8276+# else
     8277+       "+tcl",
     8278+# endif
     8279+#else
     8280+       "-tcl",
     8281+#endif
     8282+#if defined(UNIX) || defined(__EMX__)
     8283+/* only Unix (or OS/2 with EMX!) can have terminfo instead of termcap */
     8284+# ifdef TERMINFO
     8285+       "+terminfo",
     8286+# else
     8287+       "-terminfo",
     8288+# endif
     8289+#else              /* unix always includes termcap support */
     8290+# ifdef HAVE_TGETENT
     8291+       "+tgetent",
     8292+# else
     8293+       "-tgetent",
     8294+# endif
     8295+#endif
     8296+#ifdef FEAT_TERMRESPONSE
     8297+       "+termresponse",
     8298+#else
     8299+       "-termresponse",
     8300+#endif
     8301+#ifdef FEAT_TEXTOBJ
     8302+       "+textobjects",
     8303+#else
     8304+       "-textobjects",
     8305+#endif
     8306+#ifdef FEAT_TITLE
     8307+       "+title",
     8308+#else
     8309+       "-title",
     8310+#endif
     8311+#ifdef FEAT_TOOLBAR
     8312+       "+toolbar",
     8313+#else
     8314+       "-toolbar",
     8315+#endif
     8316+#ifdef FEAT_USR_CMDS
     8317+       "+user_commands",
     8318+#else
     8319+       "-user_commands",
     8320+#endif
     8321+#ifdef FEAT_VERTSPLIT
     8322+       "+vertsplit",
     8323+#else
     8324+       "-vertsplit",
     8325+#endif
     8326+#ifdef FEAT_VIRTUALEDIT
     8327+       "+virtualedit",
     8328+#else
     8329+       "-virtualedit",
     8330+#endif
     8331+#ifdef FEAT_VISUAL
     8332+       "+visual",
     8333+# ifdef FEAT_VISUALEXTRA
     8334+       "+visualextra",
     8335+# else
     8336+       "-visualextra",
     8337+# endif
     8338+#else
     8339+       "-visual",
     8340+#endif
     8341+#ifdef FEAT_VIMINFO
     8342+       "+viminfo",
     8343+#else
     8344+       "-viminfo",
     8345+#endif
     8346+#ifdef FEAT_VREPLACE
     8347+       "+vreplace",
     8348+#else
     8349+       "-vreplace",
     8350+#endif
     8351+#ifdef FEAT_WILDIGN
     8352+       "+wildignore",
     8353+#else
     8354+       "-wildignore",
     8355+#endif
     8356+#ifdef FEAT_WILDMENU
     8357+       "+wildmenu",
     8358+#else
     8359+       "-wildmenu",
     8360+#endif
     8361+#ifdef FEAT_WINDOWS
     8362+       "+windows",
     8363+#else
     8364+       "-windows",
     8365+#endif
     8366+#ifdef FEAT_WRITEBACKUP
     8367+       "+writebackup",
     8368+#else
     8369+       "-writebackup",
     8370+#endif
     8371+#if defined(UNIX) || defined(VMS)
     8372+# ifdef FEAT_X11
     8373+       "+X11",
     8374+# else
     8375+       "-X11",
     8376+# endif
     8377+#endif
     8378+#ifdef FEAT_XFONTSET
     8379+       "+xfontset",
     8380+#else
     8381+       "-xfontset",
     8382+#endif
     8383+#ifdef FEAT_XIM
     8384+       "+xim",
     8385+#else
     8386+       "-xim",
     8387+#endif
     8388+#if defined(UNIX) || defined(VMS)
     8389+# ifdef USE_XSMP_INTERACT
     8390+       "+xsmp_interact",
     8391+# else
     8392+#  ifdef USE_XSMP
     8393+       "+xsmp",
     8394+#  else
     8395+       "-xsmp",
     8396+#  endif
     8397+# endif
     8398+# ifdef FEAT_XCLIPBOARD
     8399+       "+xterm_clipboard",
     8400+# else
     8401+       "-xterm_clipboard",
     8402+# endif
     8403+#endif
     8404+#ifdef FEAT_XTERM_SAVE
     8405+       "+xterm_save",
     8406+#else
     8407+       "-xterm_save",
     8408+#endif
     8409+#ifdef WIN3264
     8410+# ifdef FEAT_XPM_W32
     8411+       "+xpm_w32",
     8412+# else
     8413+       "-xpm_w32",
     8414+# endif
     8415+#endif
     8416+       NULL
     8417+};
     8418+
     8419+static int included_patches[] =
     8420+{   /* Add new patch number below this line */
     8421+/**/
     8422+    115,
     8423+/**/
     8424+    114,
     8425+/**/
     8426+    113,
     8427+/**/
     8428+    112,
     8429+/**/
     8430+    111,
     8431+/**/
     8432+    110,
     8433+/**/
     8434+    109,
     8435+/**/
     8436+    107,
     8437+/**/
     8438+    106,
     8439+/**/
     8440+    105,
     8441+/**/
     8442+    104,
     8443+/**/
     8444+    103,
     8445+/**/
     8446+    102,
     8447+/**/
     8448+    101,
     8449+/**/
     8450+    100,
     8451+/**/
     8452+    99,
     8453+/**/
     8454+    98,
     8455+/**/
     8456+    97,
     8457+/**/
     8458+    96,
     8459+/**/
     8460+    95,
     8461+/**/
     8462+    94,
     8463+/**/
     8464+    93,
     8465+/**/
     8466+    92,
     8467+/**/
     8468+    91,
     8469+/**/
     8470+    90,
     8471+/**/
     8472+    89,
     8473+/**/
     8474+    88,
     8475+/**/
     8476+    87,
     8477+/**/
     8478+    86,
     8479+/**/
     8480+    85,
     8481+/**/
     8482+    84,
     8483+/**/
     8484+    83,
     8485+/**/
     8486+    82,
     8487+/**/
     8488+    81,
     8489+/**/
     8490+    80,
     8491+/**/
     8492+    79,
     8493+/**/
     8494+    78,
     8495+/**/
     8496+    77,
     8497+/**/
     8498+    76,
     8499+/**/
     8500+    75,
     8501+/**/
     8502+    73,
     8503+/**/
     8504+    72,
     8505+/**/
     8506+    71,
     8507+/**/
     8508+    70,
     8509+/**/
     8510+    69,
     8511+/**/
     8512+    68,
     8513+/**/
     8514+    67,
     8515+/**/
     8516+    66,
     8517+/**/
     8518+    64,
     8519+/**/
     8520+    63,
     8521+/**/
     8522+    62,
     8523+/**/
     8524+    61,
     8525+/**/
     8526+    60,
     8527+/**/
     8528+    59,
     8529+/**/
     8530+    58,
     8531+/**/
     8532+    56,
     8533+/**/
     8534+    55,
     8535+/**/
     8536+    54,
     8537+/**/
     8538+    53,
     8539+/**/
     8540+    52,
     8541+/**/
     8542+    51,
     8543+/**/
     8544+    50,
     8545+/**/
     8546+    49,
     8547+/**/
     8548+    48,
     8549+/**/
     8550+    47,
     8551+/**/
     8552+    46,
     8553+/**/
     8554+    44,
     8555+/**/
     8556+    43,
     8557+/**/
     8558+    42,
     8559+/**/
     8560+    41,
     8561+/**/
     8562+    40,
     8563+/**/
     8564+    39,
     8565+/**/
     8566+    38,
     8567+/**/
     8568+    37,
     8569+/**/
     8570+    36,
     8571+/**/
     8572+    35,
     8573+/**/
     8574+    34,
     8575+/**/
     8576+    33,
     8577+/**/
     8578+    31,
     8579+/**/
     8580+    30,
     8581+/**/
     8582+    29,
     8583+/**/
     8584+    26,
     8585+/**/
     8586+    25,
     8587+/**/
     8588+    24,
     8589+/**/
     8590+    23,
     8591+/**/
     8592+    22,
     8593+/**/
     8594+    21,
     8595+/**/
     8596+    20,
     8597+/**/
     8598+    19,
     8599+/**/
     8600+    18,
     8601+/**/
     8602+    17,
     8603+/**/
     8604+    16,
     8605+/**/
     8606+    15,
     8607+/**/
     8608+    14,
     8609+/**/
     8610+    13,
     8611+/**/
     8612+    12,
     8613+/**/
     8614+    11,
     8615+/**/
     8616+    10,
     8617+/**/
     8618+    9,
     8619+/**/
     8620+    8,
     8621+/**/
     8622+    7,
     8623+/**/
     8624+    6,
     8625+/**/
     8626+    4,
     8627+/**/
     8628+    3,
     8629+/**/
     8630+    2,
     8631+/**/
     8632+    1,
     8633+/**/
     8634+    0
     8635+};
     8636+
     8637+    int
     8638+highest_patch()
     8639+{
     8640+    int                i;
     8641+    int                h = 0;
     8642+
     8643+    for (i = 0; included_patches[i] != 0; ++i)
     8644+       if (included_patches[i] > h)
     8645+           h = included_patches[i];
     8646+    return h;
     8647+}
     8648+
     8649+#if defined(FEAT_EVAL) || defined(PROTO)
     8650+/*
     8651+ * Return TRUE if patch "n" has been included.
     8652+ */
     8653+    int
     8654+has_patch(n)
     8655+    int                n;
     8656+{
     8657+    int                i;
     8658+
     8659+    for (i = 0; included_patches[i] != 0; ++i)
     8660+       if (included_patches[i] == n)
     8661+           return TRUE;
     8662+    return FALSE;
     8663+}
     8664+#endif
     8665+
     8666+    void
     8667+ex_version(eap)
     8668+    exarg_T    *eap;
     8669+{
     8670+    /*
     8671+     * Ignore a ":version 9.99" command.
     8672+     */
     8673+    if (*eap->arg == NUL)
     8674+    {
     8675+       msg_putchar('\n');
     8676+       list_version();
     8677+    }
     8678+}
     8679+
     8680+    void
     8681+list_version()
     8682+{
     8683+    int                i;
     8684+    int                first;
     8685+    char       *s = "";
     8686+
     8687+    /*
     8688+     * When adding features here, don't forget to update the list of
     8689+     * internal variables in eval.c!
     8690+     */
     8691+    MSG(longVersion);
     8692+#ifdef WIN3264
     8693+# ifdef FEAT_GUI_W32
     8694+#  if defined(_MSC_VER) && (_MSC_VER <= 1010)
     8695+    /* Only MS VC 4.1 and earlier can do Win32s */
     8696+    MSG_PUTS(_("\nMS-Windows 16/32 bit GUI version"));
     8697+#  else
     8698+    MSG_PUTS(_("\nMS-Windows 32 bit GUI version"));
     8699+#  endif
     8700+    if (gui_is_win32s())
     8701+       MSG_PUTS(_(" in Win32s mode"));
     8702+# ifdef FEAT_OLE
     8703+    MSG_PUTS(_(" with OLE support"));
     8704+# endif
     8705+# else
     8706+    MSG_PUTS(_("\nMS-Windows 32 bit console version"));
     8707+# endif
     8708+#endif
     8709+#ifdef WIN16
     8710+    MSG_PUTS(_("\nMS-Windows 16 bit version"));
     8711+#endif
     8712+#ifdef MSDOS
     8713+# ifdef DJGPP
     8714+    MSG_PUTS(_("\n32 bit MS-DOS version"));
     8715+# else
     8716+    MSG_PUTS(_("\n16 bit MS-DOS version"));
     8717+# endif
     8718+#endif
     8719+#ifdef MACOS
     8720+# ifdef MACOS_X
     8721+#  ifdef MACOS_X_UNIX
     8722+    MSG_PUTS(_("\nMacOS X (unix) version"));
     8723+#  else
     8724+    MSG_PUTS(_("\nMacOS X version"));
     8725+#  endif
     8726+#else
     8727+    MSG_PUTS(_("\nMacOS version"));
     8728+# endif
     8729+#endif
     8730+
     8731+#ifdef RISCOS
     8732+    MSG_PUTS(_("\nRISC OS version"));
     8733+#endif
     8734+#ifdef VMS
     8735+    MSG_PUTS("\nOpenVMS version");
     8736+#endif
     8737+
     8738+    /* Print the list of patch numbers if there is at least one. */
     8739+    /* Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45" */
     8740+    if (included_patches[0] != 0)
     8741+    {
     8742+       MSG_PUTS(_("\nIncluded patches: "));
     8743+       first = -1;
     8744+       /* find last one */
     8745+       for (i = 0; included_patches[i] != 0; ++i)
     8746+           ;
     8747+       while (--i >= 0)
     8748+       {
     8749+           if (first < 0)
     8750+               first = included_patches[i];
     8751+           if (i == 0 || included_patches[i - 1] != included_patches[i] + 1)
     8752+           {
     8753+               MSG_PUTS(s);
     8754+               s = ", ";
     8755+               msg_outnum((long)first);
     8756+               if (first != included_patches[i])
     8757+               {
     8758+                   MSG_PUTS("-");
     8759+                   msg_outnum((long)included_patches[i]);
     8760+               }
     8761+               first = -1;
     8762+           }
     8763+       }
     8764+    }
     8765+
     8766+#ifdef MODIFIED_BY
     8767+    MSG_PUTS("\n");
     8768+    MSG_PUTS(_("Modified by "));
     8769+    MSG_PUTS(MODIFIED_BY);
     8770+#endif
     8771+
     8772+#ifdef HAVE_PATHDEF
     8773+    if (*compiled_user != NUL || *compiled_sys != NUL)
     8774+    {
     8775+       MSG_PUTS(_("\nCompiled "));
     8776+       if (*compiled_user != NUL)
     8777+       {
     8778+           MSG_PUTS(_("by "));
     8779+           MSG_PUTS(compiled_user);
     8780+       }
     8781+       if (*compiled_sys != NUL)
     8782+       {
     8783+           MSG_PUTS("@");
     8784+           MSG_PUTS(compiled_sys);
     8785+       }
     8786+    }
     8787+#endif
     8788+
     8789+#ifdef FEAT_HUGE
     8790+    MSG_PUTS(_("\nHuge version "));
     8791+#else
     8792+# ifdef FEAT_BIG
     8793+    MSG_PUTS(_("\nBig version "));
     8794+# else
     8795+#  ifdef FEAT_NORMAL
     8796+    MSG_PUTS(_("\nNormal version "));
     8797+#  else
     8798+#   ifdef FEAT_SMALL
     8799+    MSG_PUTS(_("\nSmall version "));
     8800+#   else
     8801+    MSG_PUTS(_("\nTiny version "));
     8802+#   endif
     8803+#  endif
     8804+# endif
     8805+#endif
     8806+#ifndef FEAT_GUI
     8807+    MSG_PUTS(_("without GUI."));
     8808+#else
     8809+# ifdef FEAT_GUI_GTK
     8810+#  ifdef FEAT_GUI_GNOME
     8811+#   ifdef HAVE_GTK2
     8812+    MSG_PUTS(_("with GTK2-GNOME GUI."));
     8813+#   else
     8814+    MSG_PUTS(_("with GTK-GNOME GUI."));
     8815+#   endif
     8816+#  else
     8817+#   ifdef HAVE_GTK2
     8818+    MSG_PUTS(_("with GTK2 GUI."));
     8819+#   else
     8820+    MSG_PUTS(_("with GTK GUI."));
     8821+#   endif
     8822+#  endif
     8823+# else
     8824+#  ifdef FEAT_GUI_MOTIF
     8825+    MSG_PUTS(_("with X11-Motif GUI."));
     8826+#  else
     8827+#   ifdef FEAT_GUI_ATHENA
     8828+#    ifdef FEAT_GUI_NEXTAW
     8829+    MSG_PUTS(_("with X11-neXtaw GUI."));
     8830+#    else
     8831+    MSG_PUTS(_("with X11-Athena GUI."));
     8832+#    endif
     8833+#   else
     8834+#     ifdef FEAT_GUI_PHOTON
     8835+    MSG_PUTS(_("with Photon GUI."));
     8836+#     else
     8837+#      if defined(MSWIN)
     8838+    MSG_PUTS(_("with GUI."));
     8839+#      else
     8840+#      if defined (TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON
     8841+    MSG_PUTS(_("with Carbon GUI."));
     8842+#      else
     8843+#       if defined (TARGET_API_MAC_OSX) && TARGET_API_MAC_OSX
     8844+    MSG_PUTS(_("with Cocoa GUI."));
     8845+#       else
     8846+#        if defined (MACOS)
     8847+    MSG_PUTS(_("with (classic) GUI."));
     8848+#        endif
     8849+#       endif
     8850+#      endif
     8851+#      endif
     8852+#    endif
     8853+#   endif
     8854+#  endif
     8855+# endif
     8856+#endif
     8857+    version_msg(_("  Features included (+) or not (-):\n"));
     8858+
     8859+    /* print all the features */
     8860+    for (i = 0; features[i] != NULL; ++i)
     8861+    {
     8862+       version_msg(features[i]);
     8863+       if (msg_col > 0)
     8864+           version_msg(" ");
     8865+    }
     8866+
     8867+    version_msg("\n");
     8868+#ifdef SYS_VIMRC_FILE
     8869+    version_msg(_("   system vimrc file: \""));
     8870+    version_msg(SYS_VIMRC_FILE);
     8871+    version_msg("\"\n");
     8872+#endif
     8873+#ifdef USR_VIMRC_FILE
     8874+    version_msg(_("     user vimrc file: \""));
     8875+    version_msg(USR_VIMRC_FILE);
     8876+    version_msg("\"\n");
     8877+#endif
     8878+#ifdef USR_VIMRC_FILE2
     8879+    version_msg(_(" 2nd user vimrc file: \""));
     8880+    version_msg(USR_VIMRC_FILE2);
     8881+    version_msg("\"\n");
     8882+#endif
     8883+#ifdef USR_VIMRC_FILE3
     8884+    version_msg(_(" 3rd user vimrc file: \""));
     8885+    version_msg(USR_VIMRC_FILE3);
     8886+    version_msg("\"\n");
     8887+#endif
     8888+#ifdef USR_EXRC_FILE
     8889+    version_msg(_("      user exrc file: \""));
     8890+    version_msg(USR_EXRC_FILE);
     8891+    version_msg("\"\n");
     8892+#endif
     8893+#ifdef USR_EXRC_FILE2
     8894+    version_msg(_("  2nd user exrc file: \""));
     8895+    version_msg(USR_EXRC_FILE2);
     8896+    version_msg("\"\n");
     8897+#endif
     8898+#ifdef FEAT_GUI
     8899+# ifdef SYS_GVIMRC_FILE
     8900+    version_msg(_("  system gvimrc file: \""));
     8901+    version_msg(SYS_GVIMRC_FILE);
     8902+    version_msg("\"\n");
     8903+# endif
     8904+    version_msg(_("    user gvimrc file: \""));
     8905+    version_msg(USR_GVIMRC_FILE);
     8906+    version_msg("\"\n");
     8907+# ifdef USR_GVIMRC_FILE2
     8908+    version_msg(_("2nd user gvimrc file: \""));
     8909+    version_msg(USR_GVIMRC_FILE2);
     8910+    version_msg("\"\n");
     8911+# endif
     8912+# ifdef USR_GVIMRC_FILE3
     8913+    version_msg(_("3rd user gvimrc file: \""));
     8914+    version_msg(USR_GVIMRC_FILE3);
     8915+    version_msg("\"\n");
     8916+# endif
     8917+#endif
     8918+#ifdef FEAT_GUI
     8919+# ifdef SYS_MENU_FILE
     8920+    version_msg(_("    system menu file: \""));
     8921+    version_msg(SYS_MENU_FILE);
     8922+    version_msg("\"\n");
     8923+# endif
     8924+#endif
     8925+#ifdef HAVE_PATHDEF
     8926+    if (*default_vim_dir != NUL)
     8927+    {
     8928+       version_msg(_("  fall-back for $VIM: \""));
     8929+       version_msg((char *)default_vim_dir);
     8930+       version_msg("\"\n");
     8931+    }
     8932+    if (*default_vimruntime_dir != NUL)
     8933+    {
     8934+       version_msg(_(" f-b for $VIMRUNTIME: \""));
     8935+       version_msg((char *)default_vimruntime_dir);
     8936+       version_msg("\"\n");
     8937+    }
     8938+    version_msg(_("Compilation: "));
     8939+    version_msg((char *)all_cflags);
     8940+    version_msg("\n");
     8941+#ifdef VMS
     8942+    if (*compiler_version != NUL)
     8943+    {
     8944+       version_msg(_("Compiler: "));
     8945+       version_msg((char *)compiler_version);
     8946+       version_msg("\n");
     8947+    }
     8948+#endif
     8949+    version_msg(_("Linking: "));
     8950+    version_msg((char *)all_lflags);
     8951+#endif
     8952+#ifdef DEBUG
     8953+    version_msg("\n");
     8954+    version_msg(_("  DEBUG BUILD"));
     8955+#endif
     8956+}
     8957+
     8958+/*
     8959+ * Output a string for the version message.  If it's going to wrap, output a
     8960+ * newline, unless the message is too long to fit on the screen anyway.
     8961+ */
     8962+    static void
     8963+version_msg(s)
     8964+    char       *s;
     8965+{
     8966+    int                len = (int)STRLEN(s);
     8967+
     8968+    if (!got_int && len < (int)Columns && msg_col + len >= (int)Columns
     8969+                                                               && *s != '\n')
     8970+       msg_putchar('\n');
     8971+    if (!got_int)
     8972+       MSG_PUTS(s);
     8973+}
     8974+
     8975+static void do_intro_line __ARGS((int row, char_u *mesg, int add_version, int attr));
     8976+
     8977+/*
     8978+ * Give an introductory message about Vim.
     8979+ * Only used when starting Vim on an empty file, without a file name.
     8980+ * Or with the ":intro" command (for Sven :-).
     8981+ */
     8982+    void
     8983+intro_message(colon)
     8984+    int                colon;          /* TRUE for ":intro" */
     8985+{
     8986+    int                i;
     8987+    int                row;
     8988+    int                blanklines;
     8989+    int                sponsor;
     8990+    char       *p;
     8991+    static char        *(lines[]) =
     8992+    {
     8993+       N_("VIM - Vi IMproved"),
     8994+       "",
     8995+       N_("version "),
     8996+       N_("by Bram Moolenaar et al."),
     8997+#ifdef MODIFIED_BY
     8998+       " ",
     8999+#endif
     9000+       N_("Vim is open source and freely distributable"),
     9001+       "",
     9002+       N_("Help poor children in Uganda!"),
     9003+       N_("type  :help iccf<Enter>       for information "),
     9004+       "",
     9005+       N_("type  :q<Enter>               to exit         "),
     9006+       N_("type  :help<Enter>  or  <F1>  for on-line help"),
     9007+       N_("type  :help version7<Enter>   for version info"),
     9008+       NULL,
     9009+       "",
     9010+       N_("Running in Vi compatible mode"),
     9011+       N_("type  :set nocp<Enter>        for Vim defaults"),
     9012+       N_("type  :help cp-default<Enter> for info on this"),
     9013+    };
     9014+#ifdef FEAT_GUI
     9015+    static char        *(gui_lines[]) =
     9016+    {
     9017+       NULL,
     9018+       NULL,
     9019+       NULL,
     9020+       NULL,
     9021+#ifdef MODIFIED_BY
     9022+       NULL,
     9023+#endif
     9024+       NULL,
     9025+       NULL,
     9026+       NULL,
     9027+       N_("menu  Help->Orphans           for information    "),
     9028+       NULL,
     9029+       N_("Running modeless, typed text is inserted"),
     9030+       N_("menu  Edit->Global Settings->Toggle Insert Mode  "),
     9031+       N_("                              for two modes      "),
     9032+       NULL,
     9033+       NULL,
     9034+       NULL,
     9035+       N_("menu  Edit->Global Settings->Toggle Vi Compatible"),
     9036+       N_("                              for Vim defaults   "),
     9037+    };
     9038+#endif
     9039+
     9040+    /* blanklines = screen height - # message lines */
     9041+    blanklines = (int)Rows - ((sizeof(lines) / sizeof(char *)) - 1);
     9042+    if (!p_cp)
     9043+       blanklines += 4;  /* add 4 for not showing "Vi compatible" message */
     9044+#if defined(WIN3264) && !defined(FEAT_GUI_W32)
     9045+    if (mch_windows95())
     9046+       blanklines -= 3;  /* subtract 3 for showing "Windows 95" message */
     9047+#endif
     9048+
     9049+#ifdef FEAT_WINDOWS
     9050+    /* Don't overwrite a statusline.  Depends on 'cmdheight'. */
     9051+    if (p_ls > 1)
     9052+       blanklines -= Rows - topframe->fr_height;
     9053+#endif
     9054+    if (blanklines < 0)
     9055+       blanklines = 0;
     9056+
     9057+    /* Show the sponsor and register message one out of four times, the Uganda
     9058+     * message two out of four times. */
     9059+    sponsor = (int)time(NULL);
     9060+    sponsor = ((sponsor & 2) == 0) - ((sponsor & 4) == 0);
     9061+
     9062+    /* start displaying the message lines after half of the blank lines */
     9063+    row = blanklines / 2;
     9064+    if ((row >= 2 && Columns >= 50) || colon)
     9065+    {
     9066+       for (i = 0; i < (int)(sizeof(lines) / sizeof(char *)); ++i)
     9067+       {
     9068+           p = lines[i];
     9069+#ifdef FEAT_GUI
     9070+           if (p_im && gui.in_use && gui_lines[i] != NULL)
     9071+               p = gui_lines[i];
     9072+#endif
     9073+           if (p == NULL)
     9074+           {
     9075+               if (!p_cp)
     9076+                   break;
     9077+               continue;
     9078+           }
     9079+           if (sponsor != 0)
     9080+           {
     9081+               if (strstr(p, "children") != NULL)
     9082+                   p = sponsor < 0
     9083+                       ? N_("Sponsor Vim development!")
     9084+                       : N_("Become a registered Vim user!");
     9085+               else if (strstr(p, "iccf") != NULL)
     9086+                   p = sponsor < 0
     9087+                       ? N_("type  :help sponsor<Enter>    for information ")
     9088+                       : N_("type  :help register<Enter>   for information ");
     9089+               else if (strstr(p, "Orphans") != NULL)
     9090+                   p = N_("menu  Help->Sponsor/Register  for information    ");
     9091+           }
     9092+           if (*p != NUL)
     9093+               do_intro_line(row, (char_u *)_(p), i == 2, 0);
     9094+           ++row;
     9095+       }
     9096+#if defined(WIN3264) && !defined(FEAT_GUI_W32)
     9097+       if (mch_windows95())
     9098+       {
     9099+           do_intro_line(++row,
     9100+                   (char_u *)_("WARNING: Windows 95/98/ME detected"),
     9101+                                                       FALSE, hl_attr(HLF_E));
     9102+           do_intro_line(++row,
     9103+               (char_u *)_("type  :help windows95<Enter>  for info on this"),
     9104+                                                                   FALSE, 0);
     9105+       }
     9106+#endif
     9107+    }
     9108+
     9109+    /* Make the wait-return message appear just below the text. */
     9110+    if (colon)
     9111+       msg_row = row;
     9112+}
     9113+
     9114+    static void
     9115+do_intro_line(row, mesg, add_version, attr)
     9116+    int                row;
     9117+    char_u     *mesg;
     9118+    int                add_version;
     9119+    int                attr;
     9120+{
     9121+    char_u     vers[20];
     9122+    int                col;
     9123+    char_u     *p;
     9124+    int                l;
     9125+    int                clen;
     9126+#ifdef MODIFIED_BY
     9127+# define MODBY_LEN 150
     9128+    char_u     modby[MODBY_LEN];
     9129+
     9130+    if (*mesg == ' ')
     9131+    {
     9132+       vim_strncpy(modby, _("Modified by "), MODBY_LEN - 1);
     9133+       l = STRLEN(modby);
     9134+       vim_strncpy(modby + l, MODIFIED_BY, MODBY_LEN - l - 1);
     9135+       mesg = modby;
     9136+    }
     9137+#endif
     9138+
     9139+    /* Center the message horizontally. */
     9140+    col = vim_strsize(mesg);
     9141+    if (add_version)
     9142+    {
     9143+       STRCPY(vers, mediumVersion);
     9144+       if (highest_patch())
     9145+       {
     9146+           /* Check for 9.9x or 9.9xx, alpha/beta version */
     9147+           if (isalpha((int)mediumVersion[3]))
     9148+           {
     9149+               if (isalpha((int)mediumVersion[4]))
     9150+                   sprintf((char *)vers + 5, ".%d%s", highest_patch(),
     9151+                                                          mediumVersion + 5);
     9152+               else
     9153+                   sprintf((char *)vers + 4, ".%d%s", highest_patch(),
     9154+                                                          mediumVersion + 4);
     9155+           }
     9156+           else
     9157+               sprintf((char *)vers + 3, ".%d", highest_patch());
     9158+       }
     9159+       col += (int)STRLEN(vers);
     9160+    }
     9161+    col = (Columns - col) / 2;
     9162+    if (col < 0)
     9163+       col = 0;
     9164+
     9165+    /* Split up in parts to highlight <> items differently. */
     9166+    for (p = mesg; *p != NUL; p += l)
     9167+    {
     9168+       clen = 0;
     9169+       for (l = 0; p[l] != NUL
     9170+                        && (l == 0 || (p[l] != '<' && p[l - 1] != '>')); ++l)
     9171+       {
     9172+#ifdef FEAT_MBYTE
     9173+           if (has_mbyte)
     9174+           {
     9175+               clen += ptr2cells(p + l);
     9176+               l += (*mb_ptr2len)(p + l) - 1;
     9177+           }
     9178+           else
     9179+#endif
     9180+               clen += byte2cells(p[l]);
     9181+       }
     9182+       screen_puts_len(p, l, row, col, *p == '<' ? hl_attr(HLF_8) : attr);
     9183+       col += clen;
     9184+    }
     9185+
     9186+    /* Add the version number to the version line. */
     9187+    if (add_version)
     9188+       screen_puts(vers, row, col, 0);
     9189+}
     9190+
     9191+/*
     9192+ * ":intro": clear screen, display intro screen and wait for return.
     9193+ */
     9194+/*ARGSUSED*/
     9195+    void
     9196+ex_intro(eap)
     9197+    exarg_T    *eap;
     9198+{
     9199+    screenclear();
     9200+    intro_message(TRUE);
     9201+    wait_return(TRUE);
     9202+}
    66739203diff -Naur vim70.orig/src/vim.h vim70/src/vim.h
    66749204--- vim70.orig/src/vim.h        2006-04-30 08:32:38.000000000 -0700
    6675 +++ vim70/src/vim.h     2006-09-11 08:24:09.000000000 -0700
     9205+++ vim70/src/vim.h     2006-10-13 01:02:53.000000000 -0700
    66769206@@ -585,7 +585,6 @@
    66779207 #define INSERT         0x10    /* Insert mode */
     
    67009230     EVENT_INSERTENTER,         /* when entering Insert mode */
    67019231     EVENT_INSERTLEAVE,         /* when leaving Insert mode */
    6702 @@ -1983,7 +1986,7 @@
    6703  /* values for vim_handle_signal() that are not a signal */
    6704  #define SIGNAL_BLOCK   -1
    6705  #define SIGNAL_UNBLOCK  -2
    6706 -#if !defined(UNIX) && !defined(VMS)
    6707 +#if !defined(UNIX) && !defined(VMS) && !defined(OS2)
    6708  # define vim_handle_signal(x) 0
    6709  #endif
    6710  
    67119232diff -Naur vim70.orig/src/window.c vim70/src/window.c
    67129233--- vim70.orig/src/window.c     2006-05-06 03:54:51.000000000 -0700
    6713 +++ vim70/src/window.c  2006-09-11 09:01:59.000000000 -0700
     9234+++ vim70/src/window.c  2006-10-13 01:02:56.000000000 -0700
    67149235@@ -340,10 +340,10 @@
    67159236                {
     
    67419262 #endif /* FEAT_WINDOWS */
    67429263
     9264       
     9265
Note: See TracChangeset for help on using the changeset viewer.