Как остановить Mac для преобразования ввода двойного тире в emdash?

93

Я думаю, что это вещь Горного Льва, когда вы печатаете - (тире) дважды, это становится - (эмдаш). Когда вы набираете tm, он становится ™ (символом торговой марки). Или когда вы печатаете три. (точка) становится ... (элипсис). Некоторые полезны, некоторые очень раздражают. В целом, я хочу остановить это. Как мне этого добиться?

beatak
источник
2
Просто примечание для других читающих: если это не OSX для вас, то это может быть ваш текстовый редактор. Мне пришлось изменить TextEdit с настройками & gt; Умные тире.
levininja
Интересно, каково решение macOS Sierra.
Charlie Parker
Кажется, что некоторые приложения должны быть закрыты и открыты для работы. Я использовал приложение заметок, и, кажется, оно не работало, пока я не закрыл открытое приложение (полностью закрыл его). Возможно, я сделал defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0но кто знает.
Charlie Parker

Ответы:

97

(в Sierra 10.12 это теперь на панели управления клавиатурой)

Перейдите в системные настройки и выберите «Язык и текст».

enter image description here

На вкладке «Текст» вы найдете список замен.

enter image description here

Если вы хотите остановиться -- от превращения в (emdash) вам нужно использовать + кнопку и добавить новое правило для замены -- с -- (замени на себя)

Или щелкните правой кнопкой мыши в текстовом поле и перейдите в «Замены» и отключите «Умные тире»

Stupid Dashes

Matteo
источник
4
ну ладно, так что если я сделаю другое правило как "-" к "-", то это спасет мои двойные черточки. Спасибо!
beatak
4
Добавление - быть замененным на себя, похоже, не работает в Yosemite (и Keynote) :(
Balint Erdi
2
@BalintErdi Я только что нашел этот вопрос снова погуглив по вопросу, нашел ответ, подумал Хм, это не работает, какой идиот отправил этот трюк а потом увидел, что это было собственное проклятое редактирование , ЛОЛ. Я только что обновил ответ, надеюсь, теперь он работает лучше!
Josh
5
El Capitan 11.11 Теперь это на панели управления клавиатуры.
vy32
2
Мне пришлось закрыть и снова открыть TextEdit, чтобы он работал на Yosemite. Перезагрузка не требуется.
Kris
48

Я столкнулся с этой же проблемой на Mavericks (10.9), где исправление слегка изменилось. Перейдите в «Системные настройки», затем «Язык и регион», затем нажмите кнопку «Настройки клавиатуры ...» и перейдите на вкладку «Текст». Однако это уже не замена, а вместо этого в правой части окна есть галочка «Использовать умные кавычки и тире». Отмена этого остановит превращение двух дефисов в черту.

Одна небольшая ошибка: в 10.9.5 с TextEdit (и, возможно, с другими) вы должны выйти и перезапустить редактор, чтобы изменения вступили в силу.

Neil Brown
источник
1
А также отключает умные цитаты. Я понятия не имею, почему Apple решила смешать эти два в одном ведре в настройках. К счастью, вы можете отключить их по отдельности в разделе Изменить & gt; Замены, хотя это поведение для каждого приложения.
dgatwood
8
По крайней мере, в 10.11 El Capitan можно отключить только умные тире (сохраняя умные кавычки), запустив defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0 из терминала. Есть две отдельные настройки под капотом, NSAutomaticDashSubstitutionEnabled а также NSAutomaticQuoteSubstitutionEnabled, оба из которых переключаются с помощью флажка «Использовать умные кавычки и тире». Но от Apple нет никаких гарантий, что это не изменится в будущих версиях OS X.
Adam Rosenfield
1
Большое спасибо @AdamRosenfield, ваше решение, безусловно, лучшее из перечисленных здесь.
zanona
1
@AdamRosenfield, вы должны поднять этот комментарий до ответа, чтобы мы могли проголосовать за него. :-)
Nick K9
ты уверен, что это работает? Нужно ли перезагрузить мой Mac или перезапустить мои приложения?
Charlie Parker
24

В 11.11 это под System Preferences & GT; Keyboard, Есть флажок для Use smart quotes and dashes,

Клавиатура прив в 11.11

Aaron B
источник
3
Кроме того, это также отключает умные кавычки, которые вы, вероятно, не хотеть сделать. Отключение умных черточек в разделе «Правка» & gt; Подстановки решают проблему более четко (отключая только тире), с оговоркой, что это поведение для каждого приложения. (Зачем!?!)
dgatwood
1
Почему вы хотите умные цитаты? Я всегда считал, что это решение проблемы, которой никогда не было. Они также особенно ужасны для программистов.
CoreDumpError
ты уверен, что это работает? Нужно ли перезагрузить мой Mac или перезапустить мои приложения?
Charlie Parker
@dgatwood Так что не все приложения поддерживают Edit & gt; Substitions. Например, в Slack я не вижу другого решения, кроме как отключить оба, как предлагает этот ответ. +1 за этот ответ (хотя я не против умных цитат, если их напечатать)
Mark Edington
15

