Символы кода для интерактивного режима
Ниже приведены описания символов кода, содержащие ряд ключевых слов, определенных следующим образом:
- Завершение
-
Обеспечить завершение. TAB, SPC и RET выполняют завершение имен, поскольку аргумент считывается с использованием
completing-read(см. Завершение). ? отображает список возможных завершений. - Существующий
-
Требуется имя существующего объекта. Недопустимое имя не принимается; команды выхода из минибуфера не выходят, если текущий ввод не является допустимым.
- По умолчанию
-
В случае если пользователь не вводит текст в минибуфер, используется значение по умолчанию. Значение по умолчанию зависит от символа кода.
- Без В/В
-
Этот символ кода вычисляет аргумент без чтения какого-либо ввода. Поэтому он не использует строку-подсказку, и любая предоставленная вами строка-подсказка игнорируется.
Несмотря на то, что символ кода не использует строку-подсказку, после него необходимо указать символ новой строки, если это не последний символ кода в строке.
- Подсказка
-
Подсказка следует непосредственно за символом кода. Подсказка заканчивается либо концом строки, либо символом новой строки.
- Специальный
Этот символ кода имеет значение только в начале интерактивной строки, и он не ищет подсказку или символ новой строки. Это одиночный изолированный символ.
Ниже приведены описания символов кода для использования с interactive:
- ‘*’
-
Выдать ошибку, если текущий буфер только для чтения. Специальный.
- ‘@’
-
Выбрать окно, упомянутое в первом событии мыши в последовательности нажатий клавиш, вызвавшей эту команду. Специальный.
- ‘^’
-
Если команда была вызвана с помощью сочетания Shift+клавиша, установить метку и временно активировать область или расширить уже активную область, прежде чем выполнить команду. Если команда была вызвана без сочетания Shift+клавиша и область временно активна, деактивировать область перед выполнением команды. Специальный.
- ‘a’
-
Имя функции (т.е., символ, удовлетворяющий
fboundp). Существующий, Завершение, Подсказка. - ‘b’
-
Имя существующего буфера. По умолчанию используется имя текущего буфера (см. Буферы). Существующий, Завершение, По умолчанию, Подсказка.
- ‘B’
-
Имя буфера. Буфер необязательно должен существовать. По умолчанию используется имя недавно использовавшегося буфера, отличного от текущего. Завершение, По умолчанию, Подсказка.
- ‘c’
-
Символ. Курсор не перемещается в область эха.
- ‘C’
-
Имя команды (т.е., символ, удовлетворяющий
commandp). Существующий, Завершение, Подсказка. - ‘d’
-
Положение точки, как целое число (см. Точка). Без В/В.
- ‘D’
-
Директория. По умолчанию используется текущая директория по умолчанию текущего буфера,
default-directory(см. Расширение имён файлов). Существующий, Завершение, По умолчанию, Подсказка. - ‘e’
-
Первое или следующее не-клавишное событие в последовательности нажатий клавиш, вызвавшей команду. Более точно, ‘e’ получает события, которые являются списками, поэтому вы можете посмотреть на данные в списках. См. События ввода.
Вы используете ‘e’ для событий мыши и для специальных системных событий (см. Разные события). Список событий, который получает команда, зависит от события. См. События ввода, в котором описаны формы списка для каждого события в соответствующих подразделах.
Вы можете использовать ‘e’ более одного раза в одном интерактивном описании команды. Если последовательность нажатий клавиш, вызвавшая команду, содержит n событий, которые являются списками, то n-й ‘e’ предоставляет n-е такое событие. События, которые не являются списками, такие как функциональные клавиши и символы ASCII, не учитываются в отношении ‘e’.
- ‘f’
-
Имя файла существующего файла (см. Имена файлов). Директория по умолчанию —
default-directory. Существующий, Завершение, По умолчанию, Подсказка. - ‘F’
-
Имя файла. Файл необязательно должен существовать. Завершение, По умолчанию, Подсказка.
- ‘G’
-
Имя файла. Файл необязательно должен существовать. Если пользователь вводит только имя директории, то значением является только это имя директории без имени файла внутри директории. Завершение, По умолчанию, Подсказка.
- ‘i’
-
Несущественный аргумент. Этот код всегда предоставляет
nilв качестве значения аргумента. Без В/В. - ‘k’
-
Последовательность нажатий клавиш (см. Последовательности нажатий клавиш). Это продолжает чтение событий до тех пор, пока в текущих картах клавиш не будет найдена команда (или неопределённая команда). Аргумент последовательности нажатий клавиш представлен в виде строки или вектора. Курсор не перемещается в область эха. Подсказка.
Если ‘k’ считывает последовательность нажатий клавиш, которая заканчивается событием нажатия, она также считывает и отбрасывает последующее событие отпускания. Вы можете получить доступ к этому событию отпускания с помощью символа кода ‘U’.
Этот вид ввода используется такими командами, как
describe-keyиglobal-set-key. - ‘K’
-
Последовательность нажатий клавиш в форме, которая может быть использована в качестве входных данных для функций, таких как
define-key. Это работает подобно ‘k’, за исключением того, что для последнего события ввода в последовательности нажатий клавиш подавляются преобразования, которые обычно используются (при необходимости) для преобразования неопределённой клавиши в определённую (см. Ввод последовательностей нажатий клавиш), поэтому эта форма обычно используется при запросе новой последовательности нажатий клавиш, которая должна быть привязана к команде. - ‘m’
-
Положение метки, как целое число. Без В/В.
- ‘M’
-
Произвольный текст, считанный в минибуфере с использованием текущего метода ввода буфера и возвращаемый в виде строки (см. Методы ввода в Руководстве по GNU Emacs). Подсказка.
- ‘n’
-
Число, введённое с помощью минибуфера. Если ввод не является числом, пользователь должен повторить попытку. ‘n’ никогда не использует аргумент префикса.
- ‘N’
-
Числовой аргумент префикса; но если аргумента префикса нет, считывается число, как и с n. Значение всегда является числом. См. Аргументы команд с префиксом. Подсказка.
- ‘p’
-
Числовой аргумент префикса. (Обратите внимание, что это ‘p’ — строчная буква.) Без В/В.
- ‘P’
-
Сырой аргумент префикса. (Обратите внимание, что это ‘P’ — заглавная буква.) Без В/В.
- ‘r’
-
Точка и метка, как два числовых аргумента, сначала наименьшее. Это единственный символ кода, который определяет два последовательных аргумента, а не один. Это вызовет ошибку, если метка не установлена в текущем буфере во время вызова команды. Если режим временной метки включен (см. Метка) — по умолчанию — и опция пользователя
mark-even-if-inactiveравнаnil, Emacs выведет ошибку, даже если метка установлена, но не активна. Без В/В. - ‘s’
-
Произвольный текст, считанный в минибуфере и возвращённый в виде строки (см. Текст из минибуфера). Завершите ввод либо C-j, либо RET. (C-q может использоваться для включения любого из этих символов во входные данные.) Подсказка.
- ‘S’
-
Интернированный символ, имя которого считывается в минибуфере. Завершите ввод либо C-j, либо RET. Другие символы, которые обычно завершают символ (например, пробелы, скобки и квадратные скобки), здесь не делают этого.
- ‘U’
-
Последовательность нажатий клавиш или
nil. Может использоваться после аргумента ‘k’ или ‘K’ для получения события отпускания, которое было отброшено (если таковое было), после того как ‘k’ или ‘K’ прочитали событие нажатия. Если ни одно событие отпускания не было отброшено, ‘U’ предоставляетnilв качестве аргумента. Без В/В. - ‘v’
-
Переменная, объявленная как опция пользователя (т.е., удовлетворяющая предикату
custom-variable-p). Это считывает переменную с использованиемread-variable. См. Определение read-variable. Существующий, Завершение, Подсказка. - ‘x’
-
Объект Lisp, указанный с помощью его синтаксиса чтения, завершённый C-j или RET. Объект не оценивается. См. Объект из минибуфера. Подсказка.
- ‘X’
-
Значение Lisp-формы. ‘X’ читает, как и ‘x’, затем оценивает форму, чтобы её значение стало аргументом команды. Подсказка.
- ‘z’
-
Имя кодировочной системы (символ). Если пользователь вводит пустой ввод, значение аргумента равно
nil. См. Кодировочные системы. Завершение, Существующий, Подсказка. - ‘Z’
Имя кодировочной системы (символ) — но только если у этой команды есть аргумент префикса. Без аргумента префикса ‘Z’ предоставляет
nilв качестве значения аргумента. Завершение, Существующий, Подсказка.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Interactive-Codes.html