Kuruluş modu saat tablosu için bir ana dosyada başvurulan tüm kuruluş dosyalarını kullanmanın basit bir yolu var mı


9

Çeşitli projelerde geçirdiğim zamanı takip etmek için kuruluş modunu kullanıyorum. Üzerinde çalıştığım iki büyük proje için bir ana kuruluş dosyam ve iki tane daha var. Üçü de listelenmiştir org-agenda-files. Ana kuruluş dosyasında bir saat tablosu oluşturdum ve

:scope agenda-with-archives

harcanan zamanı özetlemek için zaman çizelgesi başlığında. Tüm bunlar iyi çalışıyor.

Ancak, aynı zamanda kendi org dosyasında (bu projelerle ilgili her şeyi içeren alt dizinde yer alan) zamanları olan birkaç küçük projem var ve bunlarda da zamanı izlemek istiyorum.

Tabii ki bu dosyaları ekleyebilirdim org-agenda-files, ama bu .emacsyeni bir küçük projeye her başladığımda güncelleme anlamına geliyor . Tabii Dünyanın sonu değil, ama zaten ana org dosyasında küçük proje org-dosyalarının bağlantısını beri, ben ayarlamak istiyorum (aşağıdaki örneğe bakın) :scopegibi bir şey

:scope agenda-with-archives linked-org-files

İdeal olarak (henüz kullanmama rağmen) bu küçük projelerin arşiv dosyaları dahil olmak için harika olurdu (gibi bir şey :scope linked-org-files-with-archives).

Ana org dosyamın nasıl yapılandırıldığına bir örnek:

* 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.

Bunu nasıl başaracağınız hakkında bir fikriniz var mı?

Yanıtlar:


6

Kullanabilirsiniz

:scope some-function

Burada işlev some-functiongerekli dosyaların listesini döndürür. Örneğin:

(defun some-function () org-agenda-files)

veya

(defun some-function ()
  (append org-agenda-files
          (file-expand-wildcards "your-path/*.org")))

(defun some-function () org-agenda-files)ile :scope (some-function)benim için çalışmıyor ve belgelerde belirtilmiyor. Hala destekleniyor mu?
avv

Hangi kuruluş modunu kullanıyorsunuz? Herhangi bir hata oluştu mu?
artscan

1
Lisp error: (wrong-type-argument stringp some-function). Kuruluş modu sürüm 9.0.7
avv

Kapsam çizgisini düzeltmek için düzenlendi - lisp hatalarını düzeltmelidir.
NickD

3

Bununla da sorun yaşıyorum.

@ artscan'ın cevabı bana doğru yönü gösterdi, ancak bir argument typehata veriyor . Parantezleri bırakmak sorunu çözer.

Artscan'ın cevabı hakkında yorum yaparım ama yeterli itibarım yok.

Özetlemek gerekirse, işte şunu kullanıyorum:

Tabloda, sağlayın :scope efls/org-files-productive. Parantez yok. Bir dizi dosyayı döndürmek için basit bir işlev tanımlayın.

Örneğin, böyle bir şey kullanıyorum:

(defun efls/org-files-productive ()
 "Return productive org files."
 '("/Users/efls/org/file1.org" "/Users/efls/org/file2.org" "/Users/efls/org/file3.org"))

Elbette, aynı zamanda sadece sonra dosyaların listesini de yazabilirim :scope, ama o zaman yapmak listeyi kapsayan bir ihtiyaç parantez: scope: ("Users/efls/org/file1.org" "…").

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.