annotate etc/TUTORIAL.ru @ 1315:70921960b980

[xemacs-hg @ 2003-02-20 08:19:28 by ben] check in makefile fixes et al Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory into src/. Simplify the dependencies -- everything in src/ is dependent on the single entry `src' in MAKE_SUBDIRS. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. mule/mule-msw-init.el: Removed. Delete this file. mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows native, boys and girls! bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc file in a non-Mule XEmacs. Formerly you got the rather cryptic "The required feature `mule' cannot be provided". Now you get "Loading this file requires Mule support". finder.el: Remove dependency on which directory this function is invoked from. update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that Makefile.in.in and xemacs.mak are in sync, both of them use NEEDTODUMP and the other one isn't used. dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so we can have arbitrary forms, not just `when-feature'. very-early-lisp.el: Nuke this file. finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp. msw-glyphs.el: Comment clarification. xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro section is now completely in sync with src/Makefile.in.in. Copy check-features, load-shadows, and rebuilding finder-inf.el from src/Makefile.in.in. The main build/dump/recompile process is now synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE' and `error checking' to `error-checking' TO avoid tripping faux warnings and errors in the VC++ IDE. Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). console.c: Update list of possibly valid console types. emacs.c: Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. emacs.c: Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. emacs.c: Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. profile.c: Need to include "profile.h" to fix warnings. sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. text.h: Spacing fixes. xmotif.h: New file, to get around shadowing warnings. EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h. alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return.
author ben
date Thu, 20 Feb 2003 08:19:44 +0000
parents 3ecd8885ac67
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 Copyright (c) 1985, 1996 Free Software Foundation, Inc. See end for conditions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 Вы читаете учебник Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 Для управления Emacs обычно используется клавиша CONTROL (иногда отмечаемая как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 CTRL или CTL) или клавиша META. На некоторых клавиатурах, клавиша META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 отмечена ALT или EDIT или как-нибудь еще (например, на клавиатурах Sun,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 "the diamond key" слева от пробела и есть META). Если у вас нет клавиши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 META, вы можете использовать ESC вместо нее. Далее вместо META или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 CONTROL каждый раз мы будем использовать префиксный символ в следующих
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 сокращениях:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 C-<chr> следует удерживать клавишу CONTROL пока набирается символ <chr>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 Так, C-f должно означать: нажать клавишу CONTROL и f.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 M-<chr> следует удерживать клавишу META пока набирается символ <chr>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 Если таковой нет, нажмите <ESC>, отпустите ее, потом символ <chr>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 Важное замечание: для завершения сеанса Emacs, наберите C-x C-c. (Два
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 символа). Символы ">>" с левой стороны указывают, что вам нужно делать,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 чтоб применить команду. Например:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 >> Теперь нажмите C-v (Просмотр следующего экрана) для перемещения на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 следующий экран. (идите вперед, удерживая клавишу Control нажимая v).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 Теперь вы должны это сделать еще раз, когда закончите читать экран.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 Обратите внимание на то, что, пока вы движетесь с экрана на экран,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 перекрываются две строчки; это обеспечивает некоторую непрерывность, таким
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 образом вы можете продолжать читать текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 Первое что вам необходимо знать - как передвигаться по тексту из одного места
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 в другое. Вы уже знаете, как передвинуть вперед один экран, используя C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 Для перемещения назад одного экрана, нажмите M-v (удерживайте клавишу META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 и наберите v, или нажмите <ESC>v если у вас нет клавишу META, EDIT, или ALT).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 >> попробуйте набрать M-v и потом C-v, несколько раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 * КРАТКО
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 ---------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 Следующие команды используются для просмотра:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 C-v Перейти на один экран вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 M-v Перейти на один экран назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 C-l Очистить экран и отобразить все заново, разместив
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 текст, находящийся возле курсора, в центре экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 (Это control-L, не control-1.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 >> Найдите курсор, и запомните текст возле него.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 Потом нажмите C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 Найдите курсор снова и убедитесь, что возле него все тот же текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 * БАЗОВОЕ УПРАВЛЕНИЕ КУРСОРОМ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 -----------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 Движение от экрана к экрану удобно, но как переместиться в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 определенное место по тексту на экране?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 Есть насколько путей, чтобы сделать это. Основной путь - использовать команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 C-p, C-b, C-f, и C-n. Каждая из этих команд передвигает курсор на одну
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 строку или колонку на экране в определенном направлении. Эта таблица
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 показывает четыре команды и четыре направления движения:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 Предыдущая строка, C-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 Назад, C-b .... Текущая позиция курсора .... Вперед, C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 Следующая строка, C-n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 >> Переместите курсор на строку рядом с диаграммой, используя C-n или C-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 Потом, нажмите C-l и посмотрите как диаграмма разместится в центре экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 Вам будет несложно запомнить по буквам (// нда, зная английский - совсем
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 легко ) : P-предыдущий (previous), N-следующий (next), B-назад (backward) и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 F-вперед (forward). Это основные команды позиционирования курсора, которыми Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 будете пользоваться ВСЕГДА, так что будет неплохо их выучить.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 >> Нажмите несколько раз C-n чтоб опустить курсор вниз на эту строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 >> Переместитесь по строке, используя C-f и потом поднимитесь вверх с помощью
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 C-p. Посмотрите, как изменилось положение курсора при нажатии С-р, если он
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 находился в середине строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 Каждая строка текста завершается символом НоваяСтрока (Newline character),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 который отделяет ее от следующей строки. Последняя строка в вашем файле
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 должна бы тоже завершаться символом НоваяСтрока (но Emacs не требует этого).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 >> Попробуйте использовать C-b в начале строки. Курсор должен переместиться на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 конец предыдущей строки. Это происходит потому, что он движется назад через
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 символ НоваяСтрока.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 C-f может перемещать курсор через НовуюСтроку так же, как и C-b.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 >> Попробуйте несколько раз применить C-b, так чтобы Вы увидели, как движется
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 курсор.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 Далее используйте C-f чтобы вернуться на конец строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 Нажмите C-f еще раз, чтобы перейти к началу следующей строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 за экраном, сдвигается внутрь экрана. Это называется "скроллинг". Скроллинг
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 позволяет Emacs`у перемещать курсор в нужное место текста без перемещения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 его за пределы экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 >> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 и посмотрите, что изменится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 Если посимвольное перемещение слишком медленно, Вы можете двигаться по
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 словам. M-f (Meta-f) перемещает вперед на слово, а M-b назад на слово.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 >> Нажмите несколько раз M-f и M-b.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 Если курсор нах. в середине слова, M-f переместит его в конец слова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 Если курсор нах. между словами, M-f переместит его в конец
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 следующего слова. M-b работает точно так же в противоположном направлении.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 >> Нажмите M-f и M-b несколько раз, перемежая с C-f и C-b - так вы сможете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 заметить действия M-f и M-b из разных позиций в словах и между ними.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 Отметьте параллель между C-f и C-b с одной стороны, и M-f и M-b с другой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 Очень часто Meta-символы используются для соответствующих операций над
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 единицами, определенными в языке (слова, предложения, абзацы), когда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 Control-символы оперируют основными единицами, независимо от того, что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 Вы редактируете (символы, строки, и т.д.).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 Эта параллель существует между строками и предложениями: C-a и C-e перемещает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 курсор в начало и конец строки, а M-a и M-e перемещает курсор в начало и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 конец предложения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 >> Попробуйте нажать пару раз C-a, и потом пару раз C-e.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 Попробуйте пару раз нажать M-a, после этого пару раз нажать M-e.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 Посмотрите, что повтор C-a ничего не изменяет, а повтор M-a продолжает движение
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 курсора к следующему предложению. Это не сохраняет аналогию, но выглядит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 естественно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 Положение курсора в тексте также называют "точка". Скажем иначе: курсор
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 показывает место на экране в какой точке будет расположен вводимый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 Здесь собраны простые команды перемещения курсора, включая движение по словам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 и предложениям:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 C-f На символ вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 C-b На символ назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 M-f На слово вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 M-b На слово назад
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 C-n На следующую строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 C-p На предыдущую строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 C-a В начало строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 C-e В конец строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 M-a Назад, в начало предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 M-e Вперед, в конец предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 >> Попробуйте сейчас на практике применить несколько раз все эти команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 Это наиболее используемые команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 Две другие важные команды движения курсора M-< (Meta Less-then {Меньше-Чем}),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 которая перемещает курсор в начало текста, и M-> (Meta Greater-than {Больше-Чем}),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 которая перемещает курсор в конец текста.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 На большинстве терминалов символ "<" находится над точкой, и вы должны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 использовать клавишу Shift чтоб набрать его. На этих терминалах вы так же
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 должны использовать Shift чтоб набрать M-<; Без удержания клавиши Shift вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 наберете M-точка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 >> Сейчас попробуйте M-<, чтоб переместиться в начало учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 Потом используйте C-v чтоб вернуться назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 >> Сейчас попробуйте M->, что переместиться к концу учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 Используйте M-v чтоб вернуться снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 Курсор можно перемещать стрелочками, если Ваш терминал имеет их.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем причинам. Первое, они
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 работают на любых терминалах. Второе, однажды получив практику использования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 Emacs, вы поймете, что использовать CTRL-символы удобнее и быстрее, чем кнопки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 со стрелочками (потому что вы не убираете руки с обычного их положения при
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 печати). Третье, как только вы привыкните использовать CTRL-символы, вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 сможете так же легко выучить и использовать другие, более специальные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 команды перемещения курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 Большинство команд Emacs`а допускают цифровой аргумент; для большинства
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 команд, это служит счетчиком повторения. Чтоб задать счетчик повторения для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 команды, нажмите C-u, потом число повторений, укажите команду. Если у
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 вас есть клавиша META (или EDIT или ALT), есть другой способ задать цифровой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 аргумент: наберите цифры, удерживая кнопку META. Мы рекомендуем освоить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 использование C-u, т.к эта последовательность клавиш работает на любом терминале.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Например, C-u 8 C-f переместит курсор на восемь символов вперед.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 >> Попробуйте использовать C-n или C-p с цифровым аргументом, чтобы переместить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 курсор на строку рядом с этой командой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 Многие команды используют числовой аргумент как счетчик повторений. Но есть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 исключения. Такие исключения - C-v и M-v .
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 При получении числового аргумента, они скроллируют экран вверх или вниз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 на указанное число строк, вместо такого же числа экранов. Например, C-u 4 C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 прокрутит экран на 4 строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 >> Сейчас попробуйте комбинацию C-u 8 C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 Эта команда должна прокрутить экран на 8 строк вверх. Если вы хотите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 прокрутить его вниз, можете задать аргумент для M-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 Если вы используете X Window, вероятно есть прямоугольник именуемый полоса
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 прокрутки (scroll bar) с справой стороны окна Emacs. Вы можете скроллировать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 текст, манипулируя мышью.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 >> Попробуйте нажать среднюю кнопку мышки вверху подсвеченной области
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 внутри полосы прокрутки. Текст должен прокрутиться до позиции,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 определенной тем, как высоко или низко вы нажмете.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 >> Перместите мышку в точку полосы прокрутки возле третей строки сверху
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 и нажмите левую кнопку пару раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 * УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 ------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 Если у вас X-терминал, вам, вероятно, покажется более легким использовать клавиши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 на keypad`е для управления курсором. Стрелки влево, вправо, вверх и вниз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 передвигают курсор в ожидаемом направлении; они функционируют точно как C-b,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 C-f, C-p, и C-n, но легче в наборе и запоминании. Вы так же можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 использовать C-left и C-right для передвижения по словам, и C-up и C-down для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 передвижения по блокам (т.е. параграфам, если вы редактируете текст). Если у
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 вас есть кнопка помеченная HOME (или BEGIN) и END, то они будут перемещать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 курсор в начало и конец строки, соответственно, и C-home и C-end будут
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 перемещать в начало и конец файла. Если на вашей клавиатуре есть кнопки PgUp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 и PgDn, вы можете их использовать для перемещения вверх и вниз поэкранно, как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 M-v и C-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 Все эти команды могут получать цифровой аргумент, как рассказано выше.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 Вы можете использовать shortcut для ввода этого аргумента: просто нажмите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 CONTROL или META и наберите число. Например, для перемещения на 12 слов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 вправо, наберите C-1 C-2 C-right. Запомните что так очень легко набирать,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 потому что вы не отпускаете кнопку CONTROL между нажатиями.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 * ЕСЛИ EMACS ЗАВИС
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 ------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 Если Emacs перестал реагировать на ваши команды, вы можете остановить это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 просто нажав C-g. Вы можете использовать C-g чтоб остановить команду которая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 слишком долго выполняется.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 Вы так же можете использовать C-g для отмены цифрового аргумента или начатой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 команды которую вы не хотите завершать.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 >> Наберите C-u 100 для задания аргумента 100, потом нажмите C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 Теперь нажмите C-f. Курсор должен переместиться всего на один символ,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 потому что вы отменили аргумент нажатием C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 Если вы нажали <ESC> по ошибке, вы так же можете избавиться от этого нажатием
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 * ВЫКЛЮЧЕННЫЕ КОМАНДЫ (DISABLED COMMANDS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 -----------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 Некоторые команды Emacs "выключены" так как начинающие пользователи могут их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 использовать случайно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 Если вы набрали одну из выключенных команд, Emacs покажет сообщение говорящее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 какая команда вызывается, и спросит, хотите ли вы продолжить и выполнить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 команду.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 Если вы действительно хотите попробовать команду, нажмите Пробел (Space) в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 ответ на этот вопрос. Обычно, если вы не хотите выполнять выключенную
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 команду, отвечайте на вопрос "n".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 >> Нажмите `C-x n p' (выключенная команда), потом ответьте "n" на вопрос.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 * ОКНА
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 ------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 Emacs может иметь несколько окон, каждое отображает свой текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 Заметьте, "окно" используемое Emacs`ом это не отдельные перекрывающееся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 окна в оконной системы, это отдельные области в одном окне X window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 (Emacs так же может иметь несколько окон X windows, или "кадров" ("frames")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 в терминологии Emacs. Это будет описано позже.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 На этой стадии лучше не погружаться в технологию использования множества
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 окон. Но вам нужно знать, как избавляться от лишних окон, которые могут
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 появляться чтоб отобразить помощь, или вывод определенных команд. Это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 просто:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 C-x 1 Одно окно. (закрыть все другие окна).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 Это Control-x со следующей цифрой 1. C-x 1 развернет окно которое содержит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 курсор, так, чтоб оно заняло весь экран. Это удалит все другие окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 >> Переместите курсор на эту строку и нажмите C-u 0 C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 (Запомните что C-l перерисовывает экран. Если вы задаете цифровой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 аргумент для этой команды, это значит "перерисовать экран и поместить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 текущую строку на столько-то строк от начала экрана." Так C-u 0 C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 означает "перерисовать экран, поместить текущую строку в начале.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 >> Наберите Control-x 2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 Посмотрите, как текущее окно сожмется, когда новое появится и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 отобразит содержимое этого буфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 >> Наберите C-x 1 и посмотрите как окно исчезнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 * ВСТАВКА И УДАЛЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 Если вы хотите вставить текст, просто наберите текст. Символы, которые вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 можете видеть, такие как A, 7, *, и пр. понимаются Emacs`ом как текст и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 вставляются немедленно. Нажмите <Return> (кнопка перевода каретки) для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 вставки символа НоваяСтрока.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 Вы можете удалить последний набранный символ нажимая <Delete>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 Клавиша <Delete> на клавиатуре может быть обозначена как "Del".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 В некоторых случаях, клавише "Backspace" работает как <Delete>,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 но не всегда!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 В основном, <Delete> удаляет символ непосредственно перед текущей позицией
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 >> Попробуйте это сейчас -- наберите несколько символов, потом удалите их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 нажимая <Delete> несколько раз. Не волнуйтесь о изменениях этого файла;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 вы не изменяете главный учебник. Это ваша личная копия учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 Когда строка текста становится слишком большой для строки экрана, строка
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 текста "продолжается" на следующей строке экрана. Символ "обратное деление"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 ("\") с правой границы показывает, что строка будет продолжена.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 >> Вставляйте текст, пока не достигните правой границы, и продолжайте вставку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 Вы увидите, как появится символ продолжения строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 >> Используйте <Delete> для удаления текста, пока строка не поместится в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 экран снова. Символ продолжения строки исчезнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 Можно удалять символ НоваяСтрока так же, как и любой другой. Удаление символа
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 НоваяСтрока между двумя строками приведет к склейке их в одну. Если
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 результирующая строка слишком длинная, чтобы вместиться в экран, она будет
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 отображена как продолженная строка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 >> Переместите курсор в начало строки и нажмите <Delete>. Это соединит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 текущую строку и предыдущую.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 >> Нажмите <Return> для вставки символа НоваяСтрока снова, вместо
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 удаленного вами.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 Помните, что многие команды Emacs могут получать счетчик повторения;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 простые символы не исключение. Неберайте простые символы вставляя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 их по несколько за один раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 >> Попробуйте это -- наберите C-u 8 * для вставки ********.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 Теперь вы научились основному способу набрить что-нибудь в Emacs и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 исправлять ошибки. Так же вы можете удалять слова и строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 Здесь собраны операции удаления:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 <Delete> удалить символ перед курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 C-d удалить символ следующий за (над) курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 M-<Delete> Убить строку непосредственно перед курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 M-d Убить слово следующее за курсором
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 C-k Убить все от курсора до конца строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 M-k Убить все до конца предложения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 Заметьте, что <Delete> и C-d против M-<Delete> и M-d расширяют параллель
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 начатую, C-f и M-f (да, <Delete> это не реальный control-символ, но
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 не нужно волноваться об этом). C-k и M-k как и C-e и M-e, проводят
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 параллель между строками и предложениями.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 Когда вы удаляете более чем один символ сразу, Emacs сохраняет удаленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 текст, чтобы вы могли вернуть его обратно. Возврат текста, удаленного ранее,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 называют "восстановление" ("yanking"). Вы можете восстановить удаленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 текст в том же месте, или в любом другом. Вы можете восстановить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 текст несколько раз и получить много копий. Команда "восстановить" - C-y.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 Заметьте, что есть разница между "удалить" и "убить" что-нибудь. "Убитое"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 может быть восстановлено назад, а удаленное - нет. Обычно, команды, которые
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 могут убирать много текста, сохраняют его, а команды, удаляющие один символ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 или просто пустую строку, не сохраняют удаленное.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 >> Переместите курсор на начало непустой строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 Теперь нажмите C-k чтоб убить текст в этой строке.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 >> Нажмите C-k еще раз. Вы видите, что это убъет символ НоваяСтрока
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 следующий за этой строкой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 Заметьте что первое C-k убивает содержимое строки, а второе C-k убивает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 саму строку и поднимает другие строки вверх. C-k обрабатывает числовой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 аргумент специальным образом: убивает много строк _И_ их содержимое.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397 это не просто повторение. C-u 2 C-k уб`ет две строи и завершающие их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 символы НоваяСтрока; Ввод C-k дважды не сделает этого.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 Для того чтоб вернуть последний убитый текст в место расположение курсора
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 наберите C-y.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 >> Попробуйте это; наберите C-y чтоб вернуть текст назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 Думайте о C-y как о способе вернуть что-то назад, что вы потеряли.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 Помните, если вы использовали несколько C-k' в строке, все убитые строки
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 будут сохранены вместе, так, что C-y восстановит их вместе.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 >> Попробуйте это сейчас, нажмите C-k несколько раз.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 Теперь вернем этот убитый текст:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 >> Нажмите C-y. Теперь переместите курсор на несколько строк вниз, и снова
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 нажмите C-y. Сейчас вы видите как можно скопировать некоторый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 Что делать если есть некоторый текст, который вы хотите вернуть назад и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 потом убить что-то еще? C-y вернет не более чем последний удаленный текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 Но предыдущий текст не будет потерян. Вы сможете его вернуть назад используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 команду M-y. После того как вы вернули последний удаленный текст, нажмите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 M-y, и замените этот восстановленный текст тем, который был убит ранее.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 Нажатие M-y снова и снова будет возвращать все ранее и ранее убитый текст.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 Когда вы достигните искомого текста, вам не нужно делать ничего более чтоб
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 сохранить его. Просто продолжайте редактирование, оставив восстановленный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 текст там, где он есть.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 (наиболее раннее удаление).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 >> Убейте строку, покрутитесь курсором вокруг, потом удалите еще одну строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 Затем используйте C-y для восстановления второй убитой строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 Затем используйте M-y и она будет заменена первой убитой строкой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 Нажмите еще несколько раз M-y чтоб увидеть что получится. Продолжайте
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 делать это пока вторая убитая строка не вернется, и еще чуть-чуть.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 Если вам хочется, вы можете задавать для M-y положительные и отрицательны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 аргументы.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 * ОТМЕНА (UNDO)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439 ---------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 Если вы сделали изменения в тексте, и решили, что ошиблись, можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442 отменить изменения командой "отмена", C-x u.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 Обычно, C-x u отменяет изменения, сделанные одной командой; если повторить C-x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445 u несколько раз подряд, каждый раз будет отменяться еще одна команда.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 Но есть два исключения: команды которые не изменяют текст не учитываются (это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 включает команды перемещения курсора и прокрутки), и самовставляющиеся
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 (self-inserting) символы обрабатываются группами до 20. (Это уменьшает число
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 C-x u которые вы можете набрать для отмены ввода текста.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 >> Убейте эту строку используя C-k, затем наберите C-x u
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453 и она должна вернуться назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 C-_ альтернативная команда отмены; она работает также как и C-x u, но легче в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 использовании несколько раз подряд. Неудобное положение C-_ а на некоторых
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 клавиатурах делает неочевидным способ ее набора. Поэтому мы предлагаем C-x u
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458 к использованию. На некоторых терминалах, вы можете набирать C-_ нажимая / и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 удерживая клавишу CTRL.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 Числовой аргумент для C-_ или C-x u работает как счетчик повторения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 * ФАЙЛЫ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 Чтобы созданный текст можно было редактировать позже, вы должны его
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 поместить в файл. Иначе, он исчезнет когда вы выйдите из Emacs. Вы помещаете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469 ваш текст в файл "открывая" файл. (Еще это называют "прийти" в файл.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 (// в оригинале термины "finding", и "visiting")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 Открыть файл означает посмотреть его содержимое используя Emacs. Во многих
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 случаях, это происходит когда вы редактируете файл сами. Однако ваши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474 изменения, сделанные с использованием Emacs не будут зафиксированы, пока вы не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475 "сохраните" ("save") файл. Так вы можете не оставлять полуизмененный файл в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 системе, если вы не хотите этого. Даже когда вы сохраняете файл, Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477 оставляет оригинальный файл с измененным именем, чтоб вы могли позже решить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
478 что ваши изменения были ошибочны.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480 Если посмотреть в нижнюю часть экрана, вы увидите строку которая начинается с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481 тире и содержит строку "Emacs: TUTORIAL.ru". Эта часть экрана всегда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 показывает имя файла который вы открыли. Итак, сейчас вы открыли файл с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 именем "TUTORIAL.ru" который является вашей персональной копией учебника
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484 Emacs. Любой файл который вы откроете, это имя файла с добавленной маленькой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485 крапинкой. (Whatever file you find, that file's name will appear in that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 precise spot.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
488 Команды для открытия и сохранения файла в отличии от других команд, которые вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489 уже выучили, требуют двух символов. Они оба начинаются с символа Control-x.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490 Большая серия команд начинается с символа Control-x; Многие их них работают с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 файлами, буферами и похожими вещами. Это команды в два, три или четыре
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492 символа длиной.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
493
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 Следующее, что вам нужно знать о команде открытия файла - это то, что вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495 должны ввести имя файла, который нужно читать. Мы это называем команда "читающая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496 аргумент с терминала" (в этом случае, аргумент это имя файла). После ввода
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497 команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499 C-x C-f Открыть (найти) файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501 Emacs попросит вас ввести имя файла. Имя файла вы наберете в нижней строке
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502 экрана. Нижняя строка называется минибуфер, он используется для короткого
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 ввода. Вы можете использовать обычные команды редактирования Emacs для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504 редактирования имени.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506 Когда вы вводите имя файла (или любую информацию в минибуфер), вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507 отменить команду нажав C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509 >> Нажмите C-x C-f, затем нажмите C-g. Это отменит минибуфер, и команду
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510 C-x C-f которая использовала минибуфер. В итоге, вы не открыли ни одного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513 Когда вы завершите ввод имени файла, нажмите <Return>. Далее сработает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 команда C-x C-f, и откроет файл выбранный вами. Минибуфер исчезнет когда
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 команд C-x C-f завершится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517 И мгновением позже содержимое файла появится на экране, и вы сможете его
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 редактировать. Когда вы закончите редактирование, чтобы сохранить изменения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519 наберите команду
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
521 C-x C-s Сохранить файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
522
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
523 Это скопирует текс из Emacs в файл. В первый раз, когда вы это сделаете,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 Emacs переименует оригинальный файл с новым именем, чтобы он не потерялся.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
525 Новое имя получается добавлением символа "~" к оригинальному имени файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 Когда сохранение завершится, Emacs напечатает имя записанного файла.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528 Вы должны сохранять изменения достаточно часто, так чтобы не потерять
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
529 много работы если вдруг система погибнет.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
530
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531 >> Наберите C-x C-s, сохраните вашу копию учебника.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
532 Должна появиться надпись "Wrote ...TUTORIAL.ru" в нижней строке экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534 ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заморозит экран и вы не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
535 увидите последующего вывода Emacs`а. Это означает что операционная система
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536 имеет "особенность" именуемую "flow control" перехватывающую C-s и не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537 пропускающую этот символ к Emacs`у. Для разморозки экрана, нажмите C-q.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
538 Смотрите раздел "Spontaneous Entry to Incremental Search" руководства Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539 чтобы узнать как бороться с этой "особенностью".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541 Вы можете открыть существующий файл для просмотра или редактирования. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542 так-же можете найти файл, который еще не существует. Другими словами -
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543 создать файл с помощью Emacs: найти файл, создать новый, и начать вводить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544 текст. Когда вы скажите "сохрани" файл, Emacs создаст реальный файл с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
545 набранным вами текстом. Далее, как вы поняли, вы будите редактировать уже
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546 существующий файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549 * БУФЕРА
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
550 --------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552 Если вы находите второй файл с использованием C-x C-f, первый остается внутри
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553 Emacs. Вы можете переключиться назад найдя его снова C-x C-f. Это способ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 загрузить несколько файлов в Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 >> Создайте файл с именем "foo" набирая C-x C-f foo <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 Вставьте какой-нибудь текст, отредактируйте его, и сохраните "foo"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558 набрав C-x C-s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559 Наконец, наберите C-x C-f TUTORIAL.ru <Return>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 чтобы вернуться назад к учебнику.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 Emacs сохраняет текст каждого файла внутри в объекте именуемый "буфер"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563 ("buffer"). Открытие файла создает новый буфер внутри Emacs. чтобы увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 список буферов созданных в текущем Emacs наберите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
566 C-x C-b Список буферов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
568 >> Попробуйте C-x C-b сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
569
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
570 Мы видим что каждый буфер имеет имя, и может иметь имя файла, содержимое
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571 которого в нем хранится. Некоторые буфера не соответствуют файлам. Например,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572 буфер названный "*Buffer List*" не содержит никакого файла. В этом буфере
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573 содержится список буферов, который был создан командой C-x C-b. ЛЮБОЙ текст
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574 который ви видите в окне Emacs всегда является частью какого-либо буфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
575
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 >> Наберите C-x 1 чтобы избавиться от списка буферов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578 Если вы изменяете текст одного файла, потом открываете другой, то первый
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579 остается не сохраненным. Изменения останутся внутри Emacs, в файловом буфере.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
580 Создание или редактирование следующего файлового буфера не сказывается на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581 первом буфере. Это очень удобно, но имейте в виду что вам нужно иметь удобный
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582 способ сохранить первый файловый буфер. Было бы неприятно каждый раз
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
583 возвращаться назад с помощью C-x C-f и потом использовать C-x C-s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
584 Поэтому существует
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
586 C-x s Сохранить некоторые буфера. (Save some buffers)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
587
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
588 C-x s спрашивает вас о каждом буфере который содержит не сохраненные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
589 изменения. Для каждого такого буфера у вас спрашивают сохранять или не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
590 сохранять изменения.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
592 >> Вставьте строку текста, потом наберите C-x s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593 У вас должны спросить сохранять ли буфер с именем TUTORIAL.ru.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 Ответьте на вопрос да набрав "y".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 * ИСПОЛЬЗОВАНИЕ МЕНЮ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
598
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
599 Если у вас X-терминал, вы заметите полосы меню вверху экрана Emacs. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600 можете использовать это меню для доступа ко всем наиболее общим командам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601 Emacs, такие как "открыть файл" ("find file"). Вы сразу найдете что это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 просто, потому что вам не нужно запоминать сочетания клавиш необходимых для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603 доступа к каждой команды. Когда вы привыкните к Emacs, вам будите легко
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604 использовать клавиатурные команды, потому что каждом пункте меню, к которому
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605 привязана сочетание клавиш, написано это сочетание.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607 Заметим что много пунктов меню не содержат клавиатурные эквиваленты.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
608 Например, список меню со всеми доступными буферами. Вы можете переключить в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
609 любой буфер Просто найдя его имя в меню буферов (Buffers menu) и выбрав его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612 * ИСПОЛЬЗОВАНИЕ МЫШИ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613 --------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
614
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
615 Выполняемый в X, Emacs полностью интегрирован с мышью. Вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
616 позиционировать курсор нажатием левой кнопки в желаемом месте, вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
617 отмечать текст потянув мышку с нажатой левой кнопкой через ту часть, которую
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
618 хотите отметить. (Или кликнуть левой кнопкой мышки в одном конце текста,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619 затем переместиться в другой, и кликнуть еще раз, удерживая Shift чтобы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
620 отметить текст.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
621
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
622 чтобы убить некоторый выделенный текст, вы можете использовать C-w или выбрать
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623 пункт меню "Вырезать" ("Cut") из меню "Редактировать" ("Edit"). Заметьте, что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 это *не* одно и то же: C-w сохраняет текст только внутри Emacs (аналогично C-k
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625 описанного ранее), "Вырезать" ("Cut") делает это же, и помещает текст в буфер
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 обмена X (X clipboard), где он может быть доступен другим программам.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 чтобы получить текст из буфера обмена X, используйте команду "Вставить"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629 ("Insert") из меню "Редактировать" ("Edit").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631 Средняя кнопка мыши обычно используется для выбора пунктов (items), видимых на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 экране. Например, если вы вошли в Info (on-line документация Emacs) используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633 C-h i или меню Помощь (Help), вы можете следовать подсвеченным ссылкам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
634 простым нажатием средней кнопки на них. Аналогично, если вы вводите имя файла
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
635 (например в приглашении "открыть файл") и вы нажимаете TAB чтобы увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636 возможные варианты (completions), вы можете кликнуть среднюю кнопку мыши на
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
637 одном из вариантов, чтобы выбрать его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
638
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639 Правая кнопка мыши вызывает всплывающее меню (popup menu). Содержимое этого
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
640 меню изменяется в зависимости ото того где вы находитесь, и обычно содержит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
641 несколько часто используемых команд для более простого доступа к ним.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
643 >> Нажмите правую кнопку мыши сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
644
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645 Вам нужно удерживать кнопку нажатой, чтобы сохранить меню открытым.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
646 (// You will have to hold the button down in order to keep the menu up.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
647
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
649 * РАСШИРЕННЫЙ НАБОР КОМАНД
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
650 --------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
651
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
652 У Emacs очень много команд, они могут быть назначены на все control- и meta-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 символы. Emacs обходит это, используя X-команду (eXtend). Есть две
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654 возможности:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
655
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
656 C-x Символ расширения (Character eXtend).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657 За ним следуем один символ.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658 M-x Именнованые расширенные команды (Named command eXtend).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
659 За ним следует имя команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
660
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
661 Это команды которые обычно используются, но вы уже выучили некоторые из них.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662 Вы уже видели: команды работы с файлами C-x C-f - открыть, и C-x C-s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
663 сохранить. Другой пример - завершения работы с Emacs -- это команда C-x C-c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
664 (не волнуйтесь о том, что вы потеряете сделанные изменения, C-x C-c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 предлагает сохранить изменения перед тем как удалит буфер Emacs.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
667 C-z это команда *временного* выхода из Emacs -- вы можете вернуться в туже
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
668 сессию Emacs после.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
669
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670 На системах, которые допускают этого, C-z "приостанавливают" ("suspends")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 Emacs; Возвращают в оболочку (shell), но не закрывают Emacs. В большинстве
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672 оболочек вы можете продолжить работу в Emacs используя команду `fg' или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673 `%emacs'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
674
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675 В системах не поддерживающих приостанов, C-z создает новую оболочку (subshell),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
676 запущенную из-под Emacs чтобы дать вам возможность выполнить другую программу,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
677 и потом вернуться в Emacs; Это не настоящий выход из Emacs. В этом случае,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
678 команда `exit' вернет вас в Emacs из оболочки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
679
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
680 Используйте C-x C-c если вы хотите выйти (log out) из системы. Это также
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
681 используется чтобы выйти из Emacs вызванного из почтовой программы, или другой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
682 утилиты, которая может не знает как справиться с приостановленным Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
683 Обычно, таки если вы не выходите из системы, лучше приостановить Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
684 используя C-z вместо выхода их него.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
685
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
686 Очень много C-x команд. Эти вы уже выучили:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
687
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
688 C-x C-f Открыть файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
689 C-x C-s Сохранить файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
690 C-x C-b Список буферов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
691 C-x C-c Выход из Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
692 C-x u Отмена.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
693
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
694 Именованные расширенные команды используются гораздо реже, или используются
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
695 только в определенных режимах. В качестве примера команда замена строки,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
696 которая заменяет одну строку на другую во всем тексте. Когда вы наберете M-x,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697 Emacs предложит вам ввести имя команды в нижней строке экрана; в нашем случае,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
698 "replace-string". Только наберите "repl s<TAB>" и Emacs дополнит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
699 имя. Завершите имя вводом <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
700
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
701 Команда замены строки (replace-string) требует два аргумента -- строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
702 которая будет заменена, и строка на которую нужно заменить. Вы должны
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
703 завершать каждый аргумент вводом <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
704
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705 >> Переместите курсор на две пустые строки ниже этой.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
706 Наберите M-x repl s<Return>changed<Return>altered<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
707
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
708 Заметьте как эта строка изменится: вы замените слово c-h-a-n-g-e-d
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709 словом "altered" везде, где оно встретится, ниже позиции курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
712 * АВТОСОХРАНЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
713 ----------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
714
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 Когда вы модифицируете файл, но не сохраняете его, вы можете потерять
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 информацию в случае краха системы. чтобы защитить вас от этого, Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717 периодически записывает каждый файл, который вы редактируете. Автосохранение
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
718 происходит в файл, имя которого такое же, но начинается и заканчивается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
719 символом "#"; например, если ваш файл называется "hello.c", то
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720 автосохраненный файл будет называться "#hello.c#". Когда вы сохраните файл
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721 обычным способом. Emacs удалит автосохраненный файл.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
722
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
723 Если система подвисает, вы можете восстановить ваши изменения который были
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 сохранены автоматически, путем открытия нормального файла (файла который вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725 редактировали, не автосохраненного) и затем набрать M-x recover file<return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726 Когда у вас спросят подтверждение, наберите yes<return> чтобы восстановить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 автосохраненные данные.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
730 * ОБЛАСТЬ ЭХО (ECHO AREA)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 -------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733 Если Emacs видит что вы медленно набираете команды, он показывает их вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
734 внизу экрана, в области называемой "область эхо". Область эхо это нижняя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
735 строка экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
736
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
737
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738 * СТРОКА СОСТОЯНИЯ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739 ------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
740
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
741 Строка сразу над областью эхо называется "строка состояния".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742 Выглядит эта строка примерно так:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
743
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
744 --**-XEmacs: TUTORIAL.ru (Fundamental)--L670--66%----------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
745
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
746 Эта строка сообщает полезную информацию о состоянии Emacs и текста, который
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
747 вы редактируете.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
748
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
749 Вы уже знаете что означает имя файла - это файл, который вы открыли. -NN%--
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
750 показывает текущую позицию курсора в тексте; это означает что NN процентов
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
751 текста выше чем начало экрана. Если первая строка находится в первой строке
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
752 экрана, вы там увидите --Top-- вместо --00%--. Если последняя строка
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 отображается на экране, там будет --Bot--. Если текст настолько мал, что весь
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754 вмещается в экран, строка состояния сообщит --All--.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
755
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
756 Звездочки в начале строки означают что вы изменяли текст. Как только вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
757 открыли или сохранили файл, эта часть строки будет содержать не звездочки, а
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
758 тире.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
759
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
760 Часть строки статуса внутри скобочек сообщает вам режим редактирования,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
761 которым вы пользуетесь. Стандартный режим - Fundamental, его вы используете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
762 и сейчас. Это пример "основного режима" ("major mode").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
763
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
764 Emacs имеет много различных основных режимов. Некоторые из режимов означают,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
765 что вы редактируете текст на различном языке и/или различные виды текста,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
766 такие как Lisp-режим, Text-режим и пр. В любое время только один основной
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
767 режим активирован, и его название вы можете найти в скобочках, где сейчас
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
768 находится слово "Fundamental" (базовый).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
770 Каждый основной режим имеет несколько отличительных команд. Например, команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
771 создания комментария в программе, и поскольку в каждом языке программирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
772 комментарии записываются по-своему, каждый основной режим вставляет их
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
773 по-разному. Каждый основной режим имеет именованную команду, которая включает
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
774 его. Например, M-x fundamental-mode - команда, которая переключает в базовый
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
775 (Fundamental) режим.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
776
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
777 Если вы редактируете английский текст, например как этот (//конечно не именно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
778 этот, а TUTORIAL) файл, вы вероятно должны переключиться в Text-режим.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
779
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
780 >> Наберите M-x text-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
781
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
782 Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
783 можите заметить, что M-f и M-b теперь различать апострофы как части слова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
784 Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали апострофы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
785 как разделители слов.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
786
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
787 Основной режим обычно делает небольшие изменения, такие как: большинство
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
788 команд делают "туже работу" в каждом из режимов, но их работа отличается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
789 какой-нибудь мелочью.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
790
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
791 Для просмотра документации о вашем текущем основном режиме, нажмите C-h m.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
792
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
793 >> Используйте C-u C-v один раз или более, чтобы расположить эту строку ближе
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
794 к верху экрана.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
795 >> Наберите C-h m, что посмотреть отличия Text-режима от базового.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
796 >> Наберите q чтобы убрать документацию с глаз долой :)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
797
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
798 Основной режим называется основным потому, что есть несколько дополнительных
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
799 (minor) режимов. Дополнительные режимы не альтернативы к основным, они только
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
800 чуть-чуть модифицируют их. Каждый дополнительный режим включается/выключается
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
801 независимо от других дополнительных режимов, и независимо от вашего основного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
802 режима. Вы можете использовать основной режим без дополнительных, или с любой
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
803 их комбинацией.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
804
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805 Один из дополнительных режимов очень полезен, особенно для редактирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 английского текста - это режим автозаполнения (Auto Fill mode). Когда этот
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
807 режим включен, Emacs разрывает строки между словами автоматически, когда вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
808 вставляете текст и делаете строки слишком длинными.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
809
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
810 Вы можете включить режим автозаполнения набрав M-x auto-fill-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 Когда этот режим включен, его можно выключить - M-x auto-fill-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
812 Если режим включен - команда его выключит, если выключен - включит. Мы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
813 называем это команда "переключения режима".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
815 >> Наберите M-x auto-fill-mode<Return>. Затем вставляйте строку
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
816 из "фыва " пока не увидите как она разделится на две строки.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817 Вы должны помещать пробелы между словами, потому что режим автозаполнения
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818 разделяет строки только по пробелам.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
819
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
820 Граница обычно выставлена на 70-ти символах, но вы можете изменить ее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
821 используя команду C-x f. Вы должны задать границу в виде числового аргумента
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
822 для этой команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
823
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
824 >> Введите C-x f с аргументом 20. (C-u 2 0 C-x f).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
825 затем вводите какой-нибудь текст, и смотрите как Emacs заполняет линии
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
826 по 20 символов в каждой. Верните значение границы 70 назад, используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
827 C-x f снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
828
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829 Если вы сделали изменения в середине параграфа, автозаполнение не перестроит
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
830 текст для вас. Чтобы перестроить параграф, наберите M-q (Meta-q) в то время,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
831 когда курсор будет внутри параграфа.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833 >> Переместите курсор в предыдущий параграф, и нажмите M-q.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
834
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
835
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
836 * ПОИСК
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
837 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
838
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 Emacs умеет искать строки (это непрерывные группы символов или слова) вперед
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
840 по тексту, или назад. Поиск строки это команда перемещения курсора; она
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
841 перемещает курсор в следующую точку, где найдена искомая строка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
842
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
843 Команда поиска Emacs отличаются от аналогичных команд большинства других
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
844 редакторов тем, что она инкрементальная. Это означает что поиск происходит по
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845 мере того как вы набираете искомую строку.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 Команда, начинающая поиск вперед - C-s, и C-r ищет назад.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 ПОДОЖДИТЕ! Не нужно пробовать это прямо сейчас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850 Когда вы нажмете C-s вы увидите строку "I-search", появившуюся в области эхо.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
851 Вам сообщается что Emacs ждет ввода слова, которое вы хотите найти.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
852 <Return> завершает поиск.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854 >> Теперь, нажмите C-s для начала поиска. Медленно, одну букву за один раз,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 набирайте слово, 'курсор', останавливаясь после каждой введенной буквы,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
856 замечая что происходит с курсором.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
857 Сейчас вы нашли первое вхождение слова "курсор".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
858 >> Нажмите C-s снова, чтобы найти следующее вхождение слова "курсор".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859 >> Теперь нажмите <Delete> четыре раза и проследите за перемещениями курсора.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 >> Нажмите <RET> для завершения поиска.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
861
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
862 Вы видели что происходило? Emacs, в режиме инкрементального поиска, пытался
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
863 переходить к строкам совпадающим с набираемой вами, подсвечивая их для вас.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 чтобы перейти к следующему вхождения слова 'курсор' просто нажмите C-s снова.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865 Если больше нет вхождений, Emacs издаст звуковой сигнал, и скажет что ваш
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
866 поиск не удался ("failing"), C-g то же толжен отменить поиск.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
867
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868 ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заморозит экран и вы не увидите
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
869 последующего вывода Emacs`а. Это означает что операционная система имеет
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
870 "особенность" именуемую "flow control" перехватывающую C-s и не пропускающую
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
871 этот символ к Emacs`у. Для разморозки экрана, нажмите C-q. Смотрите раздел
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
872 "Spontaneous Entry to Incremental Search" руководства Emacs чтобы узнать как
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
873 бороться с этой "особенностью".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
874
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
875 Если вы во время инкрементального поиска нажмете <Delete>, вы можете заметить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 что последний символ в искомой строке удалился, и поиск вернулся к предыдущему
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 найденному месту. Например, предположим вы набрали "c", поиск перейдет к
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
878 первому вхождению символа "c". Теперь если вы наберете "u", курсор перейдет к
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879 первому вхождению "cu". Нажатие <Delete> удалит символ "u" их строки поиска, и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
880 курсор вернется к первому вхождению "c".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
881
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
882 Если вы во время поиска введете control- или meta- символ (за некоторыми
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
883 исключениями -- символы вызывающие поиск, а именно C-s и C-r), поиск
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884 прекратится.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 C-s начинает поиск и смотрит на любые вхождения искомой строки ПОСЛЕ текущей
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
887 позиции курсора. Если вы хотите найти что-то ранее в тексте, нажмите C-r. Все
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
888 что мы говорили о C-s применимо и к C-r, за исключением противоположного
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
889 направления поиска.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
890
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
891
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
892 * МНОГО ОКОН (MULTIPLE WINDOWS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
893 -------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
894
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
895 Одна из приятных особенностей Emacs это то, что вы можете отображать более чем
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
896 одно окно на экране одновременно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
897
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
898 >> Переместите курсор на эту линию, и наберите C-u 0 C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
899
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
900 >> Теперь, наберите C-x 2, что разделит экран на два окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
901 Оба окна отображают учебник. Курсор остался в верхнем окне.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
902
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
903 >> Нажмите C-M-v для прокрутки нижнего окна.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
904 (если у вас нет настоящей кнопки Meta (Alt), нажмите ESC C-v.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
905
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
906 >> Нажмите C-x o ("o" от слова "other" - другое) для перемещения курсора в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
907 нижнее окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
908 >> Используйте C-v и M-v в нижнем окне что прокручивать его.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
909 Продолжите чтение этих инструкций в верхнем окне.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
910
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
911 >> Нажмите C-x o снова чтобы переместить курсор назад в верхнее окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
912 Курсор в верхнем окне там же, где и был до того.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
913
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
914 Вы можете продолжать переключаться между окнами, используя C-x o. Каждое окно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
915 хранит свою позицию курсора, но только одно показывает курсор. Все обычные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
916 команды редакции применяются к окну, в котором отображается курсор.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
917 Мы называем его "выбранное окно" ("selected window").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
918
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
919 Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, и
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
920 используете второе в качестве справочника. Вы можете всегда сохранять курсор
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
921 в окне редактирования и последовательно продвигаться во втором, используя
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
922 C-M-v.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
923
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
924 C-M-v пример CONTROL-META символа. Если у вас есть настоящая кнопка META
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
925 (Alt), вы можете набрать C-M-v нажав одновременно CTRL и META и не отпуская
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
926 нажать v. И не важно кто будет нажат первым, CTRL или META, потому что эти
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
927 кнопки модифицируют тип символа.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
928
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
929 Если у вас нет настоящей кнопки META, и вы используете ESC вместо нее,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
930 порядок должен быть следующим: вы должны нажать ESC а следом CTRL-v;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
931 CTRL-ESC v не будет работать. Потому, что ESC имеет свой собственный символ,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
932 это не модифицирующая кнопка.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
933
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
934 >> Нажмите C-x 1 (в верхнем окне) чтобы избавиться от нижнего.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
935
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
936 (Если вы нажали C-x 1 в нижнем окне, то вы избавились от верхнего. Понимайте
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
937 эту команду как "Оставить только одно окно, то в котором я сейчас нахожусь").
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
938
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
939 Вам не нужно отображать один и тот же буфер в обоих окнах. Если вы используете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
940 C-x C-f чтобы открыть файл в одном окне, другое останется без изменения. Вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
941 можете открывать файлы в каждом окне независимо.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
942
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
943 Есть другой путь использовать два окна отображающих разные файлы:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
944
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
945 >> Наберите C-x 4 C-f затем имя одного и ваших файлов. Завершите <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
946 Посмотрите что выбранный файл появился в нижнем окне. Курсор перешел
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
947 туда же.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
948
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
949 >> Наберите C-x o чтобы вернуться в верхнее окно, и C-x 1 чтобы удалить нижнее
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
950 окно.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
951
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
952
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
953 * РЕКУРСИВНЫЕ УРОВНИ РЕДАКТИРОВАНИЯ (RECURSIVE EDITING LEVELS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
954 --------------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
955
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
956 Иногда вы будете включать так называемые "рекурсивные уровни редактирования".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
957 На это указывают прямоугольные скобочки в строке состояния, окружающие обычные
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
958 скобки вокруг имени основного режима. Например вы можете увидеть
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
959 [(Fundamental)] вместо (Fundamental).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
960
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
961 чтобы выйти из рекурсивных уровней редактирования, нажмите ESC ESC ESC.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
962 Это многоцелевая команда "выход". Вы так же можете использовать ее для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
963 уничтожения лишних окон, и выхода из минибуфера.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
964
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
965 >> Нажмите M-x чтобы попасть в минибуфер; затем нажмите ESC ESC ESC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
966 чоб выйти.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
967
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
968 Вы не можете использовать C-g чтобы уйти из рекурсивных уровней редактирования.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
969 Потому что C-g используется для отмены команды и аргументов БЕЗ рекурсивных
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
970 уровней редактирования.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
971
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
972
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
973 * КАК ПОЛУЧИТЬ ПОМОЩЬ (GETTING MORE HELP)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
974 -----------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
975
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
976 В этом учебнике мы попытались снабдить вас только той информацией, которая
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
977 поможет начать использовать Emacs. Очень много информации доступно в
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
978 Emacs, и невозможно всю ее представить здесь. Однако, вы можете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
979 выучить больше возможностей Emacs, узнать другие полезные особенности. Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
980 предоставляет команды для чтения документации о командах Emacs. Эти команды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
981 "помощи" ("help") все начинаются с символа Control-h, который является
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
982 "символом помощи".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
983
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
984 чтобы использовать особенности Помощи, нажмите C-h, и затем символ, который
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
985 расскажет какой именно вид помощи вы хотите получить. Если вы ДЕЙСТВИТЕЛЬНО
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
986 растерялись, наберите C-h ? и Emacs расскажет вам какую помощь он может вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
987 предоставить. Если вы нажали C-h и передумали обращаться к помощи, просто
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
988 нажмите C-g чтобы отменить эту команду.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
989
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
990 (Кое-где переназначают символ C-h. Реальной необходимости в этом нет,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
991 сообщите о ней системному администратору. Тем временем, если C-h не
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
992 вызывает сообщение помощи внизу экрана, попробуйте набрать M-x help RET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
993 вместо этого.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
994
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
995 Самая основная возможность ПОМОЩИ - C-h c. Нажмите C-h, затем c, и символ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
996 команды или последовательность, и Emacs отобразит очень краткое описание
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
997 команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
998
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
999 >> Нажмите C-h c Control-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1000 Сообщение должно выглядеть примерно так
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1001
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1002 C-p runs the command previous-line
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1003 (C-p выполняет команду previous-line {предыдущая-линия})
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1004
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1005 Вам сообщают "имя функции". Имена функции используются в основном для
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1006 настройки и расширения Emacs. Имена функций выбраны так, чтобы показать что
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1007 именно команда делает, так же они позволяют с помощью этой краткой информации
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1008 легче запомнить уже выученные команды.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1009
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1010 Многосимвольные команды, такие как C-x C-s и (если у вас нет кнопки META или
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1011 EDIT или ALT) <ESC>v так же будут доступны после C-h c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1012
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1013 Получите больше информации о команде используя C-h k вместо C-h c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1014
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1015 >> Наберите C-h k Control-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1016
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1017 Вы увидите описание функции, а также ее имя в отдельном окне Emacs. Когда вы
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1018 завершите чтение, нажмите q чтобы избавиться от текста помощи.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1019
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1020 Есть еще несколько полезных опций C-h:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1021
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1022 C-h f Описывает функцию. Вам необходимо набрать имя функции.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1023
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1024 >> Попробуйте набрать C-h f previous-line<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1025 Это распечатает информацию Emacs о этой функции, которая выполняется
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1026 командой C-p.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1027
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1028 C-h a Hyper Apropos. Введите ключевое слово и Emacs покажет вам
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1029 список всех функций и переменных, имена которых содержат это
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1030 слово. Команды, которые могут быть вызваны через Meta-x,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1031 будут отмечены звездочкой слева.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1032
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1033 >> Наберите C-h a newline<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1034
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1035 это отобразит полный список функций и переменных имена которых начинаются с
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1036 "newline". Нажмите <Return> или кликните средней кнопкой мышки чтобы получить
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1037 больше о функции или переменной. Нажмите `q' чоб выйти из hyper-apropos.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1038
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1039
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1040 * ЗАКЛЮЧЕНИЕ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1041 ------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1042
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1043 Запомните, чтобы выйти из Emacs насовсем используйте C-x C-c. чтобы временно
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1044 выйти в оболочку (shell) и потом вернуться обратно, используйте C-z.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1045 (в X, это свернет текущее окно Emacs в иконку.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1046
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1047 Этот учебник должен быть понятен всем новым пользователям, если вы найдете
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1048 что-нибудь неясное, не нужно сидеть и порицать себя - жалуйтесь!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1049
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1050
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1051 COPYING
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1052 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1053
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1054 Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1055 написанного by Stuart Cracraft для оригинального Emacs. Ben Wing подправил
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1056 учебник для X Windows. Martin Buchholz и Hrvoje Niksic добавили много
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1057 исправлений для XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1058
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1059 Эта версия учебника, как и GNU Emacs, защищена правами копирования
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1060 (copyrighted), и приходит с ограничениями распространения копий со
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1061 следующими соглашениями:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1062
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1063 Copyright (c) 1985, 1996 Free Software Foundation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1064
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1065 Permission is granted to anyone to make or distribute verbatim copies
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1066 of this document as received, in any medium, provided that the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1067 copyright notice and permission notice are preserved,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1068 and that the distributor grants the recipient permission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1069 for further redistribution as permitted by this notice.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1070
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1071 Permission is granted to distribute modified versions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1072 of this document, or of portions of it,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1073 under the above conditions, provided also that they
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1074 carry prominent notices stating who last altered them.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1075
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1076 Условия копирования самого Emacs более сложные, но в том же духе.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1077 Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs ваши
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1078 друзьям. Help stamp out software obstructionism ("ownership") by using,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1079 writing, and sharing free software!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1080
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1081 // замечания, исправления ошибок с нетерпением жду по адресу bor@vb.dn.ua
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1082 // Vladimir Bormotov.