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