view etc/ru-refcard.tex @ 82975:590114f9753d gnus-5_10-pre-merge-josefsson

2004-08-31 Katsumi Yamaoka <yamaoka@jpl.org> * gnus-agent.el (gnus-agent-restore-gcc): Use ^ and regexp-quote. * gnus-sum.el (gnus-newsgroup-variables): Doc fix (tiny change). From Helmut Waitzmann <Helmut.Waitzmann@web.de>. * gnus-agent.el (gnus-agent-regenerate-group): Activate the group when the group's active is not available. * gnus-art.el (article-hide-headers): Refer to the values for gnus-ignored-headers and gnus-visible-headers in the summary buffer since a user may have set them as group parameters. (gnus-article-next-page): Fix the way to find a real end-of-buffer (tiny change). From YAGI Tatsuya <ynyaaa@ybb.ne.jp>. (gnus-article-read-summary-keys): Restore new window-start and hscroll to summary window. (gnus-prev-page-map): Remove duplicated one. * gnus-cite.el (gnus-cite-ignore-quoted-from): New user option. (gnus-cite-parse): Ignore quoted envelope From_. Suggested by Karl Chen <quarl@nospam.quarl.org> and Reiner Steib <Reiner.Steib@gmx.de>. * gnus-cus.el (gnus-agent-cat-prepare-category-field): Replace pp-to-string with gnus-pp-to-string. * gnus-eform.el (gnus-edit-form): Replace pp with gnus-pp. * gnus-group.el (gnus-group-make-kiboze-group): Replace pp with gnus-pp. * gnus-msg.el (gnus-setup-message): Ignore an article copy while parsing gnus-posting-styles when the message is not for replying. (gnus-summary-resend-message-edit): Call mime-to-mml. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>. (gnus-debug): Replace pp with gnus-pp. * gnus-score.el (gnus-score-save): Replace pp with gnus-pp. * gnus-spec.el (gnus-update-format): Replace pp-to-string with gnus-pp-to-string. * gnus-sum.el (gnus-read-header): Don't remove a header for the parent article of a sparse article in the thread hashtb. From Stefan Wiens <s.wi@gmx.net>. * gnus-util.el (gnus-bind-print-variables): New macro. (gnus-prin1): Use it. (gnus-prin1-to-string): Use it. (gnus-pp): New function. (gnus-pp-to-string): New function. * gnus.el: Don't make unnecessary *Group* buffer when loading. * mail-source.el (mail-source-touch-pop): Doc fix. * message.el (message-mode): Don't modify paragraph-separate there. (message-setup-fill-variables): Add mml tags to paragraph-start and paragraph-separate. Suggested by Andrew Korty <ajk@iu.edu>. (message-smtpmail-send-it): Doc fix. (message-exchange-point-and-mark): Don't activate region if it was inactive. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> and Jesper Harder <harder@ifa.au.dk>. * mm-decode.el (mm-save-part): Bind enable-multibyte-characters to t while entering a file name using the mm-with-multibyte macro. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>. * mm-encode.el (mm-content-transfer-encoding-defaults): Use qp-or-base64 for the application/* types. (mm-safer-encoding): Consider 7bit is safe. * mm-util.el (mm-with-multibyte-buffer): New macro. (mm-with-multibyte): New macro. * mm-view.el (mm-inline-render-with-function): Use multibyte buffer; decode html source by charset. * nndoc.el (nndoc-type-alist): Improve regexp for article-begin, add generate-head-function and generate-article-function to the rfc822-forward entry. (nndoc-forward-type-p): Recognize envelope From_. (nndoc-rfc822-forward-generate-article): New function. (nndoc-rfc822-forward-generate-head): New function. From David Hedbor <dhedbor@real.com>. * nnmail.el (nnmail-split-lowercase-expanded): New user option. (nnmail-expand-newtext): Lowercase expanded entries if nnmail-split-lowercase-expanded is non-nil. * score-mode.el (gnus-score-pretty-print): Replace pp with gnus-pp. * webmail.el (webmail-debug): Replace pp with gnus-pp. * gnus-art.el (gnus-article-wash-html-with-w3m): Bind w3m-safe-url-regexp as the value for mm-w3m-safe-url-regexp; use w3m-minor-mode-map instead of mm-w3m-local-map-property. (gnus-mime-save-part-and-strip): Use mm-complicated-handles instead of mm-multiple-handles. (gnus-mime-delete-part): Ditto. * mm-decode.el (mm-multiple-handles): Recognize a string as a mime handle, as well as a list. (mm-complicated-handles): Former definition of mm-multiple-handles. * mm-view.el (mm-w3m-mode-map): Remove. (mm-w3m-local-map-property): Remove. (mm-w3m-cid-retrieve-1): Call itself recursively. Suggested by ARISAWA Akihiro <ari@mbf.sphere.ne.jp>. (mm-w3m-cid-retrieve): Simplify. (mm-inline-text-html-render-with-w3m): Decode html source by charset; check META tags only when charsets are not specified in headers; specify charset to w3m-region; use w3m-minor-mode-map instead of mm-w3m-local-map-property.
author Reiner Steib <Reiner.Steib@gmx.de>
date Tue, 31 Aug 2004 14:47:59 +0000
parents dca236622e28
children 23a17af379b1
line wrap: on
line source

