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
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
|
Въведението на Емакс. Условията за копиране са в края на текста.
Командите на Емакс най-често включват клавишите CONTROL (понякога
отбелязван с CTRL или CTL) и META (понякога отбелязван с EDIT или
ALT). Вместо да се изписват с пълно име всеки път, ние ще използваме
следните съкращения:
C-<знак> означава задържане на клавиша CONTROL, докато се
натиска знака <знак>. Така C-f ще означава: докато
се задържа натиснат клавиша CONTROL, се натиска f.
M-<знак> означава задържане натиснат на клавиша META (или EDIT,
или ALT), докато се натиска <знак>. Ако няма клавиш
META, EDIT или ALT, вместо него натиснете и отпуснете
клавиша ESC и след това въведете <знак>. Ние
записваме <ESC>, за да отбележим клавиша ESC.
Важна бележка: в края на Емакс сесията въведете двата знака C-x C-c.
Знаците ">>" отляво ви дават указание да изпълните команда. Например:
<<Blank lines inserted here by startup of help-with-tutorial>>
>> Сега въведете C-v (Покажи следващия екран), за да се придвижите към
следващия екран.
(Направете го сега, задръжте CONTROL, докато натискате v).
Отсега нататък вие ще правите това винаги, когато прочетете
екрана.
Забележете, че има припокриване на два реда, когато се придвижвате от
екран в екран; това осигурява някаква приемственост, така че да можете
по-лесно да продължите с четенето на текста.
Първото нещо, което трябва да знаете, е как да се придвижвате от едно
място на текста към друго. Вие вече знаете как да се придвижвате
екран напред, с C-v. За да се придвижите екран назад, въведете M-v
(задръжте клавиша META и натиснете v, или въведете <ESC>v, ако нямате
клавиш META, EDIT или ALT).
>> Опитайте се да въведете M-v и след това C-v няколко пъти.
* ОБОБЩЕНИЕ
-----------
Следващите команди са полезни при пълноекранно разглеждане:
C-v Придвижване напред с един екран
M-v Придвижване назад с един екран
C-l Изчистване на екрана и пречертаване на целия текст,
премествайки текста около курсора в средата на екрана.
(Това е CONTROL-L, не CONTROL-1.)
>> Намерете курсора и си запомнете какъв е текстът около него.
След това въведете C-l.
Намерете пак курсора и вижте, че същият текст е пак около курсора.
Може също да използвате клавишите PageUp и PageDown за придвижване по
екрани, ако вашият терминал ги притежава, но вие можете да редактирате
по-ефективно, ако използвате C-v и M-v.
* ОСНОВИ НА УПРАВЛЕНИЕТО НА КУРСОРА
-----------------------------------
Придвижването от екран на екран е полезно, но как да се придвижите до
определено място вътре в текста на екрана?
Има няколко начина да го направите. Може да използвате клавишите
стрелки, но е по-ефективно да държите ръцете си в стандартно положение
и да използвате командите C-p, C-b, C-f и C-n. Тези знаци са
еквивалентни на четирите клавиши стрелки, ето така:
Предишен ред (Previous), C-p
:
:
Назад, C-b .... Текуща позиция на курсора .... Напред, C-f
(Backward) : (Forward)
:
Следващ ред (Next), C-n
>> Придвижете курсора до реда в средата на тази диаграма, използвайки
C-n и C-p. След това натиснете C-l, за да видите цялата диаграма,
центрирана на екрана.
Ще намерите, че запомнянето на тези букви по думите на английски на
действията, които извършват, е лесно: P за Previous (предишен), N за
Next (следващ), B за Backward (назад) и F за Forward (напред). Вие ще
използвате тези основни команди за придвижване на курсора през цялото
време.
>> Въведете няколко C-n, за да доведете курсора до този ред.
>> Придвижете се в реда с няколко C-f и след това с няколко C-p.
Вижте какво прави C-p, когато курсорът е в средата на реда.
Всеки ред от текст завършва със знак за нов ред, който служи за
отделянето на реда от следващия ред. Последният ред във вашия файл
трябва да има знак за нов ред в края (но Емакс не изисква такъв,
когато прочита файла).
>> Опитайте C-b в началото на ред. Това трябва да ви придвижи в края
на предишния ред. Това е така, защото курсорът се придвижва към
знака за нов ред на предишния ред.
C-f може да придвижва през знак за нов ред точно както C-b.
>> Направете няколко C-b придвижвания, така че да добиете усещане къде
се намира курсорът. След това няколко C-f, за да се върнете в края
на реда. След това още няколко C-f, за да се придвижите до
следващия ред.
Когато се придвижвате след горния или долния край на екрана, текстът
отвъд края се измества към екрана. Това се нарича "скролиране". То
позволява на Емакс да придвижва курсора към зададеното място в текста,
без да го изкарва извън екрана.
>> Опитайте се да придвижите курсора след долния край на екрана с C-n
и вижте какво се случва.
Ако придвижването по знаци е твърде бавно, може да пробвате
придвижване по думи. M-f (META-f) придвижва курсора дума напред, а
M-b придвижва дума назад.
>> Въведете няколко M-f и M-b.
Когато сте в средата на дума, M-f придвижва в края на думата. Когато
сте в празно място между думи, M-f придвижва в края на следващата
дума. M-b работи по подобен начин в противоположната посока.
>> Въведете M-f и M-b няколко пъти, размесени с C-f и C-b, така че да
можете да наблюдавате действието на M-f и M-b в различни места
вътре и между думите.
Забележете приликата между C-f и C-b, от една страна, и M-f и M-b, от
друга. Много често Meta-знаците са използвани за действия върху
единици, дефинирани от езика (думи, изречения, абзаци), докато
Control-знаците действат върху основни единици, които са независими от
това, какво редактирате (знаци, редове и други).
Тази прилика се прилага върху редове и изречения: C-a и C-e придвижват
до началото или края на ред, а M-a и M-e придвижват до началото и края
на изречение.
>> Опитайте няколко C-a, а след това няколко C-e.
Опитайте няколко M-a, а след това няколко M-e.
Вижте как повтарянето на C-a не прави нищо, докато повтарянето на M-a
продължава придвижването с още едно изречение. Въпреки че тези
клавишни комбинации не са точно аналогични, всяка една от тях изглежда
естествена.
Положението на курсора в текста се нарича също "точка".
Перефразирано, курсорът показва на екрана къде е разположена точката в
текста.
Ето обобщение на простите действия, движещи курсора, включително
придвижващите по дума и изречение:
C-f Придвижва напред с един знак
C-b Придвижва назад с един знак
M-f Придвижва напред с една дума
M-b придвижва назад с една дума
C-n Придвижва до следващия ред
C-p Придвижва до предишния ред
C-a Придвижва до началото на ред
C-e Придвижва до края на ред
M-a Придвижва до началото на изречение
M-e Придвижва до края на изречение
>> Сега опитайте всички тези команди няколко пъти за практика. Тези
са най-често използваните команди.
Две други важни команди за движение на курсора са M-< (Meta по-малко),
която придвижва до началото на целия текст, и M-> (Meta по-голямо),
която премества до края на целия текст.
При повечето терминали знакът "<" е отбелязан над запетаята, така че
трябва да използвате клавиша Shift, за да го напишете. На тези
терминали трябва да използвате Shift, за да въведете и M-<; без клавиша
Shift бихте въвели M-запетая.
>> Опитайте M-< сега, за да се придвижите до началото на въведението.
След това използвайте C-v колкото е нужно пъти, за да се придвижите
до тук.
>> Опитайте M-> сега, за да се придвижите до края на въведението.
След това използвайте M-v колкото е нужно пъти, за да се придвижите
до тук.
Вие можете също да се придвижвате с клавишите-стрелки, ако вашият
терминал има такива. Ние препоръчваме да научите C-b, C-f, C-n и C-p
по три причини. Първо, те работят на всички видове терминали. Второ,
веднъж след като добиете практика в използването на Емакс, ще
откриете, че въвеждането на тези Control-знаци е по-бързо от
въвеждането на клавишите стрелки, защото не трябва да премествате
ръката си далеч от областта на клавишите с букви. Трето, веднъж след
като си оформите навик да използвате тези команди с Control знаци, вие
можете също така лесно да научите по-напредналите команди за движение
на курсора.
Повечето Емакс команди приемат числов аргумент; за повечето от тях той
служи като брояч на повторения. Начинът, по който давате числов
брояч, е с въвеждане на C-u, последвано от въвеждане на цифрите, и
всичко това преди въвеждане на самата команда. Ако имате клавиш META
(или EDIT или ALT), има друг, алтернативен начин да въведете числов
аргумент: въведете цифрите, докато задържате клавиша META. Ние
препоръчваме да научите начина с C-u, защото той работи на който и да
е терминал. Числовият аргумент се нарича също "префиксен аргумент",
защото го въвеждате преди командата, за която е предназначен.
Например, C-u 8 C-f придвижва осем знака напред.
>> Опитайте използването на C-n или C-p с числов аргумент, за да
придвижите курсора до ред, близък до този, само с една команда.
Повечето команди използват числовия аргумент като брояч на
повторенията, но някои го използват за други цели. Няколко команди
(но никоя от тези, които сте научили досега) го използват като флаг --
присъствието на числов аргумент, независимо от стойноста му, кара
командата да върши нещо различно.
C-v и M-v са друг вид изключение. Когато им е даден аргумент, те
скролират екрана нагоре или надолу със зададения брой редове, вместо с
екрани. Например, C-u 8 C-v скролира екрана с 8 реда.
>> Сега опитайте C-u 8 C-v.
Това би трябвало да скролира екрана с 8 реда. Ако искате да
скролирате отново надолу, може да дадете аргумент на M-v.
Ако използвате графичен интерфейс, като X11 или MS-Windows, би
трябвало да има тънка правоъгълна област, наречена плъзгач (scroll
bar), в лявата страна на прозореца на Емакс. Вие можете да скролирате
текста, щракайки с мишката в плъзгача.
>> Опитайте да натиснете средния бутон на върха на осветената област
вътре в плъзгача. Това би трябвало да скролира текста към
положение, определено от това колко високо или ниско сте щракнали.
>> Опитайте се да движите мишката нагоре и надолу, докато сте
задържали десния бутон натиснат. Ще видите, че текстът се скролира
нагоре и надолу, като движите мишката.
* КОГАТО ЕМАКС Е БЛОКИРАЛ
-------------------------
Ако Емакс спре да отговаря на вашите команди, вие можете да го спрете
безопасно, като въведете C-g. Може да използвате C-g, за да спрете
команда, която се изпълнява твърде дълго.
Също можете да използвате C-g, за да отмените числов аргумент или
началото на команда, която не искате да завършите.
>> Въведете C-u 100, за да направите числов аргумент 100, и въведете
C-g. Сега въведете C-f. Трябва да се придвижите с точно един
знак, защото вие прекратихте аргументът с C-g.
Ако сте въвели <ESC> по погрешка, можете да се измъкнете с C-g.
* ЗАБРАНЕНИ КОМАНДИ
-------------------
Някои команди на Емакс са "забранени", така че начинаещите потребители
да не могат да ги употребят по погрешка.
Ако въведете някоя от забранените команди, Емакс извежда съобщение,
казвайки каква е била командата и питайки ви дали искате да продължите
напред и да изпълните командата.
Ако наистина искате да изпробвате командата, въведете клавиша интервал
в отговор на въпроса. Обикновено ако не искате да изпълните
забранената команда, отговаряте на въпроса с "n".
>> Въведете C-x C-l (която е забранена команда), и след това въведете
"n" в отговор на въпроса.
* ПРОЗОРЦИ
----------
Емакс може да управлява няколко прозореца, всеки извеждайки свой
собствен текст. Ние ще обясним по-късно как да използвате няколко
прозореца. Точно сега ние искаме да обясним как да се отървете от
допълнителни прозорци и да се върнете към основното редактиране с един
прозорец. Просто е:
C-x 1 Един прозорец (т.е. премахни всички други прозорци).
Това е CONTROL-x, последван от цифрата 1. C-x 1 разширява прозореца,
съдържащ курсора, за да може да запълни целия екран. Тя премахва
всички други прозорци.
>> Придвижете курсора до този ред и въведете C-u 0 C-l.
>> Въведете C-h k C-f.
Вижте как този прозорец се свива, докато друг се появява, за да
изведе документацията на командата C-f.
>> Въведете C-x 1 и вижте как прозорецът с документацията изчезва.
Тази команда не е като другите команди, които сте научили, в това
отношение, че се състои от два знака. Започва със знака C-x. Има
цяла редица от команди, които започват с C-x; много от тях имат нещо
общо с прозорци, файлове, буфери и свързаните с тях неща. Тези
команди са от два, три или четири знака.
* ВМЪКВАНЕ И ИЗТРИВАНЕ
----------------------
Ако искате да вмъкнете текст, просто го въведете. Знаците, които
могат да се виждат, като А, 7, * и т.н., се възприемат от Емакс като
текст и се вмъкват веднага. Въведете <Return> (клавишът за връщане в
началото на реда), за да вмъкнете знак за нов ред.
Може да изтриете последния знак, който сте въвели, с въвеждане на
<Delback>. <Delback> е клавиш от клавиатурата -- същият, който
обикновено използвате извън Емакс, за да изтриете последния въведен от
вас знак. Обикновено е голям клавиш, на няколко реда разстояние от
клавиша <Return>, и обикновено е отбелязан с "Delete", "Del" или
"Backspace".
Ако големият клавиш там е с етикет "Backspace", тогава той е този,
който ще използвате за <Delback>. Може да има още един клавиш с
етикет "Delete" някъде другаде, но той не е <Delback>.
По-общо казано, <Delback> изтрива знака точно преди текущото място на
курсора.
>> Направете това сега -- напишете няколко знака, после ги изтрийте с
въвеждане на <Delback> няколко пъти. Не се безпокойте, че този
файл ще бъде променен; вие няма да промените първоначалното
въведение. Това е ваше лично копие.
Когато ред от текста стане твърде дълъг, за да се събере в ред от
екрана, редът от текста се "продължава" на следващия ред. Обратна
наклонена черта ("\") (или, ако използвате графичен интерфейс, малка
изкривена стрелка) в дясната граница отбелязва ред, който е бил
продължен.
>> Въведете текст, докато стигнете дясната граница, и продължете с
вмъкването. Ще видите продължението на реда да се показва.
>> Използвайте няколко <Delback>, за да изтриете текста, докато редът
се вмести в един екранен ред. Продължението на реда изчезва.
Може да изтриете знака за нов ред точно както всеки друг знак.
Изтриването на знака за нов ред между два реда ги слива в един ред.
Ако полученият комбиниран ред е твърде дълъг, за да се вмести в
ширината на екрана, той ще бъде показан като продължен ред.
>> Придвижете курсора в началото на ред и въведете <Delback>. Това ще
слее този ред с предишния.
>> Въведете <Return>, за да вмъкнете наново знака за нов ред, който
изтрихте.
Запомнете, че на повечето команди на Емакс може да бъде зададен брояч
на повторенията; това включва вмъкването на текстови знаци.
Повтарянето на текстов знак го вмъква няколко пъти.
>> Опитайте това сега -- въведете C-u 8 *, за да вмъкнете ********.
Сега вие сте научили най-основните начини за въвеждане на нещо в Емакс
и поправяне на грешки. Можете също така да изтривате думи или редове.
Ето обобщение на изтриващите действия:
<Delback> изтриване на знака точно преди курсора
C-d изтриване на знака точно след курсора
M-<Delback> изтриване на думата непосредствено преди курсора
M-d изтриване на думата след курсора
C-k изтриване от мястото на курсора до края на реда
M-k изтриване до края на текущото изречение
Забележете, че <Delback> и C-d, сравнени с M-<Delback> и M-d,
разширяват подобието, започнато от C-f и M-f (добре, <Delback> не е
наистина контролиращ знак, но нека не се безпокоим за това). C-k и
M-k са подобни на C-e и M-e в смисъл, че едните са за редове, а
другите -- за изречения.
Можете също да премахнете всяка част от буфера с един универсален
начин. Придвижете се до единия край на частта и въведете C-@ или
C-интервал (което и да е от двете). Придвижете се до другия край на
частта и въведете C-w. Това ще изреже целия текст между тези два
края.
>> Придвижете курсора до знака "М" в началото на предишния абзац.
>> Въведете C-интервал. Емакс трябва да изведе съобщение "Mark set" в
долния край на екрана.
>> Придвижете курсора до буквата "р" в "край" на втория ред от абзаца.
>> Въведете C-w. Това ще изреже текста, започващ от "М" и завършващ
точно преди "р".
Разликата между "изрязване" (kill, cut) и "изтриване" (delete) е, че
"изрязаният" текст може да бъде вмъкнат наново, докато "изтритите"
неща не могат да се вмъкнат наново. Поставянето наново на изрязан
текст се нарича "вмъкване" (yank, paste). Общо казано, командите,
които отстраняват много текст, го изрязват (така че той да може да
бъде вмъкнат), докато командите, които отстраняват само един знак или
изтриват само празни редове и знаци, извършват изтриване (така че не
можете да вмъкнете наново този текст).
>> Придвижете курсора до началото на ред, който не е празен. Тогава
въведете C-k, за да изрежете текста на този ред.
>> Въведете C-k втори път. Ще видите, че това изрязва знака за нов
ред, който следва реда.
Забележете, че единично C-k изрязва съдържанието на реда, а следващото
C-k изрязва целия ред и прави другите редове да се придвижат нагоре.
C-k обработва числовите аргументи по специален начин: премахват се
толкова на брой редове И тяхното съдържание. Това не е просто
повторение. C-u 2 C-k изрязва два реда и техните знаци за нов ред;
въвеждането на C-k два пъти не прави това.
Връщането обратно на текст се нарича "вмъкване". (Мислете за него
като за изваждане обратно, или дръпване обратно, на текст, който е бил
изрязан.) Можете да вмъквате изрязания текст или на същото място,
откъдето е бил премахнат, или на друго място в буфера, даже и в
различен файл. Можете да вмъквате един и същ текст няколко пъти; това
прави няколко копия от него.
Командата за вмъкване е C-y. Тя вмъква наново последния изрязан текст
в текущото място на курсора.
>> Опитайте го: въведете C-y, за да изведете текста обратно.
Ако направите няколко C-k в ред, всичко от изрязания текст се запазва
заедно, така че едно C-y ще извади всички редове наведнъж.
>> Направете това сега, въведете C-k няколко пъти.
Сега, за да изкарате изрязания текст:
>> Въведете C-y. След това придвижете курсора надолу няколко реда и
въведете C-y отново. Сега виждате как да копирате някакъв текст.
Какво да правите, ако имате някакъв текст, който искате да вмъкнете
обратно, и след това изрежете нещо друго? C-y ще извади последното
изрязване. Но предишният текст не е загубен. Можете да го върнете
обратно, използвайки командата M-y. След като изпълните C-y, за да
вземете последното изрязване, въвеждането на M-y заменя този изваден
текст с предишното изрязване. Въвеждането на M-y отново и отново
връща по-ранни и по-ранни изрязвания. Когато стигнете текста, който
търсите, не е нужно да правите нищо повече, за да го задържите.
Просто продължете с редактирането, оставяйки извадения текст, където
си е.
Ако въведете M-y достатъчен брой пъти, ще се върнете в началното
положение (последното изрязване).
>> Изрежете ред, придвижете се някъде, изрежете друг ред.
Изпълнете C-y, за да върнете обратно втория изрязан ред.
Изпълнете M-y и този върнат текст ще бъде заменен с първия
изрязан ред.
Изпълнете няколко M-y и вижте какво се получава. Изпълнявайте това,
докато вторият изрязан ред се върне, и след това още няколко пъти.
Ако искате, може да пробвате да дадете на M-y положителни и
отрицателни числови аргументи.
* ОТМЯНА
--------
Ако направите промяна в текста и след това решите, че това е било
грешка, вие можете да отмените промяната с командата за отменяне, C-x
u.
Обикновено C-x u отменя промените, направени от една команда; ако
повтаряте C-x u няколко пъти последователно, всяко повторение отменя
още една команда.
Но има две изключения: командите, които не променят текста, не се
броят (това включва придвижването на курсора и скролиращите команди),
и самовмъкващите се знаци обикновено се обработват на групи, всяка до
20 знака. (Това намалява броя на C-x u, които трябва да въведете, за
да отмените въведен текст.)
>> Изрежете този ред с C-k, след това въведете C-x u и той трябва да
се появи отново.
C-_ е алтернативна отменяща команда; тя работи точно като C-x u, но е
по-лесна за въвеждане няколко пъти последователно. Недостатъкът на
C_- е, че на някои клавиатури не е очевидно как трябва да се въведе.
Затова осигуряваме и C-x u. На някои терминали може да въведете C-_ с
въвеждане на /, докато задържате CONTROL.
Числов аргумент към C-_ или C-x u действа като брояч на повторенията.
Може да отменята изтриване на текст точно както отменяте изрязване на
текст. Различието между изрязването на нещо и изтриването му
въздейства дали ще може да го извадите с C-y; за отменянето няма
разлика между двата вида.
* ФАЙЛОВЕ
---------
За да направите текста, който редактирате, постоянен, трябва да го
сложите във файл. В противен случай той ще изчезне, когато Емакс
приключи. За да сложите вашия текст във файл, трябва да "намерите"
файла преди да въвеждате текст. (Това също се нарича "посещаване" на
файла.)
Намиране на файл означава, че виждате съдържанието му в Емакс. В
много случаи това е като да редактирате самия файл. Обаче промените,
които правите, използвайки Емакс, не остават постоянни, докато не
"запишете" файла. Това е така, за да се предотврати оставянето на
полупроменен файл в системата, когато не искате това. Дори когато
записвате, Емакс оставя началния файл под променено име, в случай, че
по-късно решите, че вашите промени са били грешка.
Ако погледнете в дъното на екрана, ще видите ред, който започва и
завършва с тирета и започва с "-b:-- TUTORIAL.bg" или нещо подобно.
Тази част от екрана показва името на файла, който сте посетили. Точно
сега вие сте посетили файл, наречен "TUTORIAL.bg", който е вашето
лично копие-чернова на Емакс въведението. Когато намерите файл в
Емакс, името на този файл ще се появи на същото място.
Особеност на командата за намиране на файл е, че трябва да кажете
името на файла, който искате. Ние го наричаме "четене на аргумент от
терминала" (в този случай аргументът е името на файла). След като
въведете командата
C-x C-f Намиране на файл
Емакс ви подканя да въведете името на файла. Името на файла, което
напишете, се появява в дъното на екрана. Редът в дъното на екрана се
нарича минибуфер, когато се използва за този вид вход. Можете да
използвате обикновените команди за редактиране на Емакс, за да
редактирате името на файла.
Когато въвеждате името на файла (или какъвто и да е вход в
минибуфера), можете да прекратите командата с C-g.
>> Въведете C-x C-f и след това C-g. Това прекратява минибуфера, а
също и командата C-x C-f, която се е изпълнявала в минибуфера.
Така че не намирате файл.
Когато приключите с въвеждането на името на файла, въведете <Return>,
за да покажете това. Тогава C-x C-f тръгва да работи и намира файла,
който сте избрали. Минибуферът изчезва, когато командата C-x C-f
свърши.
След малко съдържанието на файла се появява на екрана и вие можете да
редактирате съдържанието му. Когато пожелаете да запазите вашите
промени за постоянно, въведете командата
C-x C-s Запазване на файла
Това копира текста от Емакс във файла. Първия път, когато това се
направи, Емакс преименува началния файл с ново име, така че той да не
се изгуби. Новото име се построява с добавяне на "~" в края на името
на началния файл.
Когато запазването е свършило, Емакс извежда името на файла, който е
бил записан. Трябва да записвате достатъчно често, така че да не
изгубите много работа, ако системата се срине по някаква причина.
>> Въведете C-x C-s, запазвайки вашето копие от въведението.
Това трябва да изведе "Wrote ...TUTORIAL.bg" в дъното на екрана.
Може да намерите съществуващ файл, да го разгледате и да го
редактирате. Можете също да намерите файл, който не съществува. Това
е начинът за създаване на нови файлове в Емакс: намирате файла, който
ще бъде в началото празен, и тогава започвате вмъкването на текста за
файла. Когато говорите за "записване" на файл, Емакс всъщност ще
създаде файла с текста, който сте въвели. Оттам нататък може да
считате, че редактирате вече съществуващ файл.
* БУФЕРИ
--------
Ако намерите втори файл с C-x C-f, първият файл остава в Емакс.
Можете да превключите обратно към него, като го намерите пак с C-x
C-f. По този начин може да получите доста на брой файлове в Емакс.
>> Създайте файл с име "foo", въвеждайки C-x C-f foo <Return>.
Вмъкнете малко текст, редактирайте го и запазете "foo" с въвеждане
на C-x C-s.
Накрая въведете C-x C-f TUTORIAL.bg <Return>, за да се върнете
обратно във въведението.
Емакс запазва текста на всеки файл в обект, наричан "буфер".
Намирането на файл прави нов буфер в Емакс. За да видите списък на
буферите, които в момента съществуват във вашия Емакс, въведете
C-x C-b Показване на буферите
>> Опитайте C-x C-b сега.
Вижте как всеки буфер има име, а понякога и име на файл за файла,
чието съдържание държи. ВСЕКИ текст, който виждате в Емакс прозорец,
е винаги част от някакъв буфер.
>> Въведете C-x 1, за да махнете списъка с буферите.
Когато имате няколко буфера, само един от тях е "текущ" в даден момент
от време. Това е буферът, който редактирате. Ако искате да
редактирате друг буфер, се нуждаете от "превключване" към него. Ако
искате да се превключите към буфер, който съответства на файл, можете
да го направите, като просто посетите файла отново с C-x C-f. Но има
и по-лесен начин: използването на командата C-x b. В тази команда
трябва да въведете името на буфера.
>> Въведете C-x b foo <Return>, за да се върнете към буфера "foo",
който държи текста на файла "foo". Тогава въведете C-x b TUTORIAL
<Return>, за да се върнете в това въведение.
В повечето случаи името на буфера е същото като името на файла (без
частта в коя директория се намира). Обаче това не винаги е вярно.
Списъкът с буферите, който правите с C-x C-b, винаги ви показва името
на всеки буфер.
ВСЕКИ текст, който виждате в Емакс прозорец, е винаги част от някакъв
буфер. Някои буфери не съответстват на файлове. Например буферът,
именуван "*Buffer List*", не съответства на файл. Това е буферът,
който съдържа списъка с буферите, които сте направили с C-x C-b.
Буферът, именуван "*Messages*", също не съответства на файл; той
съдържа съобщенията, които се появяват в дъното на екрана по време на
Емакс сесията.
>> Въведете C-x b *Messages* <Return>, за да видите буфера със
съобщенията. След това въведете C-x b TUTORIAL <Return>, за да
се върнете към това въведение.
Ако направите промени в текста на един файл и тогава намерите друг
файл, това няма да запише първия файл. Неговите промени остават вътре
в Емакс, в буфера на файла. Създаването или редактирането на буфера
на втория файл няма ефект върху буфера на първия файл. Това е много
полезно, но също означава, че се нуждаете от удобен начин да запазите
буфера на първия файл. Ще е неудобно да превключите обратно с C-x
C-f, за да го запазите с C-x C-s. Така че имаме
C-x s Запазва някои буфери
C-x s пита за всеки буфер, който съдържа промени, които не сте
запазили. Въпросът за всеки такъв буфер е дали да бъде запазен.
>> Вмъкнете ред в текста, след това въведете C-x s.
Трябва да бъдете попитан дали да запазите буфера, именуван "TUTORIAL".
Отговорете с "да" на въпроса, като въведете "y".
* РАЗШИРЯВАНЕ НА НАБОРА КОМАНДИ
-------------------------------
Има много, много повече команди на Емакс, отколкото могат да се сложат
на всички контролни и мета знаци. Емакс заобикаля това с X (eXtended)
командата. Това става по два начина:
C-x Знаково разширяване. Последвано от един знак.
M-x Разширяване с именувана команда. Последвано от дълго
име.
Тези команди са общо взето полезни, но по-малко, отколкото командите,
които досега сте научили. Вече видяхте две от тях: командите върху
файлове C-x C-f за намиране (Find) и C-x C-s за запазване (Save).
Друг пример е командата за край на Емакс сесията -- това е командата
C-x C-c. (Не се безпокойте, че може да изгубите всички промени, които
сте направили; C-x C-c предлага да запази всеки променен файл, преди
да премахне Емакс.)
C-z е командата за излизане от Емакс *временно* -- така че да можете
да се върнете към същата Емакс сесия по-късно.
На системи, които позволяват това, C-z "изоставя" (suspend) Емакс,
т.е. връща към обвивката, но не разрушава Емакс. В повечето обвивки
можете да продължите Емакс сесията с командата "fg" или с "%emacs".
На системи, които не позволяват изоставяне, C-z създава нова
подобвивка, която върви под Емакс, за да ви даде шанс да стартирате
други програми и да се върнете към Емакс след това; това не е истинско
"излизане" от Емакс. В този случай командата на обвивката "exit" е
обикновеният начин да се върнете обратно към Емакс от подобвивката.
Моментът да използвате C-x C-c е, когато искате да излезете от
системата. Това е и правилната команда за излизане, когато Емакс е
извикан от пощенска програма или други странични програми, тъй като те
може и да не знаят как да се справят с изоставянето на Емакс. При
обикновени обстоятелства, обаче, ако не сте тръгнали да излизате от
системата, по-добре е да изоставите Емакс с C-z, вместо да излизате от
Емакс.
Има много команди C-x. Ето списък на тези, които сте научили:
C-x C-f Намиране на файл.
C-x C-s Запазване на файл.
C-x C-b Списък на буферите.
C-x C-c Излизане от Емакс.
C-x 1 Изтриване на всички прозорци освен един.
C-x u Отмяна.
Именуваните разширени команди са команди, които се използват даже още
по-рядко, или команди, които се използват само в определени режими.
Пример е командата replace-string, която заменя глобално един низ с
друг. Когато въведете M-x, Емакс ви подсказва в дъното на екрана с
M-x и вие трябва да въведете името на командата, в този случай
"replace-string". Просто въведете "repl s<TAB>" и Емакс ще завърши
името. (<TAB> е клавишът Tab, обикновено намиращ се над клавиша
CapsLock или клавиша Shift близо до левия край на клавиатурата.)
Завършете името на командата с <Return>.
Командата replace-string изисква два аргумента -- низът, който ще бъде
заменян, и низът, който ще го замени. Трябва да завършите въвеждането
на всеки аргумент с <Return>.
>> Придвижете курсора до празния ред, два реда надолу под този.
Тогава въведете M-x repl s<Return>променя<Return>изменя<Return>
Забележете как този ред се променя: вие заменихте думата
п-р-о-м-е-н-я с "изменя", където и да се намира след началното
място на курсора.
ЗАБЕЛЕЖКА: Превключването към въвеждане на кирилски буква става с C-\.
* АВТОМАТИЧНО ЗАПАЗВАНЕ
-----------------------
Когато сте направили промени във файл, но още не сте го запазили, те
могат да бъдат загубени, ако компютърът внезапно се изключи. За да ви
предпази от такива ситуации, Емакс периодично запазва "автоматично
запазван" файл за всеки файл, който редактирате. Името на автоматично
запазвания файл има # в началото и в края; например, ако вашият файл е
с име "hello.c", името на неговия автоматично запазван файл ще бъде
"#hello.c#". Когато запазвате файл по обикновения начин, Емакс
изтрива неговия автоматично записван файл.
Ако компютърът зависне, може да възстановите вашата автоматично
запазвана редакция, като намерите файла както обикновено (файлът,
който сте редактирали, не автоматично запазвания) и след това въведете
M-x recover file<Return>. Когато командата изиска потвърждение,
въведете yes<Return>, за да продължите и да възстановите автоматично
запазваните данни.
* ЕХО ОБЛАСТТА
--------------
Ако Емакс види, че въвеждате многознакови команди бавно, ще ви ги
покаже в дъното на екрана, в област, наричана "ехо област". Ехо
областта обхваща последния ред от екрана.
* РЕД НА РЕЖИМА
----------------
Редът точно над ехо областта се нарича "ред на режима" (mode line).
Той показва нещо като:
-b:** TUTORIAL.bg (Fundamental)--L670--58%----------------
Този ред дава полезна информация за състоянието на Емакс и текста,
който редактирате.
Вече знаете какво означава името на файла -- това е файлът, който сте
намерили. -NN%-- показва вашата текуща позиция в текста; това
означава, че NN процента от текста е над върха на екрана. Ако
началото на файла е на екрана, ще се показва --Top-- (връх) вместо
--00%--. Ако края на файла е на екрана, ще се показва --Bot-- (дъно).
Ако гледате текст, който е толкова малък, че се показва изцяло на
екрана, редът на режима ще изведе --All--.
Знакът L и цифрите показват мястото по друг начин: това е номерът на
текущия ред на точката.
Звездите близо до началото означават, че сте направили промени в
текста. Веднага след като посетите или запазите файл, тази част от
реда на режима вече не показва звезди, а само тирета.
Частта от реда на режима вътре в скобите е, за да ви покаже в какъв
режим на редактиране се намирате. Подразбиращият се режим е
Fundamental (Основен), който използвате в момента. Това е пример за
"главен режим" (major mode).
Емакс има много главни режими. Някои от тях са предвидени за
редактиране на различни езици и/или видове текст, като например режим
Лисп, режим Текст и други. Във всеки един момент от време точно един
главен режим е активен и неговото име може винаги да бъде намерено в
реда на режима, точно както "Fundamental" сега.
Всеки главен режим прави някои команди да се държат по различен начин.
Например, има команди за редактиране на коментари в програми, и тъй
като всеки програмен език има различна идея за това как трябва да
изглеждат коментарите, всеки главен режим трябва да вмъква коментари
по различен начин. Всеки главен режим е име на разширена команда, с
която превключвате към този режим. Например, M-x fundamental-mode е
команда за превключване към режим Fundamental.
Когато редактирате текст на естествен език, като този файл,
най-вероятно трябва да използвате режим Текст (text).
>> Въведете M-x text mode<Return>.
Не се безпокойте, никоя от Емакс командите, които сте научили, няма да
се промени по някакъв съществен начин. Но може да забележите, че M-f
и M-b сега възприемат апострофите (') като част от думите. Преди
това, в основния режим (Fundamental), M-f и M-b се възприемаха като
разделители на думи.
Главните режими обикновено правят малки промени като тази: повечето
команди вършат "същата работа" във всеки главен режим, но работят по
малко по-различен начин.
За да видите документацията на вашия текущ главен режим, въведете C-h
m.
>> Употребете C-u C-v веднъж или повече пъти, за да докарате този ред
близо до върха на екрана.
>> Въведете C-h m, за да видите как текстовият режим се различава от
основния режим.
>> Въведете C-x 1, за да премахнете документацията от екрана.
Главните режими се наричат главни, защото има и малки (второстепенни)
режими (minor modes). Малките режими не са алтернативи на главните, а
просто малки промени към тях. Всеки малък режим може да бъде включен
или изключен сам за себе си, независимо от всички други малки режими
и независимо от вашия главен режим. Така че може да не използвате
малки режими, да използвате един малък режим, или да използвате
някаква комбинация от няколко малки режима.
Един главен режим, който е много полезен, особено за редактиране на
текст на естествен език, е режимът на автоматично запълване (Auto Fill
mode). Когато този режим е включен, Емакс автоматично разделя реда
при мястото между думите, когато вмъквате текст и направите ред, който
е твърде дълъг.
Може да включите режима на автоматично запълване, като изпълните M-x
auto fill mode<Return>. Когато режимът е включен, може да го
изключите с M-x auto fill mode<Return>. Ако режимът е изключен, тази
команда го включва, а ако е включен, го изключва. Казваме, че
командата "обръща режима".
>> Въведете M-x auto fill mode<Return> сега. След това вмъкнете ред
от "asdf " отново и отново, докато не видите, че текстът се разделя
на два реда. Трябва да слагате интервали между думите, защото
автоматичното запълване разделя редовете само при интервалите.
Границата обикновено е зададена на 70 знака, но можете да я промените
с командата C-x f. Трябва да задавате тази граница като числов
аргумент на командата.
>> Въведете C-x f с аргумент 20. (C-u 2 0 C-x f).
Сега въведете някакъв текст и вижте как Емакс запълва редовете с по
не повече от 20 знака. После върнете обратно границата на 70,
използвайки C-x f отново.
Ако направите промени в средата на абзац, режимът на автоматично
запълване няма да го запълни наново за вас.
За да запълните наново абзац, въвеждайте M-q (META-q), докато курсорът
е вътре в абзаца.
>> Придвижете курсора вътре в предишния абзац и въведете M-q.
* ТЪРСЕНЕ
---------
Емакс може да извършва търсения на низове (това са последователности
от знаци или думи) или напред в текста, или назад в него. Търсенето
на низ е придвижваща курсора команда; тя премества курсора на
следващото място, където се среща низът.
Командата за търсене на Емакс се различава от командата за търсене на
повечето редактори по това, че тя е "постъпкова". Това означава, че
търсенето се извършва още докато въвеждате текста, който търсите.
Командата за започване на търсене е C-s за търсене напред, и C-r за
търсене назад. НО ПОЧАКАЙТЕ! Не ги пробвайте сега.
Когато въведете C-s, ще забележите, че низът "I-search" се появява
като подсказка в ехо областта. Това ви казва, че Емакс е в това,
което се нарича постъпково търсене, чакайки ви да въвеждате текста,
който искате да търсите. <Return> приключва търсенето.
>> Сега въведете C-s, за да започнете търсенето. БАВНО, буква по
буква, въведете думата "търсене", изчаквайки след въвеждането на
всеки знак, за да може да забележите какво става с курсора. Сега
извършихте търсене на "търсене" веднъж.
>> Въведете отново C-s, за да търсите друго съвпадение с "търсене".
>> Сега въведете <Delback> три пъти и вижте как се придвижва курсора.
>> Въведете <Return>, за да прекратите търсенето.
Забелязахте ли какво стана? Емакс, когато търси постъпково, се опитва
да намери следващото съвпадение на низа, който се въвежда. За да
отидете на следващото съвпадение на "търсне", просто отново въведете
C-s. Ако няма такова съвпадение, Емакс бибипва и ви казва, че
търсенето е "провалено" (failing). C-g също прекратява търсенето.
ЗАБЕЛЕЖКА: На някои системи въвеждането на C-s ще замрази екрана и вие
няма да може да видите повече реакция от Емакс. Това показва, че
"способност" на операционната система, наречена "управление на потока"
(flow control), е прихванала C-s и не го пропуска до Емакс. За да
размразите екрана, въведете C-q. Тогава вижте секцията "Спонтанно
включване на постъпковото търсене" (Spontaneous Entry to Incremental
Search) в ръководството на Емакс за съвет как да се справите с тази
"способност".
Ако сте в средата на постъпково търсене и въведете <Delback>, ще
забележите, че последният знак в търсения низ се изтрива и търсенето
се връща към последното място на търсене. Например, предположете, че
сте въвели "т", за да намерите първото съвпадение с "т". Сега, ако
въведете "ъ", курсорът ще се придвижи към първото съвпадение на "тъ".
Сега въведете <Delback>. Това изтрива знака "ъ" от низа за търсене и
курсорът се премества назад, до първото съвпадение с "т".
Ако сте в средата на търсене и въведете контролен или мета знак (с
няколко изключения -- знаците, които са специални по време на търсене,
като C-s и C-r), търсенето се прекратява.
C-s започва търсене, което гледа за съвпадение с низа, даден за
търсене СЛЕД текущото място на курсора. Ако искате да търсите нещо
по-ранно от текста, вместо това въведете C-r. Всичко, което казахме
за C-s, важи и за C-r, освен че посоката на търсене е обърната.
* МНОЖЕСТВО ПРОЗОРЦИ
----------------
Една от привлекателните способности на Емакс е тази, че може да
гледате повече от един прозорец на екрана в даден момент от време.
>> Придвижете курсора до този ред и въведете C-u 0 C-l (това е
CONTROL-L, не CONTROL-1).
>> Сега въведете C-x 2, което ще раздели екрана на два отделни
прозореца. Двата прозореца показват това въведение. Курсорът
остава на по-горния прозорец.
>> Въведете C-M-v, за да скролирате долния прозорец. (Ако нямате
истински клавиш META, въведете ESC C-v.)
>> Въведете C-x o ("o" от "other" -- "друг"), за да придвижите
курсора в долния прозорец.
>> Използвайте C-v и M-v в долния прозорец, за да го скролирате.
Продължете четенето на тези насоки от въведението в горния
прозорец.
>> Въведете C-x o отново, за да придвижите курсора отново в горния
прозорец. Курсорът в горния прозорец е точно там, където е бил
преди.
Може да продължите да използвате C-x o, за да превключвате между
прозорците. Всеки прозорец има собствено място на курсора, но само
един прозорец показва курсор. Всички обикновени команди за
редактиране се прилагат в прозореца, в който е курсорът. Ние наричаме
този прозорец "текущ прозорец".
Командата C-M-v е много полезна, когато редактирате текст в един
прозорец и използвате другия прозорец просто за справка. Може да
държите курсора винаги в прозореца, където редактирате, и да
напредвате последователно в другия прозорец чрез C-M-v.
C-M-v е пример за знак CONTROL-META. Ако имате истински клавиш META,
може да въвеждате C-M-v, задържайки едновременно CONTROL и META,
докато въвеждате v. Няма значение дали CONTROL или META "е натиснат
първи", защото и двата клавиша действат, модифицирайки знака, който
сте въвели.
Ако нямате истински клавиш META и използвате ESC вместо това, редът
има значение: трябва да въвеждате ESC, последван от CONTROL-v, защото
CONTROL-ESC v няма да работи. Това е така, защото ESC е собствен
знак, а не модификатор.
>> Въведете C-x 1 (в горния прозорец), за да махнете долния прозорец.
(Ако сте въвели C-x 1 в долния прозорец, това ще махне горния.
Мислете за тази команда като "Задръж точно един прозорец -- този, в
който съм сега".)
Няма нужда да извеждате един и същи буфер в двата прозореца. Ако
използвате C-x C-f, за да намерите файл в единия прозорец, другият
прозорец не се променя. Може да намирате файл във всеки прозорец,
независимо от това какво има в другите прозорци.
Ето още един начин да използвате два прозореца, за да покажете две
различни неща:
>> Въведете C-x 4 C-f, последвано от името на един от вашите файлове.
Завършете с <Return>. Вижте как този файл се появява в долния
прозорец. Курсорът също отива там.
>> Въведете C-x o, за да се върнете в горния прозорец, и C-x 1, за да
изтриете долния.
* ВЛОЖЕНИ НИВА НА РЕДАКТИРАНЕ
-----------------------------
Понякога ще се озовете в това, което се нарича "вложено ниво на
редактиране" (recursive editing level). Това се отбелязва от
квадратни скоби в реда на режима, които ограждат скобите около името
на главния режим. Например, може да видите [(Fundamental)] вместо
(Fundamental).
За да се махнете от вложеното ниво на редактиране, въведете ESC ESC
ESC. Това е обща команда за "излизане". Може и да я използвате за
махане (скриване) на допълнителни прозорци, както и за да се махнете
от минибуфера.
>> Въведете M-x, за да влезете в минибуфер; тогава въведете ESC ESC
ESC, за да излезете.
Не можете да използвате C-g, за да излезете от вложено ниво на
редактиране. Това е така, защото C-g се използва за прекратяване на
команди и аргументи ВЪТРЕ във вложено ниво на редактиране.
* ПОЛУЧАВАНЕ НА ДОПЪЛНИТЕЛНА ПОМОЩ
----------------------------------
В това въведение се опитахме да осигурим достатъчно информация, за да
започнете да използвате Емакс. Има толкова много още в Емакс, че не е
възможно то да бъде обяснено всичкото тук. Обаче може да поискате да
научите повече за Емакс, тъй като той притежава още много полезни
способности. Емакс има команди за четене на документацията на Емакс
командите. Тези "помощни" команди всички започват със знака
CONTROL-h, който се нарича "знакът за помощ".
За да използвате възможностите на тази помощ, въведете знака C-h и
след това знака, казващ какъв вид помощ искате. Ако НАИСТИНА сте се
изгубили, въведете C-h ? и Емакс ще ви каже с какво може да ви
помогне. Ако сте въвели C-h и решите, че не се нуждаете от помощ,
просто въведете C-g, за да я прекратите.
(Някои компютри променят значението на знака C-h. Те наистина не
трябва да правят това като сляпа мярка за всички потребители, така че
имате основание да се оплачете на системния администратор. Между
другото, ако C-h не извежда съобщение за помощ в дъното на екрана,
опитайте клавиша F1 или M-x help <Return> вместо това.)
Най-основното помощно средство е C-h c. Въведете C-h, знака c и
команден знак или последователност от знаци, образуващи команда;
тогава Емакс ще изведе много кратко описание на командата.
>> Type C-h c C-p.
Изведеното описание трябва да бъде нещо като
C-p runs the command previous-line
(C-p изпълнява командата предишен-ред)
Това ви казва "името на функцията". Имената на функциите се използват
най-вече за настройване и разширяване на Емакс. Но тъй като имената
на функциите са избрани така, че да показват какво прави командата, те
могат да служат и за много кратка документация -- достатъчна, за да ви
припомни команди, които вече сте учили.
Многознакови команди, като C-x C-s и (ако нямате клавиш META или EDIT
или ALT) <ESC>v, също са позволени след C-h c.
За да получите още информация за команда, използвайте C-h k вместо C-h
c.
>> Въведете C-h k C-p.
Това извежда документацията на функцията, както и нейното име, в
отделен Емакс прозорец. Когато я прочетете, въведете C-x 1, за да
махнете помощния текст. Не е нужно да правите това точно сега. Може
да редактирате, докато се обръщате към помощния текст за справка, и
след това да въведете C-x 1.
Ето още няколко полезни C-h възможности:
C-h f Описва функция. Трябва да въведете името на
функцията.
>> Опитайте с въвеждане на C-h f previous-line<Return>.
Това извежда цялата информация, която Емакс знае за функцията,
която осъществява командата C-p.
Подобна команда, C-h v, извежда документацията на променливите, които
може да променяте, за да настройвате поведението на Емакс. Трябва да
въведете името на променливата, когато Емакс ви подскаже това.
C-h a Команда Апропос. Въведете ключова дума и Емакс ще
покаже списък на всички команди, чието име съдържа
тази ключова дума. Тези команди могат всички да бъдат
извикани чрез META-x. За някои команди командата
Апропос ще изведе допълнително еднознакова или
двузнакова последователност от клавиши, която пуска
същата команда.
>> Въведете C-h a file<Return>.
Това извежда в друг прозорец списък на всички M-x команди, които
съдържат "file" в тяхното име. Ще видите знакови команди като C-x
C-f, изброени измежду съответните имена на команди, като find-file.
>> Въведете C-M-v, за да скролирате помощния прозорец. Направете го
няколко пъти.
>> Въведете C-x 1, за да изтриете помощния прозорец.
C-h i Четене на ръководства (Info). Тази команда ви праща в
специален буфер, наричан "*info*", където може да
четете ръководствата на инсталираните във вашата
система пакети. Въведете m emacs <Return>, за да
четете ръководството на Емакс. Ако никога преди това
не сте използвали Info, въведете ? и Емакс ще включи
въведение във възможностите на режима Инфо. Веднъж
след като сте преминали това въведение, трябва да се
консултирате с Емакс Инфо ръководството като ваша
основна документация.
* ОЩЕ ВЪЗМОЖНОСТИ
-----------------
Може да научите повече за Емакс с четене на неговото ръководство, или
като книга, или в Инфо (използвайте менюто помощ (Help) или въведете
F10 h r). Две възможности, които може да желаете в началото, са
довършване (completion), което спестява писане, и dired, който
опростява боравенето с файлове.
Довършването е начин да избягвате ненужно писане. Например, ако
искате да превключите към буфера *Messages*, може да въведете C-x b
*M<Tab> и Емакс ще запълни останалата част от името на буфера,
доколкото може да се определи от това, което сте въвели. Довършването
е описано в Инфо-ръководството на Емакс в страницата "Довършване"
("Completion").
Dired ви позволява да гледате списъка от файлове в директория (и като
възможност: нейните поддиректории), да се придвижвате в този списък,
да посещавате, преименувате, изтривате и изобщо действате върху
файловете. Dired е описан в Инфо-ръководството на Емакс в страницата
"Dired".
Ръководството на Емакс описва още много други възможности на
редактора.
* ЗАКЛЮЧЕНИЕ
------------
Запомнете: за да излезете безвъзвратно от Емакс, използвайте C-x C-c.
За да излезете временно в обвивка, така че да се върнете в Емакс
по-късно, използвайте C-z.
Това въведение е предвидено да бъде разбираемо за всички нови
потребители, така че ако намирате нещо неясно, не се самообвинявайте
-- оплачете се!
* КОПИРАНЕ
----------
Това въведение произлиза от дълга поредица въведения в Емакс,
започвайки от едно, написано от Стюърт Кракрафт за началния Емакс.
Тази версия на въведението, както и ГНУ Емакс, е защитена с авторски
права и идва с разрешение да разпространявате копия при следните
условия:
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and permission notice are preserved,
and that the distributor grants the recipient permission
for further redistribution as permitted by this notice.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last altered them.
Условията за копиране на самия Емакс са по-сложни, но в същия дух.
Моля, прочетете файла COPYING и тогава давайте копия на ГНУ Емакс на
свои приятели. Помогнете да спрем затвореността на програмите
("притежанието"), като използваме, пишем и споделяме свободен софтуер!
Преводът на български е извършен от Огнян Кулев
<ogi@fmi.uni-sofia.bg>.
;;; Local Variables:
;;; coding: windows-1251
;;; End:
;;; arch-tag: 70cf6ad7-c2e4-41fe-8199-74aa52683b0e
|