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