TUTORIAL.ro 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. Tutorialului de Emacs. A se citi sfârşitul pentru condiţii.
  2. Traducere din engleză de Tudor Hulubei <tudor@gnu.org>.
  3. Mulţumiri Aidei Hulubei <aida@chang.pub.ro> pentru corecturi şi sugestii.
  4. Această versiune a fost produsă plecând de la versiunea în limba
  5. engleză, care este
  6. Copyright (c) 1985 Free Software Foundation, Inc.
  7. Citiţi acum versiunea românească a tutorialului de Emacs.
  8. Comenzile Emacs folosesc în general tasta CONTROL (uneori denumită
  9. CTRL sau CTL) sau tasta META (uneori denumita EDIT sau ALT). În loc
  10. să scriem META sau CONTROL de fiecare dată când vrem să prefixăm un
  11. caracter, vom folosi următoarele prescurtări:
  12. C-<chr> înseamnă că ţineţi apăsată tasta CONTROL în timp ce tastaţi
  13. caracterul <chr>. Astfel, C-f înseamnă: ţineţi apăsată tasta
  14. CONTROL şi tastaţi f.
  15. M-<chr> înseamnă că ţineţi apăsată tasta META, EDIT sau ALT în timp
  16. ce tastaţi <chr>. Dacă nu există tasta META, EDIT sau ALT,
  17. tastaţi <ESC>, ridicaţi şi apoi tastaţi caracterul <chr>.
  18. Am notat cu <ESC> tasta ESC.
  19. Observaţie importantă: pentru a termina sesiunea Emacs, tastaţi C-x
  20. C-c. (Două caractere.) Caracterele ">>" la marginea din stânga
  21. reprezintă instrucţiuni pentru a încerca o comandă. De exemplu:
  22. <<Liniile goale introduse aici de iniţializarea comenzii help-with-tutorial>>
  23. >> Acum tastaţi C-v (citirea următorului ecran) pentru a vă muta la
  24. următorul ecran. (Executaţi această comandă acum, tinând apăsată
  25. tasta CONTROL în timp ce tastaţi v). De acum înainte faceţi acest
  26. lucru din nou, de fiecare dată când terminaţi de citit ecranul.
  27. De remarcat că există o zonă de suprapunere de două linii când vă
  28. mutaţi de la un ecran la altul; aveţi astfel o oarecare continuitate
  29. în citirea textului.
  30. Primul lucru pe care trebuie să-l stiţi este cum să vă deplasaţi din
  31. loc în loc în text. Ştiţi deja cum să vă mutaţi la următorul ecran cu
  32. C-v. Pentru a vă deplasa înapoi un ecran, tastaţi M-v (ţineţi apăsată
  33. tasta META şi tastaţi v, sau <ESC> v dacă nu aveţi o tastă META, EDIT,
  34. sau ALT).
  35. >> Încercaţi să tastaţi M-v şi apoi C-v de câteva ori.
  36. * SUMAR
  37. -------
  38. Următoarele comenzi sunt utile pentru a vedea ecrane:
  39. C-v avansează un ecran
  40. M-v înapoi un ecran
  41. C-l şterge ecranul şi reafişează totul poziţionând textul
  42. de lângă cursor în centrul ecranului. (Este C-L, nu
  43. C-1.)
  44. >> Găsiţi cursorul şi ţineţi minte ce text este în jurul lui.
  45. Apoi tastaţi C-l. Găsiţi cursorul din nou şi observaţi că textul
  46. de lângă cursor este acelaşi.
  47. * COMENZI DE BAZĂ PENTRU CONTROLUL CURSORULUI
  48. ---------------------------------------------
  49. Mutatul ecran cu ecran este util, dar cum vă mutaţi la o anumită
  50. poziţie în textul de pe ecran?
  51. Sunt mai multe modalitaţi în care puteţi face acest lucru. Cel mai
  52. simplu este să folosiţi comenzile C-p, C-b, C-f şi C-n. Fiecare din
  53. aceste comenzi mută cursorul o linie sau coloană într-o anumită
  54. direcţie pe ecran. Diagrama următoare prezintă aceste patru comenzi
  55. şi arată direcţiile în care ele mută cursorul.
  56. Linia precedentă, C-p
  57. :
  58. :
  59. Înapoi, C-b .... Poziţia curentă a cursorului .... Înainte, C-f
  60. :
  61. :
  62. Linia următoare, C-n
  63. >> Mutaţi cursorul la linia din mijlocul diagramei folosind C-n sau
  64. C-p. Tastaţi apoi C-l pentru a vedea întreaga diagramă centrată pe
  65. ecran.
  66. Vi se va părea probabil mai simplu să vă amintiţi aceste comenzi
  67. gândindu-vă la semnificaţia lor în limba engleză: P pentru previous, N
  68. pentru next, B pentru backward şi F pentru forward. Acestea sunt
  69. comenzile de bază pentru poziţionarea cursorului şi le veţi folosi tot
  70. timpul, deci ar fi foarte util să le învăţaţi acum.
  71. >> Tastaţi câteva C-n-uri pentru a aduce cursorul la această linie.
  72. >> Mutaţi-vă în interiorul liniei cu C-f-uri şi apoi în sus cu
  73. C-p-uri. Urmăriţi ce face C-p atunci când cursorul este în
  74. mijlocul liniei.
  75. Fiecare linie se termină cu un caracter NEWLINE care o separă de linia
  76. următoare. Ultima linie în fişierele dumneavoastră ar trebui să aibă
  77. un asemenea caracter la sfârşit (deşi Emacs-ul nu-l necesită).
  78. >> Încercaţi să tastaţi C-b la începutul unei linii. Cursorul ar
  79. trebui să se mute la sfârşitul liniei precedente, din cauza
  80. trecerii peste caracterul NEWLINE.
  81. C-f poate să treacă peste un caracter NEWLINE, la fel ca şi C-b.
  82. >> Tastaţi câteva C-b-uri, pentru a vă familiariza cu poziţia
  83. cursorului. Tastaţi apoi câteva C-f-uri pentru a vă întoarce la
  84. sfârşitul liniei. Încă un C-f şi vă veţi muta la linia următoare.
  85. Când ajungeţi să treceţi peste începutul sau sfârşitul ecranului,
  86. textul aflat dincolo de margine intră în ecran, permiţându-i
  87. Emacs-ului să mute cursorul la poziţia specificată, fără a ieşi din
  88. zona vizibilă (ecran). Această operaţiune se numeste în limba engleză
  89. "scrolling".
  90. >> Încercaţi să mutaţi cursorul în afara părţii de jos a ecranului cu
  91. C-n şi observaţi ce se întamplă.
  92. Dacă mutatul caracter cu caracter este lent, puteţi muta cursorul
  93. cuvânt cu cuvânt. M-f (META-f) avansează cursorul cu un cuvânt, iar
  94. M-b mută cursorul un cuvânt înapoi.
  95. >> Tastaţi câteva M-f-uri şi apoi câteva M-b-uri.
  96. Când cursorul este în mijlocul unui cuvânt, M-f îl mută la sfârşitul
  97. cuvântului. Când cursorul este în spaţiul dintre cuvinte, M-f îl mută
  98. la sfârşitul cuvântului următor. M-b acţionează similar, dar în
  99. direcţia opusă.
  100. >> Tastaţi M-f şi M-b de câteva ori, intercalate cu C-f-uri şi
  101. C-b-uri, pentru a observa efectul comenzilor M-f şi M-b din diverse
  102. poziţii în interiorul cuvintelor şi între ele.
  103. Observaţi paralela între C-f şi C-b pe de o parte, şi M-f şi M-b pe de
  104. cealaltă parte. De multe ori, caracterele META sunt folosite pentru
  105. operaţii referitoare la unităţile definite de limbaj (cuvinte, fraze,
  106. paragrafe), în timp ce caracterele CONTROL operează pe unităţi de
  107. bază, care sunt independente de tipul textului editat (caractere,
  108. linii, etc).
  109. Această paralelă se aplică şi între linii şi fraze: C-a şi C-e mută
  110. cursorul la începutul şi, respectiv sfârşitul unei linii, în timp ce
  111. M-a şi M-e îl mută la începutul şi, respectiv sfârşitul unei fraze.
  112. >> Încercaţi câteva C-a-uri, apoi câteva C-e-uri.
  113. Încercaţi câteva M-a-uri, apoi câteva M-e-uri.
  114. Remarcaţi cum repetarea tastării lui C-a nu schimbă nimic, în timp ce
  115. repetarea tastării lui M-a mută cursorul la fraza următoare. Deşi
  116. aceste operaţii nu sunt tocmai analoage, fiecare pare naturală.
  117. Poziţia cursorului în text mai este numită şi "punct" ("point" în
  118. limba engleză). Cursorul arată pe ecran poziţia punctului în text.
  119. Operaţiile ce mută cursorul (inclusiv comenzile ce mută cursorul
  120. cuvânt cu cuvânt sau frază cu frază) sunt prezentate în sumarul
  121. următor:
  122. C-f avansează un caracter
  123. C-b înapoi un caracter
  124. M-f avansează un cuvânt
  125. M-b înapoi un cuvânt
  126. C-n avansează o linie
  127. C-p înapoi o linie
  128. C-a înapoi la începutul liniei
  129. C-e avansează la sfârşitul liniei
  130. M-a înapoi la începutul frazei
  131. M-e avansează la sfârşitul frazei
  132. >> Exersaţi toate aceste comenzi acum, sunt comenzile cele mai des
  133. folosite.
  134. Două alte comenzi importante legate de mutatul cursorului sunt M-<
  135. (META Mai-mic), care mută cursorul la începutul textului, şi M-> (META
  136. Mai-mare), care mută cursorul la sfârşitul textului.
  137. Pe majoritatea terminalelor "<" este deasupra virgulei şi deci este
  138. necesar să apăsaţi tasta SHIFT în acelaşi timp. Pe aceste terminale
  139. este nevoie să apăsaţi SHIFT şi când tastaţi M-<; fără tasta SHIFT,
  140. aţi apăsa M-virgulă.
  141. >> Încercaţi M-< acum, pentru a vă muta la începutul tutorialului.
  142. Folosiţi apoi C-v în mod repetat pentru a ajunge înapoi aici.
  143. >> Încercaţi M-> acum, pentru a vă muta la sfârşitul tutorialului.
  144. Folosiţi apoi M-v repetat pentru a ajunge înapoi aici.
  145. Puteţi de asemenea să mutaţi cursorul cu tastele săgeţi, dacă
  146. terminalul are asemenea taste. Se recomandă însă acomodarea cu C-b,
  147. C-f, C-n şi C-p din trei motive. În primul rând, aceste taste
  148. funcţionează pe toate tipurile de terminale. În al doilea rând, odată
  149. ce vă obişnuiţi cu Emacs-ul, veţi remarca faptul că tastarea lor este
  150. mai rapidă decât cea a tastelor săgeţi (pentru că nu trebuie să vă
  151. schimbaţi poziţia mâinilor pe tastatură). În al treilea rând, odată
  152. format obiceiul de a folosi aceste comenzi bazate pe CONTROL,
  153. comenzile avansate de mutat cursorul se învaţă foarte uşor.
  154. Majoritatea comenzilor Emacs acceptă un argument numeric; pentru
  155. majoritatea comenzilor, acest argument reprezintă un contor de
  156. repetiţie. Contorul de repetiţie se introduce tastând C-u, cifrele ce
  157. alcătuiesc contorul şi apoi comanda. Dacă aveţi tasta META (EDIT sau
  158. ALT), există şi o altă alternativă pentru a introduce un argument
  159. numeric: tastaţi cifrele în timp ce ţineţi tasta META apăsată. Se
  160. recomandă însă folosirea metodei cu C-u, deoarece funcţionează pe
  161. orice terminal.
  162. De exemplu, C-u 8 C-f avansează cursorul cu opt caractere.
  163. >> Încercaţi să folosiţi C-n sau C-p cu un argument numeric pentru a
  164. muta cursorul dintr-o singură comandă pe o linie apropiată de
  165. aceasta.
  166. Majoritatea comenzilor utilizează argumentul numeric ca un contor de
  167. repetitie. Anumite comenzi speciale îl folosesc însa în mod diferit.
  168. C-v si M-v sunt printre aceste excepţii. Când li se dă un argument
  169. numeric, ele mută ecranul mai sus sau mai jos cu numarul specificat de
  170. linii, nu de ecrane. De exemplu, C-u 4 C-v mută ecranul cu 4 linii.
  171. >> Încercaţi să tastaţi C-u 8 C-v acum.
  172. Această comandă trebuie să mute ecranul în sus cu 8 linii. Dacă
  173. doriti să îl mutaţi înapoi, puteţi să-i daţi lui M-v un argument
  174. numeric.
  175. Dacă folosiţi sistemul X Window, există probabil o zonă rectangulară
  176. numita "scroll bar" la dreapta ferestrei Emacs-ului. Puteţi deplasa
  177. textul manipulând "scroll bar"-ul cu mouse-ul.
  178. >> Încercaţi să apăsaţi butonul din mijloc al mouse-ului la mijlocul
  179. butonului din scroll bar. Aceasta ar trebui să mute textul la o
  180. poziţie determinată de cât de sus sau de jos aţi apăsat pe scroll
  181. bar.
  182. >> Încercaţi să mutaţi mouse-ul în sus şi în jos ţinând butonul din
  183. mijloc apăsat. Veţi vedea că textul se deplasează în sus şi în jos
  184. corespunzător cu mişcarea mouse-ului.
  185. * CÂND EMACS-ul ESTE BLOCAT
  186. ---------------------------
  187. Dacă Emacs-ul încetează să vă raspundă la comenzi, îl puteţi opri,
  188. fără să pierdeţi modificările făcute până acum, tastând C-g. Puteţi
  189. folosi C-g pentru a opri o comandă care durează prea mult.
  190. Puteţi de asemenea folosi C-g pentru a opri introducerea unui argument
  191. numeric sau începutul unei comenzi pe care nu doriţi să o continuaţi.
  192. >> Tastaţi C-u 100 pentru a introduce 100 ca un argument numeric, apoi
  193. tastaţi C-g. Tastaţi apoi C-f. Cursorul ar trebui să se mute un
  194. singur caracter, pentru că aţi oprit introducerea argumentului
  195. numeric cu C-g.
  196. Dacă aţi tastat un <ESC> din greşeală, puteţi să-l anulaţi cu un C-g.
  197. * COMENZI DEZAFECTATE
  198. ---------------------
  199. Anumite comenzi sunt dezafectate în Emacs, în aşa fel încât
  200. utilizatorii să nu le poată folosi din neatenţie.
  201. Dacă tastaţi una din comenzile dezafectate, Emacs-ul va afişa un mesaj
  202. spunând ce comandă aţi tastat şi întrebându-vă dacă doriţi să
  203. continuaţi.
  204. Dacă într-adevăr doriţi să încercaţi comanda respectivă, tastaţi
  205. SPAŢIU. În mod normal, dacă nu doriţi să executaţi comanda
  206. dezafectată, răspundeţi cu "n".
  207. >> Tastaţi <ESC> : (care este o comandă dezafectată), apoi tastaţi n
  208. ca răspuns la întrebarea pusă de Emacs.
  209. * FERESTRE
  210. ----------
  211. Emacs-ul poate avea mai multe ferestre, fiecare afişând propriul său
  212. text. Vom explica mai târziu tehnicile de folosire a ferestrelor
  213. multiple. Acum vrem să explicăm cum să închideţi ferestrele care ar
  214. putea apare ca rezultat al afişării unor documentaţii sau rezultate
  215. specifice anumitor comenzi. Este simplu:
  216. C-x 1 o singură fereastră (adică închide toate celelalte
  217. ferestre).
  218. Asta înseamnă CONTROL-x urmat de cifra 1. C-x 1 măreşte fereastra
  219. care conţine cursorul până când ocupă întregul ecran. Toate celelalte
  220. ferestre sunt distruse.
  221. >> Mutaţi cursorul la această linie şi tastaţi C-u 0 C-l.
  222. >> Tastaţi C-h k C-f. Observaţi cum această fereastră se micşorează,
  223. în timp ce o nouă fereastră apare, afişând documentaţia comenzii
  224. C-f.
  225. >> Tastaţi C-x 1 şi observaţi cum noua fereastră dispare.
  226. * INTRODUCEREA ŞI ŞTERGEREA
  227. ---------------------------
  228. Dacă vreţi să introduceţi text, pur şi simplu tastaţi textul dorit.
  229. Caracterele pe care le puteţi vedea, cum ar fi A, 7, *, etc. sunt
  230. interpretate de Emacs ca text şi introduse imediat. Tastaţi <Return>
  231. (tasta mai este etichetată <Enter> uneori) pentru a introduce un
  232. caracter NEWLINE.
  233. Puteţi şterge ultimul caracter pe care l-aţi introdus tastând
  234. <Delete>. <Delete> este o tastă pe tastatură etichetată "Del" sau
  235. "Delete". În unele cazuri tasta "Backspace" poate acţiona ca
  236. <Delete>, dar nu întotdeauna!
  237. Mai general, <Delete> şterge caracterul dinaintea poziţiei curente a
  238. cursorului.
  239. >> Executaţi următoarele operaţii acum - tastaţi câteva caractere,
  240. apoi ştergeţi-le tastând <Delete> de câteva ori. Nu vă temeţi că
  241. veţi schimba acest fişier; nu veţi altera versiunea principală a
  242. tutorialului. Aceasta este copia dumneavoastră personală.
  243. Când o linie de text devine prea mare pentru a putea fi reprezentată
  244. pe o linie de ecran, linia de text este continuată pe următoarea linie
  245. de pe ecran. Un caracter backslash ("\") la marginea din dreapta
  246. indică o linie care a fost continuată.
  247. >> Introduceţi text până când depăşiţi cu câteva caractere marginea
  248. din dreapta a ecranului. Veţi observa apariţia liniei de
  249. continuare.
  250. >> Folosiţi <Delete>-uri pentru a şterge textul până când linia încape
  251. din nou pe o linie de ecran. Linia de continuare va dispărea.
  252. Puteţi şterge un caracter NEWLINE ca pe orice alt caracter. Ştergerea
  253. unui NEWLINE dintre două linii concateneaza cele două linii. Dacă
  254. linia rezultată este prea lungă pentru a fi afişată pe ecran, va fi
  255. afişată cu o linie de continuare.
  256. >> Mutaţi cursorul la începutul unei linii şi tastaţi <Delete>.
  257. Aceasta concatenează linia curentă cu cea precedentă.
  258. >> Tastaţi <Return> pentru a reintroduce caracterul NEWLINE şters.
  259. Aşa cum vă reamintiţi, majoritatea comenzilor Emacs pot primi un
  260. argument numeric ce acţionează ca un contor de repetiţie; introducerea
  261. caracterelor ascultă aceleaşi reguli. Un argument numeric dat unui
  262. caracter duce la introducerea caracterului respectiv de numărul
  263. specificat de ori.
  264. >> Încercaţi asta acum - tastaţi C-u 8 * pentru a introduce ********.
  265. Aţi învăţat acum metodele elementare de tastat şi corectat erori în
  266. Emacs. Puteţi de asemenea şterge cuvinte sau linii. Acesta este un
  267. sumar al operaţiilor de ştergere.
  268. <Delete> şterge caracterul de dinaintea cursorului
  269. C-d şterge caracterul de după cursor
  270. M-<Delete> şterge cuvântul de dinaintea cursorului
  271. M-d şterge cuvântul de după cursor
  272. C-k şterge de la poziţia curentă până la sfârşitul
  273. liniei
  274. M-k şterge de la poziţia curentă până la sfârşitul
  275. frazei
  276. De remarcat că <Delete> şi C-d versus M-<Delete> şi M-d extind
  277. paralela începută de C-f şi M-f (<Delete> nu este cu adevărat un
  278. caracter bazat pe CONTROL, dar nu o să ne ocupăm de asta acum). C-k
  279. şi M-k sunt ca C-e şi M-e, într-un fel, dacă facem o paralelă între
  280. linii şi fraze.
  281. Când ştergeţi mai mult de un caracter la un moment dat, Emacs-ul
  282. păstrează intern textul distrus în aşa fel încât îl puteţi restaura.
  283. Termenul folosit de Emacs pentru operaţiunea de restaurare a textului
  284. distrus este "yanking". Puteţi restaura textul distrus fie în acelaşi
  285. loc, fie în alt loc în fişier. Puteţi de asemenea restaura textul de
  286. mai multe ori pentru a face mai multe copii. Comanda de restaurare
  287. este C-y.
  288. Diferenţa dintre "distrugerea" şi "ştergerea" unei porţiuni din text
  289. este aceea ca porţiunile de text "distruse" pot fi restaurate, în timp
  290. ce porţiunile de text "şterse", nu. În general, comenzile care
  291. distrug porţiuni semnificative din text, păstrează intern textul
  292. respectiv, în timp ce comenzile care şterg doar un caracter, linii
  293. goale sau spaţii, nu fac acest lucru.
  294. >> Mutaţi cursorul la începutul unei linii care nu este goală.
  295. Tastaţi apoi C-k pentru a distruge textul de pe linia respectivă.
  296. >> Tastaţi C-k o a doua oară. Veţi observa distrugerea caracterului
  297. NEWLINE de la sfârşitul liniei.
  298. După cum vedeţi, un singur C-k distruge conţinutul liniei, iar un al
  299. doilea C-k distruge linia însăşi, facând toate celelalte linii să se
  300. mute în sus. C-k tratează un argument numeric în mod special:
  301. distruge numărul specificat de linii şi conţinutul lor. Această
  302. comportare nu este doar o simplă repetiţie. C-u 2 C-k distruge două
  303. linii şi NEWLINE-urile de după ele; tastând C-k de două ori nu
  304. obţineţi acelaşi rezultat.
  305. Pentru a extrage ultimul text distrus şi a-l plasa la poziţia curentă
  306. a cursorului, tastaţi C-y.
  307. >> Tastaţi C-y pentru a restaura textul distrus anterior.
  308. Gânditi-vă la C-y ca şi cum aţi recupera ceva ce v-a fost luat.
  309. Observaţi că dacă executaţi mai multe C-k-uri la rând, tot textul
  310. distrus este stocat într-o singură bucată, în aşa fel încât un singur
  311. C-y va restaura toate liniile.
  312. >> Tastaţi acum C-k de câteva ori.
  313. Acum încercaţi să restauraţi textul distrus:
  314. >> Tastaţi C-y. Mutaţi apoi cursorul câteva linii mai jos şi tastaţi
  315. C-y din nou. Veţi vedea cum se copiază porţiuni de text.
  316. Ce faceţi dacă aveţi porţiuni de text pe care vreţi să le restauraţi,
  317. dar între timp distrugeţi o altă porţiune de text? C-y va restaura
  318. porţiunea de text care a fost distrusă cel mai recent. Cu toate
  319. acestea, textul distrus anterior nu este pierdut. Puteţi să-l
  320. restauraţi folosind comanda M-y. După ce aţi executat C-y pentru a
  321. obţine textul cel mai recent distrus, tastând M-y veţi înlocui textul
  322. ce tocmai a fost restaurat cu textul distrus înaintea lui. Tastând
  323. M-y de mai multe ori puteţi obţine porţiuni de text distrus din ce în
  324. ce mai vechi. Odată ajunşi la textul care vă interesează, puteţi să
  325. continuaţi editarea fără să mai faceţi nimic special, lasând textul
  326. restaurat în poziţia în care se găseşte.
  327. Dacă tastaţi M-y de suficient de multe ori, veţi ajunge în cele din
  328. urmă la punctul de plecare (textul distrus cel mai de curând).
  329. >> Distrugeţi o linie, mutaţi-vă puţin în jurul ei, distrugeţi o altă
  330. linie. Executaţi apoi C-y pentru a obţine înapoi cea de-a doua
  331. linie distrusă. Executaţi apoi M-y şi veţi constata că este
  332. înlocuită de prima linie distrusă. Executaţi mai multe M-y-uri şi
  333. observaţi ce obţineţi. Continuaţi să le executaţi până când a doua
  334. linie apare din nou, etc. Dacă doriţi, puteţi încerca să-i daţi
  335. comenzii M-y argumente numerice pozitive şi negative.
  336. * ANULARE
  337. ---------
  338. Dacă faceţi o schimbare în text, şi apoi constataţi că aţi greşit,
  339. puteţi anula schimbarea cu comanda de anulare, C-x u.
  340. În mod normal, C-x u anulează schimbările făcute de o comandă; dacă
  341. repetaţi C-x u de câteva ori la rând, fiecare nouă repetiţie anulează
  342. încă o comandă.
  343. Există însă două excepţii: comenzile care nu schimbă textul nu sunt
  344. luate în considerare (acestea includ comenzile de mutat cursorul şi
  345. cele de "scrolling"), iar caracterele introduse individual sunt
  346. tratate în grupuri de maxim 20. (Motivaţia din spatele acestei
  347. abordări este aceea de a reduce numărul de C-x u-uri pe care trebuie
  348. să le tastaţi pentru anularea inserărilor de text).
  349. >> Distrugeţi linia aceasta cu C-k, apoi tastaţi C-x u; linia ar
  350. trebui să reapară.
  351. C-_ este o altă comandă de anulare; funcţionează exact ca şi C-x u,
  352. dar este mai uşor de tastat de mai multe ori la rând. Dezavantajul
  353. lui C-_ este că pe anumite tastaturi nu este clar cum trebuie tastat.
  354. Din acest motiv există C-x u. Pe unele terminale se poate să tastaţi
  355. C-_ tastând "/" în timp ce ţineţi apăsată tasta CONTROL.
  356. Un argument numeric la C-_ sau C-x u acţionează ca un contor de
  357. repetiţie.
  358. * FIŞIERE
  359. ---------
  360. Pentru a face permanente modificările din textul pe care îl editaţi,
  361. trebuie să-l stocaţi (salvaţi) într-un fişier. Altminteri,
  362. modificările se vor pierde în momentul părăsirii Emacs-ului. Puneţi
  363. textul într-un fişier "deschizând" (sau "vizitând") fişierul.
  364. Deschiderea unui fişier înseamnă că puteţi vedea conţinutul fişierului
  365. în Emacs. Este ca şi cum aţi edita chiar fişierul, singura diferenţă
  366. fiind aceea că schimbările nu devin permanente până când nu îl
  367. "salvaţi" ("save" în limba engleză). Se evită astfel existenţa în
  368. sistem a unor fişiere incomplet modificate atunci când nu doriţi acest
  369. lucru. Chiar şi când salvaţi fişierul, Emacs-ul păstrează fişierul
  370. iniţial (cu un nume schimbat) în aşa fel încât să-l puteţi recupera în
  371. cazul în care decideţi că modificările efectuate au fost greşite.
  372. Aproape de marginea de jos a ecranului veţi observa o linie care
  373. începe şi se termină cu minusuri, şi conţine şirul "--:-- TUTORIAL.ro"
  374. sau ceva în genul acesta. Această parte a ecranului arată întotdeauna
  375. numele fişierului pe care îl vizitaţi. Acum vizitaţi fişierul
  376. "TUTORIAL.ro" care este copia dumneavoastră de încercări a
  377. tutorialului în limba română. Orice fişier aţi edita, numele acelui
  378. fişier va apărea în poziţia respectivă.
  379. Comenzile pentru găsirea şi salvarea fişierelor sunt diferite de
  380. celelalte comenzi pe care le-aţi învăţat, în sensul că sunt compuse
  381. din două caractere. Amândouă încep cu caracterul C-x. Există o
  382. întreagă serie de comenzi care încep cu C-x; multe dintre ele sunt
  383. legate de fişiere, buffere şi alte lucruri înrudite. Aceste comenzi
  384. sunt compuse din două, trei sau patru caractere.
  385. Comenzii de deschidere a unui fişier trebuie să îi spuneţi numele
  386. fişierului dorit. Spunem despre comandă ca "citeşte un argument de la
  387. terminal" (în acest caz, argumentul este numele fişierului). După ce
  388. tastaţi comanda
  389. C-x C-f (deschide un fişier)
  390. Emacs-ul vă va cere să introduceţi numele fişierului. Numele pe care
  391. îl tastaţi apare pe ultima linie a ecranului. Această linie se
  392. numeste "minibuffer" când este folosită pentru acest tip de
  393. introducere. Comenzile normale de editare în Emacs pot fi folosite şi
  394. pentru editarea numelui fişierului.
  395. În timp ce introduceţi numele fişierului (sau orice alt tip de
  396. introducere de date în minibuffer), puteţi anula comanda cu C-g.
  397. >> Tastaţi C-x C-f, apoi tastaţi C-g. Aceasta anulează minibuffer-ul,
  398. şi, de asemenea, anulează comanda C-x C-f care îl folosea. În
  399. concluzie, nu veţi mai deschide nici un fişier.
  400. Când aţi terminat de introdus numele fişierului, tastaţi <Return>
  401. pentru a-l încheia. După aceasta, comanda C-x C-f începe să lucreze
  402. şi deschide fişierul pe care l-aţi ales. Minibuffer-ul dispare când
  403. comanda C-x C-f se termină.
  404. După câteva momente, conţinutul fişierului apare pe ecran şi îl puteţi
  405. edita. Când doriti să faceţi schimbările permanente, tastaţi comanda
  406. C-x C-s (salvează fişierul)
  407. Aceasta copiază textul din Emacs într-un fişier. Prima oară când
  408. faceţi acest lucru, Emacs-ul redenumeşte fişierul iniţial în aşa fel
  409. încât să nu se piardă. Noul nume este creat prin adăugarea
  410. caracterului "~" la numele iniţial.
  411. Când operaţiunea de salvare este terminată, Emacs-ul afişează numele
  412. fişierului salvat. Se recomandă salvarea la intervale relativ mici,
  413. pentru a nu pierde prea multă muncă în cazul unei eventuale blocări a
  414. sistemului.
  415. >> Tastaţi C-x C-s, pentru a salva copia tutorialului.
  416. Aceasta ar trebui să afişeze "Wrote ...TUTORIAL.ro" la marginea de
  417. jos a ecranului.
  418. Puteţi deschide un fişier existent, pentru a-l vedea sau edita.
  419. Puteţi de asemenea deschide un fişier care nu există. Aceasta este
  420. modalitatea în care creaţi noi fişiere cu Emacs-ul: deschideţi
  421. fişierul (care va fi gol iniţial), apoi începeţi să introduceţi text
  422. în el. Când îi veţi cere să "salveze" fişierul, Emacs-ul va crea
  423. fişierul cu textul pe care l-aţi introdus. De acum înainte puteţi
  424. considera că editaţi un fişier existent.
  425. * BUFFERE
  426. ---------
  427. Dacă deschideţi un al doilea fişier cu C-x C-f, primul va continua să
  428. existe în Emacs. Puteţi să vă mutaţi înapoi la el deschizându-l din
  429. nou cu C-x C-f. În acest fel puteţi avea un număr destul de mare de
  430. fişiere deschise în Emacs.
  431. >> Creaţi un fişier numit "foo" tastând C-x C-f foo <Return>.
  432. Introduceţi un text oarecare, editaţi-l, apoi salvaţi "foo" tastând
  433. C-x C-s. În cele din urmă, tastaţi C-x C-f TUTORIAL.ro <Return>
  434. pentru a vă întoarce la tutorial.
  435. Emacs-ul stochează textul fiecărui fişier într-un obiect numit
  436. "buffer". Deschiderea unui fişier creează un nou buffer în Emacs.
  437. Pentru a vedea o listă a bufferelor existente în Emacs, tastaţi
  438. C-x C-b (lista de buffere)
  439. >> Încercaţi C-x C-b acum.
  440. Observaţi cum fiecare buffer are un nume şi, uneori, un nume de fişier
  441. corespunzător fişierului al cărui conţinut este menţinut în buffer-ul
  442. respectiv. Unele buffere nu corespund nici unui fişier. De exemplu,
  443. buffer-ul numit "*Buffer List*" nu are nici un fişier asociat. Este
  444. buffer-ul care conţine lista de buffere şi a fost creat de comanda C-x
  445. C-b. Orice text pe care îl vedeţi într-o fereastră a Emacs-ului este
  446. întotdeauna parte dintr-un buffer.
  447. >> Tastaţi C-x 1 pentru a scăpa de lista de buffere.
  448. Dacă faceţi schimbări în textul unui fişier, apoi deschideţi un alt
  449. fişier, primul fişier nu este salvat. Schimbările efectuate rămân în
  450. Emacs, în buffer-ul asociat acelui fişier. Crearea sau editarea
  451. buffer-ului celui de-al doilea fişier nu are nici un efect asupra
  452. buffer-ului primului fişier. Acest lucru este foarte util, dar
  453. înseamnă că aveţi nevoie de o modalitate convenabilă de a salva
  454. buffer-ul primului fişier. Ar fi obositor să fie necesar să vă mutaţi
  455. înapoi la el cu C-x C-f pentru a-l putea salva cu C-x C-s. Din acest
  456. motiv există comanda:
  457. C-x s salvează nişte buffere
  458. C-x s vă întreabă despre fiecare buffer care conţine modificări (şi
  459. care nu a fost salvat) dacă doriţi să-l salvaţi.
  460. >> Introduceţi o linie de text, apoi tastaţi C-x s.
  461. Ar trebui să vă întrebe dacă să salveze buffer-ul TUTORIAL.ro.
  462. Raspundeţi "da" la întrebare tastând "y".
  463. * EXTINDEREA SETULUI DE COMENZI
  464. -------------------------------
  465. Există mult mai multe comenzi Emacs decât combinaţii de taste bazate
  466. pe CONTROL şi META. Soluţia în Emacs este folosirea comenzilor
  467. eXtinse. Acestea sunt de două feluri:
  468. C-x eXtinde un caracter; urmată de un caracter
  469. M-x eXtinde un nume; urmată de un nume lung
  470. Acestea sunt comenzi care sunt utile în general, dar folosite mai rar
  471. decât comenzile despre care aţi învăţat până acum. Aţi văzut deja
  472. două dintre ele: comanda de deschis fişiere (C-x C-f) şi comanda de
  473. salvat fişiere (C-x C-s). Un alt exemplu este comanda de părăsit
  474. Emacs-ul: C-x C-c. (Nu vă temeţi că veţi pierde schimbări făcute în
  475. fişiere; înainte de a termina sesiunea curentă Emacs, C-x C-c vă va
  476. întreba dacă doriţi să salvaţi fişierele modificate.)
  477. C-z este comanda cu care puteţi ieşi din Emacs *temporar* - astfel
  478. încât să puteţi să vă întoarceţi la aceeaşi sesiune Emacs mai târziu.
  479. Pe sistemele unde este posibil, C-z "suspendă" Emacs-ul; asta înseamnă
  480. că, deşi vă veţi întoarce la prompt-ul shell-ului, Emacs-ul nu a fost
  481. distrus. În shell-urile (interpretoarele de comenzi Unix) cele mai
  482. uzuale puteţi reactiva Emacs-ul cu comanda `fg' sau `%emacs'.
  483. Pe sistemele care nu implementează mecanismele de suspendare, C-z
  484. creează un subshell care rulează sub Emacs pentru a vă oferi
  485. posibilitatea de a rula alte programe şi de a vă întoarce la Emacs mai
  486. târziu; pe aceste sisteme C-z nu iese cu adevărat din Emacs - comanda
  487. `exit' la promptul subshell-ului este modalitatea uzuală de a vă
  488. întoarce în Emacs.
  489. În general C-x C-c se foloseşte înainte de părăsirea sistemului.
  490. Puteţi folosi această comandă şi pentru a ieşi din instanţe de Emacs
  491. lansate de programe de citit mail sau alte utilitare, deoarece acestea
  492. s-ar putea să nu fie capabile să folosească facilitaţile de suspendare
  493. ale Emacs-ului. În mod normal însă, dacă nu sunteţi pe cale să
  494. părăsiţi sistemul, este mai bine să suspendaţi Emacs-ul cu C-z decât
  495. să ieşiţi complet cu C-x C-c.
  496. Emacs-ul are multe comenzi prefixate cu C-x. Aceasta este lista celor
  497. pe care le-aţi învăţat până acum:
  498. C-x C-f deschide un fişier
  499. C-x C-s salvează fişierul
  500. C-x C-b listează bufferele
  501. C-x C-c părăseşte Emacs-ul
  502. C-x u anulează
  503. Comenzile eXtinse cu nume sunt comenzile care sunt folosite şi mai rar
  504. sau comenzile care sunt folosite numai în anumite moduri. Un exemplu
  505. este comanda replace-string (înlocuieşte-şir) care înlocuieşte global
  506. toate apariţiile unui şir de caractere cu alt şir de caractere. Când
  507. tastaţi M-x, Emacs-ul afişează pe ultima linie de pe ecran "M-x" şi
  508. puteţi introduce numele comenzii - în cazul nostru "replace-string".
  509. Puteţi să tastaţi doar "repl s<TAB>" şi Emacs-ul va completa numele.
  510. Terminaţi comanda cu <Return>.
  511. Comanda replace-string necesită două argumente - şirul ce va fi
  512. înlocuit şi şirul înlocuitor. La sfârşitul introducerii fiecărui
  513. argument trebuie să tastaţi <Return>.
  514. >> Mutaţi cursorul pe linia goală care se găseste două linii mai jos.
  515. Tastaţi apoi M-x repl s<Return>modificat<Return>alterat<Return>.
  516. Observaţi modul în care această linie s-a modificat: aţi înlocuit
  517. toate apariţiile cuvântului s-c-h-i-m-b-a-t cu "alterat", după
  518. poziţia iniţială a cursorului.
  519. * SALVARE AUTOMATĂ
  520. ------------------
  521. Dacă aţi facut schimbări într-un fişier, dar nu le-aţi salvat, aceste
  522. schimbări se pot pierde în cazul în care sistemul se blochează.
  523. Pentru a vă proteja munca, Emacs-ul salvează periodic un fişier de
  524. "autosalvare" pentru fiecare fişier pe care îl editaţi. Acest fişier
  525. are un "#" la început şi unul la sfârşit; de exemplu, dacă fişierul
  526. dumneavoastră se numeste "hello.c", fişierul de autosalvare
  527. corespunzător se va numi "#hello.c#". Când salvaţi fişierul în mod
  528. normal, Emacs-ul şterge fişierul de autosalvare.
  529. În cazul unei căderi a sistemului, puteţi să vă recuperaţi fişierul de
  530. autosalvare deschizând fişierul în mod normal (fişierul pe care îl
  531. editaţi, nu pe cel de autosalvare) şi tastând după aceea M-x recover
  532. file<Return>. Când vi se cere confirmarea, tastaţi yes<Return> pentru
  533. a continua şi a recupera fişierul.
  534. * ZONA DE ECOU
  535. --------------
  536. Dacă Emacs-ul observă că tastaţi comenzile încet, vi le va arăta la
  537. marginea de jos a ecranului într-o zona numită "zona de ecou". Zona
  538. de ecou conţine cea mai de jos linie a ecranului.
  539. * LINIA DE MOD
  540. --------------
  541. Linia de deasupra zonei de ecou se numeşte "linia de mod" ("mode line"
  542. în limba engleză). Linia de mod conţine ceva de genul:
  543. --**-Emacs: TUTORIAL (Fundamental)--L670--58%----------------
  544. Această linie prezintă informaţii utile despre starea Emacs-ului şi
  545. despre textul pe care îl editaţi.
  546. Stiţi deja ce înseamnă numele fişierului - este fişierul pe care l-aţi
  547. deschis. -NN%-- indică poziţia curentă a cursorului în text - NN la
  548. sută din text este deasupra primei linii de pe ecran. Dacă începutul
  549. fişierului este vizibil pe ecran, veţi vedea --Top-- în loc de
  550. --00%--. Dacă sfârşitul fişierului este vizibil pe ecran, veţi vedea
  551. --Bot-- (de la "bottom" în limba engleză). Dacă fişierul este atât de
  552. mic, încât încape în întregime pe ecran, pe linia de mod veţi vedea
  553. --All--.
  554. Stelele de la începutul liniei de mod semnalizează existenţa unor
  555. modificări nesalvate în text. Imediat după deschiderea fişierului,
  556. porţiunea respectivă din linia de mod nu conţine nici o stea, doar
  557. minusuri.
  558. Porţiunea dinăuntrul parantezelor vă spune modul de editare curent.
  559. Modul implicit este "Fundamental", modul pe care îl folosiţi chiar
  560. acum. Este un exemplu de "mod major".
  561. Emacs-ul are multe moduri majore. Unele dintre ele sunt destinate
  562. editării diferitelor limbaje şi/sau tipuri de text, cum ar fi modul
  563. Lisp, modul Text, etc. Numai un mod major poate fi activ la un moment
  564. dat şi numele său va fi întotdeauna acolo unde este "Fundamental"
  565. acum.
  566. Fiecare mod major schimbă comportamentul unor comenzi. De exemplu
  567. există comenzi pentru crearea comentariilor într-un program, dar, cum
  568. fiecare limbaj de programare are o idee diferită despre felul cum ar
  569. trebui să arate un comentariu, fiecare mod major trebuie să le
  570. introducă într-un alt fel. Există câte o comandă asociată fiecărui
  571. mod major - aceasta este modalitatea de a schimba modul major. De
  572. exemplu, M-x fundamental-mode este comanda cu care poate fi ales modul
  573. "Fundamental".
  574. Dacă editaţi text în limba română, cum ar fi de exemplu acest fişier,
  575. ar trebui probabil să folosiţi modul Text.
  576. >> Tastaţi M-x text-mode<Return>.
  577. Nu vă temeti, nici una din comenzile pe care le-aţi învăţat până acum
  578. nu schimbă Emacs-ul prea mult. Puteţi observa acum că M-f şi M-b
  579. tratează apostrofurile ca parte din cuvinte. Înainte, în modul
  580. Fundamental, M-f şi M-b tratau apostrofurile ca separatoare de
  581. cuvinte.
  582. Modurile majore operează schimbări subtile, ca cea descrisă mai sus.
  583. Majoritatea comenzilor execută aceeaşi operaţie în fiecare mod major,
  584. dar funcţionează puţin diferit.
  585. Pentru a vedea documentaţia referitoare la modul major curent, tastaţi
  586. C-h m.
  587. >> Folosiţi C-u C-v o dată sau de mai multe ori pentru a aduce această
  588. linie aproape de începutul ecranului. Tastaţi C-h m ca să aflaţi
  589. diferenţele dintre modul Text şi modul Fundamental. Tastaţi C-x 1
  590. pentru a şterge documentaţia de pe ecran.
  591. Modurile majore se numesc "majore" pentru că există şi moduri minore.
  592. Modurile minore sunt ajustări minore ale modurilor majore. Fiecare
  593. mod minor poate fi activat sau dezactivat separat, independent de
  594. celelalte moduri minore şi independent de modul major curent. Puteţi
  595. să nu folosiţi nici un mod minor, un mod minor sau orice combinaţie de
  596. moduri minore.
  597. Un mod minor care este foarte util, în mod special când editaţi text,
  598. este modul "Auto Fill". Când acest mod este activat, Emacs-ul sparge
  599. automat liniile la spaţiul dintre cuvinte de fiecare dată când
  600. introducând text creaţi o linie care este prea lungă.
  601. Puteţi activa modul "Auto Fill" executând M-x auto-fill-mode<Return>.
  602. Când acest mod este activat, îl puteţi dezactiva executând aceeaşi
  603. comandă. Dacă modul este dezactivat, această comandă îl activează,
  604. când este activat, comanda îl dezactivează. Se spune că această
  605. comandă inversează modul.
  606. >> Tastaţi M-x auto-fill-mode<Return> acum. Introduceţi apoi o linie
  607. conţinând "asdf " de mai multe ori, până când linia se sparge în
  608. două. Trebuie să puneţi spaţii între cuvinte pentru că Auto Fill
  609. sparge linia numai la spaţii.
  610. Marginea este stabilită în mod normal la 70 de caractere, dar puteţi
  611. schimba această valoare cu comanda C-x f. Introduceţi valoarea dorită
  612. ca argument numeric pentru C-x f.
  613. >> Tastaţi C-x f cu 20 ca argument numeric. (C-u 2 0 C-x f).
  614. Introduceţi apoi un text oarecare şi observaţi cum Emacs-ul umple
  615. linii de maximum 20 de caractere. Restauraţi marginea la 70 de
  616. caractere folosind din nou C-x f.
  617. Dacă faceţi schimbări în mijlocul unui paragraf, modul Auto Fill nu
  618. rearanjează paragraful. Pentru a face acest lucru, trebuie să tastaţi
  619. M-q (META-q) cu cursorul poziţionat înăuntrul paragrafului.
  620. >> Mutaţi cursorul în paragraful precedent şi tastaţi M-q.
  621. * CĂUTARE
  622. ---------
  623. Emacs-ul poate caută şiruri (grupuri continue de caractere sau
  624. cuvinte) fie înainte, fie înapoi (faţă de poziţia curentă a cursorului
  625. în text). Căutarea unui şir este o operaţie ce mută cursorul;
  626. cursorul este mutat în poziţia corespunzătoare următoarei apariţii a
  627. şirului în text.
  628. Căutarea este diferită în Emacs faţă de majoritatea editoarelor,
  629. deoarece este "incrementală". Asta înseamnă că execuţia operaţiunii
  630. de căutare se face în timp ce tastaţi şirul de căutat.
  631. Comanda ce iniţiază căutarea este C-s pentru căutare înainte şi C-r
  632. pentru căutare înapoi. AŞTEPTAŢI! Nu le încercaţi acum.
  633. Când tastaţi C-s veţi remarca faptul că şirul "I-search" apare ca
  634. prompt în zona de ecou. Aceasta vă spune că Emacs-ul este în modul de
  635. căutare incrementală, aşteptând ca dumneavoastră să introduceţi şirul
  636. pe care doriţi să-l căutaţi. Căutarea poate fi terminată cu <Return>.
  637. >> Tastaţi acum C-s pentru a porni o căutare. ÎNCET, câte o singură
  638. literă la un moment dat, tastaţi cuvântul "cursor", făcând o pauză
  639. după fiecare caracter tastat ca să observaţi ce se întamplă cu
  640. cursorul. Acum aţi terminat de căutat prima apariţie a cuvântului
  641. "cursor".
  642. >> Tastaţi C-s din nou, pentru a căuta următoarea apariţie a
  643. cuvântului "cursor".
  644. >> Tastaţi acum <Delete> de patru ori şi observaţi mişcarea
  645. cursorului.
  646. >> Tastaţi <Return> pentru a termina căutarea.
  647. Aţi observat ce s-a întamplat? În timpul unei căutări incrementale
  648. Emacs-ul încearcă să se poziţioneze pe prima apariţie a şirului pe
  649. care l-aţi introdus până în momentul respectiv. Dacă vreţi să vă
  650. poziţionaţi pe următoarea apariţie a cuvântului "cursor", nu trebuie
  651. decât să tastaţi C-s încă o dată. Dacă nu mai există o altă apariţie,
  652. Emacs-ul va emite un sunet şi vă va anunţa că operaţiunea de căutare a
  653. eşuat ("failed" în limba engleză). C-g este o altă metodă de a
  654. termina căutarea.
  655. OBSERVAŢIE: Pe unele sisteme, C-s va bloca ecranul şi nu veţi mai
  656. primi nici un răspuns de la Emacs. Aceasta indică faptul că o
  657. "facilitate" a sistemului de operare numită "controlul fluxului"
  658. ("flow control" în limba engleză) interceptează caracterul C-s şi
  659. acesta nu mai ajunge la Emacs. Pentru deblocarea ecranului, apăsaţi
  660. C-q. Puteţi găsi detalii referitoare la această aşa-numită
  661. "facilitate" în secţiunea "Spontaneous Entry to Incremental Search"
  662. din manualul Emacs-ului.
  663. Dacă sunteţi în mijlocul unei căutări incrementale şi tastaţi
  664. <Delete>, veţi observa că ultimul caracter în căutarea incrementală
  665. este şters şi căutarea se întoarce la poziţia anterioară. De exemplu,
  666. să presupunem că aţi tastat "c", pentru a căuta prima apariţie a lui
  667. "c". Dacă tastaţi "u", cursorul se va muta la prima apariţie a lui
  668. "cu". Tastaţi acum <Delete>. Aceasta va şterge "u"-ul din şirul de
  669. căutare şi cursorul se va muta înapoi la prima apariţie a lui "c".
  670. Căutarea incrementală poate fi terminată prin tastarea unui caracter
  671. bazat pe CONTROL sau META (cu câteva excepţii - caracterele care sunt
  672. specifice căutării, cum ar fi C-s şi C-r).
  673. C-s începe o căutare care inspectează textul de DUPĂ poziţia curentă a
  674. cursorului. Dacă doriţi să căutaţi în textul dinaintea poziţiei
  675. curente a cursorului, folosiţi C-r. Toată discuţia referitoare la C-s
  676. se aplică şi comenzii C-r, cu menţiunea că direcţia de căutare este
  677. inversă.
  678. * FERESTRE MULTIPLE
  679. -------------------
  680. Una dintre facilităţile importante ale Emacs-ului este aceea de a
  681. afişa pe ecran mai multe ferestre simultan.
  682. >> Mutaţi cursorul pe această linie şi tastaţi C-u 0 C-l.
  683. >> Tastaţi acum C-x 2 pentru a împărţi ecranul în două ferestre.
  684. Amândouă ferestrele vor afişa acest tutorial. Cursorul va rămane
  685. în fereastra din partea de sus a ecranului.
  686. >> Tastaţi C-M-v pentru a mişca textul din fereastra de jos.
  687. (Dacă nu aveţi o tastă META, tastaţi ESC C-v.)
  688. >> Tastaţi C-x o ("o" de la "other" - "cealaltă" în limba
  689. engleză) pentru a muta cursorul în fereastra de jos.
  690. >> Tastaţi C-v şi M-v în fereastra de jos pentru a muta textul.
  691. Continuaţi să citiţi aceste instrucţiuni în fereastra de sus.
  692. >> Tastaţi C-x o din nou pentru a muta cursorul înapoi în fereastra de
  693. sus. Cursorul va fi plasat în locul unde a fost anterior.
  694. Puteţi continua să folosiţi C-x o pentru a vă muta între ferestre.
  695. Fiecare fereastră are propria ei poziţie a cursorului, dar numai o
  696. fereastră arată cursorul la un moment dat. Toate operaţiile normale
  697. de editare au efect în fereastra în care se găseşte cursorul -
  698. fereastra respectivă se numeşte "fereastra selectată".
  699. Comanda C-M-v este foarte utilă când editaţi text într-o fereastră şi
  700. folosiţi cealaltă fereastră pentru a citi documentaţii. Puteţi ţine
  701. întotdeauna cursorul în fereastra în care editaţi, în timp ce avansaţi
  702. textul din cealaltă fereastră cu C-M-v.
  703. C-M-v este un exemplu de caracter CONTROL-META. Dacă aveţi o tastă
  704. META, puteţi tasta C-M-v ţinând apăsate şi CONTROL şi META când tastaţi
  705. v. Nu contează care dintre CONTROL sau META este apăsată mai întâi,
  706. pentru că amândouă acţionează prin modificarea caracterului pe care îl
  707. tastaţi.
  708. Dacă nu aveţi o tastă META şi folosiţi ESC în loc, ordinea este
  709. importantă: trebuie să tastaţi ESC urmat de CONTROL-v; CONTROL-ESC v
  710. nu va funcţiona, din cauza faptului că ESC este un caracter de sine
  711. stătător, nu un modificator.
  712. >> Tastaţi C-x 1 (în fereastra de sus) ca să renunţaţi la fereastra
  713. de jos.
  714. (Dacă aţi tastat C-x 1 în fereastra de jos, această comandă va închide
  715. fereastra de sus. Gândiţi-vă la ea aşa "Păstrează doar o fereastră -
  716. cea în care sunt acum.")
  717. Nu este nevoie să afisaţi acelaşi buffer în ambele ferestre. Dacă
  718. folosiţi C-x C-f pentru a deschide un fişier într-o fereastră,
  719. cealaltă fereastră nu se schimbă. Puteţi deschide un fişier diferit
  720. în fiecare fereastră.
  721. O altă modalitate de a folosi două ferestre ca să afişaţi lucruri
  722. diferite:
  723. >> Tastaţi C-x 4 C-f apoi numele unui fişier. Terminaţi comanda
  724. cu <Return> Observaţi că fişierul specificat apare în fereastra de
  725. jos. Cursorul la fel.
  726. >> Tastaţi C-x o pentru a vă muta în fereastra de sus, apoi tastaţi
  727. C-x 1 pentru a şterge fereastra de jos.
  728. * NIVELURI DE EDITARE RECURSIVĂ
  729. -------------------------------
  730. Uneori veţi intra în ceea ce se numeste un "nivel de editare
  731. recursivă". Acesta este indicat de prezenţa unor paranteze drepte în
  732. linia de mod în jurul numelui modului major. De exemplu, s-ar putea
  733. să vedeţi [(Fundamental)] în loc de (Fundamental).
  734. Pentru a ieşi din nivelul de editare recursivă, tastaţi ESC ESC ESC.
  735. Aceasta este o comandă de ieşire de uz general. O puteţi folosi şi ca
  736. să ieşiţi din minibuffer sau ca să eliminaţi ferestrele în plus.
  737. >> Tastaţi M-x pentru a intra în minibuffer; tastaţi apoi ESC ESC ESC
  738. ca să ieşiţi.
  739. Nu puteţi folosi C-g pentru a ieşi dintr-un nivel de editare recursivă
  740. deoarece comanda C-g este folosită pentru a anula comenzi şi argumente
  741. înăuntrul unui nivel de editare recursivă.
  742. * CUM PUTEŢI OBŢINE MAI MULTE INFORMAŢII
  743. ----------------------------------------
  744. În acest tutorial am încercat să furnizăm suficiente informaţii pentru
  745. a face primii paşi în Emacs. Există atât de multe comenzi în Emacs
  746. încât ar fi imposibil să le explicăm pe toate aici. S-ar putea însă
  747. să doriţi să învaţaţi mai multe despre Emacs, deoarece oferă foarte
  748. multe facilitaţi interesante. Există comenzi pentru a citi
  749. documentaţia despre comenzile Emacs-ului. Aceste comenzi ajutătoare
  750. sunt prefixate cu caracterul C-h, denumit şi "caracterul de ajutor".
  751. Pentru a folosi aceste facilităţi de ajutor, tastaţi caracterul C-h,
  752. apoi un caracter ce specifică tipul de ajutor de care aveţi nevoie.
  753. În cazul în care sunteţi nelămurit, tastaţi C-h ? şi Emacs-ul vă va
  754. spune ce fel de ajutor vă poate oferi. Dacă aţi tastat C-h şi vă
  755. răzgândiţi (nu mai doriţi ajutor) puteţi tasta C-g pentru a anula
  756. comanda.
  757. (Anumite site-uri remapează caracterul C-h. Nu ar trebui să facă asta
  758. orbeşte pentru toţi utilizatorii - aveţi motiv să vă plângeţi
  759. administratorului de sistem. Între timp, dacă C-h nu afişează un
  760. mesaj despre ajutor la marginea de jos a ecranului, încercaţi M-x
  761. help<Return> în loc.)
  762. Comanda elementară de ajutor este C-h c. Tastaţi C-h, apoi caracterul
  763. c şi o comandă alcătuită dintr-un caracter sau secvenţă de caractere
  764. şi Emacs-ul va afişa o scurtă descriere a comenzii.
  765. >> Tastaţi C-h c C-p.
  766. Mesajul ar trebui să fie ceva de genul
  767. C-p runs the command previous-line
  768. Aceasta vă spune "numele funcţiei". Numele de funcţii sunt folosite
  769. în principal pentru a adapta şi extinde Emacs-ul, dar, cum numele
  770. funcţiilor sunt alese în aşa fel încât să indice actiunea comenzii
  771. respective, ele pot servi ca o documentaţie foarte scurtă, suficientă
  772. ca să vă amintească de comenzi pe care le-aţi învăţat deja.
  773. Comenzile formate din mai multe caractere (cum ar fi C-x C-s) şi (dacă
  774. nu aveţi o tasta META, EDIT sau ALT) <ESC> v sunt de asemenea permise
  775. după C-h c.
  776. Pentru a obţine mai multe informaţii despre o comandă, folosiţi C-h k
  777. în loc de C-h c.
  778. >> Tastaţi C-h k C-p.
  779. Această comandă afişează documentaţia şi numele funcţiei într-o
  780. fereastră separată. Când terminaţi de citit, tastaţi q pentru a
  781. o elimina. Nu trebuie să faceţi acest lucru imediat. Puteţi edita
  782. o vreme, citind textul din fereastra de ajutor.
  783. Câteva comenzi C-h utile:
  784. C-h f descrie o funcţie al cărei nume trebuie să-l
  785. introduceţi
  786. >> Încercaţi să tastaţi C-h f previous-line<Return>.
  787. Aceasta afişează toată informaţia pe care o are Emacs-ul despre
  788. funcţia ce implementează comanda C-p.
  789. C-h a Command Apropos. Tastaţi un cuvânt cheie şi Emacs-ul va
  790. lista toate funcţiile şi variabilele ale căror nume
  791. conţin acel cuvânt cheie. La stânga comenzilor care
  792. pot fi invocate cu M-x va fi afişată o steluţă.
  793. Pentru unele comenzi, Command Apropos va lista o
  794. secvenţă de unul sau două caractere ce execută aceeaşi
  795. comandă.
  796. >> Tastaţi C-h a fişier<Return>.
  797. Aceasta afişează într-o altă ferastră o listă a tuturor comenzilor M-x
  798. al căror nume conţine "fişier". Veţi vedea caractere-comandă de genul
  799. C-x C-f listate lângă comanda nume corespunzătoare (find-file).
  800. >> Tastaţi C-M-v ca să deplasaţi conţinutul ferestrei de ajutor.
  801. Faceţi acest lucru de câteva ori.
  802. >> Tastaţi C-x 1 pentu a şterge fereastra de ajutor.
  803. * CONCLUZII
  804. -----------
  805. Ţineţi minte, pentru a ieşi permanent din Emacs, folosiţi C-x C-c.
  806. Pentru a ieşi temporar într-un shell (în aşa fel încât să vă puteţi
  807. întoarce la Emacs mai târziu) folosiţi C-z.
  808. Acest tutorial a fost organizat în aşa fel încât să fie pe înţelesul
  809. noilor utilizatori - nu vă sfiiţi să vă plângeţi autorilor dacă gasiţi
  810. ceva neclar!
  811. COPIERE
  812. -------
  813. Acest tutorial este rezultatul prelucrării unei serii lungi de
  814. tutoriale pentru Emacs derivate din cel scris de Stuart Cracraft
  815. pentru versiunea iniţială de Emacs.
  816. Cu scopul evitării oricăror confuzii datorate traducerii, las în
  817. continuare noţita de copyright originală în limba engleză.
  818. This version of the tutorial, like GNU Emacs, is copyrighted, and
  819. comes with permission to distribute copies on certain conditions:
  820. Copyright (C) 1998, 2001-2012 Free Software Foundation, Inc.
  821. Permission is granted to anyone to make or distribute verbatim copies
  822. of this document as received, in any medium, provided that the
  823. copyright notice and permission notice are preserved,
  824. and that the distributor grants the recipient permission
  825. for further redistribution as permitted by this notice.
  826. Permission is granted to distribute modified versions
  827. of this document, or of portions of it,
  828. under the above conditions, provided also that they
  829. carry prominent notices stating who last altered them.
  830. Condiţiile de copiere a Emacs-ului sunt mai complexe, dar în acelaşi
  831. spirit. Citiţi fişierul COPYING şi apoi distribuiţi prietenilor copii
  832. ale Emacs-ului. Contribuiţi la eliminarea obstrucţionismului software
  833. folosind, scriind şi distribuind free software!
  834. ;;; Local Variables:
  835. ;;; coding: iso-latin-2
  836. ;;; End: