Emacs domenicale

Giornata passata a spedire un po’ di CV a qualche azienda (nella speranza che qualcuno risponda… anche solo per mandarmi a quel paese) e a perdere la vista davanti emacs.

Visto che non avevo molta voglia di fare del bene, mi sono messo a spulciare in giro per le configurazioni di emacs e ho abilitato un paio di cose abbastanza interessanti (almeno per me):

– prima cosa: ho abilitato la modalità psgml (c’è un pacchetto già creato per Ubuntu nei repository). A cosa serve questa modalità, beh… in particolare per l’editing di file SGML, di cui HTML, XML e DocBook sono “dialetti”. In pratica è molto utile nella scrittura di documenti in HTML o DocBook (e molti altri), dato che mette a disposizione molti utili strumenti:

  • un controllo in apertura del file sul DTD del documento (in questo caso è necessario avere il DTD sul proprio computer) che carica tutti i simboli
  • la possibilità di validare il documento in automatico, in base al DTD presente, senza dover utilizzare la shell (qui però devo impostare il comando giusto)
  • una migliore gestione dell’indentazione
  • una specie di completamento dei tag attivabile tramite la combinazione di tasti C – c – < che con l’uso del tasto Tab fornisce tutti i possibili completamenti; per chiudere il tag, una volta inserito il testo, basta usare la combinazione di tasti C – c – /
  • possibilità di modificare gli attributi di un tag in una finestra separata usando la combinazione di tasti C – c – C – a; per concludere la modifica C – c – C -c

Il problema qui è stato riuscire a configurare il tutto affinché funzionasse correttamente: il controllo sul DTD non viene fatto in automatico, bisogna impostare una variabile nel file di emacs, e senza questo niente evidenziazione della sisntassi e niente completamento dei tag… per non parlare di altre piccole cosuccie…

– seconda cosa: ho abilitato la modalità di auto inserimento. Cosa fa questa piccola opzione? Se si apre un file con una determinata estensione è possibile far inserire a emacs del testo predefinito (tipo le righe della licenza o le intestazioni per i documenti HTML e XML) contenuto in un altro file. Per il momento l’ho fatto solo con i file, .py e .c in cui inserisco le righe per la licenza, alcuni header standard per i file C, le righe #! e della codifica per gli script Python.  Il tutto è sempre gestito nel file .emacs. È stato un po’ difficile riuscire a capire quali erano i parametri da impostare… ma alla fine si è rivelato più facile rispetto psgml. Poche righe:

; auto insert mode
(add-hook ‘find-file-hooks ‘auto-insert)
(load-library “autoinsert”)
(setq auto-insert-directory “~/.emacs.d/auto-insert/”)

(setq auto-insert-alist
(append
‘((“\\.py” . “python.py”))
‘((c-mode . “cfile.c”))
auto-insert-alist))

Il prossimo passo è quello  di aggiungere i file XML (in particolare DocBook) e HTML. Devo ancora riuscire a capire il perché delle doppie parentesi dopo l’apice, ma senza non funzionava… penso sia relativo a Lisp…

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: