2012-01-25 25 views
5

Sử dụng các mẫu chụp giống như mẫu bên dưới, tôi có thể thêm mục nhập vào các tiêu đề khác nhau trong một tệp. Làm cách nào tôi có thể nhập tiêu đề theo cách thủ công trong khi chụp, thay vì thiết lập từng dòng tiêu đề thành một khóa trong tệp .emacs như tôi hiện đang làm?Tương tác nhập dòng tiêu đề để đặt mục nhập bằng cách sử dụng ảnh chụp

(setq org-capture-templates 
     '(
     ("l" "Log" entry 
    (file+headline "c:/Org/log.org" "Log") 
    "\n\n** %?\n<%<%Y-%m-%d %a %T>>" 
    :empty-lines 1)) 

Trả lời

3

Tôi không tin rằng bạn có thể yêu cầu dòng tiêu đề bắt được. Tuy nhiên, bạn có thể di chuyển từ bên trong cửa sổ chụp mà sẽ dẫn đến hành vi mong muốn.

Tôi sẽ xác định tiêu đề/tệp mục tiêu bắt tất cả để nếu bạn quên bạn sẽ luôn thu thập chúng ở cùng một vị trí và sau đó chỉ cần phải sắp xếp lại chúng khi được tạo. Nếu bạn cũng đặt một danh mục/thẻ trên dòng tiêu đề này, bạn sẽ có thể dễ dàng nhìn thấy mục nhập chụp không phù hợp và thay đổi nó theo ý muốn. (Ví dụ bên dưới)

Sau đó thay vì kết thúc bằng C-c C-c, hãy chọn để refile bằng C-c C-w và bạn sẽ được yêu cầu chọn dòng tiêu đề bạn muốn gửi mục nhập mới.


Mẫu chụp tôi sử dụng cho đánh bắt này tất cả là như sau (chuyển thể từ Bernt Hansen's capture settings)

 ("i" 
     "Incidents" 
     entry 
     (file+headline "~/Work/work.org" "Refile") 
     "* TODO %^{Ticket} - %^{User}\nSCHEDULED: %^t DEADLINE: %^t\n:PROPERTIES: 
     \n:DATE: %^U\n:END:\n%^{MANAGER}p%^{HOSTNAME}p%^{LOCATION}p%^{TEL}p\n%c" 
     :empty-lines 1 :clock-in t :clock-resume t) 

(xuống dòng được thêm vào để tránh di chuyển khi đọc ở đây)

Nhóm này là được định cấu hình như sau

* Refile                :refile: 
:PROPERTIES: 
:CATEGORY: Unsorted 
:END: 

Với điều này tôi kết thúc u p với tất cả các nhiệm vụ phi nộp lại hiển thị như

Unsorted:  Deadline: TODO <Headline>       :refile:: 

Tôi hiện xu hướng sử dụng thẻ như tài liệu tham khảo nếu tôi đang chờ đợi đồng nghiệp/nhà quản lý để đối phó với các vé, hoặc để nhắc nhở tôi để nói chuyện với họ về điều đó khi tôi thấy chúng sao cho thẻ ở cuối nổi bật rõ ràng, cũng như Unsorted nếu tôi đang cố gắng nhớ vấn đề là gì (vì tôi chỉ đơn giản có số và tên người dùng hiển thị, chi tiết trong mục nhập).

+0

Ông có thể vui lòng cung cấp một ví dụ về mã mà thực hiện những gì đoạn thứ hai của bạn nói. Điều đó sẽ làm cho câu trả lời của bạn tốt hơn nữa! –

2

trong khi ghi lại ghi chú, sau khi hoàn thành báo chí ghi nhật ký C-u C-c C-w để tinh chỉnh theo dòng tiêu đề mới mong muốn.

bạn cũng cần phải đặt biến này

(setq org-refile-allow-creating-parent-nodes (quote confirm)) 

bạn có thể thiết lập nó để t thay vì xác nhận. Nhưng tôi thích nó được xác nhận bởi vì tôi không thường xuyên thay đổi mục tiêu mới

+0

Bạn không cần phải tiền tố với 'C-u' để thay đổi thành tiêu đề trong một tệp. Tôi hiểu câu hỏi của anh ấy là các tiêu đề đã tồn tại, thay vì có nhiều mẫu (một tiêu đề trên mỗi dòng tiêu đề) chỉ sử dụng một mẫu và thay đổi nó thành tiêu đề thích hợp khi chụp. –

+0

Tôi có xu hướng đồng ý. IIRC C-u cho phép bạn sắp xếp lại bất kỳ tệp chương trình làm việc nào. – kindahero

+0

C-u C-c C-w là một Goto, và không phải là một Refile –

4

Dường như, trong phiên bản mới hơn của org ít nhất, chức năng tùy chỉnh có thể được sử dụng trong các mẫu chụp để thực hiện việc này.

Thay vì:

entry 
(file+headline "~/Work/work.org" "Refile") 

Bạn có thể sử dụng:

entry 
(file+function "~/Work/work.org" function-finding-location) 

đâu chức năng tìm hiểu, vị trí 'là một chức năng tùy chỉnh bạn đã viết cho mình, mà có thể dễ dàng nhắc bạn cho một tiêu đề .

Hoặc, bạn có thể đi xa hơn nữa, và xác định một chức năng tùy chỉnh mà sẽ nhắc nhở cho cả tên tập tin và tên tiêu đề (hoặc bất cứ điều gì khác mà bạn có thể mơ trở lên):

entry 
(function function-finding-location) 

tôi không thực sự biết đủ elisp để viết các chức năng này bản thân mình, nhưng điều này trông giống như nơi để bắt đầu. Sẽ tốt hơn nếu ai đó có thể cung cấp một số mã. Các tài liệu có liên quan là ở đây:

http://orgmode.org/manual/Template-elements.html

2

Tôi đã viết một chức năng được sử dụng với tập tin + chức năng mà sẽ nhắc cho một vị trí trên chụp.

Nó sử dụng chức năng nhắc nội bộ của org-refile để chúng tôi nhận được hoàn thành các tiêu đề trong lời nhắc (với maxlevels ghi đè lên 9). Khi người dùng nhập vào một tiêu đề không xác định, nó sẽ tạo ra nó ở cuối tập tin.

(defun org-ask-location() 
    (let* ((org-refile-targets '((nil :maxlevel . 9))) 
     (hd (condition-case nil 
       (car (org-refile-get-location nil nil t t)) 
       (error (car org-refile-history))))) 
    (goto-char (point-min)) 
    (outline-next-heading) 
    (if (re-search-forward 
     (format org-complex-heading-regexp-format (regexp-quote hd)) 
     nil t) 
     (goto-char (point-at-bol)) 
     (goto-char (point-max)) 
     (or (bolp) (insert "\n")) 
     (insert "* " hd "\n"))) 
    (end-of-line)) 

Trong trường hợp của bạn, bạn sử dụng nó như thế này:

(setq org-capture-templates 
'(("l" "Log" entry 
    (file+function "c:/Org/log.org" org-ask-location) 
    "\n\n** %?\n<%<%Y-%m-%d %a %T>>" 
    :empty-lines 1)) 
Các vấn đề liên quan