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