2010-07-12 15 views
5

Ho provato varie versioni inutilmente:Rebind C-spazio in Emacs

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

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

sto usando la modalità CUA e l'esecuzione di Emacs su Ubuntu, versione: GNU Emacs 23.1.50.1 (x86_64-PC- linux-gnu, GTK + versione 2.18.0) del 2009-09-27 su crestato, modificato da Debian

Quando eseguo tempo-complete-tag manualmente mi dice che è destinata a C-spazio, ma C-space corre ancora cua-set-mark (o se CUA è disabilitato, set-mark-command).

Come posso riassociare il collegamento C-space in Emacs a un comando che decido?

risposta

18

C-h k (key) indicherà come Emacs fa riferimento a una determinata chiave (che in questo caso è "C-SPC"). (global-set-key (kbd "C-SPC") 'tempo-complete-tag) farà quello che vuoi.

Uso sempre la funzione (kbd) per le associazioni di tasti, in quanto consente di fare riferimento alla chiave nello stesso modo in cui viene tipicamente scritta ovunque.

Ricordare che C-SPC è un attacco standard set-mark-command! Personalmente sceglierei qualcosa di diverso :)

+0

Urrà! L'ha fatto! Stavo pensando a 'backspace' e pensavo ingenuamente che lo spazio fosse chiamato' spazio'. Ma abbiamo a che fare con Emacs qui. :-) –

+0

concordato; meta-spazio potrebbe essere migliore di ctrol-space – johnbakers

+0

Per tutti quelli che usano 'evil-mode':' v' è set-mark-command in 'evil-mode' quindi vai avanti e usa C-SPC. –

4

Ricorda anche che "global-set-key" farà solo ciò che desideri, se la tua modalità non la sovrascrive. Sono troppo pigro per caricare il tempo per vedere se effettivamente ignorare C-SPC, ma potrebbe anche fare in modo, in questo caso, si vuole mettere questo nel vostro .emacs:

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

Ottimo consiglio! Continuo a dimenticare quanto siano potenti i ganci ... –

0

Sintassi alternativa per la chiave di rilegatura è via vettoriale:

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