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 / Φi ?, ocitne se kurzor ve stavovΘm °ßdku, do jeho╛ prvnφ pozice vepφ╣e vßmi zadan² p°φkaz, abyste v∞d∞li, na Φem jste. P°ipi╣te za n∞j hledan² °et∞zec a zahajte hledßnφ klßvesou [Enter]. Kurzor p°istane na prvnφm znaku nejbli╛╣φho v²skytu hledanΘho °et∞zce v danΘm sm∞ru.

Jestli╛e text po╛adovan² °et∞zec neobsahuje, ohlßsφ editor

Pattern not found
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
Search hit BOTTOM, continuing at TOP

Zda editor mß Φi nemß rozli╣ovat malß a velkß pφsmena °φdφ prom∞nnß ignorecase. Je-li nastaveno :set ignorecase, vim je nebude rozli╣ovat. Pokud naopak pou╛ijete :set noignorecase, budou malß a velkß pφsmena pova╛ovßna za odli╣nß (to je implicitnφ stav).

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. n p°esn∞ opakuje poslednφ hledßnφ, zatφmco N hledß tent²╛ °et∞zec, av╣ak v opaΦnΘm sm∞ru, ne╛ poslednφ pou╛itΘ hledßnφ. Pokud tedy p°ejedete nejvhodn∞j╣φ v²skyt, m∙╛ete se pomocφ N snadno a rychle vrßtit.

V╣imn∞te si, ╛e dvojice klßves /, ? a n, N d∞lajφ totΘ╛, av╣ak v opaΦn²ch sm∞rech. P°itom druhou klßvesu ve dvojici dostanete z prvnφ pouh²m stisknutφm [Shift] (v p°φpad∞ / a ? mluvφm o p∙vodnφ americkΘ klßvesnici). Tato logika, kdy [Shift] obracφ sm∞r p°φkazu, je ve vim pom∞rn∞ Φastß. Setkali jsme se s nφ nap°φklad p°i vyhledßvßnφ znaku na °ßdku (f hledß vp°ed, F vzad).

Strhujφcφ zßv∞r

Na 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°φklad d/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.
<-- predchozi  [obsah]  dalsi -->
© 1997, 1998 Pavel Satrapa