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