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
Best Answer
I found a new hidden preference that disables continuous spell checking in most text views:
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
.)