I often use isearch (C-s
normally or /
in evil) and then want to use that query (or part of it) for replacing. This answer explains how to cycle history, but M-p
cycles the history for each mode separately so I don't see isearch queries from query-replace.
Ideally, the query I used for either search is automatically saved and I can use a key binding to insert the query into a buffer or minibuffer.
Example: search for "fib-function", C-h f
and insert "fib-function" for help, or helm-do-grep to search for it in files, or just insert it into the current file to start defining it.