Saya menggunakan use-packageuntuk mengelola paket yang diinstal dan bind-keyuntuk menetapkan tindakan ke tombol kustom yang saya suka.
Saya menimpa sebagian besar penjilidan kunci Emacs default (misalnya C-nmenjadi M-k, C-pmenjadi M-i), tapi saya OK dengan mode lain mengabaikan skema penjilidan kunci saya. Kadang-kadang, saya ingin pengikat kunci saya bertahan. Saya ingin M-kberarti sesuatu yang lain, daripada di default Gnus atau Helm.
Namun mereka semua bertentangan satu sama lain pada startup Emacs, karena saya tidak dapat menambahkan ikatan ke keymap, jika itu tidak ada (karena use-packagekadang-kadang menolak pemuatan paket). Misalnya, perintah berikut melempar kesalahan (misalnya (void-variable helm-map)), karena Helm dan Gnus belum dimuat sepenuhnya.
(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)
Saya memiliki semua use-packagedoa saya di satu file dan bind-keyuntuk keybindings kustom di file lain. Saya tidak ingin memasukkan binding ke dalam use-packagepanggilan, karena mungkin saya ingin mempublikasikan skema pengikat kunci khusus saya sebagai paket mandiri. Bagaimana jika saya ingin seseorang menginstal skema saya dan Helm dan Gnus keybindings lokal saya juga diganti?
Bagaimana cara saya mengelola ikatan kunci mode-lokal menggunakan bind-key, sehingga semua kunci diatur bahkan jika paket dimuat akhir-akhir ini, dan semua pengaturan kunci berada di dalam satu file?