Klávesnica
Jeden z čitateľom Rootu mi napísal, že šípky (na posun kurzora) v emacse nefungujú. Po malej výmene emailov sme zistili, že to nebola chyba emacsu, ale terminálu: štandardný telnet z windowsu naozaj nestojí za veľa. Ak nesedíte priamo na konzole, určite si zožente poriadny terminál (tie UN*X-ovské sú zväčša v poriadku). Ale i v prípade, že máte „neschopný“ terminál, môžete emacs používať.
Kurzor sa dá ovládať nielen šípkami, ale aj klávesovými kombináciami, ako napríklad C-b pre posun vľavo. Možno ich už poznáte z módu editovania príkazového riadku z bash-u, gnuplot-u či mysql.
Stručne si zhrnieme klávesy, s ktorými by ste pri editovaní mali vystačiť nadlho. Minule som vás nabádal, aby ste si prečítali tutoriál. Ak ste si to sami prešli, budú vám mnohé klávesy už povedomé.
- šípka vľavo alebo C-b (pre ľahšie zapamätanie b je z anglického before)
- Je podľa očakávania posun kurzora vľavo, teda na predchádajúci znak.
Za klasickými editovacími klávesami uvediem alternatívne klávesy. To sú tie, ktoré zaberú vždy a za každých okolností – teda aj na „nechopných“ termináloch. Nemusíte sa ich hneď učiť naspamäť, ale raz sa vám určite zídu.
V zátvorke je tiež mnemotechnická pomôcka (zväčša anglické slovo), aby sa dali alternatívne klávesy ľahšie naučiť.
- šípka vpravo alebo C-f (forward)
- Posun kurzora o znak doprava.
- šípka hore alebo C-p (previous)
- Posun hore, teda na predchádzajúci riadok.
- šípka dole alebo C-n (next)
- Posun o riadok nižšie.
- Home alebo C-a (a je prvé v abecede)
- Skok na začiatok riadku.
- End alebo C-e (end)
- Presunie kurzor na koniec riadku.
- Page Down alebo C-v (v akoby šípka dole)
- Skok na nasledujúcu stranu.
- Page Up alebo M-v (Meta je akýsi protipól k Ctrl, teda M-v bude opak C-v)
- Presun na predošlú stránku.
Tu si pripomenieme M-v znamená Meta-v a na PC-čkových klávesniciach to je jednoduché pridržanie Alt a stlačenie v. Je to to isté ako stlačiť a uvoľniť Esc a potom stlačiť v, toto však zafunguje aj pri nerozumných termináloch.
- C-Home alebo M-< (znak < ukazuje na začiatok)
- Skok na samý začiatok buffra.
- C-End M-> (znak > zase ukazuje na koniec)
- Presunie kurzor na koniec bufra.
- C-l (v tomto je trochu histórie, pretože Ctrl+L sa zvyklo používať na prekreslenie obrazovky)
- Umiestni riadok, na ktorom je kurzor do stredu okna. Takto vidíme „okolie“ toho na čom práve pracujeme.
- Delete alebo C-d (delete)
- Zmaže znak na ktorom je kurzor.
- C-k (kill)
- Zmaže zbytok riadku (všetky znaky od aktuálnej pozície až do konca riadku budú zmazané z buffra). Ale zároveň si ich emacs uloží do kill ringu. Odtiaľ si ich môžete neskôr vyvolať. Niektorí z vás to asi poznajú ako clipboard. Emacs má proste svoju terminológiu.
- C-y (yank)
- Vlož text z kill ringu. Vloží naposledy vyseknutý text, ktorý sa nachádza v vrchole kill ringu. Ak by ste hneď po C-y stlačili M-y mohli by ste „listovať“ zoznamom textov, ktoré ste postupne ukladali do kill ringu. Kill ring je pamäť typu LIFO (Last In First Out).
- C-_ alebo C-/ alebo C-x u (undo)
- Odčiň posledné zmeny.
- C-s (search)
- Hľadanie. V emacse je hľadanie trochu iné, ako ste možno doteraz poznali, je interaktívne. Hneď po stlačení C-s emacs začne vyhľadávať: postupne presúva kurzor na hľadané znaky v texte tak, ako ich píšete. Stlačte C-s ešte raz a nájde ďalší výskyt hľadaného slova. Na ukončenie hľadania stlačte Enter.
- C-r (reverse search)
- Hľadanie v opačnom smere.
- C-SPC (teda Crtl a medzerník) alebo C-@
- Polož značku. Zapamätá si polohu kurzora pre ďalšie operácie. V emacse sa často operuje s regiónom. Je to časť buffra medzi aktuálnou pozíciou a značkou. S regiónom možno potom nakladať ako s celkom: možno ho zmazať, presunúť, zmeniť font, označiť HTML tagom, atď
- C-w
- Zmaž región a ulož ho do kill ringu.
Myš
V UN*Xe sa zvyknú používať všetky tri tlačidlá na myši. (Tí, ktorí majú len dve si určite emulujú to tretie stlačením oboch tlačidiel súčasne). Emacs samozrejme naplno využíva všetky tri tlačidlá.
- mouse-1 teda ľavé tlačitdlo
- Presunie kurzor na miesto kde sme klikli.
- mouse-3 pravé tlačidlo
- Označí text medzi poslednou pozíciou kurzora a miestom kde sme klikli (zároveň označený text uloží do kill ringu). Rovnaký výsledok dosiahneme aj stlačením ľavého tlačidla a ťahaním.
- mouse-2 stredné tlačidlo
- Vloží text z kill-ringu na miesto, kde sme klikli.
Aby to nebolo také suché, emacs má priradené funkcie aj pre kombinácie klávesnica a myš (Ctrl+ľavý a podobne). Možno práve preto som kedysi dávno začal používať myš na ľavej strane, aj keď som pravák: aby som mohol ovádať klávesnicu pravou rukou a zároveň myš ľavou rukou. (Ono sa to fakt dá, treba len trochu tréningu.)
- C-down-mouse-1 (teda Ctrl a ľavé tlačidlo)
- Zobrazí zoznam buffrov, z ktorého sa môžete pohodlne prepnúť do ktoréhokoľvek z nich.
- C-down-mouse-2 (Ctrl a stredné tlačidlo)
- Menu vlastností textu: farba, font… Tu je každý opis zbytočný – jednoducho si to vyskúšajte.
- C-down-mouse-2 (Ctrl a pravé tlačidlo)
- Menu aktuálneho módu. Každý editovací mód môže (ale nemusí) mať nejaké špecifické funkcie, ku ktorým sa dá pristupovať aj takto. Samozrejme okrem klasického prístupu z menu.
- ľavé tlačidlo na módovom riadku
- Posun módového riadku – užitočné najmä pri viacerých otvorených oknách. Skúste si C-x 2 a potom poposúvajte módový riadok, aby mali okná „tú správnu“ veľkosť.
- C-mouse-2 (Ctrl a stredné tlačidlo) na módovom riadku
- Rozdeľ okno vertikálne (C-x 1 návrat späť).
- C-mouse-2 (Ctrl a stredné tlačidlo) na rolovacej lište
- Rozdeľ okno horizontálne.
Tak sme sa dostali cez tak trochu nudný zoznam klávesov. Môžete ho používať ako rýchlu príručku na editovanie. A nezabúdajte, tréning robí majstrov – takže si rýchlo spustite emacs a hor sa do písania/editovania.
Linky
- TeraTerm – terminál pre windows
- ssh pre TeraTerm