How to disable the Option-Space key combination for non-breaking spaces?


How to disable the Option-Space key combination for non-breaking spaces?

How to disable the annoying Option-Space key combination for non-breaking spaces?

This is very very annoying in Eclipse or the terminal as I often type the non-breaking space instead of a regular one.

1 Answer

Make your ~/Library/KeyBindings/DefaultKeyBinding.dict file look like this (if it doesn’t exist create it, if there are already bindings in it just add the one from below):

{“~ ” = (“insertText:”, ” “);}

What does this do? Every time you press Option-Space instead of inserting a non breaking space OS X now inserts a regular space. Problem fixed.

As mentioned in the comments, the solution provided by Martin does not work in some applications, most importantly (for me) in my editor, Sublime Text 2.

So for all of you who are troubled by none breaking spaces in your code, you can add the following custom keybinding into your user keymap (“Sublime Text 2 > Preferences > Key Bindings – User”):

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

This will insert a regular space instead of a non-breaking one.

I use iTerm2 for most of my work and the mapping can be added in the “Keys” preference pane, by adding a new key combination in Preferences -> Keys -> the plus button. Note when adding the key make sure to put a single space in the lower box as shown.

screencap of adding the keyboard shortcut

You could also create a custom keyboard layout with Ukelele (see http://superuser.com/a/515151) or use 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>

Since this is the answer that Google shows you when searching for “How to disable non-breaking spaces in Sublime Text” (see x3ro’s answer) I thought I’d post the answer for Sublime Text on Linux. Add this to your key bindings:

{ “keys”: [” “], “command”: “insert_snippet”, “args”: { “contents”: ” ” } }

Go to “Preferences” → “Key bindings – User” to edit your key bindings.

Note that the space in “keys”: [” “] is a non-breaking space.

Also note that this key binding also affects widgets, like the search box. In other words, you can no longer type non-breaking spaces into your search box, which could be a problem. To disable non-breaking spaces just in the text editor, use this key binding instead:

{ “keys”: [” “], “command”: “insert_snippet”, “args”: { “contents”: ” ” }, “context”: [ { “key”: “setting.is_widget”, “operand”: false } ]}

Leave a Reply

Your email address will not be published. Required fields are marked *