Anahat ağacını yeni kuruluş modu dosyasına yeniden gönderilsin mi?


13

Sadece org-mode ile başlıyorum ve org-mode "gelen kutusu" dosyasında yeni görevler ve notlar aldığım bir iş akışı hayal ediyorum. Projelere dönüşen görevler için, bunları daha sonra ajandama eklenen yeni bir kuruluş modu dosyasına yeniden doldurmayı hayal ederdim.

Kuruluş kipi el kitabı , yalnızca aynı dosyadaki bölümün yeniden doldurulmasına izin vermesi dışında, ağacın çoğunu çoğunlukla aradığım şekilde yeniden doldurmayı açıklar. Yapmak istediğim şey, o ağacı alıp yeni bir dosyaya yeniden doldurmak (ve tercihen dosyayı ajanda listesine eklemek).

Yeni bir arabelleğe kopyalayıp yapıştırabilirim ve sonra yeni arabelleği gündeme ekleyebilirim, ancak bu, org modu tanrılarının kısayoluna sahip olacağı bir şey gibi görünüyor.


Neden her proje için yeni bir dosya yapmak istiyorsunuz? Küçük projeler ve büyük projeler var, bu yüzden başlangıçta tüm projeleri içeren bir tür kuluçka dosyası olarak bir projeler.org dosyasına sahip olabilirsiniz ve bir proje kendi dosyasını hak edecek kadar büyürse, manuel olarak oluşturabilirsiniz.
Tom

Teşekkürler, Tom. Benim düşüncem bu. Büyük şeyler çok büyüdüklerinde kendi dosyalarına taşınır. Ajanda listemdeki başka bir dosyaya yeniden göndermemi sağlayan bir bayrak buldum, ancak sadece mevcut bir başlık altında. Yeni bir boş org dosyasına bir ağaç ekleyip ekleyemeyeceğimi görmek için biraz daha kazma yapacağım ...
Peter

1
@Peter, herhangi bir ağacı başka bir dosyaya doldurabilirsiniz. ancak önce hedef dosyayı eklemeniz gerekirorg-agenda-files
kindahero

@kindahero: Bu varsayılan bir seçenek mi? Kaydedilmiş ve Cc ile gündeme eklenmiş boş bir "test2.org" dosyasına taşımak istediğim bir ağacı olan "test1.org" dosyası var [. Tamamlama seçenekleri olarak bana verdiği tek yeniden doldurma hedefi "test1.org" dan.
Peter

Yanıtlar:


1

İşte istediğiniz gibi değiştirilebilen hızlı ve pis bir elisp işlevi.

(defun alt ağacından yeni dosyaya ()
  (İnteraktif)
  "bir kuruluş alt ağacını yeni bir dosyaya taşımanın özünde yardımcı olur"
  (org-copy-subtree nil t)
;;; Bu uzun setq deyimi, yeni .org dosyası için varsayılan dosya adı olarak kullanılacak ilk başlığın başlığını alır.
(setq ilk başlığı
  İle (-sıcaklık-tamponu
    (çekmek)
    (Başlangıç-of-tamponu)
    (ileri arama "" nil nil 1)
    (setq başlık başlangıcı (nokta))
    (Sonu görsel-line)
    (setq başlık sonu (nokta))
    (setq ilk başlığı (buffer-subring title-start title-end))
  ))
(setq def-dosyaadı (concat ilk başlığı ".org"))
(let ((insert-default-directory t))
  (Buluntu dosya diğer pencere  
    (read-file-name "Alt ağacı dosyaya taşı:" def-dosyaadı)
  ))
(Org macunu-alt ağaç)
;;; bu son komut yeni .org dosyasını gündeme ekler
(Org-gündem dosya-önüne)
)

*scratch*Tamponunuza yapıştırarak ve Ctrl+ tuşuna basarak bu kodu hızlı bir şekilde deneyebilirsiniz j. Ardından kuruluş modu dosyasındaki bir alt ağaca gidin ve Alt+ işaretine xbasın M-x subtree-to-new-file.

Emacs'ı her kullandığınızda ve elisp ile tamamen tanıdık olmadığınızda olmasını istiyorsanız, en kolay şey bu kodu .emacsyapılandırma dosyanıza bir yere yapıştırmak ve kaydetmek olabilir. Ayrıca, tuş bağlama sağlamak için işlevin önüne veya arkasına bir satır ekleyebilirsiniz. En kolay yolu gibi bir şey yapmak için (ama belki değil en iyi) şöyle olacaktır: (global-set-key "\C-xw" 'subtree-to-new-file).


Buradan gerçekten başka bir yöne geçtim, ama bu hile yapıyor. Bunu uzun zaman önce sordum ve bir cevap görmek harika. Bunu gönderdiğiniz için teşekkürler - bir cazibe gibi çalışır. Belki burada ne yapmayı umduğumu hatırlamaya çalışacağım ve kullanmaya başlayacağım.
Peter

5

Yeniden doldurma listesine başka kuruluş modu arabellekleri eklemek için, .emacs dosyanıza aşağıdaki gibi bir satır eklemeniz gerekir. Bunu Brent Hansen konfigürasyonundan aldım ( Buraya bakınız )

; Targets include this file and any file contributing to the agenda - up to 9 levels deep
(setq org-refile-targets (quote ((nil :maxlevel . 9)
                                 (org-agenda-files :maxlevel . 9))))

Sadece (org-agenda-files :maxlevel .9)gerçekten ihtiyaç vardır, diğer kısımda yeniden doldurmak için maksimum seviye sayısı belirlenir.


1
Bu, yeni bir dosyadaki mevcut bir ağaca ağaç eklememe izin veriyor, ancak mevcut içeriği olmayan boş, yeni eklenen bir dosyaya eklememe izin vermiyor. Bunun olabildiğince yakın olabileceğini düşünüyorum.
Peter

Ayrıca (setq org-refile-allow-creating-parent-nodes (quote confirm))Bernt ile aynı kod bloğunda referans verildiği gibi ekleyebilirsiniz (yukarıdaki bağlantıya bakınız). Yalnızca alt başlıklar olarak değil, üst düğümler olarak eklemenize izin verir. Maalesef bu şekilde yeni bir dosya ekleyip ekleyemeyeceğinizden emin değilim.
Jonathan Leech-Pepin

1
Bu hatta bile, gündemdeki dosyalar yeniden doldurma hedefleri olarak gösterilmez. Görünüşe göre sadece mevcut bir başlığa yeniden başvuru yapabilirim.
Peter

1
Ne olacak (setq org-refile-use-outline-path 'file)? Bu, dosyaları hedef olarak yapabilir.
Brady Trainor
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.