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