TUTORIAL.it 49 KB

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