2017-09-24 6 views
0

私はorigamiが有効になっているときにspacemacsコードの折り畳みを担当するコードを見ています。私が見ているのは、hs-modeが有効で、折り紙の折り返し機能にバインドされたキーです。spacemacs折り畳みはどのように機能しますか?

私はこれを私のemacs(spacemacsではない)のconfigに入れると、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の設定にこれを追加する:S式が行1

2上にあるとき

1)折りたたみが動作しない)フォールディングはdefunで動作しますが、あるいは他のパッケージを使用しません関数

特定のパーサーspacemacsが折り畳みを定義するために使用する特定のパーサーを探して、私自身のemacsでそれを複製できるようにしたいと思います。しかし、折り畳みがどのように機能しているのか分かりません。

例えば、それは私がdescribe-keyで例えばzaの結合を確認したときにことを私に混乱だ、私はキーは、私が期待するものであるevil-toggle-foldではなくorigami-toggle-foldにバインドされて参照してください。 describe-key以来

答えて

0

は、私は層が実際に有効になっていないと思い、zaevil-toggle-foldにバインドされていることを示しており、折りたたみ動作がhs-minor-mode単なるです。 hs-minor-modeをオンにして、C-c @ C-cとセックスを切り替えてみてください。

+0

レイヤーが有効になっていないのは間違いありません。私はまだspacemacsが実際に折り畳みを働かせる方法を確信しています。通常、悪では、 "折り畳みはこれらのメジャー/マイナーモードのいずれでもサポートされていません"と言われますが、折り畳み式のスペースマックではちょうど動作します。なぜあなたは私がどこを見つけることができるのか考えていますか? – Piglet

+0

エビルフォールディングは利用可能な折りたたみモードのいずれかに委任するだけで、アクションは 'evil-fold-list'変数にマップされます。 「折りたたみはサポートされていません...」と書かれているときは、「hs-minor-mode」、「outline-minor-mode」、「origami-mode」のいずれかを有効にするだけです。 – tungd

関連する問題