簡體   English   中英

emacs大綱次要模式的本地鍵盤映射

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM