Як зупинити Mac, щоб перетворити набравши подвійний тире в emdash?


102

Я думаю, що це гірський лев, коли набираєш - (тире) двічі, це стає - (емдаш). Коли ви вводите tm, він стає ™ (символом торговельної марки). Або коли ви вводите три. (крапка), вона стає… (еліпсис). Деякі корисні, деякі дуже дратують. Загалом, я хочу це зупинити. Як я можу цього досягти?


2
Просто примітка для інших людей, які читають, що якщо це не OSX для вас, то це може бути ваш текстовий редактор. Мені довелося змінити TextEdit з Налаштуваннями> Смарт-тире.
levininja

цікаво, що таке рішення macOS Sierra.
Чарлі Паркер

Здається, що деякі програми повинні бути закритими та відкритими для роботи. Я використовував додаток нотаток, і, здається, він не працював, поки я не закрив відкритий додаток (повністю закрив його). Це могло бути і я defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0, але хто знає.
Чарлі Паркер

Відповіді:


102

(на Сьєррі 10.12 це зараз на панелі керування клавіатурою)

Перейдіть до системних налаштувань та оберіть "Мова та текст"

введіть тут опис зображення

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

введіть тут опис зображення

Якщо ви хочете , щоб зупинити --не було перетворено (emdash) ви повинні використовувати + кнопку і додати нове правило для заміни --з --(замінити собою)

Або клацніть правою кнопкою миші в текстовому полі та перейдіть до "Замінники" та вимкніть "Смарт тире"

Тупі тире


4
ага гаразд, тому якщо я сформулюю інше правило як "-" до "-", тоді це зберігає мої подвійні тире. Дякую!
beatak

4
Додавання - замінити себе, схоже, не працює в Йосеміті (і Основному) :(
Balint Erdi

2
@BalintErdi Я просто знайшов це запитання ще раз , гуглюючи за проблемою, знайшов відповідь, подумав Хммм, це не працює, який ідіот опублікував цей трюк, а потім побачив, що це власна чортова редакція . ЛОЛ. Я просто оновив відповідь, сподіваюсь, що зараз працює краще!
Джош

5
El Capitan 11.11Це зараз на панелі управління клавіатури.
vy32

2
Мені довелося закрити і знову відкрити TextEdit, щоб він працював над Yosemite. Перезавантаження не потрібно.
Кріс

49

Я зіткнувся з цією ж проблемою на Mavericks (10.9), де виправлення трохи змінилося. Перейдіть до системних налаштувань, потім "Мова та регіон", потім натисніть кнопку "Налаштування клавіатури ..." та перейдіть на вкладку "Текст". Однак це вже не заміна, але натомість у правій частині вікна є галочка "Використовувати розумні лапки та тире". Якщо відміняти це, це перетворює два дефіси на тире.

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


1
А також відключає розумні цитати. Я поняття не маю, чому Apple вирішила зібрати ці двоє в одне відро у своїх уподобаннях. На щастя, ви можете вимкнути їх окремо в розділі Правка> Заміна, хоча така поведінка залежить від програми.
dgatwood

8
Принаймні в 10.11 El Elitan можна відключити лише розумні тире (зберігаючи розумні лапки), запустивши defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0з терміналу. Під кришкою є два окремі налаштування, NSAutomaticDashSubstitutionEnabledі NSAutomaticQuoteSubstitutionEnabledобидва вони перемикаються прапорець "Користуватися розумними цитатами та тире". Але немає гарантії від Apple, що це не зміниться у майбутніх версіях OS X.
Адам Росенфілд

1
дякую @AdamRosenfield, ваше рішення на сьогодні найкраще перераховане тут.
zanona

1
@AdamRosenfield, ви повинні підняти цей коментар до відповіді, щоб ми могли проголосувати за нього. :-)
Нік К9

Ви впевнені, що це працює? Чи потрібно перезавантажувати Mac чи перезавантажувати додатки?
Чарлі Паркер

25

У 11.11 це під System Preferences> Keyboard. Існує прапорець для Use smart quotes and dashes.

Підготовка до клавіатури в 11.11


4
За винятком того, що це також вимикає розумні цитати, чого ви, мабуть , не хочете робити. Якщо вимкнути розумні тире в меню Правка> Заміна, виправляєте проблему більш чітко (вимикаючи лише тире), із застереженням щодо поведінки за програмою. (Чому!?!)
dgatwood

1
Чому б вам хотіли розумні цитати? Я завжди вважав це рішенням проблеми, яка ніколи насправді не існувала. Вони також особливо жахливі для програмістів.
coredumperror

Ви впевнені, що це працює? Чи потрібно перезавантажувати Mac чи перезавантажувати додатки?
Чарлі Паркер

