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