Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 210

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Emacs Beginner's HOWTO: Personalizzare Emacs </TITLE>
 <LINK HREF="Emacs-Beginner-HOWTO-5.html" REL=next>
 <LINK HREF="Emacs-Beginner-HOWTO-3.html" REL=previous>
 <LINK HREF="Emacs-Beginner-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Emacs-Beginner-HOWTO-5.html">Avanti</A>
<A HREF="Emacs-Beginner-HOWTO-3.html">Indietro</A>
<A HREF="Emacs-Beginner-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="customizing_emacs"></A> <A NAME="s4">4. Personalizzare Emacs </A></H2>

<P>Di fatto tutta la personalizzazione di Emacs viene fatta tramite
codice Lisp. Potete modificare variabili che influenzano il modo in
cui Emacs opera o potete aggiungere nuove funzioni a Emacs (o
sovrascrivere funzioni esistenti, rimpiazzandole con altre vostre).
<P>
<H2><A NAME="ss4.1">4.1 Personalizzazione temporanea</A>
</H2>

<P>Mentre starete sperimentando la personalizzazione di Emacs, probabilmente vorrete farlo in un modo che sia temporaneo. Se fate qualcosa di orribilmente sbagliato, avrete solo da uscire da Emacs con <CODE>C-x C-c</CODE> e rilanciarlo di nuovo. Una volta che avrete capito quali cambiamenti rendere permanenti, potrete aggiungerli al vostro file molto personale <CODE>.emacs</CODE> in modo che possa avere effetto ogni volta che avvierete Emacs. Questo viene discusso nella prossima sezione. 
<P>
<H3>Assegnazione di variabili</H3>

<P>Le personalizzazioni pi&ugrave; semplici si ottengono cambiando il valore di una variabile in Emacs. Il codice listato per farlo appare simile a questo:
<P>
<PRE>
(setq nome-variabile nuovo-valore)
</PRE>
<P>
<P>Dove <CODE>nome-variabile</CODE> &egrave; il nome della variabile e <CODE>nuovo-valore</CODE> &egrave; il valore che vorreste dare alla variabile (in gergo Lisp, state legando una variabile ad un valore). La funzione <CODE>setq</CODE> in lisp &egrave; analoga agli operatori di assegnamento (normalmente <CODE>=</CODE>) in altri linguaggi di programmazione.
<P>
<P><B>NOTA:</B> Qui sto passando sopra a molti dettagli per amor di
semplicit&agrave;. Potreste anche vedere me o altri, usare le funzioni
Lisp <CODE>set</CODE> e perfino <CODE>setq-default</CODE>. Se siete veramente
curiosi, dateci un'occhiata nei testi di riferimento di Emacs Lisp.
<P>
<P>Diamo un'occhiata alla riga presa dal mio file <CODE>.emacs</CODE>
<P>
<PRE>
(setq-default transient-mark-mode t)
</PRE>
<P>
<P>La variabile <CODE>transient-mark-mode</CODE> controlla se una regione (region) viene evidenziata o no quando la marco. In molte applicazioni GUI, se cliccate e trascinate il mouse per selezionare una parte di testo, questi diventa evidenziato in video inverso o in altri colori. Emacs far&agrave; la stessa cosa se la variabile <CODE>transient-mark-mode</CODE> &egrave; impostata (ad un valore non-nil).
<P>
<P>Un valore <EM>COME</EM>?
<P>
<P>Okay. Breve digressione. La maggior parte dei linguaggi di programmazione hanno diverse opinioni sui valori vero/falso. In C/C++ un valore &egrave; considerato vero se &egrave; un valore non-zero. In Perl, un valore non-nullo o non-zero &egrave; vero. In Lisp, si applica la stessa idea ma i nomi e i simboli sono differenti.
<P>
<P>Vero &egrave; normalmente scritto come <CODE>t</CODE> e falso (o null) &egrave; scritto come <CODE>nil</CODE>. Come in altri linguaggi, tuttavia, qualsiasi valore non-nil &egrave; considerato vero.
<P>
<P>Per ottenere la descrizione completa di che cosa fa <CODE>transient-mark-mode</CODE>, potete usare l'aiuto in linea. Digitate <CODE>C-h v</CODE> o <CODE>M-x
describe-variabile</CODE> e poi <CODE>transient-mark-mode</CODE>. Se siete pigri come me, potete avvalervi del completamento del nome della variabile usando il tasto <CODE>Tab</CODE>. Digitate solo una parte del nome della variabile e premete il tasto <CODE>Tab</CODE>. Se avete digitato abbastanza lettere del nome in modo che Emacs possa gi&agrave; identificarlo univocamente, vedrete l'intero nome completarsi per voi.
<P>
<P>Un'altra variabile che le persone spesso impostano &egrave; <CODE>fill-column</CODE>. Questa dice ad Emacs quanto largo deve essere lo schermo per eseguire l'allineamento (e <CODE>auto-fill-mode</CODE> rispetta questo valore). Per impostare il valore su qualcosa di assurdo, potete digitare:
<P>
<PRE>
(setq fill-column 20)
</PRE>
<P>
<P>Ma questo di fatto non far&agrave; niente. Avete bisogno di dire a Emacs di <B>valutare</B> l'espressione che avete digitato. Per fare questo, portate il puntatore (cursore) alla fine dell'espressione e poi digitate  <CODE>C-x C-e</CODE>, il quale chiama la funzione <CODE>eval-last-sexp</CODE> nel caso non siate sicuri. Quando fate questo, notate che <CODE>20</CODE> (o qualsiasi valore avete usato) vi viene mostrato nel mini-buffer alla base dello schermo. Questo &egrave; giusto il valore ritornato dall'espressione che avete valutato.
<P>
<P>Giusto per provare che funziona, digitate una frase o due. Se avete  <CODE>auto-fill-mode</CODE> abilitato (probabilmente non lo avete), noterete il testo allineato alla colonna marcata 20. Altrimenti, dopo che avrete digitato qualcosa, digitate <CODE>M-q</CODE> che chiama la funzione <CODE>fill-paragraph</CODE>. Questo eseguir&agrave; l'allineamento del testo.
<H3>Associazioni di file</H3>

