<div>I finally got the &lt;backspace&gt; binded in ibuffer by &quot;forcing&quot; rebind like this:</div><div><br></div><div>(eval-after-load &#39;ibuffer</div><div>  &#39;(progn</div><div>     ;; use the standard ibuffer bindings as a base</div>
<div>     (set-keymap-parent</div><div>      (evil-get-auxiliary-keymap ibuffer-mode-map &#39;normal t)</div><div>      (assq-delete-all &#39;menu-bar (copy-keymap ibuffer-mode-map)))</div><div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;j&quot; &#39;ibuffer-forward-line)</div>
<div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;k&quot; &#39;ibuffer-backward-line)</div><div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;J&quot; &#39;ibuffer-jump-to-buffer) ; &quot;j&quot;</div>
<div>     (evil-define-key &#39;normal ibuffer-mode-map (kbd &quot;DEL&quot;) &#39;ibuffer-unmark-backward)))</div><div><br></div><div>But the question is: why wasn&#39;t this binding &quot;overwritten&quot; from the &quot;copy-keymap&quot;?</div>
<div><br></div><div>Thanks,</div><div><br></div><div>York</div><div><br></div><div><br></div><div>On Thu, Aug 11, 2011 at 3:04 PM, York Zhao &lt;<a href="mailto:gtdplatform@gmail.com">gtdplatform@gmail.com</a>&gt; wrote:</div>
<div>Hi,</div><div><br></div><div>I have this code to inherite most of the ibuffer key bindings while still keep the &quot;j&quot; and &quot;k&quot; bindings.</div><div><br></div><div>(eval-after-load &#39;ibuffer</div><div>
  &#39;(progn</div><div>     ;; use the standard ibuffer bindings as a base</div><div>     (set-keymap-parent</div><div>      (evil-get-auxiliary-keymap ibuffer-mode-map &#39;normal t)</div><div>      (assq-delete-all &#39;menu-bar (copy-keymap ibuffer-mode-map)))</div>
<div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;j&quot; &#39;ibuffer-forward-line)</div><div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;k&quot; &#39;ibuffer-backward-line)</div><div>     (evil-define-key &#39;normal ibuffer-mode-map &quot;J&quot; &#39;ibuffer-jump-to-buffer) ; &quot;j&quot;</div>
<div>     ))</div><div><br></div><div>This works fine however if I rebind the &lt;backspace&gt; before the previous code like this:</div><div><br></div><div>(define-key evil-normal-state-map (kbd &quot;&lt;backspace&gt;&quot;) &#39;scroll-down)</div>
<div><br></div><div>The &lt;backspace&gt; key would then &quot;fixed&quot; to my binding (scroll-down) instead of the ibuffer binding. Is there any &quot;better&quot; way of rebinding evil keys? Or, is it possible for Evil to handle this situation?</div>
<div><br></div><div>Thanks,</div><div><br></div><div>York</div><div><br></div>