Mercurial > emacs
annotate etc/TUTORIAL.it @ 58895:4406d551c5c6
(main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 11 Dec 2004 21:53:33 +0000 |
parents | 816ffa1bfab5 |
children | fe937402466e 4c90ffeb71c5 |
rev | line source |
---|---|
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! | |
52401 | 1116 |
54959
816ffa1bfab5
Add coding latin-1 to Local Variables.
Juri Linkov <juri@jurta.org>
parents:
52401
diff
changeset
|
1117 ;;; Local Variables: |
816ffa1bfab5
Add coding latin-1 to Local Variables.
Juri Linkov <juri@jurta.org>
parents:
52401
diff
changeset
|
1118 ;;; coding: latin-1 |
816ffa1bfab5
Add coding latin-1 to Local Variables.
Juri Linkov <juri@jurta.org>
parents:
52401
diff
changeset
|
1119 ;;; End: |
816ffa1bfab5
Add coding latin-1 to Local Variables.
Juri Linkov <juri@jurta.org>
parents:
52401
diff
changeset
|
1120 |
52401 | 1121 ;;; arch-tag: c6f7079d-8032-473d-91d4-36754af15719 |