En Linux, ¿cómo asigno "bloqueo de mayúsculas" a "escape" mientras estoy en Vim, pero * no * en otras aplicaciones?

2

Inspirado por esta pregunta . Me gustaría reasignar Caps Lock para escapar, pero solo cuando estoy en vim. Me gustaría mantener intacto el bloqueo de mayúsculas mientras no esté en vim.

Mateo
fuente
¿Le importa si se reasigna en todo el sistema cuando se abre vim?
Seamus Connor
@Seamus: No sería ideal, pero sería mejor que una reasignación persistente en todo el sistema.
Matthew
1
Luego puede escribir un contenedor de script de shell para vim, que usa xmodmap para cambiar sus enlaces de teclas. La configuración persistirá en todo el sistema hasta que salga de vim. Tendría que almacenar también el número total de vims abiertos en algún lugar persistente para que no vuelva a cambiar las asignaciones hasta que todos los vims estén cerrados. También tendrías que encontrar a alguien que sepa lo que está haciendo con bash (no yo, desafortunadamente).
Seamus Connor

Respuestas:

3

Si se presionan las teclas modificadoras, el sistema operativo no las pasa a las aplicaciones antes de presionar cualquier otra tecla.

Por lo tanto, no es posible asignar un solo bloqueo de mayúsculas, mayúsculas o presionar la tecla Ctrl en las aplicaciones sin reasignarlo globalmente.

matthias krull
fuente
0

Puede que esta no sea la respuesta que está buscando, y no quiero comenzar un debate religioso, pero para eso es bueno emacs. Al igual que con emacs, puede reasignar claves y escribir sus propias extensiones para ello.

No creo que esto sea posible de inmediato con vim.

Jaymz
fuente
1
¿Estás seguro de que emacs puede reasignar el bloqueo de mayúsculas? No creo que una presión de bloqueo de mayúsculas se retransmita normalmente a una aplicación, sino que simplemente modificará lo que se envía después. De lo contrario, estoy de acuerdo: con vim, al igual que con emacs, es posible implementar extensiones que usan keymappings personalizados.
intuido
0

Intenté hacer lo mismo y no pude encontrar la manera de hacerlo. Parece que Vim no ve CapsLock como una tecla modificadora, por lo que no puede crear una asignación para ello.

kmelvn
fuente