<P>Potete configurare Emacs per fare automaticamente qualcosa quando aprite un file di un tipo particolare (come certe GUI che lanciano automaticamente una specifica applicazione se cliccate sull'icona di un particolare file). Per esempio, io potrei volere che automaticamente Emacs entrasse in <CODE>text-mode</CODE> ogni volta che io apro un file con estensione 
<CODE>.txt</CODE>. Beh!, questo gi&agrave; succede. <CODE>:-)</CODE> Allora diciamo a Emacs di entrare sempre in <CODE>text-mode</CODE> quando si apre un file chiamato ``README''.
<P>
<PRE>
(setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist))
</PRE>
<P>
<P>Eh?
<P>
<P>Senza immergersi dentro tanti comandi Lisp che in effetti non avete bisogno di conoscere (ma che non vi farebbe male imparare), diciamo solo che la variabile <CODE>auto-mode-alist</CODE> contiene una lista di coppie. Ciascuna coppia contiene un'espressione regolare ed un nome di modalit&agrave; di Emacs. Se un file che aprite coincide con l'espressione regolare (in questo caso, la stringa <CODE>README</CODE>) Emacs avvia la modalit&agrave; che avete specificato.
<P>
<P>La strana sintassi riportata sopra &egrave; perch&eacute; noi stiamo di fatto aggiungendo un altra coppia a quella lista delle modalit&agrave;. E voi non vorreste giusto assegnare qualcosa a <CODE>auto-mode-alist</CODE> senza assicurarvi che i valori che gi&agrave; contiene non vengano persi.
<P>
<P>E se io voglio che Emacs entri automaticamente in <CODE>html-helper-mode</CODE> ogni volta che apro un file che finisce con <CODE>.html</CODE> o <CODE>.htm</CODE>, lo aggiunger&agrave; al mio file .emacs:
<P>
<PRE>
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode) auto-mode-alist))
</PRE>
<P>
<P>Le possibilit&agrave; sono veramente infinite.
<P>
<H2><A NAME="ss4.2">4.2 Usare un file <CODE>.emacs</CODE></A>
</H2>

