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 (
See Regular Expression 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-charcommand (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:
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. Finally, you can temporarily enable a
transient input method (see transient input method) with
C-x \ (
isearch-transient-input-method) to insert a single
character to the search string using an input method, and
automatically disable the input method 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
(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-%
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 Changing Key Bindings Interactively).
You can exit the search while leaving the matches highlighted by
typing M-s h r (
isearch-highlight-regexp). This runs
highlight-regexp (see Interactive Highlighting), passing it
the regexp derived from the search string and prompting you for the face
to use for highlighting. To highlight whole lines containing
matches (rather than just the matches), type M-s h l
isearch-highlight-lines-matching-regexp). In either case, to
remove the highlighting, type M-s h u (
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).
When incremental search is active, typing M-s M-> will go to the last occurrence of the search string, and M-s M-< will go to the first occurrence. With a prefix numeric argument of n, these commands will go to the nth occurrence of the search string counting from the beginning or end of the buffer, respectively.