Linux Tutorial – 6. Vi Textový editor

Úvod

Ovládněte textový editor Vi a naučte se provádět složité úpravy souborů s menším úsilím a časem.

V minulé části jsme vytvořili několik souborů, které však byly prázdné. Trochu nuda, ale někde začít musíme. V této části se podíváme na nástroj pro vkládání obsahu do souborů a také na úpravy tohoto obsahu. Vi je textový editor, který se s největší pravděpodobností velmi liší od všech editorů, které jste dosud používali. Bude chvíli trvat, než se v něm zorientujete, ale jakmile se vám to podaří, zjistíte, že je vlastně docela mocný. Je to něco jako psaní na klávesnici dotykem, zpočátku je učení nepohodlné a říkáte si, proč se namáháte, ale jakmile si ho osvojíte, nebudete se chtít vrátit zpět.

I když nebudete Vi používat stále, určitě zjistíte, že pracovní vzorce, které si při učení editoru vytvoříte, lze snadno přenést do jiných programů a s velkým efektem.

Tato část a několik následujících částí vlastně tvoří základ pro několik posledních částí, kde je všechny spojíme dohromady a začneme dělat opravdu zábavné věci. Rozhodl jsem se podívat se na Vi jako první, aby vaše mysl měla trochu času to zpracovat a dát tomu smysl v rámci přípravy na pozdější dobu, kdy to budeme potřebovat.

Vi je velmi mocný nástroj. V této části není mým cílem popsat vše, co Vi umí, ale seznámit vás se základy. Na konci oddílu uvedu několik odkazů na zdroje, kde se můžete Vi dále učit. Vřele doporučuji, abyste se do několika z nich podívali.

Editor příkazového řádku

Vi je textový editor pro příkazový řádek. Jak by vám teď mohlo být zcela jasné, příkazový řádek je zcela jiné prostředí než grafické uživatelské rozhraní. Je to jediné okno pouze s textovým vstupem a výstupem. Vi bylo navrženo tak, aby pracovalo v rámci těchto omezení, a mnozí by tvrdili, že je díky tomu vlastně docela výkonné. Vi je zamýšlen jako obyčejný textový editor (podobně jako Notepad v systému Windows nebo Textedit v systému Mac) na rozdíl od textového editoru, jako je Word nebo Pages. Ve srovnání s Poznámkovým blokem nebo Texteditem má však mnohem větší výkon.

V důsledku toho se musíte zbavit myši. Vše ve Vi se provádí pomocí klávesnice.

Ve Vi existují dva režimy. Režim vkládání (neboli Input) a režim úprav. V režimu vkládání můžete vkládat nebo zadávat obsah do souboru. V režimu úprav se můžete pohybovat po souboru, provádět akce, jako je mazání, kopírování, vyhledávání a nahrazování, ukládání atd. Častou chybou je začít zadávat příkazy bez předchozího návratu do režimu úprav nebo začít zadávat vstupní údaje bez předchozího přechodu do režimu vkládání. Pokud uděláte některou z těchto situací, je obvykle snadné se z toho vzpamatovat, takže se tím příliš netrapte.

Když spouštíme vi, obvykle ho vydáváme s jediným argumentem příkazového řádku, kterým je soubor, který chcete upravit.

vi <soubor>

Pokud zapomenete zadat soubor, existuje způsob, jak soubor v rámci vi otevřít, ale nejjednodušší je prostě ukončit vi a zkusit to znovu. Nezapomeňte také, že když zadáváme soubor, může to být buď s absolutní, nebo relativní cestou.

Ponořme se do toho a začněme. Bude pro mě těžké mnohé z toho předvést, takže místo toho uvedu, co mám zadat, a vy to budete muset zkusit a uvidíte, co se stane.

Nejprve se přesuňme do svého adresáře, který jste vytvořili v části o manipulaci se soubory. Vytvoříme si několik souborů a díky tomu nebudou překážet vašim běžným věcem.

Teď si upravíme náš první soubor.

  1. vi firstfile

Při spuštění tohoto příkazu se soubor otevře. Pokud soubor neexistuje, vytvoří jej za vás a pak jej otevře. (není třeba se souborů před úpravou dotýkat) Po zadání příkazu vi to bude vypadat nějak takto (i když v závislosti na tom, na jakém systému pracujete, to může vypadat trochu jinak).

  1. ~
  2. ~
  3. ~
  4. ~
  5. ~
  6. ~
  7. „první soubor“

