==============================================================================
=  B o n v e n o n  al  la  I n s t r u i l o  de  V I M  -  Versio 1.7.eo.3 =
==============================================================================

   Vim estas tre potenca redaktilo, kiu havas multajn komandojn, tro da ili
   por ĉion klarigi en instruilo kiel ĉi tiu. Ĉi tiu instruilo estas
   fasonita por priskribi sufiĉajn komandojn, por ke vi kapablu uzi Vim
   kun sufiĉa facileco.

   La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
   de kiom da tempo estas uzata por eksperimenti.

   ATENTU:
   La komandoj en la lecionoj ŝanĝos la tekston. Kopiu tiun ĉi dosieron
   por ekzerci vin (se vi lanĉis "vimtutor", tiam estas jam kopio).

   Gravas memori, ke ĉi tiu instruilo estas organizata por instrui per
   la uzo. Tio signifas, ke vi devas plenumi la komandojn por bone lerni
   ilin. Se vi nur legas la tekston, vi forgesos la komandojn!

   Nun, certigu, ke la majuskla baskulo NE estas en reĝimo majuskla,
   kaj premu la klavon  j  sufiĉe da fojoj por movi la kursoron, kaj por
   ke la leciono 1.1 plenigu la ekranon.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Leciono 1.1:  MOVI LA KURSORON


  ** Por movi la kursoron, premu la h,j,k,l klavojn kiel montrite. **
         ^
         k        Konsilo: La klavo h estas la plej liva kaj movas liven.
   < h       l >           La klavo l estas la plej dekstra kaj movas dekstren.
         j                 La klavo j aspektas kiel malsuprena sago.
         v
  1. Movu la kursoron sur la ekrano ĝis kiam vi sentas vin komforta.

  2. Premu la klavon (j) ĝis kiam ĝi ripetas.
     Vi nun scias, kiel moviĝi al la sekvanta leciono

  3. Uzante la malsuprenan klavon, moviĝu al la leciono 1.2.

RIMARKO: Se vi dubas pri tio, kion vi premis, premu <ESK> por reiri al
         la normala reĝimo. Tiam repremu la deziratan komandon.

RIMARKO: La klavoj de la kursoro devus ankaŭ funkcii. Sed uzante hjkl,
         vi kapablos moviĝi pli rapide post kiam vi kutimiĝos.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                           Leciono 1.2:  ELIRI EL VIM


  !! RIMARKO: Antaŭ ol plenumi iujn subajn paŝojn ajn, legu la tutan lecionon!!

  1. Premu la klavon <ESK> (por certigi, ke vi estas en normala reĝimo).

  2. Tajpu:       :q! <Enenklavo>.
     Tio eliras el la rekdaktilo, SEN konservi la ŝanĝojn, kiujn vi faris.

  3. Kiam vi vidas la ŝelinviton, tajpu la komandon kiun vi uzis por eniri
     en ĉi tiu instruilo. Tio estus:   vimtutor <Enenklavo>

  4. Se vi memoris tiujn paŝojn kaj sentas vin memfida, plenumu la paŝojn
     1 ĝis 3 por eliri kaj reeniri la redaktilon.

RIMARKO: :q! <Enenklavo> eliras sen konservi la ŝanĝojn, kiujn vi faris.
         Post kelkaj lecionoj, vi lernos kiel konservi la ŝanĝojn al dosiero.

  5. Movu la kursoron suben ĝis la leciono 1.3.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Leciono 1.3:  REDAKTO DE TEKSTO - FORVIŜO


             ** Premu  x  por forviŝi la signon sub la kursoro. **

  1. Movu la kursoron al la suba linio markita per --->.

  2. Por korekti la erarojn, movu la kursoron ĝis kiam ĝi estas sur la
     forviŝenda signo.

  3. Premu la klavon  x  por forviŝi la nedeziratan signon.

  4. Ripetu paŝojn 2 ĝis 4 ĝis kiam la frazo estas ĝusta.


---> La boovinno saaltiss ssur laa luuno.

  5. Post kiam la linio estas ĝusta, iru al la leciono 1.4

RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 1.4:  REDAKTO DE TEKSTO - ENMETO


                      ** Premu  i  por enmeti tekston. **

  1. Movu la kursoron al la unua suba linio markita per --->.

  2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
     signon post kie la teksto estas enmetenda.

  3. Premu  i  kaj tajpu la bezonatajn aldonojn.

  4. Premu <ESK> kiam la eraroj estas korektitaj por reiri al la normala
     reĝimo. Ripetu la paŝojn 2 ĝis 4 por korekti la frazon.

---> Mank en ĉi linio.
---> Mankas tekston en ĉi tiu linio.

  5. Kiam vi sentas vin komforta pri enmeto de teksto, moviĝu al la
     leciono 1.5.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  Leciono 1.5:  REDAKTO DE TEKSTO - POSTALDONO


                    ** Premu  A  por postaldoni tekston. **

  1. Movu la kursoron al la unua suba linio markita per --->.
     Ne gravas sur kiu signo estas la kursoro.

  2. Premu majusklan  A  kaj tajpu la bezonatajn aldonojn.

  3. Post kiam la teksto estas aldonita, premu <ESK> por reiri al la normala
     reĝimo.

  4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la
     paŝojn 2 kaj 3 por korekti la frazon.

