1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
|
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 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-2011 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: iso-latin-2
;;; End:
|