[英]local keymap for emacs outline-minor-mode
我想設置init.el文件的outline-minor-minor模式 ,然后在以;開頭的行上按TAB鍵時。 應該調用函數outline-toggle-children來折疊和擴展子標題。
下面是鈎子的代碼。 但是它不適用於“ TAB”鍵綁定按預期的方式。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(if (equal (buffer-name) "init.el")
(progn
(outline-regexp "^;+")
(outline-minor-mode 1)
(local-set-key (kbd "TAB") ; this does not work
(lambda ()
(if (string-match outline-regexp (thing-at-point 'line))
(outline-toggle-children))))))))
我認為您得到的錯誤是wrong-type-argument commandp
。 發生這種情況是因為綁定到鍵的功能必須是“交互”功能。 您需要在函數中添加一個(interactive)
聲明,以便Emacs知道如何響應事件來調用該函數:
(lambda ()
(interactive)
(if (string-match outline-regexp (thing-at-point 'line))
(outline-toggle-children)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.