Hr˚ uzostraˇ sn´ y Vim, aneb jak jsem objevoval funkce Vimu.
Leoˇs Marˇsa´lek 31. prosince 2003
Obsah ´ 1 Uvodem 1.1 Pravidla pro distribuci tohoto dokumentu 1.2 Kontakty na autora . . . . . . . . . . . . . 1.3 D˚ uvody proˇc vznikl tento dokument . . . . 1.4 Podˇekov´an´ı . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
2 2 2 2 3
2 Objevov´ an´ı s´ıly editoru Vim 2.1 Co mˇe pˇrivedlo k Vimu? . . . . . . . . 2.2 Prvn´ı dojmy . . . . . . . . . . . . . . . 2.3 Rozd´ıl mezi editorem Vi,Vim a GVim. 2.4 Tak teda zaˇc´ın´ame. . . . . . . . . . . . 2.5 A m˚ uˇzeme se pustit do editace text˚ u . 2.5.1 Nov´ y soubor . . . . . . . . . . . 2.5.2 Uloˇzen´ı souboru . . . . . . . . . 2.5.3 Ukonˇcen´ı Vimu . . . . . . . . . 2.5.4 Otevˇren´ı souboru . . . . . . . . 2.5.5 Opakov´an´ı pˇr´ıkazu . . . . . . . 2.5.6 Pohyb v textu . . . . . . . . . . 2.5.7 Maz´an´ı ˇca´st´ı textu . . . . . . . 2.5.8 Kop´ırov´an´ı textu . . . . . . . . 2.5.9 Vr´acen´ı zmˇen v dokumentech . 2.6 N´apovˇeda . . . . . . . . . . . . . . . . 2.7 Vizu´aln´ı reˇzim . . . . . . . . . . . . . . 2.8 Okna Vimu . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4 4 4 5 6 7 7 7 8 8 8 8 9 9 9 10 10 10
3 Z´ avˇ erem
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
12
1
Kapitola 1 ´ Uvodem 1.1
Pravidla pro distribuci tohoto dokumentu
Tento dokument je public domain. M˚ uˇze b´ yt tiˇstˇen a distribuov´an zdarma pouze v nezmˇenˇen´e podobˇe. Je-li dokument mˇenˇen nebo je-li jeho ˇca´st uˇzita v jin´em dokumentu, potom seznam autor˚ u mus´ı obsahovat jm´eno autora a tak´e mus´ı obsahovat jm´ena autor˚ u kteˇr´ı tyto zmˇeny provedly. ( Nejl´epe i s kontaktem na dan´e autory. ) Pro komerˇcn´ı vyuˇzit´ı plat´ı z´asady uveden´e v GNU Public Licence.
1.2
Kontakty na autora
Pˇripom´ınky, n´avrhy a koment´aˇre k tomuto dokumentu pos´ılejte na mou E-mailovou adresu
[email protected]. Adresa m´ ych Webov´ ych str´anek je : www.sendme.cz/goro, www.sendme.cz/sklad, a www.goro.pescz.cz
1.3
D˚ uvody proˇ c vznikl tento dokument
D˚ uvody jsou velice prost´e. Prvn´ım d˚ uvodem bylo se koneˇcnˇe pˇrinutik k poˇra´dn´emu nauˇcen´ı A L TEXu [1]. T´ım druh´ ym a hlavn´ım d˚ uvodem bylo to, ˇze jsem nenaˇsel v Linuxu ˇza´dn´ y textov´ y editor, kter´ y by mi vyhovoval. Ne ˇze bych kladl na textove editory nˇejak´e vysok´e n´aroky, ale podle mˇe by mˇel b´ yt editor na u ´pravu text˚ u pˇredevˇs´ım rychl´ y a to jak spouˇstˇen´ım tak prac´ı sn´ım. Tak jsem objevil Vim a sepsal jsem sv´e trapen´ı sn´ım, v domnˇen´ı ˇze bych t´ım mohl nˇekomu uˇsetˇrit p´ar hork´ ych chvilek kter´ ych jsem si uˇzil s uˇcen´ım Vimu nespoˇcet.
2
´ KAPITOLA 1. UVODEM
1.4
3
Podˇ ekov´ an´ı
Zde chci podˇekovat vˇsem, kteˇr´ı mˇe podporovali a tak´e vˇsem, kter´ ym jsem psan´ım tohoto dokumentu lezl na nervy sv´ym rozmlouv´ an´ım s v´ ypoˇcetn´ı technikou. Zejm´ena ve chv´ıl´ıch kdy nechtˇela dˇelat to co se po n´ı chtˇelo.
Kapitola 2 Objevov´ an´ı s´ıly editoru Vim 2.1
Co mˇ e pˇ rivedlo k Vimu?
O poˇc´ıtaˇce jsem se zaˇcal zaj´ımat na stˇredn´ı ˇskole, kde jsem odrostl na MS DOSu, coˇz byl ve t´e dobˇe jedin´ y syst´em kter´ y byl hojnˇe osazov´an na poˇc´ıtaˇce a kter´ y znali tehdejˇs´ı 1 uˇcitel´e. V roce 1995 jsem navˇst´ıvil poprv´e Invex a zrovna Microsoft tam prezentoval sv˚ uj nov´ y operaˇcn´ı syst´em Windows 95. Tenkr´at jsem byl nadˇsen jednoduchost´ı ovl´ad´an´ı a grafikou, jenˇze za nˇejak´ y ˇcas jsem zaˇcal preferovat efektivitu a ergonomii ovl´ad´an´ı pˇred jednoduchost´ı. A n´ahle mi svˇet Windows˚ u pˇripadal mal´ y. V t´e dobˇe jsem zaˇcal prvn´ım rokem navˇstˇevovat vysokou ˇskolu a tam jsem narazil na operaˇcn´ı syst´em Linux. Tenkr´at mˇe nˇekolik linuxov´ ych nadˇsenc˚ u se mˇe snaˇzilo pˇresvedˇcit ˇze Linux je lepˇs´ı neˇz Windows, ale j´a jsem jim nˇejak nechtˇel d´at zapravdu. Pˇrece jen ok´ ynka se mˇe v t´e dobˇe zd´aly jednoduˇsˇs´ı na ovl´ad´an´ı. Jenˇze jak ˇcas plynul, tak jsem se o Linuxu dozv´ ydal ˇc´ım d´al t´ım v´ıce informac´ı a tak´e jsem si vyzkouˇsel nˇekter´e vˇeci standartnˇe dod´avan´e v distribucich Linuxu a zaˇcal jsem se v Linuxu ˇc´ım d´al t´ım v´ıce pohybovat. Pˇredevˇs´ım mˇe nadhly tyto vˇeci: LATEX 2ε , TEX, firewall, postscript pr´ace s PDF a spousta dalˇs´ıch vˇec´ı. Jenˇze stale mi chybˇel editor kter´ y by splˇ noval m´e n´aroky. Kwrite mi pˇripadal tˇeˇzkop´adn´ y, gedit nebyl vˇsude nainstalov´an a editor v Midnight commanderu si na m´em poˇc´ıtaˇci nerozumˇel s ˇceˇstinou. Tak jsem si proˇcetl nˇekolik diskuzn´ıch f´or a vˇzdy jsem slyˇsel na Vi nebo Vim samou chv´alu. Tak jsem si ˇrekl, ˇze jej mus´ım vyzkouˇset, a tady jsou m´e dojmy.
2.2
Prvn´ı dojmy
Pˇri prvn´ım spuˇstˇen´ı editoru Vim jsem si ˇr´ıkal co za ˇs´ılence tento editor pouˇz´ıv´a, vˇzdyt’ ani ˇ adn´a z mˇe dosut zn´am´ ned´a standartnˇe ani opustit. Z´ ych klavesov´ ych zkratek nefungovala, a mˇe nezbylo neˇz pouˇz´ıt m´e v Linuxu m´alo pouˇz´ıv´an´e funkce kill Opˇet jsem sednul k internetu a proˇc´ıtal jsem si diskuzn´ı f´ora. Tenkr´at mˇe docela zaujal jeden n´azor, ˇze kdyˇz 1
Veletrh v Brnˇe s v´ ypoˇcetn´ı technikou
4
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
5
se ˇclovˇek donut´ı a pˇrekon´a svou prvotn´ı averzi k ovl´ad´an´ı vimu, tak ˇze bude velmi mile pˇrekvapen, protoˇze Vim byl ps´an pˇredevˇs´ım pro program´atory a jeho pˇr´ıkazy dok´aˇz´ı velmi z efektivnit pr´aci. Jen to chce se poˇra´dnˇe prokousat ovl´ad´an´ım.
2.3
Rozd´ıl mezi editorem Vi,Vim a GVim.
Editor Vi je nejstarˇs´ı a byl nasazov´an na prvn´ı UNIXov´e stroje. Byl velice jednoduch´ y, ale pˇritom byl velmi efektivn´ı editor. D´ıky nˇemu jsou dnes ve Vimu a GVimu implementov´any prvky, kter´e n´am na prvn´ı pohled pˇripadaj´ı zbyteˇcn´e, ale v tehdejˇs´ı dobˇe mˇely sv˚ uj v´ yznam. Napˇr´ıklad k pohybu k textu vyuˇz´ıv´ame ˇsipek na klavesnici, ale m˚ uˇzeme i vyuˇz´ıt kl´avesy j,k atd. Vim je mladˇs´ı a d´ıky tomu jsou vnˇem implementov´any i vˇeci co se objevili teprve ned´avno. Obecnˇe se d´a ˇr´ıci ˇze rozd´ıly mezi Vi a Vim jsou minim´aln´ı a kdo um´ı ps´at ve Vi tak um´ı i Vim. Opaˇcnˇe to ale uˇz neplat´ı. Posledn´ım editorem je GVim. Je to vlastnˇe Vim s grafick´ ym rozhran´ım. Je v nˇem moˇznost obsluhovat Vim pomoc´ı tlaˇc´ıtek. Asi nejvˇetˇs´ı zmˇena je vyuˇzit´ı myˇsi k pohybu po textu. GVim je jiˇz trochu n´aroˇcnˇejˇs´ı na hardware, ale v deˇsn´ı dobˇe jsou jiˇz poˇc´ıtaˇce tak v´ ykonn´e ˇze tuto ot´azku dnes nemus´ıme ˇreˇsit. Vim a Gvim jsou st´ale vyv´ıjeny a lze je implementovat pod jak´ ykoliv operaˇcn´ı syst´em. 2 Od Windows poˇc´ınaje pˇres Linux, Unix aˇz po Irix . Vim i GVim si lze bezplatnˇe st´ahnout z www.vim.org
2
Irix je operaˇcn´ı syst´em zaloˇzen´ y na UNIXu vyv´ yjen´ y firmou SGI
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
2.4
6
Tak teda zaˇ c´ın´ ame.
Pˇri prvn´ım spuˇstˇen´ı se pˇre V´ami objev´ı tato obrazovka.
Obr´azek 2.1: u ´vodn´ı obrazovka Vimu
Pokud vid´ıte Vim prvnˇe, tak V´am tato obrazovka asi toho moc neˇrekne. Prvn´ım probl´emem se kter´ ym jsem se pot´ ykal bylo to jak tento program regul´ernˇe ukonˇcit, aniˇz bych vyuˇz´ıval funkce kill . Ukonˇcit Vim se d´a pˇr´ıkazem :q! nebo ZZ, ale nepˇredb´ıhejme. Nejprve si mus´ıme ujasnit reˇzimy pr´ace ve Vimu. Vim m´a r˚ uzn´e pracovn´ı reˇzimy. Pˇ r´ıkazov´ y reˇ zim slouˇz´ı k zad´av´an´ı pˇr´ıkaz˚ u, a je z´akladn´ım reˇzimem. Do tohoto reˇzimu se vˇzdy dostanete stiskem kl´avesy ESC Ex reˇ zim – pˇ r´ıkazov´ yˇ r´ adek slouˇz´ı tak´e k zad´av´an´ı pˇr´ıkaz˚ u, ale tyto pˇr´ıkazy jsou daleko sloˇzitˇejˇs´ı. Do tohoto reˇzimu pˇrep´ın´a z pˇr´ıkazov´eho reˇzimu :. Tento reˇzim je jednor´azov´ y, coˇz znamen´a ˇze po potvrzen´ı klavesou Enter←- se Vim automaticky pˇrepne do pˇr´ıkazov´eho reˇzimu.
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
7
Insert/replace reˇ zim tento reˇzim slouˇz´ı k vkl´ad´an´ı/pˇrepisov´an´ı znak˚ u. Jedn´a se o reˇzim ve kter´em se d´a norm´alnˇe ps´at. Do tohoto reˇzimu se d´a dostat v´ıce zp˚ usoby. Nejˇcastˇeji se pˇrep´ın´am do tohoto reˇzimu stiskem klavesy Insert, ale i dalˇs´ı kl´avesy pˇrep´ınaj´ı do tohoto reˇzimu. napˇr a,i,I,A vizu´ aln´ı reˇ zim do tohoto reˇzimu se dostanete stiskem kl´avesy v. Re6im se opouˇst´ı vykon´an´ım nˇejak´e akce nebo kl´avesou ESC. Tento reˇzim bude d´ale vysvˇetlen. Pˇr´ıkazy a reˇzim je signalizov´an ve stavov´em ˇra´dku. Jen mal´ y prouˇzek ve spod okna. Nˇekolik pˇr´ıklad˚ u stavoveho ˇra´dku.
Obr´azek 2.2: Pˇr´ıkazov´ y reˇzim
Obr´azek 2.3: Insert/replace reˇzim
Obr´azek 2.4: Pˇr´ıkazov´a ˇra´dka
ˇ ısla 21,1 nebo 31,1 ud´avaj´ı pozici kurzoru v textu. Prvn´ı Mal´e vysvˇetlen´ı pˇr´ıkazov´e ˇra´dky. C´ ˇc´ıslo oznaˇcuje ˇra´dek a to druh´e ˇc´ıslo oznaˇcuje pozici od leveho okraje. Oznaˇcen´ı zaˇc´ınaj´ıc´ı – patˇr´ı oznaˇcen´ı reˇzimu ve kter´em se Vim nach´az´ı. Napˇr´ıklad --INSERT--. Pokud pˇr´ıkazov´a ˇra´dka zaˇc´ına : tak to znamen´a ˇze Vim oˇcek´av´a nˇejak´ y pˇr´ıkaz, kter´ y mus´ıme potvrdit klavesou Enter nebo ukonˇcit tento reˇzim klavesou ESC.
2.5 2.5.1
A m˚ uˇ zeme se pustit do editace text˚ u Nov´ y soubor
Asi prvn´ı co mˇe zaj´ımalo na Vimu, bylo to jak se vnˇem vytv´aˇr´ı nov´ y soubor. Existuje nˇekolik moˇznost´ı jak vytvoˇrit nov´ y soubor, ale asi ta nejednoduˇs´ı je pˇr´ımo dosadit n´azev nov´eho souboru jako parametry pˇri spouˇstˇen´ı Vimu. Ale pokud jiˇz m´ame spuˇstˇen´ y Vim, tak nov´ y soubor vytvoˇr´ıme pˇr´ıkazem :new Jmeno.souboru
2.5.2
Uloˇ zen´ı souboru
Pokud m´ame vytvoˇren´ y soubor, tak mus´ıme soubor i uloˇzit. Ktomu slouˇz´ı pˇr´ıkaz :w nebo :write.Pokud pˇrid´ame k pˇr´ıkazu parametry, slouˇz´ı tento pˇr´ıkaz jako uloˇzit jako. Ve Vimu je i pˇr´ıkaz :saveas kter´ y editovan´ y soubor uloˇz´ı pod jm´enem kter´e je za pˇr´ıkazem. Pokud
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
8
editujeme soubor kter´ y je pouze ke ˇcten´ı, tak Vim n´am nepovol´ı tento soubor pˇrepsat. My to mus´ıme pˇrik´azat vykˇriˇcn´ıkem za pˇr´ıkazem. Tedy pokud zad´am :w! tak Vim soubor uloˇz´ı ikdyˇz sobor byl pouze ke ˇcten´ı.
2.5.3
Ukonˇ cen´ı Vimu
Ukonˇcen´ı Vimu se prov´ad´ı pˇr´ıkazem :q, ale pouze pokud nen´ı soubor modifikov´an. Jinak tato operace skonˇc´ı hl´aˇskou E37:No write since last change. Pro ukonˇcen´ı modifikovan´eho souboru mus´ıme soubor napˇred uloˇzit a pak Vim ukonˇcit pˇr´ıkazem :q. To m˚ uˇzeme slouˇcit a zadat tento pˇr´ıkaz :wq nebo vim ukonˇcit z´ad´an´ım ZZ. Tento pˇr´ıkaz je ekvivalentn´ı pˇr´ıkazu :wq. Tyto komplikace pˇri ukonˇcov´an´ı maj´ı sv˚ uj v´ yznam. Donut´ı n´as totiˇz se rozhodnout co chceme se svou prac´ı prov´est. Je t´ım odstranˇena nahodil´a ztr´ata pr´ace kv˚ uli ukonˇcen´ı bez uloˇzen´ı.
2.5.4
Otevˇ ren´ı souboru
Soubor se d´a otevˇr´ıt stejnˇe jako vytv´aˇren´ı nov´eho souboru. Vim se spouˇst´ı s parametry, kter´e jsou jm´enem otev´ıran´ ych soubor˚ u. Ve Vi jeˇstˇe existuje pˇr´ıkaz :open, ale ten bohuˇzel nen´ı imlementov´an ve Vimu.
2.5.5
Opakov´ an´ı pˇ r´ıkazu
Editor vim um´ı opakovat pˇr´ıkazy. Napˇr´ıklad chceme-li se posunout o 10 znak˚ u do prava zad´ame 10h. Dokonce nen´ı probl´em napsat 100x Uˇz nebudu zlobit. Staˇc´ı jen zadat 100oUˇ z nebudu zlobit! a stisknout ESC
2.5.6
Pohyb v textu
V textu se m˚ uˇzeme pohybovat ˇsipkamy, nebo m˚ uˇzeme pouˇz´ıv´at kl´avesy h– vlevo, j–dol˚ u, k–nahoru, l–vpravo. tyto kl´avesy maj´ı pˇredevˇs´ım vyznam pˇri opakov´an´ı pˇr´ıkaz˚ u. Ve Vimu m˚ uˇzeme pouˇz´ıvat standartn´ı funkˇcn´ı kl´avesy Home, End, PageUp, PageDown. M´ısto kl´aves PageDown,PageUp m˚ uˇzeme vyuˇz´ıt kl´avesov´ ych zkratek Ctrl+F a Ctrl+B.Pro pˇresun po ˇra´dc´ıch jde tak´e pouˇz´ıt kl´avesy + a -. Kl´avesa plus posouv´a o ˇra´dek dol˚ u a klavesa minus o ˇra´dek nahoru. Pro skok na urˇcit´ y ˇra´dek slouˇz´ı klavesa G. Napˇr´ıklad 18G pˇresune kurzor na 18 ˇra´dek. Ke skoku na zaˇca´tek ˇra´dku slouˇz´ı kl´avesa Home nebo 0. (Jedn´a se o nulu nikoliv o) K pˇresunu na konec ˇra´dku slouˇz´ı kl´avesa End nebo $. Docela zvl´aˇstnost´ı Vimu je pˇresun na pozici urˇcit´eho znaku v ˇra´dku. Vyhled´av´an´ı znaku se prov´ad´ı dopˇredu nebo dozadu od kurzoru (z´aleˇz´ı na pˇr´ıkazu). f+znak na n´asleduj´ıc´ı v´ yskyt znaku F+znak na pˇredchoz´ı v´ yskyt znaku t+znak na pˇred n´asleduj´ıc´ı v´ yskyt znaku
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
9
T+znak na pˇred pˇredchoz´ı v´ yskyt znaku ; Opakuje posledn´ı hled´an´ı na ˇra´dku , Opakuje hled´an´ı na ˇra´dku, ale v opaˇcn´em smˇeru Vim um´ı posouvat kurzor i po slovech a dokonce i po vˇet´ach. Jako konec vˇety bere !?. w posune kuzor na zaˇca´tek n´asleduj´ıc´ıho slova e posune kurzor na konec tohoto slova b na nejbliˇzˇs´ıpˇredchoz´ı zaˇca´tek slova ) pˇresune kurzor na zaˇca´tek nejbliˇzˇs´ı n´asleduj´ıc´ı vˇety ( pˇresune kurzor na zaˇca´tek nejbliˇzˇs´ı pˇredch´azej´ıc´ı vˇety }
pˇresune kurzor na nejbliˇzˇs´ı n´asleduj´ıc´ı konec ostavce
{
pˇresune kurzor na nejbliˇzˇs´ı pˇredchoz´ı konec ostavce
2.5.7
Maz´ an´ı ˇ c´ ast´ı textu
Pokud udˇel´ame ve Vimu chybu a jsme v vkl´adac´ım reˇzimu m˚ uˇzeme pouˇz´ıt kl´avesy Backspace. Ale kdyˇz opust´ıme vkl´adac´ı reˇzim, tak mus´ıme s´ahnou k jin´ ym prostˇredk˚ um. Pokud chceme smazat znak pod kurzorem, tak m˚ uˇzeme vyuˇz´ıt kl´avesy Delete nebo x. Ke smaz´an´ı cel´eho ˇra´dku slouˇz´ı pˇr´ıkaz dd.
2.5.8
Kop´ırov´ an´ı textu
Vim vyuˇz´ıv´a vlastn´ı registr, do kter´eho ukl´ad´a veˇsker´e mazac´ı akce. To znamen´a ˇze pokud nˇekde nˇeco smaˇzeme, tak jeˇstˇe to nen´ı u ´plnˇe ztraceno, ale Vim to pouze uloˇzil do registru. A pr´avˇe tohoto registru se vyuˇz´ıv´a pˇri kop´ırov´an´ı textu. Pˇr´ıkazem p vkl´ad´ame text z registru za aktu´aln´ı pozici kurzoru. Naopak P Vkl´ad´a informace z registru pˇred aktu´aln´ı pozici kurzoru. Pro kop´ırov´an´ı do registru bez smaz´an´ı slouˇz´ı pˇr´ıkaz yy takˇze yyp n´am zdvoj´ı ˇra´dek.
2.5.9
Vr´ acen´ı zmˇ en v dokumentech
Pro klasick´e undo3 je ve Vimu pˇr´ıkaz u, kter´ y vr´at´ı posledn´ı zmˇenu. Vˇetˇsinou, pokud nen´ı nastaveno jinak, jde vr´atit v´ıce jak 100 krok˚ u. Pokud to s undem pˇreˇzeneme a potˇrebovali by jsme se vr´atit, tak k tomu slouˇz´ı kl´avesov´a zkratka Ctrl+R(Redo), kter´e m˚ uˇzeme tak´e pouˇz´ıvat opakovanˇe. Vim m´a jeˇstˇe jednu specialitu kterou je vr´acen´ı vˇsech zmˇen na posledy mˇenˇen´em ˇra´dku. Pro tuto akci plat´ı pˇr´ıkaz U . 3
Undo je funkce kter´ a vr´ at´ı posledn´ı zmˇenu v dokumentu
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
2.6
10
N´ apovˇ eda
P˚ uvodnˇe editor Vi nemˇel ˇza´dnou n´apovˇedu, ale naˇstˇest´ı editor Vim se snaˇz´ı b´ yt uˇzivatelsky co nejpˇr´ıvˇetivˇejˇs´ı a disponuje docela velmi dobrou n´apovˇedou. Do n´apovˇedy se dostanete pˇr´ıkazem :help nebo :h. N´apovˇeda rozp˚ ul´ı okno a m˚ uˇzete se vn´ı pohybovat podle zvyklost´ı Vimu. Pokud uˇz V´as nebav´ı proch´azen´ı n´apovˇedy, tak staˇc´ı zadat pˇra´kaz :q a n´apovˇeda se zavˇre. Aby se nemusela vˇzdy proch´azet cel´a n´apovˇeda kdyˇz n´as jen zaj´ım´a funkce pˇr´ıkazu pro uloˇzen´ı tak staˇc´ı zadat jen :help :w.
2.7
Vizu´ aln´ı reˇ zim
Zap´ın´a se kl´avesou v. Po zapnut´ı a pohybu kurzorem se n´am zaˇcne text oznaˇcovat. S takto oznaˇcen´ ym blokem m˚ uˇzeme dˇelat tyto akce. d Vymaˇze a uloˇz´ı blok do registru c Zamˇen´ı blok s obsahem registru y Kop´ıruje blok do registru. ~ Prohod´ı mal´a p´ısmena za velk´a a naopak u Pˇrevede blok na mal´a p´ısmena U Pˇrevede blok na velk´a p´ısmena J Spoj´ı blok do jednoho ˇra´dku < Posune blok doleva > Posune blok doprava : Pˇrejde do pˇr´ıkazov´eho ˇra´dku Pˇri vyuˇzit´ı Ctrl+v bude oznaˇcov´an´ı textu ˇctvercov´e, coˇz znamen´a ˇze oznaˇcov´an´ı zaˇcne tam kde byl kurzor a skonˇc´ı kde kurzor pˇresuneme.
2.8
Okna Vimu
Editor m´a velmidobrou vlastnost a tou je, ˇze dok´aze otevˇr´ıt v´ıce editovan´ ych soubor˚ u najednou. Dokonce um´ı i to ˇze je jeden soubor otevˇren vicekr´at a zobrazuj´ı se r˚ uzn´e jeho ˇca´sti. Jak ukazuje obr´azek 2.5. Pro vytvoˇren´ı nov´eho okna je tady pˇr´ıkaz :split. Pokud je tento pˇr´ıkaz bez parametr˚ u,tak vytvoˇr´ı nov´e pr´azdn´e okno. Pokud k pˇr´ıkazu d´ame jako parametr jm´eno souboru, Vim vytvoˇr´ı nov´e okno a do nˇej otevˇre soubor kter´ y byl zad´an jako parametr. Pokud zadan´ y soubor neexistuje Vim jej vytvoˇr´ı. Pro pˇrep´ın´an´ı mezi okny
´ ´I S´ILY EDITORU VIM KAPITOLA 2. OBJEVOVAN
11
slouˇz´ı kl´avesov´a zkratka Ctrl+w. Tady je dobr´e vˇzdy pod´ıvat v jak´em reˇzimu se vim zrovna nach´az´ı, protoˇze ve vkl´adac´ım reˇzimu tento pˇr´ıkaz maˇze slovo pˇred kurzorem. Pro okno plati pˇr´ıkazy jako pro norm´aln´ı nedˇelen´ y Vim. Napˇr´ıklad uloˇzen´ı okna je taky :w. Jen je nutn´e se pˇri rozdˇelen´ ych oknech d´ıvat kde zrovna se nach´az´ı kurzor, jinak si tˇreba zavˇreme soubor kter´ y chceme editovat.
Obr´azek 2.5: Rozdˇelen´ı oken
Kapitola 3 Z´ avˇ erem Tento dokument si neklade za c´ıl nauˇcit Vim, ale jen by mˇel poskytnou z´achran´e kolo pro ty, kteˇr´ı ve Vimu t´apaj´ı stejnˇe jako kdysi j´a. Je zde nast´ınˇeno jen to z´akladn´ı co je potˇreba ´ e zde chyb´ı popis maker, kter´e velmi dok´aˇz´ı zn´at k trochu smyslupln´e pr´aci s Vimem. Uplnˇ ulehˇcit psan´ı dokument˚ u a dalˇs´ı vˇeci. Pokud V´as Vim chytl a mysl´ıte si ˇze m´a pro V´as smysl jej vyuˇz´ıvat, tak se urˇcitˇe pod´ıvejte na Vim skuteˇcn´y editor text˚ u[3]. Z´avˇerem bych V´am popˇra´l rychl´e uˇcen´ı Vimu, pokud jste se pro nˇej rozhodli. Mˇe osobnˇe pˇrineslo nauˇcen´ı Vimu rychlejˇs´ı editaci textu, skript˚ u a dnes jej pouˇz´ıv´am i jako editor pro programovaci jazyky, protoˇze m´a v sobˇe zabudovan´e zv´ yrazˇ nov´an´ı syntaxe jazyka a dok´aˇze velmi pˇeknˇe zv´ yraznit t´emˇeˇr vˇsechny programovac´ı jazyky. M´ ym p˚ uvodn´ım z´amˇerem byl trochu obs´ahlejˇs´ı dokument, ale bohuˇzel z nedostatku ˇcasu jsem jej musel zkr´atit. Takˇze aˇz se nˇekdy budu nudit, tak jej urˇcitˇe rozˇs´ıˇr´ım :-). Tento dokument byl vytvoˇ ren pomoc´ı LATEX 2ε
Pˇ r´ıkaz :h :help :new :split :w :wq :q ; , + $
Popis otevˇre n´apovˇedu otevˇre n´apovˇedu vytvoˇr´ı nov´e pr´azn´e okno rozdˇel´ı vim na v´ıce uloˇz´ı obsah prace na uloˇz´ı a ukonˇc´ı Vim ukonˇc´ı Vim pokud je soubor nezmˇenˇen opakuje hled´an´ı znaku na ˇra´dku opakuje hled´an´ı znaku na ˇra´dku ale v opaˇcn´em smˇeru posouv´a kurzor o jeden ˇra´dek dol˚ u posouv´a kurzor o jeden ˇra´dek nahoru pˇresouv´a kurzor na konec ˇra´dku
12
´ EREM ˇ KAPITOLA 3. ZAV Pˇ r´ıkaz Popis 0 pˇresouv´a kurzor na zaˇca´tek ˇra´dku ) pˇresune kurzor na zaˇca´tek nejbliˇzˇs´ı n´asleduj´ıc´ı vˇety ( pˇresune kurzor na zaˇca´tek nejbliˇzˇs´ı pˇredch´azej´ıc´ı vˇety } pˇresune kurzor na nejbliˇzˇs´ı n´asleduj´ıc´ı konec odstavce { pˇresune kurzor na nejbliˇzˇs´ı pˇredchoz´ı konec odstavce ~ prohod´ı mal´a p´ısmena za velk´a a naopak u bloku > posune blok doprava < posune blok doleva c zamˇen´ı blok s registrem d smaˇze blok dd smaˇze cel´ y ˇra´dek f+znak postav´ı kurzor na n´asleduj´ıc´ı v´ yskyt znaku F+znak postav´ı kurzor na pˇredchoz´ı v´ yskyt znaku h posune kurzor vlevo i zap´ına reˇzim vkl´ad´an´ı j posouv´a kurzor o ˇra´dek dol˚ u J spoji blok do jednoho ˇra´dku k posouv´a kurzor o ˇra´dek nahoru l posouv´a kurzor vpravo p vkl´ad´a informace z registru z aktu´aln´ı pozici P vkl´ad´a informace z registru pˇred aktu´aln´ı pozici t+znak postav´ı kurzor pˇred n´asleduj´ıc´ı v´ yskyt znaku T+znak postav´ı kurzor pˇred pˇredchoz´ı v´ yskyt znaku u undo – vrac´ı o zmˇeny v souboru U vrac´ı vˇsechny zmˇeny na posledn´ım mˇenˇen´em ˇra´dku v zap´ın´a vizualn´ı reˇzim x smaˇze znak pod kurzorem yy kop´ıruje informace do registru ZZ uloˇz´ı a ukonˇc´ı Vim
13
Literatura [1] Michal Koˇcer, Pavel S´ ykora : Neˇ r´ıliˇ s struˇ cn´ yu ´ vod do syst´ emu LATEX 2ε Neboli LATEX 2ε v 73 minut´ ach [2] Radek Bedn´aˇr : LaTeX [3] Pavel Satrapa : Vim Skuteˇcn´y editor text˚ u
14
Index (, 9 ), 9 +, 8 ,, 9 -, 8 :, 6, 10 :h, 10 :help, 10 :new, 7 :open, 8 :q, 8 :saveas, 7 :split, 11 :w, 7, 11 ;, 9 ¡, 10 ¿, 10 ,˜ 10
f, 8 GVim, 5 Home, 8 Insert, 7 Insert/replace reˇzim, 6 IRIX, 5 J, 10 kill, 4, 6 Kop´ırov´an´ı textu, 9 Linux, 4 Maz´an´ı ˇca´st´ı textu, 9 Microsoft, 4 N´apovˇeda, 10
0, 8
Okna, 10 Opakov´an´ı pˇr´ıkazu, 8 Otevˇren´ı souboru, 8
b, 9 Backspace, 9
P, 9 p, 9 pˇr´ıkazov´ y reˇzim, 6 PageDown, 8 PageUp, 8
c, 10 d, 10 dd, 9 Delete, 9 DOS, 4
T, 9 t, 8
e, 9 End, 8 Enter, 6 ESC, 6, 8
U, 9, 10 u, 9, 10 Ukonˇcen´ı Vimu, 8 Uloˇzen´ı souboru, 7
F, 8 15
INDEX Undo, 9 UNIX, 5 Vizu´aln´ı reˇzim, 7 Vytvoˇren´ı souboru, 7 w, 9 windows, 4 write, 7 x, 9 y, 10 yy, 9 ZZ, 8
16