Est-il possible de définir des raccourcis clavier spécifiques au tampon?
J'ai les éléments suivants dans l'un de mes fichiers d'organisation:
# Local Variables:
# eval: (local-set-key (kbd "<f10>") 'some-custom-defun-specific-to-this-buffer)
# End:
Mais cette liaison persiste également pour les autres fichiers en mode org. Si j'ouvre un fichier avec un mode majeur différent, ma liaison de touches par défaut entre en jeu.
Il semble que la local-set-key
définition de liaisons spécifiques au mode principal ne soit pas spécifique au tampon.
Comment puis-je avoir des liaisons qui s'activent uniquement dans un tampon particulier?
key-bindings
keymap
file-local-variables
Kaushal Modi
la source
la source
local-unset-key
accrochéorg-mode-hook
pourrait fonctionner si cela est exécuté avant laLocal Variables:
section.Local Variables:
Réponses:
Pour terminer, voici une réponse qui développe mon commentaire. Je définis un mode mineur avec le raccourci clavier requis et le bascule dans le tampon requis en utilisant des variables locales de fichier.
Vous pouvez le basculer dans les fichiers nécessaires en définissant la section des variables locales à la fin du fichier comme suit. Vous pouvez également modifier ou ajouter le raccourci clavier ici. Vous devrez toujours définir différents modes mineurs pour chaque tampon qui mappe la même séquence de touches à différentes commandes.
la source
eval-buffer: Symbol's value as variable is void: my-org-buffer-local-mode-map
quand j'essaye d'exécuter ceci(define-minor-mode my-org-buffer-local-mode "Minor mode to simulate buffer local keybindings." :init-value nil) (define-key my-org-buffer-local-mode-map (kbd "<f10>") 'some-custom-defun-specific-to-this-buffer)
:keymap
mot-clé, consultez nullprogram.com/blog/2013/02/06Voici une manière générique de définir des liaisons de touches spécifiques au tampon.
temp-mode.el
etrequire
dans votreinit.el
.temp-mode
mode mineur et définissez le clavier de ce mode mineur uniquement dans le (s) tampon (s) dont vous avez besoin.Placez l'
Local Variables
extrait ci-dessous dans le tampon où vous souhaitez la liaison de clé personnalisée. Voici des exemples deorg-mode
fichiers.Dans le tampon ONE
Si un autre tampon redéfinit la même liaison de clé à l'aide de,
Dans le tampon DEUX
la nouvelle liaison devient alors effective
M-x revert-buffer
.C'est ce que je ferais si je dois basculer entre ces deux tampons très fréquemment et si je dois utiliser la F10liaison dans les deux:
C-x C-s
(enregistrez) et passez au tampon DEUXrevert-buffer
(actualisez les liaisons), travaillez dans le tampon DEUXC-x C-s
et passez au tampon UNrevert-buffer
(actualisez les liaisons), travaillez dans le tampon UNC-x C-s
et passez au tampon DEUXMais je préfère lier les différentes commandes spécifiques au tampon à différentes clés.
Mode mineur temporaire
la source