Next: Not Exiting Isearch, Previous: Error in Isearch, Up: Incremental Search
In addition to characters described in the previous subsections, some of the other characters you type during incremental search have special effects. They are described here.
To toggle lax space matching (see lax space matching), type M-s <SPC>.
To toggle case sensitivity of the search, type M-c or M-s c. See case folding. If the search string includes upper-case letters, the search is case-sensitive by default.
To toggle whether or not the search will consider similar and equivalent characters as a match, type M-s '. See character folding. If the search string includes accented characters, that disables character folding during that search.
To toggle whether or not invisible text is searched, type
M-s i (isearch-toggle-invisible
). See Outline Search.
To toggle between non-regexp and regexp incremental search, type
M-r or M-s r (isearch-toggle-regexp
).
See Regexp Search.
To toggle symbol mode, type M-s _. See Symbol Search.
To search for a newline character, type C-j as part of the search string.
To search for non-ASCII characters, use one of the following methods:
isearch-quote-char
), followed by a non-graphic
character or a sequence of octal digits. This adds a character to the
search string, similar to inserting into a buffer using C-q
(see Inserting Text). For example, C-q C-s during
incremental search adds the ‘control-S’ character to the search
string.
isearch-char-by-name
), followed by
a Unicode name or code-point in hex. This adds the specified
character into the search string, similar to the usual
insert-char
command (see Inserting Text).
isearch-toggle-input-method
). You can
also turn on a non-default input method with C-^
(isearch-toggle-specified-input-method
), which prompts for the
name of the input method. When an input method is active during
incremental search, the search prompt includes the input method
mnemonic, like this:
I-search [im]:
where im is the mnemonic of the active input method. Any input method you enable during incremental search remains enabled in the current buffer afterwards.
Typing M-s o in incremental search invokes
isearch-occur
, which runs occur
with the current search
string. See occur.
Typing M-% (isearch-query-replace
) in incremental
search invokes query-replace
or query-replace-regexp
(depending on search mode) with the current search string used as the
string to replace. A negative prefix argument means to replace
backward. See Query Replace. Typing C-M-%
(isearch-query-replace-regexp
) invokes
query-replace-regexp
with the current search string used as the
regexp to replace.
Typing M-<TAB> in incremental search invokes
isearch-complete
, which attempts to complete the search string
using the search ring (the previous search strings you used) as a list
of completion alternatives. See Completion. In many operating
systems, the M-<TAB> key sequence is captured by the window
manager; you then need to rebind isearch-complete
to another
key sequence if you want to use it (see Rebinding).
You can exit the search while leaving the matches for the last
search string highlighted on display. To this end, type M-s h r
(isearch-highlight-regexp
), which will run
highlight-regexp
(see Highlight Interactively) passing
it the regexp derived from the last search string and prompting you
for the face to use for highlighting. To remove the highlighting,
type M-s h u (unhighlight-regexp
).
When incremental search is active, you can type C-h C-h
(isearch-help-map
) to access interactive help options,
including a list of special key bindings. These key bindings are part
of the keymap isearch-mode-map
(see Keymaps).