Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there some way I could disable continuous spell checking or other settings in the substitutions menu by default?

System Preferences only has an option to disable autocorrect.

defaults write -g CheckSpellingWhileTyping -bool false would be overridden by keys on the property lists of applications.

This would only apply to applications that have been used before:

#!/bin/bash

for d in $(defaults domains | tr -d ,); do
    osascript -e "app id \"$d\"" > /dev/null 2>&1
    [ $? == 1 ] && continue
    echo $d
    defaults write $d CheckSpellingWhileTyping -bool false
    defaults write $d SmartDashes -bool false
    defaults write $d SmartLinks -bool false
    defaults write $d SmartQuotes -bool false
    defaults write $d SmartCopyPaste -bool false
    defaults write $d TextReplacement -bool false
done
share|improve this question
up vote 13 down vote accepted

I found a new hidden preference that disables continuous spell checking in most text views:

defaults write -g NSAllowContinuousSpellChecking -bool false

It prevents you from checking Edit > Spelling and Grammar > Check Spelling While Typing, but you can still use ⌘: and ⌘; to check spelling manually.

(I searched for potential preference keys with strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -i spell | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq > ~/Desktop/strings.txt.)

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .