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, 2013-2021 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 555Puteţi deschide un fişier existent, pentru a-l vedea sau edita. 556Puteţi de asemenea deschide un fişier care nu există. Aceasta este 557modalitatea în care creaţi noi fişiere cu Emacs-ul: deschideţi 558fişierul (care va fi gol iniţial), apoi începeţi să introduceţi text 559în el. Când îi veţi cere să "salveze" fişierul, Emacs-ul va crea 560fişierul cu textul pe care l-aţi introdus. De acum înainte puteţi 561considera că editaţi un fişier existent. 562 563 564* BUFFERE 565--------- 566 567Dacă deschideţi un al doilea fişier cu C-x C-f, primul va continua să 568existe în Emacs. Puteţi să vă mutaţi înapoi la el deschizându-l din 569nou cu C-x C-f. În acest fel puteţi avea un număr destul de mare de 570fişiere deschise în Emacs. 571 572>> Creaţi un fişier numit "foo" tastând C-x C-f foo <Return>. 573 Introduceţi un text oarecare, editaţi-l, apoi salvaţi "foo" tastând 574 C-x C-s. În cele din urmă, tastaţi C-x C-f TUTORIAL.ro <Return> 575 pentru a vă întoarce la tutorial. 576 577Emacs-ul stochează textul fiecărui fişier într-un obiect numit 578"buffer". Deschiderea unui fişier creează un nou buffer în Emacs. 579Pentru a vedea o listă a bufferelor existente în Emacs, tastaţi 580 581 C-x C-b (lista de buffere) 582 583>> Încercaţi C-x C-b acum. 584 585Observaţi cum fiecare buffer are un nume şi, uneori, un nume de fişier 586corespunzător fişierului al cărui conţinut este menţinut în buffer-ul 587respectiv. Unele buffere nu corespund nici unui fişier. De exemplu, 588buffer-ul numit "*Buffer List*" nu are nici un fişier asociat. Este 589buffer-ul care conţine lista de buffere şi a fost creat de comanda C-x 590C-b. Orice text pe care îl vedeţi într-o fereastră a Emacs-ului este 591întotdeauna parte dintr-un buffer. 592 593>> Tastaţi C-x 1 pentru a scăpa de lista de buffere. 594 595Dacă faceţi schimbări în textul unui fişier, apoi deschideţi un alt 596fişier, primul fişier nu este salvat. Schimbările efectuate rămân în 597Emacs, în buffer-ul asociat acelui fişier. Crearea sau editarea 598buffer-ului celui de-al doilea fişier nu are nici un efect asupra 599buffer-ului primului fişier. Acest lucru este foarte util, dar 600înseamnă că aveţi nevoie de o modalitate convenabilă de a salva 601buffer-ul primului fişier. Ar fi obositor să fie necesar să vă mutaţi 602înapoi la el cu C-x C-f pentru a-l putea salva cu C-x C-s. Din acest 603motiv există comanda: 604 605 C-x s salvează nişte buffere 606 607C-x s vă întreabă despre fiecare buffer care conţine modificări (şi 608care nu a fost salvat) dacă doriţi să-l salvaţi. 609 610>> Introduceţi o linie de text, apoi tastaţi C-x s. 611 Ar trebui să vă întrebe dacă să salveze buffer-ul TUTORIAL.ro. 612 Raspundeţi "da" la întrebare tastând "y". 613 614 615* EXTINDEREA SETULUI DE COMENZI 616------------------------------- 617 618Există mult mai multe comenzi Emacs decât combinaţii de taste bazate 619pe CONTROL şi META. Soluţia în Emacs este folosirea comenzilor 620eXtinse. Acestea sunt de două feluri: 621 622 C-x eXtinde un caracter; urmată de un caracter 623 M-x eXtinde un nume; urmată de un nume lung 624 625Acestea sunt comenzi care sunt utile în general, dar folosite mai rar 626decât comenzile despre care aţi învăţat până acum. Aţi văzut deja 627două dintre ele: comanda de deschis fişiere (C-x C-f) şi comanda de 628salvat fişiere (C-x C-s). Un alt exemplu este comanda de părăsit 629Emacs-ul: C-x C-c. (Nu vă temeţi că veţi pierde schimbări făcute în 630fişiere; înainte de a termina sesiunea curentă Emacs, C-x C-c vă va 631întreba dacă doriţi să salvaţi fişierele modificate.) 632 633C-z este comanda cu care puteţi ieşi din Emacs *temporar* - astfel 634încât să puteţi să vă întoarceţi la aceeaşi sesiune Emacs mai târziu. 635 636Pe sistemele unde este posibil, C-z "suspendă" Emacs-ul; asta înseamnă 637că, deşi vă veţi întoarce la prompt-ul shell-ului, Emacs-ul nu a fost 638distrus. În shell-urile (interpretoarele de comenzi Unix) cele mai 639uzuale puteţi reactiva Emacs-ul cu comanda "fg" sau "%emacs". 640 641Pe sistemele care nu implementează mecanismele de suspendare, C-z 642creează un subshell care rulează sub Emacs pentru a vă oferi 643posibilitatea de a rula alte programe şi de a vă întoarce la Emacs mai 644târziu; pe aceste sisteme C-z nu iese cu adevărat din Emacs - comanda 645"exit" la promptul subshell-ului este modalitatea uzuală de a vă 646întoarce în Emacs. 647 648În general C-x C-c se foloseşte înainte de părăsirea sistemului. 649Puteţi folosi această comandă şi pentru a ieşi din instanţe de Emacs 650lansate de programe de citit mail sau alte utilitare, deoarece acestea 651s-ar putea să nu fie capabile să folosească facilitaţile de suspendare 652ale Emacs-ului. În mod normal însă, dacă nu sunteţi pe cale să 653părăsiţi sistemul, este mai bine să suspendaţi Emacs-ul cu C-z decât 654să ieşiţi complet cu C-x C-c. 655 656Emacs-ul are multe comenzi prefixate cu C-x. Aceasta este lista celor 657pe care le-aţi învăţat până acum: 658 659 C-x C-f deschide un fişier 660 C-x C-s salvează fişierul 661 C-x C-b listează bufferele 662 C-x C-c părăseşte Emacs-ul 663 C-x u anulează 664 665Comenzile eXtinse cu nume sunt comenzile care sunt folosite şi mai rar 666sau comenzile care sunt folosite numai în anumite moduri. Un exemplu 667este comanda replace-string (înlocuieşte-şir) care înlocuieşte global 668toate apariţiile unui şir de caractere cu alt şir de caractere. Când 669tastaţi M-x, Emacs-ul afişează pe ultima linie de pe ecran "M-x" şi 670puteţi introduce numele comenzii - în cazul nostru "replace-string". 671Puteţi să tastaţi doar "repl s<TAB>" şi Emacs-ul va completa numele. 672Terminaţi comanda cu <Return>. 673 674Comanda replace-string necesită două argumente - şirul ce va fi 675înlocuit şi şirul înlocuitor. La sfârşitul introducerii fiecărui 676argument trebuie să tastaţi <Return>. 677 678>> Mutaţi cursorul pe linia goală care se găseste două linii mai jos. 679 Tastaţi apoi M-x repl s<Return>modificat<Return>alterat<Return>. 680 681 Observaţi modul în care această linie s-a modificat: aţi înlocuit 682 toate apariţiile cuvântului s-c-h-i-m-b-a-t cu "alterat", după 683 poziţia iniţială a cursorului. 684 685 686* SALVARE AUTOMATĂ 687------------------ 688 689Dacă aţi facut schimbări într-un fişier, dar nu le-aţi salvat, aceste 690schimbări se pot pierde în cazul în care sistemul se blochează. 691Pentru a vă proteja munca, Emacs-ul salvează periodic un fişier de 692"autosalvare" pentru fiecare fişier pe care îl editaţi. Acest fişier 693are un "#" la început şi unul la sfârşit; de exemplu, dacă fişierul 694dumneavoastră se numeste "hello.c", fişierul de autosalvare 695corespunzător se va numi "#hello.c#". Când salvaţi fişierul în mod 696normal, Emacs-ul şterge fişierul de autosalvare. 697 698În cazul unei căderi a sistemului, puteţi să vă recuperaţi fişierul de 699autosalvare deschizând fişierul în mod normal (fişierul pe care îl 700editaţi, nu pe cel de autosalvare) şi tastând după aceea M-x recover 701file<Return>. Când vi se cere confirmarea, tastaţi yes<Return> pentru 702a continua şi a recupera fişierul. 703 704 705* ZONA DE ECOU 706-------------- 707 708Dacă Emacs-ul observă că tastaţi comenzile încet, vi le va arăta la 709marginea de jos a ecranului într-o zona numită "zona de ecou". Zona 710de ecou conţine cea mai de jos linie a ecranului. 711 712 713* LINIA DE MOD 714-------------- 715 716Linia de deasupra zonei de ecou se numeşte "linia de mod" ("mode line" 717în limba engleză). Linia de mod conţine ceva de genul: 718 719--**-Emacs: TUTORIAL (Fundamental)--L670--58%---------------- 720 721Această linie prezintă informaţii utile despre starea Emacs-ului şi 722despre textul pe care îl editaţi. 723 724Stiţi deja ce înseamnă numele fişierului - este fişierul pe care l-aţi 725deschis. -NN%-- indică poziţia curentă a cursorului în text - NN la 726sută din text este deasupra primei linii de pe ecran. Dacă începutul 727fişierului este vizibil pe ecran, veţi vedea --Top-- în loc de 728--00%--. Dacă sfârşitul fişierului este vizibil pe ecran, veţi vedea 729--Bot-- (de la "bottom" în limba engleză). Dacă fişierul este atât de 730mic, încât încape în întregime pe ecran, pe linia de mod veţi vedea 731--All--. 732 733Stelele de la începutul liniei de mod semnalizează existenţa unor 734modificări nesalvate în text. Imediat după deschiderea fişierului, 735porţiunea respectivă din linia de mod nu conţine nici o stea, doar 736minusuri. 737 738Porţiunea dinăuntrul parantezelor vă spune modul de editare curent. 739Modul implicit este "Fundamental", modul pe care îl folosiţi chiar 740acum. Este un exemplu de "mod major". 741 742Emacs-ul are multe moduri majore. Unele dintre ele sunt destinate 743editării diferitelor limbaje şi/sau tipuri de text, cum ar fi modul 744Lisp, modul Text, etc. Numai un mod major poate fi activ la un moment 745dat şi numele său va fi întotdeauna acolo unde este "Fundamental" 746acum. 747 748Fiecare mod major schimbă comportamentul unor comenzi. De exemplu 749există comenzi pentru crearea comentariilor într-un program, dar, cum 750fiecare limbaj de programare are o idee diferită despre felul cum ar 751trebui să arate un comentariu, fiecare mod major trebuie să le 752introducă într-un alt fel. Există câte o comandă asociată fiecărui 753mod major - aceasta este modalitatea de a schimba modul major. De 754exemplu, M-x fundamental-mode este comanda cu care poate fi ales modul 755"Fundamental". 756 757Dacă editaţi text în limba română, cum ar fi de exemplu acest fişier, 758ar trebui probabil să folosiţi modul Text. 759 760>> Tastaţi M-x text-mode<Return>. 761 762Nu vă temeti, nici una din comenzile pe care le-aţi învăţat până acum 763nu schimbă Emacs-ul prea mult. Puteţi observa acum că M-f şi M-b 764tratează apostrofurile ca parte din cuvinte. Înainte, în modul 765Fundamental, M-f şi M-b tratau apostrofurile ca separatoare de 766cuvinte. 767 768Modurile majore operează schimbări subtile, ca cea descrisă mai sus. 769Majoritatea comenzilor execută aceeaşi operaţie în fiecare mod major, 770dar funcţionează puţin diferit. 771 772Pentru a vedea documentaţia referitoare la modul major curent, tastaţi 773C-h m. 774 775>> Folosiţi C-u C-v o dată sau de mai multe ori pentru a aduce această 776 linie aproape de începutul ecranului. Tastaţi C-h m ca să aflaţi 777 diferenţele dintre modul Text şi modul Fundamental. Tastaţi C-x 1 778 pentru a şterge documentaţia de pe ecran. 779 780Modurile majore se numesc "majore" pentru că există şi moduri minore. 781Modurile minore sunt ajustări minore ale modurilor majore. Fiecare 782mod minor poate fi activat sau dezactivat separat, independent de 783celelalte moduri minore şi independent de modul major curent. Puteţi 784să nu folosiţi nici un mod minor, un mod minor sau orice combinaţie de 785moduri minore. 786 787Un mod minor care este foarte util, în mod special când editaţi text, 788este modul "Auto Fill". Când acest mod este activat, Emacs-ul sparge 789automat liniile la spaţiul dintre cuvinte de fiecare dată când 790introducând text creaţi o linie care este prea lungă. 791 792Puteţi activa modul "Auto Fill" executând M-x auto-fill-mode<Return>. 793Când acest mod este activat, îl puteţi dezactiva executând aceeaşi 794comandă. Dacă modul este dezactivat, această comandă îl activează, 795când este activat, comanda îl dezactivează. Se spune că această 796comandă inversează modul. 797 798>> Tastaţi M-x auto-fill-mode<Return> acum. Introduceţi apoi o linie 799 conţinând "asdf " de mai multe ori, până când linia se sparge în 800 două. Trebuie să puneţi spaţii între cuvinte pentru că Auto Fill 801 sparge linia numai la spaţii. 802 803Marginea este stabilită în mod normal la 70 de caractere, dar puteţi 804schimba această valoare cu comanda C-x f. Introduceţi valoarea dorită 805ca argument numeric pentru C-x f. 806 807>> Tastaţi C-x f cu 20 ca argument numeric. (C-u 2 0 C-x f). 808 Introduceţi apoi un text oarecare şi observaţi cum Emacs-ul umple 809 linii de maximum 20 de caractere. Restauraţi marginea la 70 de 810 caractere folosind din nou C-x f. 811 812Dacă faceţi schimbări în mijlocul unui paragraf, modul Auto Fill nu 813rearanjează paragraful. Pentru a face acest lucru, trebuie să tastaţi 814M-q (META-q) cu cursorul poziţionat înăuntrul paragrafului. 815 816>> Mutaţi cursorul în paragraful precedent şi tastaţi M-q. 817 818 819* CĂUTARE 820--------- 821 822Emacs-ul poate caută şiruri (grupuri continue de caractere sau 823cuvinte) fie înainte, fie înapoi (faţă de poziţia curentă a cursorului 824în text). Căutarea unui şir este o operaţie ce mută cursorul; 825cursorul este mutat în poziţia corespunzătoare următoarei apariţii a 826şirului în text. 827 828Căutarea este diferită în Emacs faţă de majoritatea editoarelor, 829deoarece este "incrementală". Asta înseamnă că execuţia operaţiunii 830de căutare se face în timp ce tastaţi şirul de căutat. 831 832Comanda ce iniţiază căutarea este C-s pentru căutare înainte şi C-r 833pentru căutare înapoi. AŞTEPTAŢI! Nu le încercaţi acum. 834 835Când tastaţi C-s veţi remarca faptul că şirul "I-search" apare ca 836prompt în zona de ecou. Aceasta vă spune că Emacs-ul este în modul de 837căutare incrementală, aşteptând ca dumneavoastră să introduceţi şirul 838pe care doriţi să-l căutaţi. Căutarea poate fi terminată cu <Return>. 839 840>> Tastaţi acum C-s pentru a porni o căutare. ÎNCET, câte o singură 841 literă la un moment dat, tastaţi cuvântul "cursor", făcând o pauză 842 după fiecare caracter tastat ca să observaţi ce se întamplă cu 843 cursorul. Acum aţi terminat de căutat prima apariţie a cuvântului 844 "cursor". 845>> Tastaţi C-s din nou, pentru a căuta următoarea apariţie a 846 cuvântului "cursor". 847>> Tastaţi acum <Delete> de patru ori şi observaţi mişcarea 848 cursorului. 849>> Tastaţi <Return> pentru a termina căutarea. 850 851Aţi observat ce s-a întamplat? În timpul unei căutări incrementale 852Emacs-ul încearcă să se poziţioneze pe prima apariţie a şirului pe 853care l-aţi introdus până în momentul respectiv. Dacă vreţi să vă 854poziţionaţi pe următoarea apariţie a cuvântului "cursor", nu trebuie 855decât să tastaţi C-s încă o dată. Dacă nu mai există o altă apariţie, 856Emacs-ul va emite un sunet şi vă va anunţa că operaţiunea de căutare a 857eşuat ("failed" în limba engleză). C-g este o altă metodă de a 858termina căutarea. 859 860OBSERVAŢIE: Pe unele sisteme, C-s va bloca ecranul şi nu veţi mai 861primi nici un răspuns de la Emacs. Aceasta indică faptul că o 862"facilitate" a sistemului de operare numită "controlul fluxului" 863("flow control" în limba engleză) interceptează caracterul C-s şi 864acesta nu mai ajunge la Emacs. Pentru deblocarea ecranului, apăsaţi 865C-q. Puteţi găsi detalii referitoare la această aşa-numită 866"facilitate" în secţiunea "Spontaneous Entry to Incremental Search" 867din manualul Emacs-ului. 868 869Dacă sunteţi în mijlocul unei căutări incrementale şi tastaţi 870<Delete>, veţi observa că ultimul caracter în căutarea incrementală 871este şters şi căutarea se întoarce la poziţia anterioară. De exemplu, 872să presupunem că aţi tastat "c", pentru a căuta prima apariţie a lui 873"c". Dacă tastaţi "u", cursorul se va muta la prima apariţie a lui 874"cu". Tastaţi acum <Delete>. Aceasta va şterge "u"-ul din şirul de 875căutare şi cursorul se va muta înapoi la prima apariţie a lui "c". 876 877Căutarea incrementală poate fi terminată prin tastarea unui caracter 878bazat pe CONTROL sau META (cu câteva excepţii - caracterele care sunt 879specifice căutării, cum ar fi C-s şi C-r). 880 881C-s începe o căutare care inspectează textul de DUPĂ poziţia curentă a 882cursorului. Dacă doriţi să căutaţi în textul dinaintea poziţiei 883curente a cursorului, folosiţi C-r. Toată discuţia referitoare la C-s 884se aplică şi comenzii C-r, cu menţiunea că direcţia de căutare este 885inversă. 886 887 888* FERESTRE MULTIPLE 889------------------- 890 891Una dintre facilităţile importante ale Emacs-ului este aceea de a 892afişa pe ecran mai multe ferestre simultan. 893 894>> Mutaţi cursorul pe această linie şi tastaţi C-u 0 C-l. 895 896>> Tastaţi acum C-x 2 pentru a împărţi ecranul în două ferestre. 897 Amândouă ferestrele vor afişa acest tutorial. Cursorul va rămane 898 în fereastra din partea de sus a ecranului. 899 900>> Tastaţi C-M-v pentru a mişca textul din fereastra de jos. 901 (Dacă nu aveţi o tastă META, tastaţi ESC C-v.) 902 903>> Tastaţi C-x o ("o" de la "other" - "cealaltă" în limba 904 engleză) pentru a muta cursorul în fereastra de jos. 905 906>> Tastaţi C-v şi M-v în fereastra de jos pentru a muta textul. 907 Continuaţi să citiţi aceste instrucţiuni în fereastra de sus. 908 909>> Tastaţi C-x o din nou pentru a muta cursorul înapoi în fereastra de 910 sus. Cursorul va fi plasat în locul unde a fost anterior. 911 912Puteţi continua să folosiţi C-x o pentru a vă muta între ferestre. 913Fiecare fereastră are propria ei poziţie a cursorului, dar numai o 914fereastră arată cursorul la un moment dat. Toate operaţiile normale 915de editare au efect în fereastra în care se găseşte cursorul - 916fereastra respectivă se numeşte "fereastra selectată". 917 918Comanda C-M-v este foarte utilă când editaţi text într-o fereastră şi 919folosiţi cealaltă fereastră pentru a citi documentaţii. Puteţi ţine 920întotdeauna cursorul în fereastra în care editaţi, în timp ce avansaţi 921textul din cealaltă fereastră cu C-M-v. 922 923C-M-v este un exemplu de caracter CONTROL-META. Dacă aveţi o tastă 924META, puteţi tasta C-M-v ţinând apăsate şi CONTROL şi META când tastaţi 925v. Nu contează care dintre CONTROL sau META este apăsată mai întâi, 926pentru că amândouă acţionează prin modificarea caracterului pe care îl 927tastaţi. 928 929Dacă nu aveţi o tastă META şi folosiţi ESC în loc, ordinea este 930importantă: trebuie să tastaţi ESC urmat de CONTROL-v; CONTROL-ESC v 931nu va funcţiona, din cauza faptului că ESC este un caracter de sine 932stătător, nu un modificator. 933 934>> Tastaţi C-x 1 (în fereastra de sus) ca să renunţaţi la fereastra 935 de jos. 936 937(Dacă aţi tastat C-x 1 în fereastra de jos, această comandă va închide 938fereastra de sus. Gândiţi-vă la ea aşa "Păstrează doar o fereastră - 939cea în care sunt acum.") 940 941Nu este nevoie să afisaţi acelaşi buffer în ambele ferestre. Dacă 942folosiţi C-x C-f pentru a deschide un fişier într-o fereastră, 943cealaltă fereastră nu se schimbă. Puteţi deschide un fişier diferit 944în fiecare fereastră. 945 946O altă modalitate de a folosi două ferestre ca să afişaţi lucruri 947diferite: 948 949>> Tastaţi C-x 4 C-f apoi numele unui fişier. Terminaţi comanda 950 cu <Return> Observaţi că fişierul specificat apare în fereastra de 951 jos. Cursorul la fel. 952 953>> Tastaţi C-x o pentru a vă muta în fereastra de sus, apoi tastaţi 954 C-x 1 pentru a şterge fereastra de jos. 955 956 957* NIVELURI DE EDITARE RECURSIVĂ 958------------------------------- 959 960Uneori veţi intra în ceea ce se numeste un "nivel de editare 961recursivă". Acesta este indicat de prezenţa unor paranteze drepte în 962linia de mod în jurul numelui modului major. De exemplu, s-ar putea 963să vedeţi [(Fundamental)] în loc de (Fundamental). 964 965Pentru a ieşi din nivelul de editare recursivă, tastaţi ESC ESC ESC. 966Aceasta este o comandă de ieşire de uz general. O puteţi folosi şi ca 967să ieşiţi din minibuffer sau ca să eliminaţi ferestrele în plus. 968 969>> Tastaţi M-x pentru a intra în minibuffer; tastaţi apoi ESC ESC ESC 970 ca să ieşiţi. 971 972Nu puteţi folosi C-g pentru a ieşi dintr-un nivel de editare recursivă 973deoarece comanda C-g este folosită pentru a anula comenzi şi argumente 974înăuntrul unui nivel de editare recursivă. 975 976 977* CUM PUTEŢI OBŢINE MAI MULTE INFORMAŢII 978---------------------------------------- 979 980În acest tutorial am încercat să furnizăm suficiente informaţii pentru 981a face primii paşi în Emacs. Există atât de multe comenzi în Emacs 982încât ar fi imposibil să le explicăm pe toate aici. S-ar putea însă 983să doriţi să învaţaţi mai multe despre Emacs, deoarece oferă foarte 984multe facilitaţi interesante. Există comenzi pentru a citi 985documentaţia despre comenzile Emacs-ului. Aceste comenzi ajutătoare 986sunt prefixate cu caracterul C-h, denumit şi "caracterul de ajutor". 987 988Pentru a folosi aceste facilităţi de ajutor, tastaţi caracterul C-h, 989apoi un caracter ce specifică tipul de ajutor de care aveţi nevoie. 990În cazul în care sunteţi nelămurit, tastaţi C-h ? şi Emacs-ul vă va 991spune ce fel de ajutor vă poate oferi. Dacă aţi tastat C-h şi vă 992răzgândiţi (nu mai doriţi ajutor) puteţi tasta C-g pentru a anula 993comanda. 994 995(Anumite site-uri remapează caracterul C-h. Nu ar trebui să facă asta 996orbeşte pentru toţi utilizatorii - aveţi motiv să vă plângeţi 997administratorului de sistem. Între timp, dacă C-h nu afişează un 998mesaj despre ajutor la marginea de jos a ecranului, încercaţi M-x 999help<Return> în loc.) 1000 1001Comanda elementară de ajutor este C-h c. Tastaţi C-h, apoi caracterul 1002c şi o comandă alcătuită dintr-un caracter sau secvenţă de caractere 1003şi Emacs-ul va afişa o scurtă descriere a comenzii. 1004 1005>> Tastaţi C-h c C-p. 1006 1007Mesajul ar trebui să fie ceva de genul 1008 1009 C-p runs the command previous-line 1010 1011Aceasta vă spune "numele funcţiei". Numele de funcţii sunt folosite 1012în principal pentru a adapta şi extinde Emacs-ul, dar, cum numele 1013funcţiilor sunt alese în aşa fel încât să indice actiunea comenzii 1014respective, ele pot servi ca o documentaţie foarte scurtă, suficientă 1015ca să vă amintească de comenzi pe care le-aţi învăţat deja. 1016 1017Comenzile formate din mai multe caractere (cum ar fi C-x C-s) şi (dacă 1018nu aveţi o tasta META, EDIT sau ALT) <ESC> v sunt de asemenea permise 1019după C-h c. 1020 1021Pentru a obţine mai multe informaţii despre o comandă, folosiţi C-h k 1022în loc de C-h c. 1023 1024>> Tastaţi C-h k C-p. 1025 1026Această comandă afişează documentaţia şi numele funcţiei într-o 1027fereastră separată. Când terminaţi de citit, tastaţi q pentru a 1028o elimina. Nu trebuie să faceţi acest lucru imediat. Puteţi edita 1029o vreme, citind textul din fereastra de ajutor. 1030 1031Câteva comenzi C-h utile: 1032 1033 C-h f descrie o funcţie al cărei nume trebuie să-l 1034 introduceţi 1035 1036>> Încercaţi să tastaţi C-h f previous-line<Return>. 1037 Aceasta afişează toată informaţia pe care o are Emacs-ul despre 1038 funcţia ce implementează comanda C-p. 1039 1040 C-h a Command Apropos. Tastaţi un cuvânt cheie şi Emacs-ul va 1041 lista toate funcţiile şi variabilele ale căror nume 1042 conţin acel cuvânt cheie. La stânga comenzilor care 1043 pot fi invocate cu M-x va fi afişată o steluţă. 1044 Pentru unele comenzi, Command Apropos va lista o 1045 secvenţă de unul sau două caractere ce execută aceeaşi 1046 comandă. 1047 1048>> Tastaţi C-h a fişier<Return>. 1049 1050Aceasta afişează într-o altă ferastră o listă a tuturor comenzilor M-x 1051al căror nume conţine "fişier". Veţi vedea caractere-comandă de genul 1052C-x C-f listate lângă comanda nume corespunzătoare (find-file). 1053 1054>> Tastaţi C-M-v ca să deplasaţi conţinutul ferestrei de ajutor. 1055 Faceţi acest lucru de câteva ori. 1056 1057>> Tastaţi C-x 1 pentu a şterge fereastra de ajutor. 1058 1059 1060* CONCLUZII 1061----------- 1062 1063Ţineţi minte, pentru a ieşi permanent din Emacs, folosiţi C-x C-c. 1064Pentru a ieşi temporar într-un shell (în aşa fel încât să vă puteţi 1065întoarce la Emacs mai târziu) folosiţi C-z. 1066 1067Acest tutorial a fost organizat în aşa fel încât să fie pe înţelesul 1068noilor utilizatori - nu vă sfiiţi să vă plângeţi autorilor dacă gasiţi 1069ceva neclar! 1070 1071 1072COPIERE 1073------- 1074 1075Acest tutorial este rezultatul prelucrării unei serii lungi de 1076tutoriale pentru Emacs derivate din cel scris de Stuart Cracraft 1077pentru versiunea iniţială de Emacs. 1078 1079Cu scopul evitării oricăror confuzii datorate traducerii, las în 1080continuare noţita de copyright originală în limba engleză. 1081 1082This version of the tutorial, like GNU Emacs, is copyrighted, and 1083comes with permission to distribute copies on certain conditions: 1084 1085Copyright (C) 1998, 2001-2021 Free Software Foundation, Inc. 1086 1087 Permission is granted to anyone to make or distribute verbatim copies 1088 of this document as received, in any medium, provided that the 1089 copyright notice and permission notice are preserved, 1090 and that the distributor grants the recipient permission 1091 for further redistribution as permitted by this notice. 1092 1093 Permission is granted to distribute modified versions 1094 of this document, or of portions of it, 1095 under the above conditions, provided also that they 1096 carry prominent notices stating who last altered them. 1097 1098Condiţiile de copiere a Emacs-ului sunt mai complexe, dar în acelaşi 1099spirit. Citiţi fişierul COPYING şi apoi distribuiţi prietenilor copii 1100ale Emacs-ului. Contribuiţi la eliminarea obstrucţionismului software 1101folosind, scriind şi distribuind free software! 1102 1103;;; Local Variables: 1104;;; coding: utf-8 1105;;; End: 1106