Używam trybu org do śledzenia czasu, który spędzam na różnych projektach. Mam jeden główny plik organizacji i dwa dla dwóch dużych projektów, nad którymi pracuję. Wszystkie trzy są wymienione w org-agenda-files
. Utworzyłem tabelę zegara w głównym pliku org i ustawiłem
:scope agenda-with-archives
w nagłówku tabeli zegara, aby podsumować spędzony czas. To wszystko działa dobrze.
Mam też kilka mniejszych projektów, które również śledzą czas w swoim własnym pliku org (znajdującym się w podkatalogu zawierającym wszystko o tych projektach), i chciałbym również śledzić czas w tych.
Oczywiście mógłbym dodać te pliki org-agenda-files
, ale oznaczałoby to aktualizację moich za .emacs
każdym razem, gdy rozpoczynam nowy mały projekt. Oczywiście nie koniec świata, ale ponieważ mam już link do plików małych projektów org w głównym pliku org (patrz przykład poniżej), chciałbym ustawić :scope
coś w rodzaju
:scope agenda-with-archives linked-org-files
Idealnie (choć jeszcze tego nie używam), w tym pliki archiwalne tych mniejszych projektów byłyby świetne (coś w stylu :scope linked-org-files-with-archives
).
Oto przykład struktury mojego głównego pliku org:
* Small project 1
See file:~/Projects/Project 1/notes_project_1.org for more details.
* Small project 2
See file:~/Projects/Project 2/notes_project_2.org.
** DONE Some small task I can do quickly
CLOCK: [2014-12-05 vr 12:19]--[2014-12-05 vr 12:40] => 0:21
Some info on the small task.
Masz pomysł, jak to osiągnąć?
(defun some-function () org-agenda-files)
z:scope (some-function)
nie działa dla mnie i nie jest wspomniany w dokumentacji. Czy nadal jest obsługiwany?Lisp error: (wrong-type-argument stringp some-function)
. Tryb organizacji wersja 9.0.7Mam z tym również problem.
Odpowiedź @ artscan wskazała mi właściwy kierunek, ale zwraca
argument type
błąd. Upuszczenie nawiasów rozwiązuje problem.Chciałbym skomentować odpowiedź Artscan, ale nie mam wystarczającej reputacji.
Podsumowując, oto, czego używam:
W tabeli podaj
:scope efls/org-files-productive
. Bez nawiasów. Zdefiniuj prostą funkcję zwracającą ciąg plików.Na przykład używam czegoś takiego:
Możesz, oczywiście, także wystarczy wpisać na listę plików po
:scope
, ale potem można zrobić nawiasów potrzebę załączając listę:scope: ("Users/efls/org/file1.org" "…")
.źródło