aboutsummaryrefslogtreecommitdiffstats
path: root/etc/tutorials
diff options
context:
space:
mode:
authorLele Gaifax2015-12-18 13:05:29 +0200
committerEli Zaretskii2015-12-18 13:05:29 +0200
commitdf336700e9e3e24fafc47f19f2128fa0f7e6c846 (patch)
tree3fab4fce3f87c9ababba083e686e1f68009565bf /etc/tutorials
parentfb2eaf0ffc213fac170cff4814b7c93bd0c44c20 (diff)
downloademacs-df336700e9e3e24fafc47f19f2128fa0f7e6c846.tar.gz
emacs-df336700e9e3e24fafc47f19f2128fa0f7e6c846.zip
* etc/tutorials/TUTORIAL.it: Update and fix typos.
Diffstat (limited to 'etc/tutorials')
-rw-r--r--etc/tutorials/TUTORIAL.it1587
1 files changed, 852 insertions, 735 deletions
diff --git a/etc/tutorials/TUTORIAL.it b/etc/tutorials/TUTORIAL.it
index 300fd223e00..1eb2573955c 100644
--- a/etc/tutorials/TUTORIAL.it
+++ b/etc/tutorials/TUTORIAL.it
@@ -1,36 +1,38 @@
1Esercitazione di Emacs. Condizioni d'uso alla fine del file. 1Esercitazione di Emacs. Condizioni d'uso alla fine del file.
2 2
3I comandi di Emacs comportano generalmente l'uso del tasto CONTROL (a 3I comandi di Emacs comportano generalmente l'uso del tasto CONTROL (a
4volte indicato con CTRL o CTL) o del tasto META (a volte indicato con EDIT 4volte indicato con CTRL o CTL) o del tasto META (a volte indicato con
5o ALT). Piuttosto che indicarli per esteso ogni volta, useremo le 5EDIT o ALT). Piuttosto che indicarli per esteso ogni volta, useremo
6seguenti abbreviazioni: 6le seguenti abbreviazioni:
7 7
8 C-<car> significa che bisogna tenere abbassato il tasto CONTROL mentre si 8 C-<car> significa che bisogna tenere abbassato il tasto CONTROL
9 preme il carattere <car>. Quindi C-f significa: tieni premuto 9 mentre si preme il carattere <car>. Quindi C-f significa:
10 CONTROL e batti f. 10 tieni premuto CONTROL e batti f.
11 11 M-<car> significa che bisogna tenere abbassato il tasto META o EDIT
12 M-<car> significa che bisogna tenere abbassato il tasto META o EDIT o ALT 12 o ALT mentre si preme il carattere <car>. Se non ci sono
13 mentre si preme il carattere <car>. Se non ci sono tasti META, 13 tasti META, EDIT o ALT, al loro posto si può premere e poi
14 EDIT o ALT, al loro posto si può premere e poi rilasciare il 14 rilasciare il tasto ESC e quindi premere <car>. Useremo
15 tasto ESC e quindi premere <car>. Useremo <ESC> per indicare il 15 <ESC> per indicare il tasto ESC.
16 tasto ESC.
17 16
18Nota importante: per chiudere una sessione di lavoro di Emacs usa C-x 17Nota importante: per chiudere una sessione di lavoro di Emacs usa C-x
19C-c. (Due caratteri.) I caratteri ">>" posti al margine sinistro 18C-c (due caratteri). Per annullare un comando inserito parzialmente
20indicano le direttive per provare a usare un comando. Per esempio: 19usa C-g. I caratteri “>>” posti al margine sinistro indicano le
20direttive per provare a usare un comando. Per esempio:
21<<Blank lines inserted here by startup of help-with-tutorial>> 21<<Blank lines inserted here by startup of help-with-tutorial>>
22>> Adesso premi C-v (Vedi schermata successiva) per spostarti 22[Spaziatura inserita a scopo didattico. Il testo continua sotto]
23 alla prossima schermata. (Vai avanti, tieni premuto il tasto 23>> Adesso premi C-v (vedi schermata successiva) per spostarti alla
24 CONTROL mentre premi v). D'ora in poi dovrai fare così ogni volta 24 prossima schermata (vai avanti, tieni premuto il tasto
25 che finisci di leggere lo schermo. 25 CONTROL mentre premi v). D'ora in poi dovrai fare così ogni
26 volta che finisci di leggere la schermata.
26 27
27Si noti che le ultime due righe di ogni schermata appaiono in cima alla 28Si noti che le ultime due righe di ogni schermata appaiono in cima
28schermata successiva, favorendo così la continuità di lettura. 29alla schermata successiva, favorendo così la continuità di lettura.
29 30
30La prima cosa che bisogna imparare è come raggiungere un certo punto del 31La prima cosa che bisogna imparare è come raggiungere un certo punto
31testo. Sai già come andare avanti di una schermata, con C-v. Per 32del testo. Sai già come andare avanti di una schermata, con C-v. Per
32andare indietro di una schermata, premi M-v (tieni premuto il tasto META 33andare indietro di una schermata, premi M-v (tieni premuto il tasto
33e poi premi v, oppure usa <ESC>v se non c'è un tasto META, EDIT o ALT). 34META e poi premi v, oppure usa <ESC>v se non c'è un tasto META, EDIT o
35ALT).
34 36
35>> Ora prova: premi M-v e quindi C-v alcune volte. 37>> Ora prova: premi M-v e quindi C-v alcune volte.
36 38
@@ -38,213 +40,221 @@ e poi premi v, oppure usa <ESC>v se non c'è un tasto META, EDIT o ALT).
38* SOMMARIO 40* SOMMARIO
39---------- 41----------
40 42
41I comandi seguenti sono utili per visualizzare le varie parti del testo: 43I comandi seguenti sono utili per visualizzare le schermate:
42 44
43 C-v Vai avanti di una schermata 45 C-v Vai avanti di una schermata
44 M-v Vai indietro di una schermata 46 M-v Vai indietro di una schermata
45 C-l Cancella lo schermo e riscrivi tutto il testo, muovendo 47 C-l Cancella lo schermo e riscrivi tutto il testo,
46 il testo che si trova vicino al cursore al centro dello 48 muovendo il testo che si trova vicino al cursore al
47 schermo. (Il tasto è CONTROL-L, non CONTROL-1.) 49 centro dello schermo. (Il tasto è CONTROL-L,
50 non CONTROL-1.)
48 51
49>> Trova il cursore, osserva quale parte di testo gli è vicina. Premi 52>> Trova il cursore, osserva quale parte di testo gli è vicina. Premi
50 C-l. Trova di nuovo il cursore e osserva che si trova sullo stesso 53 C-l. Trova di nuovo il cursore e osserva che si trova sullo stesso
51 punto del testo. 54 punto del testo, ma ora è al centro della schermata. Se premi C-l
55 di nuovo, il testo verrà posizionato in cima allo schermo.
56 Premendo nuovamente C-l verrà posizionato in fondo.
57
58Puoi anche usare i tasti PagSu (Pag ↑) o PagGiù (Pag ↓) per passare
59alle schermate precedenti o successive, se sono presenti sul tuo
60terminale, ma C-v e M-v consentono una editazione più efficiente.
52 61
53 62
54* CONTROLLO DEL CURSORE 63* CONTROLLO DI BASE DEL CURSORE
55----------------------- 64-------------------------------
56 65
57Spostarsi da una schermata all'altra è utile, ma come ci si può spostare 66Spostarsi da una schermata all'altra è utile, ma come ci si può
58fino ad un certo preciso punto del testo? 67spostare fino ad un certo preciso punto del testo?
59 68
60Ci sono diversi modi per farlo. Il più elementare consiste nell'usare i 69Ci sono diversi modi per farlo. Puoi usare i tasti con le frecce, ma
61comandi C-p, C-b, C-f, C-n. Ognuno di essi muove il cursore di una riga o 70è p efficiente tenere le mani nella posizione standard e utilizzare
62di una colonna in una data direzione sullo schermo. La tabella seguente 71i comandi C-p, C-b, C-f e C-n. Questi caratteri sono equivalenti ai
63mostra le direzioni in cui operano questi quattro comandi: 72quattro tasti con le frecce, in questo modo:
64 73
65 Riga precedente, C-p 74 Riga precedente, C-p
66 : 75 :
67 : 76 :
68 Indietro, C-b .... Posizione attuale cursore .... Avanti, C-f 77 Indietro, C-b .... Posizione attuale cursore .... Avanti, C-f
69 : 78 :
70 : 79 :
71 Riga successiva, C-n 80 Riga successiva, C-n
72 81
73>> Sposta il cursore sulla riga centrale del diagramma qui sopra usando 82>> Sposta il cursore sulla riga centrale del diagramma qui sopra
74 C-n o C-p. Poi usa C-l per portare il diagramma al centro dello 83 usando C-n o C-p. Poi usa C-l per portare il diagramma al centro
75 schermo. 84 dello schermo.
76 85
77Le quattro lettere dei comandi sono mnemoniche in inglese: P per 86Le quattro lettere dei comandi sono mnemoniche in inglese: P per
78precedente (previous), N per successivo (next), B per indietro (backward) 87precedente (previous), N per successivo (next), B per indietro
79e F per avanti (forward). Questi sono tutti i comandi elementari per 88(backward) e F per avanti (forward). Userai questi comandi elementari
80posizionare il cursore, li userai IN CONTINUAZIONE e conviene perciò 89in continuazione.
81impararli subito.
82 90
83>> Usa alcuni C-n per portare il cursore su questa riga. 91>> Usa alcuni C-n per portare il cursore su questa riga.
92
84>> Muovi il cursore sulla riga con C-f e poi in alto con C-p. Osserva 93>> Muovi il cursore sulla riga con C-f e poi in alto con C-p. Osserva
85 l'effetto di un C-p quando il cursore si trova a metà della riga. 94 l'effetto di un C-p quando il cursore si trova a metà della riga.
86 95
87Ogni riga di testo termina con un carattere Newline, che serve a separarla 96Ogni riga di testo termina con un carattere Newline (“a capo”), che
88dalla successiva. È bene che l'ultima riga del tuo file termini con un 97serve a separarla dalla successiva. (Di solito l'ultima riga di un
89carattere Newline, benché Emacs non lo richieda. 98file termina con un carattere Newline, ma Emacs non lo richiede.)
90 99
91>> Prova a usare C-b all'inizio di una riga. Sposterà il cursore 100>> Prova a usare C-b all'inizio di una riga. Sposterà il cursore alla
92 alla fine della precedente. Questo avviene perché il cursore ha 101 fine della precedente. Questo avviene perché il cursore ha
93 superato all'indietro il carattere Newline. 102 superato all'indietro il carattere Newline.
94 103
95C-f sposta il cursore avanti attravero il carattere Newline proprio come 104C-f sposta il cursore avanti attraverso il carattere Newline proprio
96C-b. 105come C-b.
97 106
98>> Premi alcune volte C-b per vedere dove si trova il cursore. Poi usa 107>> Premi alcune volte C-b per vedere dove si trova il cursore. Poi
99 C-f per tornare alla fine della riga. Usa quindi C-f per andare alla 108 usa C-f per tornare alla fine della riga. Usa quindi C-f per
100 riga successiva. 109 andare alla riga successiva.
101 110
102Quando ci si sposta oltre l'inizio o la fine della schermata, il testo che 111Quando ci si sposta oltre l'inizio o la fine della schermata, il testo
103si trova oltre si sposta sullo schermo, ottenendo uno "scorrimento" 112che si trova oltre si sposta sullo schermo, ottenendo uno
104(scrolling). In questo modo Emacs posiziona il cursore sulla parte di 113“scorrimento” (scrolling). Questo consente a Emacs di spostare il
105testo desiderata senza doverlo portare fuori dallo schermo visibile. 114cursore sulla parte di testo desiderata mantenendolo all'interno della
115schermata.
106 116
107>> Prova a muovere il cursore al di là della fine dello schermo con C-n e 117>> Prova a muovere il cursore al di là della fine dello schermo con
108 osserva cosa succede. 118 C-n e osserva cosa succede.
109 119
110Se lo spostamento di un solo carattere alla volta è troppo lento allora ci 120Se lo spostamento di un solo carattere alla volta è troppo lento
111si può muovere di un'intera parola alla volta. M-f (META-f) e M-b 121allora ci si può muovere di un'intera parola alla volta. M-f (META-f)
112spostano il cursore rispettivamente in avanti e indietro di una parola. 122e M-b spostano il cursore rispettivamente in avanti e indietro di una
123parola.
113 124
114>> Prova alcune volte M-f e M-b. 125>> Prova alcune volte M-f e M-b.
115 126
116Quando il cursore è a metà di una parola, M-f lo sposta alla fine della 127Quando il cursore è a metà di una parola, M-f lo sposta alla fine
117stessa. Quando è sullo spazio bianco tra due parole, M-f lo sposta alla 128della stessa. Quando è sullo spazio bianco tra due parole, M-f lo
118fine della parola successiva. M-b funziona in modo simile ma in direzione 129sposta alla fine della parola successiva. M-b funziona in modo simile
119opposta. 130ma in direzione opposta.
120 131
121>> Ora prova M-f e M-b alcune volte, alternandoli con C-f e C-b così da 132>> Ora prova M-f e M-b alcune volte, alternandoli con C-f e C-b così
122 poter osservare l'azione di M-f e M-b da vari punti tra le parole e 133 da poter osservare l'azione di M-f e M-b da vari punti tra le
123 sulle stesse. 134 parole e sulle stesse.
124 135
125Osserva il parallelo tra C-f e C-b da una parte e M-f e M-b dall'altra. 136Osserva il parallelo tra C-f e C-b da una parte e M-f e M-b
126Molto spesso i caratteri con Meta sono usati per operazioni relative alle 137dall'altra. Molto spesso i caratteri con Meta sono usati per
127unità definite dal linguaggio (parole, frasi, paragrafi), mentre i 138operazioni relative alle unità definite dal linguaggio (parole, frasi,
128caratteri con Control operano su unità base indipendenti da ciò che si 139paragrafi), mentre i caratteri con Control operano su unità base
129scrive (caratteri, righe, ecc.). 140indipendenti da ciò che si scrive (caratteri, righe, ecc.).
130 141
131Questo parallelo funziona anche tra righe e frasi: C-a e C-e spostano 142Questo parallelo funziona anche tra righe e frasi: C-a e C-e spostano
132all'inizio o alla fine di una riga, e M-a e M-e all'inizio o alla fine di 143all'inizio o alla fine di una riga, mentre M-a e M-e all'inizio o alla
133una frase. 144fine di una frase.
134 145
135>> Prova due C-a e poi due C-e. Prova due M-a e poi due M-e. 146>> Prova due C-a e poi due C-e. Prova due M-a e poi due M-e.
136 147
137Osserva come un C-a ripetuto non abbia effetto, mentre M-a ripetuti 148Osserva come un C-a ripetuto non abbia effetto, mentre M-a ripetuti
138continuano a spostare il cursore all'inizio di frasi precendenti. Sebbene 149continuano a spostare il cursore all'inizio di frasi precedenti.
139questi due ultimi comandi non siano perfettamente analoghi, riteniamo che 150Sebbene questi due ultimi comandi non siano perfettamente analoghi,
140il loro comportamento sia ragionevole. 151riteniamo che il loro comportamento sia ragionevole.
141 152
142La posizione del cursore nel testo è anche chiamata "punto". Per meglio 153La posizione del cursore nel testo è anche chiamata punto. Per
143dire, il cursore mostra sullo schermo dove si trova, al momento, il punto 154meglio dire, il cursore mostra sullo schermo dove si trova, al
144nel testo. 155momento, il punto nel testo.
145 156
146Ecco un sommario delle più semplici operazioni di spostamento del cursore, 157Ecco un sommario delle più semplici operazioni di spostamento del
147compresi i comandi di spostamento di parola in parola o di frase in frase: 158cursore, compresi i comandi di spostamento di parola in parola o di
159frase in frase:
148 160
149 C-f Sposta avanti di un carattere 161 C-f Sposta avanti di un carattere
150 C-b Sposta indietro di un carattere 162 C-b Sposta indietro di un carattere
151 163
152 M-f Sposta avanti di una parola 164 M-f Sposta avanti di una parola
153 M-b Sposta indietro di una parola 165 M-b Sposta indietro di una parola
154 166
155 C-n Sposta alla riga successiva 167 C-n Sposta alla riga successiva
156 C-p Sposta alla riga precedente 168 C-p Sposta alla riga precedente
157 169
158 C-a Sposta all'inizio della riga 170 C-a Sposta all'inizio della riga
159 C-e Sposta alla fine della riga 171 C-e Sposta alla fine della riga
160 172
161 M-a Sposta all'inizio della frase 173 M-a Sposta all'inizio della frase
162 M-e Sposta alla fine della frase 174 M-e Sposta alla fine della frase
163 175
164>> Prova tutti questi comandi alcune volte per fare pratica. Questi sono 176>> Prova tutti questi comandi alcune volte per fare pratica.
165 i comandi più usati. 177 Questi sono i comandi più usati.
166 178
167Altri due importanti comandi di spostamento del cursore sono M-< (META 179Altri due importanti comandi di spostamento del cursore sono M-< (META
168Minore-di), che sposta all'inizio dell'intero testo, e M-> (META 180Minore-di), che sposta all'inizio dell'intero testo, e M-> (META
169Maggiore-di), che sposta alla fine dell'intero testo. 181Maggiore-di), che sposta alla fine dell'intero testo.
170 182
171Su molte tastiere il carattere ">" si raggiunge premendo il tasto SHIFT. 183Su molte tastiere il carattere “<” trova sopra la virgola, quindi è
172Su queste tastiere bisogna usare il tasto SHIFT assieme a quello META; 184necessario tenere premuto il tasto shift (⇑) per ottenerlo. Su questi
173senza il tasto SHIFT si otterrebbe un carattere diverso. 185terminali dovrai usare il tasto shift per ottenere M-<, perché
186altrimenti digiteresti M-virgola.
174 187
175>> Prova M-< adesso per andare all'inizio del tutorial. Poi usa C-v 188>> Prova M-< adesso per andare all'inizio del tutorial. Poi usa C-v
176 ripetutamente per tornare a questo punto. 189 ripetutamente per tornare a questo punto.
177>> Prova M-> adesso, per andare alla fine del tutorial. Quindi usa M-v
178 ripetutamente per tornare a questo punto.
179 190
180Il cursore si può anche spostare con i tasti freccia, se il terminale li 191>> Prova M-> adesso, per andare alla fine del tutorial. Quindi usa
181ha. Noi raccomandiamo di imparare C-b, C-f, C-n e C-p per tre motivi: 192 M-v ripetutamente per tornare a questo punto.
182primo, funzionano su tutti i terminali; secondo, una volta acquisita 193
183pratica nell'uso di Emacs, ci si accorgerà che raggiungere questi 194Il cursore si può anche spostare con i tasti freccia, se il terminale
184caratteri di controllo è più rapido che usare i tasti freccia perché non 195li ha. Noi raccomandiamo di imparare C-b, C-f, C-n e C-p per tre
185bisogna spostare le mani dalla posizione di scrittura sulla tastiera; 196motivi: primo, funzionano su tutti i terminali; secondo, una volta
186terzo, una volta acquisita l'abitudine ad usare questi comandi con il 197acquisita pratica nell'uso di Emacs, ci si accorgerà che raggiungere
187carattere Control, si può allo stesso modo imparare ad usare altri comandi 198questi caratteri di controllo è più rapido che usare i tasti freccia
188avanzati di spostamento del cursore. 199(perché non bisogna spostare le mani dalla posizione di scrittura
189 200sulla tastiera); terzo, una volta acquisita l'abitudine ad usare
190Molti comandi di Emacs accettano un argomento numerico che spesso serve a 201questi comandi con il carattere Control, si può allo stesso modo
191conteggiare per quante volte vanno ripetuti. Il modo in cui si può 202imparare ad usare altri comandi avanzati di spostamento del cursore.
192fornire ad un comando il numero di ripetizioni è il seguente: si usa C-u e 203
193quindi si indicano le cifre prima di impartire il comando stesso. Se 204Molti comandi di Emacs accettano un argomento numerico che spesso
194esiste un tasto META (o EDIT o ALT) c'è un modo alternativo: si battono le 205serve a conteggiare per quante volte vanno ripetuti. Il modo in cui
195cifre tenendo premuto il tasto META. Noi consigliamo di imparare il 206si può fornire ad un comando il numero di ripetizioni è il seguente:
196metodo con C-u perché funziona su tutti i terminali. L'argomento numerico 207si usa C-u e quindi si indicano le cifre prima di impartire il comando
197è anche chiamato "argomento prefisso", perché viene indicato prima del 208stesso. Se esiste un tasto META (o EDIT o ALT) c'è un modo
198comando a cui si riferisce. 209alternativo: si battono le cifre tenendo premuto il tasto META. Noi
210consigliamo di imparare il metodo con C-u perché funziona su tutti i
211terminali. L'argomento numerico è anche chiamato “argomento
212prefisso”, perché viene indicato prima del comando a cui si riferisce.
199 213
200Per esempio, C-u 8 C-f sposta il cursore in avanti di otto caratteri. 214Per esempio, C-u 8 C-f sposta il cursore in avanti di otto caratteri.
201 215
202>> Prova ad usare C-n, o C-p, con un argomento numerico per spostare il 216>> Prova ad usare C-n, o C-p, con un argomento numerico per spostare
203 cursore su una riga vicina a questa con un solo comando. 217 il cursore su una riga vicina a questa con un solo comando.
204 218
205La maggior parte dei comandi usa l'argomento numerico come numero delle 219La maggior parte dei comandi usa l'argomento numerico come numero
206ripetizioni da effettuare, tuttavia alcuni lo usano in modo diverso. 220delle ripetizioni da effettuare, tuttavia alcuni lo usano in modo
207Altri comandi (ma nessuno di quelli imparati fino ad ora) lo usano come 221diverso. Altri comandi (ma nessuno di quelli imparati fino ad ora) lo
208indicatore di alternativa: la presenza di un argomento prefisso, 222usano come indicatore di alternativa: la presenza di un argomento
209indipendentemente dal suo valore, modifica il comportamento del comando. 223prefisso, indipendentemente dal suo valore, modifica il comportamento
224del comando.
210 225
211C-v e M-v sono un'altra eccezione. Quando gli si fornisce un argomento 226C-v e M-v sono un'altra eccezione. Quando gli si fornisce un
212spostano l'area di testo visualizzato in alto o in basso del numero di 227argomento spostano l'area di testo visualizzato in alto o in basso del
213righe indicato invece che del numero di schermate. Per esempio, C-u 8 C-v 228numero di righe indicato invece che del numero di schermate. Per
214fa scorrere lo schermo di 8 righe. 229esempio, C-u 8 C-v fa scorrere lo schermo di 8 righe.
215 230
216>> Ora prova con C-u 8 C-v. 231>> Ora prova con C-u 8 C-v.
217 232
218La schermata si sposta di 8 righe verso l'alto. Se vuoi tornare di nuovo 233La schermata si sposta di 8 righe verso l'alto. Se vuoi tornare di
219in basso puoi usare un argomento numerico con M-v. 234nuovo in basso puoi usare un argomento numerico con M-v.
220 235
221Quando si usa un sistema a finestre, come X11 o MS-Windows, ci dovrebbe 236Quando si usa un sistema a finestre, come X o MS-Windows, ci dovrebbe
222essere un'area rettangolare allungata chiamata barra di scorrimento a 237essere un'area rettangolare allungata chiamata barra di scorrimento a
223un lato della finestra di Emacs. Si può far scorrere il testo con un 238un lato della finestra di Emacs. Si può far scorrere il testo con un
224click del mouse nella barra di scorrimento. 239click del mouse nella barra di scorrimento.
225 240
226>> Prova a premere il pulsante centrale del mouse sopra all'area 241Se il tuo mouse dispone di una rotellina, puoi usare anche quella per
227 evidenziata nella barra di scorrimento. Verrà visualizzata una parte 242far scorrere il testo.
228 del testo, più verso l'inizio o la fine, a seconda del punto della
229 barra che il puntatore indicava mentre premevi il pulsante del mouse.
230>> Prova a spostare il mouse in su e in giù mentre tieni premuto il
231 pulsante centrale. Osserva come il testo scorre in su e in giù mentre
232 muovi il mouse.
233 243
234 244
235* QUANDO EMACS SI BLOCCA 245* QUANDO EMACS SI BLOCCA
236------------------------ 246------------------------
237 247
238Se Emacs smette di rispondere ai comandi può essere fermato in modo sicuro 248Se Emacs smette di rispondere ai comandi può essere fermato in modo
239premendo C-g. Si può usare C-g per fermare un comando che sta impiegando 249sicuro premendo C-g. Si può usare C-g per fermare un comando che sta
240troppo tempo per l'esecuzione. 250impiegando troppo tempo per l'esecuzione.
241 251
242Si può anche usare C-g per annullare un argomento numerico o l'esecuzione 252Si può anche usare C-g per annullare un argomento numerico o
243di un comando che non si vuole più portare a termine. 253l'esecuzione di un comando che non si vuole più portare a termine.
244 254
245>> Batti C-u 100 per indicare un argomento numerico di 100, quindi premi 255>> Batti C-u 100 per indicare un argomento numerico di 100, quindi
246 C-g. Ora premi C-f. Il cursore si sposta in avanti di un solo 256 premi C-g. Ora premi C-f. Il cursore si sposta in avanti di un
247 carattere perché hai annullato l'argomento numerico con C-g. 257 solo carattere perché hai annullato l'argomento numerico con C-g.
248 258
249Se hai premuto <ESC> per errore puoi annullare con C-g. 259Se hai premuto <ESC> per errore puoi annullare con C-g.
250 260
@@ -252,170 +262,194 @@ Se hai premuto <ESC> per errore puoi annullare con C-g.
252* COMANDI DISATTIVATI 262* COMANDI DISATTIVATI
253--------------------- 263---------------------
254 264
255Alcuni comandi di Emacs sono "disattivati", così da evitare che utenti 265Alcuni comandi di Emacs sono disattivati, così da evitare che utenti
256principianti possano usarli per errore. 266principianti possano usarli per errore.
257 267
258Se si inserisce uno dei comandi disattivati Emacs mostra un messaggio in 268Se si inserisce uno dei comandi disattivati Emacs mostra un messaggio
259cui dice quale sia il comando e chiede se davvero si vuole procedere con 269in cui dice quale sia il comando e chiede se davvero si vuole
260l'esecuzione. 270procedere con l'esecuzione.
261 271
262Se effettivamente si vuole provare il comando bisogna premere la barra 272Se effettivamente si vuole provare il comando bisogna premere la barra
263spaziatrice come risposta a questa domanda. Normalmente, se non si vuole 273spaziatrice come risposta a questa domanda. Normalmente, se non si
264eseguire il comando disattivato, bisogna rispondere alla domanda con "n". 274vuole eseguire il comando disattivato, bisogna rispondere alla domanda
275con "n".
265 276
266>> Prova C-x C-l (che è un comando disattivato), poi rispondi con "n" alla 277>> Prova C-x C-l (che è un comando disattivato), poi rispondi con n
267 domanda. 278 alla domanda.
268 279
269 280
270* FINESTRE 281* FINESTRE
271---------- 282----------
272 283
273Emacs può avere diverse finestre, ognuna contenente il suo testo. 284Emacs può avere diverse finestre, ognuna contenente il suo testo.
274Spiegheremo dopo come usare finestre multiple. Adesso ci occupiamo di 285Spiegheremo dopo come usare finestre multiple. Adesso ci occupiamo di
275come eliminare le finestre in più e tornare alla scrittura con una sola 286come eliminare le finestre in più e tornare alla scrittura con una
276finestra. È semplice: 287sola finestra. È semplice:
277 288
278 C-x 1 Una finestra (cioè, elimina tutte le altre finestre). 289 C-x 1 Una finestra (cioè, elimina tutte le altre finestre).
279 290
280È un CONTROL-x seguito dalla cifra 1. C-x 1 espande la finestra che 291È un CONTROL-x seguito dalla cifra 1. C-x 1 espande la finestra che
281continene il cursore su tutto lo schermo ed elimina tutte le altre 292contiene il cursore su tutto lo schermo ed elimina tutte le altre
282finestre. 293finestre.
283 294
284>> Sposta il cursore su questa riga e poi batti C-u 0 C-l. 295>> Sposta il cursore su questa riga e poi batti C-u 0 C-l.
296
285>> Batti C-h k C-f. Osserva come questa finestra viene rimpicciolita 297>> Batti C-h k C-f. Osserva come questa finestra viene rimpicciolita
286 mentre ne appare un'altra che contiene la spiegazione del comando 298 mentre ne appare un'altra che contiene la spiegazione del comando
287 CONTROL-f. 299 CONTROL-f.
300
288>> Batti C-x 1 e guarda come la finestra contenente la spiegazione 301>> Batti C-x 1 e guarda come la finestra contenente la spiegazione
289 scompare. 302 scompare.
290 303
291Questo comando è diverso da tutti quelli imparati finora perché contiene 304C'è un'ampia serie di comandi che iniziano con CONTROL-x; molti di
292due caratteri. Inizia con il carattere CONTROL-x. C'è un'ampia serie di 305essi riguardano finestre, file, buffer e cose simili. Questi comandi
293comandi che iniziano con CONTROL-x; molti di essi riguardano finestre, 306possono essere lunghi due, tre o quattro caratteri.
294file, buffer, e cose simili. Questi comandi possono essere lunghi due,
295tre o quattro caratteri.
296 307
297 308
298* INSERIMENTO E CANCELLAZIONE 309* INSERIMENTO E CANCELLAZIONE
299----------------------------- 310-----------------------------
300 311
301Per inserire del testo basta premere i tasti corrispondenti alle varie 312Per inserire del testo basta premere i tasti corrispondenti alle varie
302lettere che lo compongono. I caratteri visibili, come A, 7, *, ecc., sono 313lettere che lo compongono. I caratteri visibili, come A, 7, *, ecc.,
303considerati testo e inseriti immediatamente. Si usa <Return> (il tasto 314sono considerati testo e inseriti immediatamente. Per inserire un
304Invio) per inserire un carattere Newline. 315Newline usa il tasto <Invio> (a volte contrassegnato col simbolo ↲).
305 316
306L'ultimo carattere inserito si cancella usando <Delete>. <Delete> è un 317Per cancellare il carattere immediatamente prima del cursore, digita
307tasto che si trova sulla tastiera e che potrebbe essere etichettato come 318<DEL>: solitamente è un tasto più largo del normale etichettato con
308"Del" o "Canc". Spesso il tasto "Backspace" (quello con la freccia 319Backspace o con una freccia che punta a sinistra, sopra il tasto
309rivolta verso sinistra sopra il tasto Invio) serve da <Delete>, ma non 320<Invio>; generalmente elimina l'ultimo carattere inserito
310sempre! 321
311 322Può esserci un altro tasto etichettato “Canc”, ma non è quello a cui
312Più in generale <Delete> cancella il carattere posto immediatamente prima 323ci riferiamo con <DEL>.
313della posizione attuale del cursore. 324
314 325>> Prova questo adesso: batti alcuni caratteri e poi cancellali con
315>> Prova questo adesso - batti alcuni caratteri e poi cancellali con 326 <DEL> ripetuto alcune volte. Non preoccuparti delle modifiche
316 <Delete> ripetuto alcune volte. Non preoccuparti delle modifiche fatte 327 fatte a questo file: l'esercitazione principale rimarrà intatta,
317 a questo file: l'esercitazione principale rimarr intatta, quella che 328 quella che stai usando ne una tua copia personale.
318 stai usando ne è una tua copia personale. 329
319 330Quando una riga di testo diventa troppo lunga per essere visualizzata
320Quando una riga di testo diventa troppo lunga per essere visualizzata su 331su una riga di schermo viene spezzata e “continua” su una seconda riga
321una riga di schermo essa viene "continuata" su una seconda riga dello 332dello schermo. Se stai usando un sistema a finestre grafico,
322schermo. Un carattere barra retroversa («\») posto accanto al margine 333compaiono delle piccole frecce ricurve ai lati del testo (nelle
323sinistro indica la prosecuzione della riga precedente. Quando si usa un 334“frange” sinistra e destra), indicando che la riga continua. Su un
324sistema a finestre grafico, invece della barra retroversa comparirà una 335terminale testuale, la continuazione viene indicata da una barra
325piccola freccia ricurva. 336rovescia (“\”) nell'ultima colonna a destra.
326 337
327>> Inserisci del testo fino a raggiungere il margine destro e poi 338>> Inserisci del testo fino a raggiungere il margine destro e poi
328 continua. Vedrai apparire la prosecuzione della riga. 339 continua. Vedrai apparire la prosecuzione della riga.
329>> Usa <Delete> per cancellare il testo fino a quando la riga di testo è 340
341>> Usa <DEL> per cancellare il testo fino a quando la riga di testo è
330 di nuovo tutta contenuta in una sola riga dello schermo. La 342 di nuovo tutta contenuta in una sola riga dello schermo. La
331 prosecuzione alla riga successiva scompare. 343 prosecuzione alla riga successiva scompare.
332 344
333Si può cancellare un carattere Newline ("a capo", è un carattere che ha un 345Si può cancellare un carattere Newline proprio come ogni altro.
334effetto ma non viene visualizzato esplicitamente) proprio come ogni altro.
335Quando si cancella il carattere Newline che separa due righe queste 346Quando si cancella il carattere Newline che separa due righe queste
336vengono unite in una riga sola. Se la riga risultante è troppo lunga per 347vengono unite in una riga sola. Se la riga risultante è troppo lunga
337essere contenuta dallo schermo allora sarà continuata nella riga 348per essere contenuta dallo schermo allora sarà continuata nella riga
338successiva. 349successiva.
339 350
340>> Muovi il cursore all'inizio di una riga e poi premi <Delete>. Questo 351>> Muovi il cursore all'inizio di una riga e poi premi <DEL>. Questo
341 unisce la riga alla precedente. 352 unisce la riga alla precedente.
353
342>> Premi <Invio> per inserire di nuovo il carattere Newline che hai 354>> Premi <Invio> per inserire di nuovo il carattere Newline che hai
343 cancellato. 355 cancellato.
344 356
345Si ricordi che la maggior parte dei comandi di Emacs può ricevere un 357Il tasto <Invio> è speciale in quanto può implicare più del semplice
346argomento numerico, compresi i caratteri per inserire il testo. Quando si 358inserimento di un carattere Newline. A seconda del testo circostante,
347ripete un carattere di testo questo viene inserito un certo numero di 359può inserire degli spazi dopo l'“a capo” in modo tale che inserendo
348volte. 360ulteriori caratteri nella nuova riga, il testo rimanga allineato con
361quello nelle righe precedenti. Questo comportamento (cioè quando
362premendo un tasto vengono eseguite ulteriori azioni rispetto al
363semplice inserimento del carattere stesso) viene chiamato “elettrico”.
364
365>> Questo è un esempio del comportamento “elettrico” di <Invio>
366 Inserisci un <Invio> alla fine di questa riga.
349 367
350>> Prova adesso - inserisci C-u 8 * per ottenere ********. 368Dovresti vedere che dopo essere andato a capo, Emacs ha inserito degli
369spazi per allineare il cursore sotto la “I” di “Inserisci”.
351 370
352Fino ad ora si è visto il modo più semplice di inserire testo in Emacs e 371Ricorda che la maggior parte dei comandi di Emacs può ricevere un
353di correggere gli errori. In modo analogo è possibile cancellare parola 372argomento numerico, compresi i caratteri per inserire il testo.
354per parola o riga per riga. Ecco un sommario delle operazioni di 373Quando si ripete un carattere di testo questo viene inserito un certo
374numero di volte.
375
376>> Prova adesso: inserisci C-u 8 * per ottenere ********.
377
378Fino ad ora si è visto il modo più semplice di inserire testo in Emacs
379e di correggere gli errori. In modo analogo è possibile cancellare
380parole o righe di testo. Ecco un sommario delle operazioni di
355cancellazione: 381cancellazione:
356 382
357 <Delete> cancella il carattere posto subito prima del cursore 383 <DEL> cancella il carattere posto subito prima del cursore
358 C-d cancella il carattere posto subito dopo il cursore 384 C-d cancella il carattere posto subito dopo il cursore
359 385
360 M-<Delete> elimina la parola posta prima del cursore 386 M-<DEL> elimina la parola posta prima del cursore
361 M-d elimina la parola posta subito dopo il cursore 387 M-d elimina la parola posta subito dopo il cursore
362 388
363 C-k cancella dalla posizione del cursore fino a fine riga 389 C-k cancella dalla posizione del cursore fino a fine riga
364 M-k cancella fino alla fine della frase corrente. 390 M-k cancella fino alla fine della frase corrente.
365 391
366Si osservi che <Delete> e C-d da una parte e M-<Delete> e M-d dall'altra 392Si osservi che <DEL> e C-d da una parte e M-<DEL> e M-d dall'altra
367estendono il parallelo tra C-f e M-f (a dire il vero, <Delete> non è un 393estendono il parallelo tra C-f e M-f (a dire il vero, <DEL> non è un
368vero e proprio carattere di controllo, ma non preoccupiamoci di questo). 394vero e proprio carattere di controllo, ma non preoccupiamoci di
369C-k è simile a C-e e M-k è simile a M-e, nel senso che i primi operano su 395questo). C-k è simile a C-e e M-k è simile a M-e, nel senso che i
370righe e i secondi su frasi. 396primi operano su righe e i secondi su frasi.
371 397
372Si può anche cancellare una qualsiasi parte del buffer in modo uniforme: 398Si può anche cancellare una qualsiasi parte del buffer in modo
373si sposta il cursore alla fine di quella parte e poi si usa C-@ o C-SPC 399uniforme: si sposta il cursore alla fine di quella parte e poi si usa
374(uno o l'altro, SPC è la Barra Spaziatrice), poi si muove il cursore 400C-<SPC> (<SPC> è la barra spaziatrice), poi si muove il cursore
375all'altro estremo della zona e si preme C-w. Questo cancella tutto il 401all'altro estremo della zona. Una volta fatto, Emacs evidenzia il
376testo posto tra i due estremi. 402testo compreso tra il cursore e la posizione dove hai digitato
377 403C-<SPC>. A questo punto premendo C-w il testo evidenziato viene
378>> Sposta il cursore sulla P all'inizio del paragrafo precedente. Premi 404eliminato.
379 C-SPC. Emacs dovrebbe mostrarti il messaggio "Mark set" nella parte 405
380 bassa dello schermo. Muovi il cursore sulla s di "estremi" del 406>> Sposta il cursore sulla “S” all'inizio del paragrafo precedente.
381 paragrafo precedente. Premi C-w. Questo cancellerà il testo a partire 407>> Premi C-<SPC>. Emacs dovrebbe mostrarti il messaggio "Mark set"
382 dalla "P" e fino alla lettera che precede "s". 408 nella parte bassa dello schermo.
383 409>> Muovi il cursore sulla “o” di “sposta”, nella seconda riga del
384La differenza tra "killing" (eliminazione) e "deleting" (cancellazione) è 410 paragrafo.
385che il testo "eliminato" può essere inserito di nuovo, mentre quello che 411>> Premi C-w. Questo eliminerà il testo a partire dalla "S" e fino
386viene cancellato non si può recuperare. L'operazione di reinserimento del 412 alla lettera che precede “o”.
387testo soppresso si chiama "yanking". In genere i comandi che possono 413
388rimuovere molto testo fanno un'operazione di eliminazione (così da poterlo 414La differenza tra “eliminazione” (“killing”) e “cancellazione”
389eventualmente reinserire), mentre i comandi che rimuovono un solo 415(“deleting”) è che il testo “eliminato” può essere inserito di nuovo
390carattere o solo righe vuote e spazi effettuano una cancellazione (quindi 416(in qualsiasi posizione), mentre quello che viene cancellato non può
391non è possibile recuperare quel testo). 417essere reinserito nello stesso modo (si può comunque annullare una
392 418cancellazione, vedi sotto). L'operazione di reinserimento del testo
393>> Muovi il cursore all'inizio di una riga non vuota. Usa C-k per 419cancellato si chiama “yanking”. In genere i comandi che possono
394 eliminare il testo di quella riga. Premi C-k una seconda volta. Ti 420rimuovere molto testo lo eliminano (così da poterlo eventualmente
395 accorgerai di come viene cancellato il carattere Newline posto dopo la 421reinserire), mentre i comandi che rimuovono un solo carattere o solo
396 riga stessa. 422righe vuote e spazi effettuano una cancellazione (quindi non è
423possibile recuperare quel testo). <DEL> e C-d eseguono una
424cancellazione nel caso più semplice, senza un argomento. Con un
425argomento invece eliminano il testo.
426
427>> Muovi il cursore all'inizio di una riga non vuota, poi usa C-k per
428 eliminare il testo di quella riga.
429>> Premi C-k una seconda volta. Ti accorgerai di come viene
430 eliminato il carattere Newline posto dopo la riga stessa.
397 431
398Si noti che un singolo C-k elimina il contenuto di una sola riga, un 432Si noti che un singolo C-k elimina il contenuto di una sola riga, un
399secondo C-k cancella la riga stessa, e fa spostare in alto tutte le righe 433secondo C-k elimina la riga stessa, facendo spostare in alto tutte le
400successive. C-k usa un eventuale argomento numerico in modo speciale: 434righe successive. C-k usa un eventuale argomento numerico in modo
401elimina quel numero di righe ed il loro contenuto. Non è una semplice 435speciale: elimina quel numero di righe ED il loro contenuto. Non è
402ripetizione del comando. C-u 2 C-k elimina due righe e i rispettivi 436una semplice ripetizione del comando. C-u 2 C-k elimina due righe e i
403caratteri Newline; battere due volte C-k sarebbe diverso. 437rispettivi caratteri Newline; battere due volte C-k sarebbe diverso.
404 438
405Recuperare il testo eliminato è un'operazione chiamata "yanking". 439Puoi reinserire il testo eliminato sia nella stessa posizione dove è
406(Significa "strappare", si deve pensare di riprendere del testo che era 440stato rimosso, in un altro punto del testo che stai modificando,
407stato portato via). Si può recuperare il testo che è stato eliminato sia 441oppure in un file diverso. Puoi reinserire lo stesso testo diverse
408nella sua posizione originaria che in un altro punto del buffer o anche in 442volte, facendone copie multiple. Altri editor usano termini diversi
409un diverso file. Si può reinserire diverse volte, facendone copie 443per queste operazioni, tipicamente “taglia” e “incolla” (consulta il
410multiple. 444Glossario nel manuale di Emacs).
411 445
412Il comando per fare "yanking" è C-y. Inserisce il testo eliminato per 446Il comando per fare "yanking" è C-y. Inserisce il testo eliminato per
413ultimo nel punto in cui si trova attualmente il cursore. 447ultimo nel punto in cui si trova attualmente il cursore.
414 448
415>> Prova: premi C-y per recuperare il testo di prima. 449>> Prova: premi C-y per recuperare il testo di prima.
416 450
417Se si eseguono operazioni di eliminazione immediatamente successive il 451Se si eseguono operazioni di eliminazione consecutive il testo
418testo eliminato è considerato un tutt'uno e quindi un solo C-y inserirà 452eliminato è considerato un tutt'uno e quindi un solo C-y inserirà
419quelle righe tutte assieme. 453quelle righe tutte assieme.
420 454
421>> Prova adesso, premi C-k alcune volte. 455>> Prova adesso, premi C-k alcune volte.
@@ -423,56 +457,55 @@ quelle righe tutte assieme.
423Adesso, per recuperare il testo eliminato: 457Adesso, per recuperare il testo eliminato:
424 458
425>> Premi C-y. Sposta il cursore alcune righe più in basso e premi di 459>> Premi C-y. Sposta il cursore alcune righe più in basso e premi di
426 nuovo C-y. Hai appena visto come copiare una parte di testo. 460 nuovo C-y. Hai appena visto come duplicare una parte di testo.
427 461
428Cosa succede se c'è del testo da recuperare tra quello eliminato ma è 462Cosa succede se c'è del testo da recuperare tra quello eliminato ma è
429stato eliminato altro testo dopo di esso? C-y restituirebbe il testo 463stato eliminato altro testo dopo di esso? C-y restituirebbe il testo
430dell'ultima eliminazione, tuttavia il testo eliminato in precedenza non è 464dell'ultima eliminazione, tuttavia il testo eliminato in precedenza
431perso. Si recupera con il comando M-y. Dopo aver usato C-y per 465non è perso. Si recupera con il comando M-y. Dopo aver usato C-y per
432recuperare il testo più recentemente eliminato, un M-y sostituisce quel 466recuperare il testo più recentemente eliminato, un M-y sostituisce
433testo con quello dell'eliminazione precedente. Premere M-y altre volte 467quel testo con quello dell'eliminazione precedente. Premendo M-y in
434recupera il testo delle eliminazioni via via precedenti. Quando è stato 468successione si recupera il testo delle eliminazioni via via
435trovato il testo cercato non si deve fare altro per tenerlo. Si può 469precedenti. Quando è stato trovato il testo cercato non si deve fare
436andare avanti con la scrittura lasciando il testo recuperato dove si 470altro per tenerlo. Si può andare avanti con la scrittura lasciando il
437trova. 471testo recuperato dove si trova.
438 472
439Quando si usa M-y un certo numero di volte si arriva di nuovo al testo di 473Quando si usa M-y un certo numero di volte si arriva di nuovo al testo
440partenza (quello eliminato per ultimo). 474di partenza (quello eliminato per ultimo).
441 475
442>> Elimina una riga, sposta il cursore, elimina un'altra riga. Usa C-y per 476>> Elimina una riga, sposta il cursore, elimina un'altra riga.
443 recuperare la seconda riga eliminata. Premi M-y e verrà sostituita 477 Premi C-y per recuperare la seconda riga eliminata.
444 dalla riga eliminata prima. Usa di nuovo M-y e osserva cosa succede. 478 Premi M-y e verrà sostituita dalla riga eliminata prima.
445 Continua fino a quando non ritrovi la riga che avevi eliminato per 479 Usa di nuovo M-y e osserva cosa succede. Continua fino a quando
446 seconda. Se vuoi puoi usare un argomento numerico sia positivo che 480 non ritrovi la riga che avevi eliminato per seconda. Se vuoi puoi
447 negativo per M-y. 481 usare un argomento numerico sia positivo che negativo per M-y.
448 482
449 483
450* ANNULLAMENTO 484* ANNULLAMENTO
451-------------- 485--------------
452 486
453Se si modifica il testo e subito dopo ci si accorge di aver fatto un 487Se si modifica il testo e subito dopo ci si accorge di aver fatto un
454errore si può annullare la modifica con il comando di annullamento C-x u. 488errore si può annullare la modifica con il comando di annullamento,
489C-/.
455 490
456Normalmente C-x u annulla le modifiche fatte da un solo comando; se si usa 491Normalmente C-/ annulla le modifiche fatte da un solo comando; se si
457C-x u alcune volte di seguito ogni ripetizione annulla un comando 492usa C-/ di seguito ogni ripetizione annulla un ulteriore comando.
458precedente.
459 493
460Ci sono due eccezioni: i comandi che non modificano il testo non contano, 494Ci sono due eccezioni: i comandi che non modificano il testo non
461tra questi i comandi di spostamento del cursore e quelli di scorrimento 495contano, tra questi i comandi di spostamento del cursore e quelli di
462del testo; i caratteri inseriti nel testo sono gestiti in gruppi, fino a 496scorrimento del testo; i caratteri inseriti nel testo sono gestiti in
46320 elementi, ciò per ridurre il numero di C-x u da usare per annullare 497gruppi, fino a 20 elementi (al fine di ridurre il numero di C-/ da
464l'inserimento del testo. 498usare per annullare l'inserimento del testo).
465 499
466>> Elimina questa riga con C-k poi usa C-x u e guardala ricomparire. 500>> Elimina questa riga con C-k poi usa C-/ e dovrebbe ricomparire.
467 501
468C-_ è un comando di annullamento alternativo; funziona come C-x u ma è più 502C-_ è un comando di annullamento alternativo, funziona esattamente
469semplice da inserire più volte di seguito. Lo svantaggio di C-_ è che su 503come C-/. Su alcuni terminali, la sequenza C-/ invia effettivamente
470alcune tastiere non è di inserimento immediato. Ecco perché abbiamo 504C-_ a Emacs. Alternativamente, anche C-x u ha la stessa funzione di
471previsto anche C-x u. Su alcuni terminali si può ottenere C-_ dal simbolo 505C-/, ma è leggermente più scomoda da inserire.
472/ mentre si tiene premuto il tasto CONTROL.
473 506
474Un argomento numerico per C-x u o C-_ agisce come numero delle ripetizioni 507Un argomento numerico per C-/, C-_ o C-x u agisce come numero delle
475da effettuare. 508ripetizioni da effettuare.
476 509
477Si può annullare la cancellazione del testo proprio come se ne annulla 510Si può annullare la cancellazione del testo proprio come se ne annulla
478l'eliminazione. La distinzione tra l'eliminazione e la cancellazione 511l'eliminazione. La distinzione tra l'eliminazione e la cancellazione
@@ -483,337 +516,361 @@ differenza rispetto all'operazione di annullamento.
483* FILE 516* FILE
484------ 517------
485 518
486Per conservare in modo permanente il testo inserito biaogna conservarlo in 519Per conservare in modo permanente il testo inserito bisogna
487un file, altrimenti sarà perso al termine dell'esecuzione di Emacs. Per 520conservarlo in un file, altrimenti sarà perso al termine
488inserire il testo in un file bisogna aprire quel file prima di comporre il 521dell'esecuzione di Emacs. Per inserire il testo in un file bisogna
489testo. (Questa operazione si chiama anche "visita" del file.) 522aprire quel file prima di comporre il testo. (Questa operazione si
490 523chiama anche “visita” del file.)
491Aprire un file significa osservarne il contenuto all'interno di Emacs. 524
492Per molti versi è come se si operasse sul file stesso, tuttavia le 525Aprire un file implica vederne il contenuto all'interno di Emacs. Per
493modifiche apportate al contenuto non sono definitive fino a quando non si 526molti versi è come se si operasse sul file stesso, tuttavia le
494"salva" il file. Tutto questo avviene in modo tale da evitare di lasciare 527modifiche apportate al contenuto non sono definitive fino a quando non
495un file su disco quando è modificato solo in parte. Persino quando si 528si “salva” il file. Tutto questo avviene in modo tale da evitare di
496salva il file Emacs conserva il contenuto originale dello stesso in un 529lasciare un file su disco quando è modificato solo in parte. Persino
497file con un altro nome, nel caso in cui si capisca più tardi che le 530quando si salva il file Emacs conserva il contenuto originale dello
498modifiche sono state un errore. 531stesso in un file con un altro nome, nel caso in cui si capisca più
499 532tardi che le modifiche sono state un errore.
500Osservando la parte bassa dello schermo si noti che c'è una riga che 533
501inizia e finisce con dei trattini e che all'inizio contiene questo testo 534Osservando la parte bassa dello schermo puoi notare una riga che
502"--:-- TUTORIAL.it" o qualcosa di simile. Questa parte dello schermo 535inizia qualcosa del tipo “--:-- TUTORIAL.it. Questa parte dello
503normalmente mostra il nome del file che si sta "visitando". In questo 536schermo normalmente mostra il nome del file che si sta visitando.
504momento si "visita" un file che si chiama "TUTORIAL.it" che è poi una 537In questo momento stai osservando la tua copia personale
505copia dell'esercitazione di Emacs. Quando si apre un file con Emacs il 538dell'esercitazione di Emacs, chiamata “TUTORIAL.it”. Quando si apre
506suo nome apparirà sempre in quel punto preciso. 539un file con Emacs il suo nome apparirà sempre in quel punto preciso.
507 540
508Una caratteristica particolare del comando per aprire i file è che bisogna 541Una caratteristica particolare del comando per aprire i file è che
509fornirgli il nome del file. Diciamo in questo caso che il comando "legge 542bisogna fornirgli il nome del file. Diciamo in questo caso che il
510un argomento dal terminale" (l'argomento è proprio il nome del file). 543comando “legge un argomento dal terminale (l'argomento è proprio il
511Dopo aver scritto il comando 544nome del file). Dopo aver scritto il comando
512 545
513 C-x C-f Trova un file 546 C-x C-f Trova un file
514 547
515Emacs chiede il nome del file. Il nome che si inserisce compare nella 548Emacs chiede il nome del file. Il nome che si inserisce compare nella
516riga più in basso sullo schermo. La riga di fondo è chiamata "minibuffer" 549riga più in basso sullo schermo. La riga di fondo è chiamata
517quando viene usato per questo genere di operazioni di inserimento. Si 550“minibuffer” quando viene usato per questo genere di operazioni di
518possono usare i consueti comandi di Emacs per operare sul nome del file. 551inserimento. Si possono usare i consueti comandi di Emacs per operare
552sul nome del file.
519 553
520Mentre si inserisce il nome del file (oppure ogni altro testo nel 554Mentre si inserisce il nome del file (oppure ogni altro testo nel
521minibuffer), si p annullare il comando con un C-g. 555minibuffer), è possibile annullare l'operazione usando C-g.
522 556
523>> Premi C-x C-f, poi premi C-g. Questo vuota il "minibuffer" e 557>> Premi C-x C-f, poi premi C-g. Questo annulla il minibuffer e
524 interrompe l'esecuzione del comando C-x C-f che stava usando il 558 interrompe l'esecuzione del comando C-x C-f che stava usando il
525 "minibuffer". Quindi non sarà aperto alcun file. 559 minibuffer. Quindi non sarà aperto alcun file.
526 560
527Quando si finisce di indicare il nome del file bisogna premere <Invio> per 561Quando hai finito di indicare il nome del file, premi <Invio> per
528portare a termine il comando. Il comando C-x C-f inizia il suo lavoro e 562portare a termine il comando. Il minibuffer scompare e il comando C-x
529trova il file che è stato scelto. Il "minibuffer" scompare quando il 563C-f inizia il suo lavoro e trova il file che è stato scelto.
530comando C-x C-f ha terminato l'esecuzione.
531 564
532Subito dopo, il contenuto del file compare sullo schermo e si può 565Subito dopo, il contenuto del file compare sullo schermo e si può
533modificare a piacere. Quando si desidera rendere permanenti le modifiche 566modificare a piacere. Quando si desidera rendere permanenti le
534si usa il comando 567modifiche si usa il comando
535 568
536 C-x C-s Salva il file 569 C-x C-s Salva il file
537 570
538Questo copia il testo contenuto in Emacs nel file su disco. La prima 571Questo copia il testo contenuto in Emacs nel file su disco. La prima
539volta che si effetta questa operazione Emacs dà un nuovo nome al file 572volta che si effettua questa operazione Emacs rinomina il file
540originale in modo da conservarlo. Il nuovo nome è ottenuto aggiungendo un 573originale in modo da conservarlo. Il nuovo nome è ottenuto
541carattere "~" alla fine del nome originale. 574aggiungendo un carattere "~" alla fine del nome originale. Quando il
542 575salvataggio termina, Emacs mostra il nome del file scritto.
543Quando il salvataggio è terminato Emacs mostra il nome del file appena 576
544scritto. Si dovrebbero salvare le modifiche piuttosto spesso in modo da 577>> Premi C-x C-s TUTORIAL<Invio>.
545non perdere troppo lavoro se per caso il sistema dovesse bloccarsi. 578 Questo dovrebbe salvare questa esercitazione in un file chiamato
546 579 “TUTORIAL” e mostrare “Wrote ...TUTORIAL nella parte bassa dello
547>> Usa C-x C-f per salvare la tua copia di questa esercitazione. Questo 580 schermo.
548 dovrebbe mostrare il messaggio "Wrote ...TUTORIAL.it" nella parte bassa
549 dello schermo.
550 581
551Si può aprire un file già esistente per leggerlo o modificarlo. Si può 582Si può aprire un file già esistente per leggerlo o modificarlo. Si
552anche "visitare" un file che ancora non esiste. Questo è un modo per 583può anche visitare un file che ancora non esiste. Questo è un modo
553creare un nuovo file con Emacs: si apre il file che sarà inizialmente 584per creare un nuovo file con Emacs: si apre il file che sarà
554vuoto e quindi si inizia ad inserire il testo. Quando si chiederà di 585inizialmente vuoto e quindi si inizia ad inserire il testo. Quando si
555salvare il file Emacs lo creerà ed esso conterrà tutto il testo che è 586chiederà di salvare il file Emacs lo creerà ed esso conterrà tutto il
556stato inserito. Da quel punto in poi si potrà pensare di operare su un 587testo che è stato inserito. Da quel punto in poi si potrà pensare di
557file già esistente. 588operare su un file già esistente.
558 589
559 590
560* BUFFER 591* BUFFER
561-------- 592--------
562 593
563Se si apre un secondo file con C-x C-f il primo rimane aperto all'interno 594Se si apre un secondo file con C-x C-f il primo rimane aperto
564di Emacs. Si può tornare a visualizzarlo "visitandolo" di nuovo con il 595all'interno di Emacs. Si può tornare a visualizzarlo visitandolo di
565comando C-x C-f. In questo modo si possono aprire quanti file si vogliono 596nuovo con il comando C-x C-f. In questo modo si possono aprire quanti
566all'interno di Emacs. 597file si vogliono all'interno di Emacs.
567 598
568>> Crea un file chiamato "pippo" usando C-x C-f pippo <Invio>. Inserisci 599Emacs conserva il testo di ogni file all'interno di un oggetto
569 del testo e poi salva "pippo" con C-x C-s. Poi usa C-x C-f TUTORIAL.it 600chiamato “buffer”. L'apertura di un file crea un nuovo buffer
570 <Invio> per tornare all'esercitazione. 601all'interno di Emacs. Per guardare una lista dei buffer che esistono
602attualmente nella tua sessione di Emacs si usa
571 603
572Emacs conserva il testo di ogni file all'interno di un oggetto chiamato 604 C-x C-b Elenca buffer
573"buffer". La "visita" di un file produce un nuovo buffer all'interno di
574Emacs. Per guardare una lista dei buffer che esistono attualmente nella
575tua sessione di Emacs si usa
576
577 C-x C-b Elenca buffer
578 605
579>> Prova C-x C-b adesso. 606>> Prova C-x C-b adesso.
580 607
581Si osservi come ogni buffer abbia un nome e come possa avere anche il nome 608Osserva come ogni buffer abbia un nome e come possa avere anche il
582di un file del quale conserva il contenuto. Alcuni buffer non 609nome di un file del quale conserva il contenuto. QUALSIASI testo
583corrispondono ad alcun file. Per esempio il buffer che ha nome "*Buffer 610mostrato in una finestra di Emacs appartiene a qualche buffer.
584List*" non ha un file corrispondente, è quello che contiene la lista che è
585stata creata da C-x C-b. OGNI testo che si legge all'interno di Emacs è
586sempre parte di un buffer.
587 611
588>> Usa C-x 1 per eliminare la lista dei buffer. 612>> Usa C-x 1 per eliminare la lista dei buffer.
589 613
590Se si modifica in qualche modo il testo di un file e poi si visita un altro 614Quando ci sono svariati buffer, solo uno di essi è quello “corrente”
591file questo non comporta un salvataggio del primo. Le modifiche rimangono 615in un certo istante. Questo buffer è quello che è soggetto alle tue
592solo all'interno di Emacs, nel buffer relativo a quel file. La creazione 616modifiche. Se vuoi modificare un altro buffer, devi prima
593o la modifica del buffer del secondo file non ha alcun effetto sul buffer 617“selezionarlo”. Se vuoi passare a un buffer che corrisponde a un
594del primo. Sarebbe fastidioso dover tornare al primo file con C-x C-f per 618file, puoi farlo visitando di nuovo quel file usando C-x C-f. Ma c'è
595salvarlo con C-x C-s. Così c'è il comando 619un modo più semplice: usa il comando C-x b. Questo comando richiede
620il nome del buffer.
621
622>> Crea un file chiamato “pippo” con C-x C-f pippo<Invio>.
623 Torna poi a questa esercitazione con C-x b TUTORIAL<Invio>.
624
625La maggior parte delle volte, il nome del buffer corrisponde al nome
626del file (senza la parte relativa alla directory). Questo non è
627sempre vero. La lista dei buffer che ottieni con C-x C-b mostra sia
628il nome del buffer che il nome del file associato.
629
630Alcuni buffer non corrispondono ad alcun file. Per esempio il buffer
631che ha nome “*Buffer List*” non è associato a nessun file. Questo
632buffer TUTORIAL inizialmente non era associato a un file, mentre
633adesso lo è, dal momento che nella sezione precedente hai usato C-x
634C-s per salvarlo in un file.
635
636Anche il buffer chiamato “*Messages* non è associato ad alcun file.
637Quel buffer contiene tutti i messaggi che sono apparsi nella parte
638bassa dello schermo durante la sessione di Emacs.
639
640>> Passa al buffer con i messaggi con C-x b *Messages*<Invio>.
641 Torna poi a questa esercitazione con C-x b TUTORIAL<Invio>.
596 642
597 C-x s Salva alcuni buffer 643Se si modifica in qualche modo il testo di un file e poi si visita un
644altro file questo non comporta il salvataggio del primo. Le modifiche
645rimangono solo all'interno di Emacs, nel buffer relativo a quel file.
646La creazione o la modifica del buffer del secondo file non ha alcun
647effetto sul buffer del primo. Questo è comodo, ma è conveniente avere
648la possibilità di salvare il buffer del primo file: sarebbe fastidioso
649dover prima passare a quel buffer per salvarlo con C-x C-s. Così c'è
650il comando
598 651
599C-x s chiede conferma del salvataggio per ogni buffer che contiene testo 652 C-x s Salva alcuni buffer
600modificato e non ancora salvato. Chiede, per ognuno di quei buffer, se si
601voglia salvarne il contenuto nel file corrispondente.
602 653
603>> Inserisci una riga di testo e poi premi C-x s. Dovrebbe chiederti se 654C-x s chiede conferma del salvataggio per ogni buffer che contiene
604 vuoi salvare il buffer chiamato TUTORIAL.it. Rispondi di sì battendo 655testo modificato e non ancora salvato. Chiede, per ognuno di quei
605 "y". 656buffer, se si voglia salvarne il contenuto nel file corrispondente.
657
658>> Inserisci una riga di testo e poi premi C-x s.
659 Dovrebbe chiederti se vuoi salvare il file chiamato “...TUTORIAL”.
660 Rispondi di sì battendo “y”.
606 661
607 662
608* ESTENDERE L'INSIEME DEI COMANDI 663* ESTENDERE L'INSIEME DEI COMANDI
609--------------------------------- 664---------------------------------
610 665
611Emacs ha molti comandi in più rispetto a quelli che potrebbero trovare 666Emacs ha molti comandi in più rispetto a quelli che potrebbero trovare
612posto su tutti i caratteri CONTROL e META. Emacs risolve questo problema 667posto su tutti i caratteri CONTROL e META. Emacs risolve questo
613usando il comando "estendi" (eXtend). Ce ne sono di due tipi: 668problema usando il comando X (eXtend). Ci sono due varianti:
614 669
615 C-x Comando esteso carattere. Seguito da un carattere. 670 C-x Comando esteso carattere. Seguito da un carattere.
616 M-x Comando esteso con nome. Seguito da un nome di comando. 671 M-x Comando esteso con nome. Seguito da un nome di comando.
617 672
618Si tratta di comandi utili ma meno utilizzati di quelli che già osservati. 673Si tratta di comandi utili ma meno utilizzati di quelli che già
619Se ne sono visti due: il comando C-x C-f per visitare un file e quello C-x 674osservati. Se ne sono visti alcuni: il comando C-x C-f per visitare
620C-s per salvarlo. Un altro esempio è quello che serve per chiudere la 675un file e C-x C-s per salvarlo, ad esempio. Un altro esempio è quello
621sessione Emacs - cioè il comando C-x C-c. Non bisogna temere di perdere 676che serve per chiudere la sessione Emacs, cioè il comando C-x C-c.
622le modifiche fatte: C-x C-c propone infatti di salvare ogni file 677(Non preoccuparti di perdere le modifiche che hai apportato: C-x C-c
623modificato prima di chiudere Emacs. 678propone infatti di salvare ogni file modificato prima di chiudere
624 679Emacs.)
625C-z è il comando che serve per uscire da Emacs *temporaneamente* - così da 680
626poter tornare alla stessa sessione di Emacs in un momento successivo. 681Se stai usando un terminale grafico, non devi fare niente di speciale
627 682per passare da Emacs a un'altra applicazione. Puoi farlo con il mouse
628Su sistemi che lo permettono C-z "sospende" Emacs, cioè riporta alla shell 683oppure utilizzare i comandi del “window manager”. Al contrario, se
629che lo aveva invocato senza però porre termine alla sessione attuale. 684stai usando un terminale a caratteri che può mostrare una sola
630Nelle shell più comuni si può riaprire la sessione in corso con il comando 685applicazione alla volta, hai bisogno di un modo per “sospendere” Emacs
631"fg" oppure con "%emacs". 686e poter quindi usare un'altra applicazione.
632 687
633Su sistemi che non prevedono la possibilità di "sospensione", C-z crea una 688C-z è il comando che serve per uscire da Emacs *temporaneamente*, in
634subshell che funziona all'interno di Emacs per dare la possibilità di 689modo tale da poter tornare alla stessa sessione di Emacs in un momento
635usare altri programmi e poi tornare a Emacs successivamente; in pratica 690successivo. Quando si è su un terminale a caratteri, C-z sospende
636non fa "uscire" veramente da Emacs. In questo caso il comando di shell 691Emacs, ci si ritorna alla shell senza distruggere la sessione
637"exit" è il modo comune per tornare ad Emacs dalla subshell. 692corrente. Nelle shell più comuni, puoi ritornare in Emacs con il
638 693comando “fg” oppure con “%emacs”.
639Il momento di usare C-x C-c è quando si sta per effettuare il log-out dal 694
640sistema. È anche il comando giusto quando si deve chiudere Emacs che è 695Il momento di usare C-x C-c è quando si sta per effettuare il log-out
641stato invocato da un programma che gestisce la posta o da altri programmi 696dal sistema. È anche il comando giusto quando si deve chiudere Emacs
642simili, dal momento che essi potrebbero non riuscire a gestire la 697che è stato invocato da un altro programma, ad esempio da quello che
643sospensione di Emacs. In circostanze normali, invece, se non si è sul 698gestisce la posta.
644punto di fare un log-out è meglio sospendere l'esecuzione di Emacs 699
645piuttosto che interromperla. 700Ci sono molti comandi C-x. Ecco una lista di quelli già conosciuti:
646 701
647Ci sono molti comandi che usano C-x. Ecco una lista di quelli già 702 C-x C-f Apri un file.
648conosciuti: 703 C-x C-s Salva un file.
649 704 C-x s Salva alcuni buffer.
650 C-x C-f Apri un file. 705 C-x C-b Elenca buffer.
651 C-x C-s Salva un file. 706 C-x b Passa a un altro buffer.
652 C-x C-b Elenca buffer. 707 C-x C-c Chiudi Emacs.
653 C-x C-c Chiudi Emacs. 708 C-x 1 Elimina tutte le finestre tranne una.
654 C-x 1 Elimina tutte le finestre tranne una. 709 C-x u Annulla.
655 C-x u Annulla. 710
656 711I comandi estesi con nome sono usati ancora meno spesso, oppure sono
657I comandi estesi con nome sono usati ancora meno spesso, oppure sono usati 712usati solo in certe modalità. Un esempio è il comando replace-string
658solo in certi "modi" di esecuzione. Un esempio è il comando 713per sostituire in tutto il testo una stringa di caratteri con
659replace-string per sostituire in tutto il testo una stringa di caratteri 714un'altra. Quando si usa M-x Emacs visualizza "M-x" nella parte bassa
660con un'altra. Quando si usa M-x Emacs visualizza "M-x" nella parte bassa 715dello schermo, quindi si deve inserire per esteso il nome del comando;
661dello schermo, quindi si deve inserire per esteso il nome del comando; in 716in questo caso “replace-string”. Inserisci solo “repl s<TAB>” ed
662questo caso "replace-string". Inserisci solo "repl s<TAB>" ed Emacs 717Emacs completerà da solo il nome. (<TAB> è il tasto di tabulazione,
663completerà da solo il nome. (<TAB> è il tasto di tabulazione, che si 718che si trova di solito sul lato sinistro della tastiera sopra al tasto
664trova di solito sul lato sinistro della tastiera sopra al tasto Blocca 719Blocca Maiuscole.) Concludi l'inserimento del comando con il tasto
665Maiuscole). Concludi l'inserimento del comando con il tasto <Invio>. 720<Invio>.
666 721
667Il comando replace-string richiede due argomenti: la stringa da sostituire 722Il comando replace-string richiede due argomenti: la stringa da
668e quella con cui sostituirla. Bisogna indicare la fine di ogni argomento 723sostituire e quella con cui sostituirla. Bisogna indicare la fine di
669con <Invio>. 724ogni argomento con <Invio>.
670 725
671>> Muovi il cursore sulla riga bianca qui sotto, quindi batti M-x repl s 726>> Muovi il cursore sulla riga vuota due righe sotto questa.
672 <Invio> cambiata <Invio> modificata <Invio>. 727 Inserisci quindi M-x repl s<Invio>cambiata<Invio>modificata<Invio>.
673 728
674Osserva come questa riga è cambiata: hai sostituito la parola cam-bia-ta 729 Osserva come questa riga sia cambiata: hai sostituito la parola
675con "modificata" tutte le volte che quella compariva nel testo, a partire 730cambiata” con modificata tutte le volte che quella compariva nel
676dalla posizione iniziale del cursore. 731 testo, a partire dalla posizione iniziale del cursore.
677 732
678 733
679* SALVATAGGIO AUTOMATICO 734* SALVATAGGIO AUTOMATICO
680------------------------ 735------------------------
681 736
682Quando si apportano delle modifiche ad un file ma non sono ancora state 737Quando si apportano delle modifiche ad un file ma non sono ancora
683salvate potrebbero essere perse se per caso il sistema si bloccasse. Per 738state salvate potrebbero essere perse se per caso il sistema si
684proteggerti da questa eventualità Emacs scrive periodicamente un file di 739bloccasse. Per proteggerti da questa eventualità Emacs scrive
685"salvataggio automatico" per ogni file che si sta scrivendo. Il nome del 740periodicamente un file di “salvataggio automatico” per ogni file che
686file di salvataggio automatico ha un carattere # all'inizio e alla fine; 741si sta modificando. Il nome del file di salvataggio automatico ha un
687per esempio se il file si chiama "ciao.c" il nome del file di salvataggio 742carattere # all'inizio e alla fine; per esempio se il file si chiama
688automatico sarà "#ciao.c#". Quando si salva il file nel modo consueto 743“ciao.c” il nome del file di salvataggio automatico sarà “#ciao.c#”.
689Emacs cancella il file di salvataggio automatico. 744Quando si salva il file nel modo consueto Emacs cancella il file di
745salvataggio automatico.
690 746
691Se il computer si blocca si può recuperare il file salvato automaticamente 747Se il computer si blocca si può recuperare il file salvato
692aprendo il file in modo normale (il file che si stava scrivendo, non 748automaticamente aprendo il file in modo normale (il file che si stava
693quello di salvataggio automatico) e usando poi M-x recover file<Invio>. 749scrivendo, non quello di salvataggio automatico) e usando poi M-x
694Quando viene chiesta la conferma si risponda con yes<Invio> per andare 750recover-file<Invio>. Quando viene chiesta la conferma si risponda
695avanti nel recupero dei dati salvati automaticamente. 751con yes<Invio> per procedere con il recupero dei dati salvati
752automaticamente.
696 753
697 754
698* AREA DI ECO 755* AREA DI ECO
699------------- 756-------------
700 757
701Se Emacs si accorge che si inseriscono comandi multicarattere in modo 758Se Emacs si accorge che si inseriscono comandi multicarattere in modo
702troppo lento allora mostra la sequenza nella parte bassa dello schermo in 759troppo lento allora mostra la sequenza nella parte bassa dello schermo
703un'area chiamata "area di eco". L'area in questione contiene l'ultima riga 760in un'area chiamata "area di eco". L'area in questione contiene
704dello schermo. 761l'ultima riga dello schermo.
705 762
706 763
707* MODE LINE 764* MODE LINE
708----------- 765-----------
709 766
710La riga immediatamente sopra all'area di eco è chiamata "mode line" (riga 767La riga immediatamente sopra all'area di eco è chiamata "mode line"
711di modo). La "mode line" si presenta più o meno così: 768(riga di modo). La "mode line" si presenta più o meno così:
712 769
713--:** TUTORIAL.it (Fundamental)--L720--64%--------------- 770 -:**- TUTORIAL 62% L759 (Fundamental)
714 771
715Questa riga fornisce informazioni utili sullo stato di Emacs e sul testo 772Questa riga fornisce informazioni utili sullo stato di Emacs e sul
716che si inserisce. 773testo che si inserisce.
717 774
718Abbiamo già visto cosa significa il nome del file - è il file che si sta 775Abbiamo già visto cosa significa il nome del file: è il file che si
719visitando. --NN%-- (due cifre e il segno %) indica la posizione attuale 776sta visitando. NN% indica la posizione attuale nel testo: significa
720nel testo: significa che NN percento del testo si trova sopra al margine 777che NN percento del testo si trova sopra al margine superiore dello
721superiore dello schermo. Se si visualizza l'inizio del file ci sarà 778schermo. Se si visualizza l'inizio del file ci sarà scritto “Top”
722scritto --Top-- (inizio) invece che --00%--. Se invece ci si trova alla 779(inizio) invece che 0%. Se invece ci si trova alla fine del file
723fine del file ci sarà scritto --Bot-- (fine). Se si osserva un file 780ci sarà scritto Bot (fine). Se si osserva un file talmente piccolo
724talmente piccolo da essere visualizzato per intero sullo schermo allora la 781da essere visualizzato per intero sullo schermo allora la mode line
725"mode line" indicherà --All-- (tutto). 782indicherà All (tutto).
726 783
727La lettera L e le cifre indicano il numero di riga (Line) del punto 784La lettera L e le cifre indicano il numero di riga (Line) del punto
728indicato dal cursore in quel momento. 785indicato dal cursore in quel momento.
729 786
730I due asterischi vicino all'inizio indicano che sono state fatte delle 787I due asterischi vicino all'inizio indicano che sono state fatte delle
731modifiche al testo. Se il file è stato appena aperto o appena salvato 788modifiche al testo. Se il file è stato appena aperto o appena salvato
732quella parte della "mode line" non mostra alcun asterisco, solo trattini. 789quella parte della mode line non mostra alcun asterisco, solo
733 790trattini.
734La parte di "mode line" racchiusa tra parentesi serve ad indicare in quale 791
735modo di scrittura ci si trovi. Il modo standard è "Fundamental" ed è 792La parte di mode line racchiusa tra parentesi serve ad indicare in
736quello che probabilmente è attivo adesso. È un esempio di "modalità 793quale modo di scrittura ci si trovi. Il modo standard è “Fundamental”
737primaria" (major mode). 794ed è quello che probabilmente è attivo adesso. È un esempio di
738 795“modalità primaria” (major mode).
739Emacs ha tanti diversi tipi di "modalità primarie". Alcuni di questi 796
740servono per la scrittura di diversi linguaggi di programmazione e/o tipi 797Emacs ha tanti diversi tipi di modalità primarie. Alcuni di questi
741di testo, come la modalità Lisp, la modalità Testo, ecc. In un 798servono per la scrittura di diversi linguaggi di programmazione e/o
742determinato momento una sola "modalità primaria" alla volta può essere 799tipi di testo, come la modalità Lisp, la modalità Testo, ecc. In
743attiva, e il suo nome è visualizzato sulla "mode line", proprio come 800qualsiasi momento c'è una e una sola modalità primaria attiva, e il
744"Fundamental" lo è adesso. 801suo nome è visualizzato sulla mode line, dove adesso c'è
745 802“Fundamental”.
746Ogni "modalità primaria" condiziona il comportamento di alcuni comandi. 803
804Ogni modalità primaria condiziona il comportamento di alcuni comandi.
747Per esempio ci sono comandi per creare commenti in un programma e, dal 805Per esempio ci sono comandi per creare commenti in un programma e, dal
748momento che ogni linguaggio di programmazione ha un diverso tipo di 806momento che ogni linguaggio di programmazione ha un diverso tipo di
749commento, ogni "modalità primaria" deve inserire i commenti in modo 807commento, ogni modalità primaria deve inserire i commenti in modo
750diverso. Ogni "modalità primaria" è anche il nome di un comando esteso 808diverso. Ogni modalità primaria corrisponde al nome di un comando
751con nome che serve per attivare quella "modalità primaria". Per esempio 809esteso, con cui puoi passare a quella modalità. Per esempio M-x
752M-x fundamental-mode è il comando per attivare la modalità primaria 810fundamental-mode è il comando per attivare la modalità primaria
753"Fundamental". 811Fundamental.
754 812
755Se si vuole inserire del testo in italiano, come questo file, serve 813Se si vuole inserire del testo in italiano, come questo file,
756probabilmente la modalità testo ("text-mode"). 814probabilmente è più adeguata la modalità testo.
757 815
758>> Inserisci M-x text mode<Invio>. 816>> Inserisci M-x text-mode<Invio>.
759 817
760Non preoccuparti, nessuno dei comandi che hai imparato verrà modificato in 818Non preoccuparti, nessuno dei comandi che hai imparato verrà
761modo sostanziale. Tuttavia adesso puoi osservare come M-f e M-b 819modificato in modo sostanziale. Tuttavia adesso puoi osservare come
762considerino gli apostrofi come parti di parole. Al contrario, nella 820M-f e M-b considerino gli apostrofi come parti di parole. In
763modalità "Fundamental", M-f e M-b consideravano gli apostrofi dei 821precedenza, nella modalità Fundamental, M-f e M-b consideravano gli
764separatori di parole. 822apostrofi dei separatori di parole.
765 823
766Le "modalità primarie" di solito producono nei comandi piccoli cambiamenti 824Le modalità primarie di solito producono nei comandi piccoli
767come questo: la maggior parte di essi "fa lo stesso lavoro" ma in maniera 825cambiamenti come quello: la maggior parte di essi fa lo stesso
768appena diversa. 826lavoro” ma in maniera un po' diversa.
769 827
770Per leggere la documentazione sulla "modalità primaria" attuale si usa 828Per leggere la documentazione sulla modalità primaria attuale, usa
771C-h m. 829C-h m.
772 830
773>> Usa C-u C-v una o più volte per portare questa riga vicino all'inizio 831>> Sposta il cursore sulla riga successiva a questa.
774 dello schermo. Usa C-h m per leggere come il "text-mode" (modo testo) 832>> Premi C-l C-l per portare questa riga in cima allo schermo.
775 differisce dalla modalità "Fundamental". Premi C-x 1 per eliminare la 833>> Usa C-h m per leggere come la modalità Testo differisca dalla
776 finestra contenente la documentazione. 834 Fundamental.
777 835>> Premi C-x 1 per eliminare la finestra contenente la documentazione.
778Le "modalità primarie" sono chiamate così perché ci sono anche delle 836
779"modalità secondarie" (minor modes). Le "modalità secondarie" non sono 837Le modalità primarie sono chiamate così perché ci sono anche delle
780alternative alle "modalità primarie" ma solo piccole varianti di esse. 838“modalità secondarie” (minor modes). Tali modalità non sono
781Ogni "modalità secondaria" può essere attivata o disattivata 839alternative a quelle primarie, introducono solo piccole varianti.
782indipendentemente da tutte le altre "modalità secondarie" e 840Ogni modalità secondaria può essere attivata o disattivata,
783indipendentemente dalla "modalità primaria" attiva in quel momento. Si 841indipendentemente da tutte le altre modalità secondarie e
784può quindi usare nessuna "modalità secondaria", una soltanto oppure ogni 842indipendentemente dalla modalità primaria attiva in quel momento. Si
785altra combinazione di modalità secondarie. 843può quindi usare nessuna modalità secondaria, una soltanto oppure
786 844qualsiasi combinazione di modalità secondarie.
787Una "modalità secondaria" molto utile, specialmente per il testo italiano, 845
788è la modalità "Auto Fill". Quando questa modalità è attiva, Emacs 846Una modalità secondaria molto utile, specialmente per scrivere del
789interrompe la riga tra due parole ogni volta che, nel corso 847testo, è la modalità “Auto Fill” (riempimento automatico). Quando
790dell'inserimento, essa diventa troppo lunga. 848questa modalità è attiva, Emacs interrompe la riga tra due parole ogni
791 849volta che, nel corso dell'inserimento, essa diventa troppo lunga.
792Si può attivare il modo "Auto Fill" con: M-x auto fill mode<Invio>. 850
793Quando la modalità suddetta è attiva può essere disattivata con M-x auto 851Si può attivare il modo “Auto Fill” con M-x auto-fill-mode<Invio>.
794fill mode<Invio>. Se la modalità è disattivata questo comando la attiva, 852Quando la modalità suddetta è attiva può essere disattivata eseguendo
795viceversa se è già attiva. Un comando che funziona così si comporta come 853di nuovo M-x auto-fill-mode<Invio>. Se la modalità è disattivata
796un interruttore, attiva o disattiva qualcosa ogni volta che viene premuto. 854questo comando la attiva, viceversa se è già attiva. Un comando che
797 855funziona così si comporta come un interruttore, attiva o disattiva
798>> Usa M-x auto fill mode<Invio> adesso. Inserisci una riga di "asdf" 856qualcosa ogni volta che viene premuto.
857
858>> Usa M-x auto fill mode<Invio> adesso. Inserisci una riga di “asdf ”
799 ripetuti fino a quando non la vedi dividersi in due righe. Devi 859 ripetuti fino a quando non la vedi dividersi in due righe. Devi
800 interporre degli spazi perché la modalità "Auto Fill" spezza le righe 860 interporre degli spazi perché la modalità Auto Fill spezza le righe
801 solo in corrispondenza di uno spazio. 861 solo in corrispondenza di uno spazio.
802 862
803Il margine di solito è predisposto a 70 caratteri ma può essere spostato 863Il margine di solito è predisposto a 70 caratteri ma può essere
804con il comando C-x f. Bisogna fornire al comando l'argomento numerico del 864spostato con il comando C-x f. Bisogna fornire al comando l'argomento
805margine che si desidera. 865numerico del margine che si desidera.
806 866
807>> Usa C-x f con un argomento di 20 (C-u 2 0 C-x f), poi inserisci del 867>> Usa C-x f con un argomento di 20 (C-u 2 0 C-x f), poi inserisci del
808 testo e osserva come Emacs interrompe le righe a 20 caratteri. Infine 868 testo e osserva come Emacs interrompe le righe a 20 caratteri.
809 torna di nuovo a un margine di 70 caratteri con C-x f. 869 Infine torna di nuovo a un margine di 70 caratteri con C-x f.
810 870
811Se si modifica il testo all'interno di un paragrafo la modalità 871Se si modifica il testo all'interno di un paragrafo la modalità "Auto
812"Auto Fill" non 872Fill" non lo risistema. Per risistemare i margini di un paragrafo si
813lo risistema. 873usa M-q (META-q) quando il cursore si trova in quel paragrafo.
814Per risistemare i margini di un paragrafo
815si usa M-q (META-q)
816quando il cursore si trova in quel paragrafo.
817 874
818>> Muovi il cursore sul paragrafo precedente e premi M-q. 875>> Muovi il cursore sul paragrafo precedente e premi M-q.
819 876
@@ -821,250 +878,309 @@ quando il cursore si trova in quel paragrafo.
821* CERCARE DEL TESTO 878* CERCARE DEL TESTO
822------------------- 879-------------------
823 880
824Emacs può effettuare la ricerca di stringhe (che sono gruppi di caratteri 881Emacs può effettuare la ricerca di stringhe (una stringa” è un gruppo
825contigui o parole) in posizione sia successiva che precedente nel testo. 882di caratteri contigui) in posizione sia successiva che precedente nel
826Cercare una stringa è un comando che provoca lo spostamento del cursore: 883testo. Cercare una stringa è un comando che provoca lo spostamento
827lo porta lì dove la stringa compare. 884del cursore: lo porta lì dove la stringa compare.
828 885
829Il comando di ricerca di Emacs è diverso da quello di molti altri editor 886Il comando di ricerca di Emacs è diverso da quello di molti altri
830perché è "incrementale". Ciò significa che la ricerca avviene proprio 887editor perché è incrementale. Ciò significa che la ricerca avviene
831mentre si inserisce la stringa da cercare. 888proprio mentre si inserisce la stringa da cercare.
832 889
833I comandi per iniziare la ricerca sono C-s per quella in avanti e C-r per 890I comandi per iniziare la ricerca sono C-s per quella in avanti e C-r
834quella all'indietro nel testo. ASPETTA! Non provarli ora. 891per quella all'indietro nel testo. ASPETTA! Non provarli ora.
835 892
836Quando si preme C-s si vede comparire il messaggio "I-search" nell'"area 893Quando si preme C-s si vede comparire il messaggio I-search
837di eco", ciò significa che Emacs aspetta che si indichi ciò che deve 894nell'area di eco: ciò significa che Emacs aspetta che si indichi ciò
838cercare. <Invio> serve a concludere la ricerca. 895che deve cercare. <Invio> serve a concludere la ricerca.
839 896
840>> Adesso usa C-s per inziare la ricerca. LENTAMENTE, una lettera alla 897>> Adesso usa C-s per iniziare la ricerca. LENTAMENTE, una lettera
841 volta, inserisci la parola "cursore", facendo una pausa dopo ogni 898 alla volta, inserisci la parola cursore, facendo una pausa dopo
842 carattere scritto per vedere cosa succede al cursore. Hai cercato 899 ogni carattere scritto per vedere cosa succede al cursore. Hai
843 "cursore" una volta sola. 900 cercato “cursore”, una volta sola.
844>> Usa C-s un'altra volta per trovare il punto in cui la parola "cursore" 901>> Usa C-s un'altra volta per trovare la successiva occorrenza della
845 compare successivamente. 902 parola cursore.
846>> Adesso premi <Delete> quattro volte e osserva come si muove il cursore. 903>> Adesso premi <DEL> quattro volte e osserva come si muove il cursore.
847>> Premi <Invio> per concludere la ricerca. 904>> Premi <Invio> per concludere la ricerca.
848 905
849Hai visto cos'è successo? Durante una ricerca incrementale Emacs prova ad 906Hai visto cos'è successo? Durante una ricerca incrementale Emacs
850andare al punto successivo in cui compare la stringa indicata fino a quel 907prova ad andare al punto successivo in cui compare la stringa indicata
851momento. Per raggiungere il punto successivo in cui compare di nuovo 908fino a quel momento. Per raggiungere il punto successivo in cui
852"cursore" basta solo premere C-s ancora una volta. Se la stringa cercata 909compare di nuovo “cursore” basta solo premere C-s ancora una volta.
853non compare in alcun punto successivo Emacs emette un "beep" e informa che 910Se la stringa cercata non compare in alcun punto successivo Emacs
854la ricerca non è andata a buon fine ("failing"). C-g è un modo 911emette un “beep” e informa che la ricerca non è andata a buon fine
855alternativo per concludere la ricerca. 912(“failing”). C-g è un modo alternativo per concludere la ricerca.
856 913
857NOTA: su alcuni sistemi il comando C-s bloccherà lo schermo e poi non si 914Se durante una ricerca incrementale si preme il tasto <DEL> ci si
858vedrà alcun altro messaggio da Emacs. Questo significa che una 915accorgerà che l'ultimo carattere della stringa da cercare scompare e
859caratteristica del sistema operativo chiamata "controllo di flusso" sta 916la ricerca torna all'ultimo risultato trovato prima che fosse stato
860intercettando il carattere C-s e non gli permette di arrivare fino ad 917scritto. Per esempio, supponiamo di aver battuto una “c” e di aver
861Emacs. Per sbloccare lo schermo si può usare C-q. Poi si legga la 918trovato la prima “c” che compare nel testo. Se poi aggiungiamo una
862sezione "Spontaneous Entry to Incremental Search" nel manuale di Emacs per 919“u” il cursore si sposta alla prima stringa “cu” che trova. Ora se si
863suggerimenti su come gestire questa caratteristica del proprio sistema. 920preme <DEL> la “u” viene rimossa dalla stringa da cercare e il cursore
864 921torna sulla “c” trovata in precedenza.
865Se durante una ricerca incrementale si preme il tasto <Delete> ci si
866accorgerà che l'ultimo carattere della stringa da cercare scompare e la
867ricerca torna all'ultimo risultato trovato prima che fosse stato scritto.
868Per esempio, supponiamo di aver battuto una "c" e di aver trovato la prima
869"c" che compare nel testo. Se poi aggiungiamo una "u" il cursore si
870sposta alla prima stringa "cu" che trova. Ora se si preme <Delete> la "u"
871viene cancellata dalla stringa da cercare e il cursore torna sulla "c" che
872era stata trovata in precedenza.
873 922
874Se ci si trova nel mezzo di una operazione di ricerca e si usa un 923Se ci si trova nel mezzo di una operazione di ricerca e si usa un
875carattere control o meta (con poche eccezioni - i caratteri che hanno 924carattere control o meta (con poche eccezioni, caratteri che hanno
876significato particolare durante la ricerca sono C-s e C-r) allora la 925significato particolare durante la ricerca come C-s e C-r) allora la
877ricerca viene conclusa. 926ricerca viene conclusa.
878 927
879Il comando C-s inizia la ricerca di ogni presenza della stringa in 928Il comando C-s inizia la ricerca di ogni occorrenza della stringa in
880posizione SUCCESSIVA a quella attuale del cursore. Se si vuole cercare 929posizione SUCCESSIVA a quella attuale del cursore. Se si vuole
881qualcosa che nel testo precede il cursore allora bisogna usare il comando 930cercare qualcosa che nel testo precede il cursore allora bisogna usare
882C-r. Tutto quello che abbiamo detto su C-s si applica allo stesso modo 931il comando C-r. Tutto quello che abbiamo detto su C-s si applica allo
883per C-r, invertendo ovviamente la direzione di ricerca. 932stesso modo per C-r, invertendo ovviamente la direzione di ricerca.
884 933
885 934
886* FINESTRE MULTIPLE 935* FINESTRE MULTIPLE
887------------------- 936-------------------
888 937
889Una delle caratteristiche interessanti di Emacs è che si possono 938Una delle caratteristiche interessanti di Emacs è che si possono
890visualizzare più finestre sullo schermo nello stesso momento. 939visualizzare più finestre sullo schermo nello stesso momento. (Nota
940che Emacs utilizza il termine “frame”, descritto nella sezione
941successiva, per indicare quello che altre applicazioni chiamano
942“window”. Il manuale di Emacs contiene un Glossario dei termini usati
943da Emacs.)
944
945>> Muovi il cursore su questa riga e inserisci C-l C-l.
891 946
892>> Muovi il cursore su questa riga e inserisci C-u 0 C-l (è CONTROL-L, non
893 CONTROL-1).
894>> Adesso usa C-x 2 che divide lo schermo in due parti. Entrambe le 947>> Adesso usa C-x 2 che divide lo schermo in due parti. Entrambe le
895 finestre visualizzano questo tutorial. Il cursore si trova nella 948 finestre visualizzano questo tutorial. Il cursore si trova nella
896 finestra superiore. 949 finestra superiore.
950
897>> Premi C-M-v per far scorrere la finestra inferiore. (Se non hai un 951>> Premi C-M-v per far scorrere la finestra inferiore. (Se non hai un
898 tasto META usa <ESC> C-v.) 952 tasto META usa <ESC> C-v.)
953
899>> Usa C-x o per muovere il cursore nella finestra inferiore. 954>> Usa C-x o per muovere il cursore nella finestra inferiore.
900>> Usa C-v e M-v nella finestra inferiore per farvi scorrere il testo. 955>> Usa C-v e M-v nella finestra inferiore per farvi scorrere il testo.
901 Continua a leggere queste indicazioni nella finestra superiore. 956 Continua a leggere queste indicazioni nella finestra superiore.
902>> Premi C-x o di nuovo per muovere il cursore nella finestra superiore.
903 Il cursore si trova sul punto che occupava in precedenza.
904 957
905Si può continuare a usare C-x o per andare da una finestra all'altra. Ogni 958>> Premi C-x o di nuovo per muovere il cursore nella finestra
906finestra ha la sua posizione per il cursore ma solo una alla volta lo 959 superiore. Il cursore si trova sul punto che occupava in
907visualizza. Tutti i comandi impartiti funzionano sulla finestra in cui si 960 precedenza.
908trova il cursore. Noi la chiamiamo la "finestra selezionata". 961
962Puoi continuare a usare C-x o per andare da una finestra all'altra.
963La “finestra selezionata”, dove avvengono le modifiche, è quella con
964un cursore che lampeggia quando non stai scrivendo. Le altre finestre
965conservano la loro posizione del cursore; se stai usando un terminale
966grafico, quei cursori appaiono come dei rettangoli vuoi e non
967lampeggianti.
909 968
910Il comando C-M-v è molto utile quando si inserisce del testo in una 969Il comando C-M-v è molto utile quando si inserisce del testo in una
911finestra mentre si usa l'altra solo come riferimento. Si può tenere il 970finestra mentre si usa l'altra solo come riferimento. Si può tenere
912cursore sempre nella finestra in cui si lavora e portare avanti 971il cursore sempre nella finestra in cui si lavora e far scorrere il
913sequenzialmente il testo contenuto nell'altra con C-M-v. 972testo contenuto nell'altra con C-M-v.
914 973
915C-M-v è un esempio di carattere CONTROL-META. Se c'è un vero e proprio 974C-M-v è un esempio di carattere CONTROL-META. Se c'è un vero e
916tasto META si può ottenere C-M-v tenendo premuti contemporaneamente 975proprio tasto META si può ottenere C-M-v tenendo premuti
917CONTROL e META mentre si batte v. Non importa quale tra CONTROL e META 976contemporaneamente CONTROL e META mentre si batte v. Non importa
918viene premuto per primo perché essi agiscono assieme modificando i 977quale tra CONTROL e META viene premuto per primo perché essi agiscono
919caratteri inseriti dopo. 978assieme modificando i caratteri inseriti dopo.
920 979
921Se non c'è un tasto META e si usa il tasto ESC l'ordine diventa 980Se non c'è un tasto META e si usa il tasto ESC l'ordine diventa
922importante: bisogna premere prima <ESC> e poi farlo seguire da CONTROL-v 981importante: bisogna premere prima <ESC> e poi farlo seguire da
923perché CONTROL-ESC-v non funziona. Questo perché <ESC> è un carattere a 982CONTROL-v perché CONTROL-ESC-v non funziona. Questo perché <ESC> è un
924sé stante e non uno che ne modifica altri. 983carattere a sé stante e non uno che ne modifica altri.
925 984
926>> Usa C-x 1 (nella finestra superiore) per eliminare la finestra 985>> Usa C-x 1 (nella finestra superiore) per eliminare la finestra
927 inferiore. 986 inferiore.
928 987
929(Se usi C-x 1 nella finestra inferiore allora viene eliminata quella 988(Se usi C-x 1 nella finestra inferiore allora viene eliminata quella
930superiore. Questo comando conserva una sola finestra, quella in cui si 989superiore. Pensa a questo comando come “conserva una sola finestra,
931trova il cursore.) 990quella attualmente selezionata.”)
991
992Non devi necessariamente visualizzare il medesimo buffer in entrambe
993le finestre. Se usi C-x C-f per visitare un file in una finestra, il
994contenuto dell'altra non cambia. Si può visitare in modo indipendente
995un file diverso in ogni finestra.
932 996
933Due finestre aperte contemporaneamente non devono necessariamente 997Ecco un altro modo per usare due finestre per visualizzare cose
934contenere lo stesso buffer. Quando si usa C-x C-f per visitare un file in 998diverse:
935una finestra il contenuto dell'altra non cambia. Si può "visitare" in
936modo indipendente un file diverso in ogni finestra.
937 999
938Ecco un altro modo per usare due finestre per visualizzare cose diverse: 1000>> Inserisci C-x 4 C-f seguito dal nome di uno dei tuoi file e termina
1001 con <Invio>. Osserva come il file viene aperto nella finestra
1002 inferiore e il cursore venga posizionato là.
939 1003
940>> Inserisci C-x 4 C-f seguito dal nome di uno dei tuoi file. Premi
941 <Invio>. Osserva come il file viene aperto nella finestra inferiore.
942 Il cursore si posiziona in quella.
943>> Usa C-x o per tornare alla finestra superiore e C-x 1 per eliminare 1004>> Usa C-x o per tornare alla finestra superiore e C-x 1 per eliminare
944 quella inferiore. 1005 quella inferiore.
945 1006
946 1007
1008* FRAME MULTIPLI
1009----------------
1010
1011Emacs può anche creare dei “frame” multipli. Un frame il nome che
1012diamo a una collezione di finestre, insieme con il suo menu, le barre
1013di scorrimento, l'area di eco, ecc. Su un terminale grafico, Emacs
1014chiama “frame” quello che la maggior parte delle altre applicazioni
1015chiamano “finestra”, ed è possibile mostrarne più di uno
1016contemporaneamente. Su un terminale testuale, è possibile mostrare un
1017solo frame alla volta.
1018
1019>> Usa M-x make-frame<Invio>.
1020 Un nuovo frame dovrebbe apparire sullo schermo.
1021
1022In questo nuovo frame puoi svolgere qualsiasi cosa come nel frame
1023originale. Non c'è nulla di speciale nel primo frame.
1024
1025>> Usa M-x delete-frame<Invio>.
1026 Questo rimuove il frame selezionato.
1027
1028Puoi anche eliminare un frame usando i metodi offerti dal sistema
1029grafico (normalmente cliccando sul pulsante “X” in uno degli angoli
1030superiori del frame). Se rimuovi in questo modo l'ultimo frame, la
1031sessione Emacs viene terminata.
1032
1033
947* LIVELLI DI EDITING RICORSIVO 1034* LIVELLI DI EDITING RICORSIVO
948------------------------------ 1035------------------------------
949 1036
950A volte ci si può trovare in quello che si chiama un "livello di editing 1037A volte ci si può trovare in quello che si chiama un livello di
951ricorsivo", ciò è indicato dalla presenza di parentesi quadre nella "mode 1038editing ricorsivo”: ciò è indicato dalla presenza di parentesi quadre
952line", attorno alle parentesi della "modalità primaria" attualmente in 1039nella mode line, attorno alle parentesi che delimitano il nome della
953uso. Per esempio si potrebbe leggere [(Fundamental)] invece che 1040modalità primaria. Per esempio si potrebbe leggere [(Fundamental)]
954(Fundamental). 1041invece che (Fundamental).
955 1042
956Per uscire dal livello di editing ricorsivo si usa <ESC> <ESC> <ESC>. È 1043Per uscire dal livello di editing ricorsivo si usa <ESC> <ESC> <ESC>.
957un comando di uscita di uso piuttosto generale, si può anche usare per 1044È un comando di uscita di uso piuttosto generale, si può anche usare
958eliminare finestre in più e per uscire dal "minibuffer". 1045per eliminare finestre in più e per uscire dal minibuffer.
959 1046
960>> Usa M-x per entrare nel "minibuffer": poi usa <ESC> <ESC> <ESC> per 1047>> Usa M-x per entrare nel "minibuffer": poi usa <ESC> <ESC> <ESC> per
961 uscirne. 1048 uscirne.
962 1049
963Non è possibile usare C-g per uscire da un livello di editing ricorsivo, 1050Non è possibile usare C-g per uscire da un livello di editing
964ciò avviene perché C-g è usato per annullare i comandi all'INTERNO del 1051ricorsivo, perché C-g è usato per annullare i comandi all'INTERNO del
965livello di editing ricorsivo. 1052livello di editing ricorsivo.
966 1053
967 1054
968* COME IMPARARE ALTRO 1055* COME IMPARARE ALTRO
969--------------------- 1056---------------------
970 1057
971In questo tutorial abbiamo provato a fornire le informazioni sufficienti 1058In questo tutorial abbiamo provato a fornire le informazioni
972per iniziare ad usare Emacs. Ci sono così tante opzioni in Emacs che 1059sufficienti per iniziare ad usare Emacs. Ci sono così tante opzioni
973sarebbe impossibile spiegarle tutte qui, ma è possibile imparare tutte le 1060in Emacs che sarebbe impossibile spiegarle tutte qui. Tuttavia
974altre caratteristiche di Emacs utili per il proprio lavoro. Ci sono 1061potresti voler saperne di più su Emacs, che offre molte altre utili
975comandi per leggere la documentazione dei comandi disponibili in Emacs. 1062funzionalità. Ci sono comandi per leggere la documentazione dei
976Questi comandi di aiuto iniziano tutti con il carattere C-h, che infatti è 1063comandi disponibili in Emacs. Questi comandi di “aiuto” iniziano
977chiamato "carattere di aiuto (help)". 1064tutti con il carattere C-h, che infatti è chiamato “carattere di aiuto
1065(help)”.
1066
1067Per raggiungere le voci di Aiuto si usa il carattere C-h e poi un
1068altro carattere che specifica la richiesta. Quando davvero non si sa
1069cosa fare si può provare con C-h ? ed Emacs indicherà tutti i tipi di
1070aiuto che può fornire. Se si è attivato l'aiuto con C-h e si decide
1071che non serve più si può annullare la richiesta con C-g.
978 1072
979Per raggiungere le voci di Aiuto si usa il carattere C-h e poi un altro 1073(Se C-h non mostra un messaggio relativo all'aiuto nella parte bassa
980carattere che specifica la richiesta. Quando davvero non si sa cosa fare 1074dello schermo, prova ad usare il tasto F1 oppure con M-x help<Invio>.)
981si può provare con C-h ? ed Emacs indicherà tutti i tipi di aiuto che può
982fornire. Se si è attivato l'aiuto con C-h e si decide che non serve più
983si può annullare la richiesta con C-g.
984 1075
985Alcuni sistemi fanno un diverso uso del carattere C-h perché questo viene 1076La forma base di aiuto è data da C-h c. Si inserisce C-h, il
986indebitamente modificato dall'amministratore di sistema. A parte 1077carattere c e poi un carattere o una sequenza di caratteri; Emacs
987rivolgerti allo stesso perché risolva il problema puoi provare ad accedere 1078mostrerà una breve descrizione del comando stesso.
988alla funzione aiuto di Emacs con il tasto F1 oppure con M-x help<Invio>.
989 1079
990La forma base di aiuto è data da C-h c. Si inserisce C-h, il carattere c 1080>> Prova C-h c C-p.
991e poi un carattere o una sequenza di caratteri; Emacs mostrerà una breve
992descrizione del comando stesso.
993 1081
994>> Prova C-h c C-p. Dovresti leggere un messaggio del tipo 1082Dovresti leggere un messaggio del tipo (purtroppo in inglese!):
995 1083
996 C-p runs the command previous-line (purtroppo in inglese!) 1084 C-p runs the command previous-line
997 1085
998Questo messaggio indica il "nome della funzione". I nomi di funzione sono 1086Questo messaggio indica il nome della funzione. Dal momento che i
999usati principalmente per personalizzare ed estendere Emacs e sono scelti 1087nomi di funzione sono scelti per indicare cosa fa il comando, servono
1000anche in modo da indicare che cosa il comando fa. Servono quindi anche da 1088quindi anche come breve descrizione, sufficiente per ricordarsi di
1001breve descrizione, sufficiente per ricordarsi di comandi già imparati. 1089comandi già imparati.
1002 1090
1003I comandi con più caratteri come ad esempio C-x C-s e (se non c'è il tasto 1091I comandi con più caratteri come ad esempio C-x C-s e (se non c'è il
1004META o EDIT o ALT) <ESC>v sono permessi allo stesso modo dopo una 1092tasto META o EDIT o ALT) <ESC>v sono permessi allo stesso modo dopo
1005richiesta di aiuto fatta con C-h c. 1093una richiesta di aiuto fatta con C-h c.
1006 1094
1007Per avere ulteriori informazioni su un comando si usa C-h k invece che C-h 1095Per avere ulteriori informazioni su un comando si usa C-h k invece che
1008c. 1096C-h c.
1009 1097
1010>> Prova C-h k C-p. 1098>> Prova C-h k C-p.
1011 1099
1012Questo mostrerà la documentazione della funzione, così come il suo nome, 1100Questo mostrerà la documentazione della funzione, così come il suo
1013all'interno di una finestra di Emacs. Quando hai finito di leggere usa 1101nome, all'interno di una finestra di Emacs. Quando hai finito di
1014C-x 1 per eliminare la finestra con il testo di aiuto. Non sei obbligato 1102leggere usa C-x 1 per eliminare la finestra con il testo di aiuto.
1015a farlo subito. Puoi anche lavorare sul tuo testo mentre fai riferimento 1103Non sei obbligato a farlo subito. Puoi anche lavorare sul tuo testo
1016al testo di aiuto e poi usare un C-x 1. 1104mentre fai riferimento al testo di aiuto e poi usare un C-x 1.
1017 1105
1018Ecco altre utili opzioni di C-h: 1106Ecco altre utili opzioni di C-h:
1019 1107
1020 C-h f Descrive una funzione. Inserisci il nome della funzione. 1108 C-h f Descrive una funzione. Inserisci il nome della funzione.
1021 1109
1022>> Prova con C-h f previous-line<Invio>. Avrai tutte le informazioni che 1110>> Prova con C-h f previous-line<Invio>.
1023 Emacs possiede sulla funzione che implementa il comando C-p. 1111 Questo mostrerà tutte le informazioni che Emacs possiede sulla
1112 funzione che implementa il comando C-p.
1024 1113
1025Un comando simile è C-h v che mostra la documentazione di variabili i cui 1114Un comando simile è C-h v che mostra la documentazione delle
1026valori sono utilizzati per personalizzare il comportamento di Emacs. Devi 1115variabili, comprese quelle di cui puoi modificare il valore per
1027inserire il nome della variabile quando Emacs lo richiede. 1116personalizzare il comportamento di Emacs. Devi inserire il nome della
1117variabile quando Emacs lo richiede.
1028 1118
1029 C-h a "Apropos" comando. Inserisci una parola ed Emacs ti 1119 C-h a "Apropos" comando. Inserisci una parola ed Emacs ti
1030 elencherà tutti i comandi il cui nome contiene quella 1120 elencherà tutti i comandi il cui nome contiene quella
1031 parola. Questi comandi possono tutti essere eseguiti con 1121 parola. Questi comandi possono tutti essere eseguiti
1032 META-x. Per alcuni comandi ti sarà mostrata anche una 1122 con META-x. Per alcuni comandi ti sarà mostrata anche
1033 sequenza di uno o due caratteri che serve a far partire il 1123 una sequenza di uno o due caratteri che serve a far
1034 comando senza doverlo inserire per esteso. 1124 partire il comando senza doverlo inserire per esteso.
1035 1125
1036>> Prova C-h a file<Invio> 1126>> Prova C-h a file<Invio>
1037 1127
1038Questo mostrerà in un'altra finestra una lista di tutti i comandi che 1128Questo mostrerà in un'altra finestra una lista di tutti i comandi che
1039contengono la parola "file" nel nome. Nella lista si vedranno 1129contengono la parola “file” nel nome. Nella lista si vedranno
1040comandi-carattere, come C-x C-f, assieme ai corrispondenti nomi per esteso 1130comandi-carattere, come C-x C-f, assieme ai corrispondenti nomi per
1041come "find-file". 1131esteso come find-file.
1132
1133>> Usa C-M-v per far scorrere il testo nella finestra di aiuto.
1134 Ripeti per alcune volte.
1042 1135
1043>> Usa C-M-v per far scorrere il testo nella finestra di aiuto. Ripeti
1044 per alcune volte.
1045>> Usa C-x 1 per eliminare la finestra di aiuto. 1136>> Usa C-x 1 per eliminare la finestra di aiuto.
1046 1137
1047 C-h i Leggi la documentazione. Questo comando apre un buffer 1138 C-h i Leggi la documentazione. Questo comando apre un
1048 speciale chiamato "*info*" in cui puoi leggere i manuali 1139 buffer speciale chiamato “*info*” in cui puoi leggere
1049 on-line dei pacchetti installati sul tuo sistema. Batti m 1140 i manuali on-line dei pacchetti installati sul tuo
1050 emacs <Invio> per leggere il manuale di Emacs. Se non hai 1141 sistema. Batti m emacs<Invio> per leggere il manuale
1051 mai usato il sistema Info prima d'ora premi ? ed Emacs ti 1142 di Emacs. Se non hai mai usato il sistema Info prima
1052 guiderà nell'uso delle opzioni del modo Info. Una volta 1143 d'ora premi ? ed Emacs ti guiderà nell'uso delle
1053 terminata questa esercitazione il manuale di Emacs contenuto 1144 opzioni del modo Info. Una volta terminata questa
1054 nel sistema Info dovrebbe diventare la tua principale fonte 1145 esercitazione il manuale di Emacs contenuto nel
1055 di documentazione. 1146 sistema Info dovrebbe diventare la tua principale
1147 fonte di documentazione.
1148
1149
1150* ALTRE FUNZIONALITÀ
1151--------------------
1152
1153Puoi imparare di più su Emacs leggendo il suo manuale, sia nella forma
1154stampata piuttosto che da dentro Emacs stesso (usa il menu Help oppure
1155C-h r). Due funzionalità che possono farti comodo sono il
1156completamento automatico, che consente di ridurre il numero di
1157caratteri da digitare, e dired, che semplifica la gestione dei file.
1158
1159Il completamento è un modo per evitare la pressione di tasti quando
1160non sia necessario. Ad esempio, quando vuoi passare al buffer
1161*Messages*, puoi inserire C-x b *M<Tab> e Emacs cercherà di completare
1162il nome del buffer usando la parte che hai già inserito. Questa
1163funzione può essere usata anche sui nomi dei comandi oppure su quelli
1164dei file, ed è descritta nel manuale Emacs nel nodo chiamato
1165“Completion”.
1166
1167Dired ti consente di elencare i file in una directory (e opzionalmente
1168nelle directory sottostanti), muoverti tra quei file, visitarli,
1169rinominarli, cancellarli e in generale eseguire qualche operazione su
1170quei file. Dired è descritta nel manuale Emacs nel nodo chiamato
1171“Dired”.
1172
1173Il manuale descrive molte altre funzionalità di Emacs.
1056 1174
1057 1175
1058* CONCLUSIONI 1176* CONCLUSIONI
1059------------- 1177-------------
1060 1178
1061Ricorda che per chiudere una sessione di Emacs si usa C-x C-c. Per 1179Per chiudere una sessione di Emacs si usa C-x C-c.
1062tornare temporaneamente alla shell, così da poter rientrare in Emacs
1063successivamente, si usa C-z.
1064 1180
1065Questo documento è stato creato per essere utile a tutti i nuovi utenti, 1181Questo documento è stato creato per essere utile a tutti i nuovi
1066se qualcosa per te è stato poco chiaro non dare la colpa a te stesso - 1182utenti, se qualcosa per te è stato poco chiaro non dare la colpa a te
1067lamentati! 1183stesso: lamentati!
1068 1184
1069 1185
1070* COPIA 1186* COPIA
@@ -1072,8 +1188,8 @@ lamentati!
1072 1188
1073La versione inglese di questo testo (disponibile nel file "TUTORIAL") 1189La versione inglese di questo testo (disponibile nel file "TUTORIAL")
1074deriva da una lunga serie di tutorial di Emacs che iniziò con quello 1190deriva da una lunga serie di tutorial di Emacs che iniziò con quello
1075scritto da Stuart Cracraft per il primo Emacs. La versione italiana è a 1191scritto da Stuart Cracraft per il primo Emacs. La versione italiana è
1076cura di Alfredo Finelli (alfredofnl@tiscali.it). 1192a cura di Alfredo Finelli (alfredofnl@tiscali.it).
1077 1193
1078Questo documento, come GNU Emacs, è coperto da copyright e viene 1194Questo documento, come GNU Emacs, è coperto da copyright e viene
1079distribuito con il permesso di farne copie a determinate condizioni: 1195distribuito con il permesso di farne copie a determinate condizioni:
@@ -1082,22 +1198,23 @@ distribuito con il permesso di farne copie a determinate condizioni:
1082 secondo i quali è possibile la copia e la distribuzione di questo 1198 secondo i quali è possibile la copia e la distribuzione di questo
1083 documento è quella originale in lingua inglese contenuta nel file 1199 documento è quella originale in lingua inglese contenuta nel file
1084 "TUTORIAL". Qui di seguito se ne riporta una traduzione a scopo 1200 "TUTORIAL". Qui di seguito se ne riporta una traduzione a scopo
1085 indicativo, restando comunque inteso il fatto che è quella originale a 1201 indicativo, restando comunque inteso il fatto che è quella
1086 fare fede. 1202 originale a fare fede.
1087 1203
1088Copyright (C) 2003-2015 Free Software Foundation, Inc. 1204Copyright (C) 2003-2015 Free Software Foundation, Inc.
1089 1205
1090 È permesso a chiunque copiare e distribuire attraverso ogni mezzo copie 1206 È permesso a chiunque copiare e distribuire attraverso ogni mezzo
1091 fedeli di questo documento così come viene ricevuto, a condizione che 1207 copie fedeli di questo documento così come viene ricevuto, a
1092 le informazioni sul copyright e sui permessi garantiti siano conservate 1208 condizione che le informazioni sul copyright e sui permessi
1093 intatte e che il distributore riconosca a colui che riceve la copia il 1209 garantiti siano conservate intatte e che il distributore riconosca
1094 diritto ad un'ulteriore distribuzione, che deve avvenire così come 1210 a colui che riceve la copia il diritto ad un'ulteriore
1095 definito in questa clausola. 1211 distribuzione, che deve avvenire così come definito in questa
1096 1212 clausola.
1097 È permesso distribuire versioni modificate di questo documento, o di 1213
1098 ogni sua parte, alle condizioni indicate precedentemente, purché esse 1214 È permesso distribuire versioni modificate di questo documento, o
1099 portino chiaramente indicato il nome di colui che le ha modificate per 1215 di ogni sua parte, alle condizioni indicate precedentemente, purché
1100 ultimo. 1216 esse portino chiaramente indicato il nome di colui che le ha
1217 modificate per ultimo.
1101 1218
1102Le condizioni per copiare Emacs sono più complesse ma definite con lo 1219Le condizioni per copiare Emacs sono più complesse ma definite con lo
1103stesso spirito. Per favore, leggete il file COPYING e poi distribuite 1220stesso spirito. Per favore, leggete il file COPYING e poi distribuite