Giả sử rằng tôi đã tải xuống một chế độ chính được gọi magical-mode
và nó có sơ đồ ma thuật riêng được gọi magical-mode-map
. Chế độ này cũng cung cấp một hook magical-mode-hook
được chạy mỗi lần magical-mode
trở thành chế độ chính của bộ đệm. Bây giờ tôi muốn sửa đổi tệp init của mình để thêm một vài ràng buộc khóa tùy chỉnh để sử dụng trong chế độ đó.
Dường như có (ít nhất) hai cách để thiết lập các ràng buộc khóa tùy chỉnh cho magical-mode
. Một cái mà tôi thấy phổ biến nhất là đây:
(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)
Nhưng cũng có thể làm theo cách này:
(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)
Phương pháp thứ hai thực sự có vẻ sạch hơn đối với tôi. Có bất kỳ lợi thế để làm điều này một cách so với cách khác?
C-n
và C-p
. Ví dụ chỉ là mã giả. Tôi muốn đưa ra một số chế độ ví dụ rất đơn giản và các ràng buộc ví dụ, chính xác để các ràng buộc đó không bị phân tâm khỏi mục đích thực tế của câu hỏi.