Nel mini-meeting di oggi, FEJ e io abbiamo chiaccherato un po' di Emacs. Mi accingevo a inviargli qualche personalizzazione utile da mettere nel proprio ~/.emacs, quando ho pensato che inviarlo qui poteva infilare pulci nell'orecchio a qualcuno. ;-) Per una marea di altri tips su Emacs: http://www.emacswiki.org **************************************************************************** ;; A tutto colore! (setq font-lock-mode-maximum-decoration t) ;; Per tener d'occhio il tempo che scorre... (display-time) ;; Diciamo ad Emacs dove conserviamo i moduli che installiamo da utenti (add-to-list 'load-path "~/lib/emacs") ;; Facciamo sì che `Control-h' equivalga al Backspace, come nella shell (keyboard-translate ?\C-h ?\C-?) ;; E rimappiamo il tasto di help su `Control-c h' (global-set-key "\C-ch" 'help-command) ;; Altra combinazione utile... (global-set-key "\C-cg" 'goto-line) ;; Se siamo in console o in xterm, facciamo fuori la barra del menu, ;; che non serve a nulla (if (eq window-system nil) (menu-bar-mode nil)) ;; Avviamo Emacs in versione server. Così, da ovunque siamo, possiamo ;; dare il comando `emacsclient miofile' e `miofile' sarà aperto ;; nell'Emacs già avviato, invece di avviarne un altro (server-start) ;;; Ottimo per il C e per il Java: inserisce un blocco di parentesi ;;; graffe e muove il cursore tra le due (defun c-insert-block () "Places a block and puts cursor inside it." (interactive) (end-of-line) (skip-chars-backward " \t") (insert " {") (c-indent-command) (newline) (insert "}") (c-indent-command) (beginning-of-line) (open-line 1) (c-indent-command)) (defun c-custom-setup () (define-key c-mode-map "\C-cj" 'c-insert-block)) (add-hook 'c-mode-common-hook 'c-custom-setup) (defun java-custom-setup () (setq tab-width 4) (define-key java-mode-map "\C-cj" 'c-insert-block)) (add-hook 'java-mode-hook 'java-custom-setup) ;; Disegnamo grafi con Emacs! :-) (man dot per informazioni...) (defun dot-show () (interactive) "Process the buffer with dot and show graph." (shell-command-on-region (point-min) (point-max) "dot -Tps | convert ps:- png:- | xview /dev/stdin")) ;; Modalità desktop: riapri i file che erano presenti l'ultima volta ;; che hai chiuso Emacs (desktop-load-default) (desktop-read) **************************************************************************** -- Tip | [RPM] Cosa si fa se, per intallare un programma, ne viene richiesto un of | altro che a sua volta fa riferimento al primo? Si scaricano tutti i the | file necessari, li si mette in una unica cartella e poi da console: day | 0021| # rpm -Uvh *.rpm