\documentclass[10pt]{article}
\usepackage{multicol,tabularx}
\usepackage[a4paper,hmargin={2cm,2cm},vmargin={2cm,2cm},nohead,twoside]{geometry}
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{verbatim}
%\usepackage{enumerate,calc}
%\usepackage{indentfirst,amsmath,graphicx,citehack,floatflt}
%
%\usepackage{pscyr}
%\renewcommand{\rmdefault}{fha}

\newlength{\ColWidth}
\setlength{\ColWidth}{120mm}
\newlength{\ColThreeWidth}
\setlength{\ColThreeWidth}{25mm}

\newcommand{\versionnumber}[0]{2.2}
\newcommand{\nyear}[0]{1997}

\newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
  \centerline{\footnotesize \copyright\ \nyear\ Free Software Foundation, Inc.
  Permissions on back.  v\versionnumber}}

\newcommand\copyrightnotice[0]{
\vskip 1ex plus 2 fill\begingroup\footnotesize
\centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.}
\centerline{v\versionnumber{} for GNU Emacs version 21, June \nyear}
\centerline{designed by Stephen Gildea}
\centerline{Перевод Alex Ott <ottalex at narod.ru>}

Permission is granted to make and distribute copies of
this card provided the copyright notice and this permission notice
are preserved on all copies.

For copies of the GNU Emacs manual, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

\endgroup}

\hyphenation{mini-buf-fer}

\parindent 0pt
%\parskip 0.5ex plus .2ex minus .2ex

\newcommand{\kbd}[1]{\texttt{#1}}

\begin{document}

%\begin{multicols}{3}

\centerline{Справочная карта по GNU Emacs}
\centerline{(для версии 21)}

\section{Запуск Emacs}

Для запуска GNU Emacs 21, просто наберите имя программы: \kbd{emacs}

О том, как открывать файлы, читайте далее в разделе Файлы.

\section{Выход из Emacs}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
Приостановить работу Emacs (или свернуть в иконку при работе в X) & \kbd{C-z} \\
Выйти из Emacs & \kbd{C-x C-c} \\
\end{tabular}

\section{Файлы}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf открыть} файл в буфере Emacs & \kbd{C-x C-f} \\
{\bf сохранить} файл обратно на диск & \kbd{C-x C-s} \\
сохранить {\bf все} файлы & \kbd{C-x s} \\
{\bf вставить} содержимое другого файла в текущий буфер & \kbd{C-x i} \\
открыть нужный вам файл вместо текущего & \kbd{C-x C-v} \\
сохранить буфер в указанном файле & \kbd{C-x C-w} \\
Включить/выключить состояние буфера ``только для чтения'' & \kbd{C-x C-q} \\
\end{tabular}

\section{Получение помощи}

Справочная система достаточно проста. Hажмите \kbd{C-h} (или \kbd{F1}) и
следуйте инструкциям. Если вы в первый раз работаете с Emacs, наберите
\kbd{C-u C-h t Russian RET} для вызова {\bf учебника}.

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
Закрыть окно справки & \kbd{C-x 1} \\
Прокрутить окно справки & \kbd{C-M-v} \\

apropos: показать команды, соответствующие строке & \kbd{C-h a} \\
показать имя функции, которая запускается клавишей & \kbd{C-h c} \\
описать функцию & \kbd{C-h f} \\
получить информацию о режиме & \kbd{C-h m} \\
\end{tabular}

\section{Исправление ошибок}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf прервать} частично набранную или исполняемую команду & \kbd{C-g} \\
{\bf восстановить} файл, потерянный при крахе системы & \kbd{M-x recover-file} \\
{\bf отменить} нежелательные изменения & \kbd{C-x u {\rm или} C-\_} \\
восстановить буфер в первоначальное состояние & \kbd{M-x revert-buffer} \\
перерисовать заполненный мусором экран & \kbd{C-l} \\
\end{tabular}

\section{Hаращиваемый поиск}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
поиск вперед & \kbd{C-s} \\
поиск назад & \kbd{C-r} \\
поиск по регулярному выражению & \kbd{C-M-s} \\
поиск по регулярному выражению назад & \kbd{C-M-r} \\

выбрать предыдущую строку поиска & \kbd{M-p} \\
выбрать следующую строку поиска & \kbd{M-n} \\
прекратить наращиваемый поиск & \kbd{RET} \\
отменить эффект ввода последнего символа & \kbd{DEL} \\
прервать текущий поиск & \kbd{C-g} \\
\end{tabular}

Для повтора поиска в любом направлении используйте клавиши \kbd{C-s} или
\kbd{C-r}. Если Emacs все еще производит поиск, \kbd{C-g} отменит только
несделанную часть.

\section{Перемещение}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf единицы перемещения} & {\bf назад} & {\bf вперед} \\
символ & \kbd{C-b} & \kbd{C-f} \\
слово & \kbd{M-b} & \kbd{M-f} \\
строка & \kbd{C-p} & \kbd{C-n} \\
начало (или конец) строки & \kbd{C-a} & \kbd{C-e} \\
предложение & \kbd{M-a} & \kbd{M-e} \\
абзац & \kbd{M-\{} & \kbd{M-\}} \\
страница & \kbd{C-x [} & \kbd{C-x ]} \\
выражение (sexp) & \kbd{C-M-b} & \kbd{C-M-f} \\
функция & \kbd{C-M-a} & \kbd{C-M-e} \\
переход в начало (или конец) буфера & \kbd{M-<} & \kbd{M->} \\

\end{tabular}

\begin{tabular}{p{\ColWidth}l}
прокрутка экрана вниз & \kbd{C-v} \\
прокрутка экрана вверх & \kbd{M-v} \\
прокрутка влево & \kbd{C-x <} \\
прокрутка вправо & \kbd{C-x >} \\
прокрутка текущей строки в центр экрана & \kbd{C-u C-l} \\
\end{tabular}

\section{Уничтожение и удаление}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf уничтожаемый объект} & {\bf назад} & {\bf вперед} \\
символ (удаление, а не уничтожение) & \kbd{DEL} & \kbd{C-d} \\
слово & \kbd{M-DEL} & \kbd{M-d} \\
строка (до конца строки) & \kbd{M-0 C-k} & \kbd{C-k} \\
предложение & \kbd{C-x DEL} & \kbd{M-k} \\
выражение & \kbd{M-- C-M-k} & \kbd{C-M-k} \\
\end{tabular}


