GNU/Linux >> Znalost Linux >  >> Linux

Jak používat značky a provádět výběr textu ve Vimu

Při používání editorů textu/zdrojového kódu založených na grafickém uživatelském rozhraní jsou některé funkce dané, jako je výběr textu. Chci říct, že většina z nás to už ani nebude považovat za funkci. Ale to není případ editorů založených na příkazovém řádku, jako je Vim. Konkrétně pro Vim, když používáte pouze klávesnici, budete se muset naučit určité příkazy, abyste mohli vybrat text tak, jak chcete. V tomto tutoriálu podrobně probereme tuto funkci a také funkci 'značky' Vimu.

But before we start doing that, it's worth mentioning that all the examples, commands, and instructions mentioned in this tutorial have been tested on Ubuntu 16.04, and the Vim version we've used is 7.4.

Za předpokladu, že máte základní znalosti o editoru Vim (Ne? žádný problém, jen zamiřte sem), věděli byste, že příkaz 'd' vám ​​umožňuje vyjmout/smazat řádek. Ale co když chcete ořezat řekněme 3 řádky? Vaše odpověď by mohla znít:'opakujte příkaz třikrát'. Dobře, ale co když je požadavkem vystřihnout celý odstavec (nebo řekněme pár z nich)? Je praktické řešení nejprve ručně spočítat počet řádků a poté spustit příkaz 'd' (i když použijete '[n]dd')?

Ne, to není. Lepším řešením by v tomto případě bylo vybrat řádky, které chcete vyjmout/smazat, a poté spustit příkaz 'd' jen jednou. Zde je příklad:

Předpokládejme, že chci vyjmout/smazat celý první odstavec části ÚVOD zobrazené na snímku obrazovky níže:

Takže, co udělám, je, že přesunu kurzor na začátek prvního řádku a (ujistě se, že jsem mimo režim vkládání) napíšu příkaz 'V' (Shift+v). To bude mít za následek, že bude vybrán první řádek a Vim povolí režim Visual Line.

Nyní vše, co musím udělat, je pomocí klávesy se šipkou dolů vybrat celý odstavec.

Tak to jsme chtěli, ne? Nyní stačí stisknout 'd' a vybraný odstavec bude vyjmut/smazán. Netřeba dodávat, že kromě vyjmutí/smazání můžete u vybraného textu provést jakoukoli jinou možnost.

Tím se dostáváme k dalšímu důležitému aspektu:ne pokaždé, když potřebujeme smazat celý řádek nebo řádky; co dělat v těchto případech? To znamená, že řešení, o kterém jsme právě hovořili, funguje pouze tehdy, když chcete provádět operace na kompletní lince (linkách). Co když je požadavkem odstranit první tři věty v odstavci?

I na to existuje příkaz - stačí použít 'v' místo 'V' (samozřejmě bez jednoduchých uvozovek). Následuje příklad, kde jsem použil 'v' a poté vybral první tři věty v odstavci:

Pokračujeme, někdy se data, se kterými pracujete, skládají ze samostatných sloupců a požadavkem může být výběr konkrétního sloupce. Zvažte například následující snímek obrazovky:

Předpokládejme, že požadavkem je vybrat pouze názvy zemí, což znamená druhý sloupec textu. V tomto případě tedy můžete přemístit kurzor pod první prvek příslušného sloupce a jednou stisknout Ctrl+v. Nyní pomocí klávesy se šipkou dolů vyberte první písmeno názvu každé země:

A poté pomocí klávesy se šipkou vpravo vyberte celý sloupec nebo celé názvy.

Tip :V případě, že jste z nějakého důvodu zrušili výběr bloku textu a nyní jej chcete vybrat znovu, stačí v příkazovém režimu stisknout „gv“.

Někdy, když pracujete na velkém souboru (řekněme, soubor zdrojového kódu nebo skript shellu), možná budete chtít přepnout na určité umístění a pak se vrátit na řádek, kde jste byli původně. To není problém, pokud příslušné čáry nejsou daleko nebo to musíte občas udělat.

Ale co je to naopak - musíte často přeskakovat mezi vaší aktuální polohou a různými vzdálenými řádky v souboru. No, řešením v tom případě je použít známky. Stačí označit svou aktuální polohu a vrátit se na toto místo odkudkoli v souboru pouhým uvedením názvu značky.

K označení řádku ve vimu použijte m příkaz následovaný abecedou, která představuje název značky (dostupné možnosti jsou a-z malými písmeny). Například ma . Nyní se vraťme ke značce a , použijte 'a příkaz (včetně jednoduchých uvozovek).

Tip :Můžete použít apostrof (' ) nebo zaškrtněte (`) depending on whether you want to jump to the beginning of the marked line, or specifically to řádek a sloupec značky.

Mohou existovat různé další užitečné aplikace značek Vim. Můžete například umístit značku na řádek, pak přejít na jiný řádek a spustit následující příkaz:

d'[mark-name]

smažete vše mezi vaší aktuální pozicí a označeným řádkem.

Pokračujeme, zde je důležitá nabídka z oficiální dokumentace Vimu:

Each file has a set of marks identified by lowercase letters (a-z). In addition there is a global set of marks identified by uppercase letters (A-Z) that identify a position within a particular file. For example, you may be editing ten files. Each file could have mark a, but only one file can have mark A

Takže zatímco jsme probrali základní použití malých abeced jako značek Vim, jak a kde jsou velká písmena užitečná. Následující úryvek to dostatečně objasňuje:

Because of their limitations, uppercase marks may at first glance seem less versatile than their lowercase counterpart, but this feature allows them to be used as a quick sort of "file bookmark." For example, open your .vimrc, press mV, and close Vim. The next time you want to edit your .vimrc, just press 'V to open it. 

A nakonec, chcete-li odstranit značku, použijte příkaz 'delmarks'. Například:

:delmarks a

Výše uvedený příkaz odstraní značku a ze souboru. Pokud smažete řádek obsahující značku, pak se tato značka také automaticky odstraní. Další informace o značkách najdete v dokumentaci Vim.

Jakmile začnete používat Vim jako svůj primární editor, funkce, jako jsou ty vysvětlené v tomto tutoriálu, se stanou užitečnými nástroji, které vám ušetří spoustu času. Jak jistě souhlasíte, zde vysvětlené funkce výběru a známek nevyžaduje mnoho křivky učení – vše, co je potřeba, je trochu praxe.

Pro kompletní pokrytí článků souvisejících s Vim o HowtoForge přejděte sem.


Linux
  1. Jak nainstalovat a používat nástroj příkazového řádku Mosh Linux

  2. Jak přidat záhlaví a řádek upoutávky do souboru v Linuxu

  3. jak používat pylint ve vim

  1. Jak nainstalovat a používat Vim-plug Plugin Manager v Linuxu

  2. Jak nainstalovat Vim (vi) na Windows 10

  3. Jak vložit text na začátek každého řádku ve Vimu

  1. Jak změnit a používat barevná schémata Vim

  2. Jak vyjmout, kopírovat a vložit ve Vim / Vi

  3. Co je to chroot jail a jak jej používat?