Something in vimpulse or its dependencies clashes with dired-x: This is what happens when I (require 'dired-x) if vimpulse is loaded: Is vimpulse remapping M-o? ebugger entered--Lisp error: (error "Key sequence M-o starts with non-prefix key ") define-key((keymap #^[nil nil keymap #^^[3 0 nil nil nil nil nil nil nil nil viper-backward-char nil bookmarkp-dired-jump-current nil nil dired-find-file viper-next-line dired-display-file viper-previous-line nil nil nil ... nil nil nil ... nil nil viper-intercept-ESC-key nil nil nil nil viper-forward-char dired-do-shell-command nil dired-flag-auto-save-files dired-hide-subdir ... dired-do-async-shell-command nil nil nil ... dired-create-directory nil negative-argument dired-clean-directory nil ...] #^^[1 0 #^^[2 0 #^^[3 0 nil nil nil nil nil nil nil nil viper-backward-char nil bookmarkp-dired-jump-current nil nil dired-find-file viper-next-line dired-display-file viper-previous-line nil nil nil ... nil nil nil ... nil nil viper-intercept-ESC-key nil nil nil nil viper-forward-char dired-do-shell-command nil dired-flag-auto-save-files dired-hide-subdir ... dired-do-async-shell-command nil nil nil ... dired-create-directory nil negative-argument dired-clean-directory nil ...] nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...] (backspace . viper-backward-char) (menu-bar keymap (operate "Operate" keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... "Operate") (mark "Mark" keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... "Mark") (regexp "Regexp" keymap ... ... ... ... ... ... ... ... ... ... ... "Regexp") (immediate "Immediate" keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... "Immediate") (subdir "Subdir" keymap ... ... ... ... ... ... ... ... ... ... ... ... ... "Subdir")) (up . dired-previous-line) (down . dired-next-line) (follow-link . mouse-face) (mouse-2 . dired-mouse-find-file-other-window) (remap keymap (vimpulse-visual-insert . viper-nil) (vimpulse-visual-append . viper-nil) (vimpulse-delete . viper-nil) (vimpulse-change . viper-nil) (viper-substitute-line . viper-nil) (viper-substitute . viper-nil) (viper-kill-line . viper-nil) (viper-insert . viper-nil) (viper-command-argument . viper-nil) (viper-change-to-eol . viper-nil) (viper-append . viper-nil) (viper-Insert . viper-nil) (viper-Append . viper-nil) (advertised-undo . dired-undo) (undo . dired-undo) (self-insert-command . undefined))) "\357" dired-omit-mode) byte-code("\306 \307\310#\210\306 \311\312#\210\306 \313\314#\210\306 \315\314#\210\306 \316\317#\210\306 \320\321#\210\306 \322\323#\210\306 \324\325#\210\306 \326\327#\210\306 \330\331#\210\306 \332\333#\210\306 \334\335#\210 \203R Alessandro Piras