Retain selection after replacement

Suppose you want to exchange two characters in a scene that’s only part of a file, so Alice becomes Bob and vice-versa. You’d select that part of the document, and use the Find… menu to “Replace All” instances of Alice to a placeholder like AAA. Then you’d replace all instances of Bob with Alice, and all instances of AAA to Bob. Done!

But after each “Replace All” operation, the selection clears. So in practice you have to re-select that region of text three times, once before each replacement operation. That’s a drag, particularly when you have to do a lot of these. And if you don’t notice that the selection went away after the first replacement (as I didn’t just a moment ago), then the results are baffling when you’re done with the last one and look back at your text.

I can see the argument for clearing the selection after a replacement, but at least for myself (and how I work), retaining the selection would be more convenient behavior.


P.S. I’m happy as a clam that my biggest concerns about Scrivener are these kinds of tiny little tweaky issues.

I was going to suggest you split the selection off to a new file and then merge it back, but I just tried it and there isn’t actually a command to do that. Oops.

Why not just split the scene out into its own file? You can always merge it back when you’re done.

As easy as splitting documents is in Scrivener, it seems to me to be a good idea to do it whenever I want to focus on a particular chunk of text. That way I can hack and slash to my heart’s content without worrying about collateral damage.


Sure there is: Split at Selection and Merge, both on the View menu.

It’s true, these technically don’t take a chunk out of the middle of the existing file. For that, you need two splits, one before and one after the desired text. Astoundingly difficult, that.


Press Cmd-Opt-L to lock the current window. Select the text you wish to extract from the current document and drag it over into the Binder. Let go and a new document will be created using the selected scene’s text. Press backspace to delete the source text from the working document.

Alternative: Use the history button to return to the originating document instead of locking. The selection should be retained in the history, so you can quickly backspace to delete it without reselecting.

Thanks, everyone. These are all reasonable approaches for what is admittedly an uncommon task. I find generally Scrivener adheres to the designer’s rule to “Make frequent tasks easy, and infrequent tasks possible.”

Speaking of which, going backwards in time is something I certainly don’t do often. If only that could be made possible, too…