использовала следующую команду и установила
yum install java-1.8.0-openjdk-headless-1.8.0.191.b12-1.el7_6
Информация о том, где сочетания клавиш связаны с функциями, не хранится в Emacs. Фактически, ответ обычно не определен.
Часто привязки клавиш устанавливаются как побочный эффект второстепенного режима или через перехват мод. Связывание клавиш для второстепенных режимов часто хранится в некоторой переменной, например comint-mode-map
. Эта раскладка клавиатуры активируется установкой переменной режима comint-mode
. Однако эта карта режимов является глобальной переменной, и любой, где угодно, может добавить к ней привязки клавиш. Таким образом, выполнение того, что вы хотите, по сути, отслеживание того, кто установил переменную с определенным значением. Аналогично для привязок клавиш, которые просто устанавливаются локально с помощью ловушек режима (используя local-set-key
). Кроме того, вы даже можете установить привязки клавиш через переменные файла . Все это просто говорит о том, что привязки клавиш в Emacs эфемерны.
Самое лучшее, что вы можете сделать, - это найти функцию, связанную с клавишей, и посмотреть в этом файле (или любых связанных файлах, если режим разделен на несколько файлов).
Поиск связывания ключей в emacs довольно сложен из-за множества способов, которыми вы можете устанавливать / связывать нажатия клавиш (глобально, основной режим, второстепенные режимы, переопределение второстепенных режимов, локальный для буферов, свойства текста и т. д. ). Для быстрого обзора посмотрите эту документацию .
Вы можете написать такую функцию, чтобы смотреть в второстепенных режимах, чтобы увидеть, где может быть установлена привязка клавиш, но, конечно, мой первый тест показал привязку клавиш. не был определен там. Но, возможно, код будет поучительным.
(defun guess-where-keybinding-is-defined (key)
"try to guess where a key binding might be defined"
(interactive (list (read-key-sequence "Describe key: ")))
(let ((bindings (minor-mode-key-binding key))
found)
(while (and bindings (not found))
(if (setq found (caar bindings))
(find-function (cdar bindings)))
(setq bindings (cdr bindings)))))
Есть ли конкретная проблема, которую вы пытаетесь решить (кроме этого вопроса)?
Просто сделайте Mx find-function
Из документа Emacs:
(функция find-function)
Найдите определение функции Ближайшая точка.
Находит исходный файл, содержащий определение функции вблизи точки (выбран "функция называется в точке") в буфер и места указывают перед определение. Установите марку перед движением, если буфер уже существует.