Khu vực gấp của tập tin org


8

Có cách nào để gấp một vùng trong chế độ org không? (Không phải toàn bộ tệp và không phải là một mục riêng lẻ mà là một vùng chứa nhiều mục.)

Thường thì tôi muốn thu gọn chỉ một phần của một orgtập tin, nói gấp:

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

vào

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

Tôi biết trong ví dụ cụ thể này, tôi có thể chỉ cần gấp toàn bộ tệp bằng cách sử dụng org-cycle, sau đó mở rộng adriêng lẻ, nhưng hãy tưởng tượng có hàng trăm mục và tôi muốn gấp một tá các mục liền kề có trong một vùng hoạt động trong khi để các mục còn lại trong mở rộng tập tin.


Làm thế nào điều này sẽ khác với việc sử dụng các C-tabchức năng? Sử dụng shift-tabchu kỳ toàn bộ tập tin, nhưng C-tabgấp một cây cụ thể.
GJStein

Bạn đã thử ghi macro bàn phím chưa?
Melioratus

@Melioratus Tôi thà sử dụng một tính năng tích hợp hoặc elisp vì tôi làm điều này rất thường xuyên.
holocronweaver 12/07/2015

@GJStein Tôi đã cập nhật câu hỏi hy vọng làm rõ những gì tôi đang tìm kiếm.
holocronweaver 12/07/2015

Câu trả lời:


7

Điều này dường như để làm những gì bạn muốn:

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

EDIT: Trước tiên tôi đã đưa ra một giải pháp sai, mà tôi giữ ở đây vì nó cũng là IMO thú vị (nhưng không trả lời câu hỏi)

Các chức năng outline-hide-region-bodydường như là chính xác những gì bạn muốn, nhưng vì một số lý do nó không tương tác. Chúng ta có thể thêm một thông số tương tác vào nó, nhưng hãy xác định org-hide-subtrees-in-regionlà:

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

Tuyệt vời, công việc này! Nó sẽ có thể làm cho điều này hoạt động như org-cycletrong khu vực?
holocronweaver

@holocronweaver Tôi không có một giải pháp rõ ràng trong đầu.
YoungFrog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.