Hlavní navigace

Emacs: viac než len editor (7)

27. 12. 2000
Doba čtení: 4 minuty

Sdílet

V dnešnej, poslednej, časti sa pozrieme na fonty emacsu, zblúdeným ovečkám z tábora vi ukážeme, že aj keď sú vičkari telom i dušou i tak si môžu užívať slasti emacsu. A nakoniec jeden vianočný darček pre všetkých emacsákov.

Font v emacse

Ktosi sa ma nedávno pýtal, či sa dá zmeniť font, ktorý emacs používa. Jasné:

$ emacs -font -tu-príde-meno-Xovského-fontu & 

Fonty sa zadávajú v Xovskom tvare. Napríklad plné meno fontu courier veľkosti 12 bodov, latin-2 kódovanie, 75 dpi, atď. je: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-2 teda emacs s týmto fontom spustíte takto:

$ emacs -font -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-2 & 

Fonty, ktoré máte nainštalované zistíte pomocou príkazu xlsfonts. Ale emacs má (ešte stále) obmedzenie, že môže používať len fonty s fixnou šírkou znakov (na 11. mieste v mene je m alebo c). Vraj sa pracuje na tom, aby sa dali používať aj ostatné fonty, ale zatiať neviem o tom, že by to bolo hotové. Alebo sa mýlim?

Takže ako zistiť, ktoré fonty môžete použiť? Fonty, ktoré máte nainštalované vypíše príkaz xlsfonts.

Viete prečo emacsákov volajú zápecníci? Na spúšťanie príkazov a iné bežné operácie na ktoré nezasvätení potrebujú osobitné programy, emacsák nemusí ani nos z emacsu vystrčiť. Otvorte si nejaký nový buffer (napríklad s menom a C-x C-f a) presunte sa doň a spustite túto šialenosť:

C-u M-! xlsfonts | egrep „^(-[^-]*){10}-[mc]“ | sort

Pekne poporiadku: M-! príkaz spustí shellovský príkaz a výstup zobrazí v spodnom riadku. Ak cheme jeho výstup v buffri, spustíme ho s univerzálnym argumentom C-u. Celá vec teda vloží do aktuálneho buffra (C-u) výstup príkazu (M-!) xlsfonts, ktorý vyfiltruje všetky fonty s fixnou šírkou ( egrep) a utriedi ich ( sort). Pozor: môže to chvíľu trvať, najmä ak máte tých fontov veľa.

Fonty, ktoré majú na 7. a 8. mieste nulu sú zväčša škálovateľné, s tými odporúčam experimentovať až keď si overíte, že fungujú klasické Xovské (s číslom väčším ako nula 7. a 8. mieste).

Pre fajnšmekrov: keď otestujete všetky fonty a rozhodnete sa pre nejaký konktrétny, môžete si ho uložiť do ~/.Xresources (alebo ~/.Xdefaults)
emacs*font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-2
a po ďalšom prihlásení ho nemusíte zadávať z príkazového riadku.

Emacs vs. vi

Je to sranda, ale počas každého interview, ktoré som absolvoval (tam niekde za veľkou mlákou), som dostal otázku na môj preferovaný editor.

– Emacs alebo vi? – pýta sa inkvizítor s očami prenikajúcimi do najskrytejších zákutí programátorovej duše.
 – E-e-emacs. Na vi som si doteraz nezvykol, – odpovedám ja (nesmelo, s obavou prečo sa to len pýta).

Takmer vždy ma uisťovali, že to nie je dôležité, len že by to chceli vedieť, pretože v danej firme je silný tábor emacsákov a vičkarov, a chcú len vedieť na ktorú stranu by sa miska váh prevážila, ak by ma prijali.

Po tom, čo som sa prihlásil do tábora emacsu, som vždy dostal reakciu v závislosti od toho, do ktorého tábora patril inkvizítor, ehm vlastne interviewer. Ak to bol emacsista, úspešne som postúpil do ďalšieho kola hneď po tom, čo sme si vymenili nejaké zujímavé tipy.

Ak bol však vičkar, mal som čierny bodík a nepomohlo ani ubezpečovanie, že mám aj nejaké znalosti vi a že keď na neznámom počítači zlyhá pátranie po emacse, oddávam sa úplne slastiam vička: spúšťam vi ako úplnú istotu. V ďalšom kole si na mňa extra posvietil.

Zmija, alebo VIPER

Ak patríte aj vy medzi zblúdené ovečky – a moc ste si zvykli na ovládanie vička, nezúfajte nie ste sami, je vás viac. Pre zbehov od vi je určený „VIPER: vi mód v emacse.“ Vi má svoje nesporné výhody (napríklad nikdy netreba dať prsty dolu zo základnej písmenkovej klávesnice (teda okrem Esc), zato emacs úplne vyčerpáva možnosti Crtl, Alt, Shift

Do svojho ~/.emacs si pridajte tieto dva riadky a môžete sa vytešovať, ako krásne sa vám ten emacs pretvaruje, že je vi.
  (setq viper-mode t)
(require 'viper)

Ako hovorí info dokumentácia VIPER je plán na záchranu emacsu. (VI Plan for Emacs Rescue). Hmm, neviem či to mysleli vážne, ale ak ste vyšinutý na stranu vička a páčia sa vám možnosti, ktoré emacs poskutuje, určite si túto zmiju vyskúšajte.

Darček

A teraz sľúbený darček. Nemusíte hľadať pod stromčekom, je tu a volá sa: Emacs: tipy, triky, otázky.

Ako sám názov napovedá, je to diskusné fórum, ktorého hlavnou témou je emacs. Ak máte nejakú otázku, ako niečo vyriešiť, dlho vás trápi nejaká maličkosť, chcete vedieť kde hladať takú a takú funkciu, alebo ste vynašli nejaký prefíkaný trik, nad ktorým ste strávili hodiny usilovného štúdia a nechcete si ho schovávať doma, ale chcete sa s ním podeliť s ostatnými emacsákmi, tak sem s ním. Fórum „Emacs: tipy, triky, otázky“ čaká na vaše príspevky.

ict ve školství 24

Na záver

A je tu záver nášho emacsovského seriálu. Dúfam, že vám to rozšírilo obzory, že emacs už pre vás nie je veľká neznáma, určená len pre tých niekoľko vyvolených. Dúfam tiež, že aj starí emacs harcovníci si našli niečo fajnové, o čom doteraz nevedeli. Napíšte mi dole do diskusie, čo vám tento seriál priniesol, čo možno aj chýbalo, či chcete takéto a podobné články.

Popísať emacs do úplných detailov je, myslím, syzifoská úloha, ale snažil som sa vám odhaliť cesty a spôsoby akým sa naučiť, kde hľadať pomoc. Ak ste sa naučili hrabať v helpe k emacsu, info mód je vašim spoľahlivým informačným zdrojom, viete kde hľadať odpovede na všetky vaše otázky (teda skoro všetky; na otázku o „Vesmíre, živote a vôbec“ si treba prečítať Douglasa Adamsa, alebo sa opýtať Hlbiny myslenia), seriál splnil účel.