\begin{tabular}{p{\ColWidth}l}
уничтожить {\bf область} & \kbd{C-w} \\
скопировать область в список уничтожений & \kbd{M-w} \\
уничтожить до следующего вхождения символа {\it char} & \kbd{M-z {\it char}} \\

вставить последний уничтоженный объект & \kbd{C-y} \\
заменить только что восстановленный текст предшествующим уничтоженным текстом & M-y \\
\end{tabular}

\section{Пометка}

\begin{tabular}{p{\ColWidth}l}
установить пометки & \kbd{C-@ {\rm or} C-SPC} \\
обменять местами курсор и пометку & \kbd{C-x C-x} \\

пометить {\it arg\/} {\bf слов} & \kbd{M-@} \\
пометить {\bf параграф} & \kbd{M-h} \\
пометить {\bf страницу} & \kbd{C-x C-p} \\
пометить {\bf выражение} & \kbd{C-M-@} \\
пометить {\bf функцию} & \kbd{C-M-h} \\
пометить весь {\bf буфер} & \kbd{C-x h} \\
\end{tabular}

\section{Замена с запросом}

\begin{tabular}{p{\ColWidth}l}
интерактивная замена текстовой строки & \kbd{M-\%} \\
с использованием регулярных выражений & \kbd{M-x query-replace-regexp} \\
\end{tabular}

В режиме интерактивной замены пользователю доступны следующие ответы:

\begin{tabular}{p{\ColWidth}l}
{\bf заменить} данное соответствие, перейти к следующему & \kbd{SPC} \\
заменить это соответствие, не перемещаться & \kbd{,} \\
{\bf пропустить} соответствие без замены & \kbd{DEL} \\
заменить все оставшиеся соответствия & \kbd{!} \\
{\bf вернуться} к предыдущему соответствию & \kbd{\^} \\
{\bf выйти} из режима замена с запросом & \kbd{RET} \\
войти в режим рекурсивного редактирования (для выхода используется \kbd{C-M-c}) & \kbd{C-r} \\
\end{tabular}

\section{Множество окон}

Команды, приведенные во втором столбце, применяются к другому
(неактивному) окну.

\begin{tabular}{p{\ColWidth}l}
удалить все остальные окна & \kbd{C-x 1} \\
\end{tabular}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
разбить окно по горизонтали & \kbd{C-x 2\ \ \ \ } & \kbd{C-x 5 2} \\
удалить данное окно & \kbd{C-x 0\ \ \ \ } & \kbd{C-x 5 0} \\

разбить окно по вертикали & \kbd{C-x 3} \\

выполнить прокрутку в другом окне & \kbd{C-M-v} \\
\end{tabular}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
переместить курсор в другое окно & \kbd{C-x o} & \kbd{C-x 5 o} \\

выбрать буфер в другом окне & \kbd{C-x 4 b} & \kbd{C-x 5 b} \\
показать буфер в другом окне & \kbd{C-x 4 C-o} & \kbd{C-x 5 C-o} \\
загрузить файл в другое окно & \kbd{C-x 4 f} & \kbd{C-x 5 f} \\
открыть файл в режиме чтения в другом окне & \kbd{C-x 4 r} & \kbd{C-x 5 r} \\
запустить Dired в другом окне & \kbd{C-x 4 d} & \kbd{C-x 5 d} \\
найти таг в другом окне & \kbd{C-x 4 .} & \kbd{C-x 5 .} \\

\end{tabular}

\begin{tabular}{p{\ColWidth}l}
увеличить высоту окна & \kbd{C-x \^} \\
сузить текущее окно & \kbd{C-x \{} \\
расширить текущее окно & \kbd{C-x \}} \\
\end{tabular}

\section{Форматирование}

\begin{tabular}{p{\ColWidth}l}
сделать отступ для текущей {\bf строки} (в зависимости от режима) & \kbd{TAB} \\
сделать отступ для {\bf области} (в зависимости от режима) & \kbd{C-M-$\backslash$} \\
сделать отступ для {\bf выражения} (в зависимости от режима) & \kbd{C-M-q} \\
сделать отступ к заданной {\it arg\/} колонке & \kbd{C-x TAB} \\

