Tutorialului de Emacs. A se citi sfârşitul pentru condiţii. Traducere din engleză de Tudor Hulubei . Mulţumiri Aidei Hulubei pentru corecturi şi sugestii. Această versiune a fost produsă plecând de la versiunea în limba engleză, care este Copyright (c) 1985, 2013 Free Software Foundation, Inc. Citiţi acum versiunea românească a tutorialului de Emacs. Comenzile Emacs folosesc în general tasta CONTROL (uneori denumită CTRL sau CTL) sau tasta META (uneori denumita EDIT sau ALT). În loc să scriem META sau CONTROL de fiecare dată când vrem să prefixăm un caracter, vom folosi următoarele prescurtări: C- înseamnă că ţineţi apăsată tasta CONTROL în timp ce tastaţi caracterul . Astfel, C-f înseamnă: ţineţi apăsată tasta CONTROL şi tastaţi f. M- înseamnă că ţineţi apăsată tasta META, EDIT sau ALT în timp ce tastaţi . Dacă nu există tasta META, EDIT sau ALT, tastaţi , ridicaţi şi apoi tastaţi caracterul . Am notat cu tasta ESC. Observaţie importantă: pentru a termina sesiunea Emacs, tastaţi C-x C-c. (Două caractere.) Caracterele ">>" la marginea din stânga reprezintă instrucţiuni pentru a încerca o comandă. De exemplu: <> >> Acum tastaţi C-v (citirea următorului ecran) pentru a vă muta la următorul ecran. (Executaţi această comandă acum, tinând apăsată tasta CONTROL în timp ce tastaţi v). De acum înainte faceţi acest lucru din nou, de fiecare dată când terminaţi de citit ecranul. De remarcat că există o zonă de suprapunere de două linii când vă mutaţi de la un ecran la altul; aveţi astfel o oarecare continuitate în citirea textului. Primul lucru pe care trebuie să-l stiţi este cum să vă deplasaţi din loc în loc în text. Ştiţi deja cum să vă mutaţi la următorul ecran cu C-v. Pentru a vă deplasa înapoi un ecran, tastaţi M-v (ţineţi apăsată tasta META şi tastaţi v, sau v dacă nu aveţi o tastă META, EDIT, sau ALT). >> Încercaţi să tastaţi M-v şi apoi C-v de câteva ori. * SUMAR ------- Următoarele comenzi sunt utile pentru a vedea ecrane: C-v avansează un ecran M-v înapoi un ecran C-l şterge ecranul şi reafişează totul poziţionând textul de lângă cursor în centrul ecranului. (Este C-L, nu C-1.) >> Găsiţi cursorul şi ţineţi minte ce text este în jurul lui. Apoi tastaţi C-l. Găsiţi cursorul din nou şi observaţi că textul de lângă cursor este acelaşi. * COMENZI DE BAZĂ PENTRU CONTROLUL CURSORULUI --------------------------------------------- Mutatul ecran cu ecran este util, dar cum vă mutaţi la o anumită poziţie în textul de pe ecran? Sunt mai multe modalitaţi în care puteţi face acest lucru. Cel mai simplu este să folosiţi comenzile C-p, C-b, C-f şi C-n. Fiecare din aceste comenzi mută cursorul o linie sau coloană într-o anumită direcţie pe ecran. Diagrama următoare prezintă aceste patru comenzi şi arată direcţiile în care ele mută cursorul. Linia precedentă, C-p : : Înapoi, C-b .... Poziţia curentă a cursorului .... Înainte, C-f : : Linia următoare, C-n >> Mutaţi cursorul la linia din mijlocul diagramei folosind C-n sau C-p. Tastaţi apoi C-l pentru a vedea întreaga diagramă centrată pe ecran. Vi se va părea probabil mai simplu să vă amintiţi aceste comenzi gândindu-vă la semnificaţia lor în limba engleză: P pentru previous, N pentru next, B pentru backward şi F pentru forward. Acestea sunt comenzile de bază pentru poziţionarea cursorului şi le veţi folosi tot timpul, deci ar fi foarte util să le învăţaţi acum. >> Tastaţi câteva C-n-uri pentru a aduce cursorul la această linie. >> Mutaţi-vă în interiorul liniei cu C-f-uri şi apoi în sus cu C-p-uri. Urmăriţi ce face C-p atunci când cursorul este în mijlocul liniei. Fiecare linie se termină cu un caracter NEWLINE care o separă de linia următoare. Ultima linie în fişierele dumneavoastră ar trebui să aibă un asemenea caracter la sfârşit (deşi Emacs-ul nu-l necesită). >> Încercaţi să tastaţi C-b la începutul unei linii. Cursorul ar trebui să se mute la sfârşitul liniei precedente, din cauza trecerii peste caracterul NEWLINE. C-f poate să treacă peste un caracter NEWLINE, la fel ca şi C-b. >> Tastaţi câteva C-b-uri, pentru a vă familiariza cu poziţia cursorului. Tastaţi apoi câteva C-f-uri pentru a vă întoarce la sfârşitul liniei. Încă un C-f şi vă veţi muta la linia următoare. Când ajungeţi să treceţi peste începutul sau sfârşitul ecranului, textul aflat dincolo de margine intră în ecran, permiţându-i Emacs-ului să mute cursorul la poziţia specificată, fără a ieşi din zona vizibilă (ecran). Această operaţiune se numeste în limba engleză "scrolling". >> Încercaţi să mutaţi cursorul în afara părţii de jos a ecranului cu C-n şi observaţi ce se întamplă. Dacă mutatul caracter cu caracter este lent, puteţi muta cursorul cuvânt cu cuvânt. M-f (META-f) avansează cursorul cu un cuvânt, iar M-b mută cursorul un cuvânt înapoi. >> Tastaţi câteva M-f-uri şi apoi câteva M-b-uri. Când cursorul este în mijlocul unui cuvânt, M-f îl mută la sfârşitul cuvântului. Când cursorul este în spaţiul dintre cuvinte, M-f îl mută la sfârşitul cuvântului următor. M-b acţionează similar, dar în direcţia opusă. >> Tastaţi M-f şi M-b de câteva ori, intercalate cu C-f-uri şi C-b-uri, pentru a observa efectul comenzilor M-f şi M-b din diverse poziţii în interiorul cuvintelor şi între ele. Observaţi paralela între C-f şi C-b pe de o parte, şi M-f şi M-b pe de cealaltă parte. De multe ori, caracterele META sunt folosite pentru operaţii referitoare la unităţile definite de limbaj (cuvinte, fraze, paragrafe), în timp ce caracterele CONTROL operează pe unităţi de bază, care sunt independente de tipul textului editat (caractere, linii, etc). Această paralelă se aplică şi între linii şi fraze: C-a şi C-e mută cursorul la începutul şi, respectiv sfârşitul unei linii, în timp ce M-a şi M-e îl mută la începutul şi, respectiv sfârşitul unei fraze. >> Încercaţi câteva C-a-uri, apoi câteva C-e-uri. Încercaţi câteva M-a-uri, apoi câteva M-e-uri. Remarcaţi cum repetarea tastării lui C-a nu schimbă nimic, în timp ce repetarea tastării lui M-a mută cursorul la fraza următoare. Deşi aceste operaţii nu sunt tocmai analoage, fiecare pare naturală. Poziţia cursorului în text mai este numită şi "punct" ("point" în limba engleză). Cursorul arată pe ecran poziţia punctului în text. Operaţiile ce mută cursorul (inclusiv comenzile ce mută cursorul cuvânt cu cuvânt sau frază cu frază) sunt prezentate în sumarul următor: C-f avansează un caracter C-b înapoi un caracter M-f avansează un cuvânt M-b înapoi un cuvânt C-n avansează o linie C-p înapoi o linie C-a înapoi la începutul liniei C-e avansează la sfârşitul liniei M-a înapoi la începutul frazei M-e avansează la sfârşitul frazei >> Exersaţi toate aceste comenzi acum, sunt comenzile cele mai des folosite. Două alte comenzi importante legate de mutatul cursorului sunt M-< (META Mai-mic), care mută cursorul la începutul textului, şi M-> (META Mai-mare), care mută cursorul la sfârşitul textului. Pe majoritatea terminalelor "<" este deasupra virgulei şi deci este necesar să apăsaţi tasta SHIFT în acelaşi timp. Pe aceste terminale este nevoie să apăsaţi SHIFT şi când tastaţi M-<; fără tasta SHIFT, aţi apăsa M-virgulă. >> Încercaţi M-< acum, pentru a vă muta la începutul tutorialului. Folosiţi apoi C-v în mod repetat pentru a ajunge înapoi aici. >> Încercaţi M-> acum, pentru a vă muta la sfârşitul tutorialului. Folosiţi apoi M-v repetat pentru a ajunge înapoi aici. Puteţi de asemenea să mutaţi cursorul cu tastele săgeţi, dacă terminalul are asemenea taste. Se recomandă însă acomodarea cu C-b, C-f, C-n şi C-p din trei motive. În primul rând, aceste taste funcţionează pe toate tipurile de terminale. În al doilea rând, odată ce vă obişnuiţi cu Emacs-ul, veţi remarca faptul că tastarea lor este mai rapidă decât cea a tastelor săgeţi (pentru că nu trebuie să vă schimbaţi poziţia mâinilor pe tastatură). În al treilea rând, odată format obiceiul de a folosi aceste comenzi bazate pe CONTROL, comenzile avansate de mutat cursorul se învaţă foarte uşor. Majoritatea comenzilor Emacs acceptă un argument numeric; pentru majoritatea comenzilor, acest argument reprezintă un contor de repetiţie. Contorul de repetiţie se introduce tastând C-u, cifrele ce alcătuiesc contorul şi apoi comanda. Dacă aveţi tasta META (EDIT sau ALT), există şi o altă alternativă pentru a introduce un argument numeric: tastaţi cifrele în timp ce ţineţi tasta META apăsată. Se recomandă însă folosirea metodei cu C-u, deoarece funcţionează pe orice terminal. De exemplu, C-u 8 C-f avansează cursorul cu opt caractere. >> Încercaţi să folosiţi C-n sau C-p cu un argument numeric pentru a muta cursorul dintr-o singură comandă pe o linie apropiată de aceasta. Majoritatea comenzilor utilizează argumentul numeric ca un contor de repetitie. Anumite comenzi speciale îl folosesc însa în mod diferit. C-v si M-v sunt printre aceste excepţii. Când li se dă un argument numeric, ele mută ecranul mai sus sau mai jos cu numarul specificat de linii, nu de ecrane. De exemplu, C-u 4 C-v mută ecranul cu 4 linii. >> Încercaţi să tastaţi C-u 8 C-v acum. Această comandă trebuie să mute ecranul în sus cu 8 linii. Dacă doriti să îl mutaţi înapoi, puteţi să-i daţi lui M-v un argument numeric. Dacă folosiţi sistemul X Window, există probabil o zonă rectangulară numita "scroll bar" la dreapta ferestrei Emacs-ului. Puteţi deplasa textul manipulând "scroll bar"-ul cu mouse-ul. >> Încercaţi să apăsaţi butonul din mijloc al mouse-ului la mijlocul butonului din scroll bar. Aceasta ar trebui să mute textul la o poziţie determinată de cât de sus sau de jos aţi apăsat pe scroll bar. >> Încercaţi să mutaţi mouse-ul în sus şi în jos ţinând butonul din mijloc apăsat. Veţi vedea că textul se deplasează în sus şi în jos corespunzător cu mişcarea mouse-ului. * CÂND EMACS-ul ESTE BLOCAT --------------------------- Dacă Emacs-ul încetează să vă raspundă la comenzi, îl puteţi opri, fără să pierdeţi modificările făcute până acum, tastând C-g. Puteţi folosi C-g pentru a opri o comandă care durează prea mult. Puteţi de asemenea folosi C-g pentru a opri introducerea unui argument numeric sau începutul unei comenzi pe care nu doriţi să o continuaţi. >> Tastaţi C-u 100 pentru a introduce 100 ca un argument numeric, apoi tastaţi C-g. Tastaţi apoi C-f. Cursorul ar trebui să se mute un singur caracter, pentru că aţi oprit introducerea argumentului numeric cu C-g. Dacă aţi tastat un din greşeală, puteţi să-l anulaţi cu un C-g. * COMENZI DEZAFECTATE --------------------- Anumite comenzi sunt dezafectate în Emacs, în aşa fel încât utilizatorii să nu le poată folosi din neatenţie. Dacă tastaţi una din comenzile dezafectate, Emacs-ul va afişa un mesaj spunând ce comandă aţi tastat şi întrebându-vă dacă doriţi să continuaţi. Dacă într-adevăr doriţi să încercaţi comanda respectivă, tastaţi SPAŢIU. În mod normal, dacă nu doriţi să executaţi comanda dezafectată, răspundeţi cu "n". >> Tastaţi : (care este o comandă dezafectată), apoi tastaţi n ca răspuns la întrebarea pusă de Emacs. * FERESTRE ---------- Emacs-ul poate avea mai multe ferestre, fiecare afişând propriul său text. Vom explica mai târziu tehnicile de folosire a ferestrelor multiple. Acum vrem să explicăm cum să închideţi ferestrele care ar putea apare ca rezultat al afişării unor documentaţii sau rezultate specifice anumitor comenzi. Este simplu: C-x 1 o singură fereastră (adică închide toate celelalte ferestre). Asta înseamnă CONTROL-x urmat de cifra 1. C-x 1 măreşte fereastra care conţine cursorul până când ocupă întregul ecran. Toate celelalte ferestre sunt distruse. >> Mutaţi cursorul la această linie şi tastaţi C-u 0 C-l. >> Tastaţi C-h k C-f. Observaţi cum această fereastră se micşorează, în timp ce o nouă fereastră apare, afişând documentaţia comenzii C-f. >> Tastaţi C-x 1 şi observaţi cum noua fereastră dispare. * INTRODUCEREA ŞI ŞTERGEREA --------------------------- Dacă vreţi să introduceţi text, pur şi simplu tastaţi textul dorit. Caracterele pe care le puteţi vedea, cum ar fi A, 7, *, etc. sunt interpretate de Emacs ca text şi introduse imediat. Tastaţi (tasta mai este etichetată uneori) pentru a introduce un caracter NEWLINE. Puteţi şterge ultimul caracter pe care l-aţi introdus tastând . este o tastă pe tastatură etichetată "Del" sau "Delete". În unele cazuri tasta "Backspace" poate acţiona ca , dar nu întotdeauna! Mai general, şterge caracterul dinaintea poziţiei curente a cursorului. >> Executaţi următoarele operaţii acum - tastaţi câteva caractere, apoi ştergeţi-le tastând de câteva ori. Nu vă temeţi că veţi schimba acest fişier; nu veţi altera versiunea principală a tutorialului. Aceasta este copia dumneavoastră personală. Când o linie de text devine prea mare pentru a putea fi reprezentată pe o linie de ecran, linia de text este continuată pe următoarea linie de pe ecran. Un caracter backslash ("\") la marginea din dreapta indică o linie care a fost continuată. >> Introduceţi text până când depăşiţi cu câteva caractere marginea din dreapta a ecranului. Veţi observa apariţia liniei de continuare. >> Folosiţi -uri pentru a şterge textul până când linia încape din nou pe o linie de ecran. Linia de continuare va dispărea. Puteţi şterge un caracter NEWLINE ca pe orice alt caracter. Ştergerea unui NEWLINE dintre două linii concateneaza cele două linii. Dacă linia rezultată este prea lungă pentru a fi afişată pe ecran, va fi afişată cu o linie de continuare. >> Mutaţi cursorul la începutul unei linii şi tastaţi . Aceasta concatenează linia curentă cu cea precedentă. >> Tastaţi pentru a reintroduce caracterul NEWLINE şters. Aşa cum vă reamintiţi, majoritatea comenzilor Emacs pot primi un argument numeric ce acţionează ca un contor de repetiţie; introducerea caracterelor ascultă aceleaşi reguli. Un argument numeric dat unui caracter duce la introducerea caracterului respectiv de numărul specificat de ori. >> Încercaţi asta acum - tastaţi C-u 8 * pentru a introduce ********. Aţi învăţat acum metodele elementare de tastat şi corectat erori în Emacs. Puteţi de asemenea şterge cuvinte sau linii. Acesta este un sumar al operaţiilor de ştergere. şterge caracterul de dinaintea cursorului C-d şterge caracterul de după cursor M- şterge cuvântul de dinaintea cursorului M-d şterge cuvântul de după cursor C-k şterge de la poziţia curentă până la sfârşitul liniei M-k şterge de la poziţia curentă până la sfârşitul frazei De remarcat că şi C-d versus M- şi M-d extind paralela începută de C-f şi M-f ( nu este cu adevărat un caracter bazat pe CONTROL, dar nu o să ne ocupăm de asta acum). C-k şi M-k sunt ca C-e şi M-e, într-un fel, dacă facem o paralelă între linii şi fraze. Când ştergeţi mai mult de un caracter la un moment dat, Emacs-ul păstrează intern textul distrus în aşa fel încât îl puteţi restaura. Termenul folosit de Emacs pentru operaţiunea de restaurare a textului distrus este "yanking". Puteţi restaura textul distrus fie în acelaşi loc, fie în alt loc în fişier. Puteţi de asemenea restaura textul de mai multe ori pentru a face mai multe copii. Comanda de restaurare este C-y. Diferenţa dintre "distrugerea" şi "ştergerea" unei porţiuni din text este aceea ca porţiunile de text "distruse" pot fi restaurate, în timp ce porţiunile de text "şterse", nu. În general, comenzile care distrug porţiuni semnificative din text, păstrează intern textul respectiv, în timp ce comenzile care şterg doar un caracter, linii goale sau spaţii, nu fac acest lucru. >> Mutaţi cursorul la începutul unei linii care nu este goală. Tastaţi apoi C-k pentru a distruge textul de pe linia respectivă. >> Tastaţi C-k o a doua oară. Veţi observa distrugerea caracterului NEWLINE de la sfârşitul liniei. După cum vedeţi, un singur C-k distruge conţinutul liniei, iar un al doilea C-k distruge linia însăşi, facând toate celelalte linii să se mute în sus. C-k tratează un argument numeric în mod special: distruge numărul specificat de linii şi conţinutul lor. Această comportare nu este doar o simplă repetiţie. C-u 2 C-k distruge două linii şi NEWLINE-urile de după ele; tastând C-k de două ori nu obţineţi acelaşi rezultat. Pentru a extrage ultimul text distrus şi a-l plasa la poziţia curentă a cursorului, tastaţi C-y. >> Tastaţi C-y pentru a restaura textul distrus anterior. Gânditi-vă la C-y ca şi cum aţi recupera ceva ce v-a fost luat. Observaţi că dacă executaţi mai multe C-k-uri la rând, tot textul distrus este stocat într-o singură bucată, în aşa fel încât un singur C-y va restaura toate liniile. >> Tastaţi acum C-k de câteva ori. Acum încercaţi să restauraţi textul distrus: >> Tastaţi C-y. Mutaţi apoi cursorul câteva linii mai jos şi tastaţi C-y din nou. Veţi vedea cum se copiază porţiuni de text. Ce faceţi dacă aveţi porţiuni de text pe care vreţi să le restauraţi, dar între timp distrugeţi o altă porţiune de text? C-y va restaura porţiunea de text care a fost distrusă cel mai recent. Cu toate acestea, textul distrus anterior nu este pierdut. Puteţi să-l restauraţi folosind comanda M-y. După ce aţi executat C-y pentru a obţine textul cel mai recent distrus, tastând M-y veţi înlocui textul ce tocmai a fost restaurat cu textul distrus înaintea lui. Tastând M-y de mai multe ori puteţi obţine porţiuni de text distrus din ce în ce mai vechi. Odată ajunşi la textul care vă interesează, puteţi să continuaţi editarea fără să mai faceţi nimic special, lasând textul restaurat în poziţia în care se găseşte. Dacă tastaţi M-y de suficient de multe ori, veţi ajunge în cele din urmă la punctul de plecare (textul distrus cel mai de curând). >> Distrugeţi o linie, mutaţi-vă puţin în jurul ei, distrugeţi o altă linie. Executaţi apoi C-y pentru a obţine înapoi cea de-a doua linie distrusă. Executaţi apoi M-y şi veţi constata că este înlocuită de prima linie distrusă. Executaţi mai multe M-y-uri şi observaţi ce obţineţi. Continuaţi să le executaţi până când a doua linie apare din nou, etc. Dacă doriţi, puteţi încerca să-i daţi comenzii M-y argumente numerice pozitive şi negative. * ANULARE --------- Dacă faceţi o schimbare în text, şi apoi constataţi că aţi greşit, puteţi anula schimbarea cu comanda de anulare, C-x u. În mod normal, C-x u anulează schimbările făcute de o comandă; dacă repetaţi C-x u de câteva ori la rând, fiecare nouă repetiţie anulează încă o comandă. Există însă două excepţii: comenzile care nu schimbă textul nu sunt luate în considerare (acestea includ comenzile de mutat cursorul şi cele de "scrolling"), iar caracterele introduse individual sunt tratate în grupuri de maxim 20. (Motivaţia din spatele acestei abordări este aceea de a reduce numărul de C-x u-uri pe care trebuie să le tastaţi pentru anularea inserărilor de text). >> Distrugeţi linia aceasta cu C-k, apoi tastaţi C-x u; linia ar trebui să reapară. C-_ este o altă comandă de anulare; funcţionează exact ca şi C-x u, dar este mai uşor de tastat de mai multe ori la rând. Dezavantajul lui C-_ este că pe anumite tastaturi nu este clar cum trebuie tastat. Din acest motiv există C-x u. Pe unele terminale se poate să tastaţi C-_ tastând "/" în timp ce ţineţi apăsată tasta CONTROL. Un argument numeric la C-_ sau C-x u acţionează ca un contor de repetiţie. * FIŞIERE --------- Pentru a face permanente modificările din textul pe care îl editaţi, trebuie să-l stocaţi (salvaţi) într-un fişier. Altminteri, modificările se vor pierde în momentul părăsirii Emacs-ului. Puneţi textul într-un fişier "deschizând" (sau "vizitând") fişierul. Deschiderea unui fişier înseamnă că puteţi vedea conţinutul fişierului în Emacs. Este ca şi cum aţi edita chiar fişierul, singura diferenţă fiind aceea că schimbările nu devin permanente până când nu îl "salvaţi" ("save" în limba engleză). Se evită astfel existenţa în sistem a unor fişiere incomplet modificate atunci când nu doriţi acest lucru. Chiar şi când salvaţi fişierul, Emacs-ul păstrează fişierul iniţial (cu un nume schimbat) în aşa fel încât să-l puteţi recupera în cazul în care decideţi că modificările efectuate au fost greşite. Aproape de marginea de jos a ecranului veţi observa o linie care începe şi se termină cu minusuri, şi conţine şirul "--:-- TUTORIAL.ro" sau ceva în genul acesta. Această parte a ecranului arată întotdeauna numele fişierului pe care îl vizitaţi. Acum vizitaţi fişierul "TUTORIAL.ro" care este copia dumneavoastră de încercări a tutorialului în limba română. Orice fişier aţi edita, numele acelui fişier va apărea în poziţia respectivă. Comenzile pentru găsirea şi salvarea fişierelor sunt diferite de celelalte comenzi pe care le-aţi învăţat, în sensul că sunt compuse din două caractere. Amândouă încep cu caracterul C-x. Există o întreagă serie de comenzi care încep cu C-x; multe dintre ele sunt legate de fişiere, buffere şi alte lucruri înrudite. Aceste comenzi sunt compuse din două, trei sau patru caractere. Comenzii de deschidere a unui fişier trebuie să îi spuneţi numele fişierului dorit. Spunem despre comandă ca "citeşte un argument de la terminal" (în acest caz, argumentul este numele fişierului). După ce tastaţi comanda C-x C-f (deschide un fişier) Emacs-ul vă va cere să introduceţi numele fişierului. Numele pe care îl tastaţi apare pe ultima linie a ecranului. Această linie se numeste "minibuffer" când este folosită pentru acest tip de introducere. Comenzile normale de editare în Emacs pot fi folosite şi pentru editarea numelui fişierului. În timp ce introduceţi numele fişierului (sau orice alt tip de introducere de date în minibuffer), puteţi anula comanda cu C-g. >> Tastaţi C-x C-f, apoi tastaţi C-g. Aceasta anulează minibuffer-ul, şi, de asemenea, anulează comanda C-x C-f care îl folosea. În concluzie, nu veţi mai deschide nici un fişier. Când aţi terminat de introdus numele fişierului, tastaţi pentru a-l încheia. După aceasta, comanda C-x C-f începe să lucreze şi deschide fişierul pe care l-aţi ales. Minibuffer-ul dispare când comanda C-x C-f se termină. După câteva momente, conţinutul fişierului apare pe ecran şi îl puteţi edita. Când doriti să faceţi schimbările permanente, tastaţi comanda C-x C-s (salvează fişierul) Aceasta copiază textul din Emacs într-un fişier. Prima oară când faceţi acest lucru, Emacs-ul redenumeşte fişierul iniţial în aşa fel încât să nu se piardă. Noul nume este creat prin adăugarea caracterului "~" la numele iniţial. Când operaţiunea de salvare este terminată, Emacs-ul afişează numele fişierului salvat. Se recomandă salvarea la intervale relativ mici, pentru a nu pierde prea multă muncă în cazul unei eventuale blocări a sistemului. >> Tastaţi C-x C-s, pentru a salva copia tutorialului. Aceasta ar trebui să afişeze "Wrote ...TUTORIAL.ro" la marginea de jos a ecranului. Puteţi deschide un fişier existent, pentru a-l vedea sau edita. Puteţi de asemenea deschide un fişier care nu există. Aceasta este modalitatea în care creaţi noi fişiere cu Emacs-ul: deschideţi fişierul (care va fi gol iniţial), apoi începeţi să introduceţi text în el. Când îi veţi cere să "salveze" fişierul, Emacs-ul va crea fişierul cu textul pe care l-aţi introdus. De acum înainte puteţi considera că editaţi un fişier existent. * BUFFERE --------- Dacă deschideţi un al doilea fişier cu C-x C-f, primul va continua să existe în Emacs. Puteţi să vă mutaţi înapoi la el deschizându-l din nou cu C-x C-f. În acest fel puteţi avea un număr destul de mare de fişiere deschise în Emacs. >> Creaţi un fişier numit "foo" tastând C-x C-f foo . Introduceţi un text oarecare, editaţi-l, apoi salvaţi "foo" tastând C-x C-s. În cele din urmă, tastaţi C-x C-f TUTORIAL.ro pentru a vă întoarce la tutorial. Emacs-ul stochează textul fiecărui fişier într-un obiect numit "buffer". Deschiderea unui fişier creează un nou buffer în Emacs. Pentru a vedea o listă a bufferelor existente în Emacs, tastaţi C-x C-b (lista de buffere) >> Încercaţi C-x C-b acum. Observaţi cum fiecare buffer are un nume şi, uneori, un nume de fişier corespunzător fişierului al cărui conţinut este menţinut în buffer-ul respectiv. Unele buffere nu corespund nici unui fişier. De exemplu, buffer-ul numit "*Buffer List*" nu are nici un fişier asociat. Este buffer-ul care conţine lista de buffere şi a fost creat de comanda C-x C-b. Orice text pe care îl vedeţi într-o fereastră a Emacs-ului este întotdeauna parte dintr-un buffer. >> Tastaţi C-x 1 pentru a scăpa de lista de buffere. Dacă faceţi schimbări în textul unui fişier, apoi deschideţi un alt fişier, primul fişier nu este salvat. Schimbările efectuate rămân în Emacs, în buffer-ul asociat acelui fişier. Crearea sau editarea buffer-ului celui de-al doilea fişier nu are nici un efect asupra buffer-ului primului fişier. Acest lucru este foarte util, dar înseamnă că aveţi nevoie de o modalitate convenabilă de a salva buffer-ul primului fişier. Ar fi obositor să fie necesar să vă mutaţi înapoi la el cu C-x C-f pentru a-l putea salva cu C-x C-s. Din acest motiv există comanda: C-x s salvează nişte buffere C-x s vă întreabă despre fiecare buffer care conţine modificări (şi care nu a fost salvat) dacă doriţi să-l salvaţi. >> Introduceţi o linie de text, apoi tastaţi C-x s. Ar trebui să vă întrebe dacă să salveze buffer-ul TUTORIAL.ro. Raspundeţi "da" la întrebare tastând "y". * EXTINDEREA SETULUI DE COMENZI ------------------------------- Există mult mai multe comenzi Emacs decât combinaţii de taste bazate pe CONTROL şi META. Soluţia în Emacs este folosirea comenzilor eXtinse. Acestea sunt de două feluri: C-x eXtinde un caracter; urmată de un caracter M-x eXtinde un nume; urmată de un nume lung Acestea sunt comenzi care sunt utile în general, dar folosite mai rar decât comenzile despre care aţi învăţat până acum. Aţi văzut deja două dintre ele: comanda de deschis fişiere (C-x C-f) şi comanda de salvat fişiere (C-x C-s). Un alt exemplu este comanda de părăsit Emacs-ul: C-x C-c. (Nu vă temeţi că veţi pierde schimbări făcute în fişiere; înainte de a termina sesiunea curentă Emacs, C-x C-c vă va întreba dacă doriţi să salvaţi fişierele modificate.) C-z este comanda cu care puteţi ieşi din Emacs *temporar* - astfel încât să puteţi să vă întoarceţi la aceeaşi sesiune Emacs mai târziu. Pe sistemele unde este posibil, C-z "suspendă" Emacs-ul; asta înseamnă că, deşi vă veţi întoarce la prompt-ul shell-ului, Emacs-ul nu a fost distrus. În shell-urile (interpretoarele de comenzi Unix) cele mai uzuale puteţi reactiva Emacs-ul cu comanda `fg' sau `%emacs'. Pe sistemele care nu implementează mecanismele de suspendare, C-z creează un subshell care rulează sub Emacs pentru a vă oferi posibilitatea de a rula alte programe şi de a vă întoarce la Emacs mai târziu; pe aceste sisteme C-z nu iese cu adevărat din Emacs - comanda `exit' la promptul subshell-ului este modalitatea uzuală de a vă întoarce în Emacs. În general C-x C-c se foloseşte înainte de părăsirea sistemului. Puteţi folosi această comandă şi pentru a ieşi din instanţe de Emacs lansate de programe de citit mail sau alte utilitare, deoarece acestea s-ar putea să nu fie capabile să folosească facilitaţile de suspendare ale Emacs-ului. În mod normal însă, dacă nu sunteţi pe cale să părăsiţi sistemul, este mai bine să suspendaţi Emacs-ul cu C-z decât să ieşiţi complet cu C-x C-c. Emacs-ul are multe comenzi prefixate cu C-x. Aceasta este lista celor pe care le-aţi învăţat până acum: C-x C-f deschide un fişier C-x C-s salvează fişierul C-x C-b listează bufferele C-x C-c părăseşte Emacs-ul C-x u anulează Comenzile eXtinse cu nume sunt comenzile care sunt folosite şi mai rar sau comenzile care sunt folosite numai în anumite moduri. Un exemplu este comanda replace-string (înlocuieşte-şir) care înlocuieşte global toate apariţiile unui şir de caractere cu alt şir de caractere. Când tastaţi M-x, Emacs-ul afişează pe ultima linie de pe ecran "M-x" şi puteţi introduce numele comenzii - în cazul nostru "replace-string". Puteţi să tastaţi doar "repl s" şi Emacs-ul va completa numele. Terminaţi comanda cu . Comanda replace-string necesită două argumente - şirul ce va fi înlocuit şi şirul înlocuitor. La sfârşitul introducerii fiecărui argument trebuie să tastaţi . >> Mutaţi cursorul pe linia goală care se găseste două linii mai jos. Tastaţi apoi M-x repl smodificatalterat. Observaţi modul în care această linie s-a modificat: aţi înlocuit toate apariţiile cuvântului s-c-h-i-m-b-a-t cu "alterat", după poziţia iniţială a cursorului. * SALVARE AUTOMATĂ ------------------ Dacă aţi facut schimbări într-un fişier, dar nu le-aţi salvat, aceste schimbări se pot pierde în cazul în care sistemul se blochează. Pentru a vă proteja munca, Emacs-ul salvează periodic un fişier de "autosalvare" pentru fiecare fişier pe care îl editaţi. Acest fişier are un "#" la început şi unul la sfârşit; de exemplu, dacă fişierul dumneavoastră se numeste "hello.c", fişierul de autosalvare corespunzător se va numi "#hello.c#". Când salvaţi fişierul în mod normal, Emacs-ul şterge fişierul de autosalvare. În cazul unei căderi a sistemului, puteţi să vă recuperaţi fişierul de autosalvare deschizând fişierul în mod normal (fişierul pe care îl editaţi, nu pe cel de autosalvare) şi tastând după aceea M-x recover file. Când vi se cere confirmarea, tastaţi yes pentru a continua şi a recupera fişierul. * ZONA DE ECOU -------------- Dacă Emacs-ul observă că tastaţi comenzile încet, vi le va arăta la marginea de jos a ecranului într-o zona numită "zona de ecou". Zona de ecou conţine cea mai de jos linie a ecranului. * LINIA DE MOD -------------- Linia de deasupra zonei de ecou se numeşte "linia de mod" ("mode line" în limba engleză). Linia de mod conţine ceva de genul: --**-Emacs: TUTORIAL (Fundamental)--L670--58%---------------- Această linie prezintă informaţii utile despre starea Emacs-ului şi despre textul pe care îl editaţi. Stiţi deja ce înseamnă numele fişierului - este fişierul pe care l-aţi deschis. -NN%-- indică poziţia curentă a cursorului în text - NN la sută din text este deasupra primei linii de pe ecran. Dacă începutul fişierului este vizibil pe ecran, veţi vedea --Top-- în loc de --00%--. Dacă sfârşitul fişierului este vizibil pe ecran, veţi vedea --Bot-- (de la "bottom" în limba engleză). Dacă fişierul este atât de mic, încât încape în întregime pe ecran, pe linia de mod veţi vedea --All--. Stelele de la începutul liniei de mod semnalizează existenţa unor modificări nesalvate în text. Imediat după deschiderea fişierului, porţiunea respectivă din linia de mod nu conţine nici o stea, doar minusuri. Porţiunea dinăuntrul parantezelor vă spune modul de editare curent. Modul implicit este "Fundamental", modul pe care îl folosiţi chiar acum. Este un exemplu de "mod major". Emacs-ul are multe moduri majore. Unele dintre ele sunt destinate editării diferitelor limbaje şi/sau tipuri de text, cum ar fi modul Lisp, modul Text, etc. Numai un mod major poate fi activ la un moment dat şi numele său va fi întotdeauna acolo unde este "Fundamental" acum. Fiecare mod major schimbă comportamentul unor comenzi. De exemplu există comenzi pentru crearea comentariilor într-un program, dar, cum fiecare limbaj de programare are o idee diferită despre felul cum ar trebui să arate un comentariu, fiecare mod major trebuie să le introducă într-un alt fel. Există câte o comandă asociată fiecărui mod major - aceasta este modalitatea de a schimba modul major. De exemplu, M-x fundamental-mode este comanda cu care poate fi ales modul "Fundamental". Dacă editaţi text în limba română, cum ar fi de exemplu acest fişier, ar trebui probabil să folosiţi modul Text. >> Tastaţi M-x text-mode. Nu vă temeti, nici una din comenzile pe care le-aţi învăţat până acum nu schimbă Emacs-ul prea mult. Puteţi observa acum că M-f şi M-b tratează apostrofurile ca parte din cuvinte. Înainte, în modul Fundamental, M-f şi M-b tratau apostrofurile ca separatoare de cuvinte. Modurile majore operează schimbări subtile, ca cea descrisă mai sus. Majoritatea comenzilor execută aceeaşi operaţie în fiecare mod major, dar funcţionează puţin diferit. Pentru a vedea documentaţia referitoare la modul major curent, tastaţi C-h m. >> Folosiţi C-u C-v o dată sau de mai multe ori pentru a aduce această linie aproape de începutul ecranului. Tastaţi C-h m ca să aflaţi diferenţele dintre modul Text şi modul Fundamental. Tastaţi C-x 1 pentru a şterge documentaţia de pe ecran. Modurile majore se numesc "majore" pentru că există şi moduri minore. Modurile minore sunt ajustări minore ale modurilor majore. Fiecare mod minor poate fi activat sau dezactivat separat, independent de celelalte moduri minore şi independent de modul major curent. Puteţi să nu folosiţi nici un mod minor, un mod minor sau orice combinaţie de moduri minore. Un mod minor care este foarte util, în mod special când editaţi text, este modul "Auto Fill". Când acest mod este activat, Emacs-ul sparge automat liniile la spaţiul dintre cuvinte de fiecare dată când introducând text creaţi o linie care este prea lungă. Puteţi activa modul "Auto Fill" executând M-x auto-fill-mode. Când acest mod este activat, îl puteţi dezactiva executând aceeaşi comandă. Dacă modul este dezactivat, această comandă îl activează, când este activat, comanda îl dezactivează. Se spune că această comandă inversează modul. >> Tastaţi M-x auto-fill-mode acum. Introduceţi apoi o linie conţinând "asdf " de mai multe ori, până când linia se sparge în două. Trebuie să puneţi spaţii între cuvinte pentru că Auto Fill sparge linia numai la spaţii. Marginea este stabilită în mod normal la 70 de caractere, dar puteţi schimba această valoare cu comanda C-x f. Introduceţi valoarea dorită ca argument numeric pentru C-x f. >> Tastaţi C-x f cu 20 ca argument numeric. (C-u 2 0 C-x f). Introduceţi apoi un text oarecare şi observaţi cum Emacs-ul umple linii de maximum 20 de caractere. Restauraţi marginea la 70 de caractere folosind din nou C-x f. Dacă faceţi schimbări în mijlocul unui paragraf, modul Auto Fill nu rearanjează paragraful. Pentru a face acest lucru, trebuie să tastaţi M-q (META-q) cu cursorul poziţionat înăuntrul paragrafului. >> Mutaţi cursorul în paragraful precedent şi tastaţi M-q. * CĂUTARE --------- Emacs-ul poate caută şiruri (grupuri continue de caractere sau cuvinte) fie înainte, fie înapoi (faţă de poziţia curentă a cursorului în text). Căutarea unui şir este o operaţie ce mută cursorul; cursorul este mutat în poziţia corespunzătoare următoarei apariţii a şirului în text. Căutarea este diferită în Emacs faţă de majoritatea editoarelor, deoarece este "incrementală". Asta înseamnă că execuţia operaţiunii de căutare se face în timp ce tastaţi şirul de căutat. Comanda ce iniţiază căutarea este C-s pentru căutare înainte şi C-r pentru căutare înapoi. AŞTEPTAŢI! Nu le încercaţi acum. Când tastaţi C-s veţi remarca faptul că şirul "I-search" apare ca prompt în zona de ecou. Aceasta vă spune că Emacs-ul este în modul de căutare incrementală, aşteptând ca dumneavoastră să introduceţi şirul pe care doriţi să-l căutaţi. Căutarea poate fi terminată cu . >> Tastaţi acum C-s pentru a porni o căutare. ÎNCET, câte o singură literă la un moment dat, tastaţi cuvântul "cursor", făcând o pauză după fiecare caracter tastat ca să observaţi ce se întamplă cu cursorul. Acum aţi terminat de căutat prima apariţie a cuvântului "cursor". >> Tastaţi C-s din nou, pentru a căuta următoarea apariţie a cuvântului "cursor". >> Tastaţi acum de patru ori şi observaţi mişcarea cursorului. >> Tastaţi pentru a termina căutarea. Aţi observat ce s-a întamplat? În timpul unei căutări incrementale Emacs-ul încearcă să se poziţioneze pe prima apariţie a şirului pe care l-aţi introdus până în momentul respectiv. Dacă vreţi să vă poziţionaţi pe următoarea apariţie a cuvântului "cursor", nu trebuie decât să tastaţi C-s încă o dată. Dacă nu mai există o altă apariţie, Emacs-ul va emite un sunet şi vă va anunţa că operaţiunea de căutare a eşuat ("failed" în limba engleză). C-g este o altă metodă de a termina căutarea. OBSERVAŢIE: Pe unele sisteme, C-s va bloca ecranul şi nu veţi mai primi nici un răspuns de la Emacs. Aceasta indică faptul că o "facilitate" a sistemului de operare numită "controlul fluxului" ("flow control" în limba engleză) interceptează caracterul C-s şi acesta nu mai ajunge la Emacs. Pentru deblocarea ecranului, apăsaţi C-q. Puteţi găsi detalii referitoare la această aşa-numită "facilitate" în secţiunea "Spontaneous Entry to Incremental Search" din manualul Emacs-ului. Dacă sunteţi în mijlocul unei căutări incrementale şi tastaţi , veţi observa că ultimul caracter în căutarea incrementală este şters şi căutarea se întoarce la poziţia anterioară. De exemplu, să presupunem că aţi tastat "c", pentru a căuta prima apariţie a lui "c". Dacă tastaţi "u", cursorul se va muta la prima apariţie a lui "cu". Tastaţi acum . Aceasta va şterge "u"-ul din şirul de căutare şi cursorul se va muta înapoi la prima apariţie a lui "c". Căutarea incrementală poate fi terminată prin tastarea unui caracter bazat pe CONTROL sau META (cu câteva excepţii - caracterele care sunt specifice căutării, cum ar fi C-s şi C-r). C-s începe o căutare care inspectează textul de DUPĂ poziţia curentă a cursorului. Dacă doriţi să căutaţi în textul dinaintea poziţiei curente a cursorului, folosiţi C-r. Toată discuţia referitoare la C-s se aplică şi comenzii C-r, cu menţiunea că direcţia de căutare este inversă. * FERESTRE MULTIPLE ------------------- Una dintre facilităţile importante ale Emacs-ului este aceea de a afişa pe ecran mai multe ferestre simultan. >> Mutaţi cursorul pe această linie şi tastaţi C-u 0 C-l. >> Tastaţi acum C-x 2 pentru a împărţi ecranul în două ferestre. Amândouă ferestrele vor afişa acest tutorial. Cursorul va rămane în fereastra din partea de sus a ecranului. >> Tastaţi C-M-v pentru a mişca textul din fereastra de jos. (Dacă nu aveţi o tastă META, tastaţi ESC C-v.) >> Tastaţi C-x o ("o" de la "other" - "cealaltă" în limba engleză) pentru a muta cursorul în fereastra de jos. >> Tastaţi C-v şi M-v în fereastra de jos pentru a muta textul. Continuaţi să citiţi aceste instrucţiuni în fereastra de sus. >> Tastaţi C-x o din nou pentru a muta cursorul înapoi în fereastra de sus. Cursorul va fi plasat în locul unde a fost anterior. Puteţi continua să folosiţi C-x o pentru a vă muta între ferestre. Fiecare fereastră are propria ei poziţie a cursorului, dar numai o fereastră arată cursorul la un moment dat. Toate operaţiile normale de editare au efect în fereastra în care se găseşte cursorul - fereastra respectivă se numeşte "fereastra selectată". Comanda C-M-v este foarte utilă când editaţi text într-o fereastră şi folosiţi cealaltă fereastră pentru a citi documentaţii. Puteţi ţine întotdeauna cursorul în fereastra în care editaţi, în timp ce avansaţi textul din cealaltă fereastră cu C-M-v. C-M-v este un exemplu de caracter CONTROL-META. Dacă aveţi o tastă META, puteţi tasta C-M-v ţinând apăsate şi CONTROL şi META când tastaţi v. Nu contează care dintre CONTROL sau META este apăsată mai întâi, pentru că amândouă acţionează prin modificarea caracterului pe care îl tastaţi. Dacă nu aveţi o tastă META şi folosiţi ESC în loc, ordinea este importantă: trebuie să tastaţi ESC urmat de CONTROL-v; CONTROL-ESC v nu va funcţiona, din cauza faptului că ESC este un caracter de sine stătător, nu un modificator. >> Tastaţi C-x 1 (în fereastra de sus) ca să renunţaţi la fereastra de jos. (Dacă aţi tastat C-x 1 în fereastra de jos, această comandă va închide fereastra de sus. Gândiţi-vă la ea aşa "Păstrează doar o fereastră - cea în care sunt acum.") Nu este nevoie să afisaţi acelaşi buffer în ambele ferestre. Dacă folosiţi C-x C-f pentru a deschide un fişier într-o fereastră, cealaltă fereastră nu se schimbă. Puteţi deschide un fişier diferit în fiecare fereastră. O altă modalitate de a folosi două ferestre ca să afişaţi lucruri diferite: >> Tastaţi C-x 4 C-f apoi numele unui fişier. Terminaţi comanda cu Observaţi că fişierul specificat apare în fereastra de jos. Cursorul la fel. >> Tastaţi C-x o pentru a vă muta în fereastra de sus, apoi tastaţi C-x 1 pentru a şterge fereastra de jos. * NIVELURI DE EDITARE RECURSIVĂ ------------------------------- Uneori veţi intra în ceea ce se numeste un "nivel de editare recursivă". Acesta este indicat de prezenţa unor paranteze drepte în linia de mod în jurul numelui modului major. De exemplu, s-ar putea să vedeţi [(Fundamental)] în loc de (Fundamental). Pentru a ieşi din nivelul de editare recursivă, tastaţi ESC ESC ESC. Aceasta este o comandă de ieşire de uz general. O puteţi folosi şi ca să ieşiţi din minibuffer sau ca să eliminaţi ferestrele în plus. >> Tastaţi M-x pentru a intra în minibuffer; tastaţi apoi ESC ESC ESC ca să ieşiţi. Nu puteţi folosi C-g pentru a ieşi dintr-un nivel de editare recursivă deoarece comanda C-g este folosită pentru a anula comenzi şi argumente înăuntrul unui nivel de editare recursivă. * CUM PUTEŢI OBŢINE MAI MULTE INFORMAŢII ---------------------------------------- În acest tutorial am încercat să furnizăm suficiente informaţii pentru a face primii paşi în Emacs. Există atât de multe comenzi în Emacs încât ar fi imposibil să le explicăm pe toate aici. S-ar putea însă să doriţi să învaţaţi mai multe despre Emacs, deoarece oferă foarte multe facilitaţi interesante. Există comenzi pentru a citi documentaţia despre comenzile Emacs-ului. Aceste comenzi ajutătoare sunt prefixate cu caracterul C-h, denumit şi "caracterul de ajutor". Pentru a folosi aceste facilităţi de ajutor, tastaţi caracterul C-h, apoi un caracter ce specifică tipul de ajutor de care aveţi nevoie. În cazul în care sunteţi nelămurit, tastaţi C-h ? şi Emacs-ul vă va spune ce fel de ajutor vă poate oferi. Dacă aţi tastat C-h şi vă răzgândiţi (nu mai doriţi ajutor) puteţi tasta C-g pentru a anula comanda. (Anumite site-uri remapează caracterul C-h. Nu ar trebui să facă asta orbeşte pentru toţi utilizatorii - aveţi motiv să vă plângeţi administratorului de sistem. Între timp, dacă C-h nu afişează un mesaj despre ajutor la marginea de jos a ecranului, încercaţi M-x help în loc.) Comanda elementară de ajutor este C-h c. Tastaţi C-h, apoi caracterul c şi o comandă alcătuită dintr-un caracter sau secvenţă de caractere şi Emacs-ul va afişa o scurtă descriere a comenzii. >> Tastaţi C-h c C-p. Mesajul ar trebui să fie ceva de genul C-p runs the command previous-line Aceasta vă spune "numele funcţiei". Numele de funcţii sunt folosite în principal pentru a adapta şi extinde Emacs-ul, dar, cum numele funcţiilor sunt alese în aşa fel încât să indice actiunea comenzii respective, ele pot servi ca o documentaţie foarte scurtă, suficientă ca să vă amintească de comenzi pe care le-aţi învăţat deja. Comenzile formate din mai multe caractere (cum ar fi C-x C-s) şi (dacă nu aveţi o tasta META, EDIT sau ALT) v sunt de asemenea permise după C-h c. Pentru a obţine mai multe informaţii despre o comandă, folosiţi C-h k în loc de C-h c. >> Tastaţi C-h k C-p. Această comandă afişează documentaţia şi numele funcţiei într-o fereastră separată. Când terminaţi de citit, tastaţi q pentru a o elimina. Nu trebuie să faceţi acest lucru imediat. Puteţi edita o vreme, citind textul din fereastra de ajutor. Câteva comenzi C-h utile: C-h f descrie o funcţie al cărei nume trebuie să-l introduceţi >> Încercaţi să tastaţi C-h f previous-line. Aceasta afişează toată informaţia pe care o are Emacs-ul despre funcţia ce implementează comanda C-p. C-h a Command Apropos. Tastaţi un cuvânt cheie şi Emacs-ul va lista toate funcţiile şi variabilele ale căror nume conţin acel cuvânt cheie. La stânga comenzilor care pot fi invocate cu M-x va fi afişată o steluţă. Pentru unele comenzi, Command Apropos va lista o secvenţă de unul sau două caractere ce execută aceeaşi comandă. >> Tastaţi C-h a fişier. Aceasta afişează într-o altă ferastră o listă a tuturor comenzilor M-x al căror nume conţine "fişier". Veţi vedea caractere-comandă de genul C-x C-f listate lângă comanda nume corespunzătoare (find-file). >> Tastaţi C-M-v ca să deplasaţi conţinutul ferestrei de ajutor. Faceţi acest lucru de câteva ori. >> Tastaţi C-x 1 pentu a şterge fereastra de ajutor. * CONCLUZII ----------- Ţineţi minte, pentru a ieşi permanent din Emacs, folosiţi C-x C-c. Pentru a ieşi temporar într-un shell (în aşa fel încât să vă puteţi întoarce la Emacs mai târziu) folosiţi C-z. Acest tutorial a fost organizat în aşa fel încât să fie pe înţelesul noilor utilizatori - nu vă sfiiţi să vă plângeţi autorilor dacă gasiţi ceva neclar! COPIERE ------- Acest tutorial este rezultatul prelucrării unei serii lungi de tutoriale pentru Emacs derivate din cel scris de Stuart Cracraft pentru versiunea iniţială de Emacs. Cu scopul evitării oricăror confuzii datorate traducerii, las în continuare noţita de copyright originală în limba engleză. This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1998, 2001-2013 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last altered them. Condiţiile de copiere a Emacs-ului sunt mai complexe, dar în acelaşi spirit. Citiţi fişierul COPYING şi apoi distribuiţi prietenilor copii ale Emacs-ului. Contribuiţi la eliminarea obstrucţionismului software folosind, scriind şi distribuind free software! ;;; Local Variables: ;;; coding: utf-8 ;;; End: