Uso use-package
per gestire i pacchetti installati e bind-key
assegnare azioni alle chiavi personalizzate che mi piacciono.
Sovrascrivo la maggior parte del keybinding predefinito di Emacs (es. C-nDiventa M-k, C-pdiventa M-i), ma sto bene con altre modalità che sovrascrivono il mio schema di keybinding. A volte, tuttavia, voglio che il mio keybinding persista. Voglio M-kdire qualcos'altro, rispetto a Gnus o Helm predefiniti.
Tuttavia, sono tutti in conflitto tra loro all'avvio di Emacs, perché non riesco ad aggiungere un'associazione a una keymap, se non esiste (perché a use-package
volte difende il caricamento di un pacchetto). Ad esempio, i seguenti comandi generano errori (ad esempio (void-variable helm-map)
), poiché Helm e Gnus non sono ancora completamente caricati.
(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)
Ho tutte le mie use-package
invocazioni in un file e bind-key
per le combinazioni di tasti personalizzate in un altro file. Non voglio mettere i bind nelle use-package
chiamate, perché forse voglio pubblicare il mio schema di keybinding personalizzato come pacchetto autonomo. E se volessi che qualcuno che installava il mio schema avesse anche le combinazioni di tasti locali di Helm e Gnus?
Come posso gestire le associazioni di tasti in modalità locale usando bind-key
, in modo che tutte le chiavi siano impostate anche se i pacchetti sono stati caricati di recente e tutte le impostazioni delle chiavi sono all'interno di un file?