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