В этом разделе описываются сочетания клавиш, команды и опции пользователя, используемые в минибуфере для выполнения завершения.
Значение этой переменной — это таблица завершения (см. Базовые функции завершения), используемая для завершения в минибуфере. Это
переменная, локальная для буфера, которая содержит то, что completing-read передает в
try-completion. Она используется командами завершения минибуфера, такими как minibuffer-complete.
Значение этой переменной — это предикат, который completing-read
передает в try-completion. Эта переменная также используется другими
функциями завершения минибуфера.
Эта переменная определяет, запрашивает ли Emacs подтверждение перед
выходом из минибуфера; completing-read устанавливает эту переменную,
а функция minibuffer-complete-and-exit проверяет ее значение перед выходом. Если значение равно nil, подтверждение не требуется. Если значение равно confirm, пользователь может выйти с вводом, который не является допустимой альтернативой завершения, но Emacs запрашивает подтверждение. Если значение равно confirm-after-completion, пользователь может выйти с вводом, который не является допустимой альтернативой завершения, но Emacs запрашивает подтверждение, если пользователь ввел ввод сразу после любой из команд завершения в
minibuffer-confirm-exit-commands.
Эта переменная содержит список команд, которые заставляют Emacs запрашивать
подтверждение перед выходом из минибуфера, если аргумент require-match
в completing-read равен confirm-after-completion.
Подтверждение запрашивается, если пользователь пытается выйти из
минибуфера сразу после вызова любой команды из этого списка.
Эта функция завершает содержимое минибуфера не более чем одним
словом. Даже если в минибуфере только одно возможное завершение,
minibuffer-complete-word не добавляет символов за пределы
первого символа, который не является частью слова. См. Таблицы синтаксиса.
Эта функция завершает содержимое минибуфера настолько, насколько это возможно.
Эта функция завершает содержимое минибуфера и выходит, если
подтверждение не требуется, то есть если minibuffer-completion-confirm равно nil. Если
подтверждение требуется, оно предоставляется повторным вызовом этой команды — команда запрограммирована так, чтобы работать без подтверждения при двух последовательных вызовах.
Эта функция создает список возможных завершений текущего
содержимого минибуфера. Она работает, вызывая all-completions,
используя значение переменной minibuffer-completion-table в качестве аргумента collection, а значение
minibuffer-completion-predicate в качестве аргумента predicate.
Список завершений отображается в виде текста в буфере с именем
*Completions*.
Эта функция выводит completions в поток
standard-output, обычно в буфер. (См. Чтение и вывод Lisp-объектов, для получения
больше информации о потоках.) Аргумент completions обычно
является списком завершений, возвращенным all-completions, но это не обязательно. Каждый элемент может быть символом или строкой, который просто выводится. Он также может быть списком из двух строк, который выводится так, как если бы строки были конкатенированы. Первая из двух строк — это фактическое завершение, вторая строка служит аннотацией.
Эта функция вызывается minibuffer-completion-help.
Распространенный способ ее использования — вместе с
with-output-to-temp-buffer, как здесь:
(with-output-to-temp-buffer "*Completions*"
(display-completion-list
(all-completions (buffer-string) my-alist)))
Если эта переменная не равна nil, команды завершения
автоматически отображают список возможных завершений всякий раз, когда ничего
не может быть завершено, потому что следующий символ не определен однозначно.
completing-read использует это значение как локальное сочетание клавиш, когда
не требуется точное совпадение одного из завершений. По умолчанию это
сочетание клавиш устанавливает следующие привязки:
minibuffer-completion-help
minibuffer-complete-word
minibuffer-complete
и использует minibuffer-local-map в качестве родительского
сочетания клавиш (см. Определение minibuffer-local-map).
completing-read использует это значение как локальное
сочетание клавиш, когда требуется точное совпадение одного из завершений. Поэтому
не привязано ни одно сочетание клавиш к exit-minibuffer, команде, которая
безусловно выходит из минибуфера. По умолчанию это
сочетание клавиш устанавливает следующие привязки:
minibuffer-complete-and-exit
minibuffer-complete-and-exit
и использует minibuffer-local-completion-map в качестве родительского
сочетания клавиш.
Это разреженное сочетание клавиш, которое просто отвязывает SPC; потому что
имена файлов могут содержать пробелы. Функция read-file-name
объединяет это сочетание клавиш с либо minibuffer-local-completion-map,
либо с minibuffer-local-must-match-map.
Если не nil, команда M-< переместится в конец
подсказки, если точка находится после конца подсказки. Если точка находится на
или до конца подсказки, переместится в начало буфера. Если эта переменная равна nil, команда ведет себя как
beginning-of-buffer.