В более ранних версиях 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, как теперь будет называться).

Adam Rosenfield
источник
Работает по состоянию на 10.12.6 - спасибо!
Glenn
До сих пор работает и на 10.13.
ShiDoiSi
4

Не уверен, что у вас, ребята, до сих пор есть эта проблема, но я только что обнаружил, насколько это может быть неприятно. Я писал сценарий Unix для Apple Remote Desktop, который требует --get флаг, и он продолжал преобразовываться в тире, разрушая команду.

Я не мог найти способ отключить конвертацию в тире, но все надежды не потеряны. На языке & amp; Текстовое меню (вкладка «Текст») Я создал запись, которая заменяет -- с -- (то есть он заменяет собой две черты). Это отменяет систему преобразования -- в тире.

jchmski
источник
2

Стоит отметить, что даже с включенным «использовать умные кавычки и тире» вы все равно можете «отменить» автоматическое преобразование в (emdash), нажав CMD + Z. Если отключение умных штрихов звучит слишком экстремально, это один из способов вернуть - (двойная черта).

Кроме того, вот мой ужасный рассказ о «фигурных цитатах»: я использовал Github годами и удивлялся, почему мои «вклады» никогда не появлялись правильно в моем профиле. В конце концов я обнаружил, что мое имя пользователя git настроено в терминале с помощью фигурных кавычек вместо прямых:

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

Хотя я копировал / вставлял команду прямо из Инструкция GitHub TextEdit «исправлял» мои цитаты, прежде чем я поместил их в Терминал. Невероятно! Это сводило меня с ума, но я поправляюсь ...

Stevethemacguy
источник
1

Если вы используете инструменты Apple «Office»: «Страница», «Число» и т. Д., Настройки в Системных настройках или в командной строке по умолчанию, как упоминалось в предыдущих ответах, не влияют на интеллектуальные замены. Вместо этого вам придется перейти на верхнюю панель инструментов Edit & gt; Меню «Замены» для проверки или снятия отметки «Умные цитаты», «Умные тире» и т. Д.

Если вы используете TextEdit, то ответ 7stud - это путь, который приведен здесь для полноты: TextEdit & gt; Предпочтения и проверьте / снимите флажок настройки в нижних разделах.

CodeBrew
источник
1

Это поведение контролируется системой по умолчанию. Чтобы выключить его, наберите в терминале:

    defaults write -app 'Keynote' TSWPAutomaticDashSubstitution 0

или же

    defaults write 'Apple Global Domain' TSWPAutomaticDashSubstitution 0

Первый отключает замену тире для конкретного приложения (здесь, лейтмотив ); вторая для всех приложений, которые не имеют своих собственных, переопределенных, по умолчанию установленных явно. замещать 0 от 1 снова включить замену тире.

Как указывалось в других ответах, глобальное значение по умолчанию также можно изменить с помощью Системные настройки (Клавиатура & gt; Текст & gt; Флажок "Использовать умные кавычки и тире"), но это включает и выключает котировка замена так же как замена тире. Более того, некоторые приложения, но не все, позволяют изменять свои настройки по умолчанию, щелкая мышью в текстовом поле и выбирая Замены или же Показать замены , Например, почта позволяет вам сделать это, но лейтмотив не.

Если вы хотите включить замену цитаты, скажем, для лейтмотив использование

defaults write -app 'Keynote' NSAutomaticQuoteSubstitutionEnabled 1

или, чтобы включить его для всего, что не имеет переопределения по умолчанию, используйте

defaults write 'Apple Global Domain' NSAutomaticQuoteSubstitutionEnabled 1

Чтобы выключить его, используйте 0 вместо 1,

Andrew Black
источник
Для Slack, где это сводило меня с ума, я думаю, что ключ настройки WebAutomaticDashSubstitutionEnabled,
Michael
1

Если вы просто хотите, чтобы это не происходило время от времени или в каком-то конкретном случае, вы можете просто подождать, пока Mac внесет нежелательные изменения, и затем нажать CMD+z отменить.

kodmunki
источник
Вы проверяли это с помощью «-» и «-», чтобы подтвердить, что это работает, как ожидалось, как описано в OP?
Pimp Juice IT
0

Yosemite 10.2 and TextEdit:

  1. Запустите TextEdit.

  2. TextEdit & GT; Предпочтение

  3. В правом нижнем углу снимите флажок Smart dashes ,

  4. Если ваш файл TextEdit открыт, закройте его и снова откройте.

7stud
источник