Hlavní navigace

Emacs: viac než len editor (3)

Stanislav Kuchár

Na editovanie je treba poznať nejaké klávesy. Každý editor má vyhradené nejaké. Je pravda, že emacs to možno trochu preháňa s tými modifikačnými klávesami, ale napokon veď prečo nie. EMACS = Escape Meta Alt Control Shift. Poďme sa teda pozrieť na editovanie v emacse do detailov.

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

Našli jste v článku chybu?

20. 11. 2000 8:59

Thorn (neregistrovaný)

Takze otvoris si subor pomocou M-x view-file, potom zadas meno suboru. Otvori ho vo view mode, cize len na prehliadanie. Potom strankujes ako si zvyknuty a jeden klaves, konkretne velke pismeno F ta nielen presunie na dalsiu stranku, ale aj znovunacita tvoj subor. Perfektne sa hodi na logy; nieco ako `tail -f`. Viac sa docitas na C-h m (ale musis mat ten view-mode aktivny. :)

10. 11. 2000 15:04

richo (neregistrovaný)

Ahoj

ja by som rad vedel ako jednoducho reloadnem subor ktory uz mam v emacse otvoreny. diki.

-richo-





Lupa.cz: Obchod budoucnosti je bez front, košíků i pokladen

Obchod budoucnosti je bez front, košíků i pokladen

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Nejlepší obranou při nachlazení je útok

Nejlepší obranou při nachlazení je útok

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Vitalia.cz: Test na HIV je zdarma i za pět set

Test na HIV je zdarma i za pět set

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Podnikatel.cz: E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech