1. Nic Ferrier
  2. emacs

Source

emacs / etc / TUTORIAL.ru

   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
Учебник Emacs. Условия распространения приведены в конце файла

Для управления Emacs обычно используется ключ (key -- сочетание клавиш
клавиатуры и/или кнопок мыши), включающий в себя клавишу CONTROL (иногда
отмечаемая как CTRL или CTL) или клавишу META (иногда помеченную как ALT или
EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
мы будем использовать следующие сокращения:

 C-<chr> -- следует удерживать клавишу CONTROL, пока набирается символ
	 <chr>.  Так, C-f должно означать: нажать клавишу CONTROL и f.
 M-<chr> -- следует удерживать клавишу META, пока набирается символ
         <chr>. Если нет клавиши META, ALT или EDIT, то нажмите <ESC>,
         отпустите ее, а потом наберите символ <chr>.

Важное замечание: для завершения сеанса Emacs, наберите C-x C-c (два
символа). Символы ">>" с левой стороны указывают, что вам нужно делать,
чтобы применить команду. Например:
<<Пустые строки вокруг вставлены командой 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 и PageDn для перемещения между
экранами (если они есть на вашем терминале), но вы сможете работать более
эффективно, если будете использовать сочетания C-v и M-v.


* БАЗОВЫЕ КОМАНДЫ УПРАВЛЕНИЯ КУРСОРОМ
-------------------------------------

Движение от экрана к экрану удобно, но как переместиться в определенное
место в тексте на экране?

Есть несколько способов выполнения этой операции.  Вы можете использовать
клавиши управления курсором (стрелки), но более эффективным будет сохранение
рук в их стандартной позиции и использовать команды C-p, C-b, C-f и C-n. Эти
команды эквивалентны четырем клавишам перемещения курсора, как это показано
на схеме:

			  Предыдущая строка, C-p
				  :
				  :
         Назад, C-b .... Текущая позиция курсора .... Вперед, C-f
				  :
				  :
			   Следующая строка, C-n

>> Переместите курсор на строку рядом с диаграммой, используя сочетания
   клавиш C-n или C-p.  Потом, нажмите C-l и посмотрите как диаграмма
   переместится в центр экрана.

Вам будет несложно запомнить эти команды по первым буквам соответствующих
слов -- B-назад (backward) и F-вперед (forward). Это основные команды
позиционирования курсора, которыми Вы будете пользоваться ВСЕГДА, так что
будет неплохо их выучить.

>> Нажмите несколько раз C-n, чтобы опустить курсор вниз на эту строку.

>> Переместитесь по строке, используя C-f и потом поднимитесь вверх с
   помощью C-p. Посмотрите, как изменилось положение курсора при нажатии
   С-р, если он находился в середине строки.

Каждая строка текста завершается символом перевода строки (Newline
character), который отделяет ее от следующей строки. Последняя строка в
вашем файле должна бы тоже завершаться символом перевода строки (но Emacs не
требует этого).

>> Попробуйте использовать C-b в начале строки. Курсор должен переместиться
   на конец предыдущей строки. Это происходит потому, что он движется назад
   через символ перевода строки.

C-f может перемещать курсор через символ перевода строки так же, как и C-b.

>> Попробуйте несколько раз применить C-b так, чтобы Вы увидели, как
   движется курсор. Далее используйте сочетание клавиш C-f чтобы вернуться
   на конец строки. Нажмите C-f еще раз, чтобы перейти к началу следующей
   строки.

Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся
за экраном, сдвигается внутрь экрана. Это называется "прокрутка
(scrolling)". Прокрутка позволяет Emacs'у перемещать курсор в нужное место
текста без перемещения его за пределы экрана.

>> Попробуйте переместить курсор за нижнюю границу экрана, используя 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 Less-then
{Меньше-Чем}), которая перемещает курсор в начало текста, и M-> (META
Greater-than {Больше-Чем}), которая перемещает курсор в конец текста.

На большинстве терминалов знак "<" находится над знаком точки, и чтобы
набрать его, вы должны использовать клавишу Shift. На этих терминалах вы так
же должны использовать Shift, чтобы набрать M-< (без удержания клавиши Shift
вы наберете M-точка).

>> Сейчас попробуйте M-<, чтобы переместиться в начало учебника. Потом
   используйте C-v, чтобы вернуться назад.

>> Сейчас попробуйте M->, чтобы переместиться к концу учебника. Используйте
   M-v, чтобы вернуться снова.

Курсор можно перемещать клавишами управления курсора (стрелками), если ваш
терминал оборудован ими. Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем
причинам. Во-первых, они работают на любых терминалах. Во-вторых, однажды
получив практику использования Emacs, вы поймете, что использовать
CTRL-символы удобнее и быстрее, чем кнопки со стрелочками (потому что вы не
убираете руки с обычного их положения при печати). В-третьих, как только вы
привыкните использовать CTRL-символы, вы сможете так же легко выучить и
использовать другие, расширенные команды перемещения курсора.

Большинство команд Emacs допускают задание цифрового аргумента; для
большинства команд, это служит счетчиком повторений. Чтобы задать счетчик
повторений для команды, нажмите 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, то должна
быть видна прямоугольная область, именуемая полосой прокрутки, которая видна
с левой стороны окна Emacs. Вы можете прокручивать текст, используя
манипулятор мышь.

>> Попробуйте перемещать мышь при нажатой средней кнопке мыши. Вы увидите
   как текст прокручивается вверх и вниз.


* УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ
------------------------------------

