Как отключить комбинацию клавиш Option-Space для неразрывных пробелов?
Как отключить надоедливую комбинацию клавиш Option-Space для неразрывных пробелов?
Это очень очень раздражает в Eclipse или терминале, так как я часто печатаю неразрывный пробел вместо обычного.
10 ответов
Сделай свой ~/Library/KeyBindings/DefaultKeyBinding.dict
файл выглядит следующим образом (если он не существует, создайте его, если в нем уже есть привязки, просто добавьте один из приведенных ниже):
{
"~ " = ("insertText:", " ");
}
Что это делает? Каждый раз, когда вы нажимаете Option-Space вместо вставки неразрывного пробела, OS X теперь вставляет обычный пробел. Проблема исправлена.
Вам необходимо перезагрузить устройство, чтобы применить это изменение.
Я использую iTerm2 для большей части своей работы, и сопоставление можно добавить на панели настроек "Ключи", добавив новую комбинацию клавиш в "Предпочтения" -> "Ключи" -> кнопка "плюс". Обратите внимание, при добавлении ключа не забудьте поставить один пробел в нижнем поле, как показано на рисунке.
Как упоминалось в комментариях, решение, предоставленное Мартином, не работает в некоторых приложениях, что особенно важно (для меня) в моем редакторе Sublime Text 2.
Поэтому для всех вас, кто обеспокоен тем, что в вашем коде нет пробелов, вы можете добавить следующую пользовательскую привязку клавиш в свою пользовательскую таблицу ключей ("Sublime Text 2 > Preferences > Key Bindings - User"
):
{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }
Это вставит обычный пробел вместо неразрывного.
Я также не смог заставить работать KeyBindings. Как и в случае с возвышенным ответом, я настроил свой редактор (VS Code) для вставки обычного пробела, добавив
{ "key": "alt+space", "command": "type",
"when": "editorTextFocus",
"args": { "text": " " } }
к моему глобальному keybindings.json
(Preferences: Open Keyboard Shortcuts File
в палитре команд).
Вы также можете создать собственную раскладку клавиатуры с помощью Ukelele (см. /questions/687830/os-x-otklyuchenie-sochetanij-klavish/687836#687836) или использовать KeyRemap4MacBook:
<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>
Используя OSX Sierra (10.12.6), и решил эту проблему очень просто, используя Karabiner-Elements:
https://github.com/tekezo/Karabiner-Elements
После открытия перейдите в "Сложные модификации" > "Добавить правило" > "Импортировать дополнительные правила из Интернета" и загрузите правило "Отключить alt+ пробел (неразрывный пробел)". Добавьте его, и все готово!
Возможное глобальное решение состоит в том, чтобы установить alt-space на что-то еще, например Показать Центр уведомлений в Системных настройках> Клавиатура> Сочетания клавиш> Управление полетом.
Так как это ответ, который Google показывает вам при поиске "Как отключить неразрывные пробелы в Sublime Text" ( см. Ответ x3ro), я решил опубликовать ответ для Sublime Text в Linux. Добавьте это к вашим привязкам клавиш:
{ "keys": [" "], "command": "insert_snippet", "args": { "contents": " " } }
Перейдите в "Настройки" → "Привязки клавиш - Пользователь", чтобы изменить привязки клавиш.
Обратите внимание, что пространство в "keys": [" "]
это неразрывное пространство.
Также обратите внимание, что эта привязка ключа также влияет на виджеты, такие как окно поиска. Другими словами, вы больше не можете вводить неразрывные пробелы в поле поиска, что может быть проблемой. Чтобы отключить неразрывные пробелы только в текстовом редакторе, используйте эту привязку клавиш:
{
"keys": [" "],
"command": "insert_snippet", "args": { "contents": " " },
"context": [
{ "key": "setting.is_widget", "operand": false }
]
}
Для меня исправление KeyBindings не сработало. Я использую Coda2 в качестве редактора. Мне удалось получить замену для работы с BetterTouchTool, хотя.
BetterTouchTool: "Клавиатура> Добавить новый ярлык", затем введите "alt + space" в "Сочетание клавиш" и "Пробел" в "Инициировать другие сочетания клавиш"
В Sublime Text 4113 в Mac OS Big Sur этот ответ не работает.
Вот правильная раскладка клавиатуры:
{ "keys": ["alt+space"], "command": "insert", "args": {"characters": " "} },