C-s to start an incremental search. Sometimes I want to change the search string and either restart the search entirely from the beginning of the document or (other times) just change the search string and proceed from current location. How does one do this?
M-eis bound to
isearch-edit-string. It pauses Isearch and puts the current search string in the minibuffer so you can edit it. Just use
C-sagain to resume searching from the current position but with the new search string.
(I know it looks like your search string is already always in the minibuffer during Isearch, but it is not. I you use some kind of indicator of minibuffer depth then you can see the difference. For example, I use a standalone minibuffer frame, and its background changes when the minibuffer is active. And it changes to a different hue for each recursive edit (minibuffer depth). And it changes to yet another hue for Isearch.)
You can use
C-h C-h bduring Isearch to see a list of all of the Isearch key bindings (where you can find
If you use Isearch+ then just
C-hshows you detailed help, including bindings such as
If you use library
C-h M-k isearch-mode-mapshows you all keys bound on that keymap, in human-readable form.
With Isearch+ you can also interrupt Isearch completely, do some editing or whatever, and then resume where you left off and with the same search state. (The latter is not the case if you stop Isearch and restart it at the location where you left off.)
To do that, use
isearchp-open-recursive-edit). Resume searching with