☰ menu
Pavel Satrapa

Automatické doplňování textu

Tuhle schopnost oceníte především při psaní programů či příruček. V takových textech se to hemží dlouhými identifikátory, v nichž není záhodno se přepsat. vim je dovede dokončovat za vás.

Příklad:

Chtěl bych naspat následující úsek kódu:

procedure VypisSeznam ( Ktery: UkUzel );
...
  VypisSeznam ( Levy );
  Writeln ( Cislo:8, Pocet:6 );
  VypisSeznam ( Pravy );

Identifikátor VypisSeznam je poměrně dlouhý a chtěl bych jej opisovat vždy zcela přesně. S vim napíši vždy jen Vyp a stisknu Ctrl-N. Editor doplní zbytek.

Klávesy Ctrl-N a Ctrl-P představují nejzákladnější způsob doplňování. Liší se pouze směrem, kterým hledají. Ctrl-N se vydá od aktuální pozice kurzoru směrem vpřed (ke konci souboru), zatímco Ctrl-P se vrací od aktuální pozice směrem k začátku textu. Jakmile narazí na slovo začínající řetězcem znaků, který se momentálně nachází před kurzorem, doplní je. Opakováním a střídáním Ctrl-N a Ctrl-P můžete procházet možnými variantami doplnění.

Co všechno se bude prohledávat, určuje volba complete. Při implicitním nastavení se nejprve prohledá aktuální text (celý, pokud hledání dorazí na začátek či konec, přetočí se na opačný konec textu). Když se vyčerpají všechny možnosti z něj, pokračuje hledáním v ostatních načtených souborech (tedy ve vedlejších oknech).

Doplňovací režim

Ve většině případů vystačíte s výše uvedeným základním doplňováním. Nabízejí se však i pokročilejší alternativy. Ty se odehrávají v doplňovacím režimu, do nějž vstoupíte příkazem Ctrl-X. Na následující klávese pak záleží, co se bude doplňovat. Ve všech případech slouží Ctrl-N (další, Next) a Ctrl-P (předchozí, Previous) k listování mezi jednotlivými variantami.

Ctrl-X Ctrl-L doplní řádek, který začíná stejně jako řádek s kurzorem. Mnemotechnika: Line.

Ctrl-X Ctrl-N a Ctrl-X Ctrl-P se chovají stejně jako bez úvodního Ctrl-X. Tedy doplní slovo.

Ctrl-X Ctrl-K také doplňuje slovo, hledá je však ve slovnících, jejichž jména obsahuje volba dictionary. Mnemotechnika: Keyword.

Ctrl-X Ctrl-I se také chová podobně. Slovo k doplnění hledá v aktuálním textu a souborech, které se do něj vkládají. Mnemotechnika: Included files.

Ctrl-X Ctrl-] doplní první heslo, které začíná slovem před kurzorem. Soubory se seznamy hesel určuje volba tags. Mnemotechnika: Tag.

Ctrl-X Ctrl-F doplní jméno souboru, které začíná slovem před kurzorem. Mnemotechnika: File.

Ctrl-X Ctrl-D doplní jméno makra definovaného v aktuálním nebo do něj vloženém souboru. Mnemotechnika: Definition.

Všimněte si, že po stisknutí Ctrl-X se ve stavovém řádku objeví stručná nápověda, jak můžete pokračovat. Stejně tak při procházení jednotlivých možností. Jakmile stisknete jinou než zde uvedenou klávesu, vim ukončí doplňovací režim, použije momentálně vybrané doplnění a pokračuje ve standardním vkládacím režimu.