Na tomto místě bych rád sepsal jakousi rychlokuchařku k editoru Vim. Doufám, že ji shledáte užitečnou. Obsah bude průběžně doplňován.
Proč Vim ano, či ne
- Vim je mimořádně mocný editor.
- Vim má neobvyklé ovládání. Uživatel, který ho nezná bude mít problém i s tím ho ukončit.
- Naučit se Vim je investice, která se vyplatí především programátorům, či správcům sítě.
Spuštění editoru Vim
vim— Spustí editor Vim.-
vim soubor— Spustí editor Vim a otevře soubor k editaci. -
vim +n soubor— Navíc přejde na řádek číslo n. -
vim + soubor— Navíc přejde na poslední rádek. -
vim +/řetězec soubor— Navíc přejde na první řádek obsahující zadaný řetězec. -
vimtutor— Spustí průvodce programem. -
vimdiff soubor1 soubor2— Zobrazí rozdíly mezi soubory.
Režimy editoru Vim
Editor Vim pracuje ve třech režimech:
-
Editační (obrazovkový vkládací) režim. — Slouží
k vkládání a upravování textu, přepíná se do něj například
stisknutím
a,ičirv příkazovém režimu. -
Příkazový režim (obrazovkový režim zadávání příkazů).
— Slouží k úpravě textu formou zadávání příkazů (většinou
jednopísmenných zkratek). V tomto režimu se program nachází po svém
spuštění a dostaneme se do něj stisknutím klávesy
Esc. -
Režim Ex (řádkový režim). — Slouží k zadávání
povelů editoru. Dostaneme se do něj stisknutím
:v příkazovém režimu.
Základní příkazy
:w— Uložit soubor.-
:q— Ukončit editor. (Nefunguje, pokud jsme v souboru udělali změny a neuložili je.) :wq— Uložit soubor a ukončit editor.:q!— Ukončit editor bez uložení změn.
Pohyb v textu
-
h,j,k,l— O znak doleva, dolů, nahoru, doprava. Kurzorových šipek lze k tomuto účelu využít též. -
0,$— Na začátek, konec řádku. Kláves Home a End lze k tomuto účelu využít též. -
^b,^u,^d,^f— Obrazovka dozadu, půl obrazovky dozadu, půl obrazovky dopředu, obrazovka dopředu. -
nG,G— Na řádek číslo n, na poslední řádek. -
%— Pokud máte kurzor na něčem ze znaků {}(), skočí pro danou otevírací/koncovou závorku na příslušnou koncovou/otevírací závorku.
Značky
Hodí se, pokud potřebujete rychle přeskakovat mezi několika místy v textu.
mpísmeno— Uloží aktuální pozici kurzoru v textu do proměnné písmeno.`písmeno— Přesune kurzor na pozici uloženou v proměnné písmeno.
Vyjímání, kopírování a vkládání textu
Části řádku
- Stiskněte
vpro přechod do vizuálního módu (slouží k označování textu). - Pomocí šipek vyberete text, který chcete zkopírovat či vyjmout.
- Stisknete
ypro zkopírování,dpro vyjmutí. - Přesunete kurzor kam to chcete vložit a stisknete
p.
Celé řádky
dd— Vyjmout řádek do schránky.yy— Zkopírovat řádek do schránky.p— Vložit obsah ze schránky.
Vyťukáním čísla před dd či yy se číslo pochopí jako počet řádků, kterých se operace týká.
Takže například 5dd vyjme pět řádků do schránky.
Zpět/Vpřed (Undo/Redo)
u— Vrátí zpět poslední změnu.ctrl+r— Zruší vrácení zpět předchozí změny.
Hledání vzorků
/vzorek— Najít vzorek směrem vpřed.?vzorek— Najít vzorek směrem vzad.-
n— Opakovat poslední hledání vzorku příkazem / nebo ?. -
N— Totéž, avšak opačným směrem.
Náhrady vzorků
-
Syntaxe zápisu
-
:rozsahs/vzorek/řetězec/volba— V zadaném rozsahu nahradí vzorek zadaným řetězcem.
-
-
Příklad
-
:%s/starý/nový/g— Nahradí vzorek starý řetězcem nový v celém souboru. -
:%s/starý/nový/gc— Navíc bude vyžadovat potvrzení jednotlivých náhrad.
-
Rozdělení obrazovky
-
vsplit soubor— Rozdělí okno na dvě části vedle sebe a v části nalevo otevře zadaný soubor. -
split soubor— Rozdělí okno na dvě části nad sebou a v části nahoře otevře zadaný soubor. -
ctrl+w, šipka — Přepne na okno ve směru kam ukazuje šipka.
Odsazování
-
<<— Posune odsazení o jednu úroveň doleva. -
>>— Posune odsazení o jednu úroveň doprava.
Práce s shellem
-
:číslo_řádku,číslo_řádku!příkaz— Zadaný rozsah řádků přefiltruje zadaným příkazem. Hodí se to třeba na seřazení include/import řádek zdrojácích podle abecedy..,.+5!sort— Seřadí dalších 5 řádků od aktuální pozice kurzoru.:2,5!sortSeřadí řádky 2-5.
-
:!příkazSpustí příkaz.
Kde získat další informace?
- http://www.gentoo.org/doc/en/vi-guide.xml — Learning vi -- the "cheatsheet" technique
- http://www.nti.tul.cz/~satrapa/docs/vim/ — Pavel Satrapa — Úvod do práce s editorem Vim
Aktualizace tohoto dokumentu:
- 01.09.2006 – Přidáno něco málo do začátku.
- 03.09.2006 – Přidána část vyjímání, kopírování a vkládání textu, skok na určitý řádek.
- 23.02.2009 – Přidány značky, skok mezi otevíracími/konc. závorkami, vimdiff.
- 28.11.2011 – Přidáno rozdělení obrazovky, práce s shellem, odsazování, proč Vim ano/ne.