Jak wyłączyć kombinację klawiszy Option-Spacja dla spacji nierozdzielających?


59

Jak wyłączyć irytującą kombinację klawiszy Opcja-Spacja dla spacji niełamliwych?

Jest to bardzo irytujące w Eclipse lub terminalu, ponieważ często wpisuję spacje nierozdzielające zamiast zwykłych.


3
FWIW, Jest to określane jako klawisz opcji zamiast klawisza Alt na komputerze Mac.
— Chealion,

Czy jest możliwe, aby terminal wyświetlał nbsp jako znak odwrotny lub jakiś inny, abyś natychmiast zobaczył go, gdy się pomylisz? Ponieważ kilka razy rzeczywiście nie chcą wpisać nbsp.
— forwardrin

Odpowiedzi:


59

Spraw, aby Twój ~/Library/KeyBindings/DefaultKeyBinding.dictplik wyglądał tak (jeśli nie istnieje, utwórz go, jeśli są już w nim powiązania, po prostu dodaj ten od dołu):

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

Co to robi? Za każdym razem, gdy naciśniesz Option-Space zamiast wstawiania spacji nierozdzielającej, OS X wstawia teraz zwykłą spację. Problem rozwiązany.

Aby zastosować tę zmianę, musisz ponownie uruchomić urządzenie.


Nie mogłem pobrać tej pracy na OSX 10.7 :(
— Eemeli Kantola

4
@EemeliKantola To wciąż działa dla mnie, ale musisz ponownie otworzyć aplikacje, aby zastosować zmiany. Terminal, Xcode i wiele aplikacji wieloplatformowych nie obsługują DefaultKeyBinding.dict.
— Lri

1
@LauriRanta Terminal wydaje się obsługiwać ten DefaultKeyBinding.dictplik.
— Ragnar123

Działa to na Yosemite 10.10.2. Katalog i plik utworzyłem od zera. Wielkie dzięki!
— Petr Cibulka,

1
Pracowałem również dla El Capitan, OS X 10.11. Dzięki!
— n2o

14

Jak wspomniano w komentarzach, rozwiązanie dostarczone przez Martina nie działa w niektórych aplikacjach, co najważniejsze (dla mnie) w moim edytorze Sublime Text 2.

Tak więc dla wszystkich, którzy są zaniepokojeni brakiem spacji w kodzie, możesz dodać następujące niestandardowe przypisanie klawiszy do mapy klawiszy użytkownika ( "Sublime Text 2 > Preferences > Key Bindings - User"):

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

Spowoduje to wstawienie zwykłego spacji zamiast niełamliwego.


11

Używam iTerm2 przez większość mojej pracy, a mapowanie można dodać w panelu preferencji „Klucze”, dodając nową kombinację klawiszy w Preferencje -> Klucze -> przycisk plus. Uwaga dodając klucz, pamiętaj o umieszczeniu pojedynczej spacji w dolnym polu, jak pokazano.

zrzut ekranu dodawania skrótu klawiaturowego


Bardzo dobre rozwiązanie! Cholera, wciąż otrzymuję cenne informacje od czteroletniego posta. :-)
— Malax

Sprawiasz, że mój dzień jest lepszy!
— Enrique Marcos,

6

Możesz także utworzyć niestandardowy układ klawiatury za pomocą Ukelele (patrz https://superuser.com/a/515151 ) lub użyć 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

Ponieważ jest to odpowiedź, którą Google pokazuje ci podczas wyszukiwania „Jak wyłączyć nierozdzielające spacje w Sublime Text” ( patrz odpowiedź x3ro ), pomyślałem, że opublikuję odpowiedź na Sublime Text w systemie Linux. Dodaj to do swoich klawiszy:

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

Przejdź do „Preferencji” → „Powiązania klawiszy - Użytkownik”, aby edytować przypisania klawiszy.

Zauważ, że przestrzeń w "keys": [" "]jest przestrzenią nierozdzielającą.

Pamiętaj też, że to powiązanie klawiszy wpływa również na widżety, takie jak pole wyszukiwania. Innymi słowy, nie można już wpisywać nieprzerwanych spacji w polu wyszukiwania, co może być problemem. Aby wyłączyć niełamliwe spacje tylko w edytorze tekstu, użyj tego powiązania klawiszy:

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

3

Możliwym rozwiązaniem jest ustawienie globalne alt- spacena coś innego jak centrum Pokaż powiadomienie w oknie Preferencje systemowe> Klawiatura> Skróty> Mission Control.

wprowadź opis zdjęcia tutaj


3

Używając OSX Sierra (10.12.6), i rozwiązałeś to bardzo łatwo za pomocą Karabiner-Elements:

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

Po otwarciu przejdź do „Złożone modyfikacje”> „Dodaj regułę”> „Importuj więcej reguł z Internetu” i pobierz regułę „Wyłącz alt + spacja (spacja bez podziału)”. Dodaj i gotowe!


3

Nie udało mi się również naprawić poprawki KeyBindings. Podobnie jak w Sublime, skończyłem konfigurowanie mojego edytora (VS Code), aby wstawić normalną spację, dodając

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

do mojej globalnej keybindings.json( Preferences: Open Keyboard Shortcuts Filew palecie poleceń).


1

Dla mnie poprawka KeyBindings nie działała. Używam Coda2 jako edytora. Udało mi się jednak uzyskać zamiennik do pracy z BetterTouchTool.

BetterTouchTool: „Klawiatura> Dodaj nowy skrót”, a następnie wpisz „alt + spacja” w „Skrót klawiatury” i „Spacja” w „Wyzwól inny skrót klawiaturowy”


Dzięki !, bettertouchtool ma rozwiązanie wszystkich problemów: p
— Steven.B
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.