Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

1 Answer 1

up vote 8 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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.