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 the search will find text made invisible by overlays, type M-s i (isearch-toggle-invisible). See Outline Search. To make all incremental searches find matches inside invisible text, whether due to text properties or overlay properties, customize search-invisible to the value t.

To toggle between non-regexp and regexp incremental search, type M-r or M-s r (isearch-toggle-regexp). 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 during incremental search:

You can also include Emoji sequences in the search string. Type C-x 8 e RET (isearch-emoji-by-name), followed by the Unicode name of an Emoji (for example, smiling face or heart with arrow). This adds the specified Emoji to the search string. If you don’t know the name of the Emoji you want to search for, you can use C-x 8 e l (emoji-list) and C-x 8 e d (emoji-describe) (see Input Methods).

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 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 (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).

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.