題 如何阻止Mac將打字雙短劃線轉換為emdash?


我認為這是一個山獅的事情,當你輸入 - (破折號)兩次,它變成了 - (emdash)。當您鍵入tm時,它變為(商標符號)。或者當你輸入三個。 (點),它變成......(elipsis)。有些很有用,有些很煩人。總的來說,我想阻止它。我怎樣才能做到這一點?


91
2018-02-22 06:46


起源


只是為其他人閱讀的一個註釋,如果它不是OSX的東西,那麼它可能是你的文本編輯器。我不得不用Preferences> Smart dashes更改TextEdit。 - levininja
想知道macOS Sierra的解決方案是什麼。 - Charlie Parker
似乎某些應用程序必須關閉並打開才能運行。我正在使用筆記應用程序,它似乎沒有工作,直到我關閉打開應用程序(完全退出它)。可能是我做過的 defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0,但誰知道呢。 - Charlie Parker


答案:


(在Sierra 10.12上,現在在鍵盤控制面板中)

轉到系統首選項,然後選擇“語言和文本”

enter image description here

在“文本”選項卡中,您將找到替換列表。

enter image description here

如果你想停下來 -- 從變成  (emdash)你需要使用 + 按鈕並添加要更換的新規則 -- 同 -- (替換為自己)

或者,右鍵單擊文本字段並轉到“替換”並禁用“智能破折號”

Stupid Dashes


95
2018-02-22 07:06



啊好吧,所以如果我將另一條規則作為“ - ”改為“ - ”,那麼它會保存我的雙破折號。謝謝! - beatak
添加 - 被自己替換似乎在Yosemite(和Keynote)中不起作用:( - Balint Erdi
@BalintErdi我剛發現這個問題 再次 通過谷歌搜索問題,找到答案,想 嗯,這不起作用,蠢貨發布了那個伎倆 然後看到了 自己該死的編輯。大聲笑。我剛剛更新了答案,希望現在效果更好! - Josh
El Capitan 11.11 現在,這是在鍵盤控制面板上。 - vy32
我必須關閉並重新打開TextEdit才能在Yosemite上工作。無需重啟。 - Kris


我在Mavericks(10.9)上遇到了同樣的問題,修復程序略有改變。轉到系統偏好設置,然後轉到“語言和地區”,然後單擊“鍵盤首選項...”按鈕,然後轉到“文本”選項卡。然而,它不再是替代品,而是在窗口的右側有一個複選框“使用智能引號和破折號”。解開這個會阻止它將兩個連字符更改為一個短劃線。

一個小問題:在10.9.5上使用TextEdit(可能還有其他),您必須退出然後重新啟動編輯器才能使此更改生效。


48
2017-09-21 08:05



並且還禁用智能引號。我不知道為什麼Apple決定將這兩者放在首選項中的同一個桶中。幸運的是,你可以在編輯>替換下單獨禁用它們,儘管這種行為是按應用程序進行的。 - dgatwood
至少在10.11 El Capitan中,可以通過運行來禁用智能破折號(同時保持智能引號) defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0 從終端。引擎蓋下有兩個獨立的設置, NSAutomaticDashSubstitutionEnabled 和 NSAutomaticQuoteSubstitutionEnabled,兩者都被UI複選框“使用智能引號和破折號”切換。但Apple並不保證在未來的OS X版本中這不會改變。 - Adam Rosenfield
非常感謝@AdamRosenfield,您的解決方案是迄今為止列出的最佳解決方案。 - zanona
@AdamRosenfield,您應該將此評論提升為答案,以便我們對其進行投票。 :-) - Nick K9
你確定這有效嗎?我是否需要重新啟動Mac或重新啟動應用程序? - Charlie Parker


在11.11這是在 System Preferences > Keyboard。有一個複選框 Use smart quotes and dashes

鍵盤pref在11.11


24
2018-01-18 18:54



除此之外,還可以禁用智能引號 別 想做。在編輯>替換下關閉智能破折號可以更清晰地修復問題(僅關閉破折號),並警告該行為是每個應用程序。 (為什麼!?!) - dgatwood
你為什麼想要智能報價?我一直認為這是解決一個從未存在過的問題的解決方案。它們對程序員來說也特別可怕。 - CoreDumpError
你確定這有效嗎?我是否需要重新啟動Mac或重新啟動應用程序? - Charlie Parker
@dgatwood因此並非所有應用程序都支持編輯>替換。例如,在Slack中,我看到除了禁用兩者之外沒有解決方案,正如這個答案所暗示的那樣。這個答案的+1(雖然如果鍵入它我不介意智能引號) - Mark Edington


