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