@dgatwood Тому не всі програми підтримують Правка> Підстанції. Наприклад, у Slack я не бачу іншого рішення, крім відключення обох, оскільки ця відповідь пропонує зробити. +1 за цю відповідь (хоча я не проти розумних цитат, якщо їх
вводять

17

У більш ранніх версіях 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.

Наразі це стосується ОС X 10.11; це може змінитись у майбутніх версіях OS X (або macOS, як тепер буде називатися).


Все ще працює з 10.12.6 - дякую!
Гленн

Досі працює також 10.13.
ShiDoiSi

4

Не впевнений, якщо у вас все ще виникають проблеми, але я щойно виявив, наскільки це може бути розчаровуючим. Я писав unix-скрипт для віддаленого робочого столу Apple, для якого потрібен --getпрапор, і він постійно перетворювався на em dash, руйнуючи команду.

Я не зміг знайти спосіб вимкнути конверсію em dash, але вся надія не втрачається. У меню Language & Text (вкладка Text) Я створив запис , яка замінює --з --(тобто він замінює два дефіса з самим собою). Це переосмислює перетворення системи --на ем тире.


3

Варто зазначити, що навіть при ввімкненому "використанні розумних лапок і тире", ви все одно можете "скасувати" автоматичне перетворення - в - (emdash), натиснувши CMD + Z. Якщо вимкнути розумні дефіси повністю звучить занадто екстремально, це один із способів повернути назад - (подвійний тире).

Крім того, ось моя історія жахів про "фігурні цитати". Я використовував Github роками і цікавився, чому мої "внески" ніколи не відображалися правильно в моєму профілі. Зрештою я виявив, що налаштував своє ім’я користувача git в терміналі з фігурними лапками замість прямих позначок:

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

Незважаючи на те, що я копіював / вставляв команду безпосередньо з інструкцій GitHub , TextEdit "виправляв" свої цитати, перш ніж я помістив їх у термінал. Неймовірно! Це мене зводило з розуму, але я одужую ...


3

Така поведінка контролюється системним замовчуванням. Щоб вимкнути його, введіть у терміналі:

    за замовчуванням write -app 'Keynote' TSWPAutomaticDashSubstitution 0

або

    за замовчуванням пишете "Apple Global Domain" TSWPAutomaticDashSubstitution 0

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

Як було зазначено в інших відповідях тут, глобальний дефолт також можна змінити за допомогою системних налаштувань (клавіатура> текст> прапорець «Використовувати розумні цитати та тире»), але це включає і вимикає заміну цитат , а також заміну тире. Більше того, деякі програми, але не всі, дозволяють змінити їхні налаштування за заздалегідь натисканням клавіші миші на текстовому полі та вибором Замінників або Показати заміни . Наприклад, Mail дозволяє це робити, але Keynote цього не робить.

Якщо ви хочете ввімкнути заміну цитат, скажімо, для використання Keynote

за замовчуванням write -app 'Keynote' NSAutomaticQuoteSubstitutionEnabled 1

або, щоб увімкнути його для всього, що не має головного за замовчуванням, використовуйте

за замовчуванням пише "Apple Global Domain" NSAutomaticQuoteSubstitutionEnabled 1

Щоб вимкнути його, використовуйте 0замість 1.


Для Слака, де це зводило мене з розуму, я думаю, що ключ налаштування є WebAutomaticDashSubstitutionEnabled.
Майкл

Саме те, що я шукав, дякую за обмін!
Рогаре

2

Якщо ви використовуєте інструменти Apple "Office": Сторінка, Номер тощо, налаштування в системних налаштуваннях або команда за замовчуванням у командному рядку, як зазначено в попередніх відповідях, не впливатиме на розумні підстановки. Натомість вам доведеться перейти до верхньої панелі інструментів Редагувати> Меню Замінників, щоб встановити чи зняти прапорець "Розумні котирування", "Смарт тире" тощо.

Якщо ви використовуєте TextEdit, відповідь 7stud - це спосіб, який тут включений для повноти: TextEdit> Налаштування та встановіть / зніміть прапорці в нижній частині розділів.


1

Якщо ви просто хочете, щоб це не траплялося випадково, або в певному конкретному випадку, ви можете просто зачекати, поки Mac внесе небажані зміни, а потім натисніть, CMD+zщоб скасувати.


Ви перевірили це за допомогою "-" і "-", щоб підтвердити це, як очікувалося, як описано в ОП?
Pimp Juice IT

0

Yosemite 10.2 and TextEdit:

  1. Запустіть TextEdit.

  2. TextEdit> Налаштування

  3. Зніміть прапорець у правому нижньому куті Smart dashes.

  4. Якщо ваш файл TextEdit відкритий, закрийте його і знову відкрийте його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.