Mercurial > emacs
comparison etc/tutorials/TUTORIAL.ru @ 91451:6aef7dd0e34b
Restore copyright years. Update tutorial. Fix wording.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 02 Feb 2008 10:59:22 +0000 |
parents | 852ae38a0128 |
children | f991f10f15ec |
comparison
equal
deleted
inserted
replaced
91450:afc545f3960e | 91451:6aef7dd0e34b |
---|---|
1 Учебник Emacs. Условия распространения приведены в конце файла | 1 Учебник Emacs. Условия копирования приведены в конце файла. |
2 | 2 |
3 Для управления Emacs обычно используется ключ (key -- сочетание клавиш | 3 Для управления Emacs'ом обычно используется ключ (key -- сочетание клавиш |
4 клавиатуры и/или кнопок мыши), включающий в себя клавишу CONTROL (иногда | 4 клавиатуры и/или кнопок мыши), включающий в себя клавишу CONTROL (иногда |
5 отмечаемая как CTRL или CTL) или клавишу META (иногда помеченную как ALT или | 5 отмечаемая как CTRL или CTL) или клавишу META (иногда помеченную как ALT или |
6 EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL, | 6 EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL, |
7 мы будем использовать следующие сокращения: | 7 мы будем использовать следующие сокращения: |
8 | 8 |
9 C-<chr> -- следует удерживать клавишу CONTROL, пока набирается символ | 9 C-<chr> -- следует удерживать клавишу CONTROL, пока набирается символ |
10 <chr>. Так, C-f должно означать: нажать клавишу CONTROL и f. | 10 <chr>. Так, C-f должно означать: нажать клавишу CONTROL и f. |
11 M-<chr> -- следует удерживать клавишу META, пока набирается символ | 11 M-<chr> -- следует удерживать клавишу META, пока набирается символ |
12 <chr>. Если нет клавиши META, ALT или EDIT, то нажмите <ESC>, | 12 <chr>. Если нет клавиши META, ALT или EDIT, то нажмите <ESC>, |
13 отпустите ее, а потом наберите символ <chr>. | 13 отпустите ее, а потом наберите символ <chr>. |
14 | 14 |
15 Важное замечание: для завершения сеанса Emacs, наберите C-x C-c (два | 15 Важное замечание: для завершения сеанса Emacs, наберите C-x C-c (два |
21 | 21 |
22 | 22 |
23 | 23 |
24 | 24 |
25 | 25 |
26 [Середина страницы оставлена пустой в учебных целях. Текст продолжается ниже] | 26 [Середина страницы оставлена пустой в учебных целях. Текст продолжается ниже] |
27 | 27 |
28 | 28 |
29 | 29 |
30 | 30 |
31 | 31 |
32 | 32 |
33 | 33 |
34 | 34 |
35 >> Теперь нажмите C-v (просмотр следующего экрана) для перемещения на | 35 >> Теперь нажмите C-v (просмотр следующего экрана) для перемещения на |
36 следующий экран. (выполните эту команду удерживая клавишу CONTROL и | 36 следующий экран. (Выполните эту команду удерживая клавишу CONTROL и |
37 нажимая v). Теперь вы должны это сделать еще раз, когда закончите читать | 37 нажимая v.) Теперь вы должны это сделать еще раз, когда закончите читать |
38 экран. | 38 экран. |
39 | 39 |
40 Обратите внимание на то, что при переходе с экрана на экран перекрываются | 40 Обратите внимание на то, что при переходе с экрана на экран перекрываются |
41 две строчки -- это обеспечивает некоторую непрерывность восприятия, так что | 41 две строчки -- это обеспечивает некоторую непрерывность восприятия, так что |
42 вы можете продолжать читать текст не теряя нити повествования. | 42 вы можете продолжать читать текст не теряя нити повествования. |
54 | 54 |
55 Для просмотра используются следующие команды: | 55 Для просмотра используются следующие команды: |
56 | 56 |
57 C-v Перейти на один экран вперед | 57 C-v Перейти на один экран вперед |
58 M-v Перейти на один экран назад | 58 M-v Перейти на один экран назад |
59 C-l Очистить экран и отобразить все заново, разместив текст, находящийся | 59 C-l Очистить экран и отобразить все заново, |
60 возле курсора, в центре экрана. (это CONTROL-L, а не CONTROL-1.) | 60 разместив текст, находящийся возле курсора, |
61 в центре экрана. (это CONTROL-L, а не CONTROL-1.) | |
61 | 62 |
62 >> Найдите курсор и запомните текст возле него. Потом нажмите C-l. | 63 >> Найдите курсор и запомните текст возле него. Потом нажмите C-l. |
63 Найдите курсор снова и убедитесь, что возле него все тот же текст. | 64 Найдите курсор снова и убедитесь, что возле него все тот же текст. |
64 | 65 |
65 Вы также можете использовать клавиши PageUp и PageDn для перемещения между | 66 Вы также можете использовать клавиши PageUp и PageDn для перемещения между |
71 ------------------------------------- | 72 ------------------------------------- |
72 | 73 |
73 Движение от экрана к экрану удобно, но как переместиться в определенное | 74 Движение от экрана к экрану удобно, но как переместиться в определенное |
74 место в тексте на экране? | 75 место в тексте на экране? |
75 | 76 |
76 Есть несколько способов выполнения этой операции. Вы можете использовать | 77 Есть несколько способов выполнения этой операции. Вы можете использовать |
77 клавиши управления курсором (стрелки), но более эффективным будет сохранение | 78 клавиши управления курсором (стрелки), но более эффективным будет сохранение |
78 рук в их стандартной позиции и использовать команды C-p, C-b, C-f и C-n. Эти | 79 рук в их стандартной позиции и использовать команды C-p, C-b, C-f и C-n. Эти |
79 команды эквивалентны четырем клавишам перемещения курсора, как это показано | 80 команды эквивалентны четырем клавишам перемещения курсора, как это показано |
80 на схеме: | 81 на схеме: |
81 | 82 |
86 : | 87 : |
87 : | 88 : |
88 Следующая строка, C-n | 89 Следующая строка, C-n |
89 | 90 |
90 >> Переместите курсор на строку рядом с диаграммой, используя сочетания | 91 >> Переместите курсор на строку рядом с диаграммой, используя сочетания |
91 клавиш C-n или C-p. Потом нажмите C-l и посмотрите как диаграмма | 92 клавиш C-n или C-p. Потом нажмите C-l и посмотрите как диаграмма |
92 переместится в центр экрана. | 93 переместится в центр экрана. |
93 | 94 |
94 Вам будет несложно запомнить эти команды по первым буквам соответствующих | 95 Вам будет несложно запомнить эти команды по первым буквам соответствующих |
95 слов -- B-назад (backward) и F-вперед (forward). Это основные команды | 96 слов -- B-назад (backward) и F-вперед (forward). Это основные команды |
96 позиционирования курсора, которыми вы будете пользоваться ВСЕГДА, так что | 97 позиционирования курсора, которыми вы будете пользоваться ВСЕГДА, так что |
101 >> Переместитесь по строке, используя C-f, и потом поднимитесь вверх с | 102 >> Переместитесь по строке, используя C-f, и потом поднимитесь вверх с |
102 помощью C-p. Посмотрите, как изменилось положение курсора при нажатии | 103 помощью C-p. Посмотрите, как изменилось положение курсора при нажатии |
103 С-р, если он находился в середине строки. | 104 С-р, если он находился в середине строки. |
104 | 105 |
105 Каждая строка текста завершается символом перевода строки (Newline | 106 Каждая строка текста завершается символом перевода строки (Newline |
106 character), который отделяет ее от следующей строки. Последняя строка в | 107 character), который отделяет ее от следующей строки. Лучше если последняя |
107 вашем файле должна бы тоже завершаться символом перевода строки (но Emacs не | 108 строка в вашем файле тоже завершалась бы символом перевода строки (но Emacs не |
108 требует этого). | 109 требует этого). |
109 | 110 |
110 >> Попробуйте использовать C-b в начале строки. Курсор должен переместиться | 111 >> Попробуйте использовать C-b в начале строки. Курсор должен переместиться |
111 на конец предыдущей строки. Это происходит потому, что он движется назад | 112 на конец предыдущей строки. Это происходит потому, что он движется назад |
112 через символ перевода строки. | 113 через символ перевода строки. |
117 движется курсор. Далее используйте сочетание клавиш C-f чтобы вернуться | 118 движется курсор. Далее используйте сочетание клавиш C-f чтобы вернуться |
118 на конец строки. Нажмите C-f еще раз, чтобы перейти к началу следующей | 119 на конец строки. Нажмите C-f еще раз, чтобы перейти к началу следующей |
119 строки. | 120 строки. |
120 | 121 |
121 Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся | 122 Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся |
122 за экраном, сдвигается внутрь экрана. Это называется "прокрутка | 123 за экраном, сдвигается внутрь экрана. Это называется "прокрутка" |
123 (scrolling)". Прокрутка позволяет Emacs'у перемещать курсор в нужное место | 124 (scrolling). Прокрутка позволяет Emacs'у перемещать курсор в нужное место |
124 текста без перемещения его за пределы экрана. | 125 текста без перемещения его за пределы экрана. |
125 | 126 |
126 >> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n, и | 127 >> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n, и |
127 посмотрите, что произойдет. | 128 посмотрите, что произойдет. |
128 | 129 |
158 | 159 |
159 Положение курсора в тексте также называют "точкой вставки". Скажем иначе: | 160 Положение курсора в тексте также называют "точкой вставки". Скажем иначе: |
160 курсор показывает место на экране в какой точке будет расположен вводимый | 161 курсор показывает место на экране в какой точке будет расположен вводимый |
161 текст. | 162 текст. |
162 | 163 |
163 Здесь собраны основные команды перемещения курсора, включая движение по | 164 Вот сводный список всех основных команд перемещения курсора, включая движение |
164 словам и предложениям: | 165 по словам и предложениям: |
165 | 166 |
166 C-f На символ вперед | 167 C-f На символ вперед |
167 C-b На символ назад | 168 C-b На символ назад |
168 | 169 |
169 M-f На слово вперед | 170 M-f На слово вперед |
192 | 193 |
193 >> Сейчас попробуйте M-<, чтобы переместиться в начало учебника. Потом | 194 >> Сейчас попробуйте M-<, чтобы переместиться в начало учебника. Потом |
194 используйте C-v, чтобы вернуться назад. | 195 используйте C-v, чтобы вернуться назад. |
195 | 196 |
196 >> Сейчас попробуйте M->, чтобы переместиться к концу учебника. Используйте | 197 >> Сейчас попробуйте M->, чтобы переместиться к концу учебника. Используйте |
197 M-v, чтобы вернуться снова. | 198 M-v, чтобы вернуться назад. |
198 | 199 |
199 Курсор можно перемещать клавишами управления курсора (стрелками), если ваш | 200 Курсор можно перемещать клавишами управления курсора (стрелками), если ваш |
200 терминал оборудован ими. Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем | 201 терминал оборудован ими. Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем |
201 причинам. Во-первых, они работают на любых терминалах. Во-вторых, однажды | 202 причинам. Во-первых, они работают на любых терминалах. Во-вторых, однажды |
202 получив практику использования Emacs, вы поймете, что использовать | 203 получив практику использования Emacs, вы поймете, что использовать |
246 | 247 |
247 | 248 |
248 * УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ | 249 * УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ |
249 ------------------------------------ | 250 ------------------------------------ |
250 | 251 |
251 Если у вас X-терминал, то для управления курсором, вам вероятно, покажется | 252 Если у вас X-терминал, то для управления курсором, вам, вероятно, покажется |
252 более легким использование клавиш курсора на цифровой клавиатуре | 253 более легким использование клавиш курсора на цифровой клавиатуре |
253 (справа). Стрелки влево, вправо, вверх и вниз передвигают курсор в | 254 (справа). Стрелки влево, вправо, вверх и вниз передвигают курсор в |
254 соответствующем направлении -- они работают точно также как C-b, C-f, C-p и | 255 соответствующем направлении -- они работают точно также как C-b, C-f, C-p и |
255 C-n, но легче в наборе и запоминании. Вы также можете использовать | 256 C-n, но легче в наборе и запоминании. Вы также можете использовать |
256 сочетания C-left и C-right для передвижения по словам, и C-up и C-down для | 257 сочетания C-left и C-right для передвижения по словам, и C-up и C-down для |
257 передвижения по блокам (т.е. параграфам, если вы редактируете текст). Если | 258 передвижения по блокам (т.е. параграфам, если вы редактируете текст). Если |
258 у вас есть кнопки помеченные HOME (или BEGIN) и/или END, то они будут | 259 у вас есть кнопки помеченные HOME (или BEGIN) и/или END, то они будут |
259 перемещать курсор в начало и конец строки, а C-home и C-end будут перемещать | 260 перемещать курсор в начало и конец строки, а C-home и C-end будут перемещать |
260 в начало и конец файла. Если на вашей клавиатуре есть кнопки PgUp и PgDn, | 261 в начало и конец файла. Если на вашей клавиатуре есть кнопки PgUp и PgDn, |
261 то вы можете использовать их для перемещения вверх и вниз постранично, | 262 то вы можете использовать их для перемещения вверх и вниз постранично, |
262 аналогично использованию M-v и C-v. | 263 аналогично использованию M-v и C-v. |
263 | 264 |
264 Все эти команды могут использовать цифровой аргумент, так, как об этом | 265 Все эти команды могут использовать цифровой аргумент, так, как об этом |
265 рассказано выше. Вы можете использовать ускоренный способ ввода этого | 266 рассказано выше. Вы можете использовать ускоренный способ ввода этого |
266 аргумента: просто нажмите CONTROL или META и наберите число. Например, для | 267 аргумента: просто нажмите CONTROL или META и наберите число. Например, для |
267 перемещения на 12 слов вправо, наберите C-1 C-2 C-right. Запомните, что так | 268 перемещения на 12 слов вправо, наберите C-1 C-2 C-right. Запомните, что так |
268 очень легко набирать, потому что вы не отпускаете кнопку CONTROL между | 269 очень легко набирать, потому что вы не отпускаете кнопку CONTROL между |
269 нажатиями. | 270 нажатиями. |
270 | 271 |
271 | 272 |
272 * ЕСЛИ EMACS ЗАВИС | 273 * ЕСЛИ EMACS ЗАВИС |
273 ------------------ | 274 ------------------ |
274 | 275 |
275 Если Emacs перестал реагировать на ваши команды, то вы можете избежать этого, | 276 Если Emacs перестал реагировать на ваши команды, то вы можете избежать этого, |
276 просто нажав C-g. Вы можете использовать C-g, чтобы остановить выполнение | 277 просто нажав C-g. Вы можете использовать C-g, чтобы остановить выполнение |
277 команд, которые слишком долго выполняются. | 278 команд, которые слишком долго выполняются. |
278 | 279 |
279 Вы также можете использовать C-g для отмены набранного цифрового аргумента | 280 Вы также можете использовать C-g для отмены набранного цифрового аргумента |
280 или команды, которая начала выполняться, но которую вы не хотите завершать. | 281 или команды, которая начала выполняться, но которую вы не хотите завершать. |
281 | 282 |
307 | 308 |
308 * ОКНА | 309 * ОКНА |
309 ------ | 310 ------ |
310 | 311 |
311 Emacs может отображать информацию в нескольких окнах, каждое из которых | 312 Emacs может отображать информацию в нескольких окнах, каждое из которых |
312 отображает свой текст. Позже мы объясним как работать с несколькими окнами. | 313 отображает свой текст. Позже мы объясним как работать с несколькими окнами. |
313 Прямо сейчас мы хотим объяснить вам как избавляться от лишних окон и | 314 А сейчас мы хотим объяснить вам как избавляться от лишних окон и |
314 вернуться к редактированию в одном окне. Это очень просто сделать: | 315 вернуться к редактированию в одном окне. Это очень просто сделать: |
315 | 316 |
316 C-x 1 Одно окно. (закрыть все другие окна). | 317 C-x 1 Одно окно. (закрыть все другие окна). |
317 | 318 |
318 Это CONTROL-x со следующей цифрой 1. C-x 1 развернет окно, которое содержит | 319 Это CONTROL-x со следующей цифрой 1. C-x 1 развернет окно, которое содержит |
319 курсор, так, чтобы оно заняло весь экран. При этом будут удалены все | 320 курсор, так, чтобы оно заняло весь экран. При этом будут удалены все |
320 остальные окна. | 321 остальные окна. |
321 | 322 |
322 >> Переместите курсор на эту строку и нажмите C-u 0 C-l. | 323 >> Переместите курсор на эту строку и нажмите C-u 0 C-l. |
323 | 324 |
335 | 336 |
336 | 337 |
337 * ВСТАВКА И УДАЛЕНИЕ | 338 * ВСТАВКА И УДАЛЕНИЕ |
338 -------------------- | 339 -------------------- |
339 | 340 |
340 Если вы хотите вставить текст, то просто набирайте его. Символы, которые вы | 341 Если вы хотите вставить текст, то просто набирайте его. Символы, которые вы |
341 можете видеть, такие как A, 7, *, и пр. понимаются Emacs'ом как текст и | 342 можете видеть, такие как A, 7, *, и пр. понимаются Emacs'ом как текст и |
342 вставляются немедленно. Нажмите <Return> (клавиша перевода каретки), чтобы | 343 вставляются немедленно. Нажмите <Return> (клавиша перевода каретки), чтобы |
343 вставить символ новой строки. | 344 вставить символ новой строки. |
344 | 345 |
345 Вы можете удалить набранный символ, нажимая клавишу <Delback>. <Delback> -- | 346 Вы можете удалить набранный символ, нажимая клавишу <Delback>. <Delback> -- |
346 это клавиша на клавиатуре, которую вы используете и вне Emacs для удаления | 347 это клавиша на клавиатуре, которую вы используете и вне Emacs для удаления |
347 последнего набранного символа. Обычно это большая клавиша, расположенная | 348 последнего набранного символа. Обычно это большая клавиша, расположенная |
348 на несколько строк выше клавиши <Return>; обычно она помечена как "Delete", | 349 несколько выше клавиши <Return>; обычно она помечена как "Delete", "Del" |
349 "Del" или "Backspace". | 350 или "Backspace". |
350 | 351 |
351 Если большая клавиша помечена как "Backspace", то это то, что вам нужно | 352 Если большая клавиша помечена как "Backspace", то это то, что вам нужно |
352 использовать тогда, когда вы будете читать про <Delback>. У вас также может | 353 использовать тогда, когда вы будете читать про <Delback>. Если у вас к тому |
353 быть клавиша, помеченная как "Delete", но она имеет другую функцию, отличную | 354 же есть и клавиша, помеченная как "Delete", но она имеет другую функцию, |
354 от <Delback>. | 355 отличную от <Delback>. |
355 | 356 |
356 В основном, <Delback> удаляет символ непосредственно перед текущей позицией | 357 Вообще говоря, <Delback> удаляет символ непосредственно перед текущей |
357 курсора. | 358 позицией курсора. |
358 | 359 |
359 >> Попробуйте выполнить это сейчас -- наберите несколько символов, а затем | 360 >> Попробуйте выполнить это сейчас -- наберите несколько символов, а затем |
360 удалите их нажимая <Delback>. Не волнуйтесь об изменениях этого файла -- | 361 удалите их нажимая <Delback>. Не волнуйтесь об изменениях этого файла -- |
361 вы не изменяете главный учебник; это ваша личная копия учебника. | 362 вы не изменяете главный учебник; это ваша личная копия учебника. |
362 | 363 |
365 если вы используете оконную систему, то это будет значок в виде маленькой | 366 если вы используете оконную систему, то это будет значок в виде маленькой |
366 изогнутой стрелки) с правой границы показывает, что строка будет | 367 изогнутой стрелки) с правой границы показывает, что строка будет |
367 продолжаться с предыдущей строки. | 368 продолжаться с предыдущей строки. |
368 | 369 |
369 >> Вводите текст, пока он не достигнет правой границы, и продолжайте вставку | 370 >> Вводите текст, пока он не достигнет правой границы, и продолжайте вставку |
370 символов. Вы увидите, как появится символ продолжения строки. | 371 символов. Вы увидите, как появится символ продолжения строки. |
371 | 372 |
372 >> Используйте <Delback> для удаления текста до тех пор, пока строка не | 373 >> Используйте <Delback> для удаления текста до тех пор, пока строка не |
373 поместится в экран снова. Символ продолжения строки исчезнет с экрана. | 374 поместится в экран снова. Символ продолжения строки исчезнет с экрана. |
374 | 375 |
375 Символ новой строки можно удалять точно так же, как и любой другой символ. | 376 Символ новой строки можно удалять точно так же, как и любой другой символ. |
376 Удаление символа новой строки между двумя строками приведет к их склейке в | 377 Удаление символа новой строки между двумя строками приведет к их склейке в |
377 одну. Если полученная строка будет слишком длинной, чтобы вместиться в | 378 одну. Если полученная строка будет слишком длинной, чтобы вместиться в |
378 экран, то она будет отображена как строка с продолжением, как это было | 379 экран, то она будет отображена как строка с продолжением, как это было |
379 описано выше. | 380 описано выше. |
380 | 381 |
381 >> Переместите курсор в начало строки и нажмите <Delback>. Это соединит | 382 >> Переместите курсор в начало строки и нажмите <Delback>. Это соединит |
382 текущую строку с предыдущей. | 383 текущую строку с предыдущей. |
388 символы не являются исключением. Вы можете вставлять по несколько символов, | 389 символы не являются исключением. Вы можете вставлять по несколько символов, |
389 используя счетчики повторений. | 390 используя счетчики повторений. |
390 | 391 |
391 >> Попробуйте проверить это -- наберите C-u 8 * для вставки ********. | 392 >> Попробуйте проверить это -- наберите C-u 8 * для вставки ********. |
392 | 393 |
393 Теперь вы научились основам набора текста в Emacs и исправления ошибок. Вы | 394 Теперь вы научились основам набора текста в Emacs и исправления ошибок. Вы |
394 также можете удалять слова и строки. Здесь приведен список операций | 395 также можете удалять слова и строки. Здесь приведен список операций |
395 удаления: | 396 удаления: |
396 | 397 |
397 <Delback> удалить символ перед курсором | 398 <Delback> удалить символ перед курсором |
398 C-d удалить символ следующий за (над) курсором | 399 C-d удалить символ следующий за (над) курсором |
399 | 400 |
400 M-<Delback> убить слово, стоящее перед курсором | 401 M-<Delback> убить слово, стоящее перед курсором |
401 M-d убить слово, следующее за курсором | 402 M-d убить слово, следующее за курсором |
402 | 403 |
403 C-k убить все от курсора до конца строки | 404 C-k убить все от курсора до конца строки |
404 M-k убить все до конца предложения | 405 M-k убить все до конца предложения |
405 | 406 |
406 Заметьте, что <Delback> и C-d, вместе с M-<Delback> и M-d расширяют | 407 Заметьте, что <Delback> и C-d, вместе с M-<Delback> и M-d расширяют |
407 параллель, начатую C-f и M-f (да, <Delback> -- это не настоящий управляющий | 408 параллель, начатую C-f и M-f (да, <Delback> -- это не настоящий управляющий |
408 символ, но не нужно об этом волноваться). C-k и M-k, как и C-e и M-e, | 409 символ, но не нужно об этом волноваться). C-k и M-k, как и C-e и M-e, |
409 проводят параллель между строками и предложениями. | 410 проводят параллель между строками и предложениями. |
410 | 411 |
411 Вы можете убить любую часть буфера одним методом. Переместитесь на один | 412 Вы можете убить любую часть буфера одним методом. Переместитесь на один |
412 из концов выбранной области и нажмите C-@ или C-<SPC> (одно из этих | 413 из концов выбранной области и нажмите C-@ или C-<SPC> (одно из этих |
413 сочетаний). Здесь <SPC> обозначает клавишу пробела. Переместитесь на другой | 414 сочетаний). Здесь <SPC> обозначает клавишу пробела. Переместитесь на другой |
414 конец области и нажмите C-w. Эта операция убьет весь текст между двумя | 415 конец области и нажмите C-w. Эта операция убьет весь текст между двумя |
415 указанными позициями. | 416 указанными позициями. |
416 | 417 |
417 >> Переместите курсор к букве В в начале предыдущего параграфа. | 418 >> Переместите курсор к букве В в начале предыдущего параграфа. |
418 >> Наберите C-<SPC>. Emacs должен отобразить в нижней части экрана сообщение | 419 >> Наберите C-<SPC>. Emacs должен отобразить в нижней части экрана сообщение |
419 "Mark set". | 420 "Mark set". |
436 | 437 |
437 >> Нажмите C-k еще раз. Вы видите, что это действие убьет символ новой | 438 >> Нажмите C-k еще раз. Вы видите, что это действие убьет символ новой |
438 строки, который следует за этой строкой. | 439 строки, который следует за этой строкой. |
439 | 440 |
440 Заметьте, что первое выполнение C-k убивает содержимое строки, а второй | 441 Заметьте, что первое выполнение C-k убивает содержимое строки, а второй |
441 вызов C-k убивает саму строку и поднимает другие строки вверх. C-k | 442 вызов C-k убивает саму строку и поднимает другие строки вверх. C-k |
442 обрабатывает числовой аргумент специальным образом -- убивает заданное | 443 обрабатывает числовой аргумент специальным образом -- убивает заданное |
443 количество строк _И_ их содержимое. Это не просто повторение команды. C-u 2 | 444 количество строк _И_ их содержимое. Это не просто повторение команды. C-u 2 |
444 C-k удалит две строки, а также завершающие их символы новой строки; | 445 C-k удалит две строки, а также завершающие их символы новой строки; |
445 двухразовое выполнение C-k не сделает этого. | 446 двухразовое выполнение C-k не сделает этого. |
446 | 447 |
447 Возврат убитого ранее текста называется "восстановление (yanking)". (Думайте | 448 Возврат убитого ранее текста называется "восстановление (yanking)". (Думайте |
448 об этом, как о восстановлении или помещении назад некоторого взятого | 449 об этом, как о восстановлении или помещении назад некоторого взятого |
449 текста). Вы можете восстановить убитый текст в месте удаления или в | 450 текста). Вы можете восстановить убитый текст в месте удаления или в |
450 любой другой точке редактируемого текста или даже в другом файле. Вы | 451 любой другой точке редактируемого текста или даже в другом файле. Вы |
451 можете восстановить текст несколько раз и получить несколько копий данного | 452 можете восстановить текст несколько раз и получить несколько копий данного |
452 текста. | 453 текста. |
453 | 454 |
454 Для восстановления убитого текста используется сочетание клавиш C-y. Данная | 455 Для восстановления убитого текста используется сочетание клавиш C-y. Данная |
455 команда восстанавливает последний убитый текст в точке расположения курсора. | 456 команда восстанавливает последний убитый текст в точке расположения курсора. |
456 | 457 |
457 >> Попробуйте выполнить эту команду -- наберите C-y, чтобы вернуть текст | 458 >> Попробуйте выполнить эту команду -- наберите C-y, чтобы вернуть текст |
458 назад. | 459 назад. |
459 | 460 |
463 | 464 |
464 >> Попробуйте выполнить это сейчас -- нажмите C-k несколько раз. | 465 >> Попробуйте выполнить это сейчас -- нажмите C-k несколько раз. |
465 | 466 |
466 Теперь вернем убитый текст: | 467 Теперь вернем убитый текст: |
467 | 468 |
468 >> Нажмите C-y. Теперь переместите курсор на несколько строк вниз, и снова | 469 >> Нажмите C-y. Теперь переместите курсор на несколько строк вниз, и снова |
469 нажмите C-y. Сейчас вы видите, как можно скопировать некоторый текст. | 470 нажмите C-y. Сейчас вы видите, как можно скопировать некоторый текст. |
470 | 471 |
471 Что делать, если есть некоторый текст, который вы хотите вернуть назад, а | 472 Что делать, если есть некоторый текст, который вы хотите вернуть назад, а |
472 потом убить что-то еще? Одно нажатие C-y вернет только последний удаленный | 473 потом убить что-то еще? Одно нажатие C-y вернет только последний удаленный |
473 текст. Но предыдущий текст не будет потерян -- вы сможете его вернуть | 474 текст. Но предыдущий текст не будет потерян -- вы сможете его вернуть |
474 назад, используя команду M-y. После того как вы вернули последний | 475 назад, используя команду M-y. После того как вы вернули последний |
475 удаленный текст, нажмите M-y и замените этот восстановленный текст тем, | 476 удаленный текст, нажмите M-y и замените этот восстановленный текст тем, |
476 который был убит ранее. Нажимая M-y снова и снова, вы будете возвращать | 477 который был убит ранее. Нажимая M-y снова и снова, вы будете возвращать |
477 ранее убитые части текста. Когда вы достигнете искомого текста, то вам не | 478 ранее убитые части текста. Когда вы достигнете искомого текста, то вам не |
478 нужно делать ничего, чтобы сохранить его. Просто продолжайте работать, | 479 нужно делать ничего, чтобы сохранить его. Просто продолжайте работать, |
479 оставив восстановленный текст там, где он есть. | 480 оставив восстановленный текст там, где он есть. |
480 | 481 |
481 Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку | 482 Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку |
482 (наиболее раннее удаление). | 483 (наиболее раннее удаление). |
483 | 484 |
484 >> Убейте строку, переместите курсор и убейте еще одну строку. Затем | 485 >> Убейте строку, переместите курсор и убейте еще одну строку. Затем |
485 используйте C-y для восстановления второй убитой строки, а затем нажмите | 486 используйте C-y для восстановления второй убитой строки, а затем нажмите |
486 M-y, и она будет заменена первой убитой строкой. Нажмите M-y еще | 487 M-y, и она будет заменена первой убитой строкой. Нажмите M-y еще |
487 несколько раз, чтобы увидеть полученный результат. Продолжайте выполнять | 488 несколько раз, чтобы увидеть полученный результат. Продолжайте выполнять |
488 эту команду до тех пор, пока вторая убитая строка не будет восстановлена | 489 эту команду до тех пор, пока вторая убитая строка не будет восстановлена |
489 снова. Если вам хочется, то вы можете задавать положительные и | 490 снова. Если вам хочется, то вы можете задавать положительные и |
490 отрицательные аргументы для команды M-y. | 491 отрицательные аргументы для команды M-y. |
491 | 492 |
500 Обычно, C-x u отменяет изменения, сделанные одной командой; если повторить | 501 Обычно, C-x u отменяет изменения, сделанные одной командой; если повторить |
501 C-x u несколько раз подряд, то каждый раз будет отменяться еще одна команда. | 502 C-x u несколько раз подряд, то каждый раз будет отменяться еще одна команда. |
502 | 503 |
503 Но есть два исключения -- команды не изменяющие текст, не учитываются (сюда | 504 Но есть два исключения -- команды не изменяющие текст, не учитываются (сюда |
504 включаются команды перемещения курсора и прокрутки), и команды вставки | 505 включаются команды перемещения курсора и прокрутки), и команды вставки |
505 символов обрабатываются группами до 20 символов. (Это уменьшает число | 506 символов собираются в группы до 20 символов. (Это уменьшает число |
506 нажатий C-x u, которые вам нужно будет набрать для отмены ввода текста). | 507 нажатий C-x u, которые вам нужно будет набрать для отмены ввода текста). |
507 | 508 |
508 >> Убейте эту строку с помощью C-k, а затем наберите C-x u, и строка должна | 509 >> Убейте эту строку с помощью C-k, а затем наберите C-x u, и строка должна |
509 вернуться назад. | 510 вернуться назад. |
510 | 511 |
511 C-_ -- это еще команда отмены; она работает точно так же, как и C-x u, но | 512 C-_ -- это еще команда отмены; она работает точно так же, как и C-x u, но |
512 легче в использовании, если вам нужно выполнить ее несколько раз | 513 легче в использовании, если вам нужно выполнить ее несколько раз |
513 подряд. Неудобное положение C-_ на некоторых клавиатурах делает не очевидным | 514 подряд. Неудобное положение C-_ на некоторых клавиатурах делает не очевидным |
514 способ ее набора. Поэтому мы предлагаем использовать C-x u. На некоторых | 515 способ ее набора. Поэтому мы предлагаем использовать C-x u. На некоторых |
515 терминалах вы можете набирать C-_, нажимая / и удерживая клавишу CONTROL. | 516 терминалах вы можете набирать C-_, нажимая / и удерживая клавишу CONTROL. |
516 | 517 |
517 Числовой аргумент для C-_ или C-x u используется как счетчик повторений. | 518 Числовой аргумент для C-_ или C-x u используется как счетчик повторений. |
518 | 519 |
519 Вы можете отменить удаление текста точно так же, как и отмену убития текста. | 520 Вы можете отменить удаление текста точно так же, как и отмену убития текста. |
523 | 524 |
524 * ФАЙЛЫ | 525 * ФАЙЛЫ |
525 ------- | 526 ------- |
526 | 527 |
527 Чтобы созданный текст можно было редактировать позже, вы должны поместить | 528 Чтобы созданный текст можно было редактировать позже, вы должны поместить |
528 его в файл. Иначе он исчезнет, когда вы покинете Emacs. Вы помещаете ваш | 529 его в файл. Иначе он исчезнет, когда вы покинете Emacs. Вы помещаете ваш |
529 текст в файл, "открывая" файл (Эту операцию также называют "посетить" файл). | 530 текст в файл, "открывая" файл (Эту операцию также называют "посетить" файл). |
530 | 531 |
531 Открыть файл означает посмотреть его содержимое с помощью Emacs. Во многих | 532 Открыть файл означает посмотреть его содержимое с помощью Emacs. Во многих |
532 случаях это происходит тогда, когда вы редактируете файл сами. Однако ваши | 533 случаях это происходит тогда, когда вы редактируете файл сами. Однако ваши |
533 изменения, сделанные с использованием Emacs, не будут зафиксированы, пока вы | 534 изменения, сделанные с использованием Emacs, не будут зафиксированы, пока вы |
534 не сохраните файл. Вы можете не оставлять частично измененный файл в | 535 не сохраните файл. Вы можете не оставлять частично измененный файл в |
535 системе, если вы не хотите его сохранять. Даже когда вы сохраняете файл, то | 536 системе, если вы не хотите его сохранять. Даже когда вы сохраняете файл, то |
536 Emacs оставляет оригинальный файл, но с другим именем, так что вы позже | 537 Emacs оставляет оригинальный файл, но с другим именем, так что вы позже |
537 можете отменить ваши изменения, вернувшись к предыдущей версии файла. | 538 можете отменить ваши изменения, вернувшись к предыдущей версии файла. |
538 | 539 |
539 Если вы посмотрите в нижнюю часть экрана, то вы увидите строку, которая | 540 Если вы посмотрите в нижнюю часть экрана, то вы увидите строку, которая |
540 начинается с тире, и ее начало выглядит примерно так "--:-- TUTORIAL.ru". Эта | 541 начинается с тире, и начало которой выглядит примерно так "--:-- TUTORIAL.ru". |
541 часть экрана всегда показывает имя открытого вами файла. Итак, сейчас вы | 542 Эта часть экрана всегда показывает имя открытого вами файла. Итак, сейчас у |
542 открыли файл с именем "TUTORIAL.ru", который является вашей персональной | 543 вас открыт файл с именем "TUTORIAL.ru", который является вашей персональной |
543 копией учебника Emacs. Для любого файла, который вы откроете, его имя будет | 544 копией учебника Emacs. Для любого файла, который вы откроете, Emacs покажет |
544 показано в этой строке. | 545 его имя в этой строке. |
545 | 546 |
546 Одной из вещей, которые вам нужно знать о команде открытия файла -- это то, | 547 Одной из вещей, которые вам нужно знать о команде открытия файла -- это то, |
547 что вы должны ввести имя файла, который нужно открыть. Такие команды мы | 548 что вы должны ввести имя файла, который нужно открыть. Такие команды мы |
548 называем командами, "читающими аргумент с терминала" (в нашем случае | 549 называем командами, "читающими аргумент с терминала" (в нашем случае |
549 аргументом является имя файла). После ввода команды | 550 аргументом является имя файла). После ввода команды |
550 | 551 |
551 C-x C-f Открыть (найти) файл | 552 C-x C-f Открыть (найти) файл |
552 | 553 |
553 Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке | 554 Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке |
554 экрана. Нижняя строка называется мини-буфером -- он специально используется | 555 экрана. Нижняя строка называется мини-буфером -- он специально используется |
555 для ввода небольшого количества данных. Для редактирования имени файла вы | 556 для ввода небольшого количества данных. Для редактирования имени файла вы |
556 можете использовать обычные команды редактирования Emacs. | 557 можете использовать обычные команды редактирования Emacs. |
557 | 558 |
558 Когда вы вводите имя файла (или любую другую информацию в мини-буфере), вы | 559 Когда вы вводите имя файла (или любую другую информацию в мини-буфере), вы |
559 можете отменить текущую команду нажав C-g. | 560 можете отменить текущую команду нажав C-g. |
560 | 561 |
570 редактировать. Когда вы закончите редактирование, то для того, чтобы | 571 редактировать. Когда вы закончите редактирование, то для того, чтобы |
571 сохранить изменения, наберите команду | 572 сохранить изменения, наберите команду |
572 | 573 |
573 C-x C-s Сохранить файл | 574 C-x C-s Сохранить файл |
574 | 575 |
575 Эта команда скопирует текст из Emacs в файл. В первый раз, когда вы это | 576 Эта команда скопирует текст из Emacs в файл. В первый раз, когда вы это |
576 сделаете, Emacs переименует оригинальный файл в файл с новым именем, чтобы | 577 сделаете, Emacs переименует оригинальный файл в файл с новым именем, чтобы |
577 не потерялось предыдущее содержимое файла. Новое имя получается добавлением | 578 не потерялось предыдущее содержимое файла. Имя файла с предыдущим содержимым |
578 символа "~" к оригинальному имени файла. | 579 получается добавлением символа "~" к оригинальному имени файла. |
579 | 580 |
580 Когда сохранение завершится, Emacs отобразит имя записанного файла. Вы | 581 Когда сохранение завершится, Emacs отобразит имя записанного файла. Вы |
581 должны сохранять изменения достаточно часто, чтобы не потерять внесенные | 582 должны сохранять изменения достаточно часто, чтобы не потерять внесенные |
582 изменения, если система вдруг зависнет. | 583 изменения, если система вдруг зависнет. |
583 | 584 |
584 >> Наберите C-x C-s, сохраните вашу копию учебника. В нижней строке экрана | 585 >> Наберите C-x C-s, сохраните вашу копию учебника. В нижней строке экрана |
585 должна появиться надпись "Wrote ...TUTORIAL.ru". | 586 должна появиться надпись "Wrote ...TUTORIAL.ru". |
586 | 587 |
587 ЗАМЕЧАНИЕ: На некоторых системах ввод C-x C-s заблокирует экран, так что вы | 588 ЗАМЕЧАНИЕ: На некоторых системах ввод C-x C-s заблокирует экран, так что вы |
588 не увидите последующего вывода Emacs`а. Такое поведение означает, что | 589 не увидите последующего вывода Emacs`а. Такое поведение означает, что |
589 операционная система имеет "особенность", именуемую "flow control", | 590 операционная система имеет "особенность", именуемую "flow control", |
590 перехватывающую сочетание C-s и не пропускающую этот символ к Emacs`у. Для | 591 перехватывающую сочетание C-s и не пропускающую этот символ к Emacs'у. Для |
591 снятия блокировки экрана нажмите C-q. Обратитесь к разделу "Spontaneous | 592 снятия блокировки экрана нажмите C-q. Обратитесь к разделу "Spontaneous |
592 Entry to Incremental Search" руководства Emacs чтобы узнать о том, как | 593 Entry to Incremental Search" руководства Emacs чтобы узнать о том, как |
593 бороться с этой "особенностью". | 594 бороться с этой "особенностью". |
594 | 595 |
595 Вы можете открыть существующий файл для просмотра или редактирования. Вы | 596 Вы можете открыть существующий файл для просмотра или редактирования. Вы |
596 также можете открыть файл, которого еще не существует. Другими словами -- | 597 также можете открыть файл, который еще не существует. Таким образом вы |
597 создать файл с помощью Emacs можно так: найти файл, создать новый, и начать | 598 можете создать файл с помощью Emacs: откройте несуществующий файл (Emacs |
598 вводить текст. Когда вы выполните команду сохранения файла, то Emacs создаст | 599 покажет его пустым) и вводите в него текст. Когда вы выполните команду |
599 настоящий файл с набранным вами текстом. Далее, как вы поняли, вы будете | 600 сохранения файла в первый раз, Emacs создаст настоящий файл с набранным |
600 редактировать уже существующий файл. | 601 вами текстом. Далее, как вы поняли, вы будете редактировать уже существующий |
602 файл. | |
601 | 603 |
602 | 604 |
603 * БУФЕРА | 605 * БУФЕРА |
604 -------- | 606 -------- |
605 | 607 |
606 Если вы открываете второй файл, используя команду C-x C-f, то первый файл | 608 Если вы откроете еще один файл, используя команду C-x C-f, то предыдущий файл |
607 остается внутри Emacs. Вы можете переключиться назад, открыв его снова с | 609 остается внутри Emacs'а. Вы можете переключиться назад к предыдущему файлу, |
608 помощью C-x C-f. Таким образом вы можете загрузить несколько файлов в Emacs. | 610 открыв его снова с помощью C-x C-f. Таким образом вы можете загрузить немало |
611 файлов в Emacs. | |
609 | 612 |
610 >> Создайте файл с именем "foo", набрав C-x C-f foo <Return>. | 613 >> Создайте файл с именем "foo", набрав C-x C-f foo <Return>. |
611 Вставьте какой-нибудь текст, измените его, и сохраните файл "foo", | 614 Вставьте какой-нибудь текст, измените его, и сохраните файл "foo", |
612 набрав C-x C-s. | 615 набрав C-x C-s. |
613 Наконец, наберите C-x C-f TUTORIAL.ru <Return> для того, чтобы вернуться | 616 Наконец, наберите C-x C-f TUTORIAL.ru <Return> для того, чтобы вернуться |
614 назад к учебнику. | 617 назад к учебнику. |
615 | 618 |
616 Emacs хранит текст каждого файла внутри в объекте, называемом "буфер" | 619 Emacs хранит текст каждого файла в объекте, называемом "буфер" ("buffer"). |
617 ("buffer"). Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть | 620 Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть список |
618 список буферов, созданных в текущем сеансе Emacs, наберите | 621 буферов, созданных в текущем сеансе Emacs, наберите |
619 | 622 |
620 C-x C-b Список буферов | 623 C-x C-b Список буферов |
621 | 624 |
622 >> Попробуйте выполнить C-x C-b прямо сейчас. | 625 >> Попробуйте выполнить C-x C-b прямо сейчас. |
623 | 626 |
624 Мы видим, что каждый буфер имеет имя и может иметь связанное с ним имя | 627 Мы видим, что каждый буфер имеет имя и может иметь связанное с ним имя |
625 файла, содержимое которого хранится в данном буфере. ЛЮБОЙ текст, который | 628 файла, содержимое которого хранится в данном буфере. ЛЮБОЙ текст, который |
626 вы видите в окне Emacs, всегда является частью какого-либо буфера. | 629 вы видите в окне Emacs'а, всегда является частью какого-либо буфера. |
627 | 630 |
628 >> Наберите C-x 1, чтобы избавиться от списка буферов. | 631 >> Наберите C-x 1, чтобы избавиться от списка буферов. |
629 | 632 |
630 Когда у вас есть несколько буферов, только один из них является "текущим" в | 633 Когда у вас есть несколько буферов, только один из них является "текущим" в |
631 конкретный момент времени. Это тот буфер, который вы изменяете. Если вы | 634 конкретный момент времени. Это тот буфер, который вы редактируете. Если вы |
632 хотите изменить данные в другом буфере, то вы должны "переключиться" в него. | 635 хотите редактировать другой буфер, то вы должны "переключиться" к нему. |
633 Если вы хотите переключиться в буфер, связанный с файлом, то вы можете | 636 Если вы хотите переключиться к буферу, связанному с файлом, то вы можете |
634 открыть этот файл снова с помощью C-x C-f. Но есть более простой способ -- | 637 открыть этот файл снова с помощью C-x C-f. Но есть более простой способ -- |
635 использовать команду C-x b. В качестве аргумента для данной команды вы | 638 использовать команду C-x b. В качестве аргумента для данной команды вы |
636 должны указать имя буфера. | 639 должны указать имя буфера. |
637 | 640 |
638 >> Наберите C-x b foo <Return> для переключения в буфер "foo", который | 641 >> Наберите C-x b foo <Return> для переключения в буфер "foo", который |
639 хранит текст файла "foo". Затем наберите C-x b TUTORIAL <Return> для | 642 хранит текст файла "foo". Затем наберите C-x b TUTORIAL.ru <Return> |
640 возвращения в буфер с данным учебником. | 643 для возвращения в буфер с данным учебником. |
641 | 644 |
642 Чаще всего имя буфера совпадает с именем файла (только без имени каталогов). | 645 Чаще всего имя буфера совпадает с именем файла (только без имен каталогов). |
643 Однако это не всегда является правдой. Список буферов, который вы создаете | 646 Но иногда это не так. Список буферов, который вы создаете с помощью команды |
644 с помощью команды C-x C-b, всегда показывает вам имена всех буферов. | 647 C-x C-b, всегда показывает вам точные имена всех буферов. |
645 | 648 |
646 ЛЮБОЙ текст, который вы видите в окне Emacs, всегда является частью | 649 ЛЮБОЙ текст, который вы видите в окне Emacs, всегда является частью |
647 какого-либо буфера. Некоторые буфера не соответствуют файлам. Например, | 650 какого-либо буфера. Некоторые буфера не соответствуют файлам. Например, |
648 буфер с именем "*Buffer List*" не связан ни с каким файлом. Это буфер, | 651 буфер с именем "*Buffer List*" не связан ни с каким файлом. Этот буфер |
649 который содержит список буферов, который вы создали, используя C-x C-b. | 652 создается коммандой C-x C-b и содержит список всех буферов. Буфер по имени |
650 Буфер с именем "*Messages*" также не связан ни с каким файлом; он содержит | 653 "*Messages*" также не связан ни с каким файлом; он содержит сообщения, |
651 сообщения, которые отображаются в самой нижней строке окна Emacs в течение | 654 которые отображаются в самой нижней строке окна Emacs в течение |
652 текущей сессии работы с редактором. | 655 текущего сеанса работы с редактором. |
653 | 656 |
654 >> Наберите C-x b *Messages* <Return> для просмотра содержимого буфера | 657 >> Наберите C-x b *Messages* <Return> для просмотра содержимого буфера |
655 сообщений. Затем наберите C-x b TUTORIAL <Return> для возврата в данный | 658 сообщений. Затем наберите C-x b TUTORIAL.ru <Return> для возврата в |
656 учебник. | 659 данный учебник. |
657 | 660 |
658 Если вы изменяете текст одного файла, а затем открываете другой, то текст в | 661 Если вы изменяете текст одного файла, а затем открываете другой, то текст в |
659 первом буфере остается не сохраненным. Изменения останутся внутри Emacs, в | 662 первом буфере остается не сохраненным. Изменения останутся внутри Emacs, в |
660 буфере, связанном с файлом. Создание или редактирование следующего буфера не | 663 буфере, связанном с файлом. Создание или редактирование следующего буфера не |
661 сказывается на первом буфере. Это очень удобно, но имейте в виду, что вам | 664 сказывается на первом буфере. Это очень удобно, но имейте в виду, что вам |
662 нужно иметь способ сохранить первый файловый буфер. Было бы неприятно | 665 нужно иметь способ сохранить первый файловый буфер. Было бы неприятно |
663 каждый раз возвращаться назад используя C-x C-f и потом использовать C-x C-s | 666 каждый раз возвращаться назад используя C-x C-f и потом использовать C-x C-s |
664 для сохранения данных. Поэтому существует команда | 667 для сохранения данных. Поэтому существует команда |
665 | 668 |
666 C-x s Сохранить некоторые буфера. (Save some buffers) | 669 C-x s Сохранить некоторые буфера. (Save some buffers) |
667 | 670 |
668 C-x s запрашивает у вас подтверждение о сохранении для каждого буфера, | 671 C-x s запрашивает у вас подтверждение о сохранении для каждого буфера, |
669 который содержит несохраненные изменения. Для каждого такого буфера у вас | 672 который содержит несохраненные изменения. Для каждого такого буфера у вас |
670 запросят: сохранять или не сохранять изменения. | 673 запросят: сохранять или не сохранять изменения. |
671 | 674 |
672 >> Вставьте строку текста, потом наберите C-x s. | 675 >> Вставьте строку текста, потом наберите C-x s. |
673 У вас должны спросить, сохранять ли буфер с именем TUTORIAL.ru. Ответьте | 676 Должен появиться запрос: сохранять ли буфер с именем TUTORIAL.ru. |
674 на вопрос утвердительно, набрав "y". | 677 Ответьте на запрос утвердительно нажатием клавишы "y". |
675 | 678 |
676 | 679 |
677 * РАСШИРЕНИЕ НАБОРА КОМАНД | 680 * РАСШИРЕНИЕ НАБОРА КОМАНД |
678 -------------------------- | 681 -------------------------- |
679 | 682 |
680 У Emacs очень много команд, и они не могут быть назначены на все control- и | 683 У Emacs очень много команд, и они не могут быть назначены на все control- и |
681 meta- символы. Emacs обходит это, используя X-команду (eXtend). Есть две | 684 meta- символы. Emacs решает эту проблему, используя X-команду (eXtend, |
682 возможности: | 685 расширить). Есть два варианта этого расширения: |
683 | 686 |
684 C-x Расширение с помощью ввода префикса. За ним следует один символ. | 687 C-x Расширение с помощью ввода префикса. За ним следует один символ. |
685 M-x Расширение набора команд с помощью их наименования. За ним следует имя | 688 M-x Расширение набора команд с помощью их наименования. За ним |
686 команды. | 689 следует имя команды. |
687 | 690 |
688 Это полезные команды, но они используются менее часто, чем те команды, | 691 Это полезные команды, но они используются менее часто, чем те команды, |
689 которые мы изучили. Вы уже видели некоторые из них: команды работы с файлами | 692 которые мы уже изучили. Вы уже видели некоторые из расширенных комманд: |
690 C-x C-f -- открыть файл, и C-x C-s -- сохранить файл. Другой пример -- | 693 команды работы с файлами C-x C-f -- открыть файл, и C-x C-s -- сохранить |
691 команда завершения работы с Emacs -- C-x C-c. (Не волнуйтесь о том, что вы | 694 файл. Другой пример -- команда завершения работы с Emacs'ом -- C-x C-c. |
692 потеряете сделанные изменения, C-x C-c предлагает сохранить изменения перед | 695 (Не волнуйтесь о том, что вы потеряете сделанные изменения, C-x C-c |
693 удалением буфера Emacs). | 696 предлагает сохранить изменения перед выходом из Emacs'а.) |
697 | |
698 Если вы работаете на графическом дисплее, который способен показывать | |
699 несколько программ одновременно, вы можете переключится от Emacs'а к другой | |
700 программе используя мышку или соответствующее команды установленного у вас | |
701 менеджера окон. Но когда вы работаете на текстовом терминале, который | |
702 способен отобразить только одну программу, то для переключения к другой | |
703 программе вам понадобится "приостановить" Emacs. | |
694 | 704 |
695 C-z -- это команда *временного* выхода из Emacs. Вы можете вернуться в ту же | 705 C-z -- это команда *временного* выхода из Emacs. Вы можете вернуться в ту же |
696 сессию Emacs позже. | 706 сессию Emacs позже. Когда Emacs запускается на текстовом терминале, команда |
697 | 707 C-z "приостанавливает" ("suspends") Emacs, т.е. она возвращает вас в командный |
698 На системах, которые реализуют эту возможность, команда C-z | 708 процессор (shell), но не закрывают Emacs. В большинстве командных процессоров |
699 "приостанавливает" ("suspends") Emacs; возвращает в командный процессор | 709 вы можете вернуться в Emacs, используя команду `fg', `%emacs' или `exit'. |
700 (shell), но не закрывают Emacs. В большинстве командных процессоров вы | |
701 можете вернуться в Emacs, используя команду `fg' или `%emacs'. | |
702 | |
703 В системах, не поддерживающих приостановку процессов, C-z создает новый | |
704 командный процессор (subshell), запущенный из-под Emacs, чтобы дать вам | |
705 возможность выполнить другую программу, и затем вернуться в Emacs (это не | |
706 настоящий выход из Emacs). В таких система для возврата в Emacs вам нужно | |
707 использовать команду `exit'. | |
708 | 710 |
709 Чтобы покинуть Emacs используйте команду C-x C-c. Обычно это нужно тогда, | 711 Чтобы покинуть Emacs используйте команду C-x C-c. Обычно это нужно тогда, |
710 когда вы хотите закончить сеанс работы с компьютером. Это сочетание также | 712 когда вы хотите закончить сеанс работы с компьютером. Это сочетание также |
711 используется, чтобы выйти из Emacs, вызванного из почтовой программы или | 713 используется, чтобы выйти из Emacs, вызванного из почтовой программы или |
712 другой утилиты, которая может не знать, как справиться с приостановленным | 714 другой утилиты, которая может не знать, как справиться с приостановленным |
713 Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше | 715 Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше |
714 приостановить Emacs, используя C-z, вместо того, чтобы покидать его совсем. | 716 приостановить Emacs, используя C-z, вместо того, чтобы покидать его совсем. |
715 | 717 |
716 Существует очень много команд, использующих префикс C-x. Вы уже изучили | 718 Существует очень много команд, использующих префикс C-x. Вы уже изучили |
717 следующие команды: | 719 следующие команды: |
718 | 720 |
719 C-x C-f Открыть файл | 721 C-x C-f Открыть файл |
720 C-x C-s Сохранить файл | 722 C-x C-s Сохранить файл |
721 C-x s Сохранить некоторые файлы | 723 C-x s Сохранить некоторые файлы |
722 C-x C-b Список буферов | 724 C-x C-b Список буферов |
723 C-x b Переключиться в буфер | 725 C-x b Переключиться в буфер |
724 C-x C-c Выход из Emacs | 726 C-x C-c Выход из Emacs |
725 C-x 1 Удаляет все окна кроме одного | 727 C-x 1 Удалить все окна, кроме текущего |
726 C-x u Отмена | 728 C-x u Отмена команд |
727 | 729 |
728 Именованные команды -- это команды, которые используются гораздо реже, или | 730 Поименованные команды -- это команды, которые используются гораздо реже, |
729 используются только в определенных режимах. В качестве примера можно | 731 или используются только в определенных режимах. В качестве примера можно |
730 привести команду замены строки, которая заменяет одну строку на другую во | 732 привести команду замены строки, которая заменяет одну строку на другую во |
731 всем тексте. Когда вы наберете M-x, Emacs предложит вам ввести имя команды; | 733 всем тексте. Когда вы наберете M-x, Emacs предложит вам ввести имя команды; |
732 в нашем случае это команда "replace-string". Наберите лишь "repl s<TAB>", | 734 в нашем случае это команда "replace-string". Наберите лишь "repl s<TAB>", |
733 и Emacs дополнит имя. (<TAB> -- это клавиша табуляции, обычно находящаяся | 735 и Emacs дополнит имя. (<TAB> -- это клавиша табуляции, обычно находящаяся |
734 выше клавиш CapsLock или Shift в левой части клавиатуры). Завершите имя | 736 над клавишами CapsLock или Shift в левой части клавиатуры.) Завершите имя |
735 нажатием <Return>. | 737 нажатием <Return>. |
736 | 738 |
737 Команда замены строки (replace-string) требует два аргумента -- строку, | 739 Команда замены строки (replace-string) требует два аргумента -- строку, |
738 которая будет заменена, и строку, на которую нужно заменить. Вы должны | 740 которая будет заменена, и строку, на которую нужно заменить. Вы должны |
739 завершать каждый аргумент вводом <Return>. | 741 завершать каждый аргумент вводом <Return>. |
740 | 742 |
741 >> Переместите курсор на две пустые строки ниже этой. | 743 >> Переместите курсор к пустой строке на две строчки ниже этой. |
742 Наберите M-x repl s<Return>файл<Return>файлы<Return>. | 744 Наберите M-x repl s<Return>файл<Return>файлы<Return>. |
743 | 745 |
744 Заметьте, как эта строка изменится: вы замените слово ф-а-й-л | 746 Заметьте, как эта строчка изменится: вы замените слово ф-а-й-л |
745 словом "файлы" везде, где оно встретится, ниже позиции курсора. | 747 словом "файлы" везде, где оно встретится, ниже позиции курсора. |
746 | 748 |
747 | 749 |
748 * АВТОМАТИЧЕСКОЕ СОХРАНЕНИЕ | 750 * АВТОМАТИЧЕСКОЕ СОХРАНЕНИЕ |
749 --------------------------- | 751 --------------------------- |
750 | 752 |
751 Когда вы изменяете файл, но не сохраняете его, то в случае краха системы вы | 753 Когда вы изменяете файл, но не сохраняете его, то в случае зависания системы |
752 можете потерять информацию. Чтобы защитить вас от этого, Emacs периодически | 754 вы можете потерять информацию. Чтобы защитить вас от этого, Emacs периодически |
753 сохраняет каждый файл, который вы редактируете. Автоматическое сохранение | 755 сохраняет каждый файл, который вы редактируете. Автоматическое сохранение |
754 происходит в файл, имя которого такое же, но начинается и заканчивается | 756 происходит в файл, имя получается из имени редактируемого файла добавлением |
755 символом "#"; например, если ваш файл называется "hello.c", то автоматически | 757 символа "#" в начале и в конце; например, если ваш файл называется "hello.c", |
756 сохраненный файл будет называться "#hello.c#". Когда вы сохраните файл | 758 то автоматически сохраненный файл будет называться "#hello.c#". Когда вы |
757 обычным способом, Emacs удалит автоматически сохраненный файл. | 759 сохраните файл обычным способом, Emacs удаляет автоматически сохраненный файл. |
758 | 760 |
759 Если система зависла, то вы можете восстановить ваши изменения, которые были | 761 Если система зависла, то вы можете восстановить ваши изменения, которые были |
760 сохранены автоматически, путем открытия нужного файла (файла, который вы | 762 сохранены автоматически, путем открытия нужного файла (файла, который вы |
761 редактировали, не сохраненного), и затем набрав M-x recover-file<return>. | 763 редактировали, но не сохранили), и затем набрав M-x recover-file<Return>. |
762 Когда у вас запросят подтверждение, наберите yes<return>, чтобы | 764 Когда у вас запросят подтверждение, наберите yes<Return>, чтобы |
763 восстановить автоматически сохраненные данные. | 765 восстановить автоматически сохраненные данные. |
764 | 766 |
765 | 767 |
766 * ОБЛАСТЬ ЭХО (ECHO AREA) | 768 * ОБЛАСТЬ ЭХА (ECHO AREA) |
767 ------------------------- | 769 ------------------------- |
768 | 770 |
769 Если Emacs видит, что вы медленно набираете команды из нескольких символов, | 771 Если Emacs видит, что вы медленно набираете команды из нескольких символов, |
770 то он показывает их вам внизу экрана, в области называемой "область эхо". | 772 то он показывает их вам внизу экрана, в области называемой "область эха". |
771 Область эхо -- это самая нижняя строка экрана. | 773 Область эха -- это самая нижняя строка окна Emacs. |
772 | 774 |
773 | 775 |
774 * СТРОКА СОСТОЯНИЯ | 776 * СТРОКА СОСТОЯНИЯ |
775 ------------------ | 777 ------------------ |
776 | 778 |
777 Строка сразу над областью эхо называется "строкой состояния". Выглядит эта | 779 Строка сразу над областью эха называется "строкой состояния". Выглядит эта |
778 строка примерно так: | 780 строка примерно так: |
779 | 781 |
780 --:** TUTORIAL.ru 63% L749 (Fundamental)----------------------- | 782 --:** TUTORIAL.ru 63% L749 (Fundamental)----------------------- |
781 | 783 |
782 Эта строка сообщает полезную информацию о состоянии Emacs и текста, который | 784 Эта строка сообщает полезную информацию о состоянии Emacs и текста, который |
783 вы редактируете. | 785 вы редактируете. |
784 | 786 |
785 Вы уже знаете, что означает имя файла -- это файл, который вы открыли. NN% | 787 Вы уже знаете, что означает имя файла -- это файл, который вы открыли. NN% |
786 показывает текущую позицию курсора в тексте; это означает что NN процентов | 788 показывает вашу текущую позицию в тексте; это означает что NN процентов |
787 текста находятся выше, чем начало экрана. Если первая строка всего текста | 789 текста находятся выше начала окна. Если показано начало текста, вы увидите |
788 находится в первой строке экрана, вы там увидите "Top" вместо "0%". Если на | 790 "Top" вместо "0%". Если показан конец текста, то будет отображено "Bot". |
789 экране отображается последняя строка, то будет отображено "Bot". Если текст | 791 Если текст настолько мал, что показан весь, то строка состояния сообщит |
790 настолько мал, что весь вмещается в экран, то строка состояния сообщит | |
791 "All". | 792 "All". |
792 | 793 |
793 Буква L и цифры показывают позицию другим способом -- они показывают номер | 794 Буква L и цифры показывают позицию другим способом -- они показывают номер |
794 строки в которой находится курсор. | 795 строки в которой находится курсор. |
795 | 796 |
796 Звездочки в начале строки означают, что вы изменяли текст. При открытии или | 797 Звездочки в начале строки означают, что вы изменяли текст. При открытии или |
797 сохранении файла эта часть строки будет содержать не звездочки, а тире. | 798 сохранении файла эта часть строки будет содержать не звездочки, а тире. |
798 | 799 |
799 Часть строки статуса внутри скобок сообщает вам о режиме редактирования, | 800 Часть строки состояния внутри скобок сообщает вам о режиме редактирования, |
800 который вы сейчас используете. Стандартный режим -- Fundamental, он | 801 который вы сейчас используете. Стандартный, или базовый, режим -- Fundamental, |
801 используется и данном документе. Это пример "основного режима" ("major | 802 он используется и в данном учебнике. Это пример "основного режима" ("major |
802 mode"). | 803 mode"). |
803 | 804 |
804 Emacs имеет много различных основных режимов. Некоторые из режимов | 805 Emacs имеет много различных основных режимов. Некоторые из режимов |
805 используются для редактирования текста на различных языках и/или различных | 806 используются для редактирования текста на различных языках и/или различных |
806 видов текста, такие как Lisp-режим, Text-режим и пр. В каждый момент | 807 видов текста, такие как Lisp-режим, Text-режим и пр. В каждый момент |
807 времени действует только один основной режим, и его название вы можете найти | 808 времени действует только один основной режим, и его название вы можете найти |
808 в скобках -- там, где сейчас находится слово "Fundamental" (базовый). | 809 в скобках -- там, где сейчас находится слово "Fundamental" (базовый). |
809 | 810 |
810 Каждый основной режим заставляет некоторые команды вести себя немного | 811 Каждый основной режим заставляет некоторые команды вести себя немного |
811 по-другому. Например, это команды создания комментариев в программе, и | 812 по-другому. Например, это команды создания комментариев в программе, и |
812 поскольку в каждом языке программирования комментарии записываются | 813 поскольку в каждом языке программирования комментарии записываются |
813 по-своему, то и каждый основной режим вставляет их по-разному. Каждый | 814 по-своему, то и каждый основной режим вставляет их по-разному. Каждый |
814 основной режим имеет именованную команду, которая включает его. Например, | 815 основной режим имеет именованную команду, которая включает его. Например, |
815 M-x fundamental-mode -- это команда, которая включает базовый (Fundamental) | 816 M-x fundamental-mode -- это команда, которая включает базовый (Fundamental) |
816 режим. | 817 режим. |
817 | 818 |
818 Если вы редактируете текст на естественном языке, например, как этот файл, | 819 Если вы редактируете текст на естественном языке, например, как этот файл, |
819 то вы, вероятно должны переключиться в режим Text. | 820 то вы, вероятно должны переключиться в режим Text. |
820 | 821 |
821 >> Наберите M-x text mode<Return>. | 822 >> Наберите M-x text mode<Return>. |
822 | 823 |
823 Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы | 824 Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы |
824 можете заметить, что M-f и M-b теперь рассматривают апострофы как часть | 825 можете заметить, что M-f и M-b теперь рассматривают апострофы как часть |
825 слова. Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали | 826 слова. Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали |
826 апострофы как разделители слов. | 827 апострофы как разделители слов. |
827 | 828 |
828 Основной режим обычно делает небольшие изменения, такие как: большинство | 829 Как правило, основной режим производит подобные незначительные изменения: |
829 команд делают "одну и ту же работу" в каждом из режимов, но их действие | 830 большинство команд "работает" одинаково в каждом из режимов, но их действие |
830 отличается какой-нибудь мелочью. | 831 отличается какой-нибудь мелочью. |
831 | 832 |
832 Для просмотра документации о текущем основном режиме, нажмите C-h m. | 833 Для просмотра документации о текущем основном режиме, нажмите C-h m. |
833 | 834 |
834 >> Используйте C-u C-v один раз или более, чтобы расположить эту строку | 835 >> Используйте C-u C-v один раз или более, чтобы расположить эту строку |
835 ближе к верху экрана. | 836 ближе к верху экрана. |
836 >> Наберите C-h m, чтобы посмотреть отличия Text-режима от базового. | 837 >> Наберите C-h m, чтобы посмотреть отличия Text-режима от базового. |
837 >> Наберите C-x 1, чтобы убрать документацию с глаз долой :) | 838 >> Наберите C-x 1, чтобы убрать документацию с глаз долой :) |
838 | 839 |
839 Основной режим называется основным потому, что также существуют | 840 Основной режим называется основным потому, что также существуют |
840 дополнительные (minor) режимы. Дополнительные режимы не являются | 841 дополнительные, или второстепенные, (minor) режимы. Дополнительные режимы |
841 альтернативами основным, они только немного изменяют их поведение. Каждый | 842 не являются альтернативами основным, они только немного изменяют их |
842 дополнительный режим включается/выключается независимо от других | 843 поведение. Каждый дополнительный режим включается/выключается независимо |
843 дополнительных режимов и независимо от вашего основного режима. Вы можете | 844 от других дополнительных режимов и независимо от вашего основного режима. |
844 использовать основной режим без дополнительных, или с любой их комбинацией. | 845 Вы можете использовать основной режим без дополнительных, или с любой |
846 комбинацией нескольких дополнительных режимов. | |
845 | 847 |
846 Один из дополнительных режимов очень полезен, особенно для редактирования | 848 Один из дополнительных режимов очень полезен, особенно для редактирования |
847 текста -- это режим автозаполнения (Auto Fill mode). Когда этот режим | 849 текста -- это режим автозаполнения (Auto Fill mode). Когда этот режим |
848 включен, то Emacs разрывает строки между словами автоматически в тех | 850 включен, то Emacs автоматически разрывает строку между словами в тех |
849 случаях, когда вы вставляете текст и делаете строки слишком длинными. | 851 случаях, когда вставленный текст делает строку слишком длинной. |
850 | 852 |
851 Вы можете включить режим автозаполнения, набрав M-x auto fill mode<Return>. | 853 Вы можете включить режим автозаполнения, набрав M-x auto fill mode<Return>. |
852 Когда этот режим включен, его можно выключить с помощью той же команды -- | 854 Когда этот режим включен, его можно выключить с помощью той же команды -- |
853 M-x auto fill mode<Return>. Если режим включен, то такая команда его | 855 M-x auto fill mode<Return>. Если режим включен, то такая команда его |
854 выключит, если выключен, то включит. Мы называем это командой "переключения | 856 выключит, если выключен, то включит. Мы называем это командой "переключения |
855 режима". | 857 режима". |
856 | 858 |
857 >> Наберите M-x auto fill mode<Return>. Затем вводите строку из слов "фыва " | 859 >> Наберите M-x auto fill mode<Return>. Затем вводите строку из слов "фыва " |
858 пока не увидите, как она разделится на две строки. Вы должны помещать | 860 пока не увидите, как она разделится на две строки. Эти пробелы между |
859 пробелы между словами, потому что режим автозаполнения разбивает строки | 861 словами необходимы, потому что режим автозаполнения разбивает строки |
860 только по пробелам. | 862 только по пробелам. |
861 | 863 |
862 Граница разбиения обычно равна 70-ти символам, но вы можете изменить ее | 864 Граница разбиения обычно равна 70-ти символам, но вы можете изменить ее |
863 используя команду C-x f. Вы должны задать границу в виде числового | 865 используя команду C-x f. Вы должны задать границу в виде числового |
864 аргумента для этой команды. | 866 аргумента для этой команды. |
865 | 867 |
866 >> Введите C-x f с аргументом 20 (C-u 2 0 C-x f). Затем введите какой-нибудь | 868 >> Введите C-x f с аргументом 20 (C-u 2 0 C-x f). Затем введите какой-нибудь |
867 текст и посмотрите как Emacs заполняет строки по 20 символов в каждой. | 869 текст и посмотрите как Emacs заполняет строки по 20 символов в каждой. |
868 Верните значение границы равное 70 назад, используя команду C-x f. | 870 Верните значение границы равное 70 назад, используя команду C-x f. |
869 | 871 |
870 Если вы сделали изменения в середине параграфа, то автозаполнение не | 872 Если вы сделали изменения в середине параграфа, то автозаполнение не |
871 переформатирует текст автоматически. Чтобы переформатировать параграф, | 873 переформатирует текст автоматически. Чтобы переформатировать параграф, |
872 наберите M-q (META-q), когда курсор находится внутри параграфа. | 874 наберите M-q (META-q), когда курсор находится внутри параграфа. |
873 | 875 |
874 >> Переместите курсор в предыдущий параграф, и нажмите M-q. | 876 >> Переместите курсор в предыдущий параграф, и нажмите M-q. |
875 | 877 |
876 | 878 |
877 * ПОИСК | 879 * ПОИСК |
878 ------- | 880 ------- |
879 | 881 |
880 Emacs умеет искать строки (непрерывные группы символов или слова) вперед или | 882 Emacs умеет искать строки (непрерывные группы символов или слова) вперед или |
881 назад по тексту. Поиск строки -- это команда перемещения курсора; она | 883 назад по тексту. Поиск строки -- это команда перемещения курсора; она |
882 перемещает курсор в следующую точку, где найдена искомая строка. | 884 перемещает курсор в следующую точку, где найдена искомая строка. |
883 | 885 |
884 Команда поиска Emacs отличается от аналогичных команд большинства других | 886 Команда поиска Emacs отличается от аналогичных команд большинства других |
885 редакторов тем, что она инкрементальная. Это означает, что поиск происходит | 887 редакторов тем, что она инкрементальная. Это означает, что поиск происходит |
886 по мере того, как вы набираете искомую строку. | 888 по мере того, как вы набираете искомую строку. |
887 | 889 |
888 Команда, начинающая поиск вперед -- C-s, а C-r ищет назад. ПОДОЖДИТЕ! Не | 890 Команда, начинающая поиск вперед -- C-s, а C-r ищет назад. ПОДОЖДИТЕ! Не |
889 нужно пробовать прямо сейчас. | 891 нужно пробовать прямо сейчас. |
890 | 892 |
891 Когда вы нажмете C-s, вы увидите строку "I-search", появившуюся в области эхо. | 893 Когда вы нажмете C-s, вы увидите строку "I-search", появившуюся в области эха. |
892 Вам сообщается, что Emacs ждет ввода слова, которое вы хотите найти. | 894 Вам сообщается, что Emacs ждет ввода слова, которое вы хотите найти. |
893 <Return> завершает поиск. | 895 <Return> завершает поиск. |
894 | 896 |
895 >> Теперь нажмите C-s для начала поиска. Медленно, по одной букве, набирайте | 897 >> Теперь нажмите C-s для начала поиска. Медленно, по одной букве, набирайте |
896 слово 'курсор', останавливаясь после каждой введенной буквы и замечая, что | 898 слово 'курсор', останавливаясь после каждой введенной буквы и замечая, что |
900 >> Теперь нажмите <Delback> четыре раза и проследите за перемещениями курсора. | 902 >> Теперь нажмите <Delback> четыре раза и проследите за перемещениями курсора. |
901 >> Нажмите <Return> для завершения поиска. | 903 >> Нажмите <Return> для завершения поиска. |
902 | 904 |
903 Вы заметили, что происходило? Emacs в режиме инкрементального поиска пытался | 905 Вы заметили, что происходило? Emacs в режиме инкрементального поиска пытался |
904 переходить к строкам, совпадающим с набираемой вами строкой, подсвечивая их. | 906 переходить к строкам, совпадающим с набираемой вами строкой, подсвечивая их. |
905 Чтобы перейти к следующему вхождения слова 'курсор', просто нажмите C-s | 907 Чтобы перейти к следующему вхождению слова 'курсор', просто нажмите C-s |
906 снова. Если больше нет вхождений, то Emacs издаст звуковой сигнал и | 908 снова. Если больше нет вхождений, то Emacs издаст звуковой сигнал и |
907 сообщит, что ваш поиск не удался ("failing"), C-g также может отменить | 909 сообщит, что ваш поиск не удался ("failing"), C-g также может отменить |
908 поиск. | 910 поиск. |
909 | 911 |
910 ЗАМЕЧАНИЕ: На некоторых системах ввод C-x C-s заблокирует экран, так что вы | 912 ЗАМЕЧАНИЕ: На некоторых системах ввод C-x C-s заблокирует экран, так что вы |
911 не увидите последующего вывода Emacs`а. Такое поведение означает, что | 913 не увидите последующего вывода Emacs'а. Такое поведение означает, что |
912 операционная система имеет "особенность", именуемую "flow control", | 914 операционная система имеет "особенность", именуемую "flow control", |
913 перехватывающую сочетание C-s и не пропускающую этот символ к Emacs`у. Для | 915 перехватывающую сочетание C-s и не пропускающую этот символ к Emacs'у. Для |
914 снятия блокировки экрана нажмите C-q. Обратитесь к разделу "Spontaneous | 916 снятия блокировки экрана нажмите C-q. Обратитесь к разделу "Spontaneous |
915 Entry to Incremental Search" руководства Emacs, чтобы узнать о том, как | 917 Entry to Incremental Search" руководства Emacs, чтобы узнать о том, как |
916 бороться с этой "особенностью". | 918 бороться с этой "особенностью". |
917 | 919 |
918 Если вы во время инкрементального поиска нажмете <Delback>, то вы заметите, | 920 Если вы во время инкрементального поиска нажмете <Delback>, то вы заметите, |
919 что последний символ в искомой строке удалился, и поиск вернулся к | 921 что последний символ в искомой строке удалился, и поиск вернулся к |
920 предыдущему найденному месту. Например, предположим, что вы набрали "к", | 922 предыдущему найденному месту. Например, предположим, что вы набрали "к", |
921 поиск перейдет к первому вхождению символа "к". Теперь, если вы наберете | 923 поиск перейдет к первому вхождению символа "к". Теперь, если вы наберете |
922 "у", курсор перейдет к первому вхождению "ку". Нажатие <Delback> удалит | 924 "у", курсор перейдет к первому вхождению "ку". Нажатие <Delback> удалит |
923 символ "у" из строки поиска, и курсор вернется к первому вхождению "к". | 925 символ "у" из строки поиска, и курсор вернется к первому вхождению "к". |
924 | 926 |
925 Если вы во время поиска введете control- или meta- символ (за некоторыми | 927 Если вы во время поиска введете control- или meta- символ (за некоторыми |
926 исключениями, такими, как символы начинающие поиск, а именно C-s и C-r), | 928 исключениями, например, такими, как символы C-s и C-r, которые начинают |
927 поиск прекратится. | 929 поиск), то поиск прекратится. |
928 | 930 |
929 C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей | 931 C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей |
930 позиции курсора. Если вы хотите найти что-то ранее в тексте, то нажмите | 932 позиции курсора. Если вы хотите найти что-то ранее в тексте, то нажмите |
931 C-r. Все, что мы говорили о C-s, применимо и к C-r, за исключением | 933 C-r. Все, что мы говорили о C-s, применимо и к C-r, только C-r ищет в |
932 противоположного направления поиска. | 934 противоположном направлении. |
933 | 935 |
934 | 936 |
935 * МНОЖЕСТВО ОКОН (MULTIPLE WINDOWS) | 937 * МНОЖЕСТВО ОКОН (MULTIPLE WINDOWS) |
936 ----------------------------------- | 938 ----------------------------------- |
937 | 939 |
938 Одной из приятных особенностей Emacs является то, что вы можете одновременно | 940 Одной из приятных особенностей Emacs'а является то, что вы можете |
939 отображать на экране несколько окон. | 941 одновременно отображать на экране несколько окон. |
940 | 942 |
941 >> Переместите курсор на эту строку и наберите C-u 0 C-l (это CONTROL-L, а | 943 >> Переместите курсор на эту строку и наберите C-u 0 C-l (это CONTROL-L, а |
942 не CONTROL-1). | 944 не CONTROL-1). |
943 | 945 |
944 >> Теперь наберите C-x 2, что разделит экран на два окна. | 946 >> Теперь наберите C-x 2, что разделит экран на два окна. |
954 | 956 |
955 >> Нажмите C-x o снова, чтобы переместить курсор назад в верхнее окно. | 957 >> Нажмите C-x o снова, чтобы переместить курсор назад в верхнее окно. |
956 Курсор в верхнем окне там же, где и был до того. | 958 Курсор в верхнем окне там же, где и был до того. |
957 | 959 |
958 Вы можете продолжать переключаться между окнами, используя C-x o. Каждое | 960 Вы можете продолжать переключаться между окнами, используя C-x o. Каждое |
959 окно хранит свою позицию курсора, но только одно показывает курсор. Все | 961 окно хранит свою позицию курсора, но только одно показывает курсор. Все |
960 обычные команды редактирования применяются к окну, в котором отображается | 962 обычные команды редактирования применяются к окну, в котором отображается |
961 курсор. Мы называем это окно "выбранным" ("selected window"). | 963 курсор. Мы называем это окно "выбранным" ("selected window"). |
962 | 964 |
963 Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, а | 965 Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, а |
964 второе используете в качестве справочника. Вы можете всегда сохранять | 966 второе используете в качестве справочника. Вы можете всегда сохранять |
965 курсор в окне редактирования и последовательно продвигаться во втором, | 967 курсор в окне редактирования и последовательно продвигаться во втором, |
966 используя C-M-v. | 968 используя C-M-v. |
967 | 969 |
968 C-M-v -- пример CONTROL-META символа. Если у вас есть настоящая кнопка META | 970 C-M-v -- пример CONTROL-META символа. Если у вас есть настоящая кнопка META |
969 (Alt), то вы можете набрать C-M-v, нажав одновременно CONTROL и META и, не | 971 (обычно помеченная как Alt), то вы можете набрать C-M-v, нажав одновременно |
970 отпуская их, нажать v. И не важно, какая из клавиш будет нажата первой, | 972 CONTROL и META и, не отпуская их, нажать v. Не важно, какая из клавиш, CONTROL |
971 CONTROL или META, поскольку эти кнопки модифицируют тип символа. | 973 или META, будет нажата первой, поскольку обе эти кнопки модифицируют тип |
974 символа. | |
972 | 975 |
973 Если у вас нет настоящей кнопки META, и вместо нее вы используете <ESC>, то | 976 Если у вас нет настоящей кнопки META, и вместо нее вы используете <ESC>, то |
974 порядок должен быть следующим: вы должны нажать <ESC>, а затем CTRL-v; | 977 порядок их нажатия важен: сначала вы должны нажать <ESC>, а затем CTRL-v; |
975 CONTROL-<ESC> v не будет работать. Это происходит потому, что <ESC> имеет | 978 CONTROL-<ESC> v не сработает. Это происходит потому, что <ESC> имеет |
976 свой собственный символ -- это не модифицирующая кнопка. | 979 свой собственный символ -- это не модифицирующая кнопка. |
977 | 980 |
978 >> Нажмите C-x 1 (в верхнем окне), чтобы избавиться от нижнего окна. | 981 >> Нажмите C-x 1 (в верхнем окне), чтобы избавиться от нижнего окна. |
979 | 982 |
980 (Если бы вы нажали C-x 1 в нижнем окне, то вы бы избавились от верхнего. | 983 (Если бы вы нажали C-x 1 в нижнем окне, то вы бы избавились от верхнего. |
981 Понимайте эту команду как "Оставить только одно окно -- то, в котором я | 984 Понимайте эту команду как "Оставить только одно окно -- то, в котором я |
982 сейчас нахожусь"). | 985 сейчас нахожусь"). |
983 | 986 |
984 Вам не нужно отображать один и тот же буфер в обоих окнах. Если вы | 987 Вам не нужно отображать один и тот же буфер в обоих окнах. Если вы |
985 используете C-x C-f, чтобы открыть файл в одном окне, другое останется без | 988 используете C-x C-f, чтобы открыть файл в одном окне, другое останется без |
986 изменения. Вы можете открывать файлы в каждом окне независимо. | 989 изменения. Вы можете открывать файлы в каждом окне независимо. |
987 | 990 |
988 Есть другой путь использовать два окна, отображающих разные файлы: | 991 Есть и другой путь использовать два окна, отображающих разные файлы: |
989 | 992 |
990 >> Наберите C-x 4 C-f, и введите имя одного из ваших файлов. Завершите ввод | 993 >> Наберите C-x 4 C-f, и введите имя одного из ваших файлов. Завершите ввод |
991 нажатием <Return>. Заметьте, что выбранный файл появился в нижнем окне. | 994 нажатием <Return>. Заметьте, что выбранный файл появился в нижнем окне. |
992 Курсор перешел туда же. | 995 Курсор перешел туда же. |
993 | 996 |
994 >> Наберите C-x o, чтобы вернуться в верхнее окно, и затем C-x 1, чтобы | 997 >> Наберите C-x o, чтобы вернуться в верхнее окно, и затем C-x 1, чтобы |
995 удалить нижнее окно. | 998 удалить нижнее окно. |
996 | 999 |
997 | 1000 |
998 * РЕКУРСИВНЫЕ УРОВНИ РЕДАКТИРОВАНИЯ (RECURSIVE EDITING LEVELS) | 1001 * РЕКУРСИВНЫЕ УРОВНИ РЕДАКТИРОВАНИЯ (RECURSIVE EDITING LEVELS) |
999 -------------------------------------------------------------- | 1002 -------------------------------------------------------------- |
1000 | 1003 |
1001 Иногда вы будете попадать в так называемые "рекурсивные уровни | 1004 Иногда вы будете попадать в так называемые "рекурсивные уровни |
1002 редактирования". На это указывают прямоугольные скобки в строке статуса, | 1005 редактирования". На это указывают прямоугольные скобки в строке состояния, |
1003 окружающие обычные скобки вокруг имени основного режима. Например, вы | 1006 окружающие обычные скобки вокруг имени основного режима. Например, вы |
1004 увидите [(Fundamental)] вместо (Fundamental). | 1007 увидите [(Fundamental)] вместо (Fundamental). |
1005 | 1008 |
1006 Чтобы выйти из рекурсивных уровней редактирования, нажмите <ESC> <ESC> | 1009 Чтобы выйти из рекурсивных уровней редактирования, нажмите <ESC> <ESC> |
1007 <ESC>. Это многоцелевая команда "выход". Вы также можете использовать ее | 1010 <ESC>. Это многоцелевая команда "выхода". Вы также можете использовать ее |
1008 как для уничтожения лишних окон, так и для выхода из мини-буфера. | 1011 как для уничтожения лишних окон, так и для выхода из мини-буфера. |
1009 | 1012 |
1010 >> Нажмите M-x, чтобы попасть в мини-буфер, а затем нажмите <ESC> <ESC> | 1013 >> Нажмите M-x, чтобы попасть в мини-буфер, а затем нажмите <ESC> <ESC> |
1011 <ESC>, чтобы покинуть его. | 1014 <ESC>, чтобы покинуть его. |
1012 | 1015 |
1013 Вы не можете использовать C-g для выхода из рекурсивных уровней | 1016 Вы не можете использовать C-g для выхода из рекурсивных уровней |
1014 редактирования. Это потому, что C-g используется для отмены команды и | 1017 редактирования. Это потому, что C-g используется для отмены команд и |
1015 аргументов БЕЗ рекурсивных уровней редактирования. | 1018 аргументов ВНУТРИ рекурсивных уровней редактирования. |
1016 | 1019 |
1017 | 1020 |
1018 * КАК ПОЛУЧИТЬ ДОПОЛНИТЕЛЬНУЮ ПОМОЩЬ | 1021 * КАК ПОЛУЧИТЬ ДОПОЛНИТЕЛЬНУЮ ПОМОЩЬ |
1019 ------------------------------------ | 1022 ------------------------------------ |
1020 | 1023 |
1021 В этом учебнике мы попытались снабдить вас только той информацией, которая | 1024 В этом учебнике мы попытались снабдить вас только той информацией, которая |
1022 поможет вам начать пользоваться Emacs. Очень много информации доступно в | 1025 поможет вам начать пользоваться Emacs'ом. В Emacs'е очень много средств и |
1023 Emacs и невозможно всю ее представить здесь. Однако, вы можете выучить | 1026 особенностей, и представить все это здесь не представляется возможным. |
1024 больше возможностей Emacs и узнать другие полезные особенности. Emacs | 1027 Однако, возможно вы захотите узнать больше о возможностях Emacs'а. Emacs |
1025 предоставляет команды для чтения документации о командах Emacs. Эти команды | 1028 предоставляет команды для чтения документации о командах Emacs. Эти команды |
1026 "справки" ("help") все начинаются с символа CONTROL-h, который является | 1029 "справки" ("help") все начинаются с символа CONTROL-h, который является |
1027 "символом помощи". | 1030 "символом помощи". |
1028 | 1031 |
1029 Чтобы использовать возможности справки, нажмите C-h, и затем -- символ, который | 1032 Чтобы использовать возможности справки, нажмите C-h, и затем -- символ, который |
1030 расскажет, какой именно вид справки вы хотите получить. Если вы | 1033 расскажет, какой именно вид справки вы хотите получить. Если вы |
1031 ДЕЙСТВИТЕЛЬНО растерялись, наберите C-h ?, и Emacs расскажет вам о том, | 1034 ДЕЙСТВИТЕЛЬНО растерялись, наберите C-h ?, и Emacs расскажет вам о том, |
1032 какую справку он может вам предоставить. Если вы нажали C-h и передумали | 1035 какую справку он может вам предоставить. Если вы нажали C-h и передумали |
1033 обращаться к справке, то просто нажмите C-g, чтобы отменить эту команду. | 1036 обращаться к справке, то просто нажмите C-g, чтобы отменить эту команду. |
1034 | 1037 |
1035 (Кое-где переназначают символ C-h. Реальной необходимости в этом нет, и | 1038 (Кое-где переназначают символ C-h. Реальной необходимости в этом нет, и |
1036 если это так, то сообщите об этом системному администратору. Тем временем, | 1039 если это так, то сообщите об этом системному администратору. Тем временем, |
1037 если C-h не вызывает сообщение помощи внизу экрана, то попробуйте вместо | 1040 если C-h не вызывает сообщение помощи внизу экрана, то попробуйте вместо |
1038 этого нажать клавишу F1 или набрать M-x help RET). | 1041 этого нажать клавишу F1 или набрать M-x help RET). |
1039 | 1042 |
1040 Одна из самых главных функций справки -- C-h c. Нажмите C-h, а затем c, и | 1043 Одна из самых главных функций справки -- C-h c. Нажмите C-h, а затем c и |
1041 символ команды или последовательность, и Emacs отобразит краткое описание | 1044 символ команды или последовательность, и Emacs отобразит краткое описание |
1042 набранной команды. | 1045 набранной команды. |
1043 | 1046 |
1044 >> Нажмите C-h c C-p. | 1047 >> Нажмите C-h c C-p. |
1045 | 1048 |
1046 Сообщение должно выглядеть примерно так: | 1049 Сообщение должно выглядеть примерно так: |
1047 | 1050 |
1048 C-p runs the command previous-line | 1051 C-p runs the command previous-line |
1049 (C-p выполняет команду previous-line {предыдущая-строка}) | 1052 (C-p выполняет команду previous-line {предыдущая-строка}) |
1050 | 1053 |
1051 Вам сообщают "имя функции". Имена функций используются в основном для | 1054 Вам сообщают "имя функции". Имена функций используются в основном для |
1052 настройки и расширения Emacs. Имена функций выбраны так, чтобы показать, что | 1055 настройки и расширения Emacs. Имена функций выбраны так, чтобы показать, что |
1053 именно команда делает, а также они позволяют с помощью этой краткой | 1056 именно команда делает, а также они позволяют с помощью этой краткой |
1054 информации легче запомнить уже выученные команды. | 1057 информации легче запомнить уже выученные команды. |
1059 | 1062 |
1060 Вы можете получить больше информации о команде используя C-h k вместо C-h c. | 1063 Вы можете получить больше информации о команде используя C-h k вместо C-h c. |
1061 | 1064 |
1062 >> Наберите C-h k C-p. | 1065 >> Наберите C-h k C-p. |
1063 | 1066 |
1064 Вы увидите описание функции, а также ее имя в отдельном окне Emacs. Когда вы | 1067 Вы увидите описание функции, а также ее имя, в отдельном окне Emacs. Когда |
1065 завершите чтение, нажмите C-x 1, чтобы избавиться от текста справки. Вы | 1068 вы завершите чтение, нажмите C-x 1, чтобы избавиться от текста справки. |
1066 можете выполнить изменение текста во время просмотра текста справки, а | 1069 Не обязательно нажимать C-x 1 сразу: вы можете сначала выполнить какие-либо |
1067 только затем нажать C-x 1. | 1070 изменения текста во время просмотра текста справки, и только затем нажать |
1071 C-x 1. | |
1068 | 1072 |
1069 Есть еще несколько полезных функций, доступных через C-h: | 1073 Есть еще несколько полезных функций, доступных через C-h: |
1070 | 1074 |
1071 C-h f Описывает функцию. Вам необходимо набрать имя функции. | 1075 C-h f Описывает функцию. Вам необходимо набрать имя функции. |
1072 | 1076 |
1073 >> Попробуйте набрать C-h f previous-line<Return>. | 1077 >> Попробуйте набрать C-h f previous-line<Return>. |
1074 Это распечатает информацию Emacs о функции, которая выполняется командой | 1078 Это отобразит информацию Emacs о функции, которая выполняется командой |
1075 C-p. | 1079 C-p. |
1076 | 1080 |
1077 Аналогичная команда C-h v отображает документацию о переменных, значение | 1081 Аналогичная команда C-h v отображает документацию о переменных, значение |
1078 которых вы можете изменить для настройки поведения Emacs. Вам нужно набрать | 1082 которых вы можете изменить для настройки поведения Emacs. Вам нужно набрать |
1079 имя переменной, когда Emacs запросит его. | 1083 имя переменной, когда Emacs запросит его. |
1080 | 1084 |
1081 C-h a (Hyper Apropos). Введите ключевое слово и Emacs покажет вам список | 1085 C-h a (Apropos Command). Введите ключевое слово и Emacs покажет вам |
1082 всех функций и переменных, имена которых содержат это | 1086 список всех команд и функций, имена которых содержат это слово. |
1083 слово. Команды, которые могут быть вызваны через Meta-x, будут | 1087 Для команд, которые могут быть вызваны через Meta-x, Emacs |
1084 отмечены звездочкой слева. | 1088 покажет слово "Command" слева от их описания, а также символы, |
1089 которые эти команды вызывают. | |
1085 | 1090 |
1086 >> Наберите C-h a file<Return>. | 1091 >> Наберите C-h a file<Return>. |
1087 | 1092 |
1088 Это отобразит в другом окне список всех команд M-x, у которых в именах | 1093 Это отобразит в другом окне список всех команд M-x, у которых в именах |
1089 содержится слово "file". Также в списке кроме таких команд, как find-file, | 1094 содержится слово "file". Также в списке кроме таких команд, как find-file, |
1091 | 1096 |
1092 >> Наберите C-M-v для прокрутки окна справки. Выполните это несколько раз. | 1097 >> Наберите C-M-v для прокрутки окна справки. Выполните это несколько раз. |
1093 | 1098 |
1094 >> Наберите C-x 1 для удаления окна справки. | 1099 >> Наберите C-x 1 для удаления окна справки. |
1095 | 1100 |
1096 C-h i Читать интерактивные руководства (так называемые Info). Эта команда | 1101 C-h i Читать интерактивные руководства (команда Info). Эта команда |
1097 переходит в специальный буфер с именем `*info*', где вы можете | 1102 переходит в специальный буфер с именем `*info*', где вы можете |
1098 читать интерактивные руководства для пакетов, установленных в вашей | 1103 читать интерактивные руководства для пакетов, установленных в вашей |
1099 системе. Наберите m emacs <Return> для чтения руководства по | 1104 системе. Наберите m emacs <Return> для чтения руководства по |
1100 Emacs. Если вы никогда ранее не использовали Info, то наберите ? и | 1105 Emacs. Если вы никогда ранее не использовали Info, то наберите ? и |
1101 Emacs откроет учебник по возможностям режима Info. Однажды | 1106 Emacs откроет учебник по возможностям режима Info. Однажды |
1102 ознакомившись с этим учебником, вы должны использовать руководство | 1107 ознакомившись с этим учебником, вы должны использовать руководство |
1103 Emacs Info в качестве основной документации. | 1108 Emacs Info в качестве основной документации. |
1104 | 1109 |
1105 | 1110 |
1106 * ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ | 1111 * ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ |
1107 ---------------------------- | 1112 ---------------------------- |
1108 | 1113 |
1109 Вы можете узнать больше о Emacs, читая его руководство, книги или | 1114 Вы можете узнать больше об Emacs'е, читая его руководство, книги или |
1110 интерактивный справочник (используйте меню Help или наберите F10 h r). Вам | 1115 интерактивный справочник (используйте меню Help или наберите F10 h r). Вам |
1111 особенно понравятся две функции -- дополнение, которое сокращает количество | 1116 особенно понравятся две функции -- завершение, которое сокращает количество |
1112 нажимаемых клавиш, и dired, который облегчает работу с файлами. | 1117 нажимаемых клавиш, и dired, который облегчает работу с файлами. |
1113 | 1118 |
1114 Дополнение используется для того, чтобы избежать набора лишних символов. | 1119 Завершение используется для того, чтобы избежать набора лишних символов. |
1115 Например, если вы хотите переключиться в буфер *Messages*, то вы можете | 1120 Например, если вы хотите переключиться в буфер *Messages*, то вы можете |
1116 набрать C-x b *M<Tab> и Emacs заполнит остаток имени буфера, поскольку он | 1121 набрать C-x b *M<Tab> и Emacs заполнит остаток имени буфера, поскольку он |
1117 может определить его из того, что вы уже набрали. Дополнения описаны в | 1122 может определить его из того, что вы уже набрали. Завершения описаны в |
1118 Info-версии руководства по Emacs в разделе "Completion". | 1123 Info-версии руководства по Emacs в разделе "Completion". |
1119 | 1124 |
1120 Dired позволяет вам отображать список файлов в каталоге (а также | 1125 Dired позволяет вам отображать список файлов в каталоге (а также |
1121 подкаталогах, в зависимости от настройки), перемещаться по списку файлов, | 1126 подкаталогах, в зависимости от настройки), перемещаться по списку файлов, |
1122 открывать их, переименовывать, удалять и выполнять прочие действия над | 1127 открывать их, переименовывать, удалять и выполнять прочие действия над |
1123 файлами. Dired описан в Info-версии руководства по Emacs в разделе "Dired". | 1128 файлами. Dired описан в Info-версии руководства по Emacs в разделе "Dired". |
1124 | 1129 |
1125 В руководстве также описаны прочие возможности Emacs. | 1130 В руководстве также описаны прочие возможности Emacs. |
1126 | 1131 |
1127 | 1132 |
1128 * ЗАКЛЮЧЕНИЕ | 1133 * ЗАКЛЮЧЕНИЕ |
1138 | 1143 |
1139 * УСЛОВИЯ РАСПРОСТРАНЕНИЯ | 1144 * УСЛОВИЯ РАСПРОСТРАНЕНИЯ |
1140 ------------------------- | 1145 ------------------------- |
1141 | 1146 |
1142 Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды | 1147 Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды |
1143 написанного Stuart Cracraft для оригинального Emacs. | 1148 написанного Stuart Cracraft для оригинального Emacs'а. |
1144 | 1149 |
1145 Эта версия учебника, как и GNU Emacs, защищена правами копирования | 1150 Эта версия учебника, как и GNU Emacs, защищена правами копирования |
1146 (copyrighted) и приходит с ограничениями распространения копий со | 1151 (copyrighted) и приходит с ограничениями распространения копий со |
1147 следующими соглашениями: | 1152 следующими соглашениями: |
1148 | 1153 |
1149 Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, | 1154 Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, |
1150 2005, 2006, 2007 Free Software Foundation, Inc. | 1155 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
1151 | 1156 |
1152 Permission is granted to anyone to make or distribute verbatim copies | 1157 Permission is granted to anyone to make or distribute verbatim copies |
1153 of this document as received, in any medium, provided that the | 1158 of this document as received, in any medium, provided that the |
1154 copyright notice and permission notice are preserved, | 1159 copyright notice and permission notice are preserved, |
1155 and that the distributor grants the recipient permission | 1160 and that the distributor grants the recipient permission |
1164 Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs вашим | 1169 Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs вашим |
1165 друзьям. Помогите уничтожить обструкционизм в области программного | 1170 друзьям. Помогите уничтожить обструкционизм в области программного |
1166 обеспечения ("владение"), используя, создавая и распространяя свободное | 1171 обеспечения ("владение"), используя, создавая и распространяя свободное |
1167 программное обеспечение! | 1172 программное обеспечение! |
1168 | 1173 |
1169 // замечания, исправления ошибок я жду по адресу alexott@gmail.com. | 1174 // жду замечаний и исправления ошибок по адресу alexott@gmail.com. |
1170 // Alex Ott. | 1175 // Alex Ott. |
1171 | 1176 |
1172 ;;; Local Variables: | 1177 ;;; Local Variables: |
1173 ;;; coding: cyrillic-koi8 | 1178 ;;; coding: cyrillic-koi8 |
1174 ;;; sentence-end-double-space: nil | 1179 ;;; sentence-end-double-space: nil |