TUTORIAL.it 53 KB

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