aboutsummaryrefslogtreecommitdiffstats
path: root/etc/tutorials/TUTORIAL.ru
diff options
context:
space:
mode:
authorEli Zaretskii2008-02-02 10:59:40 +0000
committerEli Zaretskii2008-02-02 10:59:40 +0000
commitee2502fab1bf74ba01b0aba9d52e63a247ef0d76 (patch)
tree9c9edb3dc6b496769d59cba32b6a467859443807 /etc/tutorials/TUTORIAL.ru
parent849eb485c750bbd95dc9d19648523a28ad0801f6 (diff)
downloademacs-ee2502fab1bf74ba01b0aba9d52e63a247ef0d76.tar.gz
emacs-ee2502fab1bf74ba01b0aba9d52e63a247ef0d76.zip
Restore copyright years. Update tutorial. Fix wording.
Diffstat (limited to 'etc/tutorials/TUTORIAL.ru')
-rw-r--r--etc/tutorials/TUTORIAL.ru511
1 files changed, 258 insertions, 253 deletions
diff --git a/etc/tutorials/TUTORIAL.ru b/etc/tutorials/TUTORIAL.ru
index 113ef16df40..4a2ca6b8dc6 100644
--- a/etc/tutorials/TUTORIAL.ru
+++ b/etc/tutorials/TUTORIAL.ru
@@ -1,13 +1,13 @@
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 или
6EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL, 6EDIT). В дальнейшем, вместо того, чтобы каждый раз писать 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>.
@@ -23,7 +23,7 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
23 23
24 24
25 25
26[Середина страницы оставлена пустой в учебных целях. Текст продолжается ниже] 26[Середина страницы оставлена пустой в учебных целях. Текст продолжается ниже]
27 27
28 28
29 29
@@ -33,8 +33,8 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
33 33
34 34
35>> Теперь нажмите C-v (просмотр следующего экрана) для перемещения на 35>> Теперь нажмите C-v (просмотр следующего экрана) для перемещения на
36 следующий экран. (выполните эту команду удерживая клавишу CONTROL и 36 следующий экран. (Выполните эту команду удерживая клавишу CONTROL и
37 нажимая v). Теперь вы должны это сделать еще раз, когда закончите читать 37 нажимая v.) Теперь вы должны это сделать еще раз, когда закончите читать
38 экран. 38 экран.
39 39
40Обратите внимание на то, что при переходе с экрана на экран перекрываются 40Обратите внимание на то, что при переходе с экрана на экран перекрываются
@@ -56,8 +56,9 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
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 Найдите курсор снова и убедитесь, что возле него все тот же текст.
@@ -73,7 +74,7 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
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команды эквивалентны четырем клавишам перемещения курсора, как это показано
@@ -88,7 +89,7 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
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Вам будет несложно запомнить эти команды по первым буквам соответствующих
@@ -103,8 +104,8 @@ EDIT). В дальнейшем, вместо того, чтобы каждый раз писать META или CONTROL,
103 С-р, если он находился в середине строки. 104 С-р, если он находился в середине строки.
104 105
105Каждая строка текста завершается символом перевода строки (Newline 106Каждая строка текста завершается символом перевода строки (Newline
106character), который отделяет ее от следующей строки. Последняя строка в 107character), который отделяет ее от следующей строки. Лучше если последняя
107вашем файле должна бы тоже завершаться символом перевода строки (но Emacs не 108строка в вашем файле тоже завершалась бы символом перевода строки (но Emacs не
108требует этого). 109требует этого).
109 110
110>> Попробуйте использовать C-b в начале строки. Курсор должен переместиться 111>> Попробуйте использовать C-b в начале строки. Курсор должен переместиться
@@ -119,8 +120,8 @@ C-f может перемещать курсор через символ перевода строки так же, как и C-b.
119 строки. 120 строки.
120 121
121Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся 122Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся
122за экраном, сдвигается внутрь экрана. Это называется "прокрутка 123за экраном, сдвигается внутрь экрана. Это называется "прокрутка"
123(scrolling)". Прокрутка позволяет Emacs'у перемещать курсор в нужное место 124(scrolling). Прокрутка позволяет Emacs'у перемещать курсор в нужное место
124текста без перемещения его за пределы экрана. 125текста без перемещения его за пределы экрана.
125 126
126>> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n, и 127>> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n, и
@@ -160,8 +161,8 @@ Control-символы работают с основными единицами, независимо от того, что вы
160курсор показывает место на экране в какой точке будет расположен вводимый 161курсор показывает место на экране в какой точке будет расположен вводимый
161текст. 162текст.
162 163
163Здесь собраны основные команды перемещения курсора, включая движение по 164Вот сводный список всех основных команд перемещения курсора, включая движение
164словам и предложениям: 165по словам и предложениям:
165 166
166 C-f На символ вперед 167 C-f На символ вперед
167 C-b На символ назад 168 C-b На символ назад
@@ -194,7 +195,7 @@ Greater-than {Больше-Чем}), которая перемещает курсор в конец текста.
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 по трем
@@ -248,21 +249,21 @@ META. Мы рекомендуем привыкнуть к использованию C-u, поскольку это сочетание
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 и
255C-n, но легче в наборе и запоминании. Вы также можете использовать 256C-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 между
@@ -273,7 +274,7 @@ C-n, но легче в наборе и запоминании. Вы также можете использовать
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 для отмены набранного цифрового аргумента
@@ -309,13 +310,13 @@ C-n, но легче в наборе и запоминании. Вы также можете использовать
309------ 310------
310 311
311Emacs может отображать информацию в нескольких окнах, каждое из которых 312Emacs может отображать информацию в нескольких окнах, каждое из которых
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
@@ -337,24 +338,24 @@ Emacs может отображать информацию в нескольких окнах, каждое из которых
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>. Не волнуйтесь об изменениях этого файла --
@@ -367,14 +368,14 @@ Emacs может отображать информацию в нескольких окнах, каждое из которых
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
@@ -390,28 +391,28 @@ Emacs может отображать информацию в нескольких окнах, каждое из которых
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>> Переместите курсор к букве В в начале предыдущего параграфа.
@@ -438,20 +439,20 @@ Emacs может отображать информацию в нескольких окнах, каждое из которых
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
444C-k удалит две строки, а также завершающие их символы новой строки; 445C-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, чтобы вернуть текст
@@ -465,25 +466,25 @@ 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 снова. Если вам хочется, то вы можете задавать положительные и
@@ -502,7 +503,7 @@ 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, и строка должна
@@ -511,7 +512,7 @@ C-x u несколько раз подряд, то каждый раз будет отменяться еще одна команда.
511C-_ -- это еще команда отмены; она работает точно так же, как и C-x u, но 512C-_ -- это еще команда отмены; она работает точно так же, как и 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 используется как счетчик повторений.
@@ -525,34 +526,34 @@ C-_ -- это еще команда отмены; она работает точно так же, как и C-x u, но
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системе, если вы не хотите его сохранять. Даже когда вы сохраняете файл, то
536Emacs оставляет оригинальный файл, но с другим именем, так что вы позже 537Emacs оставляет оригинальный файл, но с другим именем, так что вы позже
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
553Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке 554Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке
554экрана. Нижняя строка называется мини-буфером -- он специально используется 555экрана. Нижняя строка называется мини-буфером -- он специально используется
555для ввода небольшого количества данных. Для редактирования имени файла вы 556для ввода небольшого количества данных. Для редактирования имени файла вы
556можете использовать обычные команды редактирования Emacs. 557можете использовать обычные команды редактирования Emacs.
557 558
558Когда вы вводите имя файла (или любую другую информацию в мини-буфере), вы 559Когда вы вводите имя файла (или любую другую информацию в мини-буфере), вы
@@ -572,10 +573,10 @@ Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке
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должны сохранять изменения достаточно часто, чтобы не потерять внесенные
@@ -585,27 +586,29 @@ Emacs попросит вас ввести имя файла. Имя файла набирается в нижней строке
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
592Entry to Incremental Search" руководства Emacs чтобы узнать о том, как 593Entry 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",
@@ -613,9 +616,9 @@ Entry to Incremental Search" руководства Emacs чтобы узнать о том, как
613 Наконец, наберите C-x C-f TUTORIAL.ru <Return> для того, чтобы вернуться 616 Наконец, наберите C-x C-f TUTORIAL.ru <Return> для того, чтобы вернуться
614 назад к учебнику. 617 назад к учебнику.
615 618
616Emacs хранит текст каждого файла внутри в объекте, называемом "буфер" 619Emacs хранит текст каждого файла в объекте, называемом "буфер" ("buffer").
617("buffer"). Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть 620Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть список
618список буферов, созданных в текущем сеансе Emacs, наберите 621буферов, созданных в текущем сеансе Emacs, наберите
619 622
620 C-x C-b Список буферов 623 C-x C-b Список буферов
621 624
@@ -623,94 +626,93 @@ Emacs хранит текст каждого файла внутри в объекте, называемом "буфер"
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, всегда показывает вам имена всех буферов. 647C-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
668C-x s запрашивает у вас подтверждение о сохранении для каждого буфера, 671C-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- и
681meta- символы. Emacs обходит это, используя X-команду (eXtend). Есть две 684meta- символы. 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которые мы уже изучили. Вы уже видели некоторые из расширенных комманд:
690C-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
695C-z -- это команда *временного* выхода из Emacs. Вы можете вернуться в ту же 705C-z -- это команда *временного* выхода из Emacs. Вы можете вернуться в ту же
696сессию Emacs позже. 706сессию Emacs позже. Когда Emacs запускается на текстовом терминале, команда
697 707C-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другой утилиты, которая может не знать, как справиться с приостановленным
713Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше 715Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше
714приостановить Emacs, используя C-z, вместо того, чтобы покидать его совсем. 716приостановить Emacs, используя C-z, вместо того, чтобы покидать его совсем.
715 717
716Существует очень много команд, использующих префикс C-x. Вы уже изучили 718Существует очень много команд, использующих префикс C-x. Вы уже изучили
@@ -718,63 +720,63 @@ Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше
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)-----------------------
@@ -782,36 +784,35 @@ Emacs. Обычно, если вы не собираетесь выходить из системы, то лучше
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
802mode"). 803mode").
803 804
804Emacs имеет много различных основных режимов. Некоторые из режимов 805Emacs имеет много различных основных режимов. Некоторые из режимов
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основной режим имеет именованную команду, которая включает его. Например,
815M-x fundamental-mode -- это команда, которая включает базовый (Fundamental) 816M-x fundamental-mode -- это команда, которая включает базовый (Fundamental)
816режим. 817режим.
817 818
@@ -822,11 +823,11 @@ M-x fundamental-mode -- это команда, которая включает базовый (Fundamental)
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.
@@ -837,30 +838,31 @@ M-x fundamental-mode -- это команда, которая включает базовый (Fundamental)
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Когда этот режим включен, его можно выключить с помощью той же команды --
853M-x auto fill mode<Return>. Если режим включен, то такая команда его 855M-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). Затем введите какой-нибудь
@@ -868,7 +870,7 @@ M-x auto fill mode<Return>. Если режим включен, то такая команда его
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.
@@ -878,17 +880,17 @@ M-x auto fill mode<Return>. Если режим включен, то такая команда его
878------- 880-------
879 881
880Emacs умеет искать строки (непрерывные группы символов или слова) вперед или 882Emacs умеет искать строки (непрерывные группы символов или слова) вперед или
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
@@ -902,41 +904,41 @@ Emacs умеет искать строки (непрерывные группы символов или слова) вперед или
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
915Entry to Incremental Search" руководства Emacs, чтобы узнать о том, как 917Entry 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
929C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей 931C-s начинает поиск и ищет любые вхождения искомой строки ПОСЛЕ текущей
930позиции курсора. Если вы хотите найти что-то ранее в тексте, то нажмите 932позиции курсора. Если вы хотите найти что-то ранее в тексте, то нажмите
931C-r. Все, что мы говорили о C-s, применимо и к C-r, за исключением 933C-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).
@@ -956,23 +958,24 @@ C-r. Все, что мы говорили о C-s, применимо и к C-r, за исключением
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
968C-M-v -- пример CONTROL-META символа. Если у вас есть настоящая кнопка META 970C-M-v -- пример CONTROL-META символа. Если у вас есть настоящая кнопка META
969(Alt), то вы можете набрать C-M-v, нажав одновременно CONTROL и META и, не 971(обычно помеченная как Alt), то вы можете набрать C-M-v, нажав одновременно
970отпуская их, нажать v. И не важно, какая из клавиш будет нажата первой, 972CONTROL и META и, не отпуская их, нажать v. Не важно, какая из клавиш, CONTROL
971CONTROL или META, поскольку эти кнопки модифицируют тип символа. 973или META, будет нажата первой, поскольку обе эти кнопки модифицируют тип
974символа.
972 975
973Если у вас нет настоящей кнопки META, и вместо нее вы используете <ESC>, то 976Если у вас нет настоящей кнопки META, и вместо нее вы используете <ESC>, то
974порядок должен быть следующим: вы должны нажать <ESC>, а затем CTRL-v; 977порядок их нажатия важен: сначала вы должны нажать <ESC>, а затем CTRL-v;
975CONTROL-<ESC> v не будет работать. Это происходит потому, что <ESC> имеет 978CONTROL-<ESC> v не сработает. Это происходит потому, что <ESC> имеет
976свой собственный символ -- это не модифицирующая кнопка. 979свой собственный символ -- это не модифицирующая кнопка.
977 980
978>> Нажмите C-x 1 (в верхнем окне), чтобы избавиться от нижнего окна. 981>> Нажмите C-x 1 (в верхнем окне), чтобы избавиться от нижнего окна.
@@ -981,14 +984,14 @@ CONTROL-<ESC> v не будет работать. Это происходит потому, что <ESC> имеет
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, чтобы
@@ -999,45 +1002,45 @@ CONTROL-<ESC> v не будет работать. Это происходит потому, что <ESC> имеет
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'е очень много средств и
1023Emacs и невозможно всю ее представить здесь. Однако, вы можете выучить 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
@@ -1046,7 +1049,7 @@ Emacs и невозможно всю ее представить здесь. Однако, вы можете выучить
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. Имена функций выбраны так, чтобы показать, что
@@ -1061,27 +1064,29 @@ META или EDIT или ALT) <ESC> v также будут доступны для получения справки с
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изменения текста во время просмотра текста справки, и только затем нажать
1071C-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
@@ -1093,11 +1098,11 @@ META или EDIT или ALT) <ESC> 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 в качестве основной документации.
@@ -1106,21 +1111,21 @@ META или EDIT или ALT) <ESC> v также будут доступны для получения справки с
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может определить его из того, что вы уже набрали. Завершения описаны в
1118Info-версии руководства по Emacs в разделе "Completion". 1123Info-версии руководства по Emacs в разделе "Completion".
1119 1124
1120Dired позволяет вам отображать список файлов в каталоге (а также 1125Dired позволяет вам отображать список файлов в каталоге (а также
1121подкаталогах, в зависимости от настройки), перемещаться по списку файлов, 1126подкаталогах, в зависимости от настройки), перемещаться по списку файлов,
1122открывать их, переименовывать, удалять и выполнять прочие действия над 1127открывать их, переименовывать, удалять и выполнять прочие действия над
1123файлами. Dired описан в Info-версии руководства по Emacs в разделе "Dired". 1128файлами. Dired описан в Info-версии руководства по Emacs в разделе "Dired".
1124 1129
1125В руководстве также описаны прочие возможности Emacs. 1130В руководстве также описаны прочие возможности Emacs.
1126 1131
@@ -1140,14 +1145,14 @@ Dired позволяет вам отображать список файлов в каталоге (а также
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
1149Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, 1154Copyright (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
@@ -1166,7 +1171,7 @@ Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
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: