Comment désactiver la combinaison de touches Option-Espace pour les espaces insécables?

59

Comment désactiver la combinaison ennuyeuse de touches Option-Espace pour les espaces insécables?

Ceci est très très gênant dans Eclipse ou le terminal, car je tape souvent l’espace insécable au lieu d’un espace normal.

Malax
la source
3
FWIW, c’est la clé d’option plutôt que la touche alt sur un Mac.
Chealion
Est-il possible de faire en sorte que le terminal affiche nbsp sous la forme d'un caractère inversé ou d'une sorte, de sorte que vous puissiez le voir instantanément lorsque vous vous trompez? Parce que quelques fois vous avez réellement ne voulez taper un nbsp.
forthrin

Réponses:

61

Faites en ~/Library/KeyBindings/DefaultKeyBinding.dictsorte que votre fichier ressemble à ceci (s'il n'existe pas, créez-le, s'il y a déjà des liaisons dans celui-ci, ajoutez simplement celui du dessous):

{
"~ " = ("insertText:", " ");
}

Qu'est-ce que cela fait? Chaque fois que vous appuyez sur Option-Space au lieu d'insérer un espace insécable, OS X insère désormais un espace normal. Problème résolu.

Vous devez redémarrer l'appareil pour appliquer cette modification.

Martin S.
la source
Je n'ai pas pu obtenir ce travail sur OSX 10.7 :(
Eemeli Kantola le
4
@EemeliKantola Cela fonctionne toujours pour moi, mais vous devez rouvrir les applications pour appliquer les modifications. Terminal, Xcode et de nombreuses applications multiplates-formes ne prennent pas en charge DefaultKeyBinding.dict.
Lri
1
@LauriRanta Terminal semble prendre en charge le DefaultKeyBinding.dictfichier.
Ragnar123
Cela fonctionne sur Yosemite 10.10.2. J'ai créé le répertoire et le fichier à partir de zéro. Merci beaucoup!
Petr Cibulka
1
Également travaillé pour moi sur El Capitan, OS X 10.11. Merci!
n2o
15

Comme indiqué dans les commentaires, la solution fournie par Martin ne fonctionne pas dans certaines applications, mais surtout dans mon éditeur, Sublime Text 2.

Donc, pour tous ceux d'entre vous qui ne craignez aucun espace insuffisant dans votre code, vous pouvez ajouter le raccourci clavier suivant dans votre user keymap ( "Sublime Text 2 > Preferences > Key Bindings - User"):

{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }

Cela insérera un espace régulier au lieu d'un espace insécable.

Fresskoma
la source
11

J'utilise iTerm2 pour la majeure partie de mon travail et le mappage peut être ajouté dans la sous-fenêtre de préférences "Clés" en ajoutant une nouvelle combinaison de touches dans Préférences -> Clés -> le bouton Plus. Remarque lorsque vous ajoutez la clé, veillez à ne laisser qu'un seul espace dans la zone inférieure, comme indiqué.

Capture d'écran de l'ajout du raccourci clavier

Simon Walker
la source
Très bonne solution! Heck, je reçois toujours des informations précieuses d'un poste de quatre ans. :-)
Malax
Tu fais ma journée!
Enrique Marcos
6

Vous pouvez également créer une disposition de clavier personnalisée avec Ukelele (voir https://superuser.com/a/515151 ) ou utiliser KeyRemap4MacBook :

https://github.com/tekezo/KeyRemap4MacBook/blob/master/src/core/server/Resources/include/checkbox/standards/space.xml

<item>
  <name>Non-Breaking Space to Normal Space</name>
  <appendix>(Option+Space to Space)</appendix>
  <appendix>(Option+Shift+Space to Space)</appendix>
  <identifier>remap.option_space_to_space</identifier>
  <autogen>__KeyToKey__ KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | ModifierFlag::NONE, KeyCode::SPACE</autogen>
  <autogen>
    __KeyToKey__
    KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT | ModifierFlag::NONE,
    KeyCode::SPACE,
  </autogen>
</item>
Lri
la source
3

Comme c'est la réponse que Google vous montre lorsque vous recherchez "Comment désactiver les espaces insécables dans Sublime Text" ( voir la réponse de x3ro ), j'ai pensé poster la réponse pour Sublime Text sur Linux. Ajoutez ceci à vos raccourcis clavier:

{ "keys": [" "], "command": "insert_snippet", "args": { "contents": " " } }

Allez dans "Préférences" → "raccourcis clavier - utilisateur" pour modifier vos raccourcis clavier.

Notez que l'espace "keys": [" "]est un espace insécable.

Notez également que cette liaison de clé affecte également les widgets, comme le champ de recherche. En d'autres termes, vous ne pouvez plus taper d'espaces insécables dans votre zone de recherche, ce qui pourrait poser problème. Pour désactiver les espaces insécables uniquement dans l'éditeur de texte, utilisez plutôt cette liaison de clé:

{
    "keys": [" "],
    "command": "insert_snippet", "args": { "contents": " " },
    "context": [
        { "key": "setting.is_widget", "operand": false }
    ]
}
Hubro
la source
3

Une solution globale possible consiste à définir alt- spaceà quelque chose d' autre comme Afficher la notification Centre dans les Préférences Système> Clavier> Raccourcis> Mission Control.

entrez la description de l'image ici

Ari P
la source
3

Utiliser OSX Sierra (10.12.6) et résoudre cela très facilement en utilisant Karabiner-Elements:

https://github.com/tekezo/Karabiner-Elements

Une fois ouvert, allez dans "Modifications complexes"> "Ajouter une règle"> "Importer davantage de règles à partir d'Internet", puis téléchargez la règle "Désactiver alt + barre d'espace (espace de travail insécable)". Ajoutez-le et vous avez terminé!

Terje Andersen
la source
3

Je ne pouvais pas non plus obtenir le correctif KeyBindings au travail. Semblable à la réponse Sublime, j'ai fini par configurer mon éditeur (Code VS) pour insérer un espace normal en ajoutant

{ "key": "alt+space", "command": "type", 
                      "when": "editorTextFocus",
                      "args": { "text": " " } }

à mon global keybindings.json( Preferences: Open Keyboard Shortcuts Filedans la palette de commande).

utilisateur2361830
la source
1

Pour moi, le correctif KeyBindings ne fonctionnait pas. J'utilise Coda2 en tant qu'éditeur. J'ai réussi à obtenir le remplacement pour travailler avec BetterTouchTool cependant.

BetterTouchTool: "Clavier> Ajouter un nouveau raccourci" puis tapez "alt + espace" dans "Raccourci clavier" et "Espace" dans "Déclencher un autre raccourci clavier"

Sean Grünböck
la source
Thanks !, bettertouchtool a une solution à tous les problèmes: p
Steven.B