---> Mankas teksto el ti
     Mankas teksto el tiu linio.
---> Mankas ankaŭ teks
     Mankas ankaŭ teksto ĉi tie.

  5 Kiam vi sentas vin komforta pri postaldono de teksto, moviĝu al la
    leciono 1.6


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Leciono 1.6:  REDAKTI DOSIERON

                ** Uzu  :wq  por konservi dosieron kaj eliri. **

  !! RIMARKO: Antaŭ ol plenumi iun suban paŝon ajn, legu la tutan lecionon!!

  1. Eliru el la instruilo kiel vi faris en la leciono 1.2:  :q!
     Aŭ, se vi havas atingon al alia terminalo, faru tion, kio sekvas tie.

  2. Ĉe la ŝelinvito, tajpu ĉi tiun komandon:  vim tutor <Enenklavo>
     'vim' estas la komando por lanĉi la redaktilon Vim, 'tutor' estas la
     dosiernomo de la dosiero, kiun vi volas redakti.  Uzu dosieron, kiu
     ŝanĝeblas.

  3. Enmetu kaj forviŝu tekston, kiel vi lernis en la antaŭaj lecionoj.

  4. Konservu la dosieron kun ŝanĝoj kaj eliru el Vim per:  :wq  <Enenklavo>

  5. Se vi eliris la instruilon vimtutor en paŝo 1, restartu la intruilon
     vimtutor kaj moviĝu suben al la sekvanta resumo.

  6. Post kiam vi legis la suprajn paŝojn, kaj komprenis ilin: faru ilin.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 1 RESUMO


  1. La kursoro moviĝas aŭ per la sagoklavoj, aŭ per la klavoj hjkl.
        h (liven)     j (suben)      k (supren)     l (dekstren)

  2. Por lanĉi Vim el la ŝelinvito, tajpu:  vim DOSIERNOMO <Enenklavo>

  3. Por eliri el Vim, tajpu:  <ESK>  :q! <Enenklavo>  por rezigni la ŝanĝojn

  4. Por forviŝi la signojn ĉe la pozicio de la kursoro, tajpu:  x

  5. Por enmeti aŭ postaldoni tekston, tajpu:
          i  tajpu enmetendan tekston        <ESK>
             enmetas tekston antaŭ la kursoro

          A  tajpu la postaldonendan tekston <ESK>
             postaldonas post la kursoro

RIMARKO: Premo de <ESK> iras al la normala reĝimo, aŭ rezignas la
         nedeziratan aŭ parte plenumita komando.

Nun daŭrigu al la leciono 2.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Leciono 2.1: KOMANDOJ DE FORVIŜO


                      ** Tajpu  dw  por forviŝi vorton. **

  1. Premu  <ESK>  por certigi, ke vi estas en normala reĝimo.

  2. Movu la kursoron al la linio markita per --->.

  3. Movu la kursoron al la komenco de vorto, kiu forviŝendas.

  4. Tajpu   dw   por forviŝi la vorton.

  RIMARKO: La litero  d  aperos en la lasta linio sur la ekrano kiam vi
           tajpas ĝin. Vim atendas ĝis kiam vi tajpas  w .  Se vi vidas
           alian signon ol  d  vi tajpis ion mise; premu  <ESK>  kaj
           rekomencu.

---> Estas iuj vortoj kiuj Zamenhof ne devus esti akuzativo en ĉi tiu frazo.

  5. Ripetu paŝojn 3 kaj 4 ĝis kiam la frazo estas ĝusta kaj moviĝu al la
     leciono 2.2.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Leciono 2.2: PLIAJ KOMANDOJ DE FORVIŜO


               ** Tajpu  d$  por forviŝi la finon de la linio. **

  1. Premu  <ESK>  por certigi, ke vi estas en normala reĝimo.

  2. Movu la kursoron sur la suban linion markita per --->.

  3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unua . ).

  4. Tajpu   d$   por forivŝi ĝis la fino de la linio.

---> Iu tajpis la finon de ĉi tiu linio dufoje. fino de ĉi tiu linio dufoje.


  5. Moviĝu al la leciono 2.3 por kompreni kio okazas.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Leciono 2.3: PRI OPERATOROJ KAJ MOVOJ


  Multaj komandoj, kiuj ŝanĝas la tekston, estas faritaj de operatoro kaj
  movo. La formato de komando de forviŝo per la operatoro de forviŝo  d
  estas kiel sekvas:

       d   movo

  Kie:
    d      - estas la operatoro de movo
    movo   - estas tio, pri kio la operatoro operacios (listigita sube)

  Mallonga listo de movoj:
    w - ĝis la komenco de la sekvanta vorto, krom ĝia unua signo.
    e - ĝis la fino de la nuna vorto, krom la lasta signo.
    $ - ĝis la fino de la linio, krom la lasta signo.

  Do tajpo de   'de'   forviŝos ekde la kursoro ĝis la fino de la vorto.

RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos
         la kursoron kiel specifite.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Leciono 2.4: UZI NOMBRON POR MOVO

             ** Tajpo de nombro antaŭ movo ripetas ĝin laŭfoje. **

  1. Movu la kursoron ĉe la komenco de la suba linio markita per --->.

  2. Tajpu  2w  por movi la kursoron je du vortoj antaŭen.

  3. Tajpu  3e  por movi la kursoron ĉe la fino de la tria vorto antaŭen.

  4. Tajpu  0  (nul) por moviĝi ĉe la komenco de la linio.


  5. Ripetu paŝojn 2 ĝis 3 kun malsamaj nombroj.

---> Tio estas nur linio kun vortoj, kie vi povas moviĝi.

  6. Moviĝu al la leciono 2.5.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 2.5: UZI NOMBRON POR FORVIŜI PLI


            ** Tajpo de nombro kun operatoro ripetas ĝin laŭfoje. **

  En la kombinaĵo de la operatoro de forviŝo, kaj movo kiel menciita
  ĉi-supre, eblas aldoni nombron antaŭ la movo por pli forviŝi:
        d  nombro   movo

  1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->.

  2. Tajpu  d2w  por forviŝi la du MAJUSKLAJN vortojn

  3. Ripetu paŝojn 1 ĝis 2 per malsama nombro por forviŝi la sinsekvajn
     MAJUSKLAJN vortojn per unu komando

---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 2.6: OPERACII SUR LINIOJ


                   ** Tajpu  dd  por forviŝi tutan linion. **

  Pro la ofteco de forviŝo de tuta linio, la verkisto de Vi decidis, ke
  estus pli facile simple tajpi du d-ojn  por forviŝi linion.

  1. Movu la kursoron sur la duan linion en la suba frazo.
  2. Tajpu  dd  por forviŝi la linion.
  3. Nun moviĝu al la kvara linio.
  4. Tajpu   2dd   por forviŝi du liniojn.

---> 1)  Rozoj estas ruĝaj,
---> 2)  Ŝlimo estas amuza,
---> 3)  Violoj estas bluaj,
---> 4)  Mi havas aŭton,
---> 5)  Horloĝoj diras kioma horo estas,
---> 6)  Sukero estas dolĉa,
---> 7)  Kaj tiel vi estas.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Leciono 2.7: LA KOMANDO DE MALFARO


 ** Premu u por malfari la lastajn komandojn, U por ripari la tutan linion. **

  1. Movu la kursoron ĉe la suba linio markita per ---> kaj metu ĝin sur
     la unuan eraron.
  2. Tajpu  x  por forviŝi la unuan nedeziratan signon.
  3. Nun tajpu  u  por malfari la lastan plenumitan komandon.
  4. Ĉi-foje, riparu ĉiujn erarojn en la linio kaj ĝia originala stato.
  5. Nun tajpu majusklan  U  por igi la linion al ĝia antaŭa stato.
  6. Nun tajpu  u  kelkfoje por malfari la  U  kaj antaŭajn komandojn.
  7. Nun tajpu CTRL-R (premante la CTRL klavon dum vi premas R) kelkfoje
     por refari la komandojn (malfari la malfarojn).

---> Koorektii la erarojn sur tiuu ĉi liniio kaj remettu illlin per malfaro.

  8. Tiuj estas tre utilaj komandoj.  Nun moviĝu al la leciono 2 RESUMO.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 2 RESUMO


  1. Por forviŝi ekde la kursoro ĝis la sekvanta vorto, tajpu:    dw
  2. Por forviŝi ekde la kursoro ĝis la fino de la linio, tajpu:  d$
  3. Por forviŝi tutan linion, tajpu:                             dd

  4. Por ripeti movon, antaŭmetu nombron:                         2w
  5. La formato de ŝanĝa komando estas:
           operatoro   [nombro]   movo

     kie:
       operatoro - estas tio, kio farendas, kiel  d  por forviŝi
       [nombro]  - estas opcia nombro por ripeti la movon
       movo      - movas sur la teksto por operacii, kiel ekzemple  w (vorto),
                   $ (ĝis fino de linio), ktp.

  6. Por moviĝi al la komenco de la linio, uzu nul:  0

  7. Por malfari antaŭajn agojn, tajpu:               u (minuskla u)
     Por malfari ĉiujn ŝanĝojn sur la linio, tajpu:   U (majuskla U)
     Por refari la malfarojn, tajpu:                  CTRL-R


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Leciono 3.1 LA KOMANDO DE METO


    ** Tajpu  p  por meti tekston forviŝitan antaŭe post la kursoro. **

  1. Movu la kursoron ĉe la unua ---> suba linio.

  2. Tajpu  dd  por forviŝi la linion kaj konservi ĝin ene de reĝistro de Vim.

  3. Movu la kursoron ĉe la linio c), SUPER kie la forviŝita linio devus esti.

  4. Tajpu  p  por meti la linion sub la kursoron.

  5. Ripetu la paŝojn 2 ĝis 4 por meti ĉiujn liniojn en la ĝusta ordo.

