¿Cómo deshabilitar la combinación de teclas Opción-Espacio para espacios que no se rompen?

59

¿Cómo deshabilitar la molesta combinación de teclas Opción-Espacio para espacios que no se rompen?

Esto es muy muy molesto en Eclipse o en la terminal, ya que a menudo escribo el espacio sin interrupciones en lugar de uno normal.

Malax
fuente
3
FWIW, se conoce como la tecla de opción en lugar de la tecla alt en una Mac.
Chealion el
¿Es posible hacer que la Terminal muestre nbsp como un carácter inverso o de algún tipo, para que lo veas instantáneamente cuando escribes mal? Debido a que algunas veces que en realidad no desea escribir un nbsp.
forthrin

Respuestas:

61

Haga que su ~/Library/KeyBindings/DefaultKeyBinding.dictarchivo se vea así (si no existe, créelo, si ya hay enlaces en él, simplemente agregue el de abajo):

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

Que hace esto? Cada vez que presiona Option-Space en lugar de insertar un espacio sin interrupción, OS X ahora inserta un espacio normal. Problema fijo.

Necesita reiniciar el dispositivo para aplicar este cambio.

Martin S.
fuente
No pude conseguir este trabajo en OSX 10.7 :(
Eemeli Kantola
44
@EemeliKantola Todavía funciona para mí, pero debes volver a abrir las aplicaciones para aplicar los cambios. Terminal, Xcode y muchas aplicaciones multiplataforma no admiten DefaultKeyBinding.dict.
Lri
1
@LauriRanta Terminal parece admitir el DefaultKeyBinding.dictarchivo.
Ragnar123
Esto funciona en Yosemite 10.10.2. He creado el directorio y el archivo desde cero. ¡Gracias un montón!
Petr Cibulka el
1
También trabajó para mí en El Capitan, OS X 10.11. ¡Gracias!
n2o
15

Como se menciona en los comentarios, la solución proporcionada por Martin no funciona en algunas aplicaciones, lo más importante (para mí) en mi editor, Sublime Text 2.

Entonces, para todos los que no tienen problemas para romper espacios en su código, pueden agregar la siguiente combinación de teclas personalizada en su mapa de teclas de usuario ( "Sublime Text 2 > Preferences > Key Bindings - User"):

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

Esto insertará un espacio regular en lugar de uno que no se rompa.

fresskoma
fuente
11

Utilizo iTerm2 para la mayor parte de mi trabajo y la asignación se puede agregar en el panel de preferencias "Claves", agregando una nueva combinación de teclas en Preferencias -> Teclas -> el botón más. Tenga en cuenta que cuando agregue la clave, asegúrese de poner un solo espacio en el cuadro inferior como se muestra.

captura de pantalla de agregar el atajo de teclado

Simon Walker
fuente
Muy buena solución! Diablos, sigo recibiendo información valiosa de una publicación de cuatro años. :-)
Malax
¡Tu haces mi día!
Enrique Marcos
6

También puede crear un diseño de teclado personalizado con Ukelele (consulte https://superuser.com/a/515151 ) o usar 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
fuente
3

Dado que esta es la respuesta que Google le muestra cuando busca "Cómo deshabilitar espacios que no se rompen en Sublime Text" ( vea la respuesta de x3ro ), pensé en publicar la respuesta para Sublime Text en Linux. Agregue esto a sus combinaciones de teclas:

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

Vaya a "Preferencias" → "Asignaciones de teclas - Usuario" para editar sus asignaciones de teclas.

Tenga en cuenta que el espacio en "keys": [" "]es un espacio continuo.

También tenga en cuenta que esta combinación de teclas también afecta a los widgets, como el cuadro de búsqueda. En otras palabras, ya no puede escribir espacios que no se rompen en su cuadro de búsqueda, lo que podría ser un problema. Para deshabilitar espacios que no se rompen solo en el editor de texto, use este enlace de teclas en su lugar:

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

Una posible solución global es establecer alt- spacea algo que se le parezca Mostrar Notificación Center en Preferencias del sistema> Teclado> Atajos> Control de la Misión.

ingrese la descripción de la imagen aquí

Una estafa
fuente
3

Usando OSX Sierra (10.12.6), y resolvió esto muy fácilmente usando Karabiner-Elements:

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

Una vez abierto, vaya a "Modificaciones complejas"> "Agregar regla"> "Importar más reglas de Internet" y descargue la regla "Desactivar alt + barra espaciadora (espacio sin interrupciones)". ¡Agrégalo y listo!

Terje Andersen
fuente
3

Tampoco pude conseguir que la corrección KeyBindings funcionara. Similar a la respuesta Sublime, terminé configurando mi editor (Código VS) para insertar un espacio normal agregando

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

a mi global keybindings.json( Preferences: Open Keyboard Shortcuts Fileen la paleta de comandos).

usuario2361830
fuente
1

Para mí, la solución KeyBindings no funcionó. Yo uso Coda2 como editor. Sin embargo, logré obtener el reemplazo para trabajar con BetterTouchTool.

BetterTouchTool: "Teclado> Agregar nuevo método abreviado", luego escriba "alt + espacio" en "Método abreviado de teclado" y "Espacio" en "Activar otro método abreviado de teclado"

Sean Grünböck
fuente
¡Gracias !, bettertouchtool tiene una solución para todos los problemas: p
Steven.B