GNU/Linux >> Znalost Linux >  >> Linux

Práce s editorem Vim (textový editor)

Pokud pracujete v režimu příkazového řádku, možná se budete chtít seznámit s alespoň jedním textovým editorem, který funguje v konzole Linux. Editor vi je původní editor používaný na systémech Unix. Používá grafický režim konzoly k emulaci okna pro úpravy textu, což vám umožňuje vidět řádky vašeho souboru, pohybovat se v souboru a vkládat, upravovat a nahrazovat text.

I když je to dost možná nejsložitější editor na světě (alespoň podle názoru těch, kteří ho nenávidí), poskytuje mnoho funkcí, které z něj po desetiletí učinily základ pro unixové administrátory. Když projekt GNU přenesl editor vi do světa open source, rozhodli se v něm provést určitá vylepšení. Protože se již nepodobal původnímu editoru vi nalezenému ve světě Unixu, vývojáři jej také přejmenovali na vi vylepšené nebo vim. Aby se správcům systému usnadnil život, téměř všechny distribuce Linuxu vytvářejí alias s názvem vi, který ukazuje na program vim:

# alias vi='vim'

Základy vim

Editor vim pracuje s daty ve vyrovnávací paměti. Chcete-li spustit editor vim, zadejte soubor, který chcete upravit, příkaz :vim (nebo vi, pokud existuje alias) a název souboru

# vi /etc/fstab

Pokud spustíte vim bez názvu souboru nebo pokud soubor neexistuje, vim otevře novou oblast vyrovnávací paměti pro úpravy. Pokud na příkazovém řádku zadáte existující soubor, vim načte celý obsah souboru do oblasti vyrovnávací paměti, kde je připraven k úpravám, jak je znázorněno níže:

Editor vim detekuje typ terminálu pro relaci a používá režim celé obrazovky k použití celého okna konzoly pro oblast editoru. Počáteční okno pro úpravy vim zobrazuje obsah souboru (pokud nějaký existuje) spolu s řádkem zprávy ve spodní části okna. Pokud obsah souboru nezabírá celou obrazovku, vim umístí vlnovku na řádky, které nejsou součástí souboru.

Řádek zprávy ve spodní části označuje informace o upraveném souboru v závislosti na stavu souboru a výchozím nastavení ve vaší instalaci vim. Pokud je soubor nový, zobrazí se zpráva [Nový soubor].

Editor vim má dva provozní režimy:

  • Normální režim
  • Režim vkládání

Když poprvé otevřete soubor (nebo spustíte nový soubor) pro úpravy, editor vim přejde do normálního režimu. V normálním režimu editor vim interpretuje stisknuté klávesy jako příkazy.

V režimu vkládání vim vloží každou klávesu, kterou zadáte, na aktuální pozici kurzoru ve vyrovnávací paměti. Pro vstup do režimu vkládání stiskněte klávesu i. Chcete-li opustit režim vkládání a vrátit se do normálního režimu, stiskněte klávesu Escape na klávesnici.

V normálním režimu můžete pohybovat kurzorem po textové oblasti pomocí kláves se šipkami (pokud vim správně detekuje typ vašeho terminálu). Příkazy vim zahrnují příkazy pro pohyb kurzoru:

  • h posun o jeden znak doleva
  • j posun o řádek dolů (další řádek v textu)
  • k posun o řádek nahoru (předchozí řádek v textu)
  • l přesunout o jeden znak doprava

Pohyb ve velkých textových souborech řádek po řádku může být únavný. Naštěstí vim poskytuje několik příkazů, které pomohou věci urychlit:

  • PageDown (nebo Ctrl+F ) pro posun o jednu obrazovku dat vpřed
  • PageUp (nebo Ctrl+B ) přesunout zpět o jednu obrazovku dat
  • G přesunout na poslední řádek ve vyrovnávací paměti
  • číslo G pro přesun na číslo řádku ve vyrovnávací paměti
  • gg přesunout na první řádek ve vyrovnávací paměti

Editor vim má v normálním režimu speciální funkci, která se nazývá režim příkazového řádku. Režim příkazového řádku poskytuje interaktivní příkazový řádek, kde můžete zadávat další příkazy pro ovládání akcí ve vimu. Chcete-li přejít do režimu příkazového řádku, stiskněte v normálním režimu dvojtečku. Kurzor se přesune na řádek zprávy a objeví se dvojtečka, která čeká na zadání příkazu. V režimu příkazového řádku je několik příkazů pro uložení bufferu do souboru a ukončení vim:

  • q ukončit, pokud nebyly provedeny žádné změny v datech vyrovnávací paměti
  • q! ukončit a zrušit všechny změny provedené v datech vyrovnávací paměti
  • w název_souboru, chcete-li soubor uložit pod jiným názvem
  • wq pro uložení dat vyrovnávací paměti do souboru a ukončení

Úprava dat

V režimu vkládání můžete vkládat data do vyrovnávací paměti; někdy však potřebujete přidat nebo odebrat data poté, co jste je již zadali do vyrovnávací paměti. V normálním režimu poskytuje editor vim několik příkazů pro úpravu dat ve vyrovnávací paměti. Níže uvedená tabulka uvádí některé běžné editační příkazy pro vim.

