Używam use-packagedo zarządzania zainstalowanymi pakietami i bind-keyprzypisywania akcji niestandardowym kluczom, które lubię.
Zastępuję większość domyślnych skrótów klawiszowych Emacsa (np. C-nStaje się M-k, C-pstaje się M-i), ale nie mam nic przeciwko innym trybom zastępującym mój schemat przypisywania klawiszy. Czasami chcę jednak, aby moje skróty klawiszowe trwały. Chcę mieć na M-kmyśli coś innego niż domyślny Gnus lub Hełm.
Jednak wszystkie one powodują konflikty podczas uruchamiania Emacsa, ponieważ nie mogę dodać powiązania do mapy klawiszy, jeśli nie istnieje (ponieważ use-packageczasami odkłada ładowanie pakietu). Na przykład następujące polecenia generują błędy (np. (void-variable helm-map)), Ponieważ Helm i Gnus nie są jeszcze w pełni załadowane.
(bind-key "M-Y" 'helm-end-of-buffer helm-map)
(bind-key "M-k" 'helm-next-line helm-find-files-map)
(bind-key "M-s" 'other-window gnus-summary-mode-map)
Mam wszystkie moje use-packagewywołania w jednym pliku, a bind-keyniestandardowe skróty klawiszowe w innym pliku. Nie chcę wstawiać powiązań do use-packagewywołań, ponieważ być może chcę opublikować własny niestandardowy schemat przypisywania klawiszy jako samodzielny pakiet. Co zrobić, jeśli chcę, aby ktoś instalujący mój schemat miał również nadpisane lokalne skróty klawiszowe Helm i Gnus?
Jak zarządzać lokalnymi trybami bind-keyskrótów klawiszowych , aby wszystkie klucze były ustawione, nawet jeśli ostatnio ładowane są pakiety, a wszystkie ustawienia kluczy znajdują się w jednym pliku?