GNU/Linux >> Znalost Linux >  >> Linux

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

Úvod

Vim a jeho starší protějšek Vi jsou široce používané textové editory. Oba jsou open source (zdarma) a jsou dostupné ve většině distribucí Linuxu a macOS.

Hledání slov nebo vzorů ve Vim/Vi je běžný úkol, který vám umožňuje snadno procházet velkými soubory.

Tento výukový program vám na praktických příkladech ukazuje, jak vyhledávat ve Vim/Vi.

Důležité :Ujistěte se, že jste v normálním režimu než začnete hledat. To umožňuje navigaci v textu při použití běžných příkazů editoru. Vi a Vim ve výchozím nastavení otevírají soubor v normálním režimu.
Chcete-li přepnout do normálního režimu, stiskněte Esc .

Základní vyhledávání ve Vim / Vi

Existují dva způsoby, jak hledat vzor čísel nebo písmen v textovém editoru Vim/Vi.

1. Vyhledejte zadaný vzor vpřed

2. Vyhledejte zadaný vzor zpět

Směr je určen ve vztahu k pozici kurzoru.

Dopředné hledání dalšího výsledku slova

Chcete-li vyhledávat vpřed , použijte příkaz:

/pattern

Nahraďte pattern s položkami, které chcete najít.

Chcete-li například vyhledat všechny výskyty vzoru "root" , měli byste:

1. Stiskněte Esc abyste se ujistili, že Vim/Vi je v normálním režimu.

2. Zadejte příkaz:

/root

Textový editor zvýrazní první výskyt vzoru za kurzorem. Na obrázku níže můžete vidět, že výsledek je součástí slova, které obsahuje zadaný vzor. Důvodem je, že příkaz nespecifikuje hledání celých slov.

Z této pozice vyberte Enter a:

  • přeskočit na další výskyt vzoru ve stejném směru pomocí n
  • přeskočit na další výskyt vzoru v opačném směru pomocí N

Vyhledávání slova zpětně

Chcete-li hledat zpět typ:

?pattern

Nahraďte pattern s položkami, které chcete najít.

Chcete-li například vyhledat všechny výskyty vzoru "nologin" , měli byste:

1. Stiskněte Esc abyste se ujistili, že Vim/Vi je v normálním režimu.

2. Zadejte příkaz:

?nologin

Vim/Vi zvýrazní první výskyt zadaného vzoru před kurzorem.

Stiskněte Enter pro potvrzení hledání. Potom můžete:

  • přesuňte se na další výskyt vzoru ve stejném směru pomocí n
  • přeskočte na další výskyt vzoru v opačném směru pomocí N

Vyhledávání aktuálního slova

Aktuální slovo je slovo, kde se nachází kurzor.

Místo zadávání vzoru a výzvy Vim/Vi, aby jej našel, přesuňte kurzor na slovo a dejte mu pokyn, aby našel další výskyt tohoto slova.

1. Nejprve se stisknutím Esc ujistěte, že jste v normálním režimu .

2. Poté přesuňte kurzor na požadované slovo.

3. Zde můžete:

  • Vyhledejte další výskyt slova pomocí *
  • Vyhledejte předchozí výskyt slova pomocí #

Pokaždé, když stisknete * nebo # kurzor se přesune na další/předchozí instanci.

Hledání celých slov

Chcete-li vyhledat celá slova, použijte příkaz:

/\<word\>

Textový editor zvýrazní pouze první celé slovo přesně tak, jak je uvedeno v příkazu.

Otevřít soubor v konkrétním slově

Vim (a Vi) umí otevřít soubory se zadaným slovem, což vám umožní přeskočit krok a přejít přímo na hledaný výraz.

Chcete-li otevřít soubor s konkrétním slovem, použijte příkaz:

vim +/word [file_name]

nebo

vi +/word [file_name]

Chcete-li například otevřít /etc/passwd soubor, kde poprvé použije výraz "root" , použijte příkaz:

vim +/root /etc/passwd

Textový editor otevře soubor a první řádek, který zobrazí, je ten, který obsahuje výraz "root" , jako na obrázku níže.

Vyhledávání bez rozlišení malých a velkých písmen

Ve výchozím nastavení Vi(m) při vyhledávání v souboru rozlišuje velká a malá písmena. Pokud například hledáte výraz /user nezobrazuje výsledky s velkým U (tj. Uživatel ).

Existuje několik způsobů, jak změnit velikost Vim/Vi na malá a velká písmena.

  • Chcete-li vyhledat zadané slovo s atributem bez rozlišení velkých a malých písmen, spusťte příkaz:
/\<word\>\c

Soubor \c atribut nařizuje Vi(m), aby ignoroval malá a velká písmena a zobrazil všechny výsledky.

  • Alternativou je nastavit Vim tak, aby ignoroval malá a velká písmena během celé relace pro všechna vyhledávání. Chcete-li to provést, spusťte příkaz:
:set ignorecase
  • Konfigurační soubor lze upravit tak, aby textový editor trvale ignoroval malá a velká písmena. Otevřete soubor ~/.vimrc a přidejte řádek :set ignorecase .

Zvýrazněte výsledky vyhledávání

Vi(m) má užitečnou funkci, která zvýrazní výsledky hledání v souboru. Chcete-li povolit zvýraznění, zadejte v textovém editoru následující příkaz:

:set hlsearch

Chcete-li tuto funkci zakázat, spusťte:

:set !hlsearch

Historie vyhledávání

Vi(m) sleduje vyhledávací příkazy použité v relaci. Procházejte dříve používané příkazy zadáním ? nebo / a pomocí tlačítka nahoru a dolů klíče.


Linux
  1. Jak najít soubor v Linuxu

  2. Průvodce textovým editorem ViM 101

  3. Jak nainstalovat Vim (vi) na Windows 10

  1. Jak najít konkrétní text pomocí GREP v systému Linux

  2. Editor Vi a Vim:12 účinných příkladů hledání a nahrazování

  3. Jak přidat příkaz do editoru vim?

  1. Jak hledat ve Vim / Vi

  2. Jak vyhledávat v konkrétních souborech odpovídajících vzoru?

  3. jak provést vim vyhledávání inverzní vyhledávání pro všechny řádky bez textu