Editace textu

Nejdulezitejsi editacni operaci - vkladani noveho textu - jiz znate z predchozi stranky. Staci prejit do vkladaciho rezimu a psat a psat a psat. Pokud udelate chybu, lze ji obvyklym zpusobem umazat klavesou Backspace a nahradit spravnym textem. Takto vsak Backspace funguje jen do te doby, nez opustite vkladaci rezim. Pak je treba sahnout k jinym prostredkum.

Mazani

S vyjimkou vyse zminenych elementarnich oprav se mazani odehrava v normalnim rezimu. Zakladni operaci - smazani znaku pod kurzorem - obstara klavesa x. Samozrejme ji lze predsadit cislo, takze 20x zlikviduje 20 znaku, pocinaje tim pod kurzorem.

Druhou obvyklou operaci je smazani radku. Na ten jiz budete potrebovat klavesy dve, a sice dd. Radek, na nemz se momentalne nachazi kurzor, bude zlikvidovan.

Kopirovani

Veskere likvidacni operace maji jednu zajimavou vlastnost: vymazany text se automaticky uklada do registru, z nejz jej nasledne muzete vlozit na jine misto. O vlozeni se postara klavesa p (vklada za aktualni pozici) nebo P (pred aktualni pozici).

Chovani vkladaneho materialu se lisi podle jeho charakteru. Pokud se jedna o pouhou cast radku, bude vlozen do aktualniho radku za nebo pred kurzor. Jestlize vsak text v registru obsahuje alespon jeden cely radek, bude vlozen za/pred aktualni radek.

Priklad:
Hezkym prikladem cinnosti mazacich a vkladacich mechanismu je zmena poradi dvou po sobe jdoucich znaku. Obstara ji klavesova kombinace xp - sledujte jeji chovani:

Vyjdeme ze slova

pohoda
  ^
Stisknutim x bude z textu odstranen znak pod kurzorem (pismeno "h") a zbytek radku se posune doleva. Smazany znak se automaticky ulozi do registru. Aktualni stav tedy vypada takto:
pooda
  ^
Stisknutim klavesy p vlozite obsah registru za aktualni pozici. Jelikoz v registru je jediny znak ("h"), bude vlozen do radku za kurzor a vznikne:
poohda
   ^
Priklad:
Druhy priklad zamerim na likvidaci radku. Rekneme, ze mame text
raz
dva
tri
ctyri
Kurzor je na druhem radku (odpovidajici znak je vyznacen tucne a podtrzen). Pouzijete-li prikaz 2dd, odstranite druhy a treti radek:
raz
ctyri
Chcete-li se vratit k puvodnimu stavu, staci stisknout P. Jelikoz registr obsahuje vice nez radek, bude jeho obsah vlozen jako samostatne radky pred radek s kurzorem. Vznikne tedy opet puvodni text
raz
dva
tri
ctyri
Pokud chcete radek (nebo jejich skupinu) presunout do registru, ale ponechat v textu, pouzijte yy. Tento prikaz ulozi do registru aktualni radek. Chcete-li tedy zdvojit aktualni radek, pouzijte yyp.

Kazde ulozeni do registru samozrejme znamena, ze jeho stavajici obsah bude zlikvidovan. Z tohoto duvodu je podstatny rozdil, zda pri mazani peti znaku petkrat stisknete klavesu x nebo pouzijete 5x. V prvnim pripade se provede pet samostatnych prikazu mazani. Kazdy z nich vlozi do registru prave likvidovany znak a zrusi jeho predchozi obsah. Po provedeni posledniho tudiz v registru bude jediny (posledni vymazany) znak. Naproti tomu 5x vymaze naraz vsech pet znaku a do registru ulozi celou petici.

Odvolavani a vraceni