<P>Dopo che avrete speso un po' di tempo con Emacs e avrete un'idea basilare di che cosa la personalizzazione pu&ograve; fare per voi, vorrete probabilmente personalizzare un po' di cose in maniera permanente (o almeno finch&eacute; non cambiate idea). Se vi ritrovate ad usare Emacs quotidianamente, noterete anche che il vostro file <CODE>.emacs</CODE> diventa sempre pi&ugrave; grande con il passare del tempo. Questa &egrave; una
<EM>Buona Cosa</EM> perch&eacute; significa che avete capito come fare in modo che Emacs lavori nel modo in cui <B>voi</B> volete che lavori. &Egrave; una vergogna che tanti prodotti software non vi diano la possibilit&agrave; di fare questo.
<P>
<P>Nel caso non lo abbiate ancora indovinato, ogni volta che avviate Emacs, questi cerca un file chiamato <CODE>.emacs</CODE> nella vostra directory home. Il vostro file <CODE>.emacs</CODE> si trova dove dovreste mettere qualsiasi codice Lisp che volete lanciare automaticamente e che include qui il tipo di personalizzazione che abbiamo gestito.
<P>
<P>Un altro esempio dal mio file <CODE>.emacs</CODE>:
<P>
<PRE>
(setq inhibit-startup-message t)
</PRE>
<P>
<P>La variabile <CODE>inhibit-startup-message</CODE> controlla se Emacs mostra o no il messaggio di benvenuto quando si avvia. Dopo un po', mi sono stufato di vederlo (perch&eacute; sapevo gi&agrave; come trovare o non trovare l'help), quindi ho cercato un modo per disattivarlo.
<P>
<P>Come esercizio, provate a creare un file <CODE>.emacs</CODE> da soli e ad aggiungergli la riga riportata sopra. Poi uscite e riavviate Emacs di nuovo. Non dovreste pi&ugrave; vedere il messaggio di benvenuto.
<P>
<P>Spesso quando leggerete riguardo una modalit&agrave; di Emacs (o un package), la documentazione suggerir&agrave; di aggiungere del codice al vostro file <CODE>.emacs</CODE> in modo da far lavorare la modalit&agrave; o il package in un modo particolare.
<P>
<P>Le FAQ di GNU Emacs (<CODE>C-h F</CODE>) contengono delle cose relative ai file <CODE>.emacs</CODE> che potreste trovare utili.
<P>
<H2><A NAME="ss4.3">4.3 Il package Customize</A>
</H2>

<P>A mano a mano che Emacs &egrave; cresciuto in popolarit&agrave; e ha continuato ad evolversi, qualcuno evidentemente deve essersi detto ``ci deve essere un modo migliore per i nuovi utenti di personalizzare il loro Emacs.'' E nacque <CODE>customize</CODE>.
<P>
<P>Customize fornisce un modo pi&ugrave; intuitivo di personalizzare parti di Emacs. Per provarlo, visitate il sottomen&ugrave; <CODE>Customize</CODE> nel vostro men&ugrave; <CODE>Help</CODE>, o digitate <CODE>M-x customize</CODE>.
<P>
<P>Customize raggruppa le personalizzazioni in gruppi logici come ``Editing'', ``Programming'', ``Files'' e cos&igrave; via. Alcuni gruppi contengono dei sottogruppi.
<P>
<P>Se fate dei cambiamenti usando l'interfaccia di customize, Emacs salver&agrave; i cambiamenti nel vostro file <CODE>.emacs</CODE>. Questo &egrave; piuttosto pratico, perch&eacute; potete facilmente controllare (e cambiare) i cambiamenti che customize fa per voi.
<P>
<P><EM>Io non uso l'interfaccia Customize, quindi non posso dirvi molto altro al riguardo.</EM>.
<P>
<H2><A NAME="ss4.4">4.4 Visualizzazione in X Windows</A>
</H2>

<P>Come qualsiasi applicazione X ben fatta, Emacs rispetta le vostre risorse X. Questo significa che potete controllare i colori iniziali, la geometria e altre cose specifiche di X, come potete farlo di solito con un <CODE>xterm</CODE>, <CODE>nxterm</CODE>, o altro.
<P>
<P>Ecco qui la parte pi&ugrave; importante del mio file <CODE>~/.Xdefaults</CODE>:
<P>
<PRE>
emacs*Background: DarkSlateGray
emacs*Foreground: Wheat
emacs*pointerColor: Orchid
emacs*cursorColor: Orchid
emacs*bitmapIcon: on
emacs*font: fixed
emacs.geometry: 80x25
</PRE>
<P>
<P>Consultate la vostra pagina man su <CODE>X</CODE> per maggiori dettagli riguardo le risorse X.
<P>
<P>Chris Gray (
<A HREF="mailto:cgray4@po-box.mcgill.ca">cgray4@po-box.mcgill.ca</A>) inoltre nota:
<P>
<BLOCKQUOTE>
In Debian, il file <CODE>~/.Xdefaults</CODE> non sembra essere usato.
Comunque, gli utenti Debian possono mettere quello che hanno stabilito in
<CODE>/etc/X11/Xresources/emacs</CODE> e potranno avere i simpatici colori che avevano quando usavano RedHat.
</BLOCKQUOTE>
<P>
<HR>
<A HREF="Emacs-Beginner-HOWTO-5.html">Avanti</A>
<A HREF="Emacs-Beginner-HOWTO-3.html">Indietro</A>
<A HREF="Emacs-Beginner-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>