Як відключити комбінацію клавіш Option-Space для нерозривних пробілів?


59

Як відключити набридливу комбінацію клавіш Option-Space для нерозривних пробілів?

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


3
FWIW, це називається опціональним ключем, а не клавішею alt на Mac.
Chealion

Чи можливо зробити відображення терміналу nbsp як зворотний символ або якийсь такий вид, щоб ви миттєво його бачили, коли ви вводили помилку? Тому що кілька разів ви на самому справі дійсно хочете набрати NBSP.
Попередження

Відповіді:


59

Зробіть так, щоб ваш ~/Library/KeyBindings/DefaultKeyBinding.dictфайл виглядав таким чином (якщо його немає, створіть його, якщо в ньому вже є прив'язки, просто додайте файл знизу):

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

Що це робить? Кожен раз, коли ви натискаєте Option-Space замість того, щоб вставляти пробіл, що не порушується, OS X тепер вставляє звичайний пробіл. Виправлена ​​проблема.

Щоб застосувати цю зміну, потрібно перезапустити пристрій.


Я не міг отримати цю роботу на OSX 10.7 :(
Eemeli Kantola

4
@EemeliKantola Це все ще працює для мене, але вам потрібно знову відкрити програми, щоб застосувати зміни. Термінал, Xcode та багато додатків на різних платформах не підтримують DefaultKeyBinding.dict.
Лрі

1
Здається, термінал @LauriRanta підтримує DefaultKeyBinding.dictфайл.
Ragnar123

Це працює на Yosemite 10.10.2. Я створив каталог і файл з нуля. Дякую купу!
Петро Цибулька

1
Також працював для мене на El Capitan, OS X 10.11. Дякую!
n2o

14

Як згадувалося в коментарях, рішення, яке надає Мартін, не працює в деяких додатках, головне (для мене) в моєму редакторі Sublime Text 2.

Тож для всіх вас, хто занепокоєний жодним пробілом у вашому коді, ви можете додати в користувацьку клавішу користувача ( "Sublime Text 2 > Preferences > Key Bindings - User") користувальницьку інформацію про таке:

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

Тут буде вставлено звичайний простір замість нерозривного.


11

Більшу частину роботи я використовую iTerm2, і відображення можна додати на панелі налаштувань «Ключі», додавши нову комбінацію клавіш у Налаштуваннях -> Ключі -> кнопка плюс. Зверніть увагу, додаючи ключ, обов'язково поставте один пробіл у нижньому полі, як показано.

скріншот додавання комбінації клавіш


Дуже хороше рішення! Чорт, я все ще отримую цінну інформацію з чотирирічної посади. :-)
Малакс

Ви робите мій день!
Енріке Маркос

6

Ви також можете створити власну розкладку клавіатури за допомогою Ukelele (див. Https://superuser.com/a/515151 ) або використовувати 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>

3

Оскільки це відповідь, яку Google показує вам під час пошуку "Як відключити нерозривні пробіли в піднесеному тексті" ( див. Відповідь x3ro ), я подумав, що опублікую відповідь для Sublime Text в Linux. Додайте це до своїх основних прив’язок:

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

Перейдіть у розділ "Налаштування" → "Прив’язки клавіш - Користувач", щоб відредагувати свої ключові прив’язки.

Зауважте, що простір у "keys": [" "]- це нерозривний простір.

Також зауважте, що ця прив'язка клавіш також впливає на віджети, як-от вікно пошуку. Іншими словами, ви більше не можете вводити нерозривні пробіли у вікні пошуку, що може бути проблемою. Щоб вимкнути пробіли без розриву просто в текстовому редакторі, використовуйте замість цього прив'язку клавіш:

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

3

Можливе глобальне рішення встановити alt- spaceщо - то інше , як Show Notification Center в System Preferences> Клавіатура> Сполучення клавіш> управління польотом.

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


3

Використовуючи OSX Sierra (10.12.6), і вирішити це дуже просто, використовуючи Karabiner-Elements:

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

Після відкриття перейдіть до "Комплексні зміни"> "Додати правило"> "Імпортувати більше правил з Інтернету" та завантажте правило "Вимкнути alt + пробіл (нерозривний пробіл)". Додайте його, і ви закінчили!


3

Я також не зміг заставити KeyBindings виправити свою роботу. Подібно до відповіді Sublime, я закінчив налаштування свого редактора (код VS) для вставки нормального пробілу шляхом додавання

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

до мого глобального keybindings.json( Preferences: Open Keyboard Shortcuts Fileв палітрі команд).


1

Для мене виправлення KeyBindings не спрацювало. Я використовую Coda2 як редактор. Однак мені вдалося отримати заміну для роботи з BetterTouchTool.

BetterTouchTool: "Клавіатура> Додати новий ярлик", а потім введіть "alt + пробіл" у "Комбінації клавіш" та "Пробіл" у "Запустіть інший ярлик клавіатури"


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