Dejiny nas uci, ze umeni v pravou chvili odvolat byva rozhodujici mezi bytim a nebytim. Proto vetsina modernich editoru dokaze odvolavat posledni provedene zmeny a (pokud si to uzivatel znovu rozmysli) zase je vracet zpet. V pripade vim k odvolani posledni editacni operace slouzi klavesa u (jakozto "undo"). Muzete ji pouzivat opakovane a odvolavat tak dalsi a dalsi akce.

Pokud si pozdeji uvedomite, ze nektera z editacnich operaci zase nebyla az tak spatna, muzete ji vratit pomoci Ctrl-R (redo). Opet je lze pouzivat opakovane.

Specialni druh odvolani predstavuje klavesa U. Odvola vsechny zmeny, provedene na naposledy zmenenem radku.

Editacni lahudky

Nastal cas nasadit sprint a zmizet milovnikum presypacich hodin za obzorem. Pro tuto cast jsem si nechal nekolik specialit, ktere praci s vim velmi vyznamne zrychluji.

Prvni chutovkou je prosta tecka. Prikaz . zopakuje vasi posledni editacni operaci. To znamena posledni vlozeni, smazani ci zmenu textu. Pohyby nejsou povazovany za editacni operace.

Priklad:
Strohy popis cinnosti tecky nezni nijak bombasticky. Je treba si vsak uvedomit, ze editacni operace muze byt dosti inteligentni, misty az rafinovana. Napriklad budu mit seznam tri jmen
Mojmir Slizky
Jiri Mily
Leonid Vasiljevic Brown
ktery chci zaradit na WWW stranku. Chci, aby jeho podoba zustala zachovana, tedy aby kazde jmeno bylo na samostatnem radku. To znamena, ze na konec kazdeho z nich je treba pripsat <BR>. Presunu kurzor na prvni radek a pouziji prikaz A<BR>[Esc]. Tim jsem na jeho konec pridal <BR>. Nyni staci jen stridave mackat kurzor dolu a . a pridavat <BR> na konce dalsich a dalsich radku.
Nejkouzelnejsi moznosti vsak je kombinace editacniho prikazu s libovolnym pohybem. Pokud pred pohybem stisknete kouzelnou klavesu, bude se editacni operace tykat textu od aktualni polohy kurzoru az po cilovou pozici, na niz se dostane provedenim dotycneho pohybu. Zakladnimi kouzelnymi klavesami jsou
d vymazani (delete), likvidovany text se ulozi do registru
y kopirovani do registru (yank)
c zmena (nahrazeni novym obsahem; change)

Takze napriklad zmenu slova zaridite tak, ze najedete kurzorem na jeho zacatek a pouzijete prikaz cw. Likvidaci odstavce (od aktualni pozice do konce) obstara d}. Mym casto pouzivanym prikazem je zmena lokatoru v odkazu ve zdrojovem textu WWW stranky. Presunu kurzor za zahajujici uvozovky a pak nasadim ct", cimz pozaduji zmenu textu az po nasledujici uvozovky.

Samozrejme je k dispozici tez opakovani. Nezalezi pri nem na tom, zda pouzijete 2dw nebo d2w. V obou pripadech budou vymazana dve slova a ulozena do vyrovnavaci pameti. Skutecnost, ze zminovane vylomeniny lze navic snadno opakovat pomoci tecky, predstavuje zcela novou uroven rozkose pri pouzivani vim.

Krome zakladnich tri modifikatoru d, y a c je k dispozici jeste rada dalsich. K pouzivani nekterych z nich budete potrebovat pokrocilejsi znalosti. Zde se omezim na pouhy vycet.

g~ zameni mala/velka pismena v textu
gu prevede text na mala pismena
gU prevede text na velka pismena
! zpracuje text externim programem
= zpracuje text externim formatovacem; jeho jmeno lze nastavit pomoci :set equalprg; neni-li nastaveno, usporada se jako zdrojovy text v C
gq preformatuje text podle platnych okraju
> posune text doprava
< posune text doleva

<-- predchozi  [obsah]  dalsi -->
© 1997, 1998 Pavel Satrapa