สมมติว่าผมได้ดาวน์โหลดโหมดหลักที่เรียกว่าและจะมีรูปแบบแป้นวิเศษของตัวเองที่เรียกว่าmagical-mode magical-mode-mapโหมดนี้ยังมีตะขอmagical-mode-hookที่รันในแต่ละครั้งmagical-modeกลายเป็นโหมดหลักของบัฟเฟอร์ ตอนนี้ฉันต้องการแก้ไขไฟล์ init เพื่อเพิ่มการเชื่อมโยงคีย์แบบกำหนดเองเพื่อใช้ในโหมดนั้น
มันดูเหมือนว่ามี (อย่างน้อย) magical-modeสองวิธีในการตั้งค่าปุ่มลัดที่กำหนดเองสำหรับ สิ่งที่ฉันเห็นบ่อยที่สุดคือ:
(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)
แต่ก็เป็นไปได้ที่จะทำเช่นนี้:
(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)
วิธีที่สองดูเหมือนจะสะอาดกว่าสำหรับฉัน มีข้อได้เปรียบใด ๆ ในการทำเช่นนี้มากกว่าอีกทางหนึ่ง?
C-n C-pตัวอย่างนี้เป็นเพียงรหัสจำลอง ฉันต้องการที่จะเกิดขึ้นกับโหมดตัวอย่างง่าย ๆ บางอย่างและการผูกตัวอย่างอย่างแม่นยำเพื่อให้การเชื่อมโยงตัวเองจะไม่เบี่ยงเบนความสนใจจากวัตถุประสงค์ที่แท้จริงของคำถาม