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