8 Stimmen

C-Leerzeichen in Emacs neu binden

Ich habe verschiedene Versionen ausprobiert, ohne Erfolg:

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

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

Ich benutze den CUA-Modus und verwende Emacs auf Ubuntu, Version: GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.18.0) vom 2009-09-27 auf crested, modifiziert durch Debian

Wenn ich laufe tempo-complete-tag manuell sagt er mir, dass er an den C-Raum gebunden ist, aber der C-Raum läuft immer noch cua-set-mark (oder wenn CUA deaktiviert ist, set-mark-command ).

Wie kann ich die Tastenkombination C-Leertaste in Emacs an einen von mir gewählten Befehl binden?

23voto

phils Punkte 68556

C-h k (key) sagt Ihnen, wie Emacs sich auf einen bestimmten Schlüssel (in diesem Fall "C-SPC") bezieht. (global-set-key (kbd "C-SPC") 'tempo-complete-tag) wird tun, was Sie wollen.

Ich benutze immer die (kbd) Funktion für Tastenkombinationen, da sie es Ihnen ermöglicht, sich auf den Schlüssel so zu beziehen, wie er normalerweise überall geschrieben wird.

Bitte beachten Sie, dass C-SPC ein Standard ist. set-mark-command verbindlich! Ich persönlich würde etwas anderes wählen :)

0 Stimmen

Hurra! Das war's! Ich dachte an backspace und dachte naiv, dass der Weltraum als space . Aber wir haben es hier mit Emacs zu tun :-)

0 Stimmen

Einverstanden; Meta-Raum könnte besser sein als Ctrol-Raum

0 Stimmen

An alle, die evil-mode : v ist set-mark-Befehl in evil-mode verwenden Sie also C-SPC.

6voto

offby1 Punkte 6151

Denken Sie auch daran, dass "global-set-key" nur das tut, was Sie wollen, wenn Ihr Modus es nicht außer Kraft setzt. Ich bin zu faul, das Tempo zu laden, um zu sehen, ob es tatsächlich überschreibt C-SPC aber es könnte gut sein, dass es das tut, und in diesem Fall sollten Sie dies in Ihre .emacs-Datei aufnehmen:

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

1voto

gavenkoa Punkte 40749

Eine alternative Syntax für die Schlüsselanbindung ist über den Vektor:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X