mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 07:11:34 -08:00
* tutorials/TUTORIAL, tutorials/TUTORIAL.cs, tutorials/TUTORIAL.eo: * tutorials/TUTORIAL.es, tutorials/TUTORIAL.it, tutorials/TUTORIAL.ja: * tutorials/TUTORIAL.ko, tutorials/TUTORIAL.nl, tutorials/TUTORIAL.pl: * tutorials/TUTORIAL.pt_BR, tutorials/TUTORIAL.ro: * tutorials/TUTORIAL.ru, tutorials/TUTORIAL.sk, tutorials/TUTORIAL.sv: * tutorials/TUTORIAL.th: Avoid using ` for natural-language quotes. Instead, work around the problem with "\" by using non-" quotation marks appropriate for the natural language in question, e.g., «...» for Spanish. For English “...” could be used, but use '...' instead so that TUTORIAL continues to be encoded in ASCII.
1105 lines
48 KiB
Text
1105 lines
48 KiB
Text
Tutorialului de Emacs. A se citi sfârşitul pentru condiţii.
|
|
Traducere din engleză de Tudor Hulubei <tudor@gnu.org>.
|
|
Mulţumiri Aidei Hulubei <aida@chang.pub.ro> pentru corecturi şi sugestii.
|
|
|
|
Această versiune a fost produsă plecând de la versiunea în limba
|
|
engleză, care este
|
|
Copyright (c) 1985, 2013-2014 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-<chr> înseamnă că ţineţi apăsată tasta CONTROL în timp ce tastaţi
|
|
caracterul <chr>. Astfel, C-f înseamnă: ţineţi apăsată tasta
|
|
CONTROL şi tastaţi f.
|
|
|
|
M-<chr> înseamnă că ţineţi apăsată tasta META, EDIT sau ALT în timp
|
|
ce tastaţi <chr>. Dacă nu există tasta META, EDIT sau ALT,
|
|
tastaţi <ESC>, ridicaţi şi apoi tastaţi caracterul <chr>.
|
|
Am notat cu <ESC> 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:
|
|
<<Liniile goale introduse aici de iniţializarea comenzii help-with-tutorial>>
|
|
>> 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 <ESC> 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 <ESC> 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 <ESC> : (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 <Return>
|
|
(tasta mai este etichetată <Enter> uneori) pentru a introduce un
|
|
caracter NEWLINE.
|
|
|
|
Puteţi şterge ultimul caracter pe care l-aţi introdus tastând
|
|
<Delete>. <Delete> este o tastă pe tastatură etichetată "Del" sau
|
|
"Delete". În unele cazuri tasta "Backspace" poate acţiona ca
|
|
<Delete>, dar nu întotdeauna!
|
|
|
|
Mai general, <Delete> ş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 <Delete> 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 <Delete>-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 <Delete>.
|
|
Aceasta concatenează linia curentă cu cea precedentă.
|
|
|
|
>> Tastaţi <Return> 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.
|
|
|
|
<Delete> şterge caracterul de dinaintea cursorului
|
|
C-d şterge caracterul de după cursor
|
|
|
|
M-<Delete> ş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ă <Delete> şi C-d versus M-<Delete> şi M-d extind
|
|
paralela începută de C-f şi M-f (<Delete> 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 <Return>
|
|
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 <Return>.
|
|
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 <Return>
|
|
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<TAB>" şi Emacs-ul va completa numele.
|
|
Terminaţi comanda cu <Return>.
|
|
|
|
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 <Return>.
|
|
|
|
>> Mutaţi cursorul pe linia goală care se găseste două linii mai jos.
|
|
Tastaţi apoi M-x repl s<Return>modificat<Return>alterat<Return>.
|
|
|
|
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<Return>. Când vi se cere confirmarea, tastaţi yes<Return> 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<Return>.
|
|
|
|
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<Return>.
|
|
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<Return> 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 <Return>.
|
|
|
|
>> 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 <Delete> de patru ori şi observaţi mişcarea
|
|
cursorului.
|
|
>> Tastaţi <Return> 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
|
|
<Delete>, 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 <Delete>. 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 <Return> 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<Return> î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) <ESC> 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<Return>.
|
|
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<Return>.
|
|
|
|
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-2014 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:
|