저는 org-mode의 속도 키를 많이 사용하고 있으며 키 시퀀스를 단축키로 사용하여 기억하기 쉽도록하고 싶습니다. 이 경우, 나는 "i n"
부제목을 삽입하고 "i t"
덧셈 부표를 삽입하고 싶습니다. org-mode 속도 키 시퀀스를 설정하는 방법
(progn
(define-prefix-command 'my-org-speed-command-insert-subheading-map)
(define-key my-org-speed-command-insert-subheading-map (kbd "n") 'jan/org-insert-subheading)
(define-key my-org-speed-command-insert-subheading-map (kbd "t") 'jan/org-insert-todo-subheading)
)
(global-set-key (kbd "C-c i") my-org-speed-command-insert-subheading-map)
그렇게
"C-c i n"
및
"C-c i t"
호출에게 해당 기능을 누르면 :
는 내가 같이 접두사 키맵을 사용하여 설치 순서를 할 수있는 것을 알고있다. 벌금. 나는 함수로 "my-org-speed-command-insert-subheading-map"
을 줄 때 이제 조직 속도에 의해 호출되는
는
(setq org-speed-commands-user (quote ((":" . helm-M-x)
("a" . org-toggle-archive-tag)
("i" . my-org-speed-command-insert-subheading-map)
… … …
)))
예상대로 작동하지 않는 명령. 내가 도대체 뭘 잘못하고있는 겁니까?
실제 명령처럼 접두사 맵을 호출 할 수 없다는 것을 이해합니다. 그러므로 global-set-key
으로 바인딩 할 때 따옴표로 묶지 않아 문제가 관련되어 있다고 생각됩니다. 그런데 어떻게 부르죠? 아니면 단순히 보지 못했던 목표를 달성하는 훨씬 간단한 방법이 있습니까?
편집 : 나는 "나"속도 키 호출이 기능을함으로써 지금은 문제를 해결하는 방법을 발견 :
(defun my-org-i-map-function()
(let (key1)
(setq key1 (read-key-sequence "press \"i\" for a simple subheading, \"t\" for a TODO-subheading"))
(cond
((equal key1 "i")(jan/org-insert-subheading nil))
((equal key1 "t")(jan/org-insert-todo-subheading nil))
(t (message "you didn't set a function for this key sequence")))
))
을하지만 내가해야 할 것 같은 다소 추한 솔루션입니다 모든 첫 글자마다 다른 함수를 호출하고 두 번째와 세 번째 글자는 함수 정의에 포함됩니다. 따라서이 접근 방법을 광범위하게 사용하면 장기적으로 많은 혼란이 야기됩니다.
덕분에, 나는 worf를 들여다 보았지만 사용하는 바인딩을 사용자 정의 할 수있는 방법을 제공하지 못했고 내 주요 목표는 니모닉 시퀀스를 사용하는 것이므로 나에게 적합하지 않기 때문입니다. 어쩌면 나는 내가 그것을 조금 더 잘 이해하면 내가 원하는 것을 위해 히드라를 얻을 수있다. – schmuu
히드라는 명령을 유발하기 위해 2 개 이상의 키워드를 지원한다. 다음은 제작자의 동영상 데모입니다. https://www.youtube.com/watch?v=_qZliI1BKzI – dunkaroo
와우, 훌륭합니다! 히드라는 내가 원했던 것과 똑같은 일을하고, 설치하기가 어리 석기 쉽고 머리로 먼저 갈 필요도 없다. 나는 스피드 키를 완전히 바꿀 것이다. 감사! – schmuu