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
|
Tútorial k Emacsu. Podmienky pozri na konci.
Do češtiny preložil Milan Zamazal <pdm@zamazal.org>, do slovenčiny Miroslav
Vaško <zemiak@zoznam.sk>.
Máte pred sebou tútorial k Emacsu.
Príkazy Emacsu všeobecne využívajú klávesu CONTROL (občas označovanú ako CTRL
alebo CTL) alebo klávesu META (občas označovanú EDIT alebo ALT). Aby sme tieto
názvy nemuseli stále písať v plnom znení, budeme používať nasledujúce skratky:
C-<chr> znamená podržať klávesu CONTROL a stlačiť znak <chr>.
Teda C-f znamená: podržte klávesu CONTROL a stlačte f.
M-<chr> znamená podržať klávesu META, EDIT alebo ALT a stlačiť <chr>.
Ak nemáte žiadnu z kláves META, EDIT ani ALT, tak namiesto toho
stlačte a pustite klávesu ESC a potom <chr>. Klávesu ESC budeme
označovať <ESC>.
Dôležitá poznámka: prácu s Emacsom ukončíte stlačením C-x C-c (dva znaky).
Znaky ">>" na ľavom okraji označujú miesta, kde si máte vyskúšať príkaz. Napr.:
<<Blank lines inserted here by startup of help-with-tutorial>>
[Prostredná časť obrazovky je prázdna zámerne. Text pokračuje nižšie.]
>> Teraz stlačte C-v (view next screen) pre posun na ďalšiu obrazovku.
(Smelo do toho, spravte to pridržaním klávesy control a stlačením v.)
Od tejto chvíle by ste toto mali robiť ak dočítate zobrazenú
obrazovku.
Všimnite si, že pri posuve obrazoviek vždy zostávajú zobrazené dva riadky
z predchádzajúcej obrazovky; to poskytuje určitú náväznosť pri postupnom
čítaní textu.
Prvá vec, ktorú potrebujete vedieť je, ako sa v texte pohybovať
z jedného miesta na druhé. Už viete, ako sa posunúť o jednu obrazovku
vpred, pomocou C-v. Na prechod o obrazovku späť použite M-v
(podržte klávesu META a stlačte v alebo stlačte <ESC>v ak
nemáte klávesy META, EDIT ani ALT).
>> Skúste stlačiť M-v a potom C-v, niekoľko krát to zopakujte.
* ZHRNUTIE
----------
Na prezeranie obrazovkových stránok sú užitočné nasledujúce príkazy:
C-v Posuv o obrazovku vpred
M-v Posuv o obrazovku späť
C-l Zmazanie obrazovky a znovuzobrazenie celého textu,
pritom sa text pod kurzorom presunie k stredu obrazovky.
(Ide o Control-L a nie Control-1.)
>> Nájdite kurzor a zapamätajte si, aký je okolo neho text.
Potom stlačte C-l.
Nájdite kurzor znovu a všimnite si, že je okolo neho ten istý text.
Na pohyb po celých obrazovkách môžete tiež použiť klávesy PageUp a PageDown,
ak ich Váš terminál má, ale pre pohyb sú efektívnejšie klávesy C-v a M-v.
* ZÁKLADNÉ OVLÁDANIE KURZORU
----------------------------
Pohyb medzi obrazovkami je užitočný, ale ako sa premiestnime na konkrétne
miesto v texte na obrazovke?
Je to možné dosiahnuť niekoľkými spôsobmi. Najzákladnejším spôsobom je
použitie príkazov C-p, C-b, C-f a C-n. Každý z týchto príkazov presunie
kurzor na obrazovke o jeden riadok alebo stĺpec v danom smere.
Tu je tabuľka znázorňujúca smer posunu kurzoru vyvolaný týmito štyrmi
príkazmi:
Predchádzajúci riadok, C-p
:
:
Dozadu, C-b .... Momentálna pozícia kurzoru .... Dopredu, C-f
:
:
Nasledujúci riadok, C-n
>> Presuňte kurzor na prostredný riadok tohto diagramu pomocou
C-n alebo C-p. Potom stlačte C-l, aby ste na obrazovke videli celý
diagram vycentrovaný.
Pravdepodobne si tieto príkazy ľahko zapamätáte podľa začiatočných písmen
anglických názvov: P ako previous (predchádzajúci), N ako next (nasledujúci),
B ako backward (späť), F ako forward (vpred). Sú to základné príkazy pre
pohyb kurzoru a budete ich používať stále, takže by bolo veľmi vhodné, keby
ste sa ich teraz naučili.
>> Stlačte niekoľko krát C-n, aby ste kurzor presunuli na tento riadok.
>> Posuňte kurzor dovnútra riadku pomocou niekoľkých C-f a potom hore
stlačením C-p. Pozorujte, čo C-p robí, keď je kurzor uprostred riadku.
Každý riadok textu končí znakom nového riadku, ktorý ho oddeľuje od
nasledujúceho riadku. Znakom nového riadku by mal byť ukončený aj posledný
riadok súboru (napriek tomu, že to Emacs nevyžaduje).
>> Vyskúšajte C-b na začiatku riadku. Kurzor by sa mal presunúť na koniec
predchádzajúceho riadku, pretože ho tým presuniete cez znak nového riadku.
C-f funguje analogicky ako C-b, tj. na konci riadku dôjde k presunu na
ďalší riadok.
>> Stlačte niekoľkokrát C-b, takže uvidíte, kde sa nachádza kurzor.
Potom stláčajte C-f, aby ste sa vrátili na koniec riadku.
Potom stlačte ešte raz C-f, aby ste sa presunuli na nasledujúci
riadok.
Keď kurzorom prejdete cez horný alebo dolný okraj obrazovky, posunie sa
text za príslušným okrajom na obrazovku. Táto vlastnosť sa nazýva
"scrollovanie". Umožňuje premiestniť kurzor na ľubovoľné miesto v texte,
bez toho, aby kurzor opustil obrazovku.
>> Skúste posunúť kurzor pod dolný okraj obrazovky pomocou C-n a pozorujte,
čo sa stane.
Ak je posun po znakoch príliš pomalý, môžete sa pohybovať po
slovách. M-f (Meta-f) robí posun o slovo vpred a M-b robí posun
o slovo späť.
>> Stlačte niekoľko krát M-f a M-b.
Ak sa kurzor nachádza uprostred slova, M-f presunie kurzor na koniec
tohto slova. Ak sa nachádza kurzor v medzere medzi slovami, M-f presunie
kurzor na koniec nasledujúceho slova. M-b pracuje analogicky v opačnom
smere.
>> Stlačte niekoľko krát M-f a M-b spolu s C-f a C-b, aby ste videli
výsledky príkazov M-f a M-b vykonávaných z rôznych miest vnútri slov
a medzi nimi.
Všimnite si analógie medzi C-f a C-b na jednej strane a M-f a M-b na
strane druhej. Meta znaky sú veľmi často využívané pre operácie
vzťahujúce sa na entity definované jazykom (slová, vety, odstavce),
naopak Control znaky pracujú na základných prvkoch nezávislých na tom,
čo práve editujete (znaky, riadky, a pod.).
Táto analógia platí tiež pre riadky a vety: C-a a C-e vykonáva presun
na začiatok a koniec riadku, M-a a M-e vykonáva presun na začiatok a koniec
vety.
>> Skúste niekoľko krát C-a a potom niekoľko krát C-e.
Skúste niekoľko krát M-a a potom niekoľko krát M-e.
Všimnite si, že opakované C-a nerobí nič, ale opakované M-a vždy
vykoná presun na ďalšiu vetu. Princípu analógie to síce príliš
nezodpovedá, ale napriek tomu je toto chovanie možné považovať za prirodzené.
Pozícia kurzoru v texte sa tiež nazýva "bod" ("point"). Aby sme to
parafrázovali, kurzor je vidieť na obrazovke v mieste, kde je bod umiestnený
v texte.
Tu je prehľad jednoduchých operácií pre pohyb kurzoru vrátane príkazov pre
pohyb medzi slovami a vetami:
C-f Presun o znak vpred
C-b Presun o znak späť
M-f Presun o slovo vpred
M-b Presun o slovo späť
C-n Presun na nasledujúci riadok
C-p Presun na predchádzajúci riadok
C-a Presun na začiatok riadku
C-e Presun na koniec riadku
M-a Presun späť na začiatok vety
M-e Presun vpred na koniec vety
>> Vyskúšajte si teraz niekoľko krát všetky tieto príkazy kvôli cviku.
Sú to najpoužívanejšie príkazy.
Ďalšie dva dôležité príkazy pre pohyb kurzoru sú M-< (Meta menšie-ako),
ktorý vykoná presun na začiatok celého textu, a M-> (Meta väčší-ako),
ktorý vykoná presun na koniec celého textu.
Na väčšine terminálov je "<" nad čiarkou, takže pre vyvolanie tohto znaku
musíte použiť klávesu Shift. Na týchto termináloch je teda nutné použiť
klávesu Shift aj v prípade príkazu M-<; bez klávesy Shift by ste stlačili
M-čiarka.
>> Skúste teraz M-< pre presun na začiatok tútorialu.
Použite potom opakovane C-v, aby ste sa opäť vrátili sem.
>> Skúste teraz M-> pre presun na koniec tútorialu.
Použite potom opakovane M-v, aby ste sa opäť vrátili sem.
Kurzor môžete presúvať tiež pomocou kurzorových kláves (klávesy
so šípkami), ak ich Váš terminál má. My Vám však doporučujeme naučiť sa
C-b, C-f, C-n a C-p, a to z troch dôvodov. Za prvé, tieto klávesy fungujú
na všetkých typoch terminálov. Za druhé, akonáhle raz získate cvik
v používaní Emacsu, zistíte, že používánie týchto CTRL znakov je
rýchlejšie ako používanie kurzorových kláves (pretože nemusíte presúvať
ruku z písacej pozície). Za tretie, ak si zvyknete používať tieto CTRL-znak
príkazy, ľahko sa naučíte používať iné pokročilé príkazy pre pohyb
kurzoru.
Väčšina príkazov Emacsu akceptuje numerický argument; ten pre väčšinu
príkazov slúži ako opakovač. Počet opakovaní príkazu zadáte
prostredníctvom stlačenia C-u nasledovaného stlačením príslušných číslic pred
vyvolaním príkazu. Ak máte META (alebo EDIT či ALT) klávesu, existuje
alternatívna možnosť zadania numerického argumentu: pridržte klávesu META
a stlačte príslušné číslice. Doporučujeme naučiť sa C-u metódu,
pretože tá funguje na akomkoľvek terminále. Číselný argument sa tiež nazýva
"prefixový argument", pretože ho píšete ešte pred príkazom, na ktorý sa
vzťahuje.
Napríklad C-u 8 C-f vykoná presun o osem znakov vpred.
>> Skúste použiť C-n alebo C-p s numerickým argumentom, na presun kurzoru
k tomuto riadku s jediným príkazom.
Väčšina príkazov používa numerický argument ako opakovač, ale niektoré príkazy
ho používajú iným spôsobom. Zopár príkazov (ale žiaden z tých, ktoré ste sa
doteraz naučili) ho používa ako príznak -- prítomnosť číselného argumentu bez
ohľadu na jeho hodnotu spôsobí, že sa príkaz správa ináč.
Iným druhom výnimky sú C-v a M-v. Ak dostanú numerický argument, posunú
obrazovku hore alebo dole o zodpovedajúci počet riadkov namiesto obrazoviek.
Napríklad C-u 4 C-v posunie obrazovku o 4 riadky.
>> Skúste teraz stlačiť C-u 8 C-v.
To by malo posunúť obrazovku o 8 riadkov hore. Pokiaľ by ste ju chceli
posunúť naspäť dole, môžete dať argument príkazu M-v.
Ak používate X Windows, mali by ste mať na ľavej strane emacsového okna
vysokú obdĺžnikovú oblasť, nazvanú scrollbar. Môžete potom text
posúvať klikaním myšou na scrollbar.
>> Skúste stlačiť prostredné tlačítko na vrchole zvýraznenej oblasti
vo vnútri scrollbaru. To by malo text posunúť na pozíciu danú tým, ako
vysoko alebo nízko ste klikli.
>> Skúste pri stlačenom prostrednom tlačidle posúvať myšou hore a dole.
Uvidíte, ako sa text posúva hore a dole podľa toho, ako
hýbete myšou.
* KEĎ EMACS NEREAGUJE
---------------------
Ak Emacs prestane reagovať na Vaše príkazy, môžete prebiehajúcu
činnosť bezpečne zastaviť pomocou C-g. Pomocou C-g môžete zastaviť
príkaz, ktorého činnosť trvá príliš dlho.
C-g môžete použiť tiež pre odstránenie numerického argumentu príkazu,
ktorý nechcete dokončiť.
>> Stlačte C-u 100 pre vytvorenie numerického argumentu 100 a potom
stlačte C-g. Teraz stlačte C-f. Kurzor by sa mal posunúť iba
o jeden znak, pretože ste argument zrušili prostredníctvom
C-g.
Ak ste omylom stlačili <ESC>, môžete sa ho zbaviť pomocou C-g.
* DEAKTIVOVANÉ PRÍKAZY
----------------------
Niektoré príkazy Emacsu sú "deaktivované" ("disabled"), aby ich
začínajúci používatelia nemohli vyvolať náhodne.
Ak vyvoláte niektorý z deaktivovaných príkazov, Emacs zobrazí hlásenie
oznamujúce, ktorý príkaz to bol, s otázkou, či chcete tento príkaz
vykonať.
Ak naozaj chcete príkaz vyskúšať, stlačte medzerník ako odpoveď
na túto otázku. Zvyčajne, ak nechcete deaktivovaný príkaz
vykonať, odpovedzte na túto otázku pomocou "n".
>> Stlačte C-x C-l (čo je deaktivovaný príkaz),
potom na otázku odpovedzte n.
* OKNÁ
------
Emacs môže mať niekoľko okien (windows), pritom každé z nich zobrazuje svoj
vlastný text. Ako viac okien používať, objasníme neskôr. Teraz chceme
objasniť, ako sa zbaviť nadbytočných okien a vrátiť sa do základnej
jednookennej editácie. Je to jednoduché:
C-x 1 Jedno okno (tj. zrušenie všetkých ostatných okien)
Teda vloženie Control-x nasledované číslicou 1. C-x 1 rozšíri okno
obsahujúce kurzor cez celú obrazovku. Zruší to všetky ostatné okná.
>> Presuňte kurzor na tento riadok a stlačte C-u 0 C-l
>> Stlačte Control-h k Control-f.
Pozorujte, ako sa aktuálne okno zmenší a objaví sa nové okno
kvôli zobrazeniu dokumentácie pre príkaz Control-f.
>> Stlačte C-x 1 a pozorujte, ako okno s dokumentáciou zmizne.
Tento príkaz sa odlišuje od už naučených príkazov tým, že pozostáva z dvoch
znakov. Začína znakom CONTROL-x. Exostuje celá séria príkazov začínajúcich
na CONTROL-x; veľa z nich sa týka okien, súborov, bufferov a súvisiacich vecí.
Tieto príkazy pozostávajú z dvoch, troch alebo štyroch znakov.
* VKLADANIE A MAZANIE
---------------------
Ak chcete vložiť text, proste ho napíšte. Znaky, ktoré vidíte,
ako A, 7, *, atď., sú Emacsom chápané ako text a vkladané okamžite.
Pre vloženie znaku nového riadku stlačte <Return> (klávesu Enter).
Posledný znak, ktorý ste napísali, môžete zmazať stlačením <Delback>.
<Delback> je klávesa na klávesnici -- tá istá, ktorú normálne používate na
zmazanie naposledy napísaného znaku. Je to zvyčajne veľká klávesa pár riadkov
nad klávesou <Return>, a je väčšinou označovaná ako "Delete", "Del" alebo
"Backspace".
Ak je veľká klávesa na tom mieste označená ako "Backspace", potom je to ona,
ktorú budete používať ako <Delback>. Môže tam byť niekde inde ešte klávesa
označená ako "Delete", ale to nie je <Delback>.
Všeobecne, <Delback> maže znak bezprostredne pred momentálnou pozíciou kurzoru.
>> Vykonajte to teraz -- napíšte niekoľko znakov a potom ich zmažte
niekoľkými stlačeniami <Delback>. Nebojte sa zmien v tomto súbore;
originálny tútorial sa nezmení. Toto je Vaša osobná kópia.
Keď sa riadok textu zväčší natoľko, že presiahne jeden riadok obrazovky, je
zobrazený na viacerých riadkoch obrazovky. Riadok textu, ktorý pokračuje na
ďalšom riadku obrazovky, je indikovaný spätným lomítkom ("\") (alebo, ak
používate grafický systém, malá zakrivená šípka) na pravom okraji obrazovky.
>> Vkladajte text, pokiaľ nedosiahnete pravého okraju, a pokračujte vo
vkladaní. Objaví sa Vám pokračovací riadok.
>> Použite <Delback> pre zmazanie textu, pokiaľ se riadok textu opäť nevojde na
jeden riadok obrazovky. Pokračovací riadok zmizne.
Znak nového riadku môžete zmazať ako ktorýkoľvek iný znak. Zmazanie
znaku nového riadku medzi dvoma riadkami spôsobí ich spojenie do jediného
riadku. Ak je výsledný riadok príliš dlhý na to, aby sa vošiel na šírku
obrazovky, bude zobrazený pokračovacím riadkom.
>> Presuňte kurzor na začiatok riadku a stlačte <Delback>. To tento
riadok spojí s riadkom predchádzajúcim.
>> Stlačte <Return> pre znovuvloženie zmazaného znaku nového riadku.
Spomeňte si, že väčšina príkazov Emacsu môže dostať počet opakovaní;
vrátane textových znakov. Opakovanie textových znakov ich vloží
niekoľko krát.
>> Vyskúšajte si to -- stlačte C-u 8 * pre vloženie ********.
Teraz už poznáte najzákladnejšie spôsoby, ako niečo v Emacse napísať a ako
opravovať chyby. Môžete ale tiež mazať text po slovách alebo po riadkoch.
Tu je zhrnutie operácií pre mazanie textu:
<Delback> Zmazanie znaku bezprostredne pred kurzorom
C-d Zmazanie znaku nasledujúceho za kurzorom
M-<Delback> Zrušenie slova bezprostredne pred kurzorom
M-d Zrušenie slova nasledujúceho za kurzorom
C-k Zrušenie textu od pozície kurzoru do konca riadku
M-k Zrušenie textu do konca aktuálnej vety
Všimnite si, že <Delback> a C-d, resp. M-<Delback> a M-d, rozširujú paralelu
začatú C-f a M-f (pravda, <Delback> naozaj nie je control znak, ale tým sa
nebudeme trápiť). C-k a M-k sú ako C-e a M-e v zmysle vzťahu riadkov k vetám.
Ľubovoľnú časť buffera môžete zrušiť aj nasledujúcim spôsobom. Presuňte sa
na koniec tejto časti a stlačte C-@ alebo C-SPC (ľubovoľnú z týchto
kombinácií). (SPC znamená medzerník.) Presuňte sa na druhý koniec tejto
časti a stlačte C-w. Text medzi týmito pozíciami bude zrušený.
>> Presuňte kurzor na písmeno Ľ na začiatku predchádzajúceho odstavca.
>> Stlačte C-SPC. Emacs by mal zobraziť v spodnom riadku obrazovky správu
"Mark set".
>> Presuňte kurzor na písmeno c v slove "koniec" na druhom riadku
odstavca.
>> Stlačte C-w. Text, ktorý začína písmenom L a končí pred písmenom "c"
bude zrušený.
Uvedomte si, že rozdiel medzi "rušením" ("killing") a "mazaním"
("deleting") je ten, že "zrušené" veci môžu byť vhodené späť, zatiaľ čo
"zmazané" nie. Všeobecne príkazy, ktoré môžu zmazať väčšie množstvo
textu, ukladajú text, zatiaľ čo príkazy, ktoré mažú jediný znak alebo
iba prázdne riadky a medzery, mazaný text neukladajú.
>> Presuňte kurzor na začiatok neprázdneho riadku.
Potom stlačte C-k pre zrušenie textu na tomto riadku.
>> Stlačte C-k druhý krát. Uvidíte, že to zruší znak nového riadku, ktorý
je za týmto riadkom.
Všimnite si, že jedno C-k zruší obsah riadku a druhé C-k zruší riadok
samotný a posunie všetky ďalšie riadky hore. C-k spracováva numerický
argument špeciálne: zruší zodpovedajúci počet riadkov VRÁTANE ich
obsahu. To už nie je opakovanie. C-u 2 C-k zruší dva riadky a ich
obsah; dvojité stlačenie C-k by toto obvykle nespravilo.
Vracanie textov späť sa nazýva "vhadzovanie" ("yanking"). (Predstavte
si opätovné vhadzovanie, vracanie späť textu, ktorý bol odstránený.)
Zmazaný text môžete vhodiť buď na to isté miesto, odkiaľ bol zmazaný,
alebo na iné miesto v bufferi, alebo dokonca aj do iného súboru.
Text môžete vhodiť aj viac krát, keď vytvárate jeho ďalšie kópie.
Príkazom na vhadzovanie je C-y. Tento príkaz vloží posledný zmazaný
text na pozíciu, na ktorej sa nachádza kurzor.
>> Skúste to; stlačte C-y pre vhodenie textu späť.
Ak stlačíte C-k niekoľko krát po sebe. všetok zmazaný text je uložený
spolu tak, aby bolo možné vhodiť späť všetky riadky naraz.
>> Stlačte niekoľko krát C-k.
Teraz obnovte naposledy zrušený text:
>> Stlačte C-y. Potom posuňte kurzor o niekoľko riadkov nižšie a stlačte
C-y znovu. Teraz vidíte, ako je možné kopírovať text.
Čo keď máte nejaký text, ktorý by ste radi vhodili späť a potom zrušíte
niečo iného? C-y by vložilo posledný zrušený text. Ale predchádzajúci
text ni je stratený. Môžete ho získať späť použitím príkazu M-y. Potom,
čo spravíte C-y pre získanie posledného zrušeného textu, stlačenie M-y
vymení tento vhodený text za predchádzajúci zrušený text. Ďalšími a
ďalšími stlačeniami M-y dostávate predchádzajúce a predchádzajúce zrušené
texty. Keď dosiahnete text, ktorý hľadáte, nemusíte s ním pre jeho
uchovanie nič ďalšieho robiť. Jednoducho vhodený text ponechajte, kde
je, a pokračujte v editácii.
Ak opakujete M-y dostatočne dlho, dostanete se späť k východziemu
bodu (posledne zrušenému textu).
>> Zrušte riadok, presuňte kurzor niekam inam a zrušte iný riadok.
Potom vykonajte C-y pre vrátenie druhého zrušeného riadku.
Potom stlačte M-y a vhodený riadok bude nahradený prvým zrušeným riadkom.
Opakujte M-y a pozorujte, čo dostávate. Pokračujte v tom, pokiaľ sa
znova neobjaví druhý zrušený riadok a potom niekoľko ďalších.
Ak chcete, môžete skúsiť predať M-y kladné a záporné argumenty.
* UNDO
------
Ak vykonáte v texte zmenu a potom zistíte, že to bol omyl, môžete
zmenu vrátiť príkazom undo, C-x u.
C-x u obvykle vráti zmeny vykonané jedným príkazom; pokiaľ C-x u
zopakujete niekoľko krát po sebe, každé opakovanie vráti jeden ďalší
príkaz.
Sú ale dve výnimky: príkazy, ktoré nemenia text, sa nepočítajú (to
zahŕňa príkazy pre pohyb kurzoru a rolovanie) a znaky vkladajúce
samy seba sú obvykle spracovávané v skupinách až po 20. (To je kvôli
tomu, aby sa zredukoval počet C-x u nutných pre vrátenie vkladaného
textu.)
>> Zrušte tento riadok pomocou C-k, stlačte potom C-x u a riadok by sa mal
znova objaviť.
Alternatívny undo príkaz je C-_; pracuje rovnako ako C-x u, je však
menej pracné ho aplikovať niekoľko krát za sebou. Nevýhodou C-_ je, že
na niektorých klávesniciach nie je jasné, ako ho vyvolať. To je dôvod,
prečo ponúkame aj C-x u. Na niektorých termináloch môžete C-_ vyvolať
stlačením / pri stlačenom CTRL.
Numerický argument pre C-_ a C-x u funguje ako počet opakovaní.
Pomocou príkazu undo môžete vrátiť zrušený aj zmazaný text. Rozdiel medzi
mazaním a rušením textu ovplyvňuje možnosť vhodenia tohto textu pomocou
C-y, neovplyvňuje ale možnosti príkazu undo.
* SÚBORY
--------
Aby text, ktorý editujete, zostal trvale uchovaný, musíte ho uložiť do
súboru. Inak by bol po ukončení Emacsu stratený. Svoju editáciu
spojíte so súborom "vyhľadaním" ("finding") súboru. (Tiež sa to
nazýva "navštívenie" ("visiting") súboru.)
Vyhľadanie súboru znamená, že vidíte jeho obsah v Emacse. V mnohých
ohľadoch je to, ako by ste editovali priamo ten súbor. Napriek tomu zmeny,
ktoré prostredníctvom Emacsu robíte, sa nestanú trvalými, pokiaľ tieto
zmeny do súboru "neuložíte" ("save"). Tým sa zamedzí nechcenému ponechaniu
čiastočne zmeneného súboru v systéme. Dokonca aj keď súbor uložíte,
Emacs uchová pôvodný súbor pod zmeneným názvom pre prípad, že by ste
zistili, že vaše úpravy boli chybné.
Keď sa pozriete do dolnej časti obrazovky, uvidíte riadok, ktorý začína a
končí pomlčkami a na začiatku má "--:-- TUTORIAL.sk" alebo niečo podobného.
Táto časť obrazovky obvykle obsahuje meno súboru, ktorý je práve
navštívený. Akurát teraz máte navštívený súbor nazvaný "TUTORIAL.sk",
ktorý je Vašou osobnou čmáraciou kópiou tútorialu Emacsu. Keď v Emacse
vyhľadáte súbor, jeho meno sa objaví presne na tom mieste.
Ďalšou vecou súvisiacou s príkazom pre vyhľadanie súboru je to, že musíte
povedať, ktoré meno súboru chcete. Hovoríme, že príkaz "číta argument
z terminálu" (v tomto prípade je argumentom meno súboru). Potom, čo
vyvoláte príkaz
C-x C-f Vyhľadanie súboru
Emacs sa Vás opýta na meno súboru. Meno súboru, ktoré píšete, sa
objavuje v spodnom riadku obrazovky, ktorý sa v tejto situácii nazýva
minibuffer. Pre editáciu mena súboru môžete používať obvyklé editačné
príkazy Emacsu.
Zadávanie mena súboru (všeobecne akýkoľvek vstup z minibuffera) môžete
zrušiť príkazom C-g.
>> Stlačte C-x C-f a potom C-g. To minibuffer zruší a tiež to zruší
príkaz C-x C-f, ktorý minibuffer použil. Takže nevyhľadáte žiadny
súbor.
Po napísaní mena súboru stlačte <Return> na jeho ukončenie.
Príkaz C-x C-f potom začne pracovať a vyhľadá súbor, ktorý ste zvolili.
Po skončení príkazu C-x C-f minibuffer zmizne.
Po malej chvíli sa obsah súboru objaví na obrazovke a môžete ho
editovať. Keď chcete zmeny natrvalo uložiť, použite príkaz
C-x C-s Uloženie súboru
To skopíruje text z Emacsu do súboru. Keď to spravíte prvý krát, Emacs
premenuje pôvodný súbor na súbor s novým menom, aby nebol stratený.
Nové meno je vytvorené pridaním "~" na koniec pôvodného mena súboru.
Keď je ukladanie dokončené, Emacs zobrazí meno zapísaného súboru.
Mali by ste ukladať rozumne často, aby ste nestratili príliš veľa práce
v prípade pádu systému.
>> Stlačte C-x C-s pre uloženie Vašej kópie tútorialu.
Malo by to zobraziť "Wrote ...TUTORIAL.sk" v spodnom riadku obrazovky.
POZNÁMKA: Na niektorých systémoch spôsobí stlačenie C-x C-s zatuhnutie
obrazovky a nevidíte žiadny ďalší výstup z Emacsu. To znamená, že
"vlastnosť" operačného systému nazvaná "flow control" zachytáva C-s a
nepustí ho k Emacsu. Pre odtuhnutie obrazovky stlačte C-q. Potom
v sekcii "Spontaneous Entry to Incremental Search" v manuále Emacsu
vyhľadajte radu, ako sa vysporiadať s touto "vlastnosťou".
Existujúci súbor môžete vyhľadať, aby ste ho mohli prehliadať alebo
editovať. Môžete tiež vyhľadať súbor, ktorý ešte neexistuje. To je
spôsob, akým sa dá vytvoriť súbor v Emacse: vyhľadajte súbor, ktorý
bude na začiatku prázdny a potom začnite vkladať text určený pre tento
súbor. Keď požiadate o uloženie, Emacs skutočne vytvorí súbor
s textom, ktorý ste vložili. Od tej chvíle sa potom môžete cítiť, ako
keby ste editovali už existujúci súbor.
* BUFFERY
---------
Ak vyhľadáte pomocou C-x C-f druhý súbor, prvý súbor v Emacse
zostáva. Môžete sa doň späť prepnúť jeho opätovným vyhľadaním
pomocou C-x C-f. Týmto spôsobom môžete do Emacsu dostať pomerne veľa
súborov.
>> Vytvorte súbor pomenovaný "foo" stlačením C-x C-f foo <Return>.
Potom vložte nejaký text, zmeňte ho a uložte "foo" stlačením C-x C-s.
Nakoniec stlačte C-x C-f TUTORIAL.sk <Return>, čím sa vrátite späť do
tútorialu.
Emacs ukladá text každého súboru do objektu nazývaného "buffer".
Vyhľadanie súboru vytvorí v Emacse nový buffer. Ak chcete vidieť zoznam
bufferov, ktoré momentálne existujú vo Vašom procese Emacs, stlačte:
C-x C-b Zoznam bufferov
>> Skúste teraz C-x C-b.
Uvidíte, že každý buffer má v zozname meno a môže tam mať tiež meno súboru,
ktorého text obsahuje. AKÝKOĽVEK text, ktorý vidíte v emacsovom okne, je vždy
súčasťou nejakého bufferu.
>> Stlačte C-x 1, aby ste sa zbavili zoznamu bufferov.
Ak máte niekoľko bufferov, iba jeden z nich je "aktuálny". Je to ten buffer,
ktorý práve upravujete. Ak chcete upravovať iný buffer, musíte sa doňho
"prepnúť". Ak sa chcete prepnúť do bufferu so súborom, môžete ho znova otvoriť
príkazom C-x C-f. Ale existuje jednoduchší spôsob: použite príkaz C-x b. Pri
tomto príkaze musíte napísať meno bufferu.
>> Napíšte C-x b foo <Return> na vrátenie sa do bufferu "foo", ktorý uchováva
text súboru "foo". Potom napíšte C-x b TUTORIAL.sk <Return> na vrátenie sa
do tohto návodu.
Väčšinu času, meno bufferu je také isté ako meno súboru (bez názvu adresára).
Ale nie je to vždy pravda. Zoznam bufferov vytvorený s C-x C-b vždy ukáže mená
každého bufferu.
HOCAKÝ text, ktorý vidíte v okne Emacsu je vždy časť nejakého bufferu.
Niektoré buffery nezodpovedajú súborom. Napríklad, buffer pomenovaný
"*Buffer List*" nemá žiadny súbor. Je to buffer, ktorý obsahuje zoznam
bufferov, vytvorený pomocou C-x C-b. Buffer nazvaný "*Messages*" tiež
nezodpovedá súboru¨obsahuje správy, ktoré sa objavili na spodnom riadku počas
vášho sedenia s Emacsom.
>> Napíšte C-x b *Messages* <Return> a pozrite sa na buffer so správami. Potom
napíšte C-x b TUTORIAL.sk <Return> na vrátenie sa do tohto návodu.
Ak zmeníte text jedného súboru a potom vyhľadáte iný súbor,
nespôsobí to uloženie prvého súboru. Jeho zmeny zostávajú v Emacse
uchované v jemu zodpovedajúcom buffere. Vytvorenie a úprava druhého
súboru nemá žiadny vplyv na buffer prvého súboru. To je veľmi
užitočné, ale tiež to znamená, že potrebujete vhodný spôsob, ako uložiť
buffer prvého súboru. Nutnosť prepnúť sa späť pomocou C-x C-f, aby
ho bolo možné uložiť prostredníctvom C-x C-s, by bola nemiestne
obťažujúca. Takže máme
C-x s Uloženie niektorých bufferov
C-x s sa Vás spýta na každý buffer, ktorý obsahuje zmeny, ktoré ste
neuložili. Pre každý taký buffer sa Vás spýta, či ho má uložiť.
>> Vložte riadok textu a potom stlačte C-x s.
Emacs by sa Vás mal opýtať, či má byť uložený buffer nazvaný TUTORIAL.sk.
Odpovedzte na túto otázku áno (yes) stlačením "y".
* ROZŠIROVANIE SADY PRÍKAZOV
----------------------------
Existuje omnoho, omnoho viac príkazov Emacsu, ako tie, ktoré by vôbec mohli
byť rozmiestnené na všetky control a meta znaky. Emacs tento problém
obchádza prostredníctvom X (eXtend) príkazu. Ten vzniká dvoma spôsobmi:
C-x Znakový eXtend. Nasledovaný jedným znakom.
M-x Pomenovaný príkaz eXtend. Nasledovaný dlhým názvom.
To sú príkazy, ktoré sú všeobecne užitočné, ale menej často používané
ako tie, ktoré ste sa už naučili. Už ste videli dva z nich: súborové
príkazy C-x C-f pre vyhľadanie a C-x C-s pre uloženie. Iný príklad je
príkaz pre ukončenie Emacsu -- tj. príkaz C-x C-c. (Nemajte obavy
o stratu zmien, ktoré ste spravili; C-x C-c ponúkne uloženie každého
zmeneného súboru pred tým, než sa Emacs skončí.)
C-z je príkaz na *dočasné* opustenie Emacsu -- môžete sa po ňom do
spusteného Emacsu vrátiť.
Na systémoch, ktoré to umožňujú, C-z Emacs "pozastaví"; tzn. vráti Vás
do shellu, ale Emacs neskončí. V najbežnejších shelloch sa môžete do
Emacsu vrátiť príkazom `fg' alebo pomocou `%emacs'.
Na systémoch, ktoré pozastavovanie procesov nemajú implementované, C-z
vytvorí subshell bežiaci pod Emacsom, aby Vám dal šancu spustiť iné
programy a potom sa do Emacsu vrátiť; nevykoná teda pravé opustenie
Emacsu. V tom prípade je obvyklou cestou návratu zo subshellu do Emacsu
shellový príkaz `exit'.
Chvíľa pre použitie C-x C-c nastane vtedy, keď sa chystáte odhlásiť sa zo
systému. Správne je to tiež pri ukončovaní Emacsu vyvolaného poštovým
programom a rôznymi inými utilitami, pretože tie nemusia vedieť, ako si poradiť
s pozastavením Emacsu. Napriek tomu za normálnych okolností, pokiaľ sa
nechystáte odhlásiť, je lepšie Emacs pozastaviť pomocou C-z ako ho ukončiť.
Existuje mnoho C-x príkazov. Tu je zoznam tých, ktoré ste sa už naučili:
C-x C-f Vyhľadanie súboru
C-x C-s Uloženie súboru
C-x C-b Zoznam bufferov
C-x C-c Ukončenie Emacsu
C-x 1 Zrušenie všetkých okien okrem jedného
C-x u Undo
Pomenované eXtended príkazy sú príkazy, ktoré sú používané ešte menej, alebo
príkazy, ktoré sú používané iba v istých módoch. Príkladom je príkaz
replace-string, ktorý globálne nahradí jeden reťazec iným. Keď stlačíte M-x,
vypíše sa na spodnom riadku obrazovky prompt M-x a vy by ste mali zadať meno
príkazu; v tomto prípade "replace-string". Jednoducho napíšte "repl s<TAB>"
a Emacs názov doplní. (<TAB> je klávesa Tab, bežne sa nachádza nad klávesou
CapsLock alebo Shift na ľavom okraji klávesnice.) Skončite zadávanie mena
príkazu pomocou <Return>.
Príkaz replace-string vyžaduje dva argumenty -- reťazec, ktorý má byť
nahradený, a reťazec, ktorý ho má nahradiť. Každý argument musíte
ukončiť pomocou <Return>.
>> Presuňte kurzor na prázdny riadok dva riadky pod týmto.
Potom napíšte M-x repl s<Return>zmenil<Return>modifikoval<Return>.
Všimnite si, ako sa tento riadok zmenil: nahradili ste slovo
z-m-e-n-i-l slovom "modifikoval", kdekoľvek sa za aktuálnou pozíciou
kurzoru vyskytlo.
* AUTOMATICKÉ UKLADANIE
-----------------------
Ak ste spravili zmeny v súbore, ale nemáte ich ešte uložené,
môžu byť v prípade páde systému stratené. Aby vás Emacs pred tým ochránil,
periodicky zapisuje "auto save" súbor pre každý súbor, ktorý
editujete. Meno auto save súboru má na začiatku a na konci #;
napríklad ak sa Váš soubor nazýva "hello.c", jeho auto save
súbor sa nazýva "#hello.c#". Ak súbor uložíte normálnym spôsobom,
Emacs auto save súbor zmaže.
Ak nastane pád systému, môžete svoje úpravy obnoviť z auto-save
súboru, a to normálnym vyhľadaním súboru (toho, ktorý ste editovali,
nie auto save súboru) a následným spustením M-x recover-file<return>.
Na žiadosť o potvrdenie odpovedzte zadaním yes<return> pre pokračovanie a
obnovenie auto-save dát.
* ECHO OBLASŤ
-------------
Keď Emacs vidí, že píšete príkazy pomaly, ukazuje Vám ich v spodnej
časti obrazovky v oblasti nazývanej "echo oblasť". Echo oblasť obsahuje
dolný riadok obrazovky.
* STAVOVÝ RIADOK
----------------
Riadok bezprostredne nad echo oblasťou sa nazýva "stavový riadok"
("mode line").
Stavový riadok vraví niečo ako:
--:** TUTORIAL.sk (Fundamental)--L670--58%----------------
Tento riadok podáva užitočnú informáciu o stave Emacsu a texte, ktorý
editujete.
Už viete, čo znamená meno súboru -- je to súbor, ktorý ste vyhľadali.
-NN%-- označuje Vašu aktuálnu pozíciu v texte; vraví, že NN percent textu
je nad horným okrajom obrazovky. Ak je začiatok súboru na obrazovke, je
tu --Top-- a nie --00%--. Ak je koniec textu na obrazovke, je tu
--Bot--. Ak sa dívate na tak malý text, že sa celý vojde na obrazovku,
stavový riadok vraví --All--.
Písmeno L a číslice označujú pozíciu iným spôsobom, udávajú riadok, na ktorom
sa nachádza kurzor.
Hviezdičky blízko začiatku znamenajú, že ste text zmenili. Tesne po
vyhľadaní alebo uložení súboru v tejto časti stavového riadku nie sú žiadne
hviezdičky, iba pomlčky.
Časť stavového riadku v zátvorkách vraví, v akých editačných módoch sa
nachádzate. Implicitný mód je Fundamental, čo je ten, ktorý momentálne
používate. Je príkladom hlavného módu ("major mode").
Emacs má celý rad hlavných módov. Niektoré z nich sú určené pre
editovanie rôznych programovacích jazykov a/alebo textov ako napr. Lisp mód,
Text mód, atď. V ľubovoľnom okamihu je aktívny práve jeden hlavný mód a
jeho meno je možné nájsť v stavovom riadku na mieste, kde je teraz
"Fundamental".
Každý hlavný mód mení chovanie niektorých príkazov. Napríklad existujú
príkazy pre vytváranie komentárov v programe, a pretože každý programovací
jazyk má inú predstavu o tom, ako má komentár vyzerať,
musí každý hlavný mód vkladať komentáre inak. Každý hlavný mód je
vlastne meno extended príkazu, ktorým sa do tohoto módu môžete
prepnúť. Napríklad M-x fundamental-mode je príkaz pre prepnutie sa do
Fundamental módu.
Ak sa chystát meniť normálny text, ako napríklad tento súbor, pravdepodobne by
ste mali použiť Text mód.
> Napíšte M-x text-mode <Return>.
Nebojte sa, žiadny z príkazov, ktoré ste sa naučili, chovanie Emacsu nijako
významne nezmení. Môžete si ale všimnúť, že M-f a M-b teraz pracujú
s apostrofmi ako so súčasťou slova. Pred tým, vo Fundamental móde, M-f
a M-b pracovali s apostrofmi ako oddeľovačmi slov.
Hlavné módy obyčajne robia menšie zmeny, ako bola táto: príkazy väčšinou
robia "to isté", ale v každom hlavnom móde pracujú trochu inak.
Dokumentáciu k aktuálnemu hlavnému módu si môžete zobraziť stlačením C-h m.
>> Raz alebo viac krát použite C-u C-v, aby ste tento riadok dostali
na vrchol obrazovky.
>> Stlačte C-h m, aby ste videli, ako sa Text mód líši od Fundamental
módu.
>> Stlačte C-x 1 pre odstránenie dokumentácie z obrazovky.
Hlavné módy sa nazývajú hlavné preto, že tiež existujú vedľajšie módy
(minor modes). Vedľajšie módy nie sú alternatívou k hlavným módom, ale
ich malé modifikácie. Každý vedľajší mód môže byť zapnutý alebo vypnutý
sám o sebe nezávisle na všetkých ostatných vedľajších módoch a nezávisle na
hlavnom móde. Takže nemusíte používať žiadny vedľajší mód alebo môžete
používať jeden vedľajší mód alebo ľubovoľnú kombináciu niekoľkých
vedľajších módov.
Jedným z veľmi užitočných vedľajších módov, hlavne pre úpravy slovenských
textov, je Auto Fill mód. Keď je tento mód zapnutý, Emacs zalomí riadok
medzi dvoma slovami, kedykoľvek vkladáte text a riadok sa stane príliš
dlhým.
Auto Fill mód môžete zapnúť vykonaním M-x auto-fill-mode<Return>.
Ak je tento mód zapnutý, môžete ho vypnúť vykonaním M-x
auto-fill-mode<Return>. Ak je mód vypnutý, tento príkaz ho zapína,
a ak je mód zapnutý, tak ho tento príkaz vypína. Vravíme, že tento
príkaz prepína ("toggles") tento mód.
>> Napíšte teďa M-x auto-fill-mode<Return>. Potom vkladajte "asdf " stále
dookola tak dlho, pokiaľ neuvidíte, ako sa vkladaný riadok rozdelí na dva
riadky. Do textu musíte vkladať medzery preto, že Auto Fill mód
zalamuje riadky iba v medzerách.
Okraj je obvykle nastavený na 70 znakov, ale môžete to zmeniť príkazom
C-x f. Hodnotu okraju, ktorú si prajete, by ste mali predať ako
numerický argument.
>> Napíšte C-x f s argumentom 20. (C-u 2 0 C-x f).
Potom napíšte nejaký text a pozorujte, ako Emacs vypĺňa riadky po
20. znakoch. Potom nastavte okraj späť na 70 opätovným použitím
C-x f.
Ak spravíte zmeny uprostred odstavca, Auto Fill mód ho
nepreformátuje.
Pre preformátovanie odstavca stlačte M-q (Meta-q) s kurzorom vnútri
odstavca.
>> Presuňte kurzor do predchádzajúceho odstavcu a stlačte M-q.
* VYHĽADÁVANIE
--------------
Emacs vie v texte vyhľadávať reťazce (tj. skupiny spojených znakov alebo
slov) smerom vpred alebo vzad. Hľadanie reťazca je príkaz presúvajúci
kurzor; presunie kurzor na najbližšie miesto, kde sa tento reťazec nachádza.
Vyhľadávací príkaz Emacsu sa líši od vyhľadávacích príkazov väčšiny
editorov v tom zmysle, že je "inkrementálny". To znamená, že vyhľadávanie
sa robí už v okamžiku, keď zadávate hľadaný reťazec.
Príkaz pre hľadanie vpred je C-s a pre hľadanie vzad C-r.
POZOR! Ešte to neskúšajte.
Keď stlačíte C-s, uvidíte v echo oblasti prompt "I-search". To Vám
vraví, že Emacs sa nacháza v stave, ktorý sa nazýva inkrementálne hľadanie,
a čaká, kým mu zadáte, čo chcete hľadať. <RET> hľadanie ukončí.
>> Teraz začnite hľadanie stlačením C-s. POMALY, písmeno po písmene, píšte
slovo 'kurzor'. Po každom písmene si všimnite, čo sa deje s kurzorom.
Teraz ste vyhľadali "kurzor" prvý krát.
>> Stlačte C-s znova, aby ste našli ďalší výskyt slova "kurzor".
>> Teraz štyri krát stlačte <Delback> a pozerajte, ako sa kurzor
presúva.
>> Stlačte <RET> pre ukončenie hľadania.
Videli ste, čo sa stalo? Emacs sa v inkrementálnom hľadaní pokúša
prejsť na ďalší výskyt reťazca, ktorý ste dosiaľ napísali. Ak chcete
prejsť na ďalší výskyt 'kurzor', jednoducho stlačte C-s zas.
Ak už žiadny taký výskyt nie je, Emacs pípne a povie Vám, že
hľadanie momentálne "zlyháva", C-g hľadanie ukončí.
POZNÁMKA: Na niektorých systémoch stlačenie C-s spôsobí zatuhnutie
obrazovky a neuvidíte žiadny ďalší výstup z Emacsu. To znamená, že
"vlastnosť" operačného systému nazvaná "flow control" zachytáva C-s a
nepustí ho k Emacsu. Pre odtuhnutie obrazovky stlačte C-q. Potom
vyhľadajte v sekcii "Spontaneous Entry to Incremental Search" v manuále
Emacsu radu, ako obísť túto "vlastnosť".
Ak uprostred inkrementálneho hľadania stlačíte <Delback>, uvidíte,
že posledný znak v hľadanom reťazci zmizne a hľadanie sa vracia na posledné
miesto hľadania. Predpokladajme napríklad, že ste napísali "c", aby ste
našli prvý výskyt "k". Ak teraz stlačíte "u", kurzor sa presunie na
prvý výskyt "ku". Teraz stlačte <Delback>. To vymaže "u" z hľadaného
reťazca a kurzor sa presunie späť na prvý výskyt "k".
Ak uprostred hľadania stlačíte control alebo meta znak (s niekoľkými
výnimkami -- znaky, ktoré sú špeciálne v hľadaní, ako C-s a C-r),
hľadanie bude ukončené.
C-s začína hľadanie, ktoré hľadá akýkoľvek výskyt hľadaného reťazca ZA
aktuálnu pozíciu kurzoru. Ak chcete niečo hľadať v predchádzajúcom texte,
stlačte namiesto C-s C-r. Všetko, čo sme povedali o C-s, platí tiež o C-r
okrem toho, že smer hľadania je opačný.
* VIAC OKIEN
------------
Jednou z pekných vlastností Emacsu je to, že môže na obrazovke zobraziť
viac okien súčasne.
>> Presuňte kurzor na tento riadok a stlačte C-u 0 C-l (to je CONTROL-L, nie
CONTROL-1).
>> Ak stlačíte C-x 2, obrazovka sa rozdelí na dve okná.
Obidve okná zobrazujú tento tútorial. Kurzor zostáva na vrchu okna.
>> Stlačte C-M-v pre rolovanie spodného okna.
(Ak nemáte skutočnú klávesu Meta, stlačte ESC C-v.)
>> Stlačte C-x o ("o" ako "other") pre presun kurzoru do dolného okna.
>> Použite C-v a M-v v spodnom okne pre jeho rolovanie.
Pokračujte v čítaní týchto inštrukcií v hornom okne.
>> Znovu stlačte C-x o pre presun kurzoru späť do horného okna.
Kurzor v hornom okne je presne na mieste, kde bol pôvodne.
Môžete ďalej používať C-x o pre prepínanie medzi oknami. Každé okno má svoju
vlastnú pozíciu kurzoru, ale kurzor zobrazuje iba jedno okno.
Všetky obvyklé editačné príkazy platia pre okno, v ktorom sa nachádza
kurzor. Toto okno nazývame "aktívne okno" ("selected window").
Príkaz C-M-v je veľmi užitočný, ak v jednom okne editujete text a
druhé okno používate iba pre prehľad. Môžete nechávať kurzor stále
v okne, kde editujete, a postupovať po druhom okne pomocou C-M-v.
C-M-v je príkladom CONTROL-META znaku. Ak máte skutočnú META klávesu,
môžete vyvolať C-M-v pridržaním oboch kláves CTRL a META pri stlačení v.
Nezáleží na tom, či stlačíte ako prvú klávesu CTRL alebo META, pretože obe
tieto klávesy fungujú ako modifikátory kláves, ktoré stlačíte.
Ak nemáte skutočnú META klávesu, môžete namiesto nej použiť ESC, na
poradí záleží: musíte stlačiť ESC a potom CTRL-v; CTRL-ESC v by
nefungovalo. To preto, lebo ESC je samostatný znak, a nie modifikátor.
>> Stlačte C-x 1 (v hornom okne), aby ste sa zbavili dolného okna.
(Ak by ste C-x 1 stlačili v dolnom okne, odstránilo by to horné okno.
Chápte tento príkaz ako "ponechaj akurát jedno okno -- to, v ktorom
akurát som".)
Nemusíte v oboch oknách zobrazovať ten istý buffer. Ak použijete
C-x C-f pre vyhľadanie súboru v jednom z okien, druhé okno sa nezmení.
Môžete vyhľadávať súbory v oboch oknách nezávisle.
Tu je ďalší spôsob, ako využiť dve okná na zobrazenie dvoch rôznych vecí:
>> Stlačte C-x 4 C-f nasledované menom niektorého z Vašich súborov.
Dokončite to pomocou <Return>. Vidíte zadaný súbor v dolnom okne.
Presunul sa tam aj kurzor.
>> Stlačte C-x o pre presun späť do horného okna a C-x 1 pre zmazanie
dolného okna.
* REKURZÍVNE EDITAČNÉ ÚROVNE
----------------------------
Občas sa dostanete do niečoho, čo sa nazýva "rekurzívna editačná úroveň"
("recursive editing level"). To je indikované hranatými zátvorkami v
stavovom riadku obklopujúcemu zátvorky okolo mena hlavného módu.
Napríklad môžete vidieť [(Fundamental)] namiesto (Fundamental).
Aby ste sa dostali z rekurzívnej editačnej úrovne, stlačte ESC ESC ESC.
To je všeobecný "vyskakovací" príkaz. Môžete ho použiť tiež pre odstránenie
niektorých okien a vyskočenie z minibuffera.
>> Stlačte M-x, aby ste sa dostali do minibuffera; potom stlačte
ESC ESC ESC, aby ste sa z neho dostali von.
Z rekurzívnej editačnej úrovne nemôžete vyskočiť pomocou C-g. To preto, že
C-g je využívané pre rušenie príkazov a argumentov VO VNÚTRI rekurzívnej
editačnej vrstvy.
* ZÍSKANIE ĎALŠEJ NÁPOVEDY
--------------------------
V tomto tútoriale sme sa pokúsili Vám poskytnúť dostatok informácií,
aby ste mohli začať Emacs používať. V Emacse je toho toľko, že by bolo
nemožné to všetko objasniť v tomto návode. V každom prípade sa o Emacse
môžete naučiť viac, pretože má veľa užitočných vlastností. Emacs ponúka
príkazy pre čítanie dokumentácie svojich príkazov. Všetky tieto "help"
príkazy začínajú znakom Control-h, ktorý sa nazýva "help znak".
Pre použitie vlastností nápovedy stlačte znak C-h a potom znak hovoriaci,
aký druh nápovedy si žiadate. Ak ste NAOZAJ stratení, stlačte C-h ? a
Emacs Vám povie, aké druhy nápovedy Vám môže poskytnúť. Ak ste stlačili
C-h a potom ste sa rozhodli, že žiadnu nápovedu nechcete, jednoducho ju
zrušte stlačením C-g.
(Na niektorých počítačoch je význam znaku C-h zmenený. To by naozaj
nemalo byť všeobecným nastavením pre všetkých používateľov, takže máte právo
posťažovať sa systémovému administrátorovi. Do tej doby, ak C-h
nezobrazuje hlásenie o nápovede v dolnej časti obrazovky, skúste namiesto
toho používať klávesu F1 alebo M-x help RET.)
Najzákladnejší príkaz nápovedy je C-h c. Stlačte C-h, znak c a klávesový
príkaz; Emacs potom zobrazí veľmi stručný popis príkazu.
>> Stlačte C-h c C-p.
Hlásenie by malo vyzerať asi takto
C-p runs the command previous-line
To vám oznamuje "meno funkcie". Mená funkcií sú používané hlavne pre
konfiguráciu a rozširovanie Emacsu. Ale pretože mená funkcií sú volené
tak, aby naznačovali, čo zodpovedajúci príkaz robí, môžu slúžiť tiež
ako veľmi stručná dokumentácia -- dostatočná na to, aby Vám pripomenula
príkazy, ktoré ste sa už naučili.
Viacznakové príkazy ako C-x C-s a (ak nemáte META, EDIT ani ALT
klávesu) <ESC>v sú pre C-h c povolené tiež.
Na získanie viac informácií o príkaze použite namiesto C-h c C-h k.
>> Stlačte C-h k C-p.
To zobrazí dokumentáciu k funkcii a jej meno v emacsovom okne. Ak
výstup prečítate, stlačte C-x 1, aby ste sa textu nápovedy zbavili.
Nemusíte to robiť hneď. Môžete chvíľu editovať a nazerať do textu
nápovedy a až potom stlačiť C-x 1.
Tu sú ďalšie užitočné voľby C-h:
C-h f Popis funkcie. Zadáváte meno funkcie.
>> Skúste napísať C-h f previous-line<Return>.
To vypíše všetky informácie, ktoré Emacs má o funkcii implementujúcej
príkaz C-p.
Podobný príkaz C-h v zobrazí dokumentáciu premennej, ktorej hodnotu
môžete nastaviť pre ovplyvnenie chovania Emacsu. Meno premennej musíte
zadať, až keď sa naň Emacs spýta.
C-h a Príkazové apropos. Zadajte kľúčové slovo a Emacs vypíše
všetky príkazy, ktorých meno obsahuje toto kľúčové
slovo. Všetky tieto príkazy môžu byť vyvolané pomocou
Meta-x. Pre niektoré príkazy príkazové apropos vypíše
tiež jedno alebo dvojznakové sekvencie, ktoré vykonávajú
ten istý príkaz.
>> Napíšte C-h a file<Return>.
To zobrazí v druhom okne zoznam všetkých M-x príkazov obsahujúcich "file" vo
svojom názve. Znakové príkazy ako C-x C-f uvidíte vypísané vedľa
zodpovedajúcich mien príkazov ako find-file.
>> Stlačte C-M-v pre posun okna s nápovedou. Urobte to viac krát.
>> Stlačte C-x 1 pre zmazanie okna s nápovedou.
C-h i Čítanie on-line manuálov (tiež Info). Tento príkaz
Vás prepne do špeciálneho buffera s názvom `*info*',
v ktorom môžete čítať on-line manuály pre balíky
inštalované na vašom systéme. Ak stlačíte m emacs <Return>,
môžete si napríklad prečítať manuál k Emacsu. Ak ste
doteraz nikdy nepoužívali Info, stlačte ? a Emacs vám
predstaví hlavné možnosti módu pre Info. Ak toto
predstavenie absolvujete, mali by ste používať Info
manuál Emacsu ako svoju primárnu dokumentáciu.
* VIAC VLASTNOSTÍ
-----------------
Na to, aby ste sa naučili viac o Emacse, prečítajte si jeho manuál, buď ako
knihu alebo on-line vo formáte Info (použite Help menu alebo stlačte F10 h r).
Dve vlastnosti, ktoré sa vám môžu páčiť, je dopĺňanie, ktoré šetrí písanie a
dired, ktorý zjednodušuje prácu so súbormi.
Dopĺňanie je na vyvarovanie sa zbytočného písania. Napríklad, keď sa chcete
dostať do bufferu *Messages*, môžete napísať C-x b *M<Tab> a Emacs doplní
zvyšok mena bufferu, až potiaľ, pokiaľ ho dokáže zistiť z toho, čo ste už
napísali. Dopĺňanie je popísané v Info verzii manuálu Emacsu, v kapitole
nazvanej "Completion".
Dired vám dovoľuje zobraziť zoznam súborov v adresári (a voliteľne jeho
podadresároch), presúvať, upravovať, premenovávať, mazať a ináč manipulovať so
súbormi. Dired je popísané v Info verzii manuálu Emacsu, v kapitole nazvanej
"Dired".
Manuál tiež popisuje veľa iných vlastností Emacsu.
* ZÁVER
-------
Nezabudnite, Emacs ukončíte vykonaním príkazu C-x C-c. Pre dočasný
odskok do shellu, z ktorého sa do Emacsu môžete opäť vrátiť,
použite C-z.
Zámerom tohto tútorialu je byť zrozumiteľný všetkým novým používateľom, takže
ak narazíte na niečo nejasného, tak nezúfajte a nedávajte to za vinu sebe
-- sťažujte sa!
KOPÍROVANIE
-----------
Tento tútorial vychádza z dlhej rady emacsových tútorialov začatej
tútorialom napísaným Stuartom Cracraftom pre pôvodný Emacs.
Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom
a je šírená s povolením distribuovať kópie za istých podmienok:
Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Každému je zaručené právo vytvárať a distribuovať presné kópie tohto
dokumentu tak, ako ho dostal, na akomkoľvek médiu, s tým, že bude
zachovaná táto poznámka o autorstve a poznámka o povolení, a že
distribútor zaručuje príjemcovi právo na ďalšiu redistribúciu povolenú
touto poznámkou.
Je zaručené právo distribuovať modifikované verzie tohto dokumentu
alebo jeho častí pod hore uvedenými podmienkami za predpokladu, že
obsahuje jasné poznámky uvádzajúce, kto urobil posledné úpravy.
Podmienky pre kopírovanie Emacsu samotného sú zložitejšie, ale
v rovnakom duchu. Prečítajte si, prosím, súbor COPYING a potom dajte kópie
GNU Emacsu svojim priateľom. Pomáhajte potlačovať softwarovú obštrukciu
("vlastníctvo") používaním, písaním a zdieľaním free softwaru!
;;; Local Variables:
;;; coding: iso-latin-2
;;; End:
;;; arch-tag: 87861cfa-5cf6-4b87-9fab-86c93c5ca9f3
|