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