Příkaz Popis
x Odstranit znak na aktuální pozici kurzoru.
dd Odstranit řádek na aktuální pozici kurzoru.
dw Smazat slovo na aktuální pozici kurzoru.
d$ Odstranit do konce řádku od aktuální pozice kurzoru.
J Odstranit konec řádku na konci řádku na aktuální pozici kurzoru (spojuje řádky).
u Vrátí zpět předchozí příkaz úprav.
a Přidat data za aktuální pozici kurzoru.
A Přidat data na konec řádku na aktuální pozici kurzoru.
r char Nahraďte jeden znak na aktuální pozici kurzoru znakem.
R text Přepište data na aktuální pozici kurzoru textem, dokud nestisknete klávesu Escape.

Některé z editačních příkazů také umožňují použít číselný modifikátor k určení, kolikrát se má příkaz provést. Například příkaz 2x odstraní dva znaky počínaje aktuální pozicí kurzoru a příkaz 5dd odstraní pět řádků, počínaje řádkem od aktuální pozice kurzoru.

Standardní funkcí moderních editorů je možnost vyjmout nebo zkopírovat data a poté je vložit na jiné místo v dokumentu. Editor vim poskytuje způsob, jak toho dosáhnout. Stříhání a lepení je poměrně snadné. Už jste viděli příkazy, které mohou odstranit data z vyrovnávací paměti. Když však vim data odstraní, ve skutečnosti je ponechá uložená v samostatném registru. Tato data můžete načíst pomocí příkazu p.

Můžete například použít příkaz dd k odstranění řádku textu, poté přesunout kurzor na místo ve vyrovnávací paměti, kam jej chcete umístit, a poté použít příkaz p. Příkaz p vloží text za řádek na aktuální pozici kurzoru. Můžete to udělat pomocí libovolného příkazu, který odstraní text. Kopírování textu je trochu složitější. Příkaz copy ve vimu je y (pro trhnutí). S y můžete použít stejný druhý znak jako s příkazem d (yw pro vytržení slova, y$ táhnout na konec řádku). Po vytažení textu přesuňte kurzor na místo, kam chcete text umístit, a použijte příkaz p. Vytrhnutý text se nyní objeví na tomto místě.

Vytrhávání je složité v tom, že nevidíte, co se stalo, protože neovlivňujete text, který trháte. Nikdy nevíte jistě, co jste strhli, dokud to někam nevložíte. Ale ve vimu je další funkce, která vám pomůže s trháním. Vizuální režim zvýrazňuje text, když pohybujete kurzorem. Vizuální režim se používá k výběru textu, který má být vytažen pro vložení. Chcete-li vstoupit do vizuálního režimu, přesuňte kurzor na místo, kde chcete začít trhat, a stiskněte v. Všimnete si, že text na pozici kurzoru je nyní zvýrazněn. Dále přesuňte kurzor tak, aby zakryl text, který chcete vytrhnout (můžete dokonce posouvat po řádcích dolů a vytrhnout více než jeden řádek textu). Když pohybujete kurzorem, vim zvýrazňuje text v oblasti trhání. Poté, co zakryjete text, který chcete zkopírovat, stiskněte klávesu y pro aktivaci příkazu trhnutí. Nyní, když máte text v registru, přesuňte kurzor na místo, kam chcete vložit, a použijte p příkaz.

Hledat a nahrazovat

Data ve vyrovnávací paměti lze snadno vyhledávat pomocí příkazu vim search. Chcete-li zadat hledaný řetězec, stiskněte klávesu s lomítkem (/). Kurzor přejde na řádek zprávy a vim zobrazí lomítko. Zadejte text, který chcete najít, a stiskněte klávesu Enter. Editor vim odpoví jednou ze tří akcí:

  • Pokud se slovo objeví za aktuálním umístěním kurzoru, přeskočí na první místo, kde se objeví text.
  • Pokud se slovo neobjeví za aktuálním umístěním kurzoru, obtéká konec souboru na první místo v souboru, kde se nachází text (a označí to zprávou). Vygeneruje chybovou zprávu oznamující, že text nebyl v souboru nalezen.
  • Chcete-li pokračovat v hledání stejného slova, stiskněte znak lomítka a poté klávesu Enter, nebo můžete pro další krok použít klávesu n.

Příkaz náhradní umožňuje rychle nahradit (nahradit) jedno slovo jiným v textu. Abyste se dostali k náhradnímu příkazu, musíte být v režimu příkazového řádku. Formát náhradního příkazu je:

:s/old/new/

Editor vim skočí na první výskyt textu old a nahradí ho textem new. Existuje několik úprav, které můžete provést v příkazu substitu k nahrazení více než jednoho výskytu textu:

:s/old/new/g        ## to replace all occurrences of old in a line
:n,ms/old/new/g     ## to replace all occurrences of old between line numbers n and m
:%s/old/new/g       ## to replace all occurrences of old in the entire file
:%s/old/new/gc      ## to replace all occurrences of old in the entire file, but prompt for each occurrence


Linux
  1. Zapněte textový editor terminálu Linux pomocí ed

  2. Základy Linuxu:Průvodce pro začátečníky k úpravám textu pomocí vim

  3. Textový editor Vem – Alternativní rozložení příkazů pro Vim

  1. Průvodce textovým editorem ViM 101

  2. vim výukový program s příklady příkazů

  3. Mac Terminal v[m] Editor Commands

  1. Jak hledat a najít slovo v textovém editoru Vim nebo Vi

  2. Jak nainstalovat Vim Text Editor na Ubuntu

  3. E-mailový klient s úpravou Vim