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.
Ниже приведен обзор всех определенных команд для получения справки.
apropos-command
).
describe-bindings
).
describe-key-briefly
). Здесь c означает
`character' (`знак'). Для получения более подробной информации о
ключе, используйте C-h k.
describe-function
). Так как команды являются лисповскими
функциями, вы можете использовать имя команды.
info
). Полное руководство по Emacs существует как диалоговый
файл в Info.
describe-key
).
view-lossage
).
describe-mode
).
view-emacs-news
).
finder-by-keyword
).
describe-syntax
). Смотрите раздел Синтаксическая таблица.
help-with-tutorial
).
describe-variable
).
where-is
).
describe-coding-system
).
describe-input-method
).
describe-language-environment
).
Info-goto-emacs-command-node
).
Info-goto-emacs-key-command-node
).
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
) описывает систему
кодирования, либо заданную явно, либо, по умолчанию, используемые в
данный момент. Смотрите раздел Системы кодирования.
Справочные буферы предоставляют команды режима View (смотрите раздел Разнообразные действия над файлами) плюс несколько собственных особых команд.
Когда в описании появляется имя команды (смотрите раздел Запуск команд по имени) или имя переменной (смотрите раздел Переменные), оно обычно показывается в парных одиночных кавычках. Вы можете щелкнуть на имени с помощью 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.