在早期版本的Mac OS X中,鍵盤系統首選項中有兩個單獨的智能引號和智能短劃線選項;但是至少在版本10.9到10.11中,該選項已被單個“使用智能引號和破折號”首選項所取代。

幸運的是,幕後還有兩個獨立的首選項,UI複選框同時切換它們。您可以從終端啟用或禁用其中一個智能引號或智能短劃線:

# 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.

從OS X 10.11開始,這是正確的;這可能會在未來版本的OS X(或macOS,現在將被調用)中發生變化。


15
2017-07-19 18:26



仍然適用於10.12.6 - 謝謝! - Glenn
仍然適用於10.13。 - ShiDoiSi


不確定你們是否還有這個問題,但我剛剛發現它有多麼令人沮喪。我正在為Apple Remote Desktop編寫一個unix腳本,需要一個 --get 標誌,它不斷轉換為em破折號,破壞了命令。

我找不到關閉em dash轉換的方法,但所有的希望都沒有丟失。在語言和文本菜單(文本選項卡)中,我創建了一個替換的條目 -- 同 -- (即它用自己替換兩個破折號)。這會覆蓋系統轉換 -- 到一個破折號。


4
2017-12-05 20:34





值得一提的是,即使啟用了“使用智能引號和短劃線”,您仍然可以通過按CMD + Z“撤消” - 到 - (emdash)的自動轉換。如果完全關閉智能破折號聽起來太極端,這是帶回 - (雙破折號)的一種方法。

另外,這是我關於“捲曲引號”的恐怖故事:“我一直在使用 Github上 多年來,我想知道為什麼我的“貢獻”從未在我的個人資料中正確顯示。我最終發現我在終端配置了我的git用戶名,用引號而不是直線標記:

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

即使我直接複製/粘貼命令 GitHub的說明,TextEdit在我將它們放入終端之前“修復”了我的引號。難以置信的!這讓我瘋了,但我正在恢復......


2
2018-02-04 21:40





在您使用Apple“Office”工具:頁面,數字等時,系統偏好設置或命令行默認命令中的設置(如前面的答案中所述)不會影響智能替換。相反,您必須轉到頂部工具欄“編輯”>“替換”菜單以選中或取消選中“智能引號”,“智能破折號”等。

如果你正在使用TextEdit,那麼7stud的答案是這樣的,這裡包括完整性:TextEdit> Preferences並檢查/取消選中底部的設置。


1
2018-05-18 15:56





此行為由系統默認值控制。要關閉它,請在終端輸入:

    defaults write -app'Keynote'TSWPAutomaticDashSubstitution 0

要么

    默認寫入'Apple Global Domain'TSWPAutomaticDashSubstitution 0

第一個關閉特定應用程序的破折號替換(在這裡, 基調);對於沒有明確擁有自己的覆蓋默認設置的所有應用的第二個。更換 0 通過 1 重新打開破折號替換。

正如此處的其他回复所述,全局默認也可以使用更改 系統偏好 (鍵盤>文本>複選框“使用智能引號和短劃線”),但這會打開和關閉 引用 代換 以及 短跑替代。此外,某些應用程序(但不是全部)允許您通過控制單擊文本字段並選擇來更改其默認值 換人 要么 顯示替換。例如, 郵件 讓你這樣做,但是 基調 才不是。

如果你想打開引用替換,比如說 基調 使用

defaults write -app'Keynote'NSAutomaticQuoteSubstitutionEnabled 1

或者,要為沒有覆蓋默認值的所有內容啟用它,請使用

默認寫入'Apple Global Domain'NSAutomaticQuoteSubstitutionEnabled 1

要關閉它,請使用 0 代替 1


1
2018-01-26 22:12



對於Slack來說,這讓我瘋狂,我認為設置關鍵是 WebAutomaticDashSubstitutionEnabled。 - Michael


如果您只想偶爾或某個特定實例阻止這種情況發生,您只需等待Mac進行不必要的更改然後按 CMD+z 撤銷。


1
2017-10-09 17:29



您是否使用“ - ”和“ - ”對此進行了測試,以確認此操作符合OP所描述的預期效果? - Pimp Juice IT


Yosemite 10.2 and TextEdit

  1. 啟動TextEdit。

  2. 文本編輯>首選項

  3. 在右下角,取消選中 Smart dashes 。

  4. 如果您的TextEdit文件已打開,請將其關閉並重新打開。


0
2018-05-25 19:39