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