Variable: isearch-mode-map

isearch-mode-map is a variable defined in isearch.el.gz.

Value

Large value
<backspace>           undefined
<dead-acute>          nil
<dead-asciicircum>    nil
<dead-asciitilde>     nil
<dead-circum>         nil
<dead-circumflex>     nil
<dead-diaeresis>      nil
<dead-grave>          nil
<dead-tilde>          nil
<delete-frame>        nil
<down-mouse-2>        nil
<f1> <f1>             isearch-help-for-help
<f1> <help>           isearch-help-for-help
<f1> ?                isearch-help-for-help
<f1> C-h              isearch-help-for-help
<f1> b                isearch-describe-bindings
<f1> k                isearch-describe-key
<f1> m                isearch-describe-mode
<f1> q                help-quit
<help> <f1>           isearch-help-for-help
<help> <help>         isearch-help-for-help
<help> ?              isearch-help-for-help
<help> C-h            isearch-help-for-help
<help> b              isearch-describe-bindings
<help> k              isearch-describe-key
<help> m              isearch-describe-mode
<help> q              help-quit
<iconify-frame>       nil
<ignore>              #<anonymous-function>
<language-change>     nil
<make-frame-visible>  nil
<mouse-2>             isearch-mouse-2
<mouse-movement>      nil
<mute-acute>          nil
<mute-asciicircum>    nil
<mute-asciitilde>     nil
<mute-diaeresis>      nil
<mute-grave>          nil
<return>              isearch-exit
<switch-frame>        nil
<xterm-paste>         isearch-xterm-paste
A-!                   nil
A-"                   nil
A-$                   nil
A-'                   nil
A-*                   nil
A-+                   nil
A-,                   nil
A--                   nil
A-.                   nil
A-/                   nil
A-1                   nil
A-2                   nil
A-3                   nil
A-<                   nil
A-=                   nil
A->                   nil
A-?                   nil
A-A                   nil
A-C                   nil
A-E                   nil
A-L                   nil
A-N                   nil
A-O                   nil
A-P                   nil
A-R                   nil
A-S                   nil
A-SPC                 nil
A-T                   nil
A-Y                   nil
A-[                   nil
A-]                   nil
A-^                   nil
A-_                   nil
A-`                   nil
A-a                   nil
A-c                   nil
A-m                   nil
A-o                   nil
A-u                   nil
A-x                   nil
A-{                   nil
A-|                   nil
A-}                   nil
A-~                   nil
C-M-%                 isearch-query-replace-regexp
C-M-d                 isearch-del-char
C-M-i                 isearch-complete
C-M-r                 isearch-repeat-backward
C-M-s                 isearch-repeat-forward
C-M-w                 isearch-yank-symbol-or-char
C-M-y                 isearch-yank-char
C-M-z                 isearch-yank-until-char
C-\                   isearch-toggle-input-method
C-^                   isearch-toggle-specified-input-method
C-g                   isearch-abort
C-h <f1>              isearch-help-for-help
C-h <help>            isearch-help-for-help
C-h ?                 isearch-help-for-help
C-h C-h               isearch-help-for-help
C-h b                 isearch-describe-bindings
C-h k                 isearch-describe-key
C-h m                 isearch-describe-mode
C-h q                 help-quit
C-q                   isearch-quote-char
C-r                   isearch-repeat-backward
C-s                   isearch-repeat-forward
C-w                   isearch-yank-word-or-char
C-x 8 RET             isearch-char-by-name
C-x 8 e RET           isearch-emoji-by-name
C-x \                 isearch-transient-input-method
C-y                   isearch-yank-kill
DEL                   isearch-delete-char
ESC ESC ESC           isearch-cancel
M-%                   isearch-query-replace
M-c                   isearch-toggle-case-fold
M-e                   isearch-edit-string
M-n                   isearch-ring-advance
M-p                   isearch-ring-retreat
M-r                   isearch-toggle-regexp
M-s '                 isearch-toggle-char-fold
M-s C-e               isearch-yank-line
M-s M-<               isearch-beginning-of-buffer
M-s M->               isearch-end-of-buffer
M-s SPC               isearch-toggle-lax-whitespace
M-s _                 isearch-toggle-symbol
M-s c                 isearch-toggle-case-fold
M-s e                 isearch-edit-string
M-s h l               isearch-highlight-lines-matching-regexp
M-s h r               isearch-highlight-regexp
M-s i                 isearch-toggle-invisible
M-s o                 isearch-occur
M-s r                 isearch-toggle-regexp
M-s w                 isearch-toggle-word
M-y                   isearch-yank-pop-only
RET                   isearch-exit
S-<dead-acute>        nil
S-<dead-asciicircum>  nil
S-<dead-asciitilde>   nil
S-<dead-circum>       nil
S-<dead-circumflex>   nil
S-<dead-diaeresis>    nil
S-<dead-grave>        nil
S-<dead-tilde>        nil
S-SPC                 isearch-printing-char
€..\x3FFFFF                  isearch-printing-char
€..\x3FFFFF                  isearch-printing-char
€..\x3FFFFF                  isearch-printing-char

Documentation

Keymap for isearch-mode(var)/isearch-mode(fun).

View in manual

Probably introduced at or before Emacs version 19.1.

Source Code

;; Defined in /usr/src/emacs/lisp/isearch.el.gz
;; Note: Before adding more key bindings to this map, please keep in
;; mind that any unbound key exits Isearch and runs the command bound
;; to it in the local or global map.  So in effect every key unbound
;; in this map is implicitly bound.
(defvar isearch-mode-map
  (let ((i 0)
	(map (make-keymap)))
    (or (char-table-p (nth 1 map))
	(error "The initialization of isearch-mode-map must be updated"))
    ;; Make all multibyte characters search for themselves.
    (set-char-table-range (nth 1 map) (cons #x100 (max-char))
			  'isearch-printing-char)

    ;; Single-byte printing chars extend the search string by default.
    (setq i ?\s)
    (while (< i 256)
      (define-key map (vector i) 'isearch-printing-char)
      (setq i (1+ i)))

    ;; To handle local bindings with meta char prefix keys, define
    ;; another full keymap.  This must be done for any other prefix
    ;; keys as well, one full keymap per char of the prefix key.  It
    ;; would be simpler to disable the global keymap, and/or have a
    ;; default local key binding for any key not otherwise bound.
    (let ((meta-map (make-sparse-keymap)))
      (define-key map (char-to-string meta-prefix-char) meta-map))

    ;; Several non-printing chars change the searching behavior.
    (define-key map "\C-s" 'isearch-repeat-forward)
    (define-key map "\C-r" 'isearch-repeat-backward)
    ;; Define M-C-s and M-C-r like C-s and C-r so that the same key
    ;; combinations can be used to repeat regexp isearches that can
    ;; be used to start these searches.
    (define-key map "\M-\C-s" 'isearch-repeat-forward)
    (define-key map "\M-\C-r" 'isearch-repeat-backward)
    (define-key map "\177" 'isearch-delete-char)
    (define-key map [backspace] 'undefined) ;bug#20466.
    (define-key map "\C-g" 'isearch-abort)

    ;; This assumes \e is the meta-prefix-char.
    (or (= ?\e meta-prefix-char)
	(error "Inconsistency in isearch.el"))
    (define-key map "\e\e\e" 'isearch-cancel)

    (define-key map "\C-q" 'isearch-quote-char)

    (define-key map "\r" 'isearch-exit)
    (define-key map [return] 'isearch-exit)
    (define-key map "\C-j" 'isearch-printing-char)
    (define-key map "\t" 'isearch-printing-char)
    (define-key map [?\S-\ ] 'isearch-printing-char)

    (define-key map    "\C-w" 'isearch-yank-word-or-char)
    (define-key map "\M-\C-w" 'isearch-yank-symbol-or-char)
    (define-key map "\M-\C-d" 'isearch-del-char)
    (define-key map "\M-\C-y" 'isearch-yank-char)
    (define-key map    "\C-y" 'isearch-yank-kill)
    (define-key map "\M-\C-z" 'isearch-yank-until-char)
    (define-key map "\M-s\C-e" 'isearch-yank-line)

    (define-key map "\M-s\M-<" 'isearch-beginning-of-buffer)
    (define-key map "\M-s\M->" 'isearch-end-of-buffer)

    (define-key map (char-to-string help-char) isearch-help-map)
    (define-key map [help] isearch-help-map)
    (define-key map [f1] isearch-help-map)

    (define-key map "\M-n" 'isearch-ring-advance)
    (define-key map "\M-p" 'isearch-ring-retreat)
    (define-key map "\M-y" 'isearch-yank-pop-only)

    (define-key map "\M-\t" 'isearch-complete)

    ;; Frame events should exit the search, because such frame events
    ;; as `switch-frame’ and `delete-frame’ change the current buffer.
    ;; See Bug#41338 for details.
    (define-key map [switch-frame] nil)
    (define-key map [delete-frame] nil)
    (define-key map [iconify-frame] nil)
    (define-key map [make-frame-visible] nil)
    (define-key map [mouse-movement] nil)
    (define-key map [language-change] nil)

    ;; For searching multilingual text.
    (define-key map "\C-\\" 'isearch-toggle-input-method)
    (define-key map "\C-^" 'isearch-toggle-specified-input-method)
    (define-key map "\C-x\\" 'isearch-transient-input-method)

    ;; People expect to be able to paste with the mouse.
    (define-key map [mouse-2] #'isearch-mouse-2)
    (define-key map [down-mouse-2] nil)
    (define-key map [xterm-paste] #'isearch-xterm-paste)

    ;; Some bindings you may want to put in your isearch-mode-hook.
    ;; Suggest some alternates...
    (define-key map "\M-c" 'isearch-toggle-case-fold)
    (define-key map "\M-r" 'isearch-toggle-regexp)
    (define-key map "\M-e" 'isearch-edit-string)

    (put 'isearch-toggle-case-fold :advertised-binding "\M-sc")
    (put 'isearch-toggle-regexp    :advertised-binding "\M-sr")
    (put 'isearch-edit-string      :advertised-binding "\M-se")

    (define-key map "\M-se" 'isearch-edit-string)
    ;; More toggles defined by `isearch-define-mode-toggle'.

    (define-key map [?\M-%] 'isearch-query-replace)
    (define-key map [?\C-\M-%] 'isearch-query-replace-regexp)
    (define-key map "\M-so" 'isearch-occur)
    (define-key map "\M-shr" 'isearch-highlight-regexp)
    (define-key map "\M-shl" 'isearch-highlight-lines-matching-regexp)

    ;; The key translations defined in the C-x 8 prefix should add
    ;; characters to the search string.  See iso-transl.el.
    (define-key map "\C-x8\r" 'isearch-char-by-name)
    (define-key map "\C-x8e\r" 'isearch-emoji-by-name)
    map)
  "Keymap for `isearch-mode'.")