Если у вас X-терминал, то для управления курсором, вам вероятно покажется
более легким использование клавиш курсора на цифровой клавиатуре
(справа). Стрелки влево, вправо, вверх и вниз передвигают курсор в
соответствующем направлении -- они работают точно также как C-b, C-f, C-p и
C-n, но легче в наборе и запоминании. Вы так же можете использовать
сочетания C-left и C-right для передвижения по словам, и C-up и C-down для
передвижения по блокам (т.е.  параграфам, если вы редактируете текст). Если
у вас есть кнопки помеченные HOME (или BEGIN) и/или END, то они будут
перемещать курсор в начало и конец строки, а C-home и C-end будут перемещать
в начало и конец файла.  Если на вашей клавиатуре есть кнопки PgUp и PgDn,
то вы можете использовать их для перемещения вверх и вниз постранично,
аналогично использованию M-v и C-v.

Все эти команды могут использовать цифровой аргумент, так, как об этом
рассказано выше.  Вы можете использовать ускоренный способ ввода этого
аргумента: просто нажмите CONTROL или META и наберите число. Например, для
перемещения на 12 слов вправо, наберите C-1 C-2 C-right. Запомните что так
очень легко набирать, потому что вы не отпускаете кнопку CONTROL между
нажатиями.


* ЕСЛИ EMACS ЗАВИС
------------------

Если Emacs перестал реагировать на ваши команды, то вы можете избежать этого
просто нажав C-g.  Вы можете использовать C-g, чтобы остановить выполнение
команд, которые слишком долго выполняются.

Вы также можете использовать C-g для отмены набранного цифрового аргумента
или команды, которая начала выполняться, но которую вы не хотите завершать.

>> Наберите C-u 100 для задания аргумента 100, потом нажмите C-g. Теперь
   нажмите C-f. Курсор должен переместиться всего на один символ, потому что
   вы отменили аргумент нажатием C-g.

Если вы нажали <ESC> по ошибке, то вы так же можете использовать C-g чтобы
избежать воздействия данной команды.


* ЗАПРЕЩЕННЫЕ КОМАНДЫ (DISABLED COMMANDS)
-----------------------------------------

Некоторые команды Emacs "запрещены", поскольку начинающие пользователи могут
случайно использовать их для совершения опасных действий.

Если вы набрали одну из запрещенных команд, то Emacs покажет сообщение
говорящее о том, какая команда вызывается, и запросит у вас, хотите ли вы
продолжать работу и выполнять данную команду.

Если вы действительно попробовать выполнить команду, то нажмите клавишу
<SPC> (пробел) в ответ на заданный вопрос. Обычно, если вы не хотите
выполнять запрещенную команду, то ответьте на вопрос нажатием клавиши "n".

>> Нажмите `C-x C-l' (выключенная команда), а потом ответьте "n" на заданный
   вопрос.


* ОКНА
------

Emacs может отображать информацию в нескольких окнах, каждое из которых
отображает свой текст.  Позже мы объясним как работать с несколькими окнами.
Прямо сейчас мы хотим объяснить вам как избавляться от лишних окон и
вернуться к редактированию в одном окне.  Это очень просто сделать:

	C-x 1	Одно окно. (закрыть все другие окна).

Это CONTROL-x со следующей цифрой 1.  C-x 1 развернет окно, которое содержит
курсор, так, чтобы оно заняло весь экран. При этом будут удалены все
остальные окна.

>> Переместите курсор на эту строку и нажмите C-u 0 C-l.

>> Наберите CONTROL-h k CONTROL-f.
   Посмотрите, как текущее окно сожмется, когда новое появится и отобразит
   документацию на сочетание клавиш CONTROL-f.

>> Наберите C-x 1 и посмотрите, как окно с документацией исчезнет.

Эта команда отличается от других команд, которые вы изучили, тем, что она
состоит из двух символов. Она начинается со знака CONTROL-x. Есть целый
набор команд, которые начинаются с CONTROL-x; многие из них работают с
окнами, буферами, файлами и аналогичными вещами. Эти команды состоят из
двух, трех или четырех знаков.


* ВСТАВКА И УДАЛЕНИЕ
--------------------

Если вы хотите вставить текст, то просто набирайте его.  Символы, которые вы
можете видеть, такие как A, 7, *, и пр. понимаются Emacs'ом как текст и
вставляются немедленно. Нажмите <Return> (кнопка перевода каретки) чтобы
вставить символ новой строки.

Вы можете удалить набранный символ нажимая клавишу <Delback>.  <Delback> --
это клавиша на клавиатуре, которую вы используете и вне Emacs для удаления
последнего набранного символа.  Обычно, это большая клавиша, расположенная
на несколько строк выше клавиши <Return>; обычно она помечена как "Delete",
"Del" или "Backspace".

Если большая клавиша помечена как "Backspace", то это то, что вам нужно
использовать тогда, когда вы будете читать про <Delback>.  У вас также может
быть клавиша, помеченная как "Delete", но она имеет другую функцию, отличную
от <Delback>.

В основном, <Delback> удаляет символ непосредственно перед текущей позицией
курсора.

>> Попробуйте выполнить это сейчас -- наберите несколько символов, а затем
   удалите их нажимая <Delback>. Не волнуйтесь об изменениях этого файла --
   вы не изменяете главный учебник; это ваша личная копия учебника.

Когда строка текста становится слишком большой для строки экрана, то она
"продолжается" на следующей строке экрана. Символ "обратный слэш" ("\") (или
если вы используете оконную систему, то это будет значок в виде маленькой
изогнутой стрелки) с правой границы показывает, что строка будет
продолжается с предыдущей строки.

>> Вводите текст, пока он не достигнет правой границы, и продолжайте вставку
   символов.  Вы увидите, как появится символ продолжения строки.

>> Используйте <Delback> для удаления текста, до тех пор, пока строка не
   поместится в экран снова.  Символ продолжения строки исчезнет с экрана.

Символ новой строки можно удалять точно так же, как и любой другой символ.
Удаление символа новой строки между двумя строками приведет к их склейке в
одну.  Если полученная строка будет слишком длинной, чтобы вместиться в
экран, то она будет отображена как строка с продолжением, как это было
описано выше.

>> Переместите курсор в начало строки и нажмите <Delback>. Это соединит
   текущую строку с предыдущей.

>> Нажмите <Return> для вставки нового символа строки, вместо удаленного
   вами.

Помните, что многие команды Emacs могут получать счетчик повторения; простые
символы не являются исключением. Вы можете вставлять по несколько символов,
используя счетчики повторений.

>> Попробуйте проверить это -- наберите C-u 8 * для вставки ********.

Теперь вы научились основам набора текста в Emacs и исправления ошибок.  Вы
также можете удалять слова и строки.  Здесь приведен список операций
удаления:

	<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-<SPC> (одно из этих
сочетаний).  Здесь <SPC> обозначает клавишу пробела. Переместитесь на другой
конец области и нажмите C-w.  Эта операция удалит весь текст между двумя
указанными позициями.

>> Переместите курсор к букве В в начале предыдущего параграфа.
>> Наберите C-<SPC>. Emacs должен отобразить в нижней части экрана сообщение
   "Mark set".
>> Переместите курсор к букве о в слове "концов", на второй строке
   параграфа.
>> Наберите C-w. Это удалит текст начиная с буквы В, и оканчивающуюся перед
   буквой о.

Отличие между "убить (killing)" и "удалить (deleting)" заключается в том,
что "убитый" текст может быть заново вставлен, в то время как "удаленные"
части не могут быть вставлены. Вставка "убитого" текста называется
"восстановление (yanking)". В общем, команды, которые могут убирать большие
части текста, убивают этот текст (они настраиваются так, что вы можете
восстановить текст), в то время как команды, которые убирают только один
символ, или удаляют только пустые строки и пробельные символы, выполняют
операцию удаления (так что вы не можете восстановить текст).

>> Переместите курсор на начало не пустой строки. Теперь нажмите C-k, чтобы
   убить текст в этой строке.

>> Нажмите C-k еще раз. Вы видите, что это действие убьет символ новой
   строки, который следует за этой строкой.

Заметьте, что первое выполнение C-k убивает содержимое строки, а второй
вызов C-k убивает саму строку и поднимает другие строки вверх.  C-k
обрабатывает числовой аргумент специальным образом -- убивает заданное
количество строк _И_ их содержимое.  Это не просто повторение команды. C-u 2
C-k удалит две строки, а также завершающие их символы новой строки;
двухразовое выполнение C-k не сделает этого.

Возврат убитого ранее текста называется "восстановление (yanking)". (Думайте
об этом, как о восстановлении или помещении назад, некоторого взятого
текста). Вы можете восстановить удаленный текст в месте удаления, или в
любой другой точке редактируемого текста, или даже в другом файле.  Вы
можете восстановить текст несколько раз и получить несколько копий данного
текста.

Для восстановления убитого текста используется сочетание клавиш C-y.  Данная
команда восстанавливает последний убитый текст в точке расположения курсора.

>> Попробуйте выполнить эту команду -- наберите C-y, чтобы вернуть текст
   назад.

Помните, что если вы использовали несколько команд C-k в одной строке, то
все убитые строки будут сохранены вместе, так, что C-y также восстановит их
вместе.

>> Попробуйте выполнить это сейчас -- нажмите C-k несколько раз.

Теперь вернем убитый текст:

>> Нажмите C-y.  Теперь переместите курсор на несколько строк вниз, и снова
   нажмите C-y.  Сейчас вы видите как можно скопировать некоторый текст.

Что делать, если есть некоторый текст, который вы хотите вернуть назад, а
потом убить что-то еще? Одно нажатие C-y вернет только последний удаленный
текст.  Но предыдущий текст не будет потерян -- вы сможете его вернуть
назад, используя команду M-y.  После того, как вы вернули последний
удаленный текст, нажмите M-y, и замените этот восстановленный текст тем,
который был убит ранее.  Нажимая M-y снова и снова, вы будете возвращать
ранее убитые части текста. Когда вы достигните искомого текста, то вам не
нужно делать ничего чтобы сохранить его.  Просто продолжайте работать,
оставив восстановленный текст там, где он есть.

Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку
(наиболее раннее удаление).

>> Убейте строку, переместите курсор, и удалите еще одну строку.  Затем
   используйте C-y для восстановления второй убитой строки, а затем нажмите
   M-y, и она будет заменена первой убитой строкой.  Нажмите M-y еще
   несколько раз, чтобы увидеть полученный результат. Продолжайте выполнять
   эту команду до тех пор, пока вторая убитая строка не будет восстановлена
   снова. Если вам хочется, то вы можете задавать положительные и
   отрицательные аргументы для команды M-y.


* ОТМЕНА (UNDO)
---------------

Если вы сделали изменения в тексте, и решили, что ошиблись, то вы можете
отменить изменения с помощью команды "отмена", которая привязана к сочетанию
клавиш 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; но для команды
отмены нет никакой разницы между этими операциями.

* ФАЙЛЫ
-------

Чтобы созданный текст можно было редактировать позже, вы должны поместить
его в файл. Иначе, он исчезнет, когда вы покинете Emacs.  Вы помещаете ваш
текст в файл, "открывая" файл (Эту операцию также называют "посетить" файл).

Открыть файл означает посмотреть его содержимое, с помощью Emacs.  Во многих
случаях, это происходит тогда, когда вы редактируете файл сами. Однако ваши
изменения, сделанные с использованием Emacs не будут зафиксированы, пока вы
не сохраните файл.  Вы можете не оставлять частично измененный файл в
системе, если вы не хотите его сохранять.  Даже когда вы сохраняете файл, то
Emacs оставляет оригинальный файл, но с другим именем, так что вы позже
можете отменить ваши изменения, вернувшись к предыдущей версии файла.

Если вы посмотрите в нижнюю часть экрана, то вы увидите строку, которая
начинается с тире и ее начало выглядит примерно так "--:-- TUTORIAL.ru". Эта
часть экрана всегда показывает имя открытого вами файла. Итак, сейчас вы
открыли файл с именем "TUTORIAL.ru", который является вашей персональной
копией учебника Emacs.  Для любого файла, который вы откроете, его имя будет
показано в этой строке.

Одной из вещей, которые вам нужно знать о команде открытия файла -- это то,
что вы должны ввести имя файла, который нужно открыть.  Такие команды мы
называем командами "читающими аргумент с терминала" (в нашем случае,
аргументом является имя файла). После ввода команды

	C-x C-f   Открыть (найти) файл

Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке
экрана.  Нижняя строка называется мини-буфером -- он специально используется
для ввода небольшого количества данных.  Для редактирования имени файла вы
можете использовать обычные команды редактирования Emacs.

Когда вы вводите имя файла (или любую другую информацию в мини-буфере), вы
можете отменить текущую команду нажав 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   Сохранить файл

Эта команда скопирует текст из Emacs в файл.  В первый раз, когда вы это
сделаете, Emacs переименует оригинальный файл в файл с новым именем, чтобы
не потерялось предыдущее содержимое файла. Новое имя получается добавлением
символа "~" к оригинальному имени файла.

Когда сохранение завершится, Emacs отобразит имя записанного файла. Вы
должны сохранять изменения достаточно часто, чтобы не потерять внесенные
изменения, если система вдруг зависнет.

>> Наберите C-x C-s, сохраните вашу копию учебника. В нижней строке экрана
   должна появиться надпись "Wrote ...TUTORIAL.ru".

ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заблокирует экран, так что вы
не увидите последующего вывода Emacs`а.  Такое поведение означает, что
операционная система имеет "особенность", именуемую "flow control",
перехватывающую сочетание C-s и не пропускающую этот символ к Emacs`у. Для
снятия блокировки экрана, нажмите C-q.  Обратитесь к разделу "Spontaneous
Entry to Incremental Search" руководства Emacs, чтобы узнать о том, как
бороться с этой "особенностью".

Вы можете открыть существующий файл для просмотра или редактирования. Вы
также можете открыть файл, которого еще не существует. Другими словами --
создать файл с помощью Emacs можно так: найти файл, создать новый, и начать
вводить текст. Когда вы выполните команду сохранения файла, то Emacs создаст
настоящий файл с набранным вами текстом. Далее, как вы поняли, вы будете
редактировать уже существующий файл.


* БУФЕРА
--------

Если вы открываете второй файл используя команду C-x C-f, то первый файл
остается внутри Emacs. Вы можете переключиться назад, открыв его снова с
помощью C-x C-f. Таким образом вы можете загрузить несколько файлов в Emacs.

>> Создайте файл с именем "foo", набрав C-x C-f foo <Return>.
   Вставьте какой-нибудь текст, измените его, и сохраните файл "foo",
   набрав C-x C-s.
   Наконец, наберите C-x C-f TUTORIAL.ru <Return>, для того, чтобы вернуться
   назад к учебнику.

Emacs хранит текст каждого файла внутри в объекте, называемом "буфер"
("buffer"). Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть
список буферов, созданных в текущем сеансе Emacs, наберите

	C-x C-b   Список буферов

>> Попробуйте выполнить C-x C-b прямо сейчас.

Мы видим, что каждый буфер имеет имя, и может иметь связанное с ним имя
файла, содержимое которого в хранится в данном буфере. ЛЮБОЙ текст, который
вы видите в окне Emacs, всегда является частью какого-либо буфера.

>> Наберите 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 всегда показывает вам имена всех буферов.

ЛЮБОЙ текст, который вы видите в окне Emacs, всегда является частью
какого-либо буфера.  Некоторые буфера не соответствуют файлам.  Например,
буфер с именем  "*Buffer List*" не связан ни с каким файлом.  Это буфер,
который содержит список буферов, который вы создали используя C-x C-b.
Буфер с именем "*Messages*" также не связан ни с каким файлом; он содержит
сообщения, которые отображаются в самой нижней строке окна Emacs в течении
текущей сессии работы с редактором.

>> Наберите C-x b *Messages* <Return> для просмотра содержимого буфера
   сообщений.  Затем наберите C-x b TUTORIAL <Return> для возврата в данный
   учебник.

Если вы изменяете текст одного файла, а затем открываете другой, то текст в
первом буфере остается не сохраненным.  Изменения останутся внутри Emacs, в
буфере, связанном с файлом. Создание или редактирование следующего буфера не
сказывается на первом буфере. Это очень удобно, но имейте в виду, что вам
нужно иметь способ сохранить первый файловый буфер.  Было бы неприятно
каждый раз возвращаться назад используя C-x C-f и потом использовать C-x C-s
для сохранения данных. Поэтому существует команда

	C-x s     Сохранить некоторые буфера. (Save some buffers)

C-x s запрашивает у вас подтверждение о сохранении для каждого буфера,
который содержит не сохраненные изменения.  Для каждого такого буфера у вас
запросят: сохранять или не сохранять изменения.

>> Вставьте строку текста, потом наберите C-x s.
   У вас должны спросить, сохранять ли буфер с именем TUTORIAL.ru.  Ответьте
   на вопрос утвердительно, набрав "y".


* РАСШИРЕНИЕ НАБОРА КОМАНД
--------------------------

У Emacs очень много команд, и они не могут быть назначены на все control- и
meta- символы. Emacs обходит это, используя X-команду (eXtend). Есть две
возможности:

	C-x	Расширение с помощью ввода префикса. За ним следуем один символ.
	M-x	Расширение набора команд с помощью их наименования. За ним следует имя
    	команды.

Это полезные команды, но они используются менее часто, чем те команды,
которые мы изучили. Вы уже видели некоторые из них: команды работы с файлами
C-x C-f -- открыть файл, и C-x C-s -- сохранить файл. Другой пример --
команда завершения работы с Emacs -- C-x C-c. (Не волнуйтесь о том, что вы
потеряете сделанные изменения, C-x C-c предлагает сохранить изменения перед
удалением буфера Emacs).

C-z -- это команда *временного* выхода из Emacs. Вы можете вернуться в ту же
сессию Emacs позже.

На системах, которые реализуют эту возможность, команда C-z
"приостанавливает" ("suspends") Emacs; возвращает в командный процессор
(shell), но не закрывают Emacs.  В большинстве командных процессоров вы
можете вернуться в Emacs, используя команду `fg' или `%emacs'.

