Autocomplete for MacOS

auto-completekeyboardtext inputtext;

What applications can add a general autocomplete feature to all text fields in MacOS?

There're text expanders, like the built-in one and TextExpander, but they don't suggest things while typing and do not learn from the previous input.

iOS has both of these features, but I didn't find similar apps for MacOS.

Best Answer

This has been possible for some time on the Mac OS (since 10.6), just hidden. In almost any text field or app you are typing text into you can hit F5 or Option-Esc to bring up the equivalent of the iOS autocomplete list. This is different than the auto spellchecking system built into the Mac.

enter image description here

This is similar to the answer given by @Greenonline, but works in almost any app that was developed using Apple compliant text fields. Just as an FYI, the Firefox web browser is an example of an app that DOES NOT comply with this, as well as many web based Javascript text editors that watch for special key inputs (like the ones found on this web site).

If the auto spellchecking is NOT turned on for your system for some reason you can enable it by going to:  menu -> System Preferences.. -> Keyboard -> Text tab and checking Correct Spelling Automatically to on.

If you are looking for an alternative to the built in functionality, then you could look at BBAutoComplete as an alternative.

It was created years ago as a free plugin for BBEdit (no longer needed since version 9 on has autocomplete built in). But the plugin can be used with any scriptable application including Word and TextWrangler.

If you are looking for a writing app specifically then I would look at Scrivener.

The cool thing about Scrivener's autocomplete is that it lets you set up separate autocomplete list for each project. This comes from the fact that it was designed for writers working on projects that might need to have specially created autocompletes for fictional characters or locations that aren't in a standard autocomplete system.

I hope this helps!