Na začiatok je potrebné zmieniť, že t
je v Lispe kanonická hodnota
pre "true" (pravda), nil
je významový opak tejto hodnoty. Niektoré
premenné vyžadujú túto hodnotu a 0
ju nemôže nahradiť, v niektorých
naopak áno. Informácia o tom aké hodnoty by mala premenná obsahovať
sa obvykle nachádza v dokumentácii (C-h v
)
Úprava užívateľských nastavení
Ako prvé nastavíme UTF-8 prostredie, ktoré by v dnešnej dobe už malo byť samozrejmosťou:
(set-language-environment "UTF-8")
Niektoré funkcie vkladajú e-mail adresu (vrátane odosielania mailov),
túto si môžeme nastaviť do premennej user-mail-address
:
(setq user-mail-address "mailbox@server.tld")
Ak súbor obsahuje timestamp (časová značka), tak môžeme nastaviť jej formát a automatické aktualizovanie pri ukladaní:
(setq time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)") (add-hook 'write-file-hooks 'time-stamp)
Názov okna alebo popis minimalizovaného okna (ak to window manager podporuje):
(setq-default frame-title-format (list "%b [%f]")) (setq-default icon-title-format (list "%b"))
Nastavenie indikátora prázdnych riadkov na konci bufferu (podobné
znakom ~
v editore Vim):
(setq-default indicate-empty-lines t)
Počet riadkov, ktoré sa majú odkryť pri scrollovaní:
(setq scroll-step 1)
Pohodlnejšie prepínanie medzi buffermi:
(iswitchb-mode 1)
Umožnenie krátkej odpovede na otázku s možnosťami Yes/No:
(fset 'yes-or-no-p 'y-or-n-p)
Nastavenie číselnej sústavy pre quoted-insert
(C-q
) v prípade
zadávania špeciálneho znaku jeho kódom:
(setq read-quoted-char-radix 16)
Vynútenie "vizuálneho zvončeka":
(setq visible-bell t)
Ďalšia voľba pre kľud duše – zákaz blikania kurzoru:
(blink-cursor-mode 0)
Pridanie užitočných informácií do stavového riadku:
;; formát a zobrazenie času (setq display-time-24hr-format t) (display-time) ;; aktuálny stĺpec a riadok (column-number-mode t) (line-number-mode t)
Zálohovanie
Nehody sa niekedy stávajú, preto Emacs zálohuje – lenže normálne to robí v aktuálnom adresári a to nám nemusí vyhovovať:
;; ukladanie všetkých súborov do adresára ~/backup (setq backup-directory-alist (quote (("." . "~/backup")))) ;; záloha kopírovaním (setq backup-by-copying t)
Emacs poskytuje možnosť nastaviť rôzne miesta pre rôzne súbory podľa
regulárnych výrazov, viac informácií je v popise premennej
backup-directory-alist
(C-h v
).
Desktop
Emacs poskytuje rozšírenie pre ukladanie a načítanie pôvodného stavu pri ukončení a štarte. Nasledujúce nastavenie sa vždy pri ukončení opýta či má uložený "desktop" aktualizovať:
(setq desktop-save 'ask) (setq desktop-globals-to-save (append '((extended-command-history . 30) (file-name-history . 100) (grep-history . 30) (compile-history . 30) (minibuffer-history . 50) (query-replace-history . 60) (read-expression-history . 60) (regexp-history . 60) (regexp-search-ring . 20) (search-ring . 20) (shell-command-history . 50) tags-file-name register-alist))) (desktop-save-mode t)
Kontrola pravopisu
Emacs má dobrú integráciu s Ispell/Aspell alebo kompatibilnými
kontrolami pravopisu (funkcie a premenné majú prefix ispell-
):
(setq-default ispell-program-name "aspell") (setq-default ispell-dictionary "british")
Slovník je možné meniť funkciou ispell-change-dictionary
. Ak chceme
kontrolovať zároveň počas písania, na to slúži flyspell-mode
(resp. flyspell-prog-mode
pre komentáre v zdrojových súboroch).
Vzdialené súbory
Úpravy súborov na vzdialených strojoch je možné vykonávať pomocou
rozšírenia tramp
(integrovaný v GNU Emacs 22):
(require 'tramp) (setq tramp-syntax 'url) (setq shell-prompt-pattern "$ ")
Nastavenie, ktoré pracuje bez problémov aj so zsh
/ksh
(default
pracuje s dash
/bash
).
Je možné zadať adresu stroja pri otváraní súboru – /login@server:
.
Za dvojbodkou je možné používať aj dopĺňanie cesty tabulátorom. Na
začiatku môžeme aj uviesť protokol, napr. /ssh:login@server:
(alebo
scp
, ftp
, smb
a iné)
Homepage projektu a manuál je na adrese http://www.gnu.org/software/tramp/.
Manuálové stránky
Ani po manuálové stránky netreba ísť z Emacsu ďaleko, stačí spustiť
woman
a otvoriť si stránku.
Obyčajne sa otvára v samostatnom frame, ak by toto nevyhovovalo, stačí toto správanie vypnúť:
(setq woman-use-own-frame nil)
Praktické použitie značiek
Značky sme už používali na vyznačenie regiónov, no môžeme ich aj
použiť na pohyb v texte. Predstavme si dlhší dokument a potrebujeme
na chvíľu prejsť na iné miesto, spravíme si značku C-SPC
a prejdeme
kam potrebujeme. Naspäť sa môžeme jednoducho vrátiť skratkou C-x
C-x
(exchange-point-and-mark
).
Ďalšie užitočné funkcie na prácu si môžeme nabindovať na vhodné skratky:
(define-key global-map (kbd "s-,") '(lambda () (interactive) (marker-visit-prev))) (define-key global-map (kbd "s-.") '(lambda () (interactive) (marker-visit-next)))
Teraz môžeme prechádzať po uložených skratkách pomocou s-,
a s-.
(vysvetlenie modifikátoru s
je v prvej časti seriálu).
Syntax highlighting
Zvýrazňovanie sa v Emacs terminológii nazýva font-lock-mode
.
Pravdepodobne chceme mať zvýrazňovanie vždy zapnuté, vtedy môžeme
nastaviť tento režim globálne:
(global-font-lock-mode t)
Tu už sa dostávame bližšie k módom pre programovacie jazyky, v ktorých je veľmi praktické aj párovanie zátvoriek:
(show-paren-mode t)
Teraz sa budu zvýrazňovať dvojice zátvoriek ak je kurzor za koncovou alebo na otváracej zátvorke.
Záver
Týmto by sme mali pokryté veľké množstvo bežne používaných nastavení a funkcií. Vďaka veľkej prispôsobiteľnosti a programovateľnosti Emacs poskytuje oveľa väčšie množstvo ďalších premenných a funkcií, ktorých dokumentácia je prístupná cez Help.
marker-visit-prev
". Robim nieco zle, alebo navod nieje kompletny ?Tu je seria starsich, ale stale aktualnych clankov:
http://www.root.cz/clanky/emacs-viac-nez-len-editor/