ฉันเขียนและเผยแพร่บล็อกของฉันด้วยโหมดองค์กรและหน้าองค์กร สิ่งที่ฉันต้องการเขียนเกี่ยวกับ Emacs และฉันต้องการให้การกดแป้นถูกเน้นเป็น Stack Exchange ทำกับ<kbd>
แท็ก ได้รับสิ่งนี้: C-x C-fแทนที่จะเป็นอย่างอื่น!
ฉันจะทำสิ่งนี้ได้อย่างไร?
ฉันเขียนและเผยแพร่บล็อกของฉันด้วยโหมดองค์กรและหน้าองค์กร สิ่งที่ฉันต้องการเขียนเกี่ยวกับ Emacs และฉันต้องการให้การกดแป้นถูกเน้นเป็น Stack Exchange ทำกับ<kbd>
แท็ก ได้รับสิ่งนี้: C-x C-fแทนที่จะเป็นอย่างอื่น!
ฉันจะทำสิ่งนี้ได้อย่างไร?
คำตอบ:
นี่คือสิ่งที่ผมใช้สำหรับบล็อกของฉัน
(define-key org-mode-map "\C-ck" #'endless/insert-key)
(defun endless/insert-key (key)
"Ask for a key then insert its description.
Will work on both org-mode and any mode that accepts plain html."
(interactive "kType key sequence: ")
(let* ((is-org-mode (derived-mode-p 'org-mode))
(tag (if is-org-mode
"@@html:<kbd>%s</kbd>@@"
"<kbd>%s</kbd>")))
(if (null (equal key "\r"))
(insert
(format tag (help-key-description key nil)))
(insert (format tag ""))
(forward-char (if is-org-mode -8 -6)))))
C-c k
เรียกโดยเรียก
C-h k
ทำ<kbd>
แท็กหนีRET
มันจะแทรกแท็กและออกจากจุดด้านใน (แทนที่จะใส่คีย์ใด ๆ ) เพื่อให้คุณสามารถพิมพ์คีย์ที่ซับซ้อนมากขึ้นorg-mode
!(define-key org-mode-map (kbd "C-c k") #'endless/insert-key)
และ(define-key org-mode-map (kbd "C-c k") 'endless/insert-key)
คืออะไร?
(help-key-description key nil)
เป็น(mapconcat 'identity (split-string (help-key-description key nil)) "</kbd><kbd>")