From a00a4ccb31ba77793fe8f7c006925b8d87b73c64 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 28 Dec 2002 21:22:23 +0000 Subject: Initial version. --- etc/TUTORIAL.ru | 1080 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1080 insertions(+) create mode 100644 etc/TUTORIAL.ru (limited to 'etc') diff --git a/etc/TUTORIAL.ru b/etc/TUTORIAL.ru new file mode 100644 index 0000000000..b1fd015200 --- /dev/null +++ b/etc/TUTORIAL.ru @@ -0,0 +1,1080 @@ +;; -*- coding: cyrillic-koi8; -*- +Copyright (c) 1985, 1996 Free Software Foundation, Inc. See end for conditions. + +Вы читаете учебник Emacs. + +Для управления Emacs обычно используется ключ (сочетание клавиш клавиатуры +и/или кнопок мыши), включающий в себя клавишу CONTROL (иногда отмечаемая как +CTRL или CTL) или клавишу META (иногда помеченную как ALT или EDIT). В +дальнейшем вместо того, чтобы каждый раз писать META или CONTROL мы будем +использовать следующее сокращение: + + C- следует удерживать клавишу CONTROL пока набирается символ + Так, C-f должно означать: нажать клавишу CONTROL и f. + M- следует удерживать клавишу META пока набирается символ . Если + нет клавиши META, ALT или EDIT, то нажмите , отпустите ее, + а потом наберите символ . + +Важное замечание: для завершения сеанса Emacs, наберите C-x C-c. (Два +символа). Символы ">>" с левой стороны указывают, что вам нужно делать, +чтобы применить команду. Например: +<<Середина страницы оставлена пустой для учебных целей. Текст прдолжается ниже>> +>> Теперь нажмите C-v (Просмотр следующего экрана) для перемещения на + следующий экран. (Выполните это, удерживая клавишу CONTROL нажимая v). + Теперь вы должны это сделать еще раз, когда закончите читать экран. + +Обратите внимание на то, что, пока вы движетесь с экрана на экран, +перекрываются две строчки; это обеспечивает некоторую непрерывность, так что +вы можете продолжить читать текст. + +Первое что вам необходимо знать -- как передвигаться по тексту из одного +места в другое. Вы уже знаете, как переместиться вперед один экран, +используя ключ C-v. Для перемещения назад на один экран, нажмите M-v +(удерживайте клавишу META и наберите v, или нажмите 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. + +Если вы нажали по ошибке, вы так же можете избавиться от этого +нажатием 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'ом как текст и +вставляются немедленно. Нажмите (кнопка перевода каретки) для +вставки символа новой строки. + +Вы можете удалить последний набранный символ нажимая клавишу +. Клавиша на клавиатуре может быть обозначена как "Del". В +некоторых случаях, клавиша "Backspace" работает как , но не всегда! + +В основном, удаляет символ непосредственно перед текущей позицией +курсора. + +>> Попробуйте выполнить это сейчас -- наберите несколько символов, потом + удалите их нажимая несколько раз. Не волнуйтесь о изменениях + этого файла; вы не изменяете главный учебник. Это ваша личная копия + учебника. + +Когда строка текста становится слишком большой для строки экрана, строка +текста "продолжается" на следующей строке экрана. Символ "обратное деление" +("\") (или если вы используете оконную систему, то маленькая изогнутая +стрелка) с правой границы показывает, что строка будет продолжена. + +>> Вводите текст, пока не достигните правой границы, и продолжайте + вставку. Вы увидите, как появится символ продолжения строки. + +>> Используйте для удаления текста, пока строка не поместится в + экран снова. Символ продолжения строки исчезнет. + +Можно удалять символ новой строки точно так же, как и любой другой. Удаление +символа новой строки между двумя строками приведет к склейке их в одну. Если +полученная строка слишком длинная, чтобы вместиться в экран, она будет +отображена как продолженная строка. + +>> Переместите курсор в начало строки и нажмите . Это соединит + текущую строку с предыдущей. + +>> Нажмите для вставки символа новой строки снова, вместо + удаленного вами. + +Помните, что многие команды Emacs могут получать счетчик повторения; простые +символы не являются исключением. Набирайте простые символы вставляя их по +несколько за один раз. + +>> Попробуйте выполнить это -- наберите C-u 8 * для вставки ********. + +Теперь вы научились основному способу набрать что-нибудь в Emacs и +исправлять ошибки. Так же вы можете удалять слова и строки. Здесь собраны +операции удаления: + + удалить символ перед курсором + C-d удалить символ следующий за (над) курсором + + M- Убить строку непосредственно перед курсором + M-d Убить слово следующее за курсором + + C-k Убить все от курсора до конца строки + M-k Убить все до конца предложения + +Заметьте, что и C-d против M- и M-d расширяют параллель +начатую, C-f и M-f (да, это не реальный управляющий символ, но не +нужно волноваться об этом). 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 которая использовала мини-буфер. В итоге, вы не открыли ни одного + файла. + +Когда вы завершите ввод имени файла, нажмите . Далее сработает +команда 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 . + Вставьте какой-нибудь текст, отредактируйте его, и сохраните "foo" + набрав C-x C-s. + Наконец, наберите C-x C-f TUTORIAL.ru + чтобы вернуться назад к учебнику. + +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" и Emacs дополнит +имя. ( -- это клавиша табуляции, обычно находящаяся выше клавиш +CapsLock или Shift слева на клавиатуре). Завершите имя вводом . + +Команда замены строки (replace-string) требует два аргумента -- строку +которая будет заменена, и строка на которую нужно заменить. Вы должны +завершать каждый аргумент вводом . + +>> Переместите курсор на две пустые строки ниже этой. + Наберите M-x repl schangedaltered. + + Заметьте как эта строка изменится: вы замените слово c-h-a-n-g-e-d + словом "altered" везде, где оно встретится, ниже позиции курсора. + + +* АВТОСОХРАНЕНИЕ +---------------- + +Когда вы изменяете файл, но не сохраняете его, то в случае краха системы +вы можете потерять информацию. чтобы защитить вас от этого, Emacs +периодически сохраняет каждый файл, который вы редактируете. Автосохранение +происходит в файл, имя которого такое же, но начинается и заканчивается +символом "#"; например, если ваш файл называется "hello.c", то +автосохраненный файл будет называться "#hello.c#". Когда вы сохраните файл +обычным способом. Emacs удалит автосохраненный файл. + +Если система подвисает, вы можете восстановить ваши изменения который были +сохранены автоматически, путем открытия нормального файла (файла который вы +редактировали, не автосохраненного) и затем набрав M-x recover-file. +Когда у вас спросят подтверждение, наберите yes чтобы восстановить +автосохраненные данные. + + +* ОБЛАСТЬ ЭХО (ECHO AREA) +------------------------- + +Если Emacs видит что вы медленно набираете команды, он показывает их вам +внизу экрана, в области называемой "область эхо". Область эхо -- это самая +нижняя строка экрана. + + +* СТРОКА РЕЖИМА +------------------ + +Строка сразу над областью эхо называется "строка состояния". +Выглядит эта строка примерно так: + +--:** TUTORIAL (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. + +Не волнуйтесь, ни одна из выученных вами команд 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. +Когда этот режим включен, его можно выключить - M-x auto fill mode. +Если режим включен -- команда его выключит, если выключен -- включит. Мы +называем это командой "переключения режима". + +>> Наберите M-x auto fill mode. Затем вводите строку из слов + "фыва " пока не увидите как она разделится на две строки. Вы должны + помещать пробелы между словами, потому что режим автозаполнения разделяет + строки только по пробелам. + +Граница обычно выставлена на 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 ждет ввода слова, которое вы хотите найти. + завершает поиск. + +>> Теперь, нажмите C-s для начала поиска. Медленно, одну букву за один раз, + набирайте слово 'курсор', останавливаясь после каждой введенной буквы и + замечая что происходит с курсором. + Сейчас вы нашли первое вхождение слова "курсор". +>> Нажмите C-s снова, чтобы найти следующее вхождение слова "курсор". +>> Теперь нажмите четыре раза и проследите за перемещениями курсора. +>> Нажмите для завершения поиска. + +Вы видели что происходило? Emacs, в режиме инкрементального поиска, пытался +переходить к строкам совпадающим с набираемой вами, подсвечивая их для вас. +Чтобы перейти к следующему вхождения слова 'курсор' просто нажмите C-s +снова. Если больше нет вхождений, Emacs издаст звуковой сигнал, и сообщит +что ваш поиск не удался ("failing"), C-g также должен отменить поиск. + +ЗАМЕЧАНИЕ: На некоторых системах, ввод C-s заморозит экран и вы не увидите +последующего вывода Emacs`а. Это означает что операционная система имеет +"особенность" именуемую "flow control" перехватывающую C-s и не пропускающую +этот символ к Emacs`у. Для разморозки экрана, нажмите C-q. Смотрите раздел +"Spontaneous Entry to Incremental Search" руководства Emacs чтобы узнать как +бороться с этой "особенностью". + +Если вы во время инкрементального поиска нажмете , вы можете заметить +что последний символ в искомой строке удалился, и поиск вернулся к предыдущему +найденному месту. Например, предположим, что вы набрали "c", поиск перейдет к +первому вхождению символа "c". Теперь если вы наберете "u", курсор перейдет к +первому вхождению "cu". Нажатие удалит символ "u" их строки поиска, и +курсор вернется к первому вхождению "c". + +Если вы во время поиска введете 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 затем имя одного и ваших файлов. Завершите . + Посмотрите что выбранный файл появился в нижнем окне. Курсор перешел + туда же. + +>> Наберите 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) 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. + Это распечатает информацию Emacs о этой функции, которая выполняется + командой C-p. + +Аналогичная команда C-h v отображает документацию о переменных, значение +которых вы можете изменить для настройки поведения Emacs. Вым нужно набрать +имя переменной, когда Emacs запросит его. + + C-h a Hyper Apropos. Введите ключевое слово и Emacs покажет вам + список всех функций и переменных, имена которых содержат это + слово. Команды, которые могут быть вызваны через Meta-x, + будут отмечены звездочкой слева. + +>> Наберите C-h a file. + +это отобразит полный список функций и переменных имена которых начинаются с +"newline". Нажмите или кликните средней кнопкой мышки чтобы +получить больше о функции или переменной. Нажмите `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 для + чтения руководства по 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@beep.ru +// Alex Ott. +// Большое спасибо Владимиру Бормотову, на базе перевода которого был сделан +// этот перевод -- cgit v1.2.3