;; Toto je priklad suboru .emacs. Riadky zacinajuce znakmi ";;" su
;; komentare
;; na zaciatku sa definuju niektore zakladne nadstavenia funkcii
;; pre pohyb cursoru na obvykle klavesy
(global-set-key [home] 'beginning-of-line)
(global-set-key [end] 'end-of-line)
(global-set-key [kp-delete] 'delete-char)
(global-set-key [kp-home] 'beginning-of-line)
(global-set-key [kp-end] 'end-of-line)
(global-set-key [kp-1] 'end-of-line)
(global-set-key [kp-2] 'next-line)
(global-set-key [kp-3] 'scroll-down)
(global-set-key [kp-4] 'backward-char)
(global-set-key [kp-6] 'forward-char)
(global-set-key [kp-7] 'beginning-of-line)
(global-set-key [kp-8] 'previous-line)
(global-set-key [kp-9] 'scroll-up)
;; na F1 si definujem vyvolanie funkcie "man", ktora mi da manualovu
;; stranku funkcie na cursore.
(global-set-key [f1] 'man)
;; pri pouzivani "man" funkcie si mozno nadstavit styl zobrazenia.
(setq Man-notify-method 'bully)
;; na F2 si definujem funkciu zapisujucu subor: "save-buffer"
(global-set-key [f2] 'save-buffer)
;; Casto pouzivam undo a tak okrem "Control -" aj skratene vyvolanie
;; na F9.
(global-set-key [f9] 'undo)
;; Kedze hojne pouzivan "undo" a niekedy odrabam aj pracu za cely den,
;; prestavim velkosti undo bufferov na dostatocnu hodnotu.
(setq undo-strong-limit 3000000)
(setq undo-limit 2500000)
;; Opakovane vykonavam svoje macra, tak vyvolanie makra dam na hot-key F12.
(global-set-key [f12] 'call-last-kbd-macro)
;; Tab-ulator pouzivam, ked chcem vlozit znak "tab", nie na formatovanie
(setq c-tab-always-indent nil)
(setq default-tab-width 4)
;; ked vkladam text mysou, tak chcem aby sa vlozil na miesto, kde prave
;; stoji kurzor, nie na miesto, kde stoji mys.
(setq mouse-yank-at-point t)
;; Chcem aby sa mi na informacnom riadku zobrazoval nielen riadok, ale
;; aj stlpec, kde sa nachadza kurzor.
(setq column-number-mode t)
;; definicia mojej vlastnej lispovskej funkcie
(defun slovak-text-mode ()
(interactive "")
(set-language-environment "latin-2")
(set-terminal-coding-system 'iso-8859-2)
(iso-accents-mode)
(iso-accents-customize "latin-2")
)
;; Nasledujuci text definuje standardne editovacie mody v zavislosti
;; na koncovke editovaneho suboru.
(setq auto-mode-alist '(
;;("\\.text\\'" . slovak-text-mode)
("\\.c\\'" . c-mode)
("\\.h\\'" . c-mode)
("\\.java\\'" . java-mode)
("\\.tex\\'" . latex-mode)
("\\.el\\'" . emacs-lisp-mode)
("\\.emacs\\'" . emacs-lisp-mode)
))
;; nasledovne riadky specifikuju zafarbenie textu pri programovani
;; v C a Java. Prve dva riadky povoluju farbenie pre C a Java mode
;; prace.
(add-hook 'c-mode-hook 'turn-on-font-lock)
(add-hook 'java-mode-hook 'turn-on-font-lock)
;; Nasledovne odstavce najskor specifikuju ake farby budem
;; pouzivat a ktore lexikalne jednotky textu sa maju ako
;; zafarbit.
(make-face 'my-comment-face)
(set-face-foreground 'my-comment-face "SeaGreen")
(make-face 'my-keyword-face)
(set-face-foreground 'my-keyword-face "blue")
(make-face 'my-black-face)
(set-face-foreground 'my-black-face "black")
(make-face 'my-cpp-face)
(set-face-foreground 'my-cpp-face "brown")
(setq font-lock-maximum-decoration t)
(setq font-lock-comment-face 'my-comment-face)
(setq font-lock-builtin-face 'my-black-face)
(setq font-lock-constant-face 'my-black-face)
(setq font-lock-function-name-face 'my-black-face)
(setq font-lock-keyword-face 'my-keyword-face)
(setq font-lock-reference-face 'my-black-face)
(setq font-lock-type-face 'my-keyword-face)
(setq font-lock-variable-name-face 'my-black-face)