Comment arrêter Mac pour convertir en tapant double dash en emdash?

102

Je pense que c'est un truc de lion de montagne, quand vous tapez - (tiret) deux fois, cela devient - (emdash). Lorsque vous tapez tm, il devient ™ (symbole de marque commerciale). Ou quand vous tapez trois. (point), cela devient… (elipsis). Certains sont utiles, d'autres très ennuyeux. Globalement, je veux arrêter ça. Comment puis-je atteindre cet objectif?

beatak
la source
2
Juste une remarque pour ceux qui liront que, si ce n’est pas une chose pour OSX pour vous, alors cela peut être votre éditeur de texte. J'ai dû changer TextEdit avec Préférences> Tirets intelligents.
levininja
Je me demande quelle est la solution de macOS Sierra.
Charlie Parker
Il semble que certaines applications doivent être fermées et ouvertes pour que les choses fonctionnent. J'utilisais l'application Notes et il semble que cela n'a pas fonctionné jusqu'à ce que je ferme une application ouverte (quittez-la complètement). C'est peut-être ce que j'ai fait defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0, mais qui sait.
Charlie Parker

Réponses:

102

(sur Sierra 10.12, cela se trouve maintenant dans le panneau de configuration du clavier)

Allez dans les préférences système et choisissez "Langue et texte"

entrez la description de l'image ici

Dans l'onglet "Texte", vous trouverez la liste des substitutions.

entrez la description de l'image ici

Si vous voulez arrêter --d'être transformé en (emdash), vous devez utiliser le bouton + et ajouter une nouvelle règle à remplacer --par --(remplacer par lui-même)

Ou bien, cliquez avec le bouton droit de la souris sur un champ de texte, sélectionnez "Substitutions" et désactivez "Smart Dashes".

Tirets stupides

Matteo
la source
4
ah ok, donc si je fais une autre règle comme "-" à "-" alors cela sauvegardera mes doubles tirets. Merci!
beatak
4
Ajouter - être remplacé par lui-même ne semble pas fonctionner à Yosemite (et Keynote) :(
Balint Erdi
2
@BalintErdi Je viens de découvrir cette question à nouveau par googler la question, a trouvé la réponse, la pensée Hmmm, cela ne fonctionne pas, quel imbécile a écrit ce truc , puis a vu qu'il était propre modifier putain . LOL. Je viens de mettre à jour la réponse, j'espère que cela fonctionne mieux maintenant!
Josh
5
El Capitan 11.11Ceci est maintenant sur le panneau de contrôle du clavier.
vy32
2
J'ai dû fermer et rouvrir TextEdit pour que cela fonctionne sur Yosemite. Aucun redémarrage requis.
Kris
49

J'ai rencontré ce même problème sur Mavericks (10.9), où le correctif a légèrement changé. Allez dans Préférences Système, puis "Langue et région" puis cliquez sur le bouton "Préférences clavier ..." et allez à l'onglet "Texte". Cependant, ce n'est plus une substitution, mais à la droite de la fenêtre, une coche "Utiliser les guillemets intelligents et les tirets". Si vous décochez cette option, vous éviterez de transformer deux traits d'union en tiret.

Un petit casse-tête: le 10.9.5 avec TextEdit (et probablement d’autres), vous devez quitter puis redémarrer votre éditeur pour que cette modification soit prise en compte.

Neil Brown
la source
1
Et désactive également les guillemets intelligents. Je ne sais pas pourquoi Apple a décidé de regrouper ces deux personnes dans le même panier dans les préférences. Heureusement, vous pouvez les désactiver individuellement sous Edition> Substitutions, bien que ce comportement soit spécifique à chaque application.
dgatwood
8
Dans El Capitan au moins 10.11, il est possible de désactiver uniquement les tirets intelligents (tout en conservant les guillemets intelligents) en exécutant à defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0partir du terminal. Il y a deux paramètres distincts sous le capot NSAutomaticDashSubstitutionEnabledet les NSAutomaticQuoteSubstitutionEnableddeux sont basculés par la case à cocher de l'interface utilisateur "Utiliser des guillemets intelligents et des tirets". Mais rien ne garantit Apple que cela ne changera pas dans les futures versions d'OS X.
Adam Rosenfield
1
merci beaucoup @AdamRosenfield, votre solution est de loin la meilleure énumérée ici.
Zanona
1
@AdamRosenfield, vous devriez élever ce commentaire à une réponse afin que nous puissions voter pour lui. :-)
Nick K9
vous êtes sur que ça marche? Dois-je redémarrer mon Mac ou redémarrer mes applications?
Charlie Parker
25

En 11.11 c'est sous System Preferences> Keyboard. Il y a une case à cocher pour Use smart quotes and dashes.

Préf de clavier dans 11.11

Aaron B
la source
4
Sauf que cela désactive également les guillemets intelligents, ce que vous ne voulez probablement pas faire. Le fait de désactiver les tirets intelligents sous Édition> Substitutions résout le problème plus proprement (en désactivant uniquement les tirets), à condition toutefois que le comportement soit propre à chaque application. (Pourquoi!?!)
dgatwood
1
Pourquoi voudriez-vous des citations intelligentes? J'ai toujours considéré cela comme une solution à un problème qui n'avait jamais existé. Ils sont aussi particulièrement horribles pour les programmeurs.
Coredumperror
vous êtes sur que ça marche? Dois-je redémarrer mon Mac ou redémarrer mes applications?
Charlie Parker
@dgatwood Ainsi, toutes les applications ne supportent pas Edition> Substitions. Dans Slack, par exemple, je ne vois pas d'autre solution que de désactiver les deux comme le suggère cette réponse. +1 pour cette réponse (même si cela ne me dérange pas des guillemets intelligents si vous les tapez)
Mark Edington
17