---> d) Ĉu ankaŭ vi povas lerni?
---> b) Violoj estas bluaj,
---> c) Inteligenteco lerneblas,
---> a) Rozoj estas ruĝaj,


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Leciono 3.2 LA KOMANDO DE ANSTATAŬIGO


       ** Tajpu  rx  por anstataŭigi la signon ĉe la kursoro per  x . **


  1. Movu la kursoron ĉe la unua suba linio markita per --->.

  2. Movu la kursoron ĝis la unua eraro.

  3. Tajpu  r  kaj la signon, kiu devus esti tie.

  4. Ripetu paŝojn 2 kaj 3 ĝis kiam la unua linio egalas la duan.

---> Kiem tiu lanio estis tajpita, iu pramis la naĝuftajn klovojn!
---> Kiam tiu linio estis tajpita, iu premis la neĝustajn klavojn!

  5. Nun moviĝu al la leciono 3.3.

RIMARKO: Memoru, ke vi devus lerni per uzo, kaj ne per memorado.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Leciono 3.3 LA OPERATORO DE ŜANĜO


              ** Por ŝanĝi ĝis la fino de la vorto, tajpu  ce . **

  1. Movu la kursoron ĉe la unua suba linio markita per --->.

  2. Metu la kursoron sur la  d  en  lduzw

  3. Tajpu  ce  kaj la ĝustan vorton (en tiu ĉi kazo, tajpu inio ).

  4. Premu <ESK> kaj moviĝu al la sekvanta signo, kiu bezonas ŝanĝon.

  5. Ripetu la paŝojn 3 kaj 4 ĝis kiam la unua frazo egalas la duan.

---> Tiu lduzw havas kelkajn vortojn, kiii bezas ŝanĝon per la ŝanĝooto.
---> Tiu linio havas kelkajn vortojn, kiuj bezonas ŝanĝon per la ŝanĝoperatoro.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Leciono 3.4 PLIAJ ŜANĜOJ PER c


       ** La operatoro de ŝanĝo uzeblas kun la sama movo kiel forviŝo. **

  1. La operatoro de ŝanĝo funkcias sammaniere kiel forviŝo. La formato estas:

       c    [nombro]   movo

  2. La movoj estas samaj, kiel ekzemple   w (vorto) kaj $ (fino de linio).

  3. Moviĝu ĉe la unua suba linio markita per --->.

  4. Movu la kursoron al la unua eraro.

  5. Tajpu  c$  kaj tajpu la reston de la linio kiel la dua kaj premu <ESK>.

---> La fino de ĉi tiu linio bezonas helpon por igi ĝin same kiel la dua.
---> La fino de ĉi tiu linio bezonas korektojn per uzo de la komando  c$

RIMARKO:  Vi povas uzi la klavon Retropaŝo por korekti erarojn dum vi tajpas.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 3 RESUMO


  1. Por remeti tekston, kiun vi ĵus forviŝis, tajpu  p. Tio metas la
     forviŝitan tekston POST la kursoro (se linio estis forviŝita, ĝi
     iros en la linion sub la kursoro).

  2. Por anstataŭigi la signon sub la kursoro, tajpu  r  kaj tiam la signon
     kion vi deziras havi tie.

  3. La operatoro de ŝanĝo ebligas al vi ŝanĝi ekde la kursoro, ĝis kie
     la movo iras.  Ekz. tajpu  ce  por ŝanĝi ekde la kursoro ĝis la fino
     de la vorto,  c$  por ŝanĝi ĝis la fino de la linio.

  4. La formato de ŝanĝo estas:

         c    [nombro]   movo

