2010-07-12 8 views
5

He intentado diversas versiones en vano:Rebind C-espacio en Emacs

(global-set-key (kbd "C-<space>") 'tempo-complete-tag) 

(global-set-key [C-space] 'tempo-complete-tag) 

estoy usando el modo CUA y corriendo Emacs en Ubuntu, la versión: GNU Emacs 23.1.50.1 (x86_64-pc- linux-gnu, GTK + Versión 2.18.0) del 2009-09-27 en cresta, modificado por Debian

Cuando corro tempo-complete-tag manualmente me dice que está obligado a C-espacio, pero el espacio-C todavía funciona cua-set-mark (o si CUA está deshabilitado, set-mark-command).

¿Cómo puedo volver a vincular el atajo de espacio C en Emacs con un comando que decida?

Respuesta

18

C-h k (key) le dirá cómo se refiere Emacs a una tecla dada (que es "C-SPC" en este caso). (global-set-key (kbd "C-SPC") 'tempo-complete-tag) hará lo que quiera.

Siempre utilizo la función (kbd) para las combinaciones de teclas, ya que le permite referirse a la tecla de la misma manera que se escribe normalmente en cualquier otro lugar.

Tenga en cuenta que C-SPC es un enlace estándar set-mark-command! Personalmente elegiría algo diferente :)

+0

¡Hurra! Eso lo hizo! Estaba pensando en "retroceso" y pensé ingenuamente que el espacio se llamaba "espacio". Pero estamos lidiando con Emacs aquí. :-) –

+0

De acuerdo; meta-space podría ser mejor que ctrol-space – johnbakers

+0

Para todos los que usan 'evil-mode':' v' es set-mark-command en 'evil-mode' así que adelante y usa C-SPC. –

4

También tenga en cuenta que "global-set-key" solo hará lo que usted desee, si su modo no lo anula. Soy demasiado perezoso para cargar el tempo para ver si en efecto anular C-SPC, pero también podría hacerlo, en cuyo caso, usted quiere poner esto en su .emacs:

(add-hook 'tempo-mode-hook 
      (lambda() 
      (local-set-key (kbd "C-SPC") 'tempo-complete-tag) 
      )) 
+0

¡Un gran consejo! Sigo olvidando cuán poderosos son los ganchos ... –

0

Sintaxis alternativa para la asociación de teclas es a través del vector:

(global-set-key [?\M-\ ] 'cycle-spacing) 
(global-set-key [?\C-\ ] 'tempo-complete-tag)