2012-02-05 11 views
10

Actualmente estoy volviendo a vincular casi todos mis enlaces Emacs para adaptarlos a mi nuevo diseño de teclado, bépo, un equivalente francés de dvorak.Asignación de teclas muertas como "^"

Tengo problemas para correlacionar mi clave ^. La clave ^ es una clave muerta, pero no a nivel material.

Me gustaría poder asignar C-^ pero actualmente, no funciona. Porque "circunflejo muerto" y "circunflejo" son dos claves diferentes.

Si hago:

(global-set-key "C-^" 'next-line) 

A continuación, pulsar la tecla de control con la tecla "^" hace lo siguiente:

<C-dead-circumflex> is undefined 

Tenemos la prueba de emacs ver a los muertos-circunfleja. Pero todavía no puedo lograr mapearlo.

sé que puedo hacer

(global-set-key "^" 'next-line) 

, y que va a trabajar presionando ^ dos veces, pero no es la solución que estoy buscando.

+0

¿Qué sistema operativo y GUI está utilizando? (por ejemplo, Windows 7, OSX/Aqua, FreeBSD/KDE, ...) – Gilles

+0

Estoy en Linux Mint 11, con gnome 2. Utilizo Emacs 23.2.1. –

Respuesta

2

El mensaje de error le indica el nombre que Emacs usa para la clave. Puede pasar esa cadena a la función kbd para enlazarla.

(global-set-key (kbd "<C-dead-circumflex>") 'next-line) 
+0

Pero tiene que encontrar manualmente y vincular cada clave muerta de esa manera. La solución de Lars establece todo automáticamente en una línea. –

3

yo sólo tenía el mismo error molesto, pero sólo cuando se utiliza la interfaz gráfica de emacs, no desde el terminal. El problema con la solución propuesta es que^no es el único personaje que no funciona. Para mí fue al menos 'y' también.

De este hilo: https://bugzilla.redhat.com/show_bug.cgi?id=918740 Encontré que el cambio de XMODIFIERS de "@ im = ibus" a "" resolvió el problema. Si bien la búsqueda en XMODIFIERS en conjunto me stubled a través del siguiente problema: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 Resulta que al eliminar ~/.config/ibus/autobús que resuelve ese problema también se soluciona el problema en emacs con teclas muertas

rm -rf ~/.config/ibus/bus 
3

Add lo siguiente a su ~/.emacs:

(require 'iso-transl) 

Este se encarga del problema indefinido dead keys.

+0

esto hizo por mí, gracias! (Esto es con Emacs 24.5.1 en Ubuntu 16.04 donde no tengo derechos de administrador) – jfbu

Cuestiones relacionadas