Mercurial > emacs
view etc/ru-refcard.tex @ 73331:f21883dcffa9
Merge from upstream, upto version 5.22.
After 5.0:
`cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode)
After 5.1:
;; Major edit. Summary of most visible changes:
;; a) Multiple <<HERE per line allowed.
;; b) Handles multiline subroutine declaration headers (with comments).
;; (The exception is `cperl-etags' - but it is not used in the rest
;; of the mode.)
;; c) Fontifies multiline my/our declarations (even with comments,
;; and with legacy `font-lock').
;; d) Major speedup of syntaxification, both immediate and postponed
;; (3.5x to 15x [for different CPUs and versions of Emacs] on the
;; huge real-life document I tested).
;; e) New bindings, edits to imenu.
;; f) "_" is made into word-char during fontification/syntaxification;
;; some attempts to recognize non-word "_" during other operations too.
;; g) Detect bug in Emacs with `looking-at' inside `narrow' and bulk out.
;; h) autoload some more perldoc-related stuff
;; i) Some new convenience features: ISpell POD/HEREDOCs, narrow-to-HEREDOC
;; j) Attempt to incorporate XEmacs edits which reached me
Fine-grained changelog:
`cperl-hook-after-change': New configuration variable
`cperl-vc-sccs-header': Likewise.
`cperl-vc-sccs-header': Likewise.
`cperl-vc-header-alist': Default via two preceding variables
`cperl-invalid-face': Remove double quoting under XEmacs
(still needed under 21.2)
`cperl-tips': Update URLs for resources
`cperl-problems': Likewise.
`cperl-praise': Mention new features
New C-c key bindings: for `cperl-find-bad-style',
`cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc',
`cperl-perdoc', `cperl-perldoc-at-point'
CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info"
moved, new submenu of Tools with Ispell entries and narrowing.
`cperl-after-sub-regexp': New defsubst
`cperl-imenu--function-name-regexp-perl': Use `cperl-after-sub-regexp',
Allows heads up to head4
Allow "package;"
`defun-prompt-regexp': Use `cperl-after-sub-regexp',
`paren-backwards-message': ??? Something for XEmacs???
`cperl-mode': Never auto-switch abbrev-mode off
Try to allow '_' be non-word char
Do not use `font-lock-unfontify-region-function' on XEmacs
Reset syntax cache on mode start
Support multiline facification (even
on legacy `font-lock')
`cperl-facemenu-add-face-function': ??? Some contributed code ???
`cperl-after-change-function': Since `font-lock' and `lazy-lock'
refuse to inform us whether the fontification is due to lazy
calling or due to edit to a buffer, install our own hook
(controlled by `cperl-hook-after-change')
`cperl-electric-pod': =cut may have been recognized as start
`cperl-block-p': Moved, updated for attributes
`cperl-calculate-indent': Try to allow '_' be non-word char
Support subs with attributes
`cperl-where-am-i': Queit (?) a warning
`cperl-cached-syntax-table' New function
`cperl-forward-re': Use `cperl-cached-syntax-table'
`cperl-unwind-to-safe': Recognize `syntax-type' property
changing in a middle of line
`cperl-find-sub-attrs': New function
`cperl-find-pods-heres': Allow many <<EOP per line
Allow subs with attributes
Major speedups (3.5x..15x on a real-life
test file nph-proxy.pl)
Recognize "extproc " (OS/2)
case-folded and only at start
/x on s///x with empty replacement was
not recognized
Better comments
`cperl-after-block-p': Remarks on diff with `cperl-block-p'
Allow subs with attributes, labels
Do not confuse "else::foo" with "else"
Minor optimizations...
`cperl-after-expr-p': Try to allow '_' be non-word char
`cperl-fill-paragraph': Try to detect a major bug in Emacs
with `looking-at' inside `narrow' and bulk out if found
`cperl-imenu--create-perl-index': Updates for new
`cperl-imenu--function-name-regexp-perl'
`cperl-outline-level': Likewise.
`cperl-init-faces': Allow multiline subroutine headers
and my/our declarations, and ones with comments
Allow subroutine attributes
`cperl-imenu-on-info': Better docstring.
`cperl-etags' Rudimentary support for attributes
Support for packages and "package;"
`cperl-add-tags-recurse-noxs': Better (?) docstring
`cperl-add-tags-recurse-noxs-fullpath': Likewise.
`cperl-tags-hier-init': Misprint for `fboundp' fixed
`cperl-not-bad-style-regexp': Try to allow '_' be non-word char
`cperl-perldoc': Add autoload
`cperl-perldoc-at-point': Likewise.
`cperl-here-doc-spell': New function
`cperl-pod-spell': Likewise.
`cperl-map-pods-heres': Likewise.
`cperl-get-here-doc-region': Likewise.
`cperl-font-lock-fontify-region-function': Likewise (backward compatibility
for legacy `font-lock')
`cperl-font-lock-unfontify-region-function': Fix style
`cperl-fontify-syntaxically': Recognize and optimize away
deferred calls with no-change. Governed by `cperl-hook-after-change'
`cperl-fontify-update': Recognize that syntaxification region
can be larger than fontification one.
XXXX we leave `cperl-postpone' property, so this is quadratic...
`cperl-fontify-update-bad': Temporary placeholder until
it is clear how to implement `cperl-fontify-update'.
`cperl-time-fontification': New function
`attrib-group': New text attribute
`multiline': New value: `syntax-type' text attribute
After 5.2:
`cperl-emulate-lazy-lock': New function
`cperl-fontify-syntaxically': Would skip large regions
Add `cperl-time-fontification', `cperl-emulate-lazy-lock' to menu
Some globals were declared, but uninitialized
After 5.3, 5.4:
`cperl-facemenu-add-face-function': Add docs, fix U<>
Copyright message updated.
`cperl-init-faces': Work around a bug in `font-lock'. May slow
facification down a bit.
Misprint for my|our|local for old `font-lock'
"our" was not fontified same as "my|local"
Highlight variables after "my" etc even in
a middle of an expression
Do not facify multiple variables after my etc
unless parentheses are present
After 5.5, 5.6
`cperl-fontify-syntaxically': after-change hook could reset
`cperl-syntax-done-to' to a middle of line; unwind to BOL.
After 5.7:
`cperl-init-faces': Allow highlighting of local ($/)
`cperl-problems-old-emaxen': New variable (for the purpose of DOCSTRING).
`cperl-problems': Remove fixed problems.
`cperl-find-pods-heres': Recognize #-comments in m##x too
Recognize charclasses (unless delimiter is \).
`cperl-fontify-syntaxically': Unwinding to safe was done in wrong order
`cperl-regexp-scan': Update docs
`cperl-beautify-regexp-piece': use information got from regexp scan
After 5.8:
Major user visible changes:
Recognition and fontification of character classes in RExen.
Variable indentation of RExen according to groups
`cperl-find-pods-heres': Recognize POSIX classes in REx charclasses
Fontify REx charclasses in variable-name face
Fontify POSIX charclasses in "type" face
Fontify unmatched "]" in function-name face
Mark first-char of HERE-doc as `front-sticky'
Reset `front-sticky' property when needed
`cperl-calculate-indent': Indents //x -RExen accordning to parens level
`cperl-to-comment-or-eol': Recognize ends of `syntax-type' constructs
`cperl-backward-to-noncomment': Recognize stringy `syntax-type' constructs
Support `narrow'ed buffers.
`cperl-praise': Remove a reservation
`cperl-make-indent': New function
`cperl-indent-for-comment': Use `cperl-make-indent'
`cperl-indent-line': Likewise.
`cperl-lineup': Likewise.
`cperl-beautify-regexp-piece': Likewise.
`cperl-contract-level': Likewise.
`cperl-toggle-set-debug-unwind': New function
New menu entry for this
`fill-paragraph-function': Use when `boundp'
`cperl-calculate-indent': Take into account groups when indenting RExen
`cperl-to-comment-or-eol': Recognize # which end a string
`cperl-modify-syntax-type': Make only syntax-table property non-sticky
`cperl-fill-paragraph': Return t: needed for `fill-paragraph-function'
`cperl-fontify-syntaxically': More clear debugging message
`cperl-pod2man-build-command': XEmacs portability: check `Man-filter-list'
`cperl-init-faces': More complicated highlight even on XEmacs (new)
Merge cosmetic changes from XEmacs
After 5.9:
`cperl-1+': Moved to before the first use
`cperl-1-': Likewise.
After 5.10:
This code may lock Emacs hard!!! Use on your own risk!
`cperl-font-locking': New internal variable
`cperl-beginning-of-property': New function
`cperl-calculate-indent': Use `cperl-beginning-of-property'
instead of `previous-single-property-change'
`cperl-unwind-to-safe': Likewise.
`cperl-after-expr-p': Likewise.
`cperl-get-here-doc-region': Likewise.
`cperl-font-lock-fontify-region-function': Likewise.
`cperl-to-comment-or-eol': Do not call `cperl-update-syntaxification'
recursively
Bound `next-single-property-change'
via `point-max'
`cperl-unwind-to-safe': Bound likewise
`cperl-font-lock-fontify-region-function': Likewise.
`cperl-find-pods-heres': Mark as recursive for `cperl-to-comment-or-eol'
Initialization of
`cperl-font-lock-multiline-start' could be missed if the "main"
fontification did not run due to the keyword being already fontified.
`cperl-pod-spell': Return t from do-one-chunk function
`cperl-map-pods-heres': Stop when the worker returns nil
Call `cperl-update-syntaxification'
`cperl-get-here-doc-region': Call `cperl-update-syntaxification'
`cperl-get-here-doc-delim': Remove unused function
After 5.11:
The possible lockup of Emacs (introduced in 5.10) fixed
`cperl-unwind-to-safe': `cperl-beginning-of-property' won't return nil
`cperl-syntaxify-for-menu': New customization variable
`cperl-select-this-pod-or-here-doc': New function
`cperl-get-here-doc-region': Extra argument
Do not adjust pos by 1
New menu entries (Perl/Tools): Selection of current POD or HERE-DOC section
(Debugging CPerl:) backtrace on fontification
After 5.12:
`cperl-cached-syntax-table': use `car-safe'
`cperl-forward-re': Remove spurious argument SET-ST
Add documentation
`cperl-forward-group-in-re': New function
`cperl-find-pods-heres': Find and highlight (?{}) blocks in RExen
(XXXX Temporary (?) hack is to syntax-mark them as comment)
After 5.13:
`cperl-string-syntax-table': Make { and } not-grouping
(Sometimes they ARE grouping in RExen, but matching them would only
confuse in many situations when they are not)
`beginning-of-buffer': Replaced two occurences with goto-char...
`cperl-calculate-indent': `char-after' could be nil...
`cperl-find-pods-heres': REx can start after "[" too
Hightlight (??{}) in RExen too
`cperl-maybe-white-and-comment-rex': New constant
`cperl-white-and-comment-rex': Likewise.
XXXX Not very efficient, but hard to make
better while keeping 1 group
After 5.13:
`cperl-find-pods-heres': $foo << identifier() is not a HERE-DOC
Likewise for 1 << identifier
After 5.14:
`cperl-find-pods-heres': Different logic for $foo .= <<EOF etc
Error-less condition-case could fail
`cperl-font-lock-fontify-region-function': Likewise.
`cperl-init-faces': Likewise.
After 5.15:
`cperl-find-pods-heres': Support property REx-part2
`cperl-calculate-indent': Likewise.
Don't special-case REx with non-empty 1st line
`cperl-find-pods-heres': In RExen, highlight non-literal backslashes
Invert highlighting of charclasses:
now the envelop is highlighted
Highlight many others 0-length builtins
`cperl-praise': Mention indenting and highlight in RExen
After 5.15:
`cperl-find-pods-heres': Highlight capturing parens in REx
After 5.16:
`cperl-find-pods-heres': Highlight '|' for alternation
Initialize `font-lock-warning-face' if not present
`cperl-find-pods-heres': Use `font-lock-warning-face' instead of
`font-lock-function-name-face'
`cperl-look-at-leading-count': Likewise.
`cperl-find-pods-heres': localize `font-lock-variable-name-face'
`font-lock-keyword-face' (needed for
batch processing) etc
Use `font-lock-builtin-face' for builtin in REx
Now `font-lock-variable-name-face'
is used for interpolated variables
Use "talking aliases" for faces inside REx
Highlight parts of REx (except in charclasses)
according to the syntax and/or semantic
Syntax-mark a {}-part of (?{}) as "comment"
(it was the ()-part)
Better logic to distinguish what is what in REx
`cperl-tips-faces': Document REx highlighting
`cperl-praise': Mention REx syntax highlight etc.
After 5.17:
`cperl-find-sub-attrs': Would not always manage to print error message
`cperl-find-pods-heres': localize `font-lock-constant-face'
After 5.18:
`cperl-find-pods-heres': Misprint in REx for parsing REx
Very minor optimization
`my-cperl-REx-modifiers-face' got quoted
Recognize "print $foo <<END" as HERE-doc
Put `REx-interpolated' text attribute if needed
`cperl-invert-if-unless-modifiers': New function
`cperl-backward-to-start-of-expr': Likewise.
`cperl-forward-to-end-of-expr': Likewise.
`cperl-invert-if-unless': Works in "the opposite way" too
Cursor position on return is on the switch-word
Indents comments better
`REx-interpolated': New text attribute
`cperl-next-interpolated-REx': New function
`cperl-next-interpolated-REx-0': Likewise.
`cperl-next-interpolated-REx-1': Likewise.
"\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions
Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx'
`cperl-praise': Mention finded interpolated RExen
After 5.19:
`cperl-init-faces': Highlight %$foo, @$foo too
`cperl-short-docs': Better docs for system, exec
`cperl-find-pods-heres': Better detect << after print {FH} <<EOF etc.
Would not find HERE-doc ended by EOF without NL
`cperl-short-docs': Correct not-doubled \-escapes
start block: Put some `defvar' for stuff gone from XEmacs
After 5.20:
initial comment: Extend copyright, fix email address
`cperl-indent-comment-at-column-0': New customization variable
`cperl-comment-indent': Indentation after $#a would increasy by 1
`cperl-mode': Make `defun-prompt-regexp' grok BEGIN/END etc
`cperl-find-pods-heres': Mark CODE of s///e as `syntax-type' `multiline'
`cperl-at-end-of-expr': Would fail if @BAR=12 follows after ";"
`cperl-init-faces': If `cperl-highlight-variables-indiscriminately'
highlight $ in $foo too (UNTESTED)
`cperl-set-style': Docstring missed some available styles
toplevel: Menubar/Perl/Indent-Styles had FSF, now K&R
Change "Current" to "Memorize Current"
`cperl-indent-wrt-brace': New customization variable; the default is
as for pre-5.2 version
`cperl-styles-entries': Keep `cperl-extra-newline-before-brace-multiline'
`cperl-style-alist': Likewise.
`cperl-fix-line-spacing': Support `cperl-merge-trailing-else' being nil,
and `cperl-extra-newline-before-brace' etc
being t
`cperl-indent-exp': Plans B and C to find continuation blocks even
if `cperl-extra-newline-before-brace' is t
After 5.21:
Improve some docstrings concerning indentation.
`cperl-indent-rules-alist': New variable
`cperl-sniff-for-indent': New function name
(separated from `cperl-calculate-indent')
`cperl-calculate-indent': Separated the sniffer and the indenter;
uses `cperl-sniff-for-indent' now
`cperl-comment-indent': Test for `cperl-indent-comment-at-column-0'
was inverted;
Support `comment-column' = 0
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 11 Oct 2006 06:47:35 +0000 |
parents | ab6bbd94ecf9 |
children | 3ef60cc45b6d |
line wrap: on
line source
% Copyright (C) 1997, 2002, 2003, 2004, 2005, % 2006 Free Software Foundation, Inc. \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.3} \newcommand{\nyear}[0]{2006} \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 22, June \nyear} \centerline{designed by Stephen Gildea} \centerline{Перевод Alex Ott <alexott@gmail.com>} 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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{(для версии 22)} \section{Запуск Emacs} Для запуска GNU Emacs 22, просто наберите имя программы: \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 k} \\ получить информацию о функции & \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, C-\_ {\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 или} 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 .} \\ установить начертание (face) & \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{C-x RET l} \\ показать все возможные методы ввода & \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 S} \\ \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{t} \\ перейти к узлу, заданному именем & \kbd{g} \\ \end{tabular} Другие команды: \begin{tabular}{p{\ColWidth}l} запустить {\bf учебник} по системе документации & \kbd{h} \\ поиск темы в индексе & \kbd{i} \\ поиск в узлах с помощью регулярных выражений & \kbd{s} \\ {\bf прекратить работу} с документацией & \kbd{q} \\ \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} % Local variables: % compile-command: "latex ru-refcard" % coding: cyrillic-koi8 % End: % arch-tag: 868a12f6-4339-4a14-a56e-4a3937277a9e