Dans les versions antérieures de Mac OS X, il existait deux options distinctes pour les guillemets intelligents et les tirets intelligents dans les préférences système de clavier; toutefois, dans les versions 10.9 à 10.11 au moins, cette option a été remplacée par une seule préférence "Utiliser des guillemets intelligents et des tirets".

Heureusement, il existe toujours deux préférences distinctes sous le capot et la case à cocher de l'interface utilisateur les bascule simultanément. Vous pouvez activer ou désactiver un seul des guillemets intelligents ou des tirets intelligents à partir du 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.

Ceci est actuellement vrai à partir de OS X 10.11; cela pourrait changer dans les futures versions d'OS X (ou macOS, comme on l'appellera maintenant).

Adam Rosenfield
la source
Fonctionne toujours à partir de 10.12.6 - merci!
Glenn
Fonctionne toujours sur 10.13 également.
ShiDoiSi
4

Je ne sais pas si vous rencontrez toujours ce problème, mais je viens de découvrir à quel point cela pouvait être frustrant. J'écrivais un script Unix pour Apple Remote Desktop qui nécessite un --getdrapeau et qui continuait à être converti en tiret électronique, ruinant la commande.

Je ne pouvais pas trouver un moyen de désactiver la conversion em dash, mais tout espoir n'est pas perdu. Dans le menu Langue et texte (onglet Texte), j'ai créé une entrée à remplacer --par --(c’est-à-dire qu’elle remplace deux tirets par elle-même). Ceci annule la conversion du système --en un tiret électronique .

Jchmski
la source
3

Il est à noter que même avec "utiliser les guillemets intelligents", vous pouvez toujours "annuler" la conversion automatique de - en - (emdash) en appuyant sur CMD + Z. Si supprimer complètement les tirets intelligents vous semble trop extrême, c’est un moyen de ramener le - (tiret double).

Aussi, voici mon histoire d'horreur à propos de «citations frisées»: J'utilisais Github depuis des années et je me demandais pourquoi mes «contributions» ne figuraient jamais correctement sur mon profil. J'ai finalement découvert que j'avais configuré mon nom d'utilisateur git dans un terminal avec des guillemets bouclés au lieu de traits droits:

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

Même si je copiais / collais la commande directement à partir des instructions de GitHub , TextEdit "corrigeait" mes citations avant que je ne les mette dans Terminal. Incroyable! Cela m'a rendu fou, mais je récupère ...

Stevethemacguy
la source
3

Ce comportement est contrôlé par un système par défaut. Pour l'éteindre, tapez sur le terminal:

    defaults write -app 'Keynote' TSWPAutomaticDashSubstitution 0

ou

    Les valeurs par défaut écrivent 'Apple Global Domain' TSWPAutomaticDashSubstitution 0

Le premier désactive la substitution par tiret pour une application particulière (ici, Keynote ); la seconde pour toutes les applications qui ne possèdent pas leur propre paramètre par défaut défini explicitement. Remplacer 0par 1pour réactiver la substitution de tiret.

Comme d'autres réponses ici l'ont indiqué, la valeur globale par défaut peut également être modifiée dans les Préférences Système (Clavier> Texte> Cocher "Utiliser des guillemets intelligents"), mais cela active et désactive la substitution de guillemets ainsi que la substitution de tirets. De plus, certaines applications, mais pas toutes, vous permettent de modifier leurs valeurs par défaut en cliquant en maintenant la touche Ctrl enfoncée dans un champ de texte, puis en sélectionnant Substitutions ou Afficher les substitutions . Par exemple, Mail vous permet de le faire, mais pas Keynote .

Si vous souhaitez activer la substitution de devis, par exemple, pour une utilisation Keynote

defaults write -app 'Keynote' NSAutomaticQuoteSubstitutionEnabled 1

ou, pour l'activer pour tout ce qui n'a pas un défaut par défaut, utilisez

Les valeurs par défaut écrivent NSAutomaticQuoteSubstitutionEnabled 1 'Domaine global Apple'

Pour l'éteindre, utilisez 0plutôt que 1.

Andrew Black
la source
Pour Slack, où cela me rendait dingue, je pense que la clé du jeu est WebAutomaticDashSubstitutionEnabled.
Michael
Exactement ce que je cherchais, merci pour le partage!
Rogare
2

Dans les outils "Office" Apple: Page, Numéro, etc., les paramètres définis dans les Préférences Système ou la commande par défaut de la ligne de commande, comme indiqué dans les réponses précédentes, n’affecteront pas les substitutions intelligentes. Au lieu de cela, vous devrez aller à la barre d'outils supérieure dans le menu Edition> Substitutions pour cocher ou décocher "Smart Quotes", "Smart Dashes", etc.

Si vous utilisez TextEdit, alors la réponse de 7stud est la voie, qui est incluse ici pour plus de précision: TextEdit> Préférences et cochez / décochez les paramètres dans les sections inférieures.

CodeBrew
la source
1

Si vous souhaitez simplement que cela ne se produise pas à l'occasion, ou dans certains cas, vous pouvez simplement attendre que Mac effectue les modifications non désirées, puis appuyez sur CMD+zpour annuler.

Kodmunki
la source
Avez-vous testé cela avec "- 'et" - "pour confirmer que tout fonctionne comme prévu, comme indiqué par l'OP?
Pimp Juice IT
0

Yosemite 10.2 and TextEdit:

  1. Lancez TextEdit.

  2. TextEdit> Préférences

  3. En bas à droite, décochez Smart dashes.

  4. Si votre fichier TextEdit est ouvert, fermez-le et rouvrez-le.

7stud
la source