Rebinded key becomes un-changeable

York Zhao gtdplatform at gmail.com
Thu Aug 11 21:19:29 CEST 2011


I finally got the <backspace> binded in ibuffer by "forcing" rebind like
this:

(eval-after-load 'ibuffer
  '(progn
     ;; use the standard ibuffer bindings as a base
     (set-keymap-parent
      (evil-get-auxiliary-keymap ibuffer-mode-map 'normal t)
      (assq-delete-all 'menu-bar (copy-keymap ibuffer-mode-map)))
     (evil-define-key 'normal ibuffer-mode-map "j" 'ibuffer-forward-line)
     (evil-define-key 'normal ibuffer-mode-map "k" 'ibuffer-backward-line)
     (evil-define-key 'normal ibuffer-mode-map "J" 'ibuffer-jump-to-buffer)
; "j"
     (evil-define-key 'normal ibuffer-mode-map (kbd "DEL")
'ibuffer-unmark-backward)))

But the question is: why wasn't this binding "overwritten" from the
"copy-keymap"?

Thanks,

York


On Thu, Aug 11, 2011 at 3:04 PM, York Zhao <gtdplatform at gmail.com> wrote:
Hi,

I have this code to inherite most of the ibuffer key bindings while still
keep the "j" and "k" bindings.

(eval-after-load 'ibuffer
  '(progn
     ;; use the standard ibuffer bindings as a base
     (set-keymap-parent
      (evil-get-auxiliary-keymap ibuffer-mode-map 'normal t)
      (assq-delete-all 'menu-bar (copy-keymap ibuffer-mode-map)))
     (evil-define-key 'normal ibuffer-mode-map "j" 'ibuffer-forward-line)
     (evil-define-key 'normal ibuffer-mode-map "k" 'ibuffer-backward-line)
     (evil-define-key 'normal ibuffer-mode-map "J" 'ibuffer-jump-to-buffer)
; "j"
     ))

This works fine however if I rebind the <backspace> before the previous code
like this:

(define-key evil-normal-state-map (kbd "<backspace>") 'scroll-down)

The <backspace> key would then "fixed" to my binding (scroll-down) instead
of the ibuffer binding. Is there any "better" way of rebinding evil keys?
Or, is it possible for Evil to handle this situation?

Thanks,

York
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/implementations-list/attachments/20110811/36265a0f/attachment.htm 


More information about the implementations-list mailing list