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