diff --git a/ivy-test.el b/ivy-test.el
index 866eaa72..a654ad62 100644
--- a/ivy-test.el
+++ b/ivy-test.el
@@ -20,6 +20,10 @@
;; see .
(require 'ert)
+
+;; useful for #'ivy-read-remap. It must arrive before (require 'ivy)
+(define-key global-map (kbd "") #'end-of-buffer)
+
(require 'ivy)
(require 'counsel)
@@ -79,6 +83,12 @@
"can C-m")
"can")))
+(ert-deftest ivy-read-remap ()
+ (should (equal
+ (ivy-with '(ivy-read "pattern: " '("blue" "yellow" "red"))
+ " C-m")
+ "red")))
+
(ert-deftest swiper--re-builder ()
(setq swiper--width 4)
(should (string= (swiper--re-builder "^")
diff --git a/ivy.el b/ivy.el
index 16e7d7fc..762e50a1 100644
--- a/ivy.el
+++ b/ivy.el
@@ -223,25 +223,25 @@ Example:
(define-key map (kbd "C-j") 'ivy-alt-done)
(define-key map (kbd "C-M-j") 'ivy-immediate-done)
(define-key map (kbd "TAB") 'ivy-partial-or-done)
- (define-key map (kbd "C-n") 'ivy-next-line)
- (define-key map (kbd "C-p") 'ivy-previous-line)
- (define-key map (kbd "") 'ivy-next-line)
- (define-key map (kbd "") 'ivy-previous-line)
+ (define-key map [remap next-line] 'ivy-next-line)
+ (define-key map [remap previous-line] 'ivy-previous-line)
+ (define-key map [remap next-line] 'ivy-next-line)
+ (define-key map [remap previous-line] 'ivy-previous-line)
(define-key map (kbd "C-s") 'ivy-next-line-or-history)
(define-key map (kbd "C-r") 'ivy-reverse-i-search)
(define-key map (kbd "SPC") 'self-insert-command)
- (define-key map (kbd "DEL") 'ivy-backward-delete-char)
- (define-key map (kbd "M-DEL") 'ivy-backward-kill-word)
- (define-key map (kbd "C-d") 'ivy-delete-char)
- (define-key map (kbd "C-f") 'ivy-forward-char)
- (define-key map (kbd "M-d") 'ivy-kill-word)
- (define-key map (kbd "M-<") 'ivy-beginning-of-buffer)
- (define-key map (kbd "M->") 'ivy-end-of-buffer)
+ (define-key map [remap backward-delete-char] 'ivy-backward-delete-char)
+ (define-key map [remap backward-kill-word] 'ivy-backward-kill-word)
+ (define-key map [remap delete-char] 'ivy-delete-char)
+ (define-key map [remap forward-char] 'ivy-forward-char)
+ (define-key map [remap kill-word] 'ivy-kill-word)
+ (define-key map [remap beginning-of-buffer] 'ivy-beginning-of-buffer)
+ (define-key map [remap end-of-buffer] 'ivy-end-of-buffer)
(define-key map (kbd "M-n") 'ivy-next-history-element)
(define-key map (kbd "M-p") 'ivy-previous-history-element)
(define-key map (kbd "C-g") 'minibuffer-keyboard-quit)
- (define-key map (kbd "C-v") 'ivy-scroll-up-command)
- (define-key map (kbd "M-v") 'ivy-scroll-down-command)
+ (define-key map [remap scroll-up-command] 'ivy-scroll-up-command)
+ (define-key map [remap scroll-down-command] 'ivy-scroll-down-command)
(define-key map (kbd "C-M-n") 'ivy-next-line-and-call)
(define-key map (kbd "C-M-p") 'ivy-previous-line-and-call)
(define-key map (kbd "M-q") 'ivy-toggle-regexp-quote)
@@ -250,14 +250,14 @@ Example:
(define-key map (kbd "C-o") 'hydra-ivy/body)
(define-key map (kbd "M-o") 'ivy-dispatching-done)
(define-key map (kbd "C-M-o") 'ivy-dispatching-call)
- (define-key map (kbd "C-k") 'ivy-kill-line)
+ (define-key map [remap kill-line] 'ivy-kill-line)
(define-key map (kbd "S-SPC") 'ivy-restrict-to-matches)
- (define-key map (kbd "M-w") 'ivy-kill-ring-save)
+ (define-key map [remap kill-ring-save] 'ivy-kill-ring-save)
(define-key map (kbd "C-'") 'ivy-avy)
(define-key map (kbd "C-M-a") 'ivy-read-action)
(define-key map (kbd "C-c C-o") 'ivy-occur)
(define-key map (kbd "C-c C-a") 'ivy-toggle-ignore)
- (define-key map (kbd "C-h m") 'ivy-help)
+ (define-key map [remap describe-mode] 'ivy-help)
map)
"Keymap used in the minibuffer.")
(autoload 'hydra-ivy/body "ivy-hydra" "" t)