Nun daŭrigu al la sekvanta leciono.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              Leciono 4.1: POZICIO DE KURSORO KAJ STATO DE DOSIERO


  ** Tajpu CTRL-G por montri vian pozicion en la dosiero kaj la dosierstaton.
     Tajpu  G  por moviĝi al linio en la dosiero. **

  RIMARKO: Legu la tutan lecionon antaŭ ol plenumi iun paŝon ajn!!

  1. Premu la klavon Ctrl kaj premu  g . Oni nomas tion CTRL-G.
     Mesaĝo aperos ĉe la suba parto de la paĝo kun la dosiernomo kaj la
     pozicio en la dosiero. Memoru la numeron de la linio por paŝo 3.

  RIMARKO: Vi eble vidas la pozicion de la kursoro ĉe la suba dekstra
           angulo de la ekrano. Tio okazas kiam la agordo 'ruler' estas
           ŝaltita (vidu  :help 'ruler')

  2. Premu  G  por moviĝi ĉe la subo de la dosiero.
     Tajpu gg  por moviĝi ĉe la komenco de la dosiero.

  3. Tajpu la numeron de la linio kie vi estis kaj poste G .  Tio removos
     vin al la linio, kie vi estis kiam vi unue premis CTRL-G.

  4. Se vi sentas vin komforta, plenumu paŝojn 1 ĝis 3.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Leciono 4.2 LA KOMANDO DE SERĈO


             ** Tajpu  /  kaj poste frazon por serĉi la frazon. **

  1. En normala reĝimo, tajpu la  /  signon.  Rimarku, ke ĝi kaj la kursoro
     aperas ĉe la suba parto de la ekrano kiel por la  :  komando.

  2. Nun tajpu 'errarro' <Enenklavo>.
     Tio estas la vorto, kion vi volas serĉi.

  3. Por serĉi la saman frazon denove, simple tajpu  n .
     Por serĉi la saman frazon denove en la retrodirekto, tajpu  N .

  4. Por serĉi frazon en la retrodirekto, uzu  ?  anstataŭ  / .

  5. Por reiri tien, el kie vi venis, premu  CTRL-O (Premu Ctrl kaj o
     literon o).  Ripetu por pli retroiri.  CTRL-I iras antaŭen.

---> "errarro" ne estas maniero por literumi eraro; errarro estas eraro.

