Modalità di programmazione
Modalità C
Se usate Emacs per programmare in linguaggio C, gli potete far rientrare le linee automaticamente. I file con nomi che finiscono per
".c " o ".h" vengono aperti automaticamente in modalità c-mode, in cui sono disponibili alcuni comandi
speciali, utili per scrivere programmi in C.
In modalità C, corrisponde al comando c-indent-command, cioè,
premendo il tato non si inserisce un carattere di tabulazione vero e proprio,
ma la linea viene rientrata a seconda della sua posizione nel programma. Questo implica che Emacs conosce qualcosa della sintassi del
C, ed è vero, anche se non sa niente della semantica (non può fare in modo che il vostro programma non contenga errori!).
Per calcolare il rientro della linea Emacs assume che le linee precedenti siano rientrate correttamente. Se nella linea precedente manca
una parentesi tonda o graffa, un punto e virgola, o qualcos'altro del genere, Emacs rientrerà la linea in maniera sbagliata.
Quando vedrete che fa così, saprete che dovete controllare la punteggiatura della linea precedente. Potete usare questa caratteristica
per controllare la punteggiatura dei programmi, invece di leggere il programma intero cercando gli errori, fate rientrare le linee dall'inizio
del programma usando , e quando vedete che i rientri sono strani, controllate
le linee precedenti. In altre parole, fate lavorare Emacs!
Modalità Scheme
È una modalità maggiore che non vi servirà a niente se non avete un compilatore o un interprete per il linguaggio
di programmazione Scheme. Averlo non è così frequente come, ad esempio, avere un compilatore C, ma sta diventando
molto comune, quindi ne parleremo lo stesso. Molto di ciò che vale per la modalità Scheme vale anche per la modalità
Lisp, se preferite scrivere in Lisp.
Beh, per farla complicata, Emacs ha due modalità Scheme diverse, perché ci sono due diverse correnti di pensiero. Quella
che descriverò si chiama cmuscheme, e poi, nella sezione sulla personalizzazione di Emacs, parlerò di come ci possano
essere due modalità Scheme diverse, e come usarle. Per adesso non vi preoccupate se quello che succede sul vostro Emacs non corriponde
perfettamente a quello che dico qui. Un editor personalizzabile è per forza imprevedibile, e non c'è niente da fare!
In Emacs potete far girare un processo Scheme interattivo, con il comando M-x run-scheme. Questo comando crea un buffer con
nome "*scheme*", che contiene il normale prompt di Scheme. Al prompt potete inserire espressioni Scheme, premere ,
e Scheme le valuterà e mostrerà la risposta. Poi, per poter interagire con il processo Scheme, potete inserire tutte le
definizioni di funzioni e le applicazioni che volete. Probabilmente avete già scritto del codice sorgente Scheme in qualche file,
e sarebbe più facile lavorare su quel file e mandare le definizioni al buffer del processo di Scheme, se necessario. Se i file
sorgente finisce per ".ss" o ".scm", verrà aperto automaticamente in modalità Scheme quando lo trovate
con C-x C-f. Se per qualche ragione non viene aperto in modalità Scheme, si può fare a mano con il comando M-x scheme-mode.
Questa modalità scheme-mode non è la stessa cosa del buffer in cui gira il processo Scheme; piuttosto, il codice sorgente
che si trova in scheme-mode ha dei comandi speciali per comunicare con il buffer del processo.
Se vi mettete all'interno di una definizione di funzione nel buffer del codice sorgente Scheme e digitate C-c C-e, quella definizione
verrà "inviata" al buffer del processo, esattamente come se ce l'aveste digitata dentro. C-c M-e invia la definizione
e poi vi porta nel buffer del processo per fare il lavoro interattivo. C-c C-l carica un file di codice Scheme (funziona sia per il
buffer del processo che per il buffer del codice sorgente). Inoltre, come per le altre modalità di programmazione, digitare
in qualsiasi punto di una linea di codice fa rientrare correttamente la linea.
Se siete al prompt del buffer del processo, potete usare M-p e M-n per spostarvi tra i comandi che avete dato in precedenza (storia
di input). Così, se state facendo il debug della funzione 'rotate', e l'avete già applicata a degli argomenti del
buffer del processo, così:
> (rotate '(a b c d e))
potete richiamare questo comando digitando M-p al prompt. Non ci dovrebbe essere bisogno di ridigitare espressioni lunghe al prompt
di Scheme, abituatevi ad usare la storia di input e risparmierete un sacco di tempo. Emacs conosce un bel po' di linguaggi di programmazione:
C, C++, Lisp e Scheme sono solo alcuni. In genere, sa come fare i rientri delle linee in modo intuitivo.
Modalità posta
Con Emacs si possono anche creare e mandare messaggi di posta elettronica. Per entrare in un buffer di posta, digitate C-x m.
Dovete riempire i campi To: e Subject: , ed usare C-n per scendere sotto la linea separatrice e scrivere il
corpo del messaggio (che inizialmente è vuoto). Non modificate o cancellate la linea separatrice, o Emacs non potrà spedire
il messaggio: usa quella linea per distinguere l'intestazione del messaggio, che gli dice dove spedirlo, dal vero contenuto del messaggio
stesso.
Sotto la linea separatrice potete scrivere quello che volete. Quando siete pronti a spedire, digitate C-c C-c, ed Emacs spedirà
il messaggio e cancellerà il buffer della posta.
|