spacemacs 折叠如何工作?
how does spacemacs folding work?
我正在查看启用折纸时负责 spacemacs 代码折叠的代码。我所看到的只是 hs-mode
已启用并且按键已绑定到折纸的折叠功能。
当我把它放在我的 emacs(不是 spacemacs)配置中时,折叠不像在 spacemacs 中那样工作。以下是我从.emacs.d/layers/+spacemacs/spacemacs-editing/packages.el
.
中找到的
(use-package origami
:defer t
:init
(progn
(origami-global-mode 1)
(define-key evil-normal-state-map "za" 'origami-forward-toggle-node)
(define-key evil-normal-state-map "zc" 'origami-close-node)
(define-key evil-normal-state-map "zC" 'origami-close-node-recursively)
...)
...)
将此添加到我的 emacs 配置时:
1) 当第 1 行有 sexp 时折叠不起作用
2) 折叠适用于 defun 但不适用于 use-package 或其他函数
我想找到 spacemacs 用来定义折叠的特定解析器,以便我可以在我自己的 emacs 中复制它。但是我不明白折叠是如何工作的。
例如,令我感到困惑的是,当我检查 za
与 describe-key
的绑定时,我看到密钥绑定到 evil-toggle-fold
而不是 [=16] =] 这正是我所期望的。
由于 describe-key
显示 za
绑定到 evil-toggle-fold
,我猜该层实际上未启用,折叠行为只是普通的 hs-minor-mode
。您可以尝试打开 hs-minor-mode
并使用 C-c @ C-c
切换 sexp。
我正在查看启用折纸时负责 spacemacs 代码折叠的代码。我所看到的只是 hs-mode
已启用并且按键已绑定到折纸的折叠功能。
当我把它放在我的 emacs(不是 spacemacs)配置中时,折叠不像在 spacemacs 中那样工作。以下是我从.emacs.d/layers/+spacemacs/spacemacs-editing/packages.el
.
(use-package origami
:defer t
:init
(progn
(origami-global-mode 1)
(define-key evil-normal-state-map "za" 'origami-forward-toggle-node)
(define-key evil-normal-state-map "zc" 'origami-close-node)
(define-key evil-normal-state-map "zC" 'origami-close-node-recursively)
...)
...)
将此添加到我的 emacs 配置时:
1) 当第 1 行有 sexp 时折叠不起作用
2) 折叠适用于 defun 但不适用于 use-package 或其他函数
我想找到 spacemacs 用来定义折叠的特定解析器,以便我可以在我自己的 emacs 中复制它。但是我不明白折叠是如何工作的。
例如,令我感到困惑的是,当我检查 za
与 describe-key
的绑定时,我看到密钥绑定到 evil-toggle-fold
而不是 [=16] =] 这正是我所期望的。
由于 describe-key
显示 za
绑定到 evil-toggle-fold
,我猜该层实际上未启用,折叠行为只是普通的 hs-minor-mode
。您可以尝试打开 hs-minor-mode
并使用 C-c @ C-c
切换 sexp。