Bản thân Org cung cấp một phương tiện để lọc / tìm kiếm thông tin được lưu trữ trong .org
các tệp theo nhiều cách khác nhau. Nó được gọi là "Chương trình nghị sự" . Các org-mode
nhãn hiệu cung cấp thông tin đầy đủ về cách sử dụng nó (đánh dấu vào liên kết ở trên hoặc làm C-h i m Org Mode
RETtừ bên trong Emacs và điều hướng đến "Chương trình nghị sự lần xem" chương), vì vậy nó không có ý nghĩa để lặp lại tất cả các thông tin này ở đây. Văn bản giới thiệu từ sách hướng dẫn tóm tắt những gì bạn có thể làm với nó (nhấn mạnh của tôi):
Org có thể chọn các mục dựa trên các tiêu chí khác nhau và hiển thị chúng trong một bộ đệm riêng. Bảy loại chế độ xem khác nhau được cung cấp:
- một chương trình nghị sự giống như một lịch và hiển thị thông tin cho những ngày cụ thể,
- danh sách TODO bao gồm tất cả các mục hành động chưa hoàn thành,
- chế độ xem khớp, hiển thị các tiêu đề dựa trên các thẻ, thuộc tính và trạng thái TODO được liên kết với chúng,
- chế độ xem dòng thời gian hiển thị tất cả các sự kiện trong một tệp Org, trong chế độ xem được sắp xếp theo thời gian,
- chế độ xem tìm kiếm văn bản hiển thị tất cả các mục từ nhiều tệp có chứa các từ khóa được chỉ định ,
- chế độ xem dự án bị kẹt hiển thị các dự án hiện không di chuyển và
- chế độ xem tùy chỉnh là các tìm kiếm đặc biệt và kết hợp các chế độ xem khác nhau.
Điều duy nhất bạn cần làm để bắt đầu sử dụng chương trình nghị sự để tìm kiếm ghi chú của mình là thêm bất kỳ tệp nào bạn muốn tìm kiếm org-agenda-files
:
Thông tin được hiển thị thường được thu thập từ tất cả các tệp chương trình nghị sự, các tệp được liệt kê trong biến org-agenda-files
. Nếu một thư mục là một phần của danh sách này, tất cả các tệp có phần mở rộng .org
trong thư mục này sẽ là một phần của danh sách.
Vì vậy, trong trường hợp của bạn, bạn sẽ muốn thêm một cái gì đó như thế này vào tệp init của mình:
(setq org-agenda-files '("/path/to/Notes/Linux" "/path/to/Notes/Programming"))
Để biết nhiều ví dụ và lời khuyên thực tế, tôi cũng khuyên bạn nên xem bài viết về Tìm kiếm nâng cao trên Worg .
[CẬP NHẬT] Giới hạn tìm kiếm trong các tập tin cụ thể
Như đã đề cập trong các bình luận, OP muốn có thể hạn chế tìm kiếm trong các tập tin cụ thể. Theo thuật ngữ kỹ thuật, điều này có nghĩa là thiết lập org-agenda-files
các giá trị khác nhau tùy thuộc vào ngữ cảnh. Điều này có thể đạt được bằng cách sử dụng các biến thư mục-cục bộ :
Cách thông thường để xác định các biến thư mục-cục bộ là đặt một tệp có tên .dir-locals.el
trong một thư mục. Bất cứ khi nào Emacs truy cập bất kỳ tệp nào trong thư mục đó hoặc bất kỳ thư mục con nào của nó, nó sẽ áp dụng các biến thư mục-cục bộ được chỉ định trong .dir-locals.el
, [...].
Ví dụ: hãy nói rằng
trong khi truy cập các tệp được lưu trữ trong Notes/Linux
bạn muốn sử dụng chương trình nghị sự để chỉ tìm kiếm .org
các tệp được lưu trữ trong Notes/Linux
.
trong khi truy cập các tệp được lưu trữ trong Notes/Programming
, bạn muốn sử dụng chương trình nghị sự để chỉ tìm kiếm .org
các tệp được lưu trữ trong Notes/Programming
.
Dưới đây là những gì cần làm để kích hoạt hành vi này:
Thêm một .dir-locals.el
tệp có nội dung sau vào cả hai Notes/Linux
và Notes/Programming
:
((nil . ((org-agenda-files . (".")))))
Cái này đặt danh sách org-agenda-files
để bao gồm tất cả các tệp trong thư mục hiện tại.
Thêm mã sau vào tệp init của bạn:
(add-hook 'org-agenda-mode-hook #'hack-dir-local-variables-non-file-buffer)
Bước này là cần thiết để đảm bảo rằng *Org Agenda*
( bộ đệm không phải tệp ) tôn trọng các cài đặt thư mục cục bộ của bạn org-agenda-files
.
Lần tới khi bạn truy cập một tệp được lưu trữ trong Notes/Linux
hoặc Notes/Programming
, Emacs sẽ hỏi bạn xem bạn có muốn áp dụng các cài đặt được lưu trữ trong đó không .dir-locals.el
. Nhấn !để yêu cầu Emacs áp dụng các cài đặt và đánh dấu chúng là an toàn cho các phiên trong tương lai (bạn sẽ không được nhắc lại cho các tệp trong cùng thư mục).
M-x org-search-view
Đây là liên kết đến tài liệu: orgmode.org/manual/Search-view.html