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

I think it's a Mountain Lion thing, when you type - (dash) twice, it becomes — (emdash). When you type tm, it becomes ™ (trademark symbol). Or when you type three . (dot), it becomes … (elipsis). Some are useful, some are very annoying. Overall, I want to stop that. How can I achieve this?

share|improve this question
    
Just a note for other people reading, that if it's not a OSX thing for you, then it may be your text editor. I had to change TextEdit with Preferences > Smart dashes. – levininja Jun 16 at 15:58
up vote 49 down vote accepted

Go to the system preferences and choose "Language & Text"

enter image description here

In the "Text" tab you will find the list of substitutions.

enter image description here

If you want to stop -- from being turned into (emdash) you need to use the + button and add a new rule to replace -- with -- (replace with itself)

Or, right click in a text field and go to "Substitutions" and disable "Smart Dashes"

Stupid Dashes

share|improve this answer
    
that looks awesome and thank you for this answer, but the thing annoys me most "--" to "—" is not there… Hmm… – beatak Feb 22 '13 at 7:35
4  
ah okay, so if I make another rule as "--" to "--" then it saves my double dashes. Thanks! – beatak Feb 22 '13 at 7:38
    
Ok I thought that it was missing in my case, but I also don't have the substitution. Did it happen in all applications? – Matteo Feb 22 '13 at 8:00
1  
Adding -- to be replaced by itself does not seem to work in Yosemite (and Keynote) :( – Balint Erdi Mar 27 '15 at 13:47
1  
@BalintErdi I just found this question again by googling for the issue, found the answer, thought Hmmm, this doesn't work, what idiot posted that trick and then saw it was own damn edit. LOL. I just updated the answer, hopefully that works better now! – Josh Apr 24 '15 at 5:23

I encountered this same problem on Mavericks (10.9), where the fix has changed slightly. Go to System Preferences, then "Language & Region" then click the "Keyboard Preferences..." button and to go to "Text" tab. It is no longer a substitution, however, but instead on the right-hand side of the window there is a tickbox "Use smart quotes and dashes". Unticking this stops it changing two hyphens into an en-dash.

One little gotcha: on 10.9.5 with TextEdit (and probably others) you must exit then restart your editor to have this change take effect.

share|improve this answer
1  
And also disables smart quotes. I have no idea why Apple decided to lump those two into the same bucket in the preferences. Fortunately, you can disable them individually under Edit > Substitutions, though that behavior is per-app. – dgatwood Feb 2 at 1:40
3  
In 10.11 El Capitan at least, it's possible to disable just smart dashes (while keeping smart quotes) by running defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0 from the terminal. There are two separate settings under the hood, NSAutomaticDashSubstitutionEnabled and NSAutomaticQuoteSubstitutionEnabled, both of which get toggled by the UI checkbox "Use smart quotes and dashes". But there's no guarantee from Apple that this won't change in future versions of OS X. – Adam Rosenfield Feb 17 at 22:23
1  
thanks a lot @AdamRosenfield, your solution is by far the best listed here. – zanona Apr 5 at 12:14
    
@AdamRosenfield, you should elevate this comment to an answer so we can vote for it. :-) – Nick K9 Jul 19 at 16:14

In 11.11 this is under System Preferences > Keyboard. There is a checkbox for Use smart quotes and dashes.

Keyboard pref in 11.11

share|improve this answer
    
Except that doing that also disables smart quotes, which you probably don't want to do. Turning off smart dashes under Edit > Substitutions fixes the problem more cleanly (turning off just the dashes), with the caveat that the behavior is per-app. (Why!?!) – dgatwood Feb 2 at 1:39

Not sure if you folks are still having this problem but I just discovered how frustrating it can be. I was writing a unix script for Apple Remote Desktop which requires a --get flag and it kept getting converted to an em dash, ruining the command.

I couldn't find a way to turn off the em dash conversion, but all hope is not lost. In the Language & Text menu (Text tab) I created an entry that replaces -- with -- (i.e. it replaces two dashes with itself). This overrides the system converting -- to an em dash.

share|improve this answer

Yosemite 10.2 and TextEdit:

  1. Launch TextEdit.

  2. TextEdit>Preferences

  3. In bottom right corner, uncheck Smart dashes .

  4. If your TextEdit file is open, close it and reopen it.

share|improve this answer

It's worth mentioning that even with "use smart quotes and dashes" enabled, you can still "undo" the auto-conversion of -- to — (emdash) by pressing CMD+Z. If turning smart dashes off completely sounds too extreme, this is one way to bring back the -- (double dash).

Also, here's my horror story about “curly quotes:” I had been using Github for years and wondered why my "contributions" never appeared correctly on my profile. I eventually discovered I had configured my git user name in terminal with curly quotes instead of straight marks:

git config --global user.name “Steve”       //instead of...
git config --global user.name "Steve"

Even though I was copy/pasting the command directly from GitHub's instructions, TextEdit was “fixing” my quotes before I put them in Terminal. Unbelievable! This drove me insane, but I'm recovering...

share|improve this answer

In you're using Apple "Office" tools: Page, Number, etc, the settings in System Preferences or the command line defaults command as mentioned in previous answers won't affect the smart substitutions. Instead, you'll have to go to top tool bar Edit > Substitutions menu to check or uncheck 'Smart Quotes', 'Smart Dashes' etc.

If you're using TextEdit then 7stud's answer is the way, which is included here for completeness: TextEdit > Preferences and check/uncheck the settings in the bottom sections.

share|improve this answer

In earlier versions of Mac OS X, there were two separate options for smart quotes and smart dashes in the Keyboard System Preferences; however in at least versions 10.9 through 10.11, that option has been replaced by a single "Use smart quotes and dashes" preference.

Fortunately, there are still two separate preferences under the hood, and the UI checkbox toggles both of them simultaneously. You can enable or disable just one of smart quotes or smart dashes from the terminal:

# Disable just smart dashes
defaults write -g NSAutomaticDashSubstitutionEnabled 0

# Disable just smart quotes
defaults write -g NSAutomaticQuoteSubstitutionEnabled 0

# To re-enable, set either back to 1.

This is currently true as of OS X 10.11; this may change in future versions of OS X (or macOS, as it will now be called).

share|improve this answer

You must log in to answer this question.

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