macos vim capslock

macos - Usando Caps Lock como Esc en Mac OS X



vim capslock (13)

Abra las preferencias del teclado y haga clic en las teclas modificadoras ... puede cambiar la tecla de bloqueo de mayúsculas para controlar, optar, escapar o mandar.

¿Cómo puedo hacer que Caps Lock funcione como Esc en Mac OS X?



Desde macOS 10.12.1 es posible volver a asignar Caps Lock a Esc natively (Preferencias del sistema -> Teclado -> Teclas de modificación).


Después de haber probado varias de estas soluciones, tengo algunas notas:

DoubleCommand no le permitirá intercambiar esc y mayúsculas.

PCKeyboardHack te permitirá asignar Capslock para escapar, pero no tiene la capacidad de asignar escape a capslock . Las versiones recientes le permitirán realizar un intercambio completo editando ambas teclas.

Esto puede o no puede ser suficiente para sus necesidades (sé que es para la mía).


En caso de que no desee instalar una aplicación de terceros y realmente solo le interese vim dentro de iTerm, los siguientes trabajos:

Vuelva a asignar CapsLock a la Ayuda como se describe aquí .

Versión corta: use plutil o similar para editar ~/Library/Preferences/ByHost/.GlobalPreferences*.plist , debería verse similar a esto:

<key>HIDKeyboardModifierMappingDst</key> <integer>6</integer> <key>HIDKeyboardModifierMappingSrc</key> <integer>0</integer>

¡Reiniciar! Un simple cierre de sesión e inicio de sesión no funcionó para mí.

En iTerm, agregue una nueva asignación de teclas para la Ayuda: envíe el código hexadecimal 0x1b, que corresponde a Escape.

Sé que esto no es exactamente lo que se pidió, pero asumo que la intención de muchas personas que buscan una solución como esta es en realidad esta variante más especializada.


Es posible.

Solución 1

De un artículo en TrueAffection.net.

  • Descarga PCKeyboardHack e instálalo.
  • Ir a PCKeyboardHack en Preferencias del sistema.
  • Habilite "Cambiar bloqueo de mayúsculas" y establezca el código clave en 53.

Solucion 2

Esta solución no implica parchear el controlador del teclado, pero le brinda una solución específica para Vim.

OS X admite la asignación de la tecla Bloq Mayús a un montón de teclas, pero debe hacerlo ''a mano'', editando archivos .plist. El proceso se describe en este artículo . Como adición a esa sugerencia, le sugiero que primero establezca Bloqueo de mayúsculas en Ninguno en las Preferencias del sistema, luego solo necesita cambiar un valor en el archivo .plist. También, por supuesto, puede usar el Editor de listas de propiedades en lugar de seguir los pasos de conversión XML.

El truco consiste en asignar la tecla Bloq Mayús a la tecla Ayuda (código 6), que no se encuentra en la mayoría de los teclados. Pero si lo es, se tratará como la tecla de inserción, que probablemente no utilice de todos modos, ya que pregunta sobre la posibilidad de volver a colocar su Bloqueo de mayúsculas para evitar estirar las manos;)

A continuación, puede asignar la Ayuda y la tecla Insertar a Esc in vim.

map <Help> <Esc> map! <Help> <Esc> map <Insert> <Esc> map! <Insert> <Esc>

Esto funcionará para gvim (Vim.app). No logré que funcionara con vim en la Terminal y no lo he probado con MacVim.

Por lo tanto, es más bien una solución complicada a medias o instalar una pieza de piratería de terceros. Tu selección ;)

Edición: Acabo de notar la solución 3, si está usando MacVim , puede usar Ctrl , Opción y Comando como Esc . Con las Preferencias del sistema es trivial asignar el bloqueo de mayúsculas a una de esas teclas.


Lo único que sé hacer es asignar Bloqueo de mayúsculas a Control, u Opción o Comando. Esto se puede hacer a través del panel Teclado y Ratón de Preferencias del Sistema. Haga clic en "Teclas modificadoras" en la parte inferior izquierda y podrá volver a asignar Bloq Mayús, Control, Opción y Comando, a cualquiera de ellos.

@Craig: Esto sugiere que el bloqueo de mayúsculas se puede usar como una tecla normal, es decir, que no se puede cambiar. En mi MacBook, ya que he vuelto a asignar Caps Lock a Control, la luz de Caps Lock nunca se enciende. Simplemente actúa como la tecla Control.


