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