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