В системах, не поддерживающих приостановку процессов, C-z создает новый
командный процессор (subshell), запущенный из-под Emacs, чтобы дать вам
возможность выполнить другую программу, и затем вернуться в Emacs (это не
настоящий выход из Emacs).  В таких система для возврата в Emacs вам нужно
использовать команду `exit'.

Чтобы покинуть Emacs используйте команду C-x C-c. Обычно это нужно тогда,
когда вы хотите закончить сеанс работы с компьютером.  Это сочетание также
используется, чтобы выйти из Emacs, вызванного из почтовой программы, или
другой утилиты, которая может не знать, как справиться с приостановленным
Emacs.  Обычно, если вы не собираетесь выходить из системы, то лучше
приостановить Emacs, используя C-z вместо того, чтобы покидать его совсем.

Существует очень много команд, использующих префикс C-x. Вы уже изучили
следующие команды:

	C-x C-f		Открыть файл
	C-x C-s		Сохранить файл
	C-x s		  Сохранить некоторые файлы
	C-x C-b		Список буферов
	C-x b		  Переключиться в буфер
	C-x C-c		Выход из Emacs
	C-x 1		  Удаляет все окна кроме одного
	C-x u		  Отмена

Именованные команды -- это команды, которые используются гораздо реже, или
используются только в определенных режимах.  В качестве примера можно
привести команду замены строки, которая заменяет одну строку на другую во
всем тексте.  Когда вы наберете M-x, Emacs предложит вам ввести имя команды;
в нашем случае, это команда "replace-string".  Наберите лишь "repl s<TAB>",
и Emacs дополнит имя.  (<TAB> -- это клавиша табуляции, обычно находящаяся
выше клавиш CapsLock или Shift в левой части клавиатуры). Завершите имя
нажатием <Return>.

Команда замены строки (replace-string) требует два аргумента -- строку,
которая будет заменена, и строку, на которую нужно заменить. Вы должны
завершать каждый аргумент вводом <Return>.

>> Переместите курсор на две пустые строки ниже этой.
   Наберите M-x repl s<Return>файл<Return>файлы<Return>.

   Заметьте, как эта строка изменится: вы замените слово ф-а-й-л
   словом "файлы" везде, где оно встретится, ниже позиции курсора.


* АВТОМАТИЧЕСКОЕ СОХРАНЕНИЕ
---------------------------

Когда вы изменяете файл, но не сохраняете его, то в случае краха системы вы
можете потерять информацию. Чтобы защитить вас от этого, Emacs периодически
сохраняет каждый файл, который вы редактируете. Автоматическое сохранение
происходит в файл, имя которого такое же, но начинается и заканчивается
символом "#"; например, если ваш файл называется "hello.c", то автоматически
сохраненный файл будет называться "#hello.c#". Когда вы сохраните файл
обычным способом, Emacs удалит автоматически сохраненный файл.

Если система зависла, то вы можете восстановить ваши изменения, который были
сохранены автоматически, путем открытия нужного файла (файла, который вы
редактировали, не сохраненного), и затем набрав M-x recover-file<return>.
Когда у вас запросят подтверждение, наберите yes<return>, чтобы
восстановить автоматически сохраненные данные.


* ОБЛАСТЬ ЭХО (ECHO AREA)
-------------------------

Если Emacs видит, что вы медленно набираете команды из нескольких символов,
то он показывает их вам внизу экрана, в области называемой "область эхо".
Область эхо -- это самая нижняя строка экрана.


* СТРОКА СОСТОЯНИЯ
------------------

Строка сразу над областью эхо называется "строкой состояния".  Выглядит эта
строка примерно так:

--:**  TUTORIAL.ru       63% L749    (Fundamental)-----------------------

Эта строка сообщает полезную информацию о состоянии Emacs и текста, который
вы редактируете.

Вы уже знаете, что означает имя файла -- это файл, который вы открыли.  NN%
показывает текущую позицию курсора в тексте; это означает что NN процентов
текста находятся выше, чем начало экрана.  Если первая строка всего текста
находится в первой строке экрана, вы там увидите "Top" вместо "0%". Если на
экране отображается последняя строка, то будет отображено "Bot".  Если текст
настолько мал, что весь вмещается в экран, то строка состояния сообщит
"All".

Буква L и цифры показывают позицию другим способом -- они показывают номер
строки в которой находится курсор.

Звездочки в начале строки означают, что вы изменяли текст.  При открытии или
сохранении файла, эта часть строки будет содержать не звездочки, а тире.

Часть строки статуса внутри скобок сообщает вам о режиме редактирования,
которым вы сейчас используете.  Стандартный режим -- Fundamental, он
используется и данном документе. Это пример "основного режима" ("major
mode").

Emacs имеет много различных основных режимов. Некоторые из режимов
используются для редактирования текста на различных языках и/или различных
видов текста, такие как Lisp-режим, Text-режим и пр.  В каждый момент
времени действует только один основной режим, и его название вы можете найти
в скобках -- там, где сейчас находится слово "Fundamental" (базовый).

Каждый основной режим заставляет некоторые команды вести себя немного по
другому.  Например, это команды создания комментариев в программе, и
поскольку в каждом языке программирования комментарии записываются
по-своему, то и каждый основной режим вставляет их по-разному.  Каждый
основной режим имеет именованную команду, которая включает его.  Например,
M-x fundamental-mode -- это команда, которая включает базовый (Fundamental)
режим.

Если вы редактируете текст на естественном языке, например, как этот файл,
то вы вероятно должны переключиться в Text-режим.

>> Наберите M-x text mode<Return>.

Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы
можете заметить, что M-f и M-b теперь рассматривают апострофы как часть
слова.  Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали
апострофы как разделители слов.

Основной режим обычно делает небольшие изменения, такие как: большинство
команд делают "одну и ту же работу" в каждом из режимов, но их действие
отличается какой-нибудь мелочью.

Для просмотра документации о текущем основном режиме, нажмите C-h m.

>> Используйте C-u C-v один раз или более, чтобы расположить эту строку
   ближе к верху экрана.
>> Наберите C-h m, чтобы посмотреть отличия Text-режима от базового.
>> Наберите C-x 1, чтобы убрать документацию с глаз долой :)

Основной режим называется основным потому, что также существуют
дополнительные (minor) режимы.  Дополнительные режимы не являются
альтернативами основным, они только немного изменяют их поведение.  Каждый
дополнительный режим включается/выключается независимо от других
дополнительных режимов, и независимо от вашего основного режима.  Вы можете
использовать основной режим без дополнительных, или с любой их комбинацией.

Один из дополнительных режимов очень полезен, особенно для редактирования
текста -- это режим автозаполнения (Auto Fill mode).  Когда этот режим
включен, то Emacs разрывает строки между словами автоматически, в тех
случаях когда вы вставляете текст и делаете строки слишком длинными.

Вы можете включить режим автозаполнения, набрав M-x auto fill mode<Return>.
Когда этот режим включен, его можно выключить с помощью той же команды --
M-x auto fill mode<Return>.  Если режим включен, то такая команда его
выключит, если выключен, то включит. Мы называем это командой "переключения
режима".

>> Наберите M-x auto fill mode<Return>. Затем вводите строку из слов "фыва "
   пока не увидите, как она разделится на две строки.  Вы должны помещать
   пробелы между словами, потому что режим автозаполнения разбивает строки
   только по пробелам.

Граница разбиения обычно равна 70-ти символам, но вы можете изменить ее
используя команду C-x f.  Вы должны задать границу в виде числового
аргумента для этой команды.

>> Введите C-x f с аргументом 20 (C-u 2 0 C-x f). Затем введите какой-нибудь
   текст, и посмотрите как Emacs заполняет строки по 20 символов в каждой.
   Верните значение границы равное 70 назад, используя команду C-x f.

Если вы сделали изменения в середине параграфа, то автозаполнение не
переформатирует текст автоматически.  Чтобы переформатировать параграф,
наберите M-q (META-q) когда курсор находится внутри параграфа.

>> Переместите курсор в предыдущий параграф, и нажмите M-q.


* ПОИСК
-------

Emacs умеет искать строки (непрерывные группы символов или слова) вперед или
назад по тексту.  Поиск строки -- это команда перемещения курсора; она
перемещает курсор в следующую точку, где найдена искомая строка.

Команда поиска Emacs отличается от аналогичных команд большинства других
редакторов тем, что она инкрементальная.  Это означает, что поиск происходит
по мере, того как вы набираете искомую строку.

Команда, начинающая поиск вперед -- C-s, а C-r ищет назад. ПОДОЖДИТЕ! Не
нужно пробовать прямо сейчас.

Когда вы нажмете C-s, вы увидите строку "I-search", появившуюся в области эхо.
Вам сообщается, что Emacs ждет ввода слова, которое вы хотите найти.
<Return> завершает поиск.

>> Теперь нажмите C-s для начала поиска. Медленно, по одной букве, набирайте
   слово 'курсор', останавливаясь после каждой введенной буквы и замечая что
   происходит с курсором.
   Сейчас вы нашли первое вхождение слова "курсор".
>> Нажмите C-s снова, чтобы найти следующее вхождение слова "курсор".
>> Теперь нажмите <Delback> четыре раза и проследите за перемещениями курсора.
>> Нажмите <Return> для завершения поиска.

Вы заметили, что происходило? Emacs в режиме инкрементального поиска пытался
переходить к строкам, совпадающим с набираемой вами строкой, подсвечивая их.
Чтобы перейти к следующему вхождения слова 'курсор' просто нажмите C-s
снова.  Если больше нет вхождений, то Emacs издаст звуковой сигнал, и
сообщит, что ваш поиск не удался ("failing"), C-g также может отменить
поиск.

ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заблокирует экран, так что вы
не увидите последующего вывода Emacs`а.  Такое поведение означает, что
операционная система имеет "особенность", именуемую "flow control",
перехватывающую сочетание C-s и не пропускающую этот символ к Emacs`у. Для
снятия блокировки экрана, нажмите C-q.  Обратитесь к разделу "Spontaneous
Entry to Incremental Search" руководства Emacs, чтобы узнать о том, как
бороться с этой "особенностью".

Если вы во время инкрементального поиска нажмете <Delback>, то вы заметите,
что последний символ в искомой строке удалился, и поиск вернулся к
предыдущему найденному месту.  Например, предположим, что вы набрали "к",
поиск перейдет к первому вхождению символа "к". Теперь, если вы наберете
"у", курсор перейдет к первому вхождению "ку".  Нажатие <Delback> удалит
символ "у" из строки поиска, и курсор вернется к первому вхождению "к".

Если вы во время поиска введете control- или meta- символ (за некоторыми
исключениями, такими, как символы начинающие поиск, а именно C-s и C-r),
поиск прекратится.

C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей
позиции курсора.  Если вы хотите найти что-то ранее в тексте, то нажмите
C-r.  Все, что мы говорили о C-s, применимо и к C-r, за исключением
противоположного направления поиска.


* МНОЖЕСТВО ОКОН (MULTIPLE WINDOWS)
-----------------------------------

Одна из приятных особенностей Emacs является то, что вы можете одновременно
отображать на экране несколько окон.

>> Переместите курсор на эту строку, и наберите C-u 0 C-l (это CONTROL-L, а
   не CONTROL-1).

>> Теперь наберите C-x 2, что разделит экран на два окна.
   Оба окна отображают учебник. Курсор остался в верхнем окне.

>> Нажмите C-M-v для прокрутки нижнего окна.
   (если у вас нет настоящей кнопки META (Alt), то нажмите <ESC> C-v.)

>> Нажмите C-x o ("o" от слова "other" -- другое) для перемещения курсора в
   нижнее окно.
>> Используйте C-v и M-v в нижнем окне, для прокрутки текста.
   Продолжите чтение этих инструкций в верхнем окне.

>> Нажмите C-x o снова, чтобы переместить курсор назад в верхнее окно.
   Курсор в верхнем окне там же, где и был до того.

Вы можете продолжать переключаться между окнами, используя C-x o. Каждое
окно хранит свою позицию курсора, но только одно показывает курсор.  Все
обычные команды редактирования применяются к окну, в котором отображается
курсор.  Мы называем это окно "выбранным" ("selected window").

Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, а
второе используете в качестве справочника.  Вы можете всегда сохранять
курсор в окне редактирования и последовательно продвигаться во втором,
используя C-M-v.

C-M-v -- пример CONTROL-META символа.  Если у вас есть настоящая кнопка META
(Alt), то вы можете набрать C-M-v, нажав одновременно CONTROL и META и, не
отпуская их, нажать v.  И не важно, какая из клавиш будет нажата первой,
CONTROL или META, поскольку эти кнопки модифицируют тип символа.

Если у вас нет настоящей кнопки META, и вместо нее вы используете <ESC>, то
порядок должен быть следующим: вы должны нажать <ESC>, а затем CTRL-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 LEVELS)
--------------------------------------------------------------

Иногда вы будете попадать в так называемые "рекурсивные уровни
редактирования".  На это указывают прямоугольные скобки в строке статуса,
окружающие обычные скобки вокруг имени основного режима. Например, вы
увидите [(Fundamental)] вместо (Fundamental).

Чтобы выйти из рекурсивных уровней редактирования, нажмите <ESC> <ESC>
<ESC>.  Это многоцелевая команда "выход". Вы также можете использовать ее,
как для уничтожения лишних окон, так и для выхода из мини-буфера.

>> Нажмите M-x, чтобы попасть в мини-буфер, а затем нажмите <ESC> <ESC>
   <ESC>, чтобы покинуть его.

Вы не можете использовать C-g, для выхода из рекурсивных уровней
редактирования. Это потому, что C-g используется для отмены команды и
аргументов БЕЗ рекурсивных уровней редактирования.


* КАК ПОЛУЧИТЬ ДОПОЛНИТЕЛЬНУЮ ПОМОЩЬ
------------------------------------

В этом учебнике мы попытались снабдить вас только той информацией, которая
поможет вам начать пользоваться Emacs.  Очень много информации доступно в
Emacs, и невозможно всю ее представить здесь. Однако, вы можете выучить
больше возможностей Emacs и узнать другие полезные особенности. Emacs
предоставляет команды для чтения документации о командах Emacs. Эти команды
"справки" ("help") все начинаются с символа CONTROL-h, который является
"символом помощи".

Чтобы использовать возможности справки, нажмите C-h, и затем символ, который
расскажет, какой именно вид справки вы хотите получить.  Если вы
ДЕЙСТВИТЕЛЬНО растерялись, наберите C-h ?, и Emacs расскажет вам о том,
какую справку он может вам предоставить. Если вы нажали C-h и передумали
обращаться к справке, то просто нажмите C-g, чтобы отменить эту команду.

(Кое-где переназначают символ C-h.  Реальной необходимости в этом нет, и
если это так, то сообщите об этом системному администратору.  Тем временем,
если C-h не вызывает сообщение помощи внизу экрана, то попробуйте вместо
этого нажать клавишу F1 или набрать M-x help RET).

Одна из самых главных функций справки -- C-h c. Нажмите C-h, затем c, и
символ команды или последовательность, и Emacs отобразит краткое набранной
описание команды.

>> Нажмите C-h c C-p.

Сообщение должно выглядеть примерно так:

	C-p runs the command previous-line
      (C-p выполняет команду previous-line {предыдущая-строка})

Вам сообщают "имя функции". Имена функций используются в основном для
настройки и расширения Emacs. Имена функций выбраны так, чтобы показать, что
именно команда делает, а также они позволяют с помощью этой краткой
информации легче запомнить уже выученные команды.

Многосимвольные сочетания клавиш, такие как C-x C-s и (если у вас нет кнопки
META или EDIT или ALT) <ESC>v также будут доступны для получения справки с
помощью C-h c.

Вы можете получить больше информации о команде используя C-h k вместо C-h c.

>> Наберите C-h k C-p.

Вы увидите описание функции, а также ее имя в отдельном окне Emacs. Когда вы
завершите чтение, нажмите C-x 1, чтобы избавиться от текста справки.  Вы
можете выполнить изменение текста во время просмотра текста справки, а
только затем нажать C-x 1.

Есть еще несколько полезных функций, доступных через C-h:

   C-h f	Описывает функцию. Вам необходимо набрать имя функции.

>> Попробуйте набрать C-h f previous-line<Return>.
   Это распечатает информацию Emacs о функции, которая выполняется командой
   C-p.

Аналогичная команда C-h v отображает документацию о переменных, значение
которых вы можете изменить для настройки поведения Emacs. Вам нужно набрать
имя переменной, когда Emacs запросит его.

   C-h a (Hyper Apropos). Введите ключевое слово и Emacs покажет вам список
         всех функций и переменных, имена которых содержат это
         слово. Команды, которые могут быть вызваны через Meta-x, будут
         отмечены звездочкой слева.

>> Наберите C-h a file<Return>.

Это отобразит в другом окне список всех команд M-x у которых в именах
содержится слово "file". Также в списке кроме команд таких, как find-file,
вы увидите соответствующие символьные команды такие, как C-x C-f.

>> Наберите C-M-v для прокрутки окна справки. Выполните это несколько раз.

>> Наберите C-x 1 для удаления окна справки.

   C-h i Читать интерактивные руководства (так называемые Info). Эта команда
         переходит в специальный буфер с именем `*info*', где вы можете
         читать интерактивные руководства для пакетов, установленных в вашей
         системе.  Наберите m emacs <Return> для чтения руководства по
         Emacs.  Если вы никогда ранее не использовали Info, то наберите ? и
         Emacs откроет учебник по возможностям режима Info. Однажды
         ознакомившись с этим учебником, вы должны использовать руководство
         Emacs Info в качестве основной документации.


* ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
----------------------------

Вы можете узнать больше о Emacs читая его руководство, книги или
интерактивный справочник (используйте меню Help или наберите F10 h r).  Вам
особенно понравятся две функции -- дополнение, которое сокращает количество
нажимаемых клавиш, и dired, который облегчает работу с файлами.

Дополнение используется для того, чтобы избежать набора лишних символов.
Например, если вы хотите переключиться в буфер *Messages*, то вы можете
набрать C-x b *M<Tab> и Emacs заполнит остаток имени буфера, поскольку он
может определить его из того, что вы уже набрали.  Дополнения описаны в
Info-версии руководства по Emacs в разделе "Completion".

Dired позволяет вам отображать список файлов в каталоге (а также
подкаталогах, в зависимости от настройки), перемещаться по списку файлов,
открывать их, переименовывать, удалять и выполнять прочие действия над
файлами.  Dired описан в Info-версии руководства по Emacs в разделе "Dired".

В руководстве также описаны прочие возможности Emacs.


* ЗАКЛЮЧЕНИЕ
------------

Запомните, что для того чтобы совсем выйти из Emacs, используется сочетание
клавиш C-x C-c. А чтобы временно выйти в оболочку (shell) и потом вернуться
обратно, используйте C-z.

Этот учебник должен быть понятен всем новым пользователям, но если вы
найдете что-нибудь неясное, не нужно сидеть и порицать себя -- жалуйтесь!


* УСЛОВИЯ РАСПРОСТРАНЕНИЯ
-------------------------

Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды
написанного Stuart Cracraft для оригинального Emacs.

Эта версия учебника, как и GNU Emacs, защищена правами копирования
(copyrighted), и приходит с ограничениями распространения копий со
следующими соглашениями:

Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
   2005 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.

Условия копирования самого Emacs более сложные, но примерно в том же духе.
Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs вашим
друзьям. Помогите уничтожить обструкционизм в области программного
обеспечения ("владение"), используя, создавая и распространяя свободное
программное обеспечение!

// замечания, исправления ошибок с жду по адресу alexott@gmail.com.
// Alex Ott.

;;; Local Variables:
;;; coding: cyrillic-koi8
;;; sentence-end-double-space: nil
;;; End:

;;; arch-tag: ad4e5698-ea8b-45b7-b236-ed5ad5b72d2b