RIMARKO: Kiam la serĉo atingas la finon de la dosiero, ĝi daŭras ĉe la
         komenco, krom se la agordo 'wrapscan' estas malŝaltita.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Leciono 4.3 SERĈO DE KONGRUAJ KRAMPOJ


                 ** Tajpu  %  por trovi kongruan ), ] aŭ  } **

  1. Poziciu la kursoron sur iun (, [ aŭ { en la linio markita per --->.

  2. Nun tajpu la  %  signon.

  3. La kursoro moviĝas al la kongrua krampo.

  4. Tajpu  %  por movi la kursoron al la alia kongrua krampo.

  5. Movu la kursoron al la alia (, ), [, ], {, } kaj observu tion,
     kion  %  faras.

---> Ĉi tiu ( estas testa linio kun (-oj, [-oj, ]-oj kaj {-oj, }-oj en ĝi. ))


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Leciono 4.4 LA KOMANDO DE ANSTATAŭIGO


     ** Tajpu  :s/malnova/nova/g  por anstataŭigi 'nova' per 'malnova'. **

  1. Movu la kursoron al la suba linio markita per --->.

  2. Tajpu  :s/laa/la <Enenklavo> .  Rimarku, ke la komando ŝanĝas nur la
     unuan okazaĵon de "laa" en la linio.

  3. Nun tajpu  :s/laa/la/g .  Aldono de  g  opcio signifas mallokan
     anstataŭigon en la linio. Ĝi ŝanĝas ĉiujn okazaĵojn de "laa" en la
     linio.

---> laa plej bona tempo por vidi florojn estas en laa printempo.

  4. Por ŝanĝi ĉiujn okazaĵojn de iu ĉena signo inter du linioj,
     tajpu    :#,#s/malnova/nova/g   kie #,# estas la numeroj de linioj de la
                                     intervalo de la linioj kie la anstataŭigo
                                     okazos.
     Tajpu    :%s/malnova/nova/g     por ŝanĝi ĉiujn okazaĵojn en la tuta
                                     dosiero.
     Tajpu    :s/malnova/nova/gc     por trovi ĉiujn okazaĵojn en la tuta
                                     dosiero, kun invitilo ĉu anstataŭigi
                                     aŭ ne.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 4 RESUMO

  1. CTRL-G  vidigas vian pozicion en la dosiero kaj la staton de la dosiero.
            G  movas la kursoron al la fino de la dosiero.
     numero G  movas la kursoron al numero de tiu linio.
           gg  movas la kursoron al la unua linio.

  2. Tajpo de  /  kaj frazon serĉas la frazon antaŭen.
     Tajpo de  ?  kaj frazon serĉas la frazon malantaŭen.
     Post serĉo, tajpu n por trovi la sekvantan okazaĵon en la sama direkto aŭ
     N por serĉi en la mala direkto.
     CTRL-O movas vin al la antaŭaj pozicioj, CTRL-I al la novaj pozicioj.

  3. Tajpo de  %  kiam la kursoro estas sur (,),[,],{ aŭ } moviĝas al ĝia
     kongruo.

  4. Por anstataŭigi 'nova' en la unua 'malnova' en linio :s/malnova/nova
     Por anstataŭigi 'nova' en ĉiuj 'malnova'-oj en linio :s/malnova/nova/g
     Por anstataŭigi frazon inter du #-aj linioj          :#,#s/malnova/nova/g
     Por anstataŭigi ĉiujn okazaĵojn en la dosiero        :%s/malnova/nova/g
     Por demandi konfirmon ĉiu-foje, aldonu 'c'           :%s/malnova/nova/gc


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Leciono 5.1 KIEL PLENUMI EKSTERAN KOMANDON


     ** Tajpu  :!  sekvata de ekstera komando por plenumi la komandon. **

  1. Tajpu la konatan komandon  :  por pozicii la kursoron ĉe la suba parto
     de la ekrano. Tio ebligas tajpadon de komando en komanda linio.

  2. Nun tajpu la  !  (krisigno) signon. Tio ebligas al vi plenumi iun
     eksteran ŝelan komandon ajn.

  3. Ekzemple, tajpu  ls  post ! kaj tajpu <Enenklavo>. Tio listigos la
     enhavon de la dosierujo, same kiel se vi estis en ŝela invito.
     Aŭ uzu  :!dir  se ls ne funkcias.

RIMARKO: Eblas plenumi iun eksteran komandon ajn tiamaniere, ankaŭ kun
         argumentoj.

RIMARKO: Ĉiuj  :  komandoj devas finiĝi per tajpo de <Enenklavo>
         Ekde nun, ni ne plu mencios tion.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 5.2 PLI PRI KONSERVO DE DOSIERO


   ** Por konservi la faritajn ŝanĝojn en la teksto, tajpu  :w DOSIERNOMO. **

  1. Tajpu  !dir  aŭ  !ls  por akiri liston de via dosierujo.
     Vi jam scias, ke vi devas tajpi <Enenklavo> post tio.

  2. Elektu dosieron, kiu ne jam ekzistas, kiel ekzemple TESTO.

  3. Nun tajpu:   :w TESTO   (kie TESTO estas la elektita dosiernomo)

  4. Tio konservas la tutan dosieron (instruilon de Vim) kun la nomo TESTO.
     Por kontroli tion, tajpu   :!dir   aŭ   !ls   denove por vidigi vian
     dosierujon.

RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per  vim TESTO,
         la dosiero estus precize same kiel kopio de la instruilo kiam vi
         konservis ĝin.

  5. Nun forviŝu la dosieron tajpante (MS-DOS):     :!del TESTO
                                   aŭ (UNIKSO):     :!rm TESTO


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 5.3 APARTIGI KONSERVENDAN TESTON


    ** Por konservi parton de la dosiero, tajpu   v  movo  :w DOSIERNOMO **

  1. Movu la kursoron al tiu linio.

  2. Premu  v  kaj movu la kursoron al la kvina suba ero.  Rimarku, ke la
     teksto emfaziĝas.

  3. Premu la  :  signon.  Ĉe la fino de la ekrano  :'<,'>  aperos.

  4. Tajpu  w TESTO  , kie TESTO estas dosiernomo, kiu ne jam ekzistas.
     Kontrolu, ke vi vidas  :'<,'>w TESTO  antaŭ premi <Enenklavo>.

  5. Vim konservos la apartigitajn liniojn al la dosiero TESTO.  Uzu  :dir
     aŭ  :!ls  por vidigi ĝin.  Ne forviŝu ĝin.  Ni uzos ĝin en la sekvanta
     leciono.

RIMARKO: Premo de  v  komencas Viduman apartigon.  Vi povas movi la kursoron
         por pligrandigi aŭ malpligrandigi la apartigon. Tiam vi povas uzi
         operatoron por plenumi ion kun la teksto.  Ekzemple,  d  forviŝas
         la tekston.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Leciono 5.4 AKIRI KAJ KUNFANDI DOSIEROJN


         ** Por enmeti la enhavon de dosiero, tajpu  :r DOSIERNOMON **

  1. Movu la kursoron ĵus super ĉi tiu linio.

RIMARKO: Post plenumo de paŝo 2, vi vidos tekston el la leciono 5.3.  Tiam
         moviĝu SUBEN por vidi tiun lecionon denove.

  2. Nun akiru vian dosieron TESTO uzante la komandon   :r TESTO   kie TESTO
     estas la nomo de la dosiero, kiun vi uzis.
     La dosiero, kion vi akiras, estas metita sub la linio de la kursoro.

  3. Por kontroli, ĉu la dosiero akiriĝis, retromovu la kursoron kaj rimarku,
     ke estas nun du kopioj de la leciono 5.3, la originala kaj la versio mem
     de la dosiero.

RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
        :r !ls  legas la eliron de la komando ls kaj metas ĝin sub la
        kursoron.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 5 RESUMO


  1.  :!komando  plenumas eksteran komandon.

      Iuj utilaj ekzemploj estas:
        (MS-DOS)           (UNIKSO)
         :!dir              :!ls            - listigas dosierujon
         :!del DOSIERNOMO   :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO

  2.  :w DOSIERNOMO  konservas la nunan dosieron de Vim al disko kun la
      nomo DOSIERNOMO.

  3.  v  movo  :w DOSIERNOMO  konservas la Viduman apartigon de linioj en
      dosiero DOSIERNOMO.

  4. :r DOSIERNOMO  akiras la dosieron DOSIERNOMO el la disko kaj metas
     ĝin sub la pozicion de la kursoro.

  5. :r !dir  legas la eligon de la komando dir kaj metas ĝin sub la
     pozicion de la kursoro.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Leciono 6.1 LA KOMANDO DE MALFERMO


  ** Tajpu o por malfermi linion sub la kursoro kaj eniri Enmetan reĝimon. **

  1. Movu la kursoron al la suba linio markita per --->.

  2. Tajpu la minusklan literon  o  por malfermi linion SUB la kursoro kaj
     eniri la Enmetan reĝimon.

  3. Nun tajpu tekston kaj premu <ESK> por eliri la Enmetan reĝimon.

---> Post tajpo de  o  la kursoro moviĝas al la malfermata linio en
     Enmeta reĝimo.

  4. Por malfermi linion SUPER la kursoro, nur tajpu majusklan  O  ,
     anstataŭ minusklan  o.  Provu tion per la suba linio.

---> Malfermu linion SUPER tiu tajpante O dum la kursoro estas sur tiu linio.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      Leciono 6.2 LA KOMANDO DE POSTALDONO


                  ** Tajpu  a  por enmeti POST la kursoro. **

  1. Movu la kursoron ĉe la komenco de la linio markita per --->.

  2. Premu  e  ĝis kiam la kursoro estas ĉe la fino de  li.

  3. Tajpu  a  (minuskle) por aldoni tekston POST la kursoro.

  4. Kompletigu la vorton same kiel la linio sub ĝi.  Premu <ESK> por
     eliri la Enmetan reĝimon.

  5. Uzu  e  por moviĝi al la sekvanta nekompleta vorto kaj ripetu
     paŝojn 3 kaj 4.

---> Ĉi tiu lin ebligos vin ekz vin postal tekston al linio.
---> Ĉi tiu linio ebligos vin ekzerci vin postaldoni tekston al linio.

RIMARKO: Ĉiu  a, i kaj A  iras al la sama Enmeta reĝimo, la nura malsamo
         estas tie, kie la signoj estas enmetitaj.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Leciono 6.3 ALIA MANIERO POR ANSTATAŬIGI


          ** Tajpu majusklan  R  por anstataŭigi pli ol unu signo. **

  1. Movu la kursoron al la unua suba linio markita per --->.  Movu la
     kursoron al la komenco de la unua  xxx .

  2. Nun premu  R  kaj tajpu la nombron sub ĝi en la dua linio, por ke ĝi
     anstataŭigu la xxx .

  3. Premu <ESK> por foriri la Anstataŭigan reĝimon. Rimarku, ke la cetera
     parto de la linio restas neŝanĝata.

  4. Ripetu la paŝojn por anstataŭigi la restantajn xxx.

---> Aldono de 123 al xxx donas al vi xxx.
---> Aldono de 123 al 456 donas al vi 579.

RIMARKO: Anstataŭiga reĝimo estas same kiel Enmeta reĝimo, sed ĉiu signo
         tajpita forviŝas ekzistan signon.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      Leciono 6.4 KOPII KAJ ALGLUI TEKSTON


     ** Uzu la  y  operatoron por kopii tekston, kaj  p  por alglui ĝin **


  1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".

  2. Komencu la Viduman reĝimon per  v  kaj movu la kursoron ĵus antaŭ "unua".

  3. Tajpu  y  por kopii la emfazitan tekston.

  4. Movu la kursoron ĉe la fino de la linio:  j$

  5. Tajpu  p  por alglui la tekston.  Tiam tajpu:  a dua <ESK> .

  6. Uzu Viduman reĝimon por apartigi " ero.", kopiu ĝin per  y , moviĝu
     ĉe la fino de la sekvanta linio per  j$  kaj algluu la tekston tie
     per  p .

---> a) tio estas la unua ero.
     b)

RIMARKO: vi povas ankaŭ uzi  y  kiel operatoro;  yw  kopias unu vorton.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                           Leciono 6.5 AGORDI OPCION


         ** Agordu opcion por ke serĉo aŭ anstataŭigo ignoru usklecon **

  1. Serĉu 'ignori' per tajpo de /ignori <Enenklavo>
     Ripetu plurfoje premante  n .

  2. Ŝaltu la opcion 'ic' (ignori usklecon) per:   :set ic

  3. Nun serĉu 'ignori' denove premante  n
     Rimarku, ke Ignori kaj IGNORI estas nun troveblas.

  4. Ŝaltu la opciojn 'hlsearch' kaj 'incsearch':   :set hls is

  5. Nun retajpu la serĉan komandon kaj vidu kio okazas:  /ignore <Enenklavo>

  6. Por malŝalti ignoron de uskleco:  :set noic

RIMARKO: Por forigi emfazon de kongruo, tajpu:   :nohlsearch
RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
         en la frazo:  /ignore\c  <Enenklavo>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 6 RESUMO

  1. Tajpu  o  por malfermi linion SUB la kursoro kaj eki en Enmeta reĝimo.
  1. Tajpu  O  por malfermi linion SUPER la kursoro.

  2. Tajpu  a  por enmeti tekston POST la kursoro.
     Tajpu  A  por enmeti tekston post la fino de la linio.

  3. La  e  komando movas la kursoron al la fino de vorto.

  4. la  y  operatoro kopias tekston,  p  algluas ĝin.

  5. Tajpo de majuskla  R  eniras la Anstataŭigan reĝimon ĝis kiam
     <ESK> estas premita.

  6. Tajpo de ":set xxx" ŝaltas la opcion "xxx".  Iuj opcioj estas:
        'ic' 'ignorecase'     ignori usklecon dum serĉo
        'is' 'incsearch'      montru partan kongruon dum serĉo
        'hls' 'hlsearch'      emfazas ĉiujn kongruajn frazojn
     Vi povas uzi aŭ la longan, aŭ la mallongan nomon de opcio.

  7. Antaŭaldonu "no" por malŝalti la opcion:  :set noic


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            Leciono 7.1 AKIRI HELPON


                          ** Uzu la helpan sistemon **

  Vim havas ampleksan helpan sistemon. Por komenciĝi, provu unu el la tiuj
  tri:
        - premu la klavon <HELPO> (se vi havas ĝin)
        - premu la klavon <F1> (se vi havas ĝin)
        - tajpu   :help <Enenklavo>

  Legu la tekston en la helpfenestro por trovi kiel helpo funkcias.
  Tajpu  CTRL-W CTRL-W      por salti de unu fenestro al la alia.
  Tajpu    :q <Enenklavo>   por fermi la helpan fenestron.

  Vi povas trovi helpon pri io ajn aldonante argumenton al la komando
  ":help".  Provu tiujn (ne forgesu premi <Enenklavo>):

        :help w
        :help c_CTRL-D
        :help insert-index
        :help user-manual


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Leciono 7.2 KREI STARTAN SKRIPTON


                         ** Ebligu kapablojn de Vim **

  Vim havas multe pli da kapabloj ol Vi, sed la plej multaj estas defaŭlte
  malŝaltitaj.  Por ekuzi la kapablojn, vi devas krei dosieron "vimrc".

  1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
      :e ~/.vimrc          por Unikso
      :e $VIM/_vimrc       por MS-Vindozo

  2. Nun legu la enhavon de la ekzempla "vimrc"
      :r $VIMRUNTIME/vimrc_example.vim

  3. Konservu la dosieron per:
      :w

  La sekvantan fojon, kiam vi lanĉas Vim, ĝi uzos sintaksan emfazon.
  Vi povas aldoni ĉiujn viajn preferatajn agordojn al tiu dosiero "vimrc".
  Por pli da informoj, tajpu  :help vimrc-intro


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                             Leciono 7.3 KOMPLETIGO


             ** Kompletigo de komanda linio per CTRL-D kaj <TAB> **

  1. Certigu ke Vim estas en kongrua reĝimo:  :set nocp

  2. Rigardu tiujn dosierojn, kiuj ekzistas en la dosierujo:  :!ls  aŭ  :!dir

  3. Tajpu la komencon de komando:  :e

  4. Premu  CTRL-D  kaj Vim montros liston de komandoj, kiuj komencas per "e".

  5. Premu <TAB>  kaj Vim kompletigos la nomon de la komando al ":edit".

  6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo:  :edit DOSI

  7. Premu <TAB>.  Vim kompletigos la nomon (se ĝi estas unika)

RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
         <TAB>.  Estas aparte utila por  :help .

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                Leciono 7 RESUMO


  1. Tajpu  :help  aŭ premu <F1> aŭ <Helpo>  por malfermi helpan fenestron.

  2. Tajpu  :help kmd  por trovi helpon pri  kmd.

  3. Tajpu  CTRL-W CTRL-W  por salti al alia fenestro.

  4. Tajpu  :q  to fermi la helpan fenestron.

  5. Kreu komencan skripton vimrc por konservi viajn agordojn.

  6. Kiam vi tajpas  :  komandon, premu CTRL-D por vidi ĉiujn kompleteblojn.
     Premu <TAB> por uzi unu kompletigon.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Tio konkludas la instruilon de Vim.  Ĝi celis doni mallongan superrigardon
  de la redaktilo Vim, nur tion kio sufiĉas por ebligi al vi facilan uzon de
  la redaktilo. Estas nepre nekompleta, ĉar Vim havas multajn multajn pliajn
  komandojn. Legu la manlibron: ":help user-manual".

  Tiu instruilo estis verkita de Michael C. Pierce kaj Robert K. Ware,
  el la Koloradia Lernejo de Minejoj (Colorado School of Mines) uzante
  ideojn provizitajn de Charles Smith el la Stata Universitato de Koloradio
  (Colorado State University)

  Retpoŝto: bware@mines.colorado.edu.

  Modifita por Vim de Bram Moolenaar.

  Tradukita en Esperanto de Dominique Pellé, 2008-04-01
  Retpoŝto: dominique.pelle@gmail.com
  Lasta ŝanĝo: 2010-05-23

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
