Maintaining Position with Spelling Corrections

Imagine you’re writing in a very long outline and there are many spelling mistakes, above and below where you’re working, some of them very far away. Now imagine that you’ve just misspelled something 3 words back from where your insertion point is.

I love that Bike has a shortcut for “Check Previous”. When I’m typing and I misspell word it is very easy to quickly fix that mistake. The problem is what happens after you fix the misspelling.

Bike assumes that as soon as you make a correction you’d like to jump to the next misspelled word in the document (which could be any number of lines away from where you were typing). That makes sense if you’re doing a “pass” of the entire document and want to see all the errors, but doesn’t make sense if just want to fix a specific error and go back to what you’re doing. For me, 95% of the time I only want to fix that specific mistake.

Personally, I don’t think Bike should immediately jump to the next mistake, but it should make the correction and then highlight the corrected word. This would give me the option to either dismiss the correction window and continue what I was working on, or jump to the next mistake.

Bonus points for saving the insertion point position before the correction is started and jumping back there when I end the corrections.

I don’t think that I want to change the checking panel’s replace behavior. The behavior that Bike has seems pretty consistent across apps that have a similar panels.

One thing that is different about Bike, and maybe this is the problematic part, is that it shows the checking panel automatically when you “Check Next” or “Check Previous”. Generally I like that behavior, but it does get you into “spell checking mode” instead of just selecting the misspelled word. Do you prefer the more standard behavior or just selecting misspelled word?

For this scenario what about using the popup corrections? For example move the text caret to the end of the misspelled word and you should see this:

Screenshot 2023-03-07 at 8.24.48 AM

That’s generally what I use when I just want to correct an individual word or two.

I think that’s too specific to have for just text checking mode, but I do hope to eventually add better local navigation options (cannon cat inspired leap commands) and maybe snapback would be part of that.

I don’t think that I want to change the checking panel’s replace behavior. The behavior that Bike has seems pretty consistent across apps that have a similar panels.

I see why you don’t want to deviate from the standard behavior, but that’s the exact reason I very rarely use the standard spelling panel.

Do you prefer the more standard behavior or just selecting misspelled word?

On the fence about this. On the one hand I think it is simpler to just select it because I using the panel is a pain (either because the default one has usability problems, or because using it involves jumping to another part of the document when you’re finished), but on the other hand I do want to select a correction (somehow) instead of typing it.

For this scenario what about using the popup corrections?

Yeah, that’s what I’m supposed to be doing right? Particularly because of how much work you’ve put in to make that pop-up appear consistently. But I find that actually triggering that pop-up involves a bunch of keypresses (alt-left a few times to the beginning of the word, then alt-right to the end to trigger the pop-up), I’d like something faster.

Maybe the simplest thing is for the “Check Previous” shortcut to jump back to the end of the last misspelled word and trigger the autocorrection pop-up, instead of the panel.

Again, it just comes back to the desire to have a very very fast way to correct a spelling mistake a few words back and get back to what you were typing. My favorite implementation of this is in Emacs, there’s a function called flyspell-auto-correct-previous-word which just corrects the last misspelled word without ever moving the insertion point.

I’ve written a few different responses… I think I finally have a maybe good solution.

What if everything were kept the same, but when you are in the checking panel if you do Command-Return (Instead of Just return) it will perform the correction and then close the panel and return the caret to where it was when you started corrections?

That would be great!

The latest 111 preview release adds this:

From the checking panel Use Option-Return to apply the current correction and then close the panel and return to previous selection.

I saw that, thank you. Beautiful solution. Works really well!