No estaba contento con ninguna de las respuestas aquí, y fui a buscar una solución de línea de comandos .

En macOS Sierra 10.12, Apple introdujo una nueva forma para que los usuarios reasignen claves.

  • No es necesario jugar con las GUI del sistema
  • No se requieren privilegios especiales
  • Completamente personalizable
  • No es necesario instalar ninguna mierda de terceros como PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelay

Si eso te parece bien, échale un vistazo a hidutil .

Por ejemplo, para reasignar el bloqueo de mayúsculas para escapar, consulte la tabla de claves y encuentre que el bloqueo de mayúsculas tiene un código de uso 0x39 y escape tiene un código de uso 0x29. Ponga estos códigos con el valor hexadecimal 0x700000000 en la fuente y destínelos de esta manera:

hidutil property --set ''{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}''

Puede agregar otras asignaciones en el mismo comando. Personalmente, me gusta volver a asignar el bloqueo de mayúsculas al retroceso, y volver a asignar el retroceso para eliminar:

hidutil property --set ''{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}''

Para ver el mapeo actual:

hidutil property --get "UserKeyMapping"

Sus cambios se perderán en el reinicio del sistema. Si desea que persistan, póngalos en un script y configure un enlace de inicio de sesión:

sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh


Para poder intercambiar realmente la tecla de escape con la tecla de bloqueo de mayúsculas (no solo asignar una a la otra) usando PCKeyboardHack y KeyRemap4MacBook, debe seguir las instrucciones de este hilo , asignando la tecla de bloqueo de mayúsculas a un código de clave no utilizado por el teclado pero contabilizado por KeyRemap4MacBook (por ejemplo, 110). Luego, en PCKeyboardHack, seleccione la opción apropiada que asigna ese código clave para escapar (en el caso de 110, es "Application Key to Escape"). A continuación se muestran las preferencias de KeyRemap4MacBook (siempre que haya seleccionado la casilla de verificación "Mostrar solo habilitado").

Originalmente intenté publicar esta información como una edición de la excelente respuesta de cwd , pero fue rechazada. Animo a cualquier persona que quiera ir por la ruta que describo a que primero lea su respuesta.




También puede usar DoubleCommand para volver a asignar esta y otras teclas.

IIRC, mapeará Caps Lock a Esc.


Edición: como se describe en esta respuesta , las versiones más recientes de MacOS ahora tienen soporte nativo para volver a vincular Caps Lock to Escape . Por lo tanto, ya no es necesario instalar software de terceros para lograr esto.

Este es mi intento de obtener una respuesta completa y visual (con enlaces) de cómo lograrlo utilizando Seil (anteriormente conocido como PCKeyboardHack ).

  1. Primero, ingrese a las Preferencias del sistema , elija Teclado , luego la pestaña Teclado (primera pestaña) y haga clic en Teclas modificadoras :

En el cuadro de diálogo emergente, establezca la tecla Bloq Mayús en No Action :

2) Ahora, Seil e instalarlo:

3) Después de la instalación, tendrá una nueva aplicación instalada (Mountain Lion y más reciente) y si tiene un sistema operativo más antiguo, es posible que tenga que buscar un nuevo panel de Preferencias del sistema:

4) Marque la casilla que dice "Cambiar bloqueo de mayúsculas" e ingrese "53" como el código para la clave de escape:

¡Y tu estas listo! Si no funciona de inmediato, es posible que deba reiniciar la máquina.

¿Impresionado? ¿Quieres más control?

También puede consultar KeyRemap4MacBook que en realidad es la herramienta de reasignación de teclado de pqrs.org , que también es gratuita.

Si te gustan estas herramientas puedes hacer una donación . No tengo ninguna afiliación con ellos, pero he estado usando estas herramientas durante mucho tiempo y tengo que decir que los muchachos de allí han estado haciendo un excelente trabajo manteniendo estas, agregando funciones y solucionando errores.

Aquí hay una captura de pantalla para mostrar algunas de las (cientos de) opciones preseleccionadas:

PQRS también tiene una gran utilidad llamada NoEjectDelay que puede usar en combinación con KeyRemap4MacBook para reprogramar la tecla de expulsión. Después de un pequeño ajuste, tengo el mío configurado para cambiar el AirPort Wifi.

Estas utilidades ofrecen una flexibilidad ilimitada al reasignar el teclado de Mac. ¡Que te diviertas!