Załóżmy, że pobrałem tryb główny o nazwie magical-mode
i ma on własną magiczną mapę klawiszy o nazwie magical-mode-map
. Ten tryb zapewnia również przechwycenie, magical-mode-hook
które jest uruchamiane za każdym razem, gdy magical-mode
staje się głównym trybem bufora. Teraz chcę zmodyfikować mój plik init, aby dodać kilka niestandardowych powiązań klawiszy do użycia w tym trybie.
Wygląda na to, że istnieją (przynajmniej) dwa sposoby konfigurowania niestandardowych powiązań klawiszy magical-mode
. Najczęściej widzę to:
(defun my-magical-keys ()
(local-set-key (kbd "C-i") 'previous-line)
(local-set-key (kbd "C-k") 'next-line)
(local-set-key (kbd "C-j") 'backward-char)
(local-set-key (kbd "C-l") 'forward-char))
(add-hook 'magical-mode-hook 'my-magical-keys)
Ale można to również zrobić w ten sposób:
(define-key magical-mode-map (kbd "C-i") 'previous-line)
(define-key magical-mode-map (kbd "C-k") 'next-line)
(define-key magical-mode-map (kbd "C-j") 'backward-char)
(define-key magical-mode-map (kbd "C-l") 'forward-char)
Druga metoda wydaje mi się czystsza. Czy są jakieś zalety robienia tego w jedną stronę?
C-n
a C-p
. Przykładem jest po prostu sztuczny kod. Chciałem wymyślić kilka bardzo prostych przykładowych trybów i przykładowych powiązań, właśnie tak, aby same powiązania nie odwracały uwagi od rzeczywistego celu pytania.