Справка

Emacs предоставляет широкие возможности предоставления справки, которые доступны через один знак, C-h. C-h -- это префиксный ключ, который используется только для команд печати документации. Знаки, которые вы можете набрать после C-h, называются параметрами справки. Одним из них является C-h; c его помощью вы запрашиваете информацию об использовании C-h. Функциональная клавиша F1 служит эквивалентом C-h.

C-h C-h (help-for-help) печатает список всех возможных параметров справки с кратким описанием каждого из них. До набора параметра справки вы можете пролистать этот список с помощью SPC или DEL.

C-h или F1 означает "помощь" также и во многих других контекстах. Например, в процессе работы query-replace они описывают доступные возможные действия над текущим найденным совпадением. После префиксного ключа они выводят перечень вариантов, которые могут следовать за этим префиксным ключом. (Некоторые префиксные ключи не поддерживают C-h, потому что они определяют для него другие значения; но все они поддерживают F1.)

Большинство справочных буферов используют специальный основной режим, режим Help, который позволяет вам удобно делать прокрутку с помощью SPC и DEL.

Ниже приведен обзор всех определённых команд для получения справки.

C-h a regexp RET
Показать список команд, чьи имена соответствуют регулярному выражению regexp (apropos-command).
C-h b
Показать таблицу всех привязок ключей, действующих на данный момент в следующем порядке: привязки текущих второстепенных режимов, привязки основного режима и глобальные привязки (describe-bindings).
C-h c ключ
Напечатать имя команды, которую запускает на выполнение заданный ключ (describe-key-briefly). Здесь c означает `character' (`знак'). Для получения более подробной информации о ключе, используйте C-h k.
C-h f функция RET
Показать документацию на лисповскую функцию с именем функция (describe-function). Так как команды являются лисповскими функциями, вы можете использовать имя команды.
C-h h
Вывести файл `hello', который показывает примеры различных наборов знаков.
C-h i
Запустить Info, программу для просмотра файлов документации (info). Полное руководство по Emacs существует как диалоговый файл в Info.
C-h k ключ
Показать имя и описание команды, которую запускает ключ (describe-key).
C-h l
Показать описание последних 100 набранных вами знаков (view-lossage).
C-h m
Показать описание текущего основного режима (describe-mode).
C-h n
Показать описание изменений в Emacs, первым самое последнее (view-emacs-news).
C-h p
Найти пакет по ключевому слову (finder-by-keyword).
C-h s
Показать текущее содержимое синтаксической таблицы и объяснить, что оно означает (describe-syntax). Смотрите раздел Синтаксическая таблица.
C-h t
Войти в интерактивный самоучитель по Emacs (help-with-tutorial).
C-h v пер RET
Показать описание лисповской переменной пер (describe-variable).
C-h w команда RET
Напечатать, какие ключи запускают на выполнение команду с именем команда (where-is).
C-h C кодировка RET
Вывести описание системы кодирования с именем кодировка (describe-coding-system).
C-h C RET
Описать используемую в данный момент систему кодирования.
C-h I метод RET
Описать метод ввода (describe-input-method).
C-h L языковая-среда RET
Показать сведения о наборах знаков, системах кодирования и методах ввода, используемых в языковой-среде (describe-language-environment).
C-h C-c
Показать условия копирования GNU Emacs.
C-h C-d
Показать информацию о получении новых версий GNU Emacs.
C-h C-f функция RET
Войти в Info и перейти к ноде, описывающей функцию Emacs с именем функция (Info-goto-emacs-command-node).
C-h C-k ключ
Войти в Info и перейти к ноде, описывающей заданную последовательность ключей (Info-goto-emacs-key-command-node).
C-h C-p
Показать информацию о Проекте GNU.
C-h TAB языковой-символ RET
Показать документацию Info на языковой-символ в соответствии с языком программирования, на котором вы пишите (info-lookup-symbol).

Описания для ключей

Основными параметрами для C-h являются C-h c (describe-key-briefly) и C-h k (describe-key). C-h c ключ печатает в эхо-области имя команды, к которой привязан ключ. Например, C-h c C-f печатает `forward-char'. Поскольку имена команд выбираются так, чтобы они описывали действие команды, это удобный способ получить очень короткое описание того, что делает ключ.

C-h k ключ похожа на предыдущую, но даёт больше информации. Она показывает строку документации команды, а также её имя. Это слишком много для эхо-области, поэтому для показа используется окно.

