Hi Tom,
I think this is everything:
;;; Customised from
http://emacs.stackexchange.com/a/358(defvar my-keys-minor-mode-map (make-sparse-keymap)
"Keymap while my-keys-minor-mode is active.")
(define-key my-keys-minor-mode-map (kbd "C-c g") 'goto-line)
;; ... etc
;; Prompt for confirmation beforeclosing
(define-key my-keys-minor-mode-map (kbd "C-x C-c") 'ask-before-closing)
;;;###autoload
(define-minor-mode my-keys-minor-mode
"A minor mode so that my key settings override annoying major modes."
:init-value nil
:lighter " my-keys"
:keymap my-keys-minor-mode-map)
;; Source:
http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs(defadvice load (after give-my-keybindings-priority)
"Try to ensure that my keybindings always have priority."
(if (not (eq (car (car minor-mode-map-alist)) 'my-keys-minor-mode))
(let ((mykeys (assq 'my-keys-minor-mode minor-mode-map-alist)))
(assq-delete-all 'my-keys-minor-mode minor-mode-map-alist)
(add-to-list 'minor-mode-map-alist mykeys))))
(ad-activate 'load)
;;;###autoload
(defun turn-on-my-keys-minor-mode ()
"Turns on my-keys-minor-mode."
(interactive)
(my-keys-minor-mode 1))
;;;###autoload
(defun turn-off-my-keys-minor-mode ()
"Turns off my-keys-minor-mode."
(interactive)
(my-keys-minor-mode -1))
;;;###autoload
(define-globalized-minor-mode global-my-keys-minor-mode my-keys-minor-mode turn-on-my-keys-minor-mode)
;; Turn off the minor mode in the minibuffer
(add-hook 'minibuffer-setup-hook #'turn-off-my-keys-minor-mode)
(provide 'my-keys-minor-mode)
;; Turn on for all buffers
(global-my-keys-minor-mode)