Aquí hay una forma genérica de establecer enlaces de teclas específicos del búfer.
- Cree un modo menor temporal (guarde el fragmento a continuación
temp-mode.el
y require
en su init.el
.
- Habilite ese
temp-mode
modo menor y defina el mapa de teclas de ese modo menor solo en el búfer (s) que necesita.
Coloque el Local Variables
fragmento a continuación en el búfer donde desea el enlace de clave personalizado. Debajo hay ejemplos de org-mode
archivos.
En buffer ONE
# Local Variables:
# eval: (temp-mode 1)
# eval: (define-key temp-mode-map (kbd "<f10>") 'function-ONE)
# End:
Si algún otro búfer redefine la misma combinación de teclas usando,
En el buffer DOS
# Local Variables:
# eval: (temp-mode 1)
# eval: (define-key temp-mode-map (kbd "<f10>") 'function-TWO)
# End:
entonces el nuevo enlace se hace efectivo al hacerlo M-x revert-buffer
.
Esto es lo que haría si necesito cambiar entre estos dos buffers con mucha frecuencia y si tengo que usar el F10enlace en ambos:
- Trabajar en el búfer UNO
C-x C-s
(guardar) y cambiar al búfer DOS
revert-buffer
(actualizar enlaces), trabajar en el búfer DOS C-x C-s
y cambiar al búfer UNO
revert-buffer
(actualizar enlaces), trabajar en el buffer UNO C-x C-s
y cambiar al buffer DOS
Pero prefiero vincular los diferentes comandos específicos del búfer a diferentes teclas.
Modo menor temporal
;; temp-mode.el
;; Temporary minor mode
;; Main use is to enable it only in specific buffers to achieve the goal of
;; buffer-specific keymaps
(defvar temp-mode-map (make-sparse-keymap)
"Keymap while temp-mode is active.")
;;;###autoload
(define-minor-mode temp-mode
"A temporary minor mode to be activated only specific to a buffer."
nil
:lighter " Temp"
temp-mode-map)
(provide 'temp-mode)