C-h c и C-h k работают для любых видов ключей, включая функциональные клавиши и события от мыши.

Справка по имени команды или переменной

C-h f (describe-function) читает имя функции Лиспа, используя минибуфер, затем показывает строку документации этой функции в окне. Так как команды -- это лисповские функции, вы можете пользоваться этим для получения описания команды, известной по имени. Например,

C-h f auto-fill-mode RET

выдает документацию для auto-fil-mode. Это единственный способ увидеть документацию команды, которая не привязана к какому-нибудь ключу (одной из тех, которых вы обычно вызываете при помощи M-x).

C-h f также полезна для лисповских функций, которые вы планируете использовать в программе на Лиспе. Например, если вы просто написали выражение (make-vector len) и хотите быть уверенными в том, что вы верно использовали make-vector, наберите C-h f make-vector RET. Так как C-h f воспринимает имена всех функций, а не только имена команд, то вы можете обнаружить, что некоторые из ваших любимых сокращений, которые работают в M-x, не работают в C-h f. Сокращения могут быть уникальными среди имён команд и уже не быть уникальными, когда рассматриваются также и имена других функций.

Имя функции для C-h f имеет значение по умолчанию, которое используется, если вы наберете RET, оставляя минибуфер пустым. По умолчанию это будет функция, вызванная самым глубоким лисповским выражением в буфере в районе точки, при условии, что это правильное, определённое имя функции Лиспа. Например, если точка расположена вслед за текстом `(make-vector (car x)', то самый глубокий список, содержащий точку, это тот, что начинается с `(make-vector'; таким образом, по умолчанию будет описана функция make-vector.

C-h f часто полезна просто для проверки правильности написания имени функции с точки зрения орфографии. Если C-h f упоминает в подсказке значение по умолчанию, то вы набрали имя определённой лисповской функции. Если это все, что вы хотели узнать, просто наберите C-g, чтобы отменить команду C-h f и продолжить редактирование.

C-h w команда RET сообщает вам, какие ключи привязаны к команде. Она печатает список ключей в эхо-области. Если она говорит, что команда не привязана ни к одному ключу, вы должны использовать для вызова этой команды M-x. C-h w запускает команду where-is.

C-h v (describe-variable) похожа на C-h f, но описывает переменные Лиспа, а на функции. Её значение по умолчанию --- это лисповский символ поблизости или перед точкой, но только если это имя известной лисповской переменной. Смотрите раздел Переменные.

Поиск по контексту

Более сложный вид запросов -- это вопросы вроде "Какие команды используются для работы с файлами?" Чтобы задать такой вопрос, наберите C-h a file RET, которая покажет список всех имён команд, которые содержат `file', такие как copy-file, find-file и так далее. Вместе с именем команды показывается краткое описание того, как её использовать, и какие ключи её запускают. Например, вам сообщат, что вы можете запустить find-file, набрав C-x C-f. Здесь а в C-h -- это сокращение для `Apropos', C-h a запускает на выполнение функцию command-apropos. Эта команда проверяет только команды (интерактивные функции); если вы зададите префиксный аргумент, она просмотрит также и неинтерактивные функции.

Так как C-h a ищет только функции, чьи имена содержат заданную вами строку, вы должны быть изобретательны в выборе строк. Если вы ищете команды для уничтожения в обратном направлении, и C-h a kill-backward RET ничего не показывает, не отчаивайтесь. Попробуйте просто kill, или просто backward или просто back. Будьте настойчивы. Притворитесь, что вы играете в Adventure. Также отметим, что для большей гибкости вы можете использовать в качестве аргумента регулярное выражение (смотрите раздел Синтаксис регулярных выражений).

Здесь представлен набор аргументов для передачи в C-h a, который охватывает множество классов команд, так как существуют строгие соглашения для имен стандартных команд Emacs. Давая вам почувствовать принятые соглашения об именовании, этот набор также должен служить вам помощью в совершенствовании технических приемов для подбора строк apropos.

char, line, word, sentence, paragraph, region, page, sexp, list, defun, rect, buffer, frame, window, face, file, dir, register, mode, beginning, end, forward, backward, next, previous, up, down, search, goto, kill, delete, mark, insert, yank, fill, indent, case, change, set, what, list, find, view, describe, default.

Для получения перечня всех пользовательских переменных, которые соответствуют регулярному выражению, используйте команду M-x apropos-variable. Эта команда показывает по умолчанию только пользовательские переменные; если вы зададите префиксный аргумент, она просмотрит все переменные.

Чтобы перечислить все лисповские символы, которые содержат совпадение с регулярным выражением, а не только те, которые определены в качестве команд, используйте команду M-x apropos, а не C-h a. По умолчанию эта команда не проверяет привязки ключей; если вы хотите узнать их, задайте этой команде префиксный аргумент.

Команда apropos-documentation похожа на apropos, но производит поиск совпадений с регулярным выражением не только в именах символов, но и в строках описания.

Команда apropos-value действует как apropos, за исключением того, что ищет совпадения с регулярным выражением в значениях символов. Эта команда по умолчанию не проверяет определения функций или списки свойств; задайте ей числовой аргумент, если вы хотите проверить и их.

Если переменная apropos-do-all не равна nil, то все описанные выше команды ведут себя так, как-будто им задан префиксный аргумент.

Если вы хотите получить больше информации об определении функции, о переменной или о свойствах символа, перечисленных в буфере Apropos, вы можете щёлкнуть на них Mouse-2 или переместиться туда и нажать RET.

Поиск в библиотеках Лиспа по ключевым словам

Команда C-h p позволяет вам производить поиск в стандартных библиотеках Emacs Lisp по тематическим ключевым словам. Вот неполный перечень ключевых слов, которые вы можете использовать:

abbrev --- управление сокращениями, быстрые клавиши, макросы.
bib --- поддержка обработчика библиографий bib.
c --- поддержка языков Си и Си++.
calendar --- поддержка календаря и операций со временем.
comm --- коммуникации, сети, удалённый доступ к файлам.
data --- поддержка редактирования файлов с данными.
docs --- поддержка документации Emacs.
emulations --- эмуляция других редакторов.
extensions --- расширения языка Emacs Lisp.
faces --- поддержка разных начертаний (шрифтов и цветов).
frames --- поддержка фреймов и оконных систем.
games --- игры, шутки и развлечения.
hardware --- поддержка интерфейсов с экзотической аппаратурой.
help --- поддержка интерактивных справочных систем.
hypermedia --- поддержка для ссылок внутри текста.
i18n --- поддержка разных языков и алфавитов.
internal --- внутренний код Emacs, сборка, значения по умолчанию.
languages --- специализированные режимы для редактирования кода.
lisp --- поддержка использования Лиспа (включая Emacs Lisp).
local --- библиотеки, локальные для вашей системы.
maint --- средства поддержки для группы разработчиков Emacs.
mail --- режимы для работы с электронной почтой.
matching --- поисковые программы.
news --- поддержка чтения и отправки сетевых новостей.
non-text --- поддержка для редактирования нетекстовых файлов.
oop --- поддержка объектно-ориентированного программирования.
outlines --- просмотр иерархической структуры текста.
processes --- процессы, оболочка, компиляция и управление задачами.
terminals --- поддержка разных типов терминалов.
tex --- поддержка для программы компьютерного набора TeX.
tools --- утилиты для программирования.
unix --- интерфейсы или эмуляторы возможностей Unix.
vms --- поддержка VMS.
wp --- обработка текста.

Справка о поддержке различных языков

Для получения справки о поддержке определённой языковой среды используйте команду C-h L (describe-language-environment). Смотрите раздел Языковые среды. Эта команда говорит вам, для каких языков полезна данная языковая среда, и перечисляет наборы знаков, системы кодирования и методы ввода, которые используются в этой среде. Она также показывает образец текста для демонстрации его внешнего вида.

Команда C-h h (view-hello-file) отображает файл `etc/HELLO', который показывает, как сказать "Здравствуйте" на разных языках.

Команда C-h I (describe-input-method) описывает метод ввода, либо заданный явно, либо, по умолчанию, используемый в данный момент. Смотрите раздел Методы ввода.

Команда C-h C (describe-coding-system) описывает систему кодирования, либо заданную явно, либо, по умолчанию, используемые в данный момент. Смотрите раздел Системы кодирования.

Команды режима Help

Справочные буферы предоставляют команды режима View (смотрите раздел Разнообразные действия над файлами) плюс несколько собственных особых команд.

SPC
Прокручивает вперёд.
DEL
Прокручивает назад.
RET
Переходит по перекрестной ссылке в точке.
TAB
Перемещает вперёд к следующей перекрестной ссылке.
S-TAB
Перемещает назад к предыдущей перекрестной ссылке.
Mouse-2
Переходит по перекрестной ссылке, на которой вы щёлкнули.

Когда в описании появляется имя команды (смотрите раздел Запуск команд по имени) или имя переменной (смотрите раздел Переменные), оно обычно показывается в парных одиночных кавычках. Вы можете щёлкнуть на имени с помощью Mouse-2 или передвинуть к нему точку и нажать RET, чтобы просмотреть документацию на эту команду или переменную. Используйте C-c C-b для возврата.

Есть удобные команды для перемещения точки к перекрестным ссылкам в тексте справки. TAB (help-next-ref) передвигает точку вперёд к следующей перекрестной ссылке. Чтобы переместить точку к предыдущей ссылке, используйте S-TAB (help-previous-ref).

Другие команды для получения справки

C-h i (info) запускает на выполнение программу Info, которая используется для просмотра структурированных файлов документации. Внутри Info имеется полное руководство по Emacs. В конце концов там будет доступна вся документация по системе GNU. Чтобы запустить самоучитель по использованию Info, наберите h после входа в Info.

Если вы зададите числовой аргумент, C-h i запросит имя файла документации. Таким образом вы сможете просмотреть файл, для которого нет вхождения в меню Info верхнего уровня. Это также удобно, когда вам нужно получить документацию быстро, и вы знаете точное имя этого файла.

Существуют две специальные справочные команды для получения документации по Emacs через Info. C-h C-f функция RET входит в Info и переходит непосредственно к описанию функции Emacs с именем функция. C-h C-k ключ входит в Info и переходит к описанию ключа. Эти ключи запускают команды Info-goto-emacs-command-node и Info-goto-emacs-key-command-node.

При редактировании программы, если у вас есть Info-версия руководства для этого языка программирования, вы можете использовать команду C-h C-i для просмотра описания символа (ключевого слова, функции или переменной). Детали работы этой программы зависят от основного режима.

Если происходит что-то странное, и вы не уверены, какую команду вы набрали, используйте C-h l (view-lossage). C-h l печатает последние 100 набранных вами командных знаков. Если вы увидели команды, которые вам не знакомы, вы можете использовать C-h c, чтобы отыскать информацию о том, что они делают.

Emacs имеет множество основных режимов, каждый из которых переопределяет несколько ключей и делает некоторые другие изменения в работе редактора. C-h m (describe-mode) печатает документацию о текущем основном режиме, в которой обычно описаны все команды, измененные в этом режиме.

C-h b (describe-bindings) и C-h s (describe-syntax) предоставляют другую информацию о текущем режиме Emacs. C-h b показывает список всех привязанных ключей, действующих в данный момент; сначала идут локальные привязки текущих второстепенных режимов, за ними локальные привязки текущего основного режима и, наконец, глобальные привязки (смотрите раздел Настройка привязок ключей). C-h s показывает содержимое синтаксической таблицы с объяснением синтаксиса каждого знака (смотрите раздел Синтаксическая таблица).

Вы можете получить подобный перечень для конкретного префиксного ключа, набрав после него C-h. (Есть несколько префиксных ключей, для которых это не работает -- они придают свои привязки для C-h. Один из них -- это ESC, потому что ESC C-h на самом деле эквивалентен C-M-h, который помечает определение функции.)

Другие параметры C-h показывают разнообразные файлы с полезной информацией. C-h C-w показывает подробности об отсутствии гарантий для GNU Emacs. С-h n (view-emacs-news) показывает файл `emacs/etc/NEWS', который содержит описание изменений в Emacs, сортированное в хронологическом порядке. C-h F (view-emacs-FAQ) выводит список часто отвечаемых вопросов о Emacs. C-h t (help-with-tutorial) показывает обучающее руководство по Emacs. C-h C-c (describe-copying) показывает файл `emacs/etc/COPYING', который объясняет условия, которые вы должны выполнить при распространении копий Emacs. C-h C-d (describe-distribution) показывает файл `emacs/etc/DISTRIB', в котором рассказывается, как вы можете заказать копию последней версии Emacs. C-h C-p (describe-project) выводит общую информацию о Проекте GNU.

Назад |  Вперед |  Содержание



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024