вставить новую строку после курсора & \kbd{C-o} \\
сдвинуть остаток строки вертикально вниз & \kbd{C-M-o} \\
удалить пустые строки вокруг курсора & \kbd{C-x C-o} \\
объединить строку с предыдущей (со следующими arg) & \kbd{M-\^} \\
удалить пустое пространство вокруг курсора & \kbd{M-$\backslash$} \\
поместить только один пробел в позиции курсора & \kbd{M-SPC} \\

заполнить текущий параграф & \kbd{M-q} \\
установить столбец заполнения & \kbd{C-x f} \\
установить префикс заполнения каждой строки & \kbd{C-x .} \\

установить начертание & \kbd{M-g} \\
\end{tabular}

\section{Изменение регистра}

\begin{tabular}{p{\ColWidth}l}
сделать буквы слова заглавными & \kbd{M-u} \\
сделать буквы слова строчными & \kbd{M-l} \\
сделать первую букву слова заглавной & \kbd{M-c} \\

сделать буквы области заглавными & \kbd{C-x C-u} \\
сделать буквы области строчными & \kbd{C-x C-l} \\
\end{tabular}

\section{Минибуфер}

Следующие клавиши (ключи) определены в минибуфере.

\begin{tabular}{p{\ColWidth}l}
дополнить насколько возможно & \kbd{TAB} \\
дополнить до одного слова & \kbd{SPC} \\
дополнить и выполнить & \kbd{RET} \\
показать возможные дополнения & \kbd{?} \\
выбрать предыдущий ввод в минибуфер & \kbd{M-p} \\
выбрать следующий ввод в минибуфер & \kbd{M-n} \\
поиск в истории по регулярному выражению в обратном напрвлении & \kbd{M-r} \\
поиск в истории по регулярному выражению в прямом напрвлении & \kbd{M-s} \\
прервать команду & \kbd{C-g} \\
\end{tabular}

Наберите \kbd{C-x ESC ESC} для редактирования и повторения последней
команды набранной в минибуфере. Наберите \kbd{F10}, чтобы работать с
пунктами меню при помощи команд минибуфера.

\section{Буфера}

\begin{tabular}{p{\ColWidth}l}
выбрать другой буфер & \kbd{C-x b} \\
выдать список всех буферов & \kbd{C-x C-b} \\
уничтожить буфер & \kbd{C-x k} \\
\end{tabular}

\section{Обмен местами}

\begin{tabular}{p{\ColWidth}l}
обменять местами {\bf символы} & \kbd{C-t} \\
обменять местами  {\bf слова} & \kbd{M-t} \\
обменять местами  {\bf строки} & \kbd{C-x C-t} \\
обменять местами  {\bf выражения} & \kbd{C-M-t} \\
\end{tabular}

\section{Проверка грамматики}

\begin{tabular}{p{\ColWidth}l}
проверить текущее слово & \kbd{M-\$} \\
проверить все слова в области & \kbd{M-x ispell-region} \\
выполнить проверку всего буфера & \kbd{M-x ispell-buffer} \\
\end{tabular}

\section{Теги}

\begin{tabular}{p{\ColWidth}l}
найти определение тега & \kbd{M-.} \\
найти следующее вхождение тега & \kbd{C-u M-.} \\
указать новый файл с тегами & \kbd{M-x visit-tags-table} \\

поиск по шаблону по всей таблице тегов & \kbd{M-x tags-search} \\
выполнить query-replace над всеми файлами & \kbd{M-x tags-query-replace} \\
продолжить поиск или поиск-замену тега & \kbd{M-,} \\
\end{tabular}

\section{Командные процессоры}

