ReverseFlux

Better override

Feb 6th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. (defvar custom-keys-mode-map (make-keymap) "custom-keys-mode keymap.")
  2. (define-minor-mode custom-keys-mode
  3. "A minor mode so that my key settings override annoying major modes."
  4. t " my-keys" 'custom-keys-mode-map)
  5. (custom-keys-mode 1)
  6.  
  7. (defun my-minibuffer-setup-hook ()
  8. (custom-keys-mode 0))
  9. (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
  10.  
  11. (defadvice load (after give-my-keybindings-priority)
  12. "Try to ensure that my keybindings always have priority."
  13. (if (not (eq (car (car minor-mode-map-alist)) 'custom-keys-mode))
  14. (let ((mykeys (assq 'custom-keys-mode minor-mode-map-alist)))
  15. (assq-delete-all 'custom-keys-mode minor-mode-map-alist)
  16. (add-to-list 'minor-mode-map-alist mykeys))))
  17. (ad-activate 'load)
  18. (define-key custom-keys-mode-map (kbd "<C-key>") 'some-command)
Advertisement
Add Comment
Please, Sign In to add comment