 |
Editor příkazového řádku
Často se vám stane, že byste chtěli znovu použít některý z předchozích
Ex-příkazů. Nebo jej lehce upravit. Zejména při ladění složitějších
nahrazovacích příkazů je taková potřeba takřka bytostná. vim nabízí
pomocnou ruku.
Má totiž vestavěn editor příkazového řádku. Chová se tak, jak jsme u podobných
nástrojů zvyklí - umí vyvolávat dříve používané příkazy, dovolí vám po
nich šmejdit kurzorem a upravovat je a dokoce dovede i doplňovat názvy souborů
či jiných objektů.
Základními nástroji pro pohyb v historii příkazů jsou klávesy [šipka nahoru] a [šipka dolů] . Jejich prostřednictvím můžete
vyvolávat starší či novější příkazy. Kapacita historie je dána volbou history . Například příkazem :set history=50 nařídíte, aby si editor pamatoval
padesát příkazů.
Pokud napíšete začátek příkazu a pak stisknete [šipku nahoru] , bude vim nabízet jen ty
zapamatované příkazy, které začínají vámi zadaným řetězcem. Tím lze putování
historií podstatně urychlit.
Příklad:
Řekněme, že konvertujete skupinu souborů z textového formátu MS DOSu do
Unixu a nemáte po ruce nic vhodnějšího, než vim. Klasickým postupem je
spustit vim *.txt a pro každý ze souborů pak provést trojici
příkazů
:set notextmode
:w
:n
U prvního souboru je budete muset vypsat, ale u dalších pak stačí již pouhá
sekvence :s[šipka nahoru] a na příkazovém
řádku se objeví celý příkaz :set notextmode .
Stejného výsledku dosáhnete trojím stisknutím klávesy [šipka nahoru] .
V rámci řádku se pak můžete pohybovat kurzorovými klávesami [doleva] a [doprava] .
Chování editoru připomíná vkládací režim. Píšete-li viditelné znaky, vsouvají
se do řádku, [Backspace] maže znak před kurzorem
atd. atp.
Kromě příkazového řádku můžete stejný editor používat i pro vyhledávané vzory,
výrazy a vstupní řádky funkce input() . Každá z těchto čtyř
kategorií má svou vlastní historii a nemíchá se s ostatními.
Doplňování
Moc milou věcičkou je automatické doplňování názvů souborů, voleb a
dalších konstrukcí. Nebudu dlouho chodit kolem horké kaše a namlsám vás
příkladem.
Příklad:
Zadejte :e (za "e" je mezera) a stiskněte [Tab] . Editor pípne a nabídne vám jméno prvního souboru
z aktuálního adresáře. Když [Tab] opakujete,
nabízí další a další soubory.
Klávesa [Tab] totiž aktivuje automatické doplnění
právě rozepsaného slova. vim dovede doplňovat
- jména příkazů
- jména hesel
- jména souborů
- jména voleb
Chová se inteligentně - doplňované objekty vybírá podle pozice, kde se
momentálně nachází kurzor. Například ve výše uvedeném příkladu byl kurzor na
pozici parametru příkazu :e , kterým má být jméno
souboru. Proto se nabízely názvy souborů. Kdybyste místo :e zahájili příkaz :set ,
nabízel by názvy voleb.
Když zadáte počáteční znaky, nabízí editor pouze jména, která začínají uvedeným
řetězcem. Vyhovuje-li jediné, bude doplněno. Jestliže existuje několik
vyhovujících alternativ, vim pípne (aby upozornil, že by cosi mohlo
drhnout) a doplní první vyhovující jméno. Pokud vám nevyhovuje, stiskněte
[Tab] znovu a dostanete další. A tak dále pořád
dokola.
Klávesou Ctrl-D si vypíšete všechna vyhovující
jména, takže budete mít přehled. Pomocí Ctrl-N a
Ctrl-P můžete poskakovat mezi jednotlivými
možnostmi.
Automatické doplňování ve skutečnosti není pevně svázáno s klávesou [Tab] . Například původní editor vi k tomuto
účelu používal Ctrl-E a stejně se chová i
vim, pokud pracuje v (implicitním) kompatibilním režimu. Klávesu,
která má aktivovat automatické doplnění určuje volba wildchar . Například po provedení :set wildchar=<F5> bude doplňovat funkční
klávesa [F5] .
© 1997, 1998 Pavel Satrapa
|