\begin{tabular}{p{\ColWidth}l}
Выполнить команду командного процессора & \kbd{M-!} \\
выполнить команду командного процессора над областью & \kbd{M-|} \\
пропустить содержимое области через команду командного процессора & \kbd{C-u M-|} \\
запустить командный процессор в окне \kbd{*shell*} & \kbd{M-x shell} \\
\end{tabular}

\section{Прямоугольные области}

\begin{tabular}{p{\ColWidth}l}
скопировать прямоугольную область в регистр & \kbd{C-x r r} \\
удалить прямоугольную область & \kbd{C-x r k} \\
вставить последную уничтоженную прямоугольную область & \kbd{C-x r y} \\
открыть прямоугольную область, сдвигая текст вправо & \kbd{C-x r o} \\
очистить прямоугольную область & \kbd{C-x r c} \\
предварить каждую строку строкой текста & \kbd{C-x r t} \\
\end{tabular}

\section{Сокращения}

\begin{tabular}{p{\ColWidth}l}
добавить глобальное сокращение & \kbd{C-x a g} \\
добавить локальное для режима сокращение & \kbd{C-x a l} \\
добавить глобальное значение для данного сокращения & \kbd{C-x a i g} \\
добавить специфическое для режима значение данного сокращения & \kbd{C-x a i l} \\
явно вставить значение для сокращения & \kbd{C-x a e} \\

динамически дополнить предыдущее слово & \kbd{M-/} \\
\end{tabular}

\section{Регулярные выражения}