Vždy začínáte v editačním režimu, takže první věc, kterou uděláme, je přepnutí do vkládacího režimu stisknutím i. To, že jste v režimu vkládání, poznáte podle toho, že se v levém dolním rohu zobrazí nápis

  1. ~
  2. ~
  3. ~
  4. ~
  5. ~
  6. — INSERT —

Nyní napište několik řádků textu a stiskněte Esc, čímž se vrátíte do režimu úprav.

Uložení a ukončení

Existuje několik způsobů, jak to provést. Všechny dělají v podstatě totéž, takže si vyberte ten způsob, který vám více vyhovuje. U všech se nejprve ujistěte, že jste v režimu úprav.

Pokud si nejste jisti, zda jste v režimu úprav, nebo ne, můžete se podívat do levého dolního rohu. Pokud tam není napsáno INSERT, jste v pořádku. Případně můžete pro jistotu stisknout Esc. Pokud jste již v editačním režimu, stisknutí klávesy Esc nic neudělá, takže si nijak neublížíte.

Většina příkazů ve vi se provede, jakmile stisknete sekvenci kláves. Jakýkoli příkaz začínající dvojtečkou ( : ) vyžaduje pro dokončení příkazu stisknutí klávesy <enter>.

Uložení a ukončení právě otevřeného souboru

Další způsoby prohlížení souborů

vi nám umožňuje upravovat soubory. Kdybychom chtěli, mohli bychom jej použít i k prohlížení souborů, ale k tomuto účelu jsou o něco vhodnější dva jiné příkazy. Prvním z nich je cat, což je vlastně zkratka pro concatenate. Jeho hlavním účelem je spojovat soubory dohromady, ale ve své nejzákladnější podobě je užitečný pouze pro prohlížení souborů.

cat <soubor>

Pokud spustíte příkaz cat a zadáte mu jediný argument příkazového řádku, kterým je soubor, který jsme právě vytvořili, zobrazí se na obrazovce jeho obsah, za kterým následuje výzva.

