Как связать все ключи в одной раскладке emacs с другой раскладкой - PullRequest
0 голосов
/ 13 мая 2019

Я хочу, чтобы в Emacs две "раскладки" были примерно одинаковыми.В частности, я хочу, чтобы для раскладки «супер» ключа по умолчанию использовалось то же, что и для «мета» ключа.

Итак, я хотел бы написать некоторый код, который копирует содержимое мета-раскладки вкарта супер-ключей.Что-то вроде следующего:

(defun copy-one-key (from-keymap to-keymap key-sequence)
   ;; don't bind keys already bound
   (unless (get-key-binding to-keymap key-sequence)
      (set-key-binding to-key-map key-sequence
         (get-key-binding from-keymap key-sequence)
         ) ; set
      ) ; when
   ) ; defun

(defun copy-keymap (from-keymap to-keymap)
   (mapcar from-keymap 
      (lambda key-sequence 
          (copy-one-key from-keymap to-keymap key-sequence)
          ) ; lambda
       ) ; mapcar
    ) ; defun

(copy-keymap meta-keymap super-keymap)

В связанной проблеме.Я не знаю, есть ли на самом деле именованные таблицы ключей для карты мета-ключей и карты супер-ключей, если мне нужно каким-то образом анализировать их из карты глобальных ключей, ища «M-» и меняя ее на «s -».

Я забыл добавить, что по сути хочу добавить совет для каждой функции, которую я копирую.

...