\begin{tabular}{p{\ColWidth}l}
любой одиночный символ (за исключением символа новой строки) & \kbd{. {\rm(dot)}} \\
ноль или более повторений & \kbd{*} \\
одно или более повторений & \kbd{+} \\
ноль или одно повторение & \kbd{?} \\
экранировать специальный символ {\it c\/} & \kbd{$\backslash${\it c}} \\
выбор между альтернативами (``или'') & \kbd{$\backslash|$} \\
группировка & \kbd{$\backslash$( {\rm$\ldots$} $\backslash$)} \\
текст в {\it n\/}-й группе & \kbd{$\backslash${\it n}} \\
граница слова & \kbd{$\backslash$b} \\
не граница слова & \kbd{$\backslash$B} \\
\end{tabular}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf объект} & {\bf начало соответствия} & {\bf конец соответствия} \\
строка & \kbd{\^} & \kbd{\$} \\
слово & \kbd{$\backslash$<} & \kbd{$\backslash$>} \\
буфер & \kbd{$\backslash$`} & \kbd{$\backslash$'} \\
\end{tabular}

\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf класс символов} & {\bf соответ\-ствует им} & {\bf соответ\-ствует другим} \\
явный набор & \kbd{[ {\rm$\ldots$} ]} & \kbd{[\^ {\rm$\ldots$} ]} \\
символ-буква & \kbd{$\backslash$w} & \kbd{$\backslash$W} \\
символ с синтаксисом {\it c} & \kbd{$\backslash$s{\it c}} & \kbd{$\backslash$S{\it c}} \\
\end{tabular}

\section{Международные наборы символов}

\begin{tabular}{p{\ColWidth}l}
выбрать язык & \kbd{M-x set-language-environment} \\
показать все возможные методы ввода & \kbd{M-x list-input-methods} \\
разрешить или запретить метод ввода & \kbd{C-$\backslash$} \\
установить систему кодирования для следующей команды & \kbd{C-x RET c} \\
показать список всех систем кодирования & \kbd{M-x list-coding-systems} \\
выбрать предпочтительную систему кодирования & \kbd{M-x prefer-coding-system} \\
\end{tabular}

\section{Информация (система Info)}

\begin{tabular}{p{\ColWidth}l}
запустить систему доступа к документации & \kbd{C-h i} \\
найти указанную функцию или переменную в документации & \kbd{C-h C-i} \\
\end{tabular}

Перемещение внутри узла (нодами):

\begin{tabular}{p{\ColWidth}l}
прокрутка вперед & \kbd{SPC} \\
прокрутка назад & \kbd{DEL} \\
перейти к началу узла & \kbd{. {\rm (dot)}} \\
\end{tabular}

Перемещение между узлами:

\begin{tabular}{p{\ColWidth}l}
{\bf следующий} узел & \kbd{n} \\
{\bf предыдущий} узел & \kbd{p} \\
перейти к {\bf верхнему} узлу & \kbd{u} \\
выбрать меню по имени & \kbd{m} \\
выбрать {\it n\/}-й пункт меню по номеру (1--9) & \kbd{{\it n}} \\
перейти по ссылке  (возврат с помощью \kbd{l}) & \kbd{f} \\
возвратится к последнему просмотренному узлу & \kbd{l} \\
возвратится к узлу-каталогу & \kbd{d} \\
перейти к узлу, заданному именем & \kbd{g} \\
\end{tabular}

Другие команды:

\begin{tabular}{p{\ColWidth}l}
запустить {\bf учебник} по системе документации & \kbd{h} \\
{\bf прекратить работу} с документацией & \kbd{q} \\
поиск в узлах с помощью регулярных выражений & \kbd{M-s} \\
\end{tabular}

\section{Регистры}

\begin{tabular}{p{\ColWidth}l}
сохранить область в регистре & \kbd{C-x r s} \\
вставить содержимое регистра в буфер & \kbd{C-x r i} \\

сохранить положение курсора в регистре & \kbd{C-x r SPC} \\
перейти к положению курсора, сохраненному в регистре & \kbd{C-x r j} \\
\end{tabular}

\section{Клавиатурные макросы}

\begin{tabular}{p{\ColWidth}l}
{\bf начать} определение клавиатурного макроса & \kbd{C-x (} \\
{\bf закончить} определение клавиатурного макроса & \kbd{C-x )} \\
{\bf выполнить} последний определенный макрос & \kbd{C-x e} \\
дополнить последний определенный макрос & \kbd{C-u C-x (} \\
задать имя для последнего определенного макроса & \kbd{M-x name-last-kbd-macro} \\
вставить в буфер определение макроса на языке Lisp & \kbd{M-x insert-kbd-macro} \\
\end{tabular}

\section{Команды, связанные с Emacs Lisp}

\begin{tabular}{p{\ColWidth}l}
вычислить {\bf выражение} перед курсором & \kbd{C-x C-e} \\
вычислить текущую функцию {\bf defun} & \kbd{C-M-x} \\
вычислить {\bf область} как выражение & \kbd{M-x eval-region} \\
считать и вычислить выражение из минибуфера & \kbd{M-:} \\
загрузить из стандартного системного каталога & \kbd{M-x load-library} \\
\end{tabular}

\section{Простая настройка}

\begin{tabular}{p{\ColWidth}l}
настроить переменные и оформление (faces) & \kbd{M-x customize} \\
\end{tabular}

% The intended audience here is the person who wants to make simple
% customizations and knows Lisp syntax.

Создать глобальное назначение ключей на Emacs Lisp (пример):

\begin{verbatim}
(global-set-key "\C-cg" 'goto-line)
(global-set-key "\M-#" 'query-replace-regexp)
\end{verbatim}

\section{Написание команд}

\begin{verbatim}
(defun <command-name> (<args>)
  "<documentation>" (interactive "<template>")
  <body>)
\end{verbatim}

Пример:

\begin{verbatim}
(defun this-line-to-top-of-window (line)
  "Reposition line point is on to top of window.
With ARG, put point on line ARG."
  (interactive "P")
  (recenter (if (null line)
                0
              (prefix-numeric-value line))))
\end{verbatim}

Спецификация \kbd{interactive} сообщает о том, что аргумент надо считывать
интерактивно. Для дополнительной информации наберите \kbd{C-h f interactive}.

\copyrightnotice

%\end{multicols}

\end{document}

% arch-tag: 868a12f6-4339-4a14-a56e-4a3937277a9e