Вход  и выход  из Emacs

Обычно для вызова Emacs достаточно просто набрать ‘emacs’ в оболочке. Emacs очищает экран и отображает начальные справочные сведения и уведомление об авторских правах. Некоторые операционные системы сбрасывают все набранное перед тем, как Emacs стартует; они не дают Emacs возможности предотвратить это.  Поэтому рекомендуется подождать, пока Emacs очистит экран, и только потом набрать вашу первую команду редактирования.

Если вы запускаете Emacs из окна с оболочкой в системе X Windows, запускайте его в фоновом режиме с помощью ‘emacs&’. Тогда Emacs не свяжет окно оболочки, и вы сможете выполнять другие команды, пока Emacs работает в своих X-окнах.  Вы можете начинать печатать команды, как только направите ввод с клавиатуры во фрейм Emacs.

Когда Emacs начинает работу, он создает буфер, называемый ‘*scratch*’. Это буфер, который предоставляется вам первоначально. Буфер ‘*scratch*’ использует режим Lisp Interaction; вы можете набирать в нем Лисп-выражения и вычислять их, либо вы можете проигнорировать такую  возможность и просто писать в нем заметки.  (Вы  можете  задать для этого буфера другой основной режим, установив в вашем  файле инициализации переменную initial-major-mode. См. Раздел 31.7 [Файл инициализации], с. 366.)

Из аргументов в командной строке оболочки можно указать файлы, к которым вы хотите обратиться, Лисп-файлы для загрузки и функции, которые будут вызваны. См. Приложение A [Аргументы командной строки], с. 385. Но мы не рекомендуем  так делать. Эта возможность существует преимущественно для совместимости с другими редакторами.

Многие редакторы спроектированы так, что запускаются снова каждый раз, когда вы хотите  редактировать.  Вы редактируете  один файл и затем выходите  из редактора.  В следующий раз, когда вы хотите редактировать другой файл или тот же самый, вы должны запустить редактор снова. С такими редакторами имеет смысл использовать аргумент командной строки, чтобы сообщить, какой файл будет редактироваться.

Но не имеет смысла запускать новый Emacs каждый раз, когда вы хотите  редактировать другой файл. С одной стороны, это было бы раздражающе  медленно.  С другой стороны, при этом не использовалась  бы способность  Emacs обращаться к  нескольким файлам за один сеанс редактирования. И при этом терялись бы накопленные  сведения о контексте: регистры, история отмены изменений, список пометок и другие.

Рекомендуемый  способ использования  GNU Emacs — запускать его только один раз сразу после  входа в систему и делать все ваши редакции в одном и том же  процессе Emacs. Каждый  раз, когда вы хотите  редактировать другой файл, вы вызываете его в уже  существующий Emacs, который в конце  концов предназначен, чтобы хранить много файлов, готовых для редактирования. Обычно вы не уничтожаете Emacs до тех пор, пока не решите выйти из системы. См. Глава 14 [Файлы], с. 105, для получения информации о редактировании нескольких файлов одновременно.

3.1  Выход из Emacs

Существует две команды выхода из Emacs, так как существует два вида выхода: при

остановка Emacs и уничтожение Emacs.

Приостановка означает временную остановку Emacs и возврат управления его родительскому процессу (обычно это оболочка), она позволяет вам позднее возобновить  редактирование в том же задании Emacs, с теми же буферами, с тем же списком уничтожений, с той же историей отмены и так далее. Это обычный способ выхода.

Уничтожение Emacs подразумевает  уничтожение задания Emacs.  Вы снова можете запустить Emacs позднее, но вы получите новый Emacs. Нет способа возобновить  тот же сеанс редактирования  после его уничтожения.

C-z             Приостановить Emacs (suspend-emacs) или минимизировать текущий фрейм

(iconify-or-deiconify-frame).

C-x C-c      Уничтожить  Emacs (save-buffers-kill-emacs).

Чтобы приостановить Emacs, наберите C-z (suspend-emacs). Это вернет вас обратно в оболочку, из которой вы вызывали Emacs. Вы можете  возобновить Emacs с помощью команды ‘%еmacs’ в большинстве обычных оболочек.

В  системах, которые не  позволяют программам приостанавливаться, C-z запускает подчиненную оболочку, которая связана прямо с терминалом,  и Emacs ждет, пока вы не покинете подоболочку. (Скорее всего, вы можете сделать это с помощью C-d или ‘exit’, но это зависит от используемой оболочки.) В этих системах единственный  способ вернуться в оболочку, из которой Emacs был запущен (чтобы выйти из системы, например), — это уничтожить Emacs.

Приостановка также  невозможна, если вы запустили Emacs из оболочки, не поддерживающей приостановку программ, даже  если система ее поддеривает. В таком случае вы можете  установить переменную cannot-suspend  в отличное от nil значение,  чтобы принудить C-z запускать подчиненную оболочку. (Можно было бы назвать родительскую оболочку Emacs тоже “подчиненной” за неумение правильно управлять заданиями, но это вопрос вкуса.)

Когда Emacs напрямую общается с X-сервером и создает собственные выделенные Xокна, C-z имеет другой смысл.  Приостановка приложения, используещего  собственные X-окна, бессмысленна  и бесполезна. Вместо этого, C-z запускает команду iconify-ordeiconify-frame, которая временно закрывает выбранный фрейм Emacs (см.  Глава 17 [Фреймы], с. 147). Снова получить доступ к этому фрейму можно с помощью программы управления окнами.

Чтобы уничтожить  Emacs, наберите C-x C-c (save-buffer-kill-emacs).  Двухзнаковый ключ используется для того, чтобы его было труднее набрать. Эта команда сначала предлагает сохранить все модифицированные  обращающиеся  к файлам буферы. Если вы не сохраняете их все, она запрашивает новое подтверждение с помощью yes перед уничтожением Emacs, так как любые незаписанные изменения будут потеряны навсегда. Также, если остаются запущенными какие-либо подпроцессы,  то С-х С-с  запрашивает подтверждение и для них, так как уничтожение Emacs немедленно уничтожит  подпроцессы.

Невозможно перезапустить сеанс Emacs, когда вы его уже  уничтожили.   Однако, вы можете  указать Emacs записывать определенные  сведения  о сеансе,  например, к  каким файлам обращались, когда Emacs был уничтожен; тогда в следующий раз, когда вы перезапустите Emacs, он попытается обратиться к тем же файлам. См. Раздел 30.11 [Сохранение сеансов Emacs], с. 337.

Операционная система обычно улавливает  определенные специальные символы, которые могут мгновенно приостанавливать или уничтожать  программу.  Это свойство операционной системы отключается в то время, когда вы находитесь в Emacs. Значения C-z и С-с как ключей в Emacs были вдохновлены стандартными значениями C-z и С-с в некоторых операционных системах как символов останова и уничтожения программы, но это единственная их связь с этими операционными системами. Вы можете настроить эти ключи для запуска любых команд по вашему выбору (см. Раздел 31.4.1 [Таблицы ключей], с. 356).

Источник: Ричард Столмен, Руководство по GNU Emacs

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий