declare smobs in alloc.c
[bpt/emacs.git] / etc / tutorials / TUTORIAL.ru
... / ...
CommitLineData
1Учебник Emacs. Условия распространения приведены в конце файла.
2
3Для управления Emacs обычно используются сочетания клавиш (key -- сочетание
4клавиш клавиатуры и/или кнопок мыши), включающие в себя клавишу CONTROL
5(иногда отмечаемая как CTRL или CTL) или клавишу META (иногда помеченную как
6ALT или 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. Для перемещения назад на один экран, нажмите
33M-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
94character), который отделяет ее от следующей строки. (Обычно, последняя
95строка файла завершается символом перевода строки, но Emacs не требует
96этого).
97
98>> Попробуйте использовать C-b в начале строки. Курсор должен переместиться
99 на конец предыдущей строки. Это происходит потому, что он движется назад
100 через символ перевода строки.
101
102C-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единицами, определенными в языке (слова, предложения, абзацы), тогда как
133Control-сочетания работают с базовыми единицами, независимо от того, что вы
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
174Greater-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, вы поймете, что использовать
191Control-сочетания удобнее и быстрее, чем клавиши со стрелочками (потому что
192вы не убираете руки с обычного их положения при печати). В-третьих, как
193только вы привыкнете использовать Control-сочетания, вы сможете так же легко
194выучить и использовать другие, более сложные команды перемещения курсора.
195
196Большинство команд Emacs допускают задание цифрового аргумента; для
197большинства команд, это служит счетчиком повторений. Чтобы задать счетчик
198повторений для команды, нажмите C-u, потом число повторений, и затем укажите
199команду. Если у вас есть клавиша META (или EDIT или ALT), то цифровой
200аргумент можно задать другим способом: наберите цифры, удерживая клавишу
201META. Мы рекомендуем привыкнуть к использованию 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
273Emacs может отображать информацию в нескольких "окнах", каждое из которых
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
401C-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-/ отменяет изменения, сделанные одной командой; если повторить
458C-/ несколько раз подряд, то каждый раз будет отменяться еще одна команда.
459
460Но есть два исключения: не учитываются команды не изменяющие текст (сюда
461включаются команды перемещения курсора и прокрутки текста), а команды
462вставки символов собираются в группы до 20 символов. (Это уменьшает число
463нажатий C-/, которые вам нужно будет набрать для отмены ввода текста).
464
465>> Убейте эту строку с помощью C-k, а затем наберите C-/, и строка должна
466 вернуться назад.
467
468C-_ -- это еще команда отмены; она работает точно так же, как и 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
510Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке
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
561Emacs хранит текст каждого файла в объекте, называемом "буфер" (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Но иногда это не так. Список буферов, который вы создаете с помощью команды
588C-x C-b, показывает вам имя буфера и имя файла для каждого буфера.
589
590Некоторые буфера не относятся к файлам. Например, буфер с именем "*Buffer
591List*", который создан с помощью 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
614C-x s запрашивает у вас подтверждение о сохранении для каждого буфера,
615который содержит не сохраненные изменения. Для каждого такого буфера у вас
616запросят: сохранять или не сохранять изменения.
617
618>> Вставьте строку текста, потом наберите C-x s.
619 Должен появиться запрос: сохранять ли буфер с именем TUTORIAL.ru.
620 Ответьте на запрос утвердительно нажатием клавиши "y".
621
622
623* РАСШИРЕНИЕ НАБОРА КОМАНД
624--------------------------
625
626У Emacs очень много команд, и они все не могут быть назначены на control- и
627meta- сочетания. 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
648C-z -- это команда *временного* выхода из Emacs. Вы можете позже вернуться в
649ту же сессию Emacs. Когда Emacs запускается на текстовом терминале, команда
650C-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
702recover-file<Return>. Когда у вас запросят подтверждение, наберите
703yes<Return>, чтобы восстановить автоматически сохраненные данные.
704
705
706* ОБЛАСТЬ ЭХА (ECHO AREA)
707-------------------------
708
709Если Emacs видит, что вы медленно набираете команды из нескольких сочетаний
710клавиш, то он покажет их вам в нижней части экрана, в области называемой
711"область эха" (echo area). Область эха -- это самая нижняя строка окна
712Emacs.
713
714
715* СТРОКА СОСТОЯНИЯ (MODE LINE)
716-----------------------------
717
718Строка сразу над областью эха называется "строкой состояния" (mode
719line). Выглядит эта строка примерно так:
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
743mode").
744
745Emacs имеет много различных основных режимов. Некоторые из режимов
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Когда этот режим включен, его можно выключить с помощью той же команды --
793M-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
822Emacs умеет искать строки (строка -- непрерывная группа символов) вперед или
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
863C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей
864позиции курсора. Если вы хотите найти что-то ранее в тексте, то нажмите
865C-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
904C-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, поскольку
911CONTROL-<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
937Emacs также может создавать множество "фреймов" (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 и (если у вас нет клавиши
1015META или 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изменения текста во время просмотра текста справки, и только затем нажать
1026C-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
1081Dired позволяет вам отображать список файлов в каталоге (а также
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
1108Copyright (C) 1985, 1996, 1998, 2001-2014 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: