annotate etc/TUTORIAL.ru @ 5894:23178aa71f8b

Define ALIGNOF using C11 and C++11 operators. See <CAHCOHQmG51R61KwGUNY7T5t9tXxzbyg=aGijUKYstbE+wL2-6Q@mail.gmail.com> in xemacs-patches for more information.
author Jerry James <james@xemacs.org>
date Mon, 20 Apr 2015 15:09:11 -0600
parents 3ecd8885ac67
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 Copyright (c) 1985, 1996 Free Software Foundation, Inc. See end for conditions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 Вы читаете учебник Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 Для управления Emacs обычно используется клавиша CONTROL (иногда отмечаемая как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 CTRL или CTL) или клавиша META. На некоторых клавиатурах, клавиша META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 отмечена ALT или EDIT или как-нибудь еще (например, на клавиатурах Sun,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 "the diamond key" слева от пробела и есть META). Если у вас нет клавиши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 META, вы можете использовать ESC вместо нее. Далее вместо META или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 CONTROL каждый раз мы будем использовать префиксный символ в следующих
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 сокращениях:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 C-<chr> следует удерживать клавишу CONTROL пока набирается символ <chr>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 Так, C-f должно означать: нажать клавишу CONTROL и f.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 M-<chr> следует удерживать клавишу META пока набирается символ <chr>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 Если таковой нет, нажмите <ESC>, отпустите ее, потом символ <chr>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 Важное замечание: для завершения сеанса Emacs, наберите C-x C-c. (Два
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 символа). Символы ">>" с левой стороны указывают, что вам нужно делать,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 чтоб применить команду. Например:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 >> Теперь нажмите C-v (Просмотр следующего экрана) для перемещения на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 следующий экран. (идите вперед, удерживая клавишу Control нажимая v).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 Теперь вы должны это сделать еще раз, когда закончите читать экран.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 Обратите внимание на то, что, пока вы движетесь с экрана на экран,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 перекрываются две строчки; это обеспечивает некоторую непрерывность, таким
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 образом вы можете продолжать читать текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 Первое что вам необходимо знать - как передвигаться по тексту из одного места
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 в другое. Вы уже знаете, как передвинуть вперед один экран, используя C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 Для перемещения назад одного экрана, нажмите M-v (удерживайте клавишу META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 и наберите v, или нажмите <ESC>v если у вас нет клавишу META, EDIT, или ALT).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 >> попробуйте набрать M-v и потом C-v, несколько раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 * КРАТКО
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 ---------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 Следующие команды используются для просмотра:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 C-v Перейти на один экран вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 M-v Перейти на один экран назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 C-l Очистить экран и отобразить все заново, разместив
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 текст, находящийся возле курсора, в центре экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 (Это control-L, не control-1.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 >> Найдите курсор, и запомните текст возле него.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 Потом нажмите C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 Найдите курсор снова и убедитесь, что возле него все тот же текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 * БАЗОВОЕ УПРАВЛЕНИЕ КУРСОРОМ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 -----------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 Движение от экрана к экрану удобно, но как переместиться в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 определенное место по тексту на экране?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 Есть насколько путей, чтобы сделать это. Основной путь - использовать команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 C-p, C-b, C-f, и C-n. Каждая из этих команд передвигает курсор на одну
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 строку или колонку на экране в определенном направлении. Эта таблица
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 показывает четыре команды и четыре направления движения:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 Предыдущая строка, C-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 Назад, C-b .... Текущая позиция курсора .... Вперед, C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 Следующая строка, C-n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 >> Переместите курсор на строку рядом с диаграммой, используя C-n или C-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 Потом, нажмите C-l и посмотрите как диаграмма разместится в центре экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 Вам будет несложно запомнить по буквам (// нда, зная английский - совсем
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 легко ) : P-предыдущий (previous), N-следующий (next), B-назад (backward) и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 F-вперед (forward). Это основные команды позиционирования курсора, которыми Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 будете пользоваться ВСЕГДА, так что будет неплохо их выучить.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 >> Нажмите несколько раз C-n чтоб опустить курсор вниз на эту строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 >> Переместитесь по строке, используя C-f и потом поднимитесь вверх с помощью
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 C-p. Посмотрите, как изменилось положение курсора при нажатии С-р, если он
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 находился в середине строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 Каждая строка текста завершается символом НоваяСтрока (Newline character),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 который отделяет ее от следующей строки. Последняя строка в вашем файле
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 должна бы тоже завершаться символом НоваяСтрока (но Emacs не требует этого).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 >> Попробуйте использовать C-b в начале строки. Курсор должен переместиться на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 конец предыдущей строки. Это происходит потому, что он движется назад через
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 символ НоваяСтрока.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 C-f может перемещать курсор через НовуюСтроку так же, как и C-b.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 >> Попробуйте несколько раз применить C-b, так чтобы Вы увидели, как движется
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 курсор.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 Далее используйте C-f чтобы вернуться на конец строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 Нажмите C-f еще раз, чтобы перейти к началу следующей строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 за экраном, сдвигается внутрь экрана. Это называется "скроллинг". Скроллинг
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 позволяет Emacs`у перемещать курсор в нужное место текста без перемещения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 его за пределы экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 >> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 и посмотрите, что изменится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 Если посимвольное перемещение слишком медленно, Вы можете двигаться по
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 словам. M-f (Meta-f) перемещает вперед на слово, а M-b назад на слово.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 >> Нажмите несколько раз M-f и M-b.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 Если курсор нах. в середине слова, M-f переместит его в конец слова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 Если курсор нах. между словами, M-f переместит его в конец
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 следующего слова. M-b работает точно так же в противоположном направлении.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 >> Нажмите M-f и M-b несколько раз, перемежая с C-f и C-b - так вы сможете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 заметить действия M-f и M-b из разных позиций в словах и между ними.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 Отметьте параллель между C-f и C-b с одной стороны, и M-f и M-b с другой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 Очень часто Meta-символы используются для соответствующих операций над
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 единицами, определенными в языке (слова, предложения, абзацы), когда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 Control-символы оперируют основными единицами, независимо от того, что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 Вы редактируете (символы, строки, и т.д.).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 Эта параллель существует между строками и предложениями: C-a и C-e перемещает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 курсор в начало и конец строки, а M-a и M-e перемещает курсор в начало и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 конец предложения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 >> Попробуйте нажать пару раз C-a, и потом пару раз C-e.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 Попробуйте пару раз нажать M-a, после этого пару раз нажать M-e.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 Посмотрите, что повтор C-a ничего не изменяет, а повтор M-a продолжает движение
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 курсора к следующему предложению. Это не сохраняет аналогию, но выглядит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 естественно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 Положение курсора в тексте также называют "точка". Скажем иначе: курсор
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 показывает место на экране в какой точке будет расположен вводимый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 Здесь собраны простые команды перемещения курсора, включая движение по словам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 и предложениям:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 C-f На символ вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 C-b На символ назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 M-f На слово вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 M-b На слово назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 C-n На следующую строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 C-p На предыдущую строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 C-a В начало строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 C-e В конец строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 M-a Назад, в начало предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 M-e Вперед, в конец предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 >> Попробуйте сейчас на практике применить несколько раз все эти команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 Это наиболее используемые команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 Две другие важные команды движения курсора M-< (Meta Less-then {Меньше-Чем}),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 которая перемещает курсор в начало текста, и M-> (Meta Greater-than {Больше-Чем}),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 которая перемещает курсор в конец текста.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 На большинстве терминалов символ "<" находится над точкой, и вы должны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 использовать клавишу Shift чтоб набрать его. На этих терминалах вы так же
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 должны использовать Shift чтоб набрать M-<; Без удержания клавиши Shift вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 наберете M-точка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 >> Сейчас попробуйте M-<, чтоб переместиться в начало учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 Потом используйте C-v чтоб вернуться назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 >> Сейчас попробуйте M->, что переместиться к концу учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 Используйте M-v чтоб вернуться снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 Курсор можно перемещать стрелочками, если Ваш терминал имеет их.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем причинам. Первое, они
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 работают на любых терминалах. Второе, однажды получив практику использования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 Emacs, вы поймете, что использовать CTRL-символы удобнее и быстрее, чем кнопки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 со стрелочками (потому что вы не убираете руки с обычного их положения при
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 печати). Третье, как только вы привыкните использовать CTRL-символы, вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 сможете так же легко выучить и использовать другие, более специальные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 команды перемещения курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 Большинство команд Emacs`а допускают цифровой аргумент; для большинства
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 команд, это служит счетчиком повторения. Чтоб задать счетчик повторения для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 команды, нажмите C-u, потом число повторений, укажите команду. Если у
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 вас есть клавиша META (или EDIT или ALT), есть другой способ задать цифровой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 аргумент: наберите цифры, удерживая кнопку META. Мы рекомендуем освоить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 использование C-u, т.к эта последовательность клавиш работает на любом терминале.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Например, C-u 8 C-f переместит курсор на восемь символов вперед.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 >> Попробуйте использовать C-n или C-p с цифровым аргументом, чтобы переместить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 курсор на строку рядом с этой командой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 Многие команды используют числовой аргумент как счетчик повторений. Но есть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 исключения. Такие исключения - C-v и M-v .
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 При получении числового аргумента, они скроллируют экран вверх или вниз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 на указанное число строк, вместо такого же числа экранов. Например, C-u 4 C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 прокрутит экран на 4 строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 >> Сейчас попробуйте комбинацию C-u 8 C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 Эта команда должна прокрутить экран на 8 строк вверх. Если вы хотите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 прокрутить его вниз, можете задать аргумент для M-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 Если вы используете X Window, вероятно есть прямоугольник именуемый полоса
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 прокрутки (scroll bar) с справой стороны окна Emacs. Вы можете скроллировать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 текст, манипулируя мышью.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 >> Попробуйте нажать среднюю кнопку мышки вверху подсвеченной области
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 внутри полосы прокрутки. Текст должен прокрутиться до позиции,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 определенной тем, как высоко или низко вы нажмете.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 >> Перместите мышку в точку полосы прокрутки возле третей строки сверху
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 и нажмите левую кнопку пару раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 * УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 ------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 Если у вас X-терминал, вам, вероятно, покажется более легким использовать клавиши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 на keypad`е для управления курсором. Стрелки влево, вправо, вверх и вниз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 передвигают курсор в ожидаемом направлении; они функционируют точно как C-b,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 C-f, C-p, и C-n, но легче в наборе и запоминании. Вы так же можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 использовать C-left и C-right для передвижения по словам, и C-up и C-down для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 передвижения по блокам (т.е. параграфам, если вы редактируете текст). Если у
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 вас есть кнопка помеченная HOME (или BEGIN) и END, то они будут перемещать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 курсор в начало и конец строки, соответственно, и C-home и C-end будут
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 перемещать в начало и конец файла. Если на вашей клавиатуре есть кнопки PgUp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 и PgDn, вы можете их использовать для перемещения вверх и вниз поэкранно, как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 M-v и C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 Все эти команды могут получать цифровой аргумент, как рассказано выше.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 Вы можете использовать shortcut для ввода этого аргумента: просто нажмите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 CONTROL или META и наберите число. Например, для перемещения на 12 слов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 вправо, наберите C-1 C-2 C-right. Запомните что так очень легко набирать,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 потому что вы не отпускаете кнопку CONTROL между нажатиями.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 * ЕСЛИ EMACS ЗАВИС
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 ------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 Если Emacs перестал реагировать на ваши команды, вы можете остановить это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 просто нажав C-g. Вы можете использовать C-g чтоб остановить команду которая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 слишком долго выполняется.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 Вы так же можете использовать C-g для отмены цифрового аргумента или начатой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 команды которую вы не хотите завершать.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 >> Наберите C-u 100 для задания аргумента 100, потом нажмите C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 Теперь нажмите C-f. Курсор должен переместиться всего на один символ,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 потому что вы отменили аргумент нажатием C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 Если вы нажали <ESC> по ошибке, вы так же можете избавиться от этого нажатием
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 * ВЫКЛЮЧЕННЫЕ КОМАНДЫ (DISABLED COMMANDS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 -----------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 Некоторые команды Emacs "выключены" так как начинающие пользователи могут их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 использовать случайно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 Если вы набрали одну из выключенных команд, Emacs покажет сообщение говорящее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 какая команда вызывается, и спросит, хотите ли вы продолжить и выполнить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 команду.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 Если вы действительно хотите попробовать команду, нажмите Пробел (Space) в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 ответ на этот вопрос. Обычно, если вы не хотите выполнять выключенную
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 команду, отвечайте на вопрос "n".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 >> Нажмите `C-x n p' (выключенная команда), потом ответьте "n" на вопрос.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 * ОКНА
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 ------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 Emacs может иметь несколько окон, каждое отображает свой текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 Заметьте, "окно" используемое Emacs`ом это не отдельные перекрывающееся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 окна в оконной системы, это отдельные области в одном окне X window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 (Emacs так же может иметь несколько окон X windows, или "кадров" ("frames")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 в терминологии Emacs. Это будет описано позже.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 На этой стадии лучше не погружаться в технологию использования множества
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 окон. Но вам нужно знать, как избавляться от лишних окон, которые могут
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 появляться чтоб отобразить помощь, или вывод определенных команд. Это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 просто:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 C-x 1 Одно окно. (закрыть все другие окна).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 Это Control-x со следующей цифрой 1. C-x 1 развернет окно которое содержит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 курсор, так, чтоб оно заняло весь экран. Это удалит все другие окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 >> Переместите курсор на эту строку и нажмите C-u 0 C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 (Запомните что C-l перерисовывает экран. Если вы задаете цифровой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 аргумент для этой команды, это значит "перерисовать экран и поместить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 текущую строку на столько-то строк от начала экрана." Так C-u 0 C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 означает "перерисовать экран, поместить текущую строку в начале.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 >> Наберите Control-x 2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 Посмотрите, как текущее окно сожмется, когда новое появится и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 отобразит содержимое этого буфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 >> Наберите C-x 1 и посмотрите как окно исчезнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 * ВСТАВКА И УДАЛЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 Если вы хотите вставить текст, просто наберите текст. Символы, которые вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 можете видеть, такие как A, 7, *, и пр. понимаются Emacs`ом как текст и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 вставляются немедленно. Нажмите <Return> (кнопка перевода каретки) для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 вставки символа НоваяСтрока.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 Вы можете удалить последний набранный символ нажимая <Delete>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 Клавиша <Delete> на клавиатуре может быть обозначена как "Del".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 В некоторых случаях, клавише "Backspace" работает как <Delete>,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 но не всегда!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 В основном, <Delete> удаляет символ непосредственно перед текущей позицией
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 >> Попробуйте это сейчас -- наберите несколько символов, потом удалите их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 нажимая <Delete> несколько раз. Не волнуйтесь о изменениях этого файла;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 вы не изменяете главный учебник. Это ваша личная копия учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 Когда строка текста становится слишком большой для строки экрана, строка
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 текста "продолжается" на следующей строке экрана. Символ "обратное деление"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 ("\") с правой границы показывает, что строка будет продолжена.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 >> Вставляйте текст, пока не достигните правой границы, и продолжайте вставку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 Вы увидите, как появится символ продолжения строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 >> Используйте <Delete> для удаления текста, пока строка не поместится в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 экран снова. Символ продолжения строки исчезнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 Можно удалять символ НоваяСтрока так же, как и любой другой. Удаление символа
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 НоваяСтрока между двумя строками приведет к склейке их в одну. Если
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 результирующая строка слишком длинная, чтобы вместиться в экран, она будет
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 отображена как продолженная строка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 >> Переместите курсор в начало строки и нажмите <Delete>. Это соединит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 текущую строку и предыдущую.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 >> Нажмите <Return> для вставки символа НоваяСтрока снова, вместо
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 удаленного вами.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 Помните, что многие команды Emacs могут получать счетчик повторения;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 простые символы не исключение. Неберайте простые символы вставляя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 их по несколько за один раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 >> Попробуйте это -- наберите C-u 8 * для вставки ********.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 Теперь вы научились основному способу набрить что-нибудь в Emacs и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 исправлять ошибки. Так же вы можете удалять слова и строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 Здесь собраны операции удаления:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 <Delete> удалить символ перед курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 C-d удалить символ следующий за (над) курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 M-<Delete> Убить строку непосредственно перед курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 M-d Убить слово следующее за курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 C-k Убить все от курсора до конца строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 M-k Убить все до конца предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 Заметьте, что <Delete> и C-d против M-<Delete> и M-d расширяют параллель
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 начатую, C-f и M-f (да, <Delete> это не реальный control-символ, но
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 не нужно волноваться об этом). C-k и M-k как и C-e и M-e, проводят
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 параллель между строками и предложениями.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 Когда вы удаляете более чем один символ сразу, Emacs сохраняет удаленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 текст, чтобы вы могли вернуть его обратно. Возврат текста, удаленного ранее,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 называют "восстановление" ("yanking"). Вы можете восстановить удаленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 текст в том же месте, или в любом другом. Вы можете восстановить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 текст несколько раз и получить много копий. Команда "восстановить" - C-y.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 Заметьте, что есть разница между "удалить" и "убить" что-нибудь. "Убитое"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 может быть восстановлено назад, а удаленное - нет. Обычно, команды, которые
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 могут убирать много текста, сохраняют его, а команды, удаляющие один символ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 или просто пустую строку, не сохраняют удаленное.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 >> Переместите курсор на начало непустой строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 Теперь нажмите C-k чтоб убить текст в этой строке.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 >> Нажмите C-k еще раз. Вы видите, что это убъет символ НоваяСтрока
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 следующий за этой строкой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 Заметьте что первое C-k убивает содержимое строки, а второе C-k убивает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 саму строку и поднимает другие строки вверх. C-k обрабатывает числовой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 аргумент специальным образом: убивает много строк _И_ их содержимое.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397 это не просто повторение. C-u 2 C-k уб`ет две строи и завершающие их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 символы НоваяСтрока; Ввод C-k дважды не сделает этого.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 Для того чтоб вернуть последний убитый текст в место расположение курсора
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 наберите C-y.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 >> Попробуйте это; наберите C-y чтоб вернуть текст назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 Думайте о C-y как о способе вернуть что-то назад, что вы потеряли.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 Помните, если вы использовали несколько C-k' в строке, все убитые строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 будут сохранены вместе, так, что C-y восстановит их вместе.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 >> Попробуйте это сейчас, нажмите C-k несколько раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 Теперь вернем этот убитый текст:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 >> Нажмите C-y. Теперь переместите курсор на несколько строк вниз, и снова
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 нажмите C-y. Сейчас вы видите как можно скопировать некоторый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 Что делать если есть некоторый текст, который вы хотите вернуть назад и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 потом убить что-то еще? C-y вернет не более чем последний удаленный текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 Но предыдущий текст не будет потерян. Вы сможете его вернуть назад используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 команду M-y. После того как вы вернули последний удаленный текст, нажмите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 M-y, и замените этот восстановленный текст тем, который был убит ранее.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 Нажатие M-y снова и снова будет возвращать все ранее и ранее убитый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 Когда вы достигните искомого текста, вам не нужно делать ничего более чтоб
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 сохранить его. Просто продолжайте редактирование, оставив восстановленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 текст там, где он есть.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 (наиболее раннее удаление).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 >> Убейте строку, покрутитесь курсором вокруг, потом удалите еще одну строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 Затем используйте C-y для восстановления второй убитой строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 Затем используйте M-y и она будет заменена первой убитой строкой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 Нажмите еще несколько раз M-y чтоб увидеть что получится. Продолжайте
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 делать это пока вторая убитая строка не вернется, и еще чуть-чуть.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 Если вам хочется, вы можете задавать для M-y положительные и отрицательны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 аргументы.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 * ОТМЕНА (UNDO)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439 ---------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 Если вы сделали изменения в тексте, и решили, что ошиблись, можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442 отменить изменения командой "отмена", C-x u.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 Обычно, C-x u отменяет изменения, сделанные одной командой; если повторить C-x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445 u несколько раз подряд, каждый раз будет отменяться еще одна команда.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 Но есть два исключения: команды которые не изменяют текст не учитываются (это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 включает команды перемещения курсора и прокрутки), и самовставляющиеся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 (self-inserting) символы обрабатываются группами до 20. (Это уменьшает число
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 C-x u которые вы можете набрать для отмены ввода текста.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 >> Убейте эту строку используя C-k, затем наберите C-x u
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453 и она должна вернуться назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 C-_ альтернативная команда отмены; она работает также как и C-x u, но легче в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 использовании несколько раз подряд. Неудобное положение C-_ а на некоторых
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 клавиатурах делает неочевидным способ ее набора. Поэтому мы предлагаем C-x u
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458 к использованию. На некоторых терминалах, вы можете набирать C-_ нажимая / и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 удерживая клавишу CTRL.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 Числовой аргумент для C-_ или C-x u работает как счетчик повторения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 * ФАЙЛЫ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 Чтобы созданный текст можно было редактировать позже, вы должны его
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 поместить в файл. Иначе, он исчезнет когда вы выйдите из Emacs. Вы помещаете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469 ваш текст в файл "открывая" файл. (Еще это называют "прийти" в файл.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 (// в оригинале термины "finding", и "visiting")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 Открыть файл означает посмотреть его содержимое используя Emacs. Во многих
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 случаях, это происходит когда вы редактируете файл сами. Однако ваши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474 изменения, сделанные с использованием Emacs не будут зафиксированы, пока вы не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475 "сохраните" ("save") файл. Так вы можете не оставлять полуизмененный файл в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 системе, если вы не хотите этого. Даже когда вы сохраняете файл, Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477 оставляет оригинальный файл с измененным именем, чтоб вы могли позже решить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
478 что ваши изменения были ошибочны.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480 Если посмотреть в нижнюю часть экрана, вы увидите строку которая начинается с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481 тире и содержит строку "Emacs: TUTORIAL.ru". Эта часть экрана всегда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 показывает имя файла который вы открыли. Итак, сейчас вы открыли файл с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 именем "TUTORIAL.ru" который является вашей персональной копией учебника
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484 Emacs. Любой файл который вы откроете, это имя файла с добавленной маленькой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485 крапинкой. (Whatever file you find, that file's name will appear in that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 precise spot.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
488 Команды для открытия и сохранения файла в отличии от других команд, которые вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489 уже выучили, требуют двух символов. Они оба начинаются с символа Control-x.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490 Большая серия команд начинается с символа Control-x; Многие их них работают с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 файлами, буферами и похожими вещами. Это команды в два, три или четыре
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492 символа длиной.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
493
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 Следующее, что вам нужно знать о команде открытия файла - это то, что вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495 должны ввести имя файла, который нужно читать. Мы это называем команда "читающая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496 аргумент с терминала" (в этом случае, аргумент это имя файла). После ввода
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497 команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499 C-x C-f Открыть (найти) файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501 Emacs попросит вас ввести имя файла. Имя файла вы наберете в нижней строке
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502 экрана. Нижняя строка называется минибуфер, он используется для короткого
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 ввода. Вы можете использовать обычные команды редактирования Emacs для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504 редактирования имени.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506 Когда вы вводите имя файла (или любую информацию в минибуфер), вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507 отменить команду нажав C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509 >> Нажмите C-x C-f, затем нажмите C-g. Это отменит минибуфер, и команду
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510 C-x C-f которая использовала минибуфер. В итоге, вы не открыли ни одного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513 Когда вы завершите ввод имени файла, нажмите <Return>. Далее сработает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 команда C-x C-f, и откроет файл выбранный вами. Минибуфер исчезнет когда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 команд C-x C-f завершится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517 И мгновением позже содержимое файла появится на экране, и вы сможете его
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 редактировать. Когда вы закончите редактирование, чтобы сохранить изменения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519 наберите команду
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
521 C-x C-s Сохранить файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
522
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
523 Это скопирует текс из Emacs в файл. В первый раз, когда вы это сделаете,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 Emacs переименует оригинальный файл с новым именем, чтобы он не потерялся.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
525 Новое имя получается добавлением символа "~" к оригинальному имени файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 Когда сохранение завершится, Emacs напечатает имя записанного файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528 Вы должны сохранять изменения достаточно часто, так чтобы не потерять
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
529 много работы если вдруг система погибнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
530
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531 >> Наберите C-x C-s, сохраните вашу копию учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
532 Должна появиться надпись "Wrote ...TUTORIAL.ru" в нижней строке экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534 ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заморозит экран и вы не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
535 увидите последующего вывода Emacs`а. Это означает что операционная система
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536 имеет "особенность" именуемую "flow control" перехватывающую C-s и не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537 пропускающую этот символ к Emacs`у. Для разморозки экрана, нажмите C-q.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
538 Смотрите раздел "Spontaneous Entry to Incremental Search" руководства Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539 чтобы узнать как бороться с этой "особенностью".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541 Вы можете открыть существующий файл для просмотра или редактирования. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542 так-же можете найти файл, который еще не существует. Другими словами -
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543 создать файл с помощью Emacs: найти файл, создать новый, и начать вводить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544 текст. Когда вы скажите "сохрани" файл, Emacs создаст реальный файл с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
545 набранным вами текстом. Далее, как вы поняли, вы будите редактировать уже
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546 существующий файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549 * БУФЕРА
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
550 --------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552 Если вы находите второй файл с использованием C-x C-f, первый остается внутри
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553 Emacs. Вы можете переключиться назад найдя его снова C-x C-f. Это способ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 загрузить несколько файлов в Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 >> Создайте файл с именем "foo" набирая C-x C-f foo <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 Вставьте какой-нибудь текст, отредактируйте его, и сохраните "foo"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558 набрав C-x C-s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559 Наконец, наберите C-x C-f TUTORIAL.ru <Return>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 чтобы вернуться назад к учебнику.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 Emacs сохраняет текст каждого файла внутри в объекте именуемый "буфер"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563 ("buffer"). Открытие файла создает новый буфер внутри Emacs. чтобы увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 список буферов созданных в текущем Emacs наберите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
566 C-x C-b Список буферов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
568 >> Попробуйте C-x C-b сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
569
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
570 Мы видим что каждый буфер имеет имя, и может иметь имя файла, содержимое
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571 которого в нем хранится. Некоторые буфера не соответствуют файлам. Например,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572 буфер названный "*Buffer List*" не содержит никакого файла. В этом буфере
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573 содержится список буферов, который был создан командой C-x C-b. ЛЮБОЙ текст
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574 который ви видите в окне Emacs всегда является частью какого-либо буфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
575
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 >> Наберите C-x 1 чтобы избавиться от списка буферов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578 Если вы изменяете текст одного файла, потом открываете другой, то первый
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579 остается не сохраненным. Изменения останутся внутри Emacs, в файловом буфере.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
580 Создание или редактирование следующего файлового буфера не сказывается на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581 первом буфере. Это очень удобно, но имейте в виду что вам нужно иметь удобный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582 способ сохранить первый файловый буфер. Было бы неприятно каждый раз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
583 возвращаться назад с помощью C-x C-f и потом использовать C-x C-s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
584 Поэтому существует
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
586 C-x s Сохранить некоторые буфера. (Save some buffers)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
587
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
588 C-x s спрашивает вас о каждом буфере который содержит не сохраненные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
589 изменения. Для каждого такого буфера у вас спрашивают сохранять или не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
590 сохранять изменения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
592 >> Вставьте строку текста, потом наберите C-x s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593 У вас должны спросить сохранять ли буфер с именем TUTORIAL.ru.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 Ответьте на вопрос да набрав "y".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 * ИСПОЛЬЗОВАНИЕ МЕНЮ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
598
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
599 Если у вас X-терминал, вы заметите полосы меню вверху экрана Emacs. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600 можете использовать это меню для доступа ко всем наиболее общим командам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601 Emacs, такие как "открыть файл" ("find file"). Вы сразу найдете что это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 просто, потому что вам не нужно запоминать сочетания клавиш необходимых для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603 доступа к каждой команды. Когда вы привыкните к Emacs, вам будите легко
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604 использовать клавиатурные команды, потому что каждом пункте меню, к которому
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605 привязана сочетание клавиш, написано это сочетание.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607 Заметим что много пунктов меню не содержат клавиатурные эквиваленты.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
608 Например, список меню со всеми доступными буферами. Вы можете переключить в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
609 любой буфер Просто найдя его имя в меню буферов (Buffers menu) и выбрав его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612 * ИСПОЛЬЗОВАНИЕ МЫШИ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
614
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
615 Выполняемый в X, Emacs полностью интегрирован с мышью. Вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
616 позиционировать курсор нажатием левой кнопки в желаемом месте, вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
617 отмечать текст потянув мышку с нажатой левой кнопкой через ту часть, которую
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
618 хотите отметить. (Или кликнуть левой кнопкой мышки в одном конце текста,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619 затем переместиться в другой, и кликнуть еще раз, удерживая Shift чтобы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
620 отметить текст.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
621
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
622 чтобы убить некоторый выделенный текст, вы можете использовать C-w или выбрать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623 пункт меню "Вырезать" ("Cut") из меню "Редактировать" ("Edit"). Заметьте, что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 это *не* одно и то же: C-w сохраняет текст только внутри Emacs (аналогично C-k
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625 описанного ранее), "Вырезать" ("Cut") делает это же, и помещает текст в буфер
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 обмена X (X clipboard), где он может быть доступен другим программам.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 чтобы получить текст из буфера обмена X, используйте команду "Вставить"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629 ("Insert") из меню "Редактировать" ("Edit").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631 Средняя кнопка мыши обычно используется для выбора пунктов (items), видимых на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 экране. Например, если вы вошли в Info (on-line документация Emacs) используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633 C-h i или меню Помощь (Help), вы можете следовать подсвеченным ссылкам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
634 простым нажатием средней кнопки на них. Аналогично, если вы вводите имя файла
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
635 (например в приглашении "открыть файл") и вы нажимаете TAB чтобы увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636 возможные варианты (completions), вы можете кликнуть среднюю кнопку мыши на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
637 одном из вариантов, чтобы выбрать его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
638
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639 Правая кнопка мыши вызывает всплывающее меню (popup menu). Содержимое этого
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
640 меню изменяется в зависимости ото того где вы находитесь, и обычно содержит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
641 несколько часто используемых команд для более простого доступа к ним.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
643 >> Нажмите правую кнопку мыши сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
644
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645 Вам нужно удерживать кнопку нажатой, чтобы сохранить меню открытым.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
646 (// You will have to hold the button down in order to keep the menu up.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
647
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
649 * РАСШИРЕННЫЙ НАБОР КОМАНД
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
650 --------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
651
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
652 У Emacs очень много команд, они могут быть назначены на все control- и meta-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 символы. Emacs обходит это, используя X-команду (eXtend). Есть две
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654 возможности:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
655
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
656 C-x Символ расширения (Character eXtend).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657 За ним следуем один символ.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658 M-x Именнованые расширенные команды (Named command eXtend).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
659 За ним следует имя команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
660
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
661 Это команды которые обычно используются, но вы уже выучили некоторые из них.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662 Вы уже видели: команды работы с файлами C-x C-f - открыть, и C-x C-s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
663 сохранить. Другой пример - завершения работы с Emacs -- это команда C-x C-c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
664 (не волнуйтесь о том, что вы потеряете сделанные изменения, C-x C-c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 предлагает сохранить изменения перед тем как удалит буфер Emacs.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
667 C-z это команда *временного* выхода из Emacs -- вы можете вернуться в туже
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
668 сессию Emacs после.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
669
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670 На системах, которые допускают этого, C-z "приостанавливают" ("suspends")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 Emacs; Возвращают в оболочку (shell), но не закрывают Emacs. В большинстве
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672 оболочек вы можете продолжить работу в Emacs используя команду `fg' или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673 `%emacs'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
674
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675 В системах не поддерживающих приостанов, C-z создает новую оболочку (subshell),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
676 запущенную из-под Emacs чтобы дать вам возможность выполнить другую программу,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
677 и потом вернуться в Emacs; Это не настоящий выход из Emacs. В этом случае,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
678 команда `exit' вернет вас в Emacs из оболочки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
679
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
680 Используйте C-x C-c если вы хотите выйти (log out) из системы. Это также
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
681 используется чтобы выйти из Emacs вызванного из почтовой программы, или другой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
682 утилиты, которая может не знает как справиться с приостановленным Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
683 Обычно, таки если вы не выходите из системы, лучше приостановить Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
684 используя C-z вместо выхода их него.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
685
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
686 Очень много C-x команд. Эти вы уже выучили:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
687
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
688 C-x C-f Открыть файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
689 C-x C-s Сохранить файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
690 C-x C-b Список буферов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
691 C-x C-c Выход из Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
692 C-x u Отмена.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
693
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
694 Именованные расширенные команды используются гораздо реже, или используются
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
695 только в определенных режимах. В качестве примера команда замена строки,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
696 которая заменяет одну строку на другую во всем тексте. Когда вы наберете M-x,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697 Emacs предложит вам ввести имя команды в нижней строке экрана; в нашем случае,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
698 "replace-string". Только наберите "repl s<TAB>" и Emacs дополнит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
699 имя. Завершите имя вводом <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
700
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
701 Команда замены строки (replace-string) требует два аргумента -- строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
702 которая будет заменена, и строка на которую нужно заменить. Вы должны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
703 завершать каждый аргумент вводом <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
704
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705 >> Переместите курсор на две пустые строки ниже этой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
706 Наберите M-x repl s<Return>changed<Return>altered<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
707
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
708 Заметьте как эта строка изменится: вы замените слово c-h-a-n-g-e-d
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709 словом "altered" везде, где оно встретится, ниже позиции курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
712 * АВТОСОХРАНЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
713 ----------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
714
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 Когда вы модифицируете файл, но не сохраняете его, вы можете потерять
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 информацию в случае краха системы. чтобы защитить вас от этого, Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717 периодически записывает каждый файл, который вы редактируете. Автосохранение
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
718 происходит в файл, имя которого такое же, но начинается и заканчивается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
719 символом "#"; например, если ваш файл называется "hello.c", то
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720 автосохраненный файл будет называться "#hello.c#". Когда вы сохраните файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721 обычным способом. Emacs удалит автосохраненный файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
722
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
723 Если система подвисает, вы можете восстановить ваши изменения который были
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 сохранены автоматически, путем открытия нормального файла (файла который вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725 редактировали, не автосохраненного) и затем набрать M-x recover file<return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726 Когда у вас спросят подтверждение, наберите yes<return> чтобы восстановить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 автосохраненные данные.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
730 * ОБЛАСТЬ ЭХО (ECHO AREA)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 -------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733 Если Emacs видит что вы медленно набираете команды, он показывает их вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
734 внизу экрана, в области называемой "область эхо". Область эхо это нижняя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
735 строка экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
736
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
737
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738 * СТРОКА СОСТОЯНИЯ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739 ------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
740
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
741 Строка сразу над областью эхо называется "строка состояния".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742 Выглядит эта строка примерно так:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
743
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
744 --**-XEmacs: TUTORIAL.ru (Fundamental)--L670--66%----------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
745
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
746 Эта строка сообщает полезную информацию о состоянии Emacs и текста, который
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
747 вы редактируете.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
748
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
749 Вы уже знаете что означает имя файла - это файл, который вы открыли. -NN%--
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
750 показывает текущую позицию курсора в тексте; это означает что NN процентов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
751 текста выше чем начало экрана. Если первая строка находится в первой строке
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
752 экрана, вы там увидите --Top-- вместо --00%--. Если последняя строка
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 отображается на экране, там будет --Bot--. Если текст настолько мал, что весь
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754 вмещается в экран, строка состояния сообщит --All--.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
755
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
756 Звездочки в начале строки означают что вы изменяли текст. Как только вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
757 открыли или сохранили файл, эта часть строки будет содержать не звездочки, а
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
758 тире.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
759
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
760 Часть строки статуса внутри скобочек сообщает вам режим редактирования,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
761 которым вы пользуетесь. Стандартный режим - Fundamental, его вы используете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
762 и сейчас. Это пример "основного режима" ("major mode").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
763
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
764 Emacs имеет много различных основных режимов. Некоторые из режимов означают,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
765 что вы редактируете текст на различном языке и/или различные виды текста,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
766 такие как Lisp-режим, Text-режим и пр. В любое время только один основной
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
767 режим активирован, и его название вы можете найти в скобочках, где сейчас
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
768 находится слово "Fundamental" (базовый).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
770 Каждый основной режим имеет несколько отличительных команд. Например, команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
771 создания комментария в программе, и поскольку в каждом языке программирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
772 комментарии записываются по-своему, каждый основной режим вставляет их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
773 по-разному. Каждый основной режим имеет именованную команду, которая включает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
774 его. Например, M-x fundamental-mode - команда, которая переключает в базовый
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
775 (Fundamental) режим.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
776
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
777 Если вы редактируете английский текст, например как этот (//конечно не именно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
778 этот, а TUTORIAL) файл, вы вероятно должны переключиться в Text-режим.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
779
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
780 >> Наберите M-x text-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
781
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
782 Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
783 можите заметить, что M-f и M-b теперь различать апострофы как части слова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
784 Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали апострофы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
785 как разделители слов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
786
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
787 Основной режим обычно делает небольшие изменения, такие как: большинство
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
788 команд делают "туже работу" в каждом из режимов, но их работа отличается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
789 какой-нибудь мелочью.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
790
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
791 Для просмотра документации о вашем текущем основном режиме, нажмите C-h m.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
792
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
793 >> Используйте C-u C-v один раз или более, чтобы расположить эту строку ближе
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
794 к верху экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
795 >> Наберите C-h m, что посмотреть отличия Text-режима от базового.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
796 >> Наберите q чтобы убрать документацию с глаз долой :)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
797
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
798 Основной режим называется основным потому, что есть несколько дополнительных
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
799 (minor) режимов. Дополнительные режимы не альтернативы к основным, они только
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
800 чуть-чуть модифицируют их. Каждый дополнительный режим включается/выключается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
801 независимо от других дополнительных режимов, и независимо от вашего основного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
802 режима. Вы можете использовать основной режим без дополнительных, или с любой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
803 их комбинацией.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
804
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805 Один из дополнительных режимов очень полезен, особенно для редактирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 английского текста - это режим автозаполнения (Auto Fill mode). Когда этот
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
807 режим включен, Emacs разрывает строки между словами автоматически, когда вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
808 вставляете текст и делаете строки слишком длинными.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
809
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
810 Вы можете включить режим автозаполнения набрав M-x auto-fill-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 Когда этот режим включен, его можно выключить - M-x auto-fill-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
812 Если режим включен - команда его выключит, если выключен - включит. Мы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
813 называем это команда "переключения режима".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
815 >> Наберите M-x auto-fill-mode<Return>. Затем вставляйте строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
816 из "фыва " пока не увидите как она разделится на две строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817 Вы должны помещать пробелы между словами, потому что режим автозаполнения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818 разделяет строки только по пробелам.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
819
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
820 Граница обычно выставлена на 70-ти символах, но вы можете изменить ее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
821 используя команду C-x f. Вы должны задать границу в виде числового аргумента
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
822 для этой команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
823
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
824 >> Введите C-x f с аргументом 20. (C-u 2 0 C-x f).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
825 затем вводите какой-нибудь текст, и смотрите как Emacs заполняет линии
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
826 по 20 символов в каждой. Верните значение границы 70 назад, используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
827 C-x f снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
828
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829 Если вы сделали изменения в середине параграфа, автозаполнение не перестроит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
830 текст для вас. Чтобы перестроить параграф, наберите M-q (Meta-q) в то время,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
831 когда курсор будет внутри параграфа.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833 >> Переместите курсор в предыдущий параграф, и нажмите M-q.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
834
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
835
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
836 * ПОИСК
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
837 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
838
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 Emacs умеет искать строки (это непрерывные группы символов или слова) вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
840 по тексту, или назад. Поиск строки это команда перемещения курсора; она
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
841 перемещает курсор в следующую точку, где найдена искомая строка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
842
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
843 Команда поиска Emacs отличаются от аналогичных команд большинства других
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
844 редакторов тем, что она инкрементальная. Это означает что поиск происходит по
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845 мере того как вы набираете искомую строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 Команда, начинающая поиск вперед - C-s, и C-r ищет назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 ПОДОЖДИТЕ! Не нужно пробовать это прямо сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850 Когда вы нажмете C-s вы увидите строку "I-search", появившуюся в области эхо.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
851 Вам сообщается что Emacs ждет ввода слова, которое вы хотите найти.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
852 <Return> завершает поиск.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854 >> Теперь, нажмите C-s для начала поиска. Медленно, одну букву за один раз,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 набирайте слово, 'курсор', останавливаясь после каждой введенной буквы,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
856 замечая что происходит с курсором.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
857 Сейчас вы нашли первое вхождение слова "курсор".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
858 >> Нажмите C-s снова, чтобы найти следующее вхождение слова "курсор".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859 >> Теперь нажмите <Delete> четыре раза и проследите за перемещениями курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 >> Нажмите <RET> для завершения поиска.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
861
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
862 Вы видели что происходило? Emacs, в режиме инкрементального поиска, пытался
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
863 переходить к строкам совпадающим с набираемой вами, подсвечивая их для вас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 чтобы перейти к следующему вхождения слова 'курсор' просто нажмите C-s снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865 Если больше нет вхождений, Emacs издаст звуковой сигнал, и скажет что ваш
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
866 поиск не удался ("failing"), C-g то же толжен отменить поиск.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
867
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868 ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заморозит экран и вы не увидите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
869 последующего вывода Emacs`а. Это означает что операционная система имеет
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
870 "особенность" именуемую "flow control" перехватывающую C-s и не пропускающую
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
871 этот символ к Emacs`у. Для разморозки экрана, нажмите C-q. Смотрите раздел
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
872 "Spontaneous Entry to Incremental Search" руководства Emacs чтобы узнать как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
873 бороться с этой "особенностью".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
874
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
875 Если вы во время инкрементального поиска нажмете <Delete>, вы можете заметить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 что последний символ в искомой строке удалился, и поиск вернулся к предыдущему
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 найденному месту. Например, предположим вы набрали "c", поиск перейдет к
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
878 первому вхождению символа "c". Теперь если вы наберете "u", курсор перейдет к
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879 первому вхождению "cu". Нажатие <Delete> удалит символ "u" их строки поиска, и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
880 курсор вернется к первому вхождению "c".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
881
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
882 Если вы во время поиска введете control- или meta- символ (за некоторыми
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
883 исключениями -- символы вызывающие поиск, а именно C-s и C-r), поиск
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884 прекратится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 C-s начинает поиск и смотрит на любые вхождения искомой строки ПОСЛЕ текущей
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
887 позиции курсора. Если вы хотите найти что-то ранее в тексте, нажмите C-r. Все
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
888 что мы говорили о C-s применимо и к C-r, за исключением противоположного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
889 направления поиска.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
890
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
891
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
892 * МНОГО ОКОН (MULTIPLE WINDOWS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
893 -------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
894
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
895 Одна из приятных особенностей Emacs это то, что вы можете отображать более чем
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
896 одно окно на экране одновременно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
897
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
898 >> Переместите курсор на эту линию, и наберите C-u 0 C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
899
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
900 >> Теперь, наберите C-x 2, что разделит экран на два окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
901 Оба окна отображают учебник. Курсор остался в верхнем окне.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
902
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
903 >> Нажмите C-M-v для прокрутки нижнего окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
904 (если у вас нет настоящей кнопки Meta (Alt), нажмите ESC C-v.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
905
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
906 >> Нажмите C-x o ("o" от слова "other" - другое) для перемещения курсора в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
907 нижнее окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
908 >> Используйте C-v и M-v в нижнем окне что прокручивать его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
909 Продолжите чтение этих инструкций в верхнем окне.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
910
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
911 >> Нажмите C-x o снова чтобы переместить курсор назад в верхнее окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
912 Курсор в верхнем окне там же, где и был до того.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
913
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
914 Вы можете продолжать переключаться между окнами, используя C-x o. Каждое окно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
915 хранит свою позицию курсора, но только одно показывает курсор. Все обычные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
916 команды редакции применяются к окну, в котором отображается курсор.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
917 Мы называем его "выбранное окно" ("selected window").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
918
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
919 Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
920 используете второе в качестве справочника. Вы можете всегда сохранять курсор
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
921 в окне редактирования и последовательно продвигаться во втором, используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
922 C-M-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
923
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
924 C-M-v пример CONTROL-META символа. Если у вас есть настоящая кнопка META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
925 (Alt), вы можете набрать C-M-v нажав одновременно CTRL и META и не отпуская
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
926 нажать v. И не важно кто будет нажат первым, CTRL или META, потому что эти
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
927 кнопки модифицируют тип символа.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
928
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
929 Если у вас нет настоящей кнопки META, и вы используете ESC вместо нее,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
930 порядок должен быть следующим: вы должны нажать ESC а следом CTRL-v;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
931 CTRL-ESC v не будет работать. Потому, что ESC имеет свой собственный символ,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
932 это не модифицирующая кнопка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
933
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
934 >> Нажмите C-x 1 (в верхнем окне) чтобы избавиться от нижнего.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
935
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
936 (Если вы нажали C-x 1 в нижнем окне, то вы избавились от верхнего. Понимайте
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
937 эту команду как "Оставить только одно окно, то в котором я сейчас нахожусь").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
938
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
939 Вам не нужно отображать один и тот же буфер в обоих окнах. Если вы используете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
940 C-x C-f чтобы открыть файл в одном окне, другое останется без изменения. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
941 можете открывать файлы в каждом окне независимо.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
942
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
943 Есть другой путь использовать два окна отображающих разные файлы:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
944
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
945 >> Наберите C-x 4 C-f затем имя одного и ваших файлов. Завершите <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
946 Посмотрите что выбранный файл появился в нижнем окне. Курсор перешел
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
947 туда же.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
948
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
949 >> Наберите C-x o чтобы вернуться в верхнее окно, и C-x 1 чтобы удалить нижнее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
950 окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
951
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
952
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
953 * РЕКУРСИВНЫЕ УРОВНИ РЕДАКТИРОВАНИЯ (RECURSIVE EDITING LEVELS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
954 --------------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
955
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
956 Иногда вы будете включать так называемые "рекурсивные уровни редактирования".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
957 На это указывают прямоугольные скобочки в строке состояния, окружающие обычные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
958 скобки вокруг имени основного режима. Например вы можете увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
959 [(Fundamental)] вместо (Fundamental).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
960
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
961 чтобы выйти из рекурсивных уровней редактирования, нажмите ESC ESC ESC.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
962 Это многоцелевая команда "выход". Вы так же можете использовать ее для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
963 уничтожения лишних окон, и выхода из минибуфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
964
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
965 >> Нажмите M-x чтобы попасть в минибуфер; затем нажмите ESC ESC ESC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
966 чоб выйти.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
967
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
968 Вы не можете использовать C-g чтобы уйти из рекурсивных уровней редактирования.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
969 Потому что C-g используется для отмены команды и аргументов БЕЗ рекурсивных
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
970 уровней редактирования.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
971
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
972
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
973 * КАК ПОЛУЧИТЬ ПОМОЩЬ (GETTING MORE HELP)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
974 -----------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
975
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
976 В этом учебнике мы попытались снабдить вас только той информацией, которая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
977 поможет начать использовать Emacs. Очень много информации доступно в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
978 Emacs, и невозможно всю ее представить здесь. Однако, вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
979 выучить больше возможностей Emacs, узнать другие полезные особенности. Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
980 предоставляет команды для чтения документации о командах Emacs. Эти команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
981 "помощи" ("help") все начинаются с символа Control-h, который является
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
982 "символом помощи".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
983
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
984 чтобы использовать особенности Помощи, нажмите C-h, и затем символ, который
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
985 расскажет какой именно вид помощи вы хотите получить. Если вы ДЕЙСТВИТЕЛЬНО
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
986 растерялись, наберите C-h ? и Emacs расскажет вам какую помощь он может вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
987 предоставить. Если вы нажали C-h и передумали обращаться к помощи, просто
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
988 нажмите C-g чтобы отменить эту команду.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
989
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
990 (Кое-где переназначают символ C-h. Реальной необходимости в этом нет,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
991 сообщите о ней системному администратору. Тем временем, если C-h не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
992 вызывает сообщение помощи внизу экрана, попробуйте набрать M-x help RET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
993 вместо этого.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
994
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
995 Самая основная возможность ПОМОЩИ - C-h c. Нажмите C-h, затем c, и символ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
996 команды или последовательность, и Emacs отобразит очень краткое описание
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
997 команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
998
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
999 >> Нажмите C-h c Control-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1000 Сообщение должно выглядеть примерно так
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1001
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1002 C-p runs the command previous-line
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1003 (C-p выполняет команду previous-line {предыдущая-линия})
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1004
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1005 Вам сообщают "имя функции". Имена функции используются в основном для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1006 настройки и расширения Emacs. Имена функций выбраны так, чтобы показать что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1007 именно команда делает, так же они позволяют с помощью этой краткой информации
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1008 легче запомнить уже выученные команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1009
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1010 Многосимвольные команды, такие как C-x C-s и (если у вас нет кнопки META или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1011 EDIT или ALT) <ESC>v так же будут доступны после C-h c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1012
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1013 Получите больше информации о команде используя C-h k вместо C-h c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1014
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1015 >> Наберите C-h k Control-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1016
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1017 Вы увидите описание функции, а также ее имя в отдельном окне Emacs. Когда вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1018 завершите чтение, нажмите q чтобы избавиться от текста помощи.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1019
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1020 Есть еще несколько полезных опций C-h:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1021
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1022 C-h f Описывает функцию. Вам необходимо набрать имя функции.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1023
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1024 >> Попробуйте набрать C-h f previous-line<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1025 Это распечатает информацию Emacs о этой функции, которая выполняется
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1026 командой C-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1027
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1028 C-h a Hyper Apropos. Введите ключевое слово и Emacs покажет вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1029 список всех функций и переменных, имена которых содержат это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1030 слово. Команды, которые могут быть вызваны через Meta-x,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1031 будут отмечены звездочкой слева.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1032
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1033 >> Наберите C-h a newline<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1034
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1035 это отобразит полный список функций и переменных имена которых начинаются с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1036 "newline". Нажмите <Return> или кликните средней кнопкой мышки чтобы получить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1037 больше о функции или переменной. Нажмите `q' чоб выйти из hyper-apropos.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1038
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1039
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1040 * ЗАКЛЮЧЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1041 ------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1042
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1043 Запомните, чтобы выйти из Emacs насовсем используйте C-x C-c. чтобы временно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1044 выйти в оболочку (shell) и потом вернуться обратно, используйте C-z.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1045 (в X, это свернет текущее окно Emacs в иконку.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1046
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1047 Этот учебник должен быть понятен всем новым пользователям, если вы найдете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1048 что-нибудь неясное, не нужно сидеть и порицать себя - жалуйтесь!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1049
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1050
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1051 COPYING
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1052 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1053
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1054 Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1055 написанного by Stuart Cracraft для оригинального Emacs. Ben Wing подправил
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1056 учебник для X Windows. Martin Buchholz и Hrvoje Niksic добавили много
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1057 исправлений для XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1058
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1059 Эта версия учебника, как и GNU Emacs, защищена правами копирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1060 (copyrighted), и приходит с ограничениями распространения копий со
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1061 следующими соглашениями:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1062
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1063 Copyright (c) 1985, 1996 Free Software Foundation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1064
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1065 Permission is granted to anyone to make or distribute verbatim copies
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1066 of this document as received, in any medium, provided that the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1067 copyright notice and permission notice are preserved,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1068 and that the distributor grants the recipient permission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1069 for further redistribution as permitted by this notice.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1070
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1071 Permission is granted to distribute modified versions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1072 of this document, or of portions of it,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1073 under the above conditions, provided also that they
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1074 carry prominent notices stating who last altered them.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1075
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1076 Условия копирования самого Emacs более сложные, но в том же духе.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1077 Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs ваши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1078 друзьям. Help stamp out software obstructionism ("ownership") by using,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1079 writing, and sharing free software!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1080
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1081 // замечания, исправления ошибок с нетерпением жду по адресу bor@vb.dn.ua
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1082 // Vladimir Bormotov.