組織ファイルの折りたたみ領域


8

org-modeでリージョンを折りたたむ方法はありますか?(ファイル全体ではなく、個別のアイテムではなく、複数のアイテムを含む領域。)

orgファイルの一部だけを折りたたみたい、たとえば折りたたみたい場合がよくあります。

* a
** a1
** a2
* b
** b1
** b2
** b3
* c
** c1
** c2
* d
** d1
** d2

* a
** a1
** a2
* b ...
* c ...
* d
** d1
** d2

この特定の例ではorg-cycle、を使用してファイル全体を単純に折りたたみ、次に展開aしてd個別にできることを知っていますが、何百ものアイテムがあり、アクティブな領域に含まれる12個の連続したアイテムを折りたたみ、残りのアイテムはファイルが拡張されました。


これは、C-tab機能を使用する場合とどのように異なりますか?を使用shift-tabすると、ファイル全体が循環しますがC-tab、特定のツリーが折りたたまれます。
GJStein 2015

キーボードマクロを記録してみましたか?
Melioratus、2015

@Melioratus組み込みの機能またはelispを頻繁に使用するので、使用したいと思います。
holocronweaver

@GJStein私が求めていることをうまく説明できる質問を更新しました。
holocronweaver

回答:


7

これはあなたが望むことをするようです:

(defun org-hide-subtrees-in-region (beg end)
  (interactive "r")
  (save-restriction
    (narrow-to-region beg end)
    (outline-hide-sublevels 1)))

編集:私は最初に間違った解決策を与えました、それは興味深いIMOでもあるのでここに留めます(しかし質問には答えません)

この機能outline-hide-region-bodyはあなたが望んでいるように見えますが、何らかの理由でインタラクティブではありません。インタラクティブな仕様を追加することもできますが、次のように定義しorg-hide-subtrees-in-regionてみましょう。

(defun org-hide-subtrees-in-region (beg end)
  (interactive "r")
  (outline-hide-region-body beg end))

すばらしい、これでうまくいきます!これをorg-cycle地域と同じように動作させることは可能ですか?
holocronweaver

@holocronweaver明確な解決策は考えていません。
YoungFrog 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.