Баумихель нашел хитрость. Я просто добавляю быстрый фрагмент, чтобы помочь:
Во-первых, поскольку autopair-mode
просто добавляет autopair-emulation-alist
, оцените:
(defadvice viper-change-state-to-insert (after autopair nil activate)
(add-to-ordered-list 'emulation-mode-map-alists 'autopair-emulation-alist 300))
Затем, помните, что vimpulse-normalize-minor-mode-map-alist
удаляет все viper
раскладок клавиатуры перед списком, поэтому выполните:
(defadvice vimpulse-normalize-minor-mode-map-alist (after order-viper--key-maps nil activate)
(add-to-ordered-list 'emulation-mode-map-alists 'viper--key-maps 500))
Это работает для меня! Я оцениваю эти фрагменты во встроенном eval-after-load
для vimpulse
и autopair
.
Моя идея заключается в том, что Emacs dev должен переосмыслить emulation-mode-map-alists
и использовать порядок приоритетов индексации списка свойств, например: ((:name viper--key-maps :after (cua--keymap-alist autopair-emulation-alist)) (:name viper--intercept-key-maps :before (cua--keymap-alist autopair-emulation-alist)))
. Старые пакеты, такие как viper
, CUA
и т. Д., Должны быть лучше поддержаны, потому что наша установка после Emacs после многих лет становится ужасной.