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