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.