mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-16 09:50:25 +00:00
1086 lines
46 KiB
Ruby
1086 lines
46 KiB
Ruby
Учебник Emacs. Условия распространения смотрите в конце файла
|
||
Copyright (c) 1985, 1996, 2004 Free Software Foundation, Inc.
|
||
|
||
Для управления Emacs обычно используется ключ (сочетание клавиш клавиатуры
|
||
и/или кнопок мыши), включающий в себя клавишу CONTROL (иногда отмечаемая
|
||
как CTRL или CTL) или клавишу META (иногда помеченную как ALT или EDIT). В
|
||
дальнейшем вместо того, чтобы каждый раз писать META или CONTROL, мы будем
|
||
использовать следующее сокращение:
|
||
|
||
C-<chr> следует удерживать клавишу CONTROL, пока набирается символ <chr>.
|
||
Так, C-f должно означать: нажать клавишу CONTROL и f.
|
||
M-<chr> следует удерживать клавишу META, пока набирается символ <chr>. Если
|
||
нет клавиши META, ALT или EDIT, то нажмите <ESC>, отпустите ее,
|
||
а потом наберите символ <chr>.
|
||
|
||
Важное замечание: для завершения сеанса Emacs, наберите C-x C-c. (Два
|
||
символа). Символы ">>" с левой стороны указывают, что вам нужно делать,
|
||
чтобы применить команду. Например:
|
||
<<Середина страницы оставлена пустой для учебных целей. Текст продолжается ниже>>
|
||
>> Теперь нажмите C-v (Просмотр следующего экрана) для перемещения на
|
||
следующий экран. (Выполните это, удерживая клавишу CONTROL нажимая v).
|
||
Теперь вы должны это сделать еще раз, когда закончите читать экран.
|
||
|
||
Обратите внимание на то, что, пока вы движетесь с экрана на экран,
|
||
перекрываются две строчки; это обеспечивает некоторую непрерывность, так
|
||
что вы можете продолжить читать текст.
|
||
|
||
Первое, что вам необходимо знать -- как передвигаться по тексту из одного
|
||
места в другое. Вы уже знаете, как переместиться вперед один экран,
|
||
используя ключ C-v. Для перемещения назад на один экран, нажмите M-v
|
||
(удерживайте клавишу META и наберите v, или нажмите <ESC>v, если у вас нет
|
||
клавишы META, EDIT, или ALT).
|
||
|
||
>> попробуйте набрать M-v и потом C-v, несколько раз.
|
||
|
||
|
||
* КРАТКАЯ СВОДКА
|
||
----------------
|
||
|
||
Для просмотра используются следующие команды:
|
||
|
||
C-v Перейти на один экран вперед
|
||
M-v Перейти на один экран назад
|
||
C-l Очистить экран и отобразить все заново, разместив
|
||
текст, находящийся возле курсора, в центре экрана.
|
||
(Это CONTROL-L, а не CONTROL-1.)
|
||
|
||
>> Найдите курсор, и запомните текст возле него. Потом нажмите C-l.
|
||
Найдите курсор снова и убедитесь, что возле него все тот же текст.
|
||
|
||
|
||
* БАЗОВЫЕ КОМАНДЫ УПРАВЛЕНИЯ КУРСОРОМ
|
||
-------------------------------------
|
||
|
||
Движение от экрана к экрану удобно, но как переместиться в определенное
|
||
место текста на экране?
|
||
|
||
Есть несколько способов сделать это. Основной способ -- использовать команды
|
||
C-p, C-b, C-f и C-n. Каждая из этих команд передвигает курсор на одну
|
||
строку или колонку на экране в определенном направлении. Эта таблица
|
||
показывает четыре команды и четыре направления их движения:
|
||
|
||
Предыдущая строка, C-p
|
||
:
|
||
:
|
||
Назад, C-b .... Текущая позиция курсора .... Вперед, C-f
|
||
:
|
||
:
|
||
Следующая строка, C-n
|
||
|
||
>> Переместите курсор на строку рядом с диаграммой, используя C-n или C-p.
|
||
Потом, нажмите C-l и посмотрите как диаграмма разместится в центре
|
||
экрана.
|
||
|
||
Вам будет несложно запомнить эти команды по буквам -- B-назад (backward) и
|
||
F-вперед (forward). Это основные команды позиционирования курсора, которыми
|
||
Вы будете пользоваться ВСЕГДА, так что будет неплохо их выучить.
|
||
|
||
>> Нажмите несколько раз C-n, чтобы опустить курсор вниз на эту строку.
|
||
|
||
>> Переместитесь по строке, используя C-f и потом поднимитесь вверх с
|
||
помощью C-p. Посмотрите, как изменилось положение курсора при нажатии
|
||
С-р, если он находился в середине строки.
|
||
|
||
Каждая строка текста завершается символом перевода строки (Newline
|
||
character), который отделяет ее от следующей строки. Последняя строка в
|
||
вашем файле должна бы тоже завершаться символом перевода строки (но Emacs не
|
||
требует этого).
|
||
|
||
>> Попробуйте использовать C-b в начале строки. Курсор должен переместиться
|
||
на конец предыдущей строки. Это происходит потому, что он движется назад
|
||
через символ перевода строки.
|
||
|
||
C-f может перемещать курсор через символ перевода строки так же, как и C-b.
|
||
|
||
>> Попробуйте несколько раз применить C-b так, чтобы Вы увидели, как
|
||
движется курсор. Далее используйте C-f чтобы вернуться на конец
|
||
строки. Нажмите C-f еще раз, чтобы перейти к началу следующей строки.
|
||
|
||
Когда вы перемещаетесь за верхний или нижний край экрана, текст, находящийся
|
||
за экраном, сдвигается внутрь экрана. Это называется "прокрутка
|
||
(scrolling)". Прокрутка позволяет Emacs'у перемещать курсор в нужное место
|
||
текста без перемещения его за пределы экрана.
|
||
|
||
>> Попробуйте переместить курсор за нижнюю границу экрана, используя C-n, и
|
||
посмотрите, что изменится.
|
||
|
||
Если посимвольное перемещение слишком медленно, Вы можете двигаться по
|
||
словам. M-f (META-f) перемещает вперед на слово, а M-b назад на слово.
|
||
|
||
>> Нажмите несколько раз M-f и M-b.
|
||
|
||
Если курсор находится в середине слова, M-f переместит его в конец слова.
|
||
Если курсор находится между словами, M-f переместит его в конец следующего
|
||
слова. M-b работает точно так же, но в противоположном направлении.
|
||
|
||
>> Нажмите M-f и M-b несколько раз, перемежая их с C-f и C-b -- так вы
|
||
сможете заметить действия M-f и M-b из разных позиций в словах и между
|
||
ними.
|
||
|
||
Отметьте параллель между C-f и C-b с одной стороны, и M-f и M-b с
|
||
другой. Очень часто Meta-символы используются для соответствующих операций
|
||
над единицами, определенными в языке (слова, предложения, абзацы), тогда как
|
||
Control-символы работают с основными единицами, независимо от того, что Вы
|
||
редактируете (символы, строки, и т.д.).
|
||
|
||
Эта параллель существует между строками и предложениями: C-a и C-e
|
||
перемещает курсор в начало и конец строки, а M-a и M-e перемещает курсор в
|
||
начало и конец предложения.
|
||
|
||
>> Попробуйте нажать пару раз C-a, и потом пару раз C-e. Попробуйте пару
|
||
раз нажать M-a, после этого пару раз нажать M-e.
|
||
|
||
Посмотрите, что повтор C-a ничего не изменяет, а повтор M-a продолжает
|
||
движение курсора к следующему предложению. Это не сохраняет аналогию, но
|
||
выглядит естественно.
|
||
|
||
Положение курсора в тексте также называют "точкой вставки". Скажем иначе:
|
||
курсор показывает место на экране в какой точке будет расположен вводимый
|
||
текст.
|
||
|
||
Здесь собраны простые команды перемещения курсора, включая движение по
|
||
словам и предложениям:
|
||
|
||
C-f На символ вперед
|
||
C-b На символ назад
|
||
|
||
M-f На слово вперед
|
||
M-b На слово назад
|
||
|
||
C-n На следующую строку
|
||
C-p На предыдущую строку
|
||
|
||
C-a В начало строки
|
||
C-e В конец строки
|
||
|
||
M-a Назад, в начало предложения
|
||
M-e Вперед, в конец предложения
|
||
|
||
>> Попробуйте сейчас на практике применить несколько раз все эти команды.
|
||
Это наиболее используемые команды.
|
||
|
||
Две другие важные команды движения курсора M-< (META Less-then
|
||
{Меньше-Чем}), которая перемещает курсор в начало текста, и M-> (META
|
||
Greater-than {Больше-Чем}), которая перемещает курсор в конец текста.
|
||
|
||
На большинстве терминалов знак "<" находится над знаком точки, и чтобы
|
||
набрать его, вы должны использовать клавишу Shift. На этих терминалах вы так
|
||
же должны использовать Shift, чтобы набрать M-< (без удержания клавиши Shift
|
||
вы наберете M-точка).
|
||
|
||
>> Сейчас попробуйте M-<, чтобы переместиться в начало учебника. Потом
|
||
используйте C-v, чтобы вернуться назад.
|
||
|
||
>> Сейчас попробуйте M->, чтобы переместиться к концу учебника. Используйте
|
||
M-v, чтобы вернуться снова.
|
||
|
||
Курсор можно перемещать клавишами управления курсора (стрелками), если ваш
|
||
терминал оборудован ими. Мы рекомендуем выучить C-b, C-f, C-n и C-p по трем
|
||
причинам. Во-первых, они работают на любых терминалах. Во-вторых, однажды
|
||
получив практику использования Emacs, вы поймете, что использовать
|
||
CTRL-символы удобнее и быстрее, чем кнопки со стрелочками (потому что вы не
|
||
убираете руки с обычного их положения при печати). В-третьих, как только вы
|
||
привыкните использовать CTRL-символы, вы сможете так же легко выучить и
|
||
использовать другие, расширенные команды перемещения курсора.
|
||
|
||
Большинство команд Emacs допускают задание цифрового аргумента; для
|
||
большинства команд, это служит счетчиком повторений. Чтобы задать счетчик
|
||
повторений для команды, нажмите C-u, потом число повторений, и укажите
|
||
команду. Если у вас есть клавиша META (или EDIT или ALT), то цифровой
|
||
аргумент можно задать другим способом: наберите цифры, удерживая клавишу
|
||
META. Мы рекомендуем освоить использование C-u, поскольку эта
|
||
последовательность клавиш работает на любом терминале. Числовой аргумент
|
||
также называется "префиксным аргументом", поскольку вы набираете аргумент до
|
||
выполнения команды.
|
||
|
||
Например, C-u 8 C-f переместит курсор на восемь символов вперед.
|
||
|
||
>> Попробуйте использовать C-n или C-p с цифровым аргументом, чтобы
|
||
переместить курсор на строку рядом с этой командой.
|
||
|
||
Многие команды используют числовой аргумент как счетчик повторений, но
|
||
некоторые команды используют его другим способом. Некоторые команды (но ни
|
||
одна из них не была еще изучена здесь) используют его как флаг -- наличие
|
||
префиксного аргумента вне зависимости от его значения, изменяет поведение
|
||
команды.
|
||
|
||
Другим видом исключений являются ключи C-v и M-v. При получении числового
|
||
аргумента, они прокручивают экран вверх или вниз на указанное число строк,
|
||
вместо такого же числа экранов. Например, C-u 8 C-v прокрутит экран на 8
|
||
строк.
|
||
|
||
>> Сейчас попробуйте комбинацию C-u 8 C-v.
|
||
|
||
Эта команда должна прокрутить экран на 8 строк вверх. Если вы хотите
|
||
прокрутить его вниз, можете задать аргумент для M-v.
|
||
|
||
Если вы используете оконную систему, такую как X11 или MS-Windows, должна
|
||
быть прямоугольная область, именуемая полосой прокрутки с левой стороны окна
|
||
Emacs. Вы можете прокручивать текст, используя манипулятор мышь.
|
||
|
||
>> Попробуйте перемещать мышь при нажатой средней кнопке мыши. Вы увидите
|
||
как текст прокручивается вверх и вниз.
|
||
|
||
|
||
* УПРАВЛЕНИЕ КУРСОРОМ НА X-ТЕРМИНАЛЕ
|
||
------------------------------------
|
||
|
||
Если у вас X-терминал, то вам, вероятно, для управления курсором покажется
|
||
более легким использовать клавиши на цифровой клавиатуре (справа). Стрелки
|
||
влево, вправо, вверх и вниз передвигают курсор в ожидаемом направлении; они
|
||
работают точно также как C-b, C-f, C-p и C-n, но легче в наборе и
|
||
запоминании. Вы так же можете использовать сочетания C-left и C-right для
|
||
передвижения по словам, и C-up и C-down для передвижения по блокам (т.е.
|
||
параграфам, если вы редактируете текст). Если у вас есть кнопки помеченные
|
||
HOME (или BEGIN) или END, то они будут перемещать курсор в начало и конец
|
||
строки, соответственно, и C-home и C-end будут перемещать в начало и конец
|
||
файла. Если на вашей клавиатуре есть кнопки PgUp и PgDn, то вы можете их
|
||
использовать для перемещения вверх и вниз поэкранно, также как и M-v и C-v.
|
||
|
||
Все эти команды могут получать цифровой аргумент, как рассказано выше. Вы
|
||
можете использовать ускоренный способ ввода этого аргумента: просто нажмите
|
||
CONTROL или META и наберите число. Например, для перемещения на 12 слов
|
||
вправо, наберите C-1 C-2 C-right. Запомните что так очень легко набирать,
|
||
потому что вы не отпускаете кнопку CONTROL между нажатиями.
|
||
|
||
|
||
* ЕСЛИ EMACS ЗАВИС
|
||
------------------
|
||
|
||
Если Emacs перестал реагировать на ваши команды, вы можете остановить это,
|
||
просто нажав C-g. Вы можете использовать C-g, чтобы остановить выполнение
|
||
команды, которая слишком долго выполняется.
|
||
|
||
Вы также можете использовать C-g для отмены цифрового аргумента или начатой
|
||
команды, которую вы не хотите завершать.
|
||
|
||
>> Наберите C-u 100 для задания аргумента 100, потом нажмите C-g. Теперь
|
||
нажмите C-f. Курсор должен переместиться всего на один символ, потому что
|
||
вы отменили аргумент нажатием C-g.
|
||
|
||
Если вы нажали <ESC> по ошибке, вы так же можете избавиться от этого
|
||
нажатием C-g.
|
||
|
||
|
||
* ЗАПРЕЩЕННЫЕ КОМАНДЫ (DISABLED COMMANDS)
|
||
-----------------------------------------
|
||
|
||
Некоторые команды Emacs "запрещены", поскольку начинающие пользователи могут
|
||
их случайно использовать.
|
||
|
||
Если вы набрали одну из запрещенных команд, то Emacs покажет сообщение
|
||
говорящее о том, какая команда вызывается, и спросит, хотите ли вы
|
||
продолжить и выполнить эту команду.
|
||
|
||
Если вы действительно хотите попробовать выполнить команду, то нажмите
|
||
клавишу Пробел (Space) в ответ на этот вопрос. Обычно, если вы не хотите
|
||
выполнять запрещенную команду, то отвечайте на вопрос нажатием клавиши "n".
|
||
|
||
>> Нажмите `C-x C-l' (выключенная команда), потом ответьте "n" на вопрос.
|
||
|
||
|
||
* ОКНА
|
||
------
|
||
|
||
Emacs может иметь несколько окон, каждое из которых отображает свой текст.
|
||
Мы объясним позже как использовать множество окон. Прямо сейчас мы хотим
|
||
объяснить как избавляться от лишних окон и вернуться к редактированию в
|
||
одном окне. Выполнить это очень просто:
|
||
|
||
C-x 1 Одно окно. (закрыть все другие окна).
|
||
|
||
Это CONTROL-x со следующей цифрой 1. C-x 1 развернет окно, которое содержит
|
||
курсор, так, чтобы оно заняло весь экран. При этом будут удалены все
|
||
остальные окна.
|
||
|
||
>> Переместите курсор на эту строку и нажмите C-u 0 C-l.
|
||
|
||
>> Наберите CONTROL-h k CONTROL-f.
|
||
Посмотрите, как текущее окно сожмется, когда новое
|
||
появится и отобразит документацию на команду CONTROL-f.
|
||
|
||
>> Наберите C-x 1 и посмотрите, как окно с документацией исчезнет.
|
||
|
||
Эта команда отличается от других команд, которые вы изучили, тем, что она
|
||
состоит из двух символов. Она начинается со знака CONTROL-x. Есть целый
|
||
набор команд, которые начинаются с CONTROL-x; многие из них работают с
|
||
окнами, буферами, файлами и аналогичными вещами. Эти команды имеют длину 2,
|
||
3 или 4 знака.
|
||
|
||
|
||
* ВСТАВКА И УДАЛЕНИЕ
|
||
--------------------
|
||
|
||
Если вы хотите вставить текст, просто наберите текст. Символы, которые вы
|
||
можете видеть, такие как A, 7, *, и пр. понимаются Emacs'ом как текст и
|
||
вставляются немедленно. Нажмите <Return> (кнопка перевода каретки) для
|
||
вставки символа новой строки.
|
||
|
||
Вы можете удалить последний набранный символ нажимая клавишу
|
||
<Delete>. Клавиша <Delete> на клавиатуре может быть обозначена как "Del". В
|
||
некоторых случаях, клавиша "Backspace" работает как <Delete>, но не всегда!
|
||
|
||
В основном, <Delete> удаляет символ непосредственно перед текущей позицией
|
||
курсора.
|
||
|
||
>> Попробуйте выполнить это сейчас -- наберите несколько символов, потом
|
||
удалите их нажимая <Delete> несколько раз. Не волнуйтесь об изменениях
|
||
этого файла; вы не изменяете главный учебник. Это ваша личная копия
|
||
учебника.
|
||
|
||
Когда строка текста становится слишком большой для строки экрана, строка
|
||
текста "продолжается" на следующей строке экрана. Символ "обратное деление"
|
||
("\") (или если вы используете оконную систему, то маленькая изогнутая
|
||
стрелка) с правой границы показывает, что строка будет продолжена.
|
||
|
||
>> Вводите текст, пока не достигните правой границы, и продолжайте
|
||
вставку. Вы увидите, как появится символ продолжения строки.
|
||
|
||
>> Используйте <Delete> для удаления текста, пока строка не поместится в
|
||
экран снова. Символ продолжения строки исчезнет.
|
||
|
||
Можно удалять символ новой строки точно так же, как и любой другой. Удаление
|
||
символа новой строки между двумя строками приведет к склейке их в одну. Если
|
||
полученная строка слишком длинная, чтобы вместиться в экран, она будет
|
||
отображена как продолженная строка.
|
||
|
||
>> Переместите курсор в начало строки и нажмите <Delete>. Это соединит
|
||
текущую строку с предыдущей.
|
||
|
||
>> Нажмите <Return> для вставки символа новой строки снова, вместо
|
||
удаленного вами.
|
||
|
||
Помните, что многие команды Emacs могут получать счетчик повторения; простые
|
||
символы не являются исключением. Набирайте простые символы, вставляя их по
|
||
несколько за один раз.
|
||
|
||
>> Попробуйте выполнить это -- наберите C-u 8 * для вставки ********.
|
||
|
||
Теперь вы научились основному способу набрать что-нибудь в Emacs и
|
||
исправлять ошибки. Также вы можете удалять слова и строки. Здесь собраны
|
||
операции удаления:
|
||
|
||
<Delete> удалить символ перед курсором
|
||
C-d удалить символ следующий за (над) курсором
|
||
|
||
M-<Delete> Убить строку непосредственно перед курсором
|
||
M-d Убить слово следующее за курсором
|
||
|
||
C-k Убить все от курсора до конца строки
|
||
M-k Убить все до конца предложения
|
||
|
||
Заметьте, что <Delete> и C-d против M-<Delete> и M-d расширяют параллель,
|
||
начатую C-f и M-f (да, <Delete> это не реальный управляющий символ, но не
|
||
нужно волноваться об этом). C-k и M-k, как и C-e и M-e, проводят параллель
|
||
между строками и предложениями.
|
||
|
||
Вы можете удалить любую часть буфера одним единообразным
|
||
методом. Переместитесь на один из концов региона и наберите type C-@ или
|
||
C-SPC (одну из них). (SPC обозначает клавишу пробела). Переместитесь на
|
||
другой конец региона и наберите C-w. Эта операция удалит весь текст между
|
||
двумя указанными позициями.
|
||
|
||
>> Переместите курсор к букве В в начало предыдущего параграфа.
|
||
>> Наберите C-SPC. Emacs должен отобразить в нижней части экрана сообщение
|
||
"Mark set".
|
||
>> Переместите курсор к букве о в слове "концов", на второй строке
|
||
параграфа.
|
||
>> Наберите C-w. Это удалит текст начиная с буквы В, и оканчивающуюся перед
|
||
буквой о.
|
||
|
||
Отличие между "убить (killing)" и "удалить (deleting)" заключается в том,
|
||
что "убитый" текст может быть заново вставлен, в то время как "удаленные"
|
||
части не могут быть вставлены. Вставка "убитого" текста называется
|
||
"восстановление (yanking)". В общем, команды, которые могут убирать большие
|
||
части текста, убивают этот текст (они так настраиваются так, что вы можете
|
||
восстановить текст), в то время как команды, которые убирают только один
|
||
символ, или только пустые строки и пробельные символы, выполняют удаление
|
||
(так что вы не можете восстановить текст).
|
||
|
||
>> Переместите курсор на начало непустой строки. Теперь нажмите C-k, чтобы
|
||
убить текст в этой строке.
|
||
|
||
>> Нажмите C-k еще раз. Вы видите, что это убьет символ новой строки
|
||
следующий за этой строкой.
|
||
|
||
Заметьте, что первое C-k убивает содержимое строки, а второе C-k убивает
|
||
саму строку и поднимает другие строки вверх. C-k обрабатывает числовой
|
||
аргумент специальным образом: убивает столько строк _И_ их содержимое. Это не
|
||
просто повторение. C-u 2 C-k удалит две строи и завершающие их символы новой
|
||
строки; ввод C-k два раза не сделает этого.
|
||
|
||
Возврат назад убитого текста называется "восстановление (yanking)". (Думайте
|
||
об этом, как о восстановлении или помещении назад, некоторого взятого
|
||
текста). Вы можете восстановить удаленный текст в том же месте, или в любой
|
||
другой точке буфера, или даже в другом файле. Вы можете восстановить текст
|
||
несколько раз и получить много копий.
|
||
|
||
Командой для восстановления текста является C-y. Она восстанавливает
|
||
последний убитый текст в место расположение курсора.
|
||
|
||
>> Попробуйте выполнить это; наберите C-y, чтобы вернуть текст назад.
|
||
|
||
Помните, если вы использовали несколько команд C-k в строке, все убитые
|
||
строки будут сохранены вместе так, что C-y восстановит их вместе.
|
||
|
||
>> Попробуйте выполнить это сейчас, нажмите C-k несколько раз.
|
||
|
||
Теперь вернем этот убитый текст:
|
||
|
||
>> Нажмите C-y. Теперь переместите курсор на несколько строк вниз, и снова
|
||
нажмите C-y. Сейчас вы видите как можно скопировать некоторый текст.
|
||
|
||
Что делать, если есть некоторый текст, который вы хотите вернуть назад и
|
||
потом убить что-то еще? C-y вернет не более чем последний удаленный текст.
|
||
Но предыдущий текст не будет потерян. Вы сможете его вернуть назад, используя
|
||
команду M-y. После того, как вы вернули последний удаленный текст, нажмите
|
||
M-y, и замените этот восстановленный текст тем, который был убит ранее.
|
||
Нажатие M-y снова и снова будет возвращать ранее убитый текст. Когда вы
|
||
достигните искомого текста, вам не нужно делать ничего более чтобы сохранить
|
||
его. Просто продолжайте редактирование, оставив восстановленный текст там,
|
||
где он есть.
|
||
|
||
Нажимая M-y достаточное число раз, вы можете вернуться в начальную точку
|
||
(наиболее раннее удаление).
|
||
|
||
>> Убейте строку, переместите курсор вокруг этой точки, потом удалите еще
|
||
одну строку. Затем используйте C-y для восстановления второй убитой
|
||
строки. Затем используйте M-y, и она будет заменена первой убитой
|
||
строкой. Нажмите M-y еще несколько раз, чтобы увидеть полученный
|
||
результат. Продолжайте делать это, пока вторая убитая строка не вернется,
|
||
и еще чуть-чуть. Если вам хочется, то вы можете задавать для M-y
|
||
положительные и отрицательные аргументы.
|
||
|
||
|
||
* ОТМЕНА (UNDO)
|
||
---------------
|
||
|
||
Если вы сделали изменения в тексте, и решили, что ошиблись, можете
|
||
отменить изменения командой "отмена", C-x u.
|
||
|
||
Обычно, C-x u отменяет изменения, сделанные одной командой; если повторить
|
||
C-x u несколько раз подряд, каждый раз будет отменяться еще одна команда.
|
||
|
||
Но есть два исключения: команды, которые не изменяют текст, не учитываются
|
||
(это включает команды перемещения курсора и прокрутки), и самовставляющиеся
|
||
(self-inserting) символы обрабатываются группами до 20. (Это уменьшает
|
||
число C-x u которые вы можете набрать для отмены ввода текста).
|
||
|
||
>> Убейте эту строку используя C-k, затем наберите C-x u и она должна
|
||
вернуться назад.
|
||
|
||
C-_ альтернативная команда отмены; она работает также как и C-x u, но легче
|
||
в использовании несколько раз подряд. Неудобное положение C-_ на некоторых
|
||
клавиатурах делает неочевидным способ ее набора. Поэтому мы предлагаем
|
||
использовать C-x u. На некоторых терминалах, вы можете набирать C-_, нажимая
|
||
/ и удерживая клавишу CONTROL.
|
||
|
||
Числовой аргумент для C-_ или C-x u работает как счетчик повторения.
|
||
|
||
Вы можете отменить удаление текста точно так же, как отмену убития
|
||
текста. Отличие между убийством и удалением чего-либо заключается в том, что
|
||
вы можете восстановить убитый текст с помощью C-y; но это не делает различий
|
||
для отмены.
|
||
|
||
* ФАЙЛЫ
|
||
-------
|
||
|
||
Чтобы созданный текст можно было редактировать позже, вы должны его
|
||
поместить в файл. Иначе, он исчезнет, когда вы выйдите из Emacs. Вы помещаете
|
||
ваш текст в файл, "открывая" файл. (Еще это называют "посетить" файл.)
|
||
|
||
Открыть файл означает посмотреть его содержимое, используя Emacs. Во многих
|
||
случаях, это происходит, когда вы редактируете файл сами. Однако ваши
|
||
изменения, сделанные с использованием Emacs не будут зафиксированы, пока вы
|
||
не сохраните файл. Так вы можете не оставлять полуизмененный файл в системе,
|
||
если вы не хотите этого. Даже когда вы сохраняете файл, Emacs оставляет
|
||
оригинальный файл с измененным именем, чтобы вы могли позже решить, что ваши
|
||
изменения были ошибочны.
|
||
|
||
Если вы посмотрите в нижнюю часть экрана, то вы увидите строку, которая
|
||
начинается с тире и начинается с "--:-- TUTORIAL.ru" или чего-то
|
||
подобного. Эта часть экрана всегда показывает имя файла, который вы
|
||
открыли. Итак, сейчас вы открыли файл с именем "TUTORIAL.ru", который
|
||
является вашей персональной копией учебника Emacs. Для любого файла, который
|
||
вы откроете, имя этого файла появится в этом месте.
|
||
|
||
Одной из специальных вещей, которую вам нужно знать о команде открытия файла,
|
||
это то, что вы должны ввести имя файла, который нужно читать. Мы это
|
||
называем командой, "читающей аргумент с терминала" (в этом случае, аргументом
|
||
является имя файла). После ввода команды
|
||
|
||
C-x C-f Открыть (найти) файл
|
||
|
||
Emacs попросит вас ввести имя файла. Имя файла вы наберете в нижней строке
|
||
экрана. Нижняя строка называется мини-буфер, он используется для короткого
|
||
ввода. Вы можете использовать обычные команды редактирования Emacs для
|
||
редактирования имени.
|
||
|
||
Когда вы вводите имя файла (или любую информацию в мини-буфер), вы можете
|
||
отменить команду нажав C-g.
|
||
|
||
>> Нажмите C-x C-f, затем нажмите C-g. Это отменит мини-буфер, и команду
|
||
C-x C-f, которая использовала мини-буфер. В итоге, вы не открыли ни одного
|
||
файла.
|
||
|
||
Когда вы завершите ввод имени файла, нажмите <Return>. Далее сработает
|
||
команда C-x C-f, которая откроет указанный вами файл. Мини-буфер исчезнет,
|
||
когда команда C-x C-f завершится.
|
||
|
||
И мгновением позже содержимое файла появится на экране, и вы сможете его
|
||
редактировать. Когда вы закончите редактирование, чтобы сохранить изменения,
|
||
наберите команду
|
||
|
||
C-x C-s Сохранить файл
|
||
|
||
Это скопирует текст из Emacs в файл. В первый раз, когда вы это сделаете,
|
||
Emacs переименует оригинальный файл в файл с новым именем, чтобы он не
|
||
потерялся. Новое имя получается добавлением символа "~" к оригинальному
|
||
имени файла.
|
||
|
||
Когда сохранение завершится, Emacs напечатает имя записанного файла. Вы
|
||
должны сохранять изменения достаточно часто, чтобы не потерять много
|
||
работы, если вдруг система зависнет.
|
||
|
||
>> Наберите C-x C-s, сохраните вашу копию учебника. В нижней строке экрана
|
||
должна появиться надпись "Wrote ...TUTORIAL.ru".
|
||
|
||
ЗАМЕЧАНИЕ: На некоторых системах, ввод C-x C-s заблокирует экран и вы не
|
||
увидите последующего вывода Emacs`а. Это означает, что операционная система
|
||
имеет "особенность", именуемую "flow control", перехватывающую C-s и не
|
||
пропускающую этот символ к Emacs`у. Для разблокировки экрана, нажмите C-q.
|
||
Смотрите раздел "Spontaneous Entry to Incremental Search" руководства Emacs,
|
||
чтобы узнать, как бороться с этой "особенностью".
|
||
|
||
Вы можете открыть существующий файл для просмотра или редактирования. Вы
|
||
также можете найти файл, которого еще не существует. Другими словами --
|
||
создать файл с помощью Emacs: найти файл, создать новый, и начать вводить
|
||
текст. Когда вы скажите "сохрани" файл, Emacs создаст реальный файл с
|
||
набранным вами текстом. Далее, как вы поняли, вы будете редактировать уже
|
||
существующий файл.
|
||
|
||
|
||
* БУФЕРА
|
||
--------
|
||
|
||
Если вы находите второй файл с использованием C-x C-f, то первый остается
|
||
внутри Emacs. Вы можете переключиться назад, найдя его снова C-x C-f. Это
|
||
способ загрузить несколько файлов в Emacs.
|
||
|
||
>> Создайте файл с именем "foo", набирая C-x C-f foo <Return>.
|
||
Вставьте какой-нибудь текст, отредактируйте его, и сохраните "foo",
|
||
набрав C-x C-s.
|
||
Наконец, наберите C-x C-f TUTORIAL.ru <Return>,
|
||
чтобы вернуться назад к учебнику.
|
||
|
||
Emacs сохраняет текст каждого файла внутри в объекте, называемом "буфер"
|
||
("buffer"). Открытие файла создает новый буфер внутри Emacs. Чтобы увидеть
|
||
список буферов, созданных в текущем Emacs, наберите
|
||
|
||
C-x C-b Список буферов
|
||
|
||
>> Попробуйте C-x C-b сейчас.
|
||
|
||
Мы видим, что каждый буфер имеет имя, и может иметь имя файла, содержимое
|
||
которого в нем хранится. Некоторые буфера не соответствуют файлам. Например,
|
||
буфер, названный "*Buffer List*", не содержит никакого файла. В этом буфере
|
||
содержится список буферов, который был создан командой C-x C-b. ЛЮБОЙ текст,
|
||
который вы видите в окне Emacs, всегда является частью какого-либо буфера.
|
||
|
||
>> Наберите C-x 1, чтобы избавиться от списка буферов.
|
||
|
||
Если вы изменяете текст одного файла, потом открываете другой, то первый
|
||
остается несохраненным. Изменения останутся внутри Emacs, в файловом
|
||
буфере. Создание или редактирование следующего файлового буфера не
|
||
сказывается на первом буфере. Это очень удобно, но имейте в виду, что вам
|
||
нужно иметь удобный способ сохранить первый файловый буфер. Было бы
|
||
неприятно каждый раз возвращаться назад с помощью C-x C-f и потом
|
||
использовать C-x C-s. Поэтому существует команда
|
||
|
||
C-x s Сохранить некоторые буфера. (Save some buffers)
|
||
|
||
C-x s спрашивает вас о каждом буфере, который содержит несохраненные
|
||
изменения. Для каждого такого буфера у вас спрашивают: сохранять или не
|
||
сохранять изменения.
|
||
|
||
>> Вставьте строку текста, потом наберите C-x s.
|
||
У вас должны спросить, сохранять ли буфер с именем TUTORIAL.ru.
|
||
Ответьте на вопрос да, набрав "y".
|
||
|
||
|
||
* РАСШИРЕННЫЙ НАБОР КОМАНД
|
||
--------------------------
|
||
|
||
У Emacs очень много команд, они могут быть назначены на все control- и meta-
|
||
символы. Emacs обходит это, используя X-команду (eXtend). Есть две
|
||
возможности:
|
||
|
||
C-x Символ расширения (Character eXtend).
|
||
За ним следуем один символ.
|
||
M-x Именованные расширенные команды (Named command eXtend).
|
||
За ним следует имя команды.
|
||
|
||
Это команды, которые обычно используются, но вы уже выучили некоторые из
|
||
них. Вы уже видели: команды работы с файлами C-x C-f -- открыть, и C-x C-s
|
||
-- сохранить. Другой пример - завершения работы с Emacs -- это команда C-x
|
||
C-c. (Не волнуйтесь о том, что вы потеряете сделанные изменения, C-x C-c
|
||
предлагает сохранить изменения перед тем, как удалит буфер Emacs.)
|
||
|
||
C-z это команда *временного* выхода из Emacs -- вы можете вернуться в ту же
|
||
сессию Emacs позже.
|
||
|
||
На системах, которые допускают это, C-z "приостанавливают" ("suspends")
|
||
Emacs; возвращают в оболочку (shell), но не закрывают Emacs. В большинстве
|
||
оболочек вы можете продолжить работу в Emacs, используя команду `fg' или
|
||
`%emacs'.
|
||
|
||
В системах, не поддерживающих приостановку процессов, C-z создает новую
|
||
оболочку (subshell), запущенную из-под Emacs, чтобы дать вам возможность
|
||
выполнить другую программу, и потом вернуться в Emacs; это не настоящий
|
||
выход из Emacs. В этом случае, команда `exit' вернет вас в Emacs из
|
||
оболочки.
|
||
|
||
Используйте C-x C-c, если вы хотите выйти (log out) из системы. Это также
|
||
используется, чтобы выйти из Emacs, вызванного из почтовой программы, или другой
|
||
утилиты, которая может не знать, как справиться с приостановленным Emacs.
|
||
Обычно, если вы не выходите из системы, лучше приостановить Emacs,
|
||
используя C-z вместо выхода их него.
|
||
|
||
Существует очень много C-x команд. Эти вы уже выучили:
|
||
|
||
C-x C-f Открыть файл.
|
||
C-x C-s Сохранить файл.
|
||
C-x C-b Список буферов.
|
||
C-x C-c Выход из Emacs.
|
||
C-x 1 Удаляет все окна кроме одного.
|
||
C-x u Отмена.
|
||
|
||
Именованные расширенные команды используются гораздо реже, или используются
|
||
только в определенных режимах. В качестве примера команда замена строки,
|
||
которая заменяет одну строку на другую во всем тексте. Когда вы наберете
|
||
M-x, Emacs предложит вам ввести имя команды в нижней строке экрана; в нашем
|
||
случае, "replace-string". Только наберите "repl s<TAB>", и Emacs дополнит
|
||
имя. (<TAB> -- это клавиша табуляции, обычно находящаяся выше клавиш
|
||
CapsLock или Shift слева на клавиатуре). Завершите имя вводом <Return>.
|
||
|
||
Команда замены строки (replace-string) требует два аргумента -- строку,
|
||
которая будет заменена, и строку, на которую нужно заменить. Вы должны
|
||
завершать каждый аргумент вводом <Return>.
|
||
|
||
>> Переместите курсор на две пустые строки ниже этой.
|
||
Наберите M-x repl s<Return>changed<Return>altered<Return>.
|
||
|
||
Заметьте, как эта строка изменится: вы замените слово c-h-a-n-g-e-d
|
||
словом "altered" везде, где оно встретится, ниже позиции курсора.
|
||
|
||
|
||
* АВТОСОХРАНЕНИЕ
|
||
----------------
|
||
|
||
Когда вы изменяете файл, но не сохраняете его, то в случае краха системы
|
||
вы можете потерять информацию. Чтобы защитить вас от этого, Emacs
|
||
периодически сохраняет каждый файл, который вы редактируете. Автосохранение
|
||
происходит в файл, имя которого такое же, но начинается и заканчивается
|
||
символом "#"; например, если ваш файл называется "hello.c", то
|
||
автосохраненный файл будет называться "#hello.c#". Когда вы сохраните файл
|
||
обычным способом, Emacs удалит автосохраненный файл.
|
||
|
||
Если система зависла, вы можете восстановить ваши изменения, который были
|
||
сохранены автоматически, путем открытия нормального файла (файла, который вы
|
||
редактировали, не автосохраненного), и затем набрав M-x recover-file<return>.
|
||
Когда у вас спросят подтверждение, наберите yes<return>, чтобы восстановить
|
||
автосохраненные данные.
|
||
|
||
|
||
* ОБЛАСТЬ ЭХО (ECHO AREA)
|
||
-------------------------
|
||
|
||
Если Emacs видит, что вы медленно набираете команды, он показывает их вам
|
||
внизу экрана, в области называемой "область эхо". Область эхо -- это самая
|
||
нижняя строка экрана.
|
||
|
||
|
||
* СТРОКА РЕЖИМА
|
||
---------------
|
||
|
||
Строка сразу над областью эхо называется "строка состояния".
|
||
Выглядит эта строка примерно так:
|
||
|
||
--:** TUTORIAL.ru (Fundamental)--L670--58%----------------
|
||
|
||
Эта строка сообщает полезную информацию о состоянии Emacs и текста, который
|
||
вы редактируете.
|
||
|
||
Вы уже знаете, что означает имя файла -- это файл, который вы открыли. -NN%--
|
||
показывает текущую позицию курсора в тексте; это означает что NN процентов
|
||
текста выше, чем начало экрана. Если первая строка находится в первой строке
|
||
экрана, вы там увидите --Top-- вместо --00%--. Если на экране отображается
|
||
последняя строка, то будет отображено --Bot--. Если текст настолько мал, что
|
||
весь вмещается в экран, строка состояния сообщит --All--.
|
||
|
||
Буква L и цифры показывают позицию другим способом: они показывают номер
|
||
текущей строки с курсором.
|
||
|
||
Звездочки в начале строки означают, что вы изменяли текст. Как только вы
|
||
открыли или сохранили файл, эта часть строки будет содержать не звездочки, а
|
||
тире.
|
||
|
||
Часть строки статуса внутри скобок сообщает вам режим редактирования,
|
||
которым вы пользуетесь. Стандартный режим -- Fundamental, его вы используете
|
||
и сейчас. Это пример "основного режима" ("major mode").
|
||
|
||
Emacs имеет много различных основных режимов. Некоторые из режимов означают,
|
||
что вы редактируете текст на различном языке и/или различные виды текста,
|
||
такие как Lisp-режим, Text-режим и пр. В любое время действует только один
|
||
основной режим, и его название вы можете найти в скобках, где сейчас
|
||
находится слово "Fundamental" (базовый).
|
||
|
||
Каждый основной режим имеет несколько отличительных команд. Например, команды
|
||
создания комментария в программе, и поскольку в каждом языке программирования
|
||
комментарии записываются по-своему, каждый основной режим вставляет их
|
||
по-разному. Каждый основной режим имеет именованную команду, которая включает
|
||
его. Например, M-x fundamental-mode - команда, которая переключает в базовый
|
||
(Fundamental) режим.
|
||
|
||
Если вы редактируете русский текст, например как этот (конечно, не именно
|
||
этот, а TUTORIAL) файл, вы вероятно должны переключиться в Text-режим.
|
||
|
||
>> Наберите M-x text mode<Return>.
|
||
|
||
Не волнуйтесь, ни одна из выученных вами команд Emacs не изменилась. Но вы
|
||
можете заметить, что M-f и M-b теперь различают апострофы как части слова.
|
||
Ранее, в базовом режиме (Fundamental mode), M-f и M-b понимали апострофы
|
||
как разделители слов.
|
||
|
||
Основной режим обычно делает небольшие изменения, такие как: большинство
|
||
команд делают "ту же работу" в каждом из режимов, но их работа отличается
|
||
какой-нибудь мелочью.
|
||
|
||
Для просмотра документации о вашем текущем основном режиме, нажмите C-h m.
|
||
|
||
>> Используйте C-u C-v один раз или более, чтобы расположить эту строку ближе
|
||
к верху экрана.
|
||
>> Наберите C-h m, чтобы посмотреть отличия Text-режима от базового.
|
||
>> Наберите C-x 1, чтобы убрать документацию с глаз долой :)
|
||
|
||
Основной режим называется основным потому, что есть несколько дополнительных
|
||
(minor) режимов. Дополнительные режимы не являются альтернативами основным,
|
||
они только немного изменяют их поведение. Каждый дополнительный режим
|
||
включается/выключается независимо от других дополнительных режимов, и
|
||
независимо от вашего основного режима. Вы можете использовать основной режим
|
||
без дополнительных, или с любой их комбинацией.
|
||
|
||
Один из дополнительных режимов очень полезен, особенно для редактирования
|
||
текста - это режим автозаполнения (Auto Fill mode). Когда этот режим
|
||
включен, Emacs разрывает строки между словами автоматически, когда вы
|
||
вставляете текст и делаете строки слишком длинными.
|
||
|
||
Вы можете включить режим автозаполнения, набрав M-x auto fill mode<Return>.
|
||
Когда этот режим включен, его можно выключить - M-x auto fill mode<Return>.
|
||
Если режим включен -- команда его выключит, если выключен -- включит. Мы
|
||
называем это командой "переключения режима".
|
||
|
||
>> Наберите M-x auto fill mode<Return>. Затем вводите строку из слов
|
||
"фыва " пока не увидите, как она разделится на две строки. Вы должны
|
||
помещать пробелы между словами, потому что режим автозаполнения разделяет
|
||
строки только по пробелам.
|
||
|
||
Граница обычно выставлена на 70-ти символах, но вы можете изменить ее
|
||
используя команду C-x f. Вы должны задать границу в виде числового аргумента
|
||
для этой команды.
|
||
|
||
>> Введите C-x f с аргументом 20. (C-u 2 0 C-x f). Затем введите
|
||
какой-нибудь текст, и посмотрите как Emacs заполняет строки по 20
|
||
символов в каждой. Верните значение границы 70 назад,
|
||
снова используя C-x f.
|
||
|
||
Если вы сделали изменения в середине параграфа, автозаполнение не перестроит
|
||
текст для вас. Чтобы перестроить параграф, наберите M-q (META-q) в то время,
|
||
когда курсор находится внутри параграфа.
|
||
|
||
>> Переместите курсор в предыдущий параграф, и нажмите M-q.
|
||
|
||
|
||
* ПОИСК
|
||
-------
|
||
|
||
Emacs умеет искать строки (непрерывные группы символов или слова) вперед
|
||
по тексту, или назад. Поиск строки - это команда перемещения курсора; она
|
||
перемещает курсор в следующую точку, где найдена искомая строка.
|
||
|
||
Команда поиска Emacs отличаются от аналогичных команд большинства других
|
||
редакторов тем, что она инкрементальная. Это означает, что поиск происходит
|
||
по мере, того как вы набираете искомую строку.
|
||
|
||
Команда, начинающая поиск вперед -- C-s, а C-r ищет назад. ПОДОЖДИТЕ! Не
|
||
нужно пробовать прямо сейчас.
|
||
|
||
Когда вы нажмете C-s, вы увидите строку "I-search", появившуюся в области эхо.
|
||
Вам сообщается, что Emacs ждет ввода слова, которое вы хотите найти.
|
||
<Return> завершает поиск.
|
||
|
||
>> Теперь нажмите C-s для начала поиска. Медленно, одну букву за один раз,
|
||
набирайте слово 'курсор', останавливаясь после каждой введенной буквы и
|
||
замечая что происходит с курсором.
|
||
Сейчас вы нашли первое вхождение слова "курсор".
|
||
>> Нажмите C-s снова, чтобы найти следующее вхождение слова "курсор".
|
||
>> Теперь нажмите <Delete> четыре раза и проследите за перемещениями курсора.
|
||
>> Нажмите <Return> для завершения поиска.
|
||
|
||
Вы видели, что происходило? Emacs в режиме инкрементального поиска пытался
|
||
переходить к строкам, совпадающим с набираемой вами, подсвечивая их для вас.
|
||
Чтобы перейти к следующему вхождения слова 'курсор' просто нажмите C-s
|
||
снова. Если больше нет вхождений, Emacs издаст звуковой сигнал, и сообщит,
|
||
что ваш поиск не удался ("failing"), C-g также может отменить поиск.
|
||
|
||
ЗАМЕЧАНИЕ: На некоторых системах ввод C-s заморозит экран, и вы не увидите
|
||
последующего вывода Emacs`а. Это означает, что операционная система имеет
|
||
"особенность", именуемую "flow control", перехватывающую C-s и не пропускающую
|
||
этот символ к Emacs`у. Для разморозки экрана, нажмите C-q. Смотрите раздел
|
||
"Spontaneous Entry to Incremental Search" руководства Emacs, чтобы узнать,
|
||
как бороться с этой "особенностью".
|
||
|
||
Если вы во время инкрементального поиска нажмете <Delete>, вы можете заметить,
|
||
что последний символ в искомой строке удалился, и поиск вернулся к предыдущему
|
||
найденному месту. Например, предположим, что вы набрали "к", поиск перейдет к
|
||
первому вхождению символа "к". Теперь, если вы наберете "у", курсор перейдет к
|
||
первому вхождению "ку". Нажатие <Delete> удалит символ "у" из строки поиска, и
|
||
курсор вернется к первому вхождению "к".
|
||
|
||
Если вы во время поиска введете control- или meta- символ (за некоторыми
|
||
исключениями -- символы вызывающие поиск, а именно C-s и C-r), поиск
|
||
прекратится.
|
||
|
||
C-s начинает поиск и смотрит на любые вхождения искомой строки ПОСЛЕ текущей
|
||
позиции курсора. Если вы хотите найти что-то ранее в тексте, нажмите C-r.
|
||
Все, что мы говорили о C-s, применимо и к C-r, за исключением противоположного
|
||
направления поиска.
|
||
|
||
|
||
* МНОЖЕСТВО ОКОН (MULTIPLE WINDOWS)
|
||
-----------------------------------
|
||
|
||
Одна из приятных особенностей Emacs это то, что вы можете одновременно
|
||
отображать на экране более чем одно окно.
|
||
|
||
>> Переместите курсор на эту линию, и наберите C-u 0 C-l (это CONTROL-L, а
|
||
не CONTROL-1).
|
||
|
||
>> Теперь наберите C-x 2, что разделит экран на два окна.
|
||
Оба окна отображают учебник. Курсор остался в верхнем окне.
|
||
|
||
>> Нажмите C-M-v для прокрутки нижнего окна.
|
||
(если у вас нет настоящей кнопки META (Alt), нажмите ESC C-v.)
|
||
|
||
>> Нажмите C-x o ("o" от слова "other" - другое) для перемещения курсора в
|
||
нижнее окно.
|
||
>> Используйте C-v и M-v в нижнем окне, чтобы прокручивать его.
|
||
Продолжите чтение этих инструкций в верхнем окне.
|
||
|
||
>> Нажмите C-x o снова, чтобы переместить курсор назад в верхнее окно.
|
||
Курсор в верхнем окне там же, где и был до того.
|
||
|
||
Вы можете продолжать переключаться между окнами, используя C-x o. Каждое
|
||
окно хранит свою позицию курсора, но только одно показывает курсор. Все
|
||
обычные команды редактирования применяются к окну, в котором отображается
|
||
курсор. Мы называем это окно "выбранным" ("selected window").
|
||
|
||
Команда C-M-v очень удобна, когда вы редактируете текст в одном окне, и
|
||
используете второе в качестве справочника. Вы можете всегда сохранять курсор
|
||
в окне редактирования и последовательно продвигаться во втором, используя
|
||
C-M-v.
|
||
|
||
C-M-v - пример CONTROL-META символа. Если у вас есть настоящая кнопка META
|
||
(Alt), то вы можете набрать C-M-v, нажав одновременно CONTROL и META и,
|
||
не отпуская их, нажать v. И не важно, какая из клавиш будет нажата первой,
|
||
CONTROL или META, поскольку эти кнопки модифицируют тип символа.
|
||
|
||
Если у вас нет настоящей кнопки META, и вы используете ESC вместо нее,
|
||
порядок должен быть следующим: вы должны нажать ESC, а затем CTRL-v;
|
||
CONTROL-ESC v не будет работать. Потому, что ESC имеет свой собственный
|
||
символ -- это не модифицирующая кнопка.
|
||
|
||
>> Нажмите C-x 1 (в верхнем окне), чтобы избавиться от нижнего.
|
||
|
||
(Если вы нажали C-x 1 в нижнем окне, то вы избавились от верхнего. Понимайте
|
||
эту команду как "Оставить только одно окно, то, в котором я сейчас нахожусь").
|
||
|
||
Вам не нужно отображать один и тот же буфер в обоих окнах. Если вы
|
||
используете C-x C-f, чтобы открыть файл в одном окне, другое останется без
|
||
изменения. Вы можете открывать файлы в каждом окне независимо.
|
||
|
||
Есть другой путь использовать два окна, отображающих разные файлы:
|
||
|
||
>> Наберите C-x 4 C-f, затем имя одного и ваших файлов. Завершите <Return>.
|
||
Посмотрите, что выбранный файл появился в нижнем окне. Курсор перешел
|
||
туда же.
|
||
|
||
>> Наберите C-x o, чтобы вернуться в верхнее окно, и C-x 1, чтобы удалить
|
||
нижнее окно.
|
||
|
||
|
||
* РЕКУРСИВНЫЕ УРОВНИ РЕДАКТИРОВАНИЯ (RECURSIVE EDITING LEVELS)
|
||
--------------------------------------------------------------
|
||
|
||
Иногда вы будете включать так называемые "рекурсивные уровни
|
||
редактирования". На это указывают прямоугольные скобки в строке состояния,
|
||
окружающие обычные скобки вокруг имени основного режима. Например, вы можете
|
||
увидеть [(Fundamental)] вместо (Fundamental).
|
||
|
||
Чтобы выйти из рекурсивных уровней редактирования, нажмите ESC ESC ESC. Это
|
||
многоцелевая команда "выход". Вы также можете использовать ее как для
|
||
уничтожения лишних окон, так и для выхода из мини-буфера.
|
||
|
||
>> Нажмите M-x, чтобы попасть в мини-буфер; затем нажмите ESC ESC ESC,
|
||
чтобы покинуть его.
|
||
|
||
Вы не можете использовать C-g, чтобы выйти из рекурсивных уровней
|
||
редактирования. Потому, что C-g используется для отмены команды и
|
||
аргументов БЕЗ рекурсивных уровней редактирования.
|
||
|
||
|
||
* КАК ПОЛУЧИТЬ ПОМОЩЬ (GETTING MORE HELP)
|
||
-----------------------------------------
|
||
|
||
В этом учебнике мы попытались снабдить вас только той информацией, которая
|
||
поможет начать использовать Emacs. Очень много информации доступно в Emacs,
|
||
и невозможно всю ее представить здесь. Однако, вы можете выучить больше
|
||
возможностей Emacs и узнать другие полезные особенности. Emacs предоставляет
|
||
команды для чтения документации о командах Emacs. Эти команды "помощи"
|
||
("help") все начинаются с символа CONTROL-h, который является "символом
|
||
помощи".
|
||
|
||
Чтобы использовать особенности Помощи, нажмите C-h, и затем символ, который
|
||
расскажет, какой именно вид помощи вы хотите получить. Если вы ДЕЙСТВИТЕЛЬНО
|
||
растерялись, наберите C-h ?, и Emacs расскажет вам какую помощь он может вам
|
||
предоставить. Если вы нажали C-h и передумали обращаться к помощи, просто
|
||
нажмите C-g, чтобы отменить эту команду.
|
||
|
||
(Кое-где переназначают символ C-h. Реальной необходимости в этом нет,
|
||
сообщите о ней системному администратору. Тем временем, если C-h не вызывает
|
||
сообщение помощи внизу экрана, попробуйте вместо этого нажать клавишу F1 или
|
||
набрать M-x help RET).
|
||
|
||
Самая основная возможность ПОМОЩИ - C-h c. Нажмите C-h, затем c, и символ
|
||
команды или последовательность, и Emacs отобразит очень краткое описание
|
||
команды.
|
||
|
||
>> Нажмите C-h c C-p.
|
||
Сообщение должно выглядеть примерно так
|
||
|
||
C-p runs the command previous-line
|
||
(C-p выполняет команду previous-line {предыдущая-строка})
|
||
|
||
Вам сообщают "имя функции". Имена функций используются в основном для
|
||
настройки и расширения Emacs. Имена функций выбраны так, чтобы показать,
|
||
что именно команда делает, также они позволяют с помощью этой краткой
|
||
информации легче запомнить уже выученные команды.
|
||
|
||
Многосимвольные команды, такие как C-x C-s и (если у вас нет кнопки META или
|
||
EDIT или ALT) <ESC>v также будут доступны после C-h c.
|
||
|
||
Получите больше информации о команде используя C-h k вместо C-h c.
|
||
|
||
>> Наберите C-h k C-p.
|
||
|
||
Вы увидите описание функции, а также ее имя в отдельном окне Emacs. Когда вы
|
||
завершите чтение, нажмите C-x 1, чтобы избавиться от текста помощи. Вы
|
||
можете выполнить какое-то редактирование во время просмотра текста справки,
|
||
а только затем нажать C-x 1.
|
||
|
||
Есть еще несколько полезных опций C-h:
|
||
|
||
C-h f Описывает функцию. Вам необходимо набрать имя функции.
|
||
|
||
>> Попробуйте набрать C-h f previous-line<Return>.
|
||
Это распечатает информацию Emacs о этой функции, которая выполняется
|
||
командой C-p.
|
||
|
||
Аналогичная команда C-h v отображает документацию о переменных, значение
|
||
которых вы можете изменить для настройки поведения Emacs. Вам нужно набрать
|
||
имя переменной, когда Emacs запросит его.
|
||
|
||
C-h a Hyper Apropos. Введите ключевое слово и Emacs покажет вам
|
||
список всех функций и переменных, имена которых содержат это
|
||
слово. Команды, которые могут быть вызваны через Meta-x,
|
||
будут отмечены звездочкой слева.
|
||
|
||
>> Наберите C-h a file<Return>.
|
||
|
||
это отобразит полный список функций и переменных, имена которых начинаются
|
||
с "newline". Нажмите <Return> или кликните средней кнопкой мышки, чтобы
|
||
получить больше информации о функции или переменной. Нажмите `q', чтобы
|
||
выйти из hyper-apropos.
|
||
|
||
Это отобразит в другом окне список всех команд M-x со словом "file" в их
|
||
именах. Также в списке кроме команд таких, как find-file, вы увидите
|
||
соответствующие символьные команды такие, как C-x C-f.
|
||
|
||
>> Наберите C-M-v для прокрутки окна справки. Выполните это несколько раз.
|
||
|
||
>> Наберите C-x 1 для удаления окна справки.
|
||
|
||
C-h i Читать интерактивные руководства (a.k.a. Info). Эта команда
|
||
переходит в специальный буфер с именем `*info*', где вы
|
||
можете читать интерактивные руководства для пакетов,
|
||
установленных в вашей системе. Наберите m emacs <Return> для
|
||
чтения руководства по Emacs. Если вы никогда ранее не
|
||
использовали Info, то наберите ? и Emacs откроет учебник по
|
||
возможностям режима Info. Однажды ознакомившись с этим
|
||
учебником, вы должны использовать руководство Emacs Info в
|
||
качестве основной документации.
|
||
|
||
|
||
* ЗАКЛЮЧЕНИЕ
|
||
------------
|
||
|
||
Запомните, чтобы совсем выйти из Emacs, используется сочетание клавиш
|
||
C-x C-c. А чтобы временно выйти в оболочку (shell) и потом вернуться
|
||
обратно, используйте C-z.
|
||
|
||
Этот учебник должен быть понятен всем новым пользователям, но если вы
|
||
найдете что-нибудь неясное, не нужно сидеть и порицать себя -- жалуйтесь!
|
||
|
||
|
||
* COPYING
|
||
---------
|
||
|
||
Этот учебник произошел из длинной серии учебников Emacs, начатой с однажды
|
||
написанного by Stuart Cracraft для оригинального Emacs.
|
||
|
||
Эта версия учебника, как и GNU Emacs, защищена правами копирования
|
||
(copyrighted), и приходит с ограничениями распространения копий со
|
||
следующими соглашениями:
|
||
|
||
Copyright (c) 1985, 1996 Free Software Foundation
|
||
|
||
Permission is granted to anyone to make or distribute verbatim copies
|
||
of this document as received, in any medium, provided that the
|
||
copyright notice and permission notice are preserved,
|
||
and that the distributor grants the recipient permission
|
||
for further redistribution as permitted by this notice.
|
||
|
||
Permission is granted to distribute modified versions
|
||
of this document, or of portions of it,
|
||
under the above conditions, provided also that they
|
||
carry prominent notices stating who last altered them.
|
||
|
||
Условия копирования самого Emacs более сложные, но в том же духе.
|
||
Пожалуйста, прочтите файл COPYING и затем дайте копию GNU Emacs вашим
|
||
друзьям. Помогите уничтожить обструкционизм в области программного
|
||
обеспечения ("владение"), используя, создавая и распространяя свободное
|
||
программное обеспечение!
|
||
|
||
// замечания, исправления ошибок с нетерпением жду по адресу ottalex@narod.ru
|
||
// Alex Ott.
|
||
// Большое спасибо Владимиру Бормотову, на базе перевода которого был сделан
|
||
// этот перевод
|
||
|
||
;;; Local Variables:
|
||
;;; coding: cyrillic-koi8
|
||
;;; sentence-end-double-space: nil
|
||
;;; End:
|
||
|
||
;;; arch-tag: ad4e5698-ea8b-45b7-b236-ed5ad5b72d2b
|