racer-rust / emacs-racer

Racer support for Emacs
399 stars 48 forks source link

Is it possible re-bind keymap of racer-mode? #116

Closed ccqpein closed 5 years ago

ccqpein commented 5 years ago

I am using use-package to load rust-mode and racer-mode, everything looks perfect except my helm-gtags-mode already has M-. key binding. I'd like replace racer-mode's M-. to helm-gtags one.

However, when I try (define-key racer-mode-map (kbd "M-.") 'helm-gtags-dwim), emacs shows me racer-mode-map is a free variable.

Is it a recommend way to make key-replacement happen?

Thanks

Wilfred commented 5 years ago

You need racer.el to be loaded so that racer-mode-map exists. You could do that like this:

(require 'racer)
;; Prefer #' for functions, so the byte compiler can spot issues in more circumstances.
(define-key racer-mode-map (kbd "M-.") #'helm-gtags-dwim)

But if you're using use-package (which is a great package!) the equivalent is:

(use-package racer
  :config
  (define-key racer-mode-map (kbd "M-.") #'helm-gtags-dwim))
ccqpein commented 5 years ago

Thanks, it works, looks like I need a separate use-package block instead load it in rust-mode block.