TUTORIAL.ro 46.4 KB
Newer Older
1 2
Tutorialului de Emacs.  A se citi sfârşitul pentru condiţii.
Traducere din engleză de Tudor Hulubei <tudor@gnu.org>.
Dave Love's avatar
#  
Dave Love committed
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
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.

OBSERVAŢIE: În unele sisteme, tastarea comenzii C-x C-s va bloca
ecranul şi nu veţi mai primi nici un de răspuns din partea Emacs-ului.
Aceasta indică faptul că o facilitate a sistemului de operare numită
"controlul fluxului" ("flow control" în limba engleză) interceptează
C-s, nelasându-l să ajungă la Emacs.  Pentru deblocarea ecranului,
tastaţ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.

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:

1094 1095
Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005,
   2006, 2007  Free Software Foundation, Inc.
Dave Love's avatar
#  
Dave Love committed
1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111

   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!
Miles Bader's avatar
Miles Bader committed
1112

1113 1114 1115 1116
;;; Local Variables:
;;; coding: iso-latin-2
;;; End:

Miles Bader's avatar
Miles Bader committed
1117
;;; arch-tag: dcf252cf-bd67-4f8d-a440-1ec4b8dbfd70