2010-07-12 7 views
5

J'ai essayé différentes versions en vain:Rebind C-espace dans Emacs

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

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

J'utilise le mode ACU et en cours d'exécution Emacs sur Ubuntu, la version: GNU Emacs 23.1.50.1 (x86_64-PC- linux-gnu, GTK + version 2.18.0) de 2009-09-27 à aigrettes, modifié par Debian

Quand je lance tempo-complete-tag manuellement il me dit qu'il est lié à C-espace, mais C-espace fonctionne toujours cua-set-mark (ou si CUA est désactivé, set-mark-command).

Comment redéfinir le raccourci de l'espace C dans Emacs à une commande que je décide?

Répondre

18

C-h k (key) vous dira comment Emacs fait référence à une clé donnée (qui est "C-SPC" dans ce cas). (global-set-key (kbd "C-SPC") 'tempo-complete-tag) fera ce que vous voulez.

J'utilise toujours la fonction (kbd) pour les raccourcis clavier, car elle vous permet de faire référence à la touche de la même manière qu'elle est généralement écrite ailleurs. Gardez à l'esprit que C-SPC est une liaison set-mark-command standard! Personnellement, je choisirais quelque chose de différent :)

+0

Hourra! C'est ce que j'ai fait! Je pensais à «l'espace arrière» et pensais naïvement que l'espace s'appelait «espace». Mais nous avons affaire à Emacs ici. :-) –

+0

D'accord; meta-space peut-être mieux que ctrol-space – johnbakers

+0

Pour tout le monde utilisant 'evil-mode':' v' est set-mark-command en mode 'evil' alors allez-y et utilisez C-SPC. –

4

Gardez également à l'esprit que "global-set-key" ne fera que ce que vous voulez, si votre mode ne l'outrepasse pas. Je suis trop paresseux pour charger le tempo pour voir si elle ne remplace en effet C-SPC, mais il pourrait bien le faire, dans ce cas, vous voulez mettre ceci dans votre .emacs:

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

Bon conseil! Je n'oublie pas à quel point les crochets sont puissants ... –

0

syntaxe alternative pour une liaison clé est par vecteur:

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