Làm cách nào để tôi xem tất cả các TODO chế độ tối đa không định kỳ hoặc không được lên lịch?


6

Hàng tuần, tôi cố gắng đảm bảo rằng không có TODO nào tôi muốn lên lịch mà tôi đã bỏ lỡ. Vì vậy, tôi xem qua danh sách tất cả các mục TODO ( C-c a t). Điều đó thật tuyệt; nó chỉ hiển thị các TODO mở, vì vậy tôi không phải lãng phí thời gian để bỏ qua tất cả những thứ tôi đã làm.

Nhưng thực sự, tôi không muốn danh sách tất cả các TODO; Nếu một cái gì đó được lên lịch hoặc định kỳ, tôi không muốn thấy nó trong danh sách này. Tôi chỉ muốn nhìn thấy những thứ mà tôi có thể thiếu, và tôi không thiếu thứ gì được lên lịch vào ngày mai lặp lại cứ sau hai ngày.

Người ta có thể chạy org-agenda-filter-by-tagvới /, nhưng nó không thể lọc theo trạng thái được lên lịch / định kỳ hoặc tôi không chắc chắn về cách sử dụng theo cách đó. Cho rằng danh sách các thẻ hiển thị khi bạn nhấn TABkhông bao gồm bất cứ thứ gì như "không được lên lịch", tôi cá rằng đây không phải là công cụ tôi muốn.

Vì vậy, có hai giải pháp có thể. Mặc dù tôi thích cái thứ nhất, nhưng cái thứ hai cũng là một giải pháp khả thi cho vấn đề này.

  1. Làm cách nào tôi có thể xem tất cả các TODO mở đột xuất?

  2. Làm cách nào tôi có thể xem tất cả các TODO đang mở (đã lên lịch hoặc không) không định kỳ?

Câu trả lời:


11

Bạn có thể tạo chế độ xem chương trình nghị sự tùy chỉnh mà org-agenda-skip-functionsử dụng org-agenda-skip-entry-if. Một cái gì đó như thế này:

(setq org-agenda-custom-commands
      '(("c" . "My Custom Agendas")
        ("cu" "Unscheduled TODO"
         ((todo ""
                ((org-agenda-overriding-header "\nUnscheduled TODO")
                 (org-agenda-skip-function '(org-agenda-skip-entry-if 'timestamp)))))
         nil
         nil)))

1
Điều này sẽ bỏ qua bất cứ điều gì với dấu thời gian. (org-agenda-skip-entry-if 'notscheduled)sẽ chỉ bỏ qua các mục theo lịch trình.
erikstokes

3
@erikstokes - Tôi nghĩ bạn có nghĩa là (org-agenda-skip-entry-if 'scheduled)không 'notscheduled.
zck

Câu trả lời này rất hay, nhưng tôi khuyên bạn không nên sử dụng setq, mà thay vào đó pushchỉ cần thêm một mục mới vào danh sách, thay vì thiết lập hoàn toàn trước đó. Ngoài ra, tôi không chắc tại sao biểu tượng việc cần làm và các đối số của nó cần phải được lồng vào nhau; nó dường như hoạt động tốt nếu chúng ở cấp cao nhất của danh sách được trích dẫn.
zck

1
@zck Vâng, đó là những gì tôi muốn nói. Điều lồng đôi là nếu bạn muốn nhiều khối trong một khung nhìn chương trình nghị sự. Khối này chỉ có một khối, vì vậy nó giống như ở cấp cao nhất.
erikstokes

@zck Tôi không thể làm cho nó hoạt động với pushthay vì setq. Mã của bạn là gì?
Miguelmorin

6

Bây giờ bạn có thể đáp ứng các yêu cầu này mà không cần một chương trình nghị sự tùy chỉnh bằng cách tùy chỉnh org-agenda-todo-ignore-scheduled. Nó cũng có trong những hương vị này: org-agenda-todo-ignore-with-date org-agenda-todo-ignore-deadlinesvà những thứ khác.


Cụ thể, bạn có thể đặt org-agenda-todo-ignore-scheduledđể 'allbỏ qua bất kỳ mục nào có lịch trình (và tương tự như vậy đối với thời hạn). 'past'futurecũng là cài đặt hợp lệ.
erikstokes
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.