Pokud omylem spustíte příkaz cat, aniž byste mu zadali argument příkazového řádku, zjistíte, že se kurzor přesune na další řádek a pak se nic nestane. Protože jsme nezadali soubor, cat místo toho čte z něčeho, co se nazývá STDIN (o čemž se dozvíme v části „Piping a přesměrování“, která je výchozí pro klávesnici. Pokud něco napíšete a pak stisknete klávesu <enter>, uvidíte, jak cat zrcadlí váš vstup na obrazovku. Chcete-li se odtud dostat, můžete stisknout <Ctrl> + c, což je v Linuxu univerzální signál pro Storno.

V podstatě kdykoli se dostanete do potíží, můžete obecně stisknout <Ctrl> + c, abyste se z nich dostali.

  1. cat firstfile
  2. zde uvidíte
  3. jakýkoli obsah, který jste
  4. do souboru zadali

Tento příkaz je příjemný, pokud máme k prohlížení malý soubor, ale pokud je soubor velký, pak většina obsahu přelétne přes obrazovku a my uvidíme jen poslední stránku obsahu. Pro větší soubory je vhodnější příkaz, který je méně.

méně <soubor>

méně umožňuje pohybovat se v souboru nahoru a dolů pomocí šipek. Můžete se posunout o celou stránku vpřed pomocí mezerníku nebo o stránku zpět stisknutím klávesy b. Až budete hotovi, můžete stisknout q pro quit.

Podívejte se nyní na soubor, který jste právě vytvořili, pomocí obou těchto příkazů.

Navigace v souboru ve Vi

Nyní se vrátíme do souboru, který jsme právě vytvořili, a zadáme další obsah. V režimu vkládání můžete pro pohyb kurzoru používat klávesy se šipkami. Zadejte další dva odstavce obsahu a pak stiskněte klávesu Esc, abyste se vrátili do režimu úprav.

Níže jsou uvedeny některé z mnoha příkazů, které můžete zadávat pro pohyb po souboru. Pohrajte si s nimi a zjistěte, jak fungují.

  • Klávesy se šipkami – pohyb kurzoru
  • j, k, h, l – pohyb kurzoru dolů, nahoru, doleva a doprava (podobně jako šipky)
  • ^ (caret) – přesun kurzoru na začátek aktuálního řádku
  • $ – přesun kurzoru na konec aktuálního řádku
  • nG – přesun na n-tý řádek (např. 5G přesune na pátý řádek)
  • G – přesun na poslední řádek
  • w – přesun na začátek dalšího slova
  • nw – přesun o n slov dopředu (např. 2w přesune dvě slova dopředu)
  • b – přesun na začátek předchozího slova
  • nb – přesun o n slov zpět
  • { – přesun o jeden odstavec zpět
  • } – přesunout se o jeden odstavec dopředu

Pokud v editačním režimu v rámci vi zadáte :set nu, povolí se číslování řádků. Zjistil jsem, že zapnutí číslování řádků značně usnadňuje práci se soubory.

Odstranění obsahu

Před chvílí jsme viděli, že pokud se chceme ve vi pohybovat, máme k dispozici poměrně dost možností. Některé z nich nám také umožňují předřadit před ně číslo, abychom se mohli přesunout tolikrát. Mazání funguje podobně jako pohyb, ve skutečnosti nám několik příkazů pro mazání umožňuje začlenit příkaz pro pohyb, abychom definovali, co se bude mazat.

Níže jsou uvedeny některé z mnoha způsobů, jak můžeme v prostředí vi mazat obsah. Nyní si s nimi pohrajte. (podívejte se také na níže uvedenou část o zrušení, abyste mohli své smazání vrátit zpět.)

  • x – odstraní jeden znak
  • nx – odstraní n znaků (např. 5x odstraní pět znaků)
  • dd – odstraní aktuální řádek
  • dn – d následované příkazem pro pohyb. Smazání do místa, kam by se přesunul příkaz pro přesun. (Např. d5w znamená smazání 5 slov)

Zrušení

Zrušení změn ve vi je poměrně snadné. Je to znak u.

  • u – Vrátit zpět poslední akci (pro další vracení můžete stisknout u)
  • U (pozn.: velké písmeno) – Vrátit zpět všechny změny na aktuálním řádku

Dále

Můžeme nyní vkládat obsah do souboru, pohybovat se v souboru, mazat obsah a vracet jej zpět, pak uložit a ukončit. Nyní můžete provádět základní úpravy v programu vi. Tím jsme se však jen dotkli povrchu toho, co vi umí. Nebudu zde zabíhat do všech podrobností (myslím, že už jsem toho na vás vychrlil dost), ale uvedu vám několik věcí, na které se možná budete chtít podívat, abyste prohloubili své znalosti ve vi. Základní vyhledávání ve vámi zvoleném vyhledávači pro vi <vložte zde pojem> vám najde mnoho stránek s užitečnými informacemi. Existuje také mnoho taháků pro vi, které obsahují seznam všech příkazů, které máte k dispozici.

  • kopírovat a vložit
  • vyhledat a nahradit
  • pouzdra
  • značky
  • rozsahy
  • nastavení

Přeji vám příjemnou zábavu a nezapomeňte v ní pokračovat. Zpočátku bude vi bolet, ale s praxí se brzy stane vaším přítelem.

Souhrn

vi Úprava souboru. cat Prohlížení souboru. less Pohodlné pro prohlížení velkých souborů.
Bez myši vi je textový editor, kde se vše provádí na klávesnici. Pokud umíte psát hmatem, pak je to skvělé. Pokud ne, pak byste možná měli přemýšlet o tom, že se to naučíte. Editační příkazy Je jich mnoho. Klíčem k zapamatování těch nejčastěji používaných a nejužitečnějších je praxe.

Příkazy

Pohrajeme si s nějakým obsahem.

  • Začněte tím, že vytvoříte soubor a vložíte do něj nějaký obsah.
  • Soubor uložte a prohlédněte si ho v cat i less
  • Vraťte se do souboru ve vi a zadejte další obsah.
  • Přesunout obsah pomocí alespoň 6 různých příkazů pro pohyb.
  • Pohrajte si s několika příkazy pro mazání, zejména s těmi, které obsahují příkaz pro pohyb. Nezapomeň, že své změny můžeš vrátit zpět, abys nemusel stále vkládat nový obsah.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.