I thought I could just use minibuffer-local-map but it isn't working.

With emacs -Q I eval:

(define-key minibuffer-local-map (kbd "TAB") nil)

Then open up M-: and hit C-h c TAB and it says TAB runs the command completion-at-point. What gives?

What I really want to do is map tab in the minibuffer to helm-lisp-completion-at-point. It also would be helpful if I could map it only for eval-expression but that's not required.

1 Answer 1


Try this:

(add-hook 'minibuffer-setup-hook
          (lambda ()
            (local-set-key (kbd "TAB") nil)))
  • Thanks, but no, that still doesn't work.
    – nanny
    Nov 21, 2014 at 19:30
  • Actually never mind, that works if I put helm-lisp-completion in place of nil. Thanks!
    – nanny
    Nov 21, 2014 at 19:31
  • How can I bind it for C-h?
    – alper
    Jul 8, 2021 at 10:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.