Recientemente comencé a usar una computadora nueva (en realidad una Hackintosh) con macOS Sierra. Mi máquina de desarrollo anterior todavía está en El Capitán. En el proceso de configuración de la nueva máquina que he agregado ~/Library/KeyBindings/DefaultKeyBinding.dict
.
La mayoría de combinaciones de teclas (específicamente opción+f para mover el cursor una palabra hacia adelante) funcionan bien. Sin embargo, la opción+b para mover el cursor una palabra hacia atrás simplemente actúa como una tecla muerta y escribe un ˘
carácter.
La sección relevante de DefaultKeyBindings.dict se ve así:
<key>~b</key>
<string>moveWordBackward:</string>
Agregar esto específicamente a, por ejemplo, el archivo específico de TextMate ~/Library/Application Support/TextMate/KeyBindings.dict
da como resultado que la opción + b funcione en TextMate, pero obviamente no tiene ningún efecto en otros lugares:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>~b</key>
<string>moveWordBackward:</string>
</dict>
</plist>
¿Cómo puedo evitar tener que cambiar mis hábitos con respecto a moveWordBackward:
?
Finalmente resolví esto después de darme cuenta de que la diferencia entre mi máquina El Capitan (10.11) y Sierra (10.12) era la nueva clave muerta en la Opción-b. No he podido determinar si se trata de una diferencia entre los diseños de teclado o las versiones del sistema operativo.
Parece que KeyBindings no puede anular las claves muertas. Usando Ukelele pude cambiar la salida de la opción-b a algún otro carácter. Luego instalé este diseño de teclado y moveWordBackward: comenzó a trabajar sin más modificaciones.
U.S. No B Dead Key
b
tecla; elija Hacer salida