2009-05-13 24 views
19

Me gustaría unirse Ctrl +R a 'isearch-backward y se unen Ctrl +Shift +R a 'tags-apropos pero no puedo distinguir entre las dos pulsaciones de teclas.¿Puede Emacs diferenciar entre ctrl-r y ctrl-shift-r?

Se puede diferenciar entre emacs Ctrl +R y Ctrl +Shift +R? ¿Qué debería ir en mi archivo .emacs para permitir este enlace de clave?

Respuesta

31

Sí.

(global-set-key (kbd "C-r") 'isearch-backward) 
(global-set-key (kbd "C-S-r") 'tags-apropos) 

La forma de averiguar la respuesta a esta clase de pregunta es hacer ayuda de una llave Ch k, y escribe los golpes de teclado que le interesa. Lo que Emacs muestra en el Ayuda búfer es la cadena que puede pasar a la macro 'kbd.

+5

Me gustan las respuestas de "enséñale a un hombre a pescar" – justinhj

2

Sí - uno es "\C-r", el otro es "\C-R". Pueden estar obligados a separar comandos. Por ejemplo, esto debe hacer el truco si se coloca en el archivo de .emacs:

(global-set-key "\C-R" 'tags-apropos) 
+2

Lamentablemente, eso no funciona. Cuando pasa una cadena a global-set-key, cualquier carácter en mayúsculas se traduce a su equivalente en minúsculas. Así que (global-set-key "\ C-R" 'tags-apropos) realmente vinculará Ctrl + r, no Ctrl + Shift + r. Para evitar esta traducción, puede usar la macro 'kbd, como indica la otra respuesta. –

Cuestiones relacionadas