![]() |
HledáníPříkaz k vyhledání řetězce znaků můžete ve vim zadat dvěma základními způsoby. Klávesa/ zahájí hledání směrem vpřed (ke
konci souboru), zatímco ? požaduje hledání v
protisměru (k začátku textu). Oba příkazy se zamozřejmě zadávají v normálním
režimu.
Jakmile stisknete Jestliže text požadovaný řetězec neobsahuje, ohlásí editor
a kurzor ponechá na původní pozici. Speciálním případem je, když text sice
hledaný řetězec obsahuje, ne však v požadovaném směru. Řekněme, že hledáte
směrem vpřed, ale od aktuální pozice do konce souboru se řetězec nevyskytuuje.
Zato je k nalezení v textu před kurzorem. Chování vim v tomto případě
závisí na nastavení proměnné wrapscan . Pokud je
zapnuta (implicitně je, lze nastavit příkazem :set wrapscan ), editor bude po dosažení konce souboru
pokračovat v hledání od jeho začátku. Najde-li jej, přesune kurzor obvyklým
způsobem na jeho začátek a doprovodí svůj čin hlášením
Zda editor má či nemá rozlišovat malá a velká písmena řídí proměnná Hlavní kouzlo vyhledávání spočívá v tom, že pro specifikaci hledaného textu máte k dispozici velmi silné prostředky. Jedná se o tak zvané regulární výrazy. Jejich problematika je však poněkud obsáhlá, takže jsem jim věnoval samostatnou kapitolu.
OpakováníChcete-li zopakovat hledání stejného řetězce, stačí zadat/[Enter] . Jestliže totiž vynecháte hledaný řetězec,
použije se automaticky ten předchozí. Totéž samozřejmě platí pro příkaz ? .
Aby věc byla ještě rychlejší, jsou pro opakované hledání připraveny dva
speciální příkazy.
Všimněte si, že dvojice kláves
Strhující závěrNa závěr jsem si nechal opravdovou lahůdku. Hledání je totiž pohyb se vším, co k němu náleží. Můžete je proto kombinovat s modifikátory, které jsem popsal v kapitole o editaci textu. Takže napříkladd/ahoj vymaže vše od
stávající pozice kurzoru až k nejbližšímu následujícímu výskytu řetězce "ahoj".
Zatím jsem neviděl editor, který by umožňoval něco podobného tak jednoduše.
© 1997, 1998 Pavel Satrapa
|