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
1189
1190
1191
|
Въведение в Емакс. Условията за копиране са в края на текста.
Командите на Емакс най-често включват клавишите 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. (Два знака.)
За да прекъснете частично въведена команда, използвайте C-g.
Знаците „>>“ отляво ви дават указание да изпълните команда. Например:
<<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.
Намерете пак курсора и вижте, че същият текст е пак около курсора,
но сега вече в средата на екрана.
Ако пак натиснете C-l, тази част от текста ще се придвижи в горния
край на екрана. Натиснете отново 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 и вижте как прозорецът с документацията изчезва.
Тази команда не е като другите команди, които сте научили, в това
отношение, че се състои от два знака. Започва със знака CONTROL-x.
Има цяла редица от команди, които започват с CONTROL-x; много от тях
имат нещо общо с прозорци, файлове, буфери и свързаните с тях неща.
Тези команди са от два, три или четири знака.
* ВМЪКВАНЕ И ИЗТРИВАНЕ
----------------------
Ако искате да вмъкнете текст, просто го въведете. Знаците, които
могат да се виждат, като А, 7, * и т.н., се вмъкват веднага. За да
вмъкнете знак за нов ред, натиснете <Return> (това е клавишът, който
понякога е отбелязван като „Enter“).
За да изтриете знака непосредствено преди текущото положение на
курсора, въведете <DEL>. Обикновено това е клавишът, отбелязван като
„Backspace“ – нормалният за това действие и извън Емакс.
Може да има още един клавиш с етикет <Delete> някъде другаде, но той
не е <DEL>, за който става въпрос тук.
>> Направете това сега – напишете няколко знака, после ги изтрийте с
въвеждане на <DEL> няколко пъти. Не се безпокойте, че този файл ще
бъде променен; вие няма да промените първоначалното въведение.
Това е ваше лично копие.
Когато ред от текста стане твърде дълъг, за да се събере в ред от
екрана, редът от текста се „продължава“ на следващия ред. Ако
използвате графичен дисплей, в малкото пространство отстрани на текста
(левият и десният „ръб“) ще се появят малки извити стрелки за
отбелязване къде редът продължава. Ако използвате текстов терминал,
продължените редове се отбелязват с обратна наклонена черта („\“) в
най-дясната колона на прозореца.
>> Въведете текст, докато стигнете дясната граница, и продължете с
вмъкването. Ще видите продължението на реда да се показва.
>> Използвайте няколко <DEL>, за да изтриете текста, докато редът се
вмести в един екранен ред. Продължението на реда изчезва.
Може да изтриете знака за нов ред точно както всеки друг знак.
Изтриването на знака за нов ред между два реда ги слива в един ред.
Ако полученият комбиниран ред е твърде дълъг, за да се вмести в
ширината на екрана, той ще бъде показан като продължен ред.
>> Придвижете курсора в началото на ред и въведете <DEL>. Това ще
слее този ред с предишния.
>> Въведете <Return>, за да вмъкнете наново знака за нов ред, който
изтрихте.
Запомнете, че на повечето команди на Емакс може да бъде зададен брояч
на повторенията; това включва вмъкването на текстови знаци.
Повтарянето на текстов знак го вмъква няколко пъти.
>> Опитайте това сега – въведете C-u 8 *, за да вмъкнете ********.
Сега вие сте научили най-основните начини за въвеждане на нещо в Емакс
и поправяне на грешки. Можете също така да изтривате думи или редове.
Ето обобщение на изтриващите действия:
<DEL> Изтриване на знака точно преди курсора
C-d Изтриване на знака точно след курсора
M-<DEL> Изтриване на думата непосредствено преди курсора
M-d Изтриване на думата след курсора
C-k Изтриване от мястото на курсора до края на реда
M-k Изтриване до края на текущото изречение
Забележете, че <DEL> и C-d, сравнени с M-<DEL> и M-d, разширяват
подобието, започнато от C-f и M-f (добре, <DEL> не е наистина
контролиращ знак, но нека не се безпокоим за това). C-k и M-k са
подобни на C-e и M-e в смисъл, че едните са за редове, а другите – за
изречения.
Можете също да премахнете всяка част от текста по един универсален
начин. Придвижете се до единия край и въведете C-<SPC> (<SPC> е
интервалът).. Придвижете се до другия край на текста, който искате да
изтриете. Докато го правите, Емакс осветява текстът между курсора и
мястото, където се въвели C-<SPC>. Накрая въведете C-w. Това ще
изреже целия текст между тези два края.
>> Придвижете курсора до знака „М“ в началото на предишния абзац.
>> Въведете C-<SPC>. Емакс трябва да изведе съобщение „Mark set“ в
долния край на екрана.
>> Придвижете курсора до буквата „р“ в „край“ на втория ред от абзаца.
>> Въведете C-w. Това ще изреже текста, започващ от „М“ и завършващ
точно преди „р“.
Разликата между „изрязване“ (kill, cut) и „изтриване“ (delete) е, че
„изрязаният“ текст може да бъде вмъкнат наново, докато „изтритите“
неща не могат да се вмъкнат наново (обаче можете да отмените
изтриването – вж. по-долу). Поставянето наново на изрязан текст се
нарича „вмъкване“ (yank, paste). Общо казано, командите, които
отстраняват много текст, го изрязват (така че той да може да бъде
вмъкнат), докато командите, които отстраняват само един знак или
изтриват само празни редове и знаци, извършват изтриване (така че не
можете да вмъкнете наново този текст). <DEL> и C-d изтриват в
обикновения случай, когато няма префиксен аргумент. При наличие на
аргумент те отрязват.
>> Придвижете курсора до началото на ред, който не е празен. Тогава
въведете C-k, за да изрежете текста на този ред.
>> Въведете C-k втори път. Ще видите, че това изрязва знака за нов
ред, който следва реда.
Забележете, че единично C-k изрязва съдържанието на реда, а следващото
C-k изрязва целия ред и прави другите редове да се придвижат нагоре.
C-k обработва числовите аргументи по специален начин: премахват се
толкова на брой редове И тяхното съдържание. Това не е просто
повторение. C-u 2 C-k изрязва два реда и техните знаци за нов ред;
въвеждането два пъти на C-k не прави това.
Връщането обратно на текст се нарича „вмъкване“. (Мислете за него
като за изваждане обратно, или дръпване обратно, на текст, който е бил
изрязан.) Можете да вмъквате изрязания текст или на същото място,
откъдето е бил премахнат, или на друго място в буфера, или даже в
различен файл. Можете да вмъквате един и същ текст няколко пъти; това
прави няколко копия от него. Някои други редактори наричат
изрязването (kill) и вмъкването (yank) съответно изрязване (cut) и
поставяне (paste) (вж. Речника на Ръководството на Емакс).
Командата за вмъкване е 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-/.
Обикновено C-/ отменя промените, направени от една команда; ако
повтаряте C-/ няколко пъти последователно, всяко повторение отменя още
една команда.
Но има две изключения: командите, които не променят текста, не се
броят (това включва придвижването на курсора и скролиращите команди),
и самовмъкващите се знаци обикновено се обработват на групи, всяка до
20 знака. (Това намалява броя на C-/, които трябва да въведете, за да
отмените въведен текст.)
>> Изрежете този ред с C-k, след това въведете C-/ и той трябва да се
появи отново.
C-_ е алтернативна отменяща команда; тя работи точно като C-/. На
някои терминали въвеждането на C-/ всъщност изпраща C-_ на Емакс.
Като алтернатива, C-x u работи точно като C-/, но е по-неудобна за
въвеждане.
Числов аргумент към C-/, C-_ или C-x u действа като брояч на
повторения.
Може да отменяте изтриване на текст точно както отменяте изрязване на
текст. Различието между изрязването на нещо и изтриването му
въздейства дали ще може да го извадите с C-y; за отменянето няма
разлика между двата вида.
* ФАЙЛОВЕ
---------
За да направите текста, който редактирате, постоянен, трябва да го
сложите във файл. В противен случай той ще изчезне, когато Емакс
приключи. За да сложите вашия текст във файл, трябва да „намерите“
(find) файла преди да въвеждате текст. (Това също се нарича
„посещаване“ (visit) на файл.)
Намиране на файл означава, че виждате съдържанието му в Емакс. В
много случаи това е като да редактирате самия файл. Обаче промените,
които правите, използвайки Емакс, не остават постоянни, докато не
„запишете“ (save) файла. Това е така, за да се предотврати оставянето
на полупроменен файл в системата, когато не искате това. Дори когато
записвате, Емакс оставя началния файл под променено име, в случай, че
по-късно решите, че вашите промени са били грешка.
Ако погледнете в дъното на екрана, ще видите ред, който започва с
тирета – „ 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-s Запис (save) на файла
Това копира текста от Емакс във файла. Първия път, когато това се
направи, Емакс преименува началния файл с ново име, така че той да не
се изгуби. Новото име се построява с добавяне на „~“ в края на името
на началния файл.
Когато запазването е свършило, Емакс извежда името на файла, който е
бил записан. Трябва да записвате достатъчно често, така че да не
изгубите много работа, ако системата се срине по някаква причина
(вж. раздела „Автоматичен запис“ по-долу).
>> Въведете C-x C-s TUTORIAL.bg <Return>.
Това ще запише въведението във файл с име TUTORIAL.bg и ще покаже
„Wrote ...TUTORIAL.bg“ в дъното на екрана.
Може да намерите съществуващ файл, да го разгледате и да го
редактирате. Можете също да намерите файл, който не съществува. Това
е начинът за създаване на нови файлове в Емакс: намирате файла, който
ще бъде в началото празен, и тогава започвате вмъкването на текста за
файла. Когато искате „запис“ на файл, Емакс всъщност ще създаде файла
с текста, който сте въвели. Оттам нататък може да считате, че
редактирате вече съществуващ файл.
* БУФЕРИ
--------
Ако намерите втори файл с C-x C-f, първият файл остава в Емакс.
Можете да превключите обратно към него, като го намерите пак с C-x
C-f. По този начин може да получите доста на брой файлове в Емакс.
Емакс съхранява текста на всеки файла в обект, наричан „буфер“.
Намирането на файл създава нов буфер вътре в Емакс. За да видите
списък с всички съществуващи буфери, въведете
C-x C-b Списък на буферите
>> Опитайте C-x C-b още сега.
Забележете, че всеки буфер има име, а също може да има и име на файл,
чието съдържание се пази в буфера. ВСЕКИ текст, който виждате в
прозорец на Емакс, винаги е част от някой буфер.
>> Въведете C-x 1, за да махнете списъка на буфери.
Когато имате няколко буфера, само един от тях е „текущ“ в даден момент
от време. Това е буферът, който редактирате. Ако искате да
редактирате друг буфер, се нуждаете от „превключване“ към него. Ако
искате да се превключите към буфер, който съответства на файл, можете
да го направите, като просто посетите файла отново с C-x C-f. Но има
и по-лесен начин: използването на командата C-x b. В тази команда
трябва да въведете името на буфера.
>> Суздайте файл с име „foo“ чрез въвеждане на C-x C-f foo <Return>.
Тогава въведете C-x b TUTORIAL.bg <Return>, за да се върнете в това
въведение.
В повечето случаи името на буфера е същото като името на файла (без
частта в коя директория се намира). Обаче това не винаги е вярно.
Списъкът с буферите, който правите с C-x C-b, винаги ви показва и
името на буфера, и името на файла.
ВСЕКИ текст, който виждате в Емакс прозорец, е винаги част от някакъв
буфер. Някои буфери не съответстват на файлове. Буферът, именуван
„*Buffer List*“, които сте направили с C-x C-b, не съответства на
файл. Това е буферът, който съдържа списъка с буферите. Този буфер
TUTORIAL.bg отначало не е бил към файл, но вече е, защото в предишния
раздел въведохте C-x C-s и го записахте във файл.
Буферът, именуван „*Messages*“, също не съответства на файл; той
съдържа съобщенията, които се появяват в дъното на екрана по време на
Емакс сесията.
>> Въведете C-x b *Messages* <Return>, за да видите буфера със
съобщенията. След това въведете C-x b TUTORIAL.bg <Return>, за да
се върнете към това въведение.
Ако направите промени в текста на един файл и тогава намерите друг
файл, това няма да запише първия файл. Неговите промени остават вътре
в Емакс, в буфера на файла. Създаването или редактирането на буфера
на втория файл няма ефект върху буфера на първия файл. Това е много
полезно, но също означава, че се нуждаете от удобен начин да запазите
буфера на първия файл. Ще е неудобно да превключите обратно с C-x
C-f, за да го запазите с C-x C-s. Така че имаме
C-x s Запис на някои (some) буфери
C-x s пита за всеки буфер, който съдържа промени, които не сте
запазили. Командата задава въпрос за всеки такъв буфер дали да бъде
запазен.
>> Вмъкнете ред с текст, след това въведете C-x s.
Трябва да бъдете попитан дали да запазите буфера, именуван „TUTORIAL.bg“.
Отговорете с „да“ на въпроса, като въведете „y“ (yes).
* РАЗШИРЯВАНЕ НА НАБОРА КОМАНДИ
-------------------------------
Има много, много повече команди на Емакс, отколкото могат да се сложат
на всички контролни и мета знаци. Емакс заобикаля това с X (eXtended)
командата. Това става по два начина:
C-x Знаково разширяване. Последвано от един знак.
M-x Разширяване с именувана команда. Последвано от дълго
име.
Тези команди са общо взето полезни, но по-малко, отколкото командите,
които досега сте научили. Вече видяхте две от тях: командите върху
файлове C-x C-f за намиране (Find) и C-x C-s за запис (Save). Друг
пример е командата за край на Емакс сесията -- това е командата C-x
C-c. (Не се безпокойте, че може да изгубите всички промени, които сте
направили; C-x C-c предлага да запази всеки променен файл, преди да
премахне Емакс.)
Ако сте на графичен дисплей, не е нужна специална команда за
придвижване от Емакс към друго работещо приложение. Можете да
извършите това с мишката или с команди към управлението на прозорци.
Но ако сте на текстов терминал, който може да показва само едно
приложение в даден момент, се нуждаете от начин за „изоставяне“
(suspend) на Емакс и придвижване към други програми.
C-z е командата за излизане от Емакс *временно* – така че да можете да
се върнете към същата Емакс сесия по-късно. Когато Емакс върви на
текстов терминал, C-z „изоставя“ Емакс, т.е. връща се към обвивката,
но не унищожава задачата (job) на Емакс. В повечето популярни обвивки
можете да продължите Емакс с командата „fg“ или с „%emacs“.
Има много команди C-x. Ето списък на тези, които сте научили:
C-x C-f Намиране на файл
C-x C-s Запис на файл
C-x s Запис на някои буфери
C-x C-b Списък на буферите
C-x b Превключване към буфер
C-x C-c Излизане от Емакс
C-x 1 Изтриване на всички прозорци освен един
C-x u Отмяна
Именуваните разширени (X) команди са команди, които се използват даже
още по-рядко, или команди, които се използват само в определени
режими. Пример е командата 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>
Забележете как този ред се променя: вие заменихте думата
п-р-о-м-е-н-я с „изменя“, където и да се намира след началното
място на курсора.
* АВТОМАТИЧНО ЗАПАЗВАНЕ
-----------------------
Когато сте направили промени във файл, но още не сте го запазили, те
могат да бъдат загубени, ако компютърът внезапно се изключи. За да ви
предпази от такива ситуации, Емакс периодично запазва „автоматично
запазван“ файл за всеки файл, който редактирате. Името на автоматично
запазвания файл има # в началото и в края; например, ако вашият файл е
с име „hello.c“, името на неговия автоматично запазван файл ще бъде
"#hello.c#". Когато запазвате файл по обикновения начин, Емакс
изтрива неговия автоматично записван файл.
Ако компютърът зависне, може да възстановите вашата автоматично
запазвана редакция, като намерите файла както обикновено (файлът,
който сте редактирали, не автоматично запазвания) и след това въведете
M-x recover-file <Return>. Когато командата изиска потвърждение,
въведете yes<Return>, за да продължите и да възстановите автоматично
запазваните данни.
* ЕХО ОБЛАСТТА
--------------
Ако Емакс види, че въвеждате многознакови команди бавно, ще ви ги
покаже в дъното на екрана, в област, наричана „ехо област“. Ехо
областта обхваща последния ред от екрана.
* РЕД НА РЕЖИМА
----------------
Редът точно над ехо областта се нарича „ред на режима“ (mode line).
Той показва нещо като:
b:**- TUTORIAL.bg 63% L744 (Fundamental)
Този ред дава полезна информация за състоянието на Емакс и текста,
който редактирате.
Вече знаете какво означава името на файла – това е файлът, който сте
намерили. NN% показва вашата текуща позиция в текста; това означава,
че NN процента от текста е над върха на екрана. Ако началото на файла
е на екрана, ще се показва „Top“ (връх) вместо „ 0%“. Ако края на
файла е на екрана, ще се показва „Bot“ (bottom – дъно). Ако гледате
текст, който е толкова малък, че се показва изцяло на екрана, редът на
режима ще изведе „All“ (всичко).
Знакът L и цифрите показват мястото по друг начин: това е номерът на
текущия ред на точката.
Звездите близо до началото означават, че сте направили промени в
текста. Веднага след като посетите или запазите файл, тази част от
реда на режима вече не показва звезди, а само тирета.
Частта от реда на режима вътре в скобите е, за да ви покаже в какъв
режим на редактиране се намирате. Подразбиращият се режим е
Fundamental (Основен), който използвате в момента. Това е пример за
„главен режим“ (major mode).
Емакс има много главни режими. Някои от тях са предвидени за
редактиране на различни езици и/или видове текст, като например режим
Lisp (Лисп), режим Text (текст) и други. Във всеки един момент от
време точно един главен режим е активен и неговото име може винаги да
бъде намерено в реда на режима, точно както „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-l C-l веднъж или повече пъти, за да докарате този ред
близо до върха на екрана.
>> Въведете C-h m, за да видите как текстовият режим се различава от
основния режим.
>> Въведете C-x 1, за да премахнете документацията от екрана.
Главните режими се наричат главни, защото има и малки (второстепенни)
режими (minor modes). Малките режими не са алтернативи на главните, а
просто малки промени към тях. Всеки малък режим може да бъде включен
или изключен сам за себе си, независимо от всички други малки режими
и независимо от вашия главен режим. Така че може да не използвате
малки режими, да използвате един малък режим, или да използвате
някаква комбинация от няколко малки режима.
Един малък режим, който е много полезен, особено за редактиране на
текст на естествен език, е режимът на автоматично запълване (Auto Fill
mode). Когато този режим е включен, Емакс автоматично разделя реда
при мястото между думите, когато вмъквате текст и направите ред, който
е твърде дълъг.
Може да включите режима на автоматично запълване, като изпълните M-x
auto-fill-mode <Return>. Когато режимът е включен, може да го
изключите с M-x auto-fill-mode<Return>. Ако режимът е изключен, тази
команда го включва, а ако е включен, го изключва. Казваме, че
командата „превключва (toggle) режима“.
>> Въведете 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, за да търсите друго съвпадение с „курсор“.
>> Сега въведете <DEL> четири пъти и вижте как се придвижва курсора.
>> Въведете <Return>, за да прекратите търсенето.
Забелязахте ли какво стана? Емакс, когато търси постъпково, се опитва
да намери следващото съвпадение на низа, който се въвежда. За да
отидете на следващото съвпадение на „курсор“, просто отново въведете
C-s. Ако няма такова съвпадение, Емакс бибипва и ви казва, че
търсенето е „провалено“ (failing). C-g също така прекратява
търсенето.
Ако сте в средата на постъпково търсене и въведете <DEL>, ще
забележите, че последният знак в търсения низ се изтрива и търсенето
се връща към последното място на търсене. Например, предположете, че
сте въвели „к“, за да намерите първото съвпадение с „к“. Сега, ако
въведете „у“, курсорът ще се придвижи към първото съвпадение на „ку“.
Сега въведете <DEL>. Това изтрива знака „у“ от низа за търсене и
курсорът се премества назад, до първото съвпадение с „к“.
Ако сте в средата на търсене и въведете контролен или мета знак (с
няколко изключения – знаците, които са специални по време на търсене,
като C-s и C-r), търсенето се прекратява.
C-s започва търсене, което гледа за съвпадение с низа, даден за
търсене СЛЕД текущото място на курсора. Ако искате да търсите нещо
по-ранно от текста, вместо това въведете C-r. Всичко, което казахме
за C-s, важи и за C-r, освен че посоката на търсене е обърната.
* МНОЖЕСТВО ПРОЗОРЦИ
----------------
Една от привлекателните способности на Емакс е тази, че може да
гледате повече от един прозорец на екрана в даден момент от време.
(Обърнете внимание, че Емакс използва думата „рамки“, описана в
следващия раздел, за това, което други приложения наричат „прозорец“.
Ръководството на Емак съдържа речника на термините на Емакс.)
>> Придвижете курсора до този ред и въведете C-l C-l.
>> Сега въведете 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
(или Alt), може да въвеждате 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, за да
изтриете долния.
* МНОЖЕСТВО РАМКИ
-----------------
Емакс може да създава и „рамки“. Рамката (frame) е това, което
наричаме един набор от прозорци, заедно с техните менюта, плъзгачи,
ехо области и т.н. В графичен дисплей Емакс нарича „рамка“ това,
което повечето други приложения наричат „прозорец“. На екрана могат
да бъдат показвани няколко графични рамки едновременно. В текстов
терминал може да се показва само една рамка в даден момент от време.
>> Въведете M-x make-frame <Return>.
Вижте как се появява нова рамка на екрана.
В новата рамка можете да правите всичко, което правите и в
оригиналната рамка. Няма нищо специално в първата рамка.
>> Въведете M-x delete-frame <Return>
Избраната рамка се премахва.
Можете да премахвате рамки и по нормалния за това начин в графичната
система, най-често с натискане на бутона, отбелязан като „X“ в горен
ъгъл на рамката. Ако премахнете и последната рамка на работещ Емакс,
това ще излезе от Емакс.
* ВЛОЖЕНИ НИВА НА РЕДАКТИРАНЕ
-----------------------------
Понякога ще се озовете в това, което се нарича „вложено ниво на
редактиране“ (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 не извежда съобщение за помощ в дъното на екрана, опитайте
клавиша 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) или въведете
C-h r). Две възможности, които може да желаете в началото, са
довършване (completion), което спестява писане, и dired, който
опростява боравенето с файлове.
Довършването е начин да избягвате ненужно писане. Например, ако
искате да превключите към буфера *Messages*, може да въведете C-x b
*M<Tab> и Емакс ще запълни останалата част от името на буфера,
доколкото може да се определи от това, което сте въвели. Довършването
е описано в Инфо-ръководството на Емакс в страницата „Довършване“
(„Completion“).
Dired ви позволява да гледате списъка от файлове в директория (и като
възможност: нейните поддиректории), да се придвижвате в този списък,
да посещавате, преименувате, изтривате и изобщо действате върху
файловете. Dired е описан в Инфо-ръководството на Емакс в страницата
"Dired".
Ръководството на Емакс описва още много други възможности на
редактора.
* ЗАКЛЮЧЕНИЕ
------------
За да излезете безвъзвратно от Емакс, използвайте C-x C-c.
Това въведение е предвидено да бъде разбираемо за всички нови
потребители, така че ако намирате нещо неясно, не се самообвинявайте –
оплачете се!
* КОПИРАНЕ
----------
Това въведение произлиза от дълга поредица въведения в Емакс,
започвайки от едно, написано от Стюърт Кракрафт за началния Емакс.
Тази версия на въведението, както и ГНУ Емакс, е защитена с авторски
права и идва с разрешение да разпространявате копия при следните
условия:
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-2017 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
Моля, прочетете файла COPYING и тогава давайте копия на ГНУ Емакс на
свои приятели. Помогнете да спрем затвореността на програмите
(„притежанието“), като използваме, пишем и споделяме свободен софтуер!
Преводът на български е извършен от Огнян Кулев <ogi@tower.3.bg>.
;;; Local Variables:
;;; coding: utf-8
;;; End:
|