Como desativar a combinação de teclas Option-Space para espaços sem quebra?

59

Como desativar a combinação de teclas Option-Space irritante para espaços sem quebra?

Isso é muito irritante no Eclipse ou no terminal, pois geralmente digito o espaço sem quebra em vez de um espaço comum.

Malax
fonte
3
FWIW, é referida como a tecla de opção em vez da tecla alt em um Mac.
Chealion 04/12/2009
É possível fazer o Terminal exibir nbsp como um caractere reverso ou algum tipo, para que você o veja instantaneamente quando digitar errado? Porque algumas vezes você realmente não deseja digitar uma nbsp.
forthrin 24/03

Respostas:

61

Faça com que seu ~/Library/KeyBindings/DefaultKeyBinding.dictarquivo fique assim (se ele não existir, crie-o, se já houver ligações nele, basta adicionar o abaixo):

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

O que isso faz? Toda vez que você pressiona Option-Space em vez de inserir um espaço sem quebra, o OS X agora insere um espaço regular. Problema resolvido.

Você precisa reiniciar o dispositivo para aplicar essa alteração.

Martin S.
fonte
Eu não poderia começar este trabalho em OSX 10.7 :(
Eemeli Kantola
4
@EemeliKantola Ainda funciona para mim, mas você precisa reabrir os aplicativos para aplicar as alterações. Terminal, Xcode e muitos aplicativos de plataforma cruzada não suportam DefaultKeyBinding.dict.
Lr 25/09/12
11
O @LauriRanta Terminal parece suportar o DefaultKeyBinding.dictarquivo.
precisa saber é o seguinte
Isso funciona no Yosemite 10.10.2. Eu criei o diretório e o arquivo do zero. Muito obrigado!
Petr Cibulka
11
Também trabalhou para mim no El Capitan, OS X 10.11. Obrigado!
N2o 13/10/2015
14

Conforme mencionado nos comentários, a solução fornecida por Martin não funciona em alguns aplicativos, mais importante (para mim) no meu editor, Sublime Text 2.

Portanto, para todos os que estão incomodados com nenhuma quebra de espaço no seu código, você pode adicionar a seguinte combinação de teclas personalizada ao mapa de teclas do usuário ( "Sublime Text 2 > Preferences > Key Bindings - User"):

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

Isto irá inserir um espaço regular em vez de um espaço sem quebra.

fresskoma
fonte
11

Uso o iTerm2 na maior parte do meu trabalho e o mapeamento pode ser adicionado no painel de preferências "Chaves", adicionando uma nova combinação de teclas em Preferências -> Chaves -> no botão de adição. Observe que ao adicionar a chave, coloque um único espaço na caixa inferior, como mostrado.

screencap de adicionar o atalho de teclado

Simon Walker
fonte
Solução muito boa! Ainda estou recebendo informações valiosas de um post de quatro anos. :-)
Malax 26/11
Você faz meu dia!
Enrique Marcos
6

Você também pode criar um layout de teclado personalizado com o Ukelele (consulte https://superuser.com/a/515151 ) ou usar o 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>
Lri
fonte
3

Como esta é a resposta que o Google mostra ao pesquisar "Como desativar espaços não quebráveis no texto sublime" ( consulte a resposta da x3ro ), pensei em publicar a resposta para o texto sublime no Linux. Adicione isso às suas ligações de teclas:

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

Vá para "Preferências" → "Associações de teclas - Usuário" para editar suas associações de teclas.

Observe que o espaço em "keys": [" "]é um espaço sem quebra.

Observe também que essa ligação de chave também afeta widgets, como a caixa de pesquisa. Em outras palavras, você não pode mais digitar espaços sem quebra na sua caixa de pesquisa, o que pode ser um problema. Para desabilitar espaços sem quebra apenas no editor de texto, use esta associação de teclas:

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

Uma solução global possível é definir alt- spacepara algo como Mostrar Centro de Notificação em Preferências do Sistema> Teclado> Atalhos> Controle de Missão.

insira a descrição da imagem aqui

Um rasgo
fonte
3

Usando o OSX Sierra (10.12.6), e resolvi isso muito facilmente usando o Karabiner-Elements:

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

Depois de aberto, vá para "Modificações complexas"> "Adicionar regra"> "Importar mais regras da Internet" e faça o download da regra "Desativar alt + barra de espaço (espaço livre de espaço)". Adicione e pronto!

Terje Andersen
fonte
3

Também não foi possível obter a correção do KeyBindings para funcionar. Semelhante à resposta sublime, acabei configurando meu editor (código VS) para inserir um espaço normal adicionando

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

para o meu global keybindings.json( Preferences: Open Keyboard Shortcuts Filena paleta de comandos).

user2361830
fonte
1

Para mim, a correção KeyBindings não funcionou. Eu uso o Coda2 como editor. Eu consegui que a substituição funcionasse com o BetterTouchTool.

BetterTouchTool: "Teclado> Adicionar novo atalho" e digite "alt + space" em "Atalho de teclado" e "Espaço" em "Ativar outro atalho de teclado"

Sean Grünböck
fonte
Graças !, BetterTouchTool tem uma solução para todos os problemas: p
Steven.B