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