+@node Non-ASCII Isearch
+@subsection Isearch for Non-@acronym{ASCII} Characters
+
+@cindex searching for non-@acronym{ASCII} characters
+@cindex input method, during incremental search
+
+ To enter non-@acronym{ASCII} characters in an incrementral search,
+you must use an input method (@pxref{Input Methods}). If an input
+method is enabled in the current buffer when you start the search, you
+can use it while you type the search string also. Emacs indicates
+that by including the input method mnemonic in its prompt, like this:
+
+@example
+I-search [@var{im}]:
+@end example
+
+@noindent
+@findex isearch-toggle-input-method
+@findex isearch-toggle-specified-input-method
+where @var{im} is the mnemonic of the active input method. You can
+toggle (enable or disable) the input method while you type the search
+string with @kbd{C-\} (@code{isearch-toggle-input-method}). You can
+turn on a certain (non-default) input method with @kbd{C-^}
+(@code{isearch-toggle-specified-input-method}), which prompts for the
+name of the input method. The input method you enable during
+incremental search remains enabled in the current buffer afterwards.
+
+@node Isearch Yank
+@subsection Isearch Yanking
+
+ The characters @kbd{C-w} and @kbd{C-y} can be used in incremental
+search to grab text from the buffer into the search string. This
+makes it convenient to search for another occurrence of text at point.
+@kbd{C-w} copies the character or word after point as part of the
+search string, advancing point over it. (The decision, whether to
+copy a character or a word, is heuristic.) Another @kbd{C-s} to
+repeat the search will then search for a string including that
+character or word.
+
+ @kbd{C-y} is similar to @kbd{C-w} but copies all the rest of the
+current line into the search string. If point is already at the end
+of a line, it grabs the entire next line. Both @kbd{C-y} and
+@kbd{C-w} convert the text they copy to lower case if the search is
+currently not case-sensitive; this is so the search remains
+case-insensitive.
+
+ @kbd{C-M-w} and @kbd{C-M-y} modify the search string by only one
+character at a time: @kbd{C-M-w} deletes the last character from the
+search string and @kbd{C-M-y} copies the character after point to the
+end of the search string. An alternative method to add the character
+after point into the search string is to enter the minibuffer by
+@kbd{M-e} and to type @kbd{C-f} at the end of the search string in the
+minibuffer.
+
+ The character @kbd{M-y} copies text from the kill ring into the search
+string. It uses the same text that @kbd{C-y} as a command would yank.
+@kbd{Mouse-2} in the echo area does the same.
+@xref{Yanking}.
+
+@node Highlight Isearch
+@subsection Lazy Search Highlighting
+@cindex lazy search highlighting
+@vindex isearch-lazy-highlight
+
+ When you pause for a little while during incremental search, it
+highlights all other possible matches for the search string. This
+makes it easier to anticipate where you can get to by typing @kbd{C-s}
+or @kbd{C-r} to repeat the search. The short delay before highlighting
+other matches helps indicate which match is the current one.
+If you don't like this feature, you can turn it off by setting
+@code{isearch-lazy-highlight} to @code{nil}.
+
+@cindex faces for highlighting search matches
+ You can control how this highlighting looks by customizing the faces
+@code{isearch} (used for the current match) and @code{lazy-highlight}
+(for all the other matches). The latter is also used for other matches
+inside @code{query-replace}.
+
+@node Isearch Scroll
+@subsection Scrolling During Incremental Search
+
+ Vertical scrolling during incremental search can be enabled by
+setting the customizable variable @code{isearch-allow-scroll} to a
+non-@code{nil} value.
+
+ You can then use the vertical scroll-bar or certain keyboard
+commands such as @kbd{@key{PRIOR}} (@code{scroll-down}),
+@kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter})
+within the search, thus letting you see more of the text near the
+current match. You must run these commands via their key sequences to
+stay in the search---typing M-x @var{comand-name} will always
+terminate a search.
+
+ You can give prefix arguments to these commands in the usual way.
+The current match cannot be scrolled out of the window---this is
+intentional.
+
+ Several other commands, such as @kbd{C-x 2}
+(@code{split-window-vertically}) and @kbd{C-x ^}
+(@code{enlarge-window}) which don't scroll the window, are
+nevertheless made available under this rubric, since they are likewise
+handy during a search.
+
+ You can make other commands usable within an incremental search by
+giving the command a non-@code{nil} @code{isearch-scroll} property.
+This works for commands that don't permanently change point, the
+buffer contents, the match data, the current buffer, or the selected
+window and frame. The command must not delete the current window and
+must not itself attempt an incremental search.
+
+@node Slow Isearch