comparison etc/ru-refcard.tex @ 55606:db8f63aa8d1d

New file.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 15 May 2004 12:43:16 +0000
parents
children 6d05a6057286
comparison
equal deleted inserted replaced
55605:776d61afa493 55606:db8f63aa8d1d
1 \documentclass[10pt]{article}
2 \usepackage{multicol,tabularx}
3 \usepackage[a4paper,hmargin={2cm,2cm},vmargin={2cm,2cm},nohead,twoside]{geometry}
4 \usepackage[T2A]{fontenc}
5 \usepackage[koi8-r]{inputenc}
6 \usepackage[english,russian]{babel}
7 \usepackage{verbatim}
8 %\usepackage{enumerate,calc}
9 %\usepackage{indentfirst,amsmath,graphicx,citehack,floatflt}
10 %
11 %\usepackage{pscyr}
12 %\renewcommand{\rmdefault}{fha}
13
14 \newlength{\ColWidth}
15 \setlength{\ColWidth}{120mm}
16 \newlength{\ColThreeWidth}
17 \setlength{\ColThreeWidth}{25mm}
18
19 \newcommand{\versionnumber}[0]{2.2}
20 \newcommand{\nyear}[0]{1997}
21
22 \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
23 \centerline{\footnotesize \copyright\ \nyear\ Free Software Foundation, Inc.
24 Permissions on back. v\versionnumber}}
25
26 \newcommand\copyrightnotice[0]{
27 \vskip 1ex plus 2 fill\begingroup\footnotesize
28 \centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.}
29 \centerline{v\versionnumber{} for GNU Emacs version 21, June \nyear}
30 \centerline{designed by Stephen Gildea}
31 \centerline{Перевод Alex Ott <ottalex at narod.ru>}
32
33 Permission is granted to make and distribute copies of
34 this card provided the copyright notice and this permission notice
35 are preserved on all copies.
36
37 For copies of the GNU Emacs manual, write to the Free Software
38 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
39
40 \endgroup}
41
42 \hyphenation{mini-buf-fer}
43
44 \parindent 0pt
45 %\parskip 0.5ex plus .2ex minus .2ex
46
47 \newcommand{\kbd}[1]{\texttt{#1}}
48
49 \begin{document}
50
51 %\begin{multicols}{3}
52
53 \centerline{Справочная карта по GNU Emacs}
54 \centerline{(для версии 21)}
55
56 \section{Запуск Emacs}
57
58 Для запуска GNU Emacs 21, просто наберите имя программы: \kbd{emacs}
59
60 О том, как открывать файлы, читайте далее в разделе Файлы.
61
62 \section{Выход из Emacs}
63
64 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
65 Приостановить работу Emacs (или свернуть в иконку при работе в X) & \kbd{C-z} \\
66 Выйти из Emacs & \kbd{C-x C-c} \\
67 \end{tabular}
68
69 \section{Файлы}
70
71 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
72 {\bf открыть} файл в буфере Emacs & \kbd{C-x C-f} \\
73 {\bf сохранить} файл обратно на диск & \kbd{C-x C-s} \\
74 сохранить {\bf все} файлы & \kbd{C-x s} \\
75 {\bf вставить} содержимое другого файла в текущий буфер & \kbd{C-x i} \\
76 открыть нужный вам файл вместо текущего & \kbd{C-x C-v} \\
77 сохранить буфер в указанном файле & \kbd{C-x C-w} \\
78 Включить/выключить состояние буфера ``только для чтения'' & \kbd{C-x C-q} \\
79 \end{tabular}
80
81 \section{Получение помощи}
82
83 Справочная система достаточно проста. Hажмите \kbd{C-h} (или \kbd{F1}) и
84 следуйте инструкциям. Если вы в первый раз работаете с Emacs, наберите
85 \kbd{C-h t Russian} для вызова {\bf учебника}.
86
87 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
88 Закрыть окно справки & \kbd{C-x 1} \\
89 Прокрутить окно справки & \kbd{C-M-v} \\
90
91 apropos: показать команды, соответствующие строке & \kbd{C-h a} \\
92 показать имя функции, которая запускается клавишей & \kbd{C-h c} \\
93 описать функцию & \kbd{C-h f} \\
94 получить информацию о режиме & \kbd{C-h m} \\
95 \end{tabular}
96
97 \section{Исправление ошибок}
98
99 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
100 {\bf прервать} частично набранную или исполняемую команду & \kbd{C-g} \\
101 {\bf восстановить} файл, потерянный при крахе системы & \kbd{M-x recover-file} \\
102 {\bf отменить} нежелательные изменения & \kbd{C-x u {\rm или} C-\_} \\
103 восстановить буфер в первоначальное состояние & \kbd{M-x revert-buffer} \\
104 перерисовать заполненный мусором экран & \kbd{C-l} \\
105 \end{tabular}
106
107 \section{Hаращиваемый поиск}
108
109 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
110 поиск вперед & \kbd{C-s} \\
111 поиск назад & \kbd{C-r} \\
112 поиск по регулярному выражению & \kbd{C-M-s} \\
113 поиск по регулярному выражению назад & \kbd{C-M-r} \\
114
115 выбрать предыдущую строку поиска & \kbd{M-p} \\
116 выбрать следующую строку поиска & \kbd{M-n} \\
117 прекратить наращиваемый поиск & \kbd{RET} \\
118 отменить эффект ввода последнего символа & \kbd{DEL} \\
119 прервать текущий поиск & \kbd{C-g} \\
120 \end{tabular}
121
122 Для повтора поиска в любом направлении используйте клавиши \kbd{C-s} или
123 \kbd{C-r}. Если Emacs все еще производит поиск, \kbd{C-g} отменит только
124 несделанную часть.
125
126 \section{Перемещение}
127
128 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
129 {\bf единицы перемещения} & {\bf назад} & {\bf вперед} \\
130 символ & \kbd{C-b} & \kbd{C-f} \\
131 слово & \kbd{M-b} & \kbd{M-f} \\
132 строка & \kbd{C-p} & \kbd{C-n} \\
133 начало (или конец) строки & \kbd{C-a} & \kbd{C-e} \\
134 предложение & \kbd{M-a} & \kbd{M-e} \\
135 абзац & \kbd{M-\{} & \kbd{M-\}} \\
136 страница & \kbd{C-x [} & \kbd{C-x ]} \\
137 выражение (sexp) & \kbd{C-M-b} & \kbd{C-M-f} \\
138 функция & \kbd{C-M-a} & \kbd{C-M-e} \\
139 переход в начало (или конец) буфера & \kbd{M-<} & \kbd{M->} \\
140
141 \end{tabular}
142
143 \begin{tabular}{p{\ColWidth}l}
144 прокрутка экрана вниз & \kbd{C-v} \\
145 прокрутка экрана вверх & \kbd{M-v} \\
146 прокрутка влево & \kbd{C-x <} \\
147 прокрутка вправо & \kbd{C-x >} \\
148 прокрутка текущей строки в центр экрана & \kbd{C-u C-l} \\
149 \end{tabular}
150
151 \section{Уничтожение и удаление}
152
153 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
154 {\bf уничтожаемый объект} & {\bf назад} & {\bf вперед} \\
155 символ (удаление, а не уничтожение) & \kbd{DEL} & \kbd{C-d} \\
156 слово & \kbd{M-DEL} & \kbd{M-d} \\
157 строка (до конца строки) & \kbd{M-0 C-k} & \kbd{C-k} \\
158 предложение & \kbd{C-x DEL} & \kbd{M-k} \\
159 выражение & \kbd{M-- C-M-k} & \kbd{C-M-k} \\
160 \end{tabular}
161
162
163 \begin{tabular}{p{\ColWidth}l}
164 уничтожить {\bf область} & \kbd{C-w} \\
165 скопировать область в список уничтожений & \kbd{M-w} \\
166 уничтожить до следующего вхождения символа {\it char} & \kbd{M-z {\it char}} \\
167
168 вставить последний уничтоженный объект & \kbd{C-y} \\
169 заменить только что восстановленный текст предшествующим уничтоженным текстом & M-y \\
170 \end{tabular}
171
172 \section{Пометка}
173
174 \begin{tabular}{p{\ColWidth}l}
175 установить пометки & \kbd{C-@ {\rm or} C-SPC} \\
176 обменять местами курсор и пометку & \kbd{C-x C-x} \\
177
178 пометить {\it arg\/} {\bf слов} & \kbd{M-@} \\
179 пометить {\bf параграф} & \kbd{M-h} \\
180 пометить {\bf страницу} & \kbd{C-x C-p} \\
181 пометить {\bf выражение} & \kbd{C-M-@} \\
182 пометить {\bf функцию} & \kbd{C-M-h} \\
183 пометить весь {\bf буфер} & \kbd{C-x h} \\
184 \end{tabular}
185
186 \section{Замена с запросом}
187
188 \begin{tabular}{p{\ColWidth}l}
189 интерактивная замена текстовой строки & \kbd{M-\%} \\
190 с использованием регулярных выражений & \kbd{M-x query-replace-regexp} \\
191 \end{tabular}
192
193 В режиме интерактивной замены пользователю доступны следующие ответы:
194
195 \begin{tabular}{p{\ColWidth}l}
196 {\bf заменить} данное соответствие, перейти к следующему & \kbd{SPC} \\
197 заменить это соответствие, не перемещаться & \kbd{,} \\
198 {\bf пропустить} соответствие без замены & \kbd{DEL} \\
199 заменить все оставшиеся соответствия & \kbd{!} \\
200 {\bf вернуться} к предыдущему соответствию & \kbd{\^} \\
201 {\bf выйти} из режима замена с запросом & \kbd{RET} \\
202 войти в режим рекурсивного редактирования (для выхода используется \kbd{C-M-c}) & \kbd{C-r} \\
203 \end{tabular}
204
205 \section{Множество окон}
206
207 Команды, приведенные во втором столбце, применяются к другому
208 (неактивному) окну.
209
210 \begin{tabular}{p{\ColWidth}l}
211 удалить все остальные окна & \kbd{C-x 1} \\
212 \end{tabular}
213
214 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
215 разбить окно по горизонтали & \kbd{C-x 2\ \ \ \ } & \kbd{C-x 5 2} \\
216 удалить данное окно & \kbd{C-x 0\ \ \ \ } & \kbd{C-x 5 0} \\
217
218 разбить окно по вертикали & \kbd{C-x 3} \\
219
220 выполнить прокрутку в другом окне & \kbd{C-M-v} \\
221 \end{tabular}
222
223 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
224 переместить курсор в другое окно & \kbd{C-x o} & \kbd{C-x 5 o} \\
225
226 выбрать буфер в другом окне & \kbd{C-x 4 b} & \kbd{C-x 5 b} \\
227 показать буфер в другом окне & \kbd{C-x 4 C-o} & \kbd{C-x 5 C-o} \\
228 загрузить файл в другое окно & \kbd{C-x 4 f} & \kbd{C-x 5 f} \\
229 открыть файл в режиме чтения в другом окне & \kbd{C-x 4 r} & \kbd{C-x 5 r} \\
230 запустить Dired в другом окне & \kbd{C-x 4 d} & \kbd{C-x 5 d} \\
231 найти таг в другом окне & \kbd{C-x 4 .} & \kbd{C-x 5 .} \\
232
233 \end{tabular}
234
235 \begin{tabular}{p{\ColWidth}l}
236 увеличить высоту окна & \kbd{C-x \^} \\
237 сузить текущее окно & \kbd{C-x \{} \\
238 расширить текущее окно & \kbd{C-x \}} \\
239 \end{tabular}
240
241 \section{Форматирование}
242
243 \begin{tabular}{p{\ColWidth}l}
244 сделать отступ для текущей {\bf строки} (в зависимости от режима) & \kbd{TAB} \\
245 сделать отступ для {\bf области} (в зависимости от режима) & \kbd{C-M-$\backslash$} \\
246 сделать отступ для {\bf выражения} (в зависимости от режима) & \kbd{C-M-q} \\
247 сделать отступ к заданной {\it arg\/} колонке & \kbd{C-x TAB} \\
248
249 вставить новую строку после курсора & \kbd{C-o} \\
250 сдвинуть остаток строки вертикально вниз & \kbd{C-M-o} \\
251 удалить пустые строки вокруг курсора & \kbd{C-x C-o} \\
252 объединить строку с предыдущей (со следующими arg) & \kbd{M-\^} \\
253 удалить пустое пространство вокруг курсора & \kbd{M-$\backslash$} \\
254 поместить только один пробел в позиции курсора & \kbd{M-SPC} \\
255
256 заполнить текущий параграф & \kbd{M-q} \\
257 установить столбец заполнения & \kbd{C-x f} \\
258 установить префикс заполнения каждой строки & \kbd{C-x .} \\
259
260 установить начертание & \kbd{M-g} \\
261 \end{tabular}
262
263 \section{Изменение регистра}
264
265 \begin{tabular}{p{\ColWidth}l}
266 сделать буквы слова заглавными & \kbd{M-u} \\
267 сделать буквы слова строчными & \kbd{M-l} \\
268 сделать первую букву слова заглавной & \kbd{M-c} \\
269
270 сделать буквы области заглавными & \kbd{C-x C-u} \\
271 сделать буквы области строчными & \kbd{C-x C-l} \\
272 \end{tabular}
273
274 \section{Минибуфер}
275
276 Следующие клавиши (ключи) определены в минибуфере.
277
278 \begin{tabular}{p{\ColWidth}l}
279 дополнить насколько возможно & \kbd{TAB} \\
280 дополнить до одного слова & \kbd{SPC} \\
281 дополнить и выполнить & \kbd{RET} \\
282 показать возможные дополнения & \kbd{?} \\
283 выбрать предыдущий ввод в минибуфер & \kbd{M-p} \\
284 выбрать следующий ввод в минибуфер & \kbd{M-n} \\
285 поиск в истории по регулярному выражению в обратном напрвлении & \kbd{M-r} \\
286 поиск в истории по регулярному выражению в прямом напрвлении & \kbd{M-s} \\
287 прервать команду & \kbd{C-g} \\
288 \end{tabular}
289
290 Наберите \kbd{C-x ESC ESC} для редактирования и повторения последней
291 команды набранной в минибуфере. Наберите \kbd{F10}, чтобы работать с
292 пунктами меню при помощи команд минибуфера.
293
294 \section{Буфера}
295
296 \begin{tabular}{p{\ColWidth}l}
297 выбрать другой буфер & \kbd{C-x b} \\
298 выдать список всех буферов & \kbd{C-x C-b} \\
299 уничтожить буфер & \kbd{C-x k} \\
300 \end{tabular}
301
302 \section{Обмен местами}
303
304 \begin{tabular}{p{\ColWidth}l}
305 обменять местами {\bf символы} & \kbd{C-t} \\
306 обменять местами {\bf слова} & \kbd{M-t} \\
307 обменять местами {\bf строки} & \kbd{C-x C-t} \\
308 обменять местами {\bf выражения} & \kbd{C-M-t} \\
309 \end{tabular}
310
311 \section{Проверка грамматики}
312
313 \begin{tabular}{p{\ColWidth}l}
314 проверить текущее слово & \kbd{M-\$} \\
315 проверить все слова в области & \kbd{M-x ispell-region} \\
316 выполнить проверку всего буфера & \kbd{M-x ispell-buffer} \\
317 \end{tabular}
318
319 \section{Теги}
320
321 \begin{tabular}{p{\ColWidth}l}
322 найти определение тега & \kbd{M-.} \\
323 найти следующее вхождение тега & \kbd{C-u M-.} \\
324 указать новый файл с тегами & \kbd{M-x visit-tags-table} \\
325
326 поиск по шаблону по всей таблице тегов & \kbd{M-x tags-search} \\
327 выполнить query-replace над всеми файлами & \kbd{M-x tags-query-replace} \\
328 продолжить поиск или поиск-замену тега & \kbd{M-,} \\
329 \end{tabular}
330
331 \section{Командные процессоры}
332
333 \begin{tabular}{p{\ColWidth}l}
334 Выполнить команду командного процессора & \kbd{M-!} \\
335 выполнить команду командного процессора над областью & \kbd{M-|} \\
336 пропустить содержимое области через команду командного процессора & \kbd{C-u M-|} \\
337 запустить командный процессор в окне \kbd{*shell*} & \kbd{M-x shell} \\
338 \end{tabular}
339
340 \section{Прямоугольные области}
341
342 \begin{tabular}{p{\ColWidth}l}
343 скопировать прямоугольную область в регистр & \kbd{C-x r r} \\
344 удалить прямоугольную область & \kbd{C-x r k} \\
345 вставить последную уничтоженную прямоугольную область & \kbd{C-x r y} \\
346 открыть прямоугольную область, сдвигая текст вправо & \kbd{C-x r o} \\
347 очистить прямоугольную область & \kbd{C-x r c} \\
348 предварить каждую строку строкой текста & \kbd{C-x r t} \\
349 \end{tabular}
350
351 \section{Сокращения}
352
353 \begin{tabular}{p{\ColWidth}l}
354 добавить глобальное сокращение & \kbd{C-x a g} \\
355 добавить локальное для режима сокращение & \kbd{C-x a l} \\
356 добавить глобальное значение для данного сокращения & \kbd{C-x a i g} \\
357 добавить специфическое для режима значение данного сокращения & \kbd{C-x a i l} \\
358 явно вставить значение для сокращения & \kbd{C-x a e} \\
359
360 динамически дополнить предыдущее слово & \kbd{M-/} \\
361 \end{tabular}
362
363 \section{Регулярные выражения}
364
365 \begin{tabular}{p{\ColWidth}l}
366 любой одиночный символ (за исключением символа новой строки) & \kbd{. {\rm(dot)}} \\
367 ноль или более повторений & \kbd{*} \\
368 одно или более повторений & \kbd{+} \\
369 ноль или одно повторение & \kbd{?} \\
370 экранировать специальный символ {\it c\/} & \kbd{$\backslash${\it c}} \\
371 выбор между альтернативами (``или'') & \kbd{$\backslash|$} \\
372 группировка & \kbd{$\backslash$( {\rm$\ldots$} $\backslash$)} \\
373 текст в {\it n\/}-й группе & \kbd{$\backslash${\it n}} \\
374 граница слова & \kbd{$\backslash$b} \\
375 не граница слова & \kbd{$\backslash$B} \\
376 \end{tabular}
377
378 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
379 {\bf объект} & {\bf начало соответствия} & {\bf конец соответствия} \\
380 строка & \kbd{\^} & \kbd{\$} \\
381 слово & \kbd{$\backslash$<} & \kbd{$\backslash$>} \\
382 буфер & \kbd{$\backslash$`} & \kbd{$\backslash$'} \\
383 \end{tabular}
384
385 \begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
386 {\bf класс символов} & {\bf соответ\-ствует им} & {\bf соответ\-ствует другим} \\
387 явный набор & \kbd{[ {\rm$\ldots$} ]} & \kbd{[\^ {\rm$\ldots$} ]} \\
388 символ-буква & \kbd{$\backslash$w} & \kbd{$\backslash$W} \\
389 символ с синтаксисом {\it c} & \kbd{$\backslash$s{\it c}} & \kbd{$\backslash$S{\it c}} \\
390 \end{tabular}
391
392 \section{Международные наборы символов}
393
394 \begin{tabular}{p{\ColWidth}l}
395 выбрать язык & \kbd{M-x set-language-environment} \\
396 показать все возможные методы ввода & \kbd{M-x list-input-methods} \\
397 разрешить или запретить метод ввода & \kbd{C-$\backslash$} \\
398 установить систему кодирования для следующей команды & \kbd{C-x RET c} \\
399 показать список всех систем кодирования & \kbd{M-x list-coding-systems} \\
400 выбрать предпочтительную систему кодирования & \kbd{M-x prefer-coding-system} \\
401 \end{tabular}
402
403 \section{Информация (система Info)}
404
405 \begin{tabular}{p{\ColWidth}l}
406 запустить систему доступа к документации & \kbd{C-h i} \\
407 найти указанную функцию или переменную в документации & \kbd{C-h C-i} \\
408 \end{tabular}
409
410 Перемещение внутри узла (нодами):
411
412 \begin{tabular}{p{\ColWidth}l}
413 прокрутка вперед & \kbd{SPC} \\
414 прокрутка назад & \kbd{DEL} \\
415 перейти к началу узла & \kbd{. {\rm (dot)}} \\
416 \end{tabular}
417
418 Перемещение между узлами:
419
420 \begin{tabular}{p{\ColWidth}l}
421 {\bf следующий} узел & \kbd{n} \\
422 {\bf предыдущий} узел & \kbd{p} \\
423 перейти к {\bf верхнему} узлу & \kbd{u} \\
424 выбрать меню по имени & \kbd{m} \\
425 выбрать {\it n\/}-й пункт меню по номеру (1--9) & \kbd{{\it n}} \\
426 перейти по ссылке (возврат с помощью \kbd{l}) & \kbd{f} \\
427 возвратится к последнему просмотренному узлу & \kbd{l} \\
428 возвратится к узлу-каталогу & \kbd{d} \\
429 перейти к узлу, заданному именем & \kbd{g} \\
430 \end{tabular}
431
432 Другие команды:
433
434 \begin{tabular}{p{\ColWidth}l}
435 запустить {\bf учебник} по системе документации & \kbd{h} \\
436 {\bf прекратить работу} с документацией & \kbd{q} \\
437 поиск в узлах с помощью регулярных выражений & \kbd{M-s} \\
438 \end{tabular}
439
440 \section{Регистры}
441
442 \begin{tabular}{p{\ColWidth}l}
443 сохранить область в регистре & \kbd{C-x r s} \\
444 вставить содержимое регистра в буфер & \kbd{C-x r i} \\
445
446 сохранить положение курсора в регистре & \kbd{C-x r SPC} \\
447 перейти к положению курсора, сохраненному в регистре & \kbd{C-x r j} \\
448 \end{tabular}
449
450 \section{Клавиатурные макросы}
451
452 \begin{tabular}{p{\ColWidth}l}
453 {\bf начать} определение клавиатурного макроса & \kbd{C-x (} \\
454 {\bf закончить} определение клавиатурного макроса & \kbd{C-x )} \\
455 {\bf выполнить} последний определенный макрос & \kbd{C-x e} \\
456 дополнить последний определенный макрос & \kbd{C-u C-x (} \\
457 задать имя для последнего определенного макроса & \kbd{M-x name-last-kbd-macro} \\
458 вставить в буфер определение макроса на языке Lisp & \kbd{M-x insert-kbd-macro} \\
459 \end{tabular}
460
461 \section{Команды, связанные с Emacs Lisp}
462
463 \begin{tabular}{p{\ColWidth}l}
464 вычислить {\bf выражение} перед курсором & \kbd{C-x C-e} \\
465 вычислить текущую функцию {\bf defun} & \kbd{C-M-x} \\
466 вычислить {\bf область} как выражение & \kbd{M-x eval-region} \\
467 считать и вычислить выражение из минибуфера & \kbd{M-:} \\
468 загрузить из стандартного системного каталога & \kbd{M-x load-library} \\
469 \end{tabular}
470
471 \section{Простая настройка}
472
473 \begin{tabular}{p{\ColWidth}l}
474 настроить переменные и оформление (faces) & \kbd{M-x customize} \\
475 \end{tabular}
476
477 % The intended audience here is the person who wants to make simple
478 % customizations and knows Lisp syntax.
479
480 Создать глобальное назначение ключей на Emacs Lisp (пример):
481
482 \begin{verbatim}
483 (global-set-key "\C-cg" 'goto-line)
484 (global-set-key "\M-#" 'query-replace-regexp)
485 \end{verbatim}
486
487 \section{Написание команд}
488
489 \begin{verbatim}
490 (defun <command-name> (<args>)
491 "<documentation>" (interactive "<template>")
492 <body>)
493 \end{verbatim}
494
495 Пример:
496
497 \begin{verbatim}
498 (defun this-line-to-top-of-window (line)
499 "Reposition line point is on to top of window.
500 With ARG, put point on line ARG."
501 (interactive "P")
502 (recenter (if (null line)
503 0
504 (prefix-numeric-value line))))
505 \end{verbatim}
506
507 Спецификация \kbd{interactive} сообщает о том, что аргумент надо считывать
508 интерактивно. Для дополнительной информации наберите \kbd{C-h f interactive}.
509
510 \copyrightnotice
511
512 %\end{multicols}
513
514 \end{document}