63 votes

Définir un raccourci clavier spécifique pour la mode Emacs

Si je sais comment faire pour définir une clé de liaison dans Emacs, j'ai du mal à même Google le code pour un local (minor-mode spécifique) clé de liaison. Par exemple, j'ai ce code dans mon .emacs:

;; PDFLaTeX from AucTeX
(global-set-key (kbd "C-c M-p")
        (lambda ()
          (interactive)
          (shell-command (concat "pdflatex " buffer-file-name))))

Je ne veux pas définir à l'échelle mondiale. Est-il une fonction comme local-set-key?

53voto

Dror Points 953

J'utilise la suite:

(add-hook 'LaTeX-mode-hook
          (lambda () (local-set-key (kbd "C-0") #'run-latexmk)))

pour avoir une liaison définie pour le LaTeX mode seul.

49voto

Rémi Points 3996

Pour lier une clé dans une mode, vous avez besoin d'attendre pour le mode d'être chargé avant la définition de la clé. On peut imposer à la mode, ou utiliser eval-after-load

   (eval-after-load 'latex 
                    '(define-key LaTeX-mode-map [(tab)] 'outline-cycle)))

Ne pas oublier non plus '-eval-after-load n'est pas une macro, donc il a besoin d'eux.

12voto

0x4b Points 1712

Vous devez identifier la carte clé pour ce mode (par exemple, LaTeX-mode-map) et utiliser la fonction define-key. Comme un exemple, avec l'activation outline-minor-mode au sein de LaTeX de mode, j'ai:

  (define-key LaTeX-mode-map [(tab)] 'outline-cycle))

Dans ce cas, le mode majeur (LaTeX) détient la clé de liaison, mais il y a aussi un outline-minor-mode-map.

2voto

drysdam Points 3266

De plus en plus et je suis aller à la Emacs Wiki pour obtenir de l'aide: http://www.emacswiki.org/emacs/KeyBindingDiscussion

Il montre que vous pouvez ajouter un raccourci clavier à une touche mode carte et montre aussi comment trouver cette carte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X