2016-02-05 15 views
0

我正在尋找某種工作流程,可以讓我自由移動,而不會中斷鏈接。重構組織文件(在不中斷鏈接的情況下移動數據)?

因爲我幾乎總是使用org-store-linkorg-capture鏈接到任何東西,我考慮像這樣的工作流程:

  1. 任何時間org-store-linkorg-capture是從組織文件調用,插入的副本確切的鏈接被存儲/捕獲到當前標題的屬性中。當然,我可能只是有一個包裝功能,插入,然後調用相應的org函數

  2. 在每次保存時,搜索當前文件的任何這樣的標識符不符合他們的確切當前位置。文件移動也會中斷鏈接,因此腳本可能應該定期在所有組織文件上運行 - 也許在emacs啓動時運行。

  3. 如果發現任何不匹配,則搜索指向舊標識符的反向鏈接,使用新位置更新這些反向鏈接,然後將標識符自身更新到新位置。

,用於查找與組織鏈接到他們所有標題,但沒有一個標識符,就幫我拿我目前的組織文件準備好系統中的輔助功能。

在我開始之前,這聽起來像是一個好主意,它是如何改進的,還有其他人已經完成了它?

回答

0

org-mode可以爲每個條目分配一個唯一的ID並在鏈接中使用該ID。這使得鏈接即使在目標被移動時也能繼續工作。將變量org-id-link-to-org-use-id設置爲t,該ID將被創建並存儲在ID屬性中。 org-insert-link將插入id:<id>的鏈接。

+0

謝謝。這將使我獲得我所追求的大部分方式。 'org-id-get-create'也會有幫助。 – user66378

+0

我發現了一些奇怪的東西。在調用'org-id-get-create'一次後,任何時候使用org-store-link或org-capture都會自動調用org-id-get-create。這正是我想要的功能,但我不明白爲什麼我必須在第一時間手動調用它。 有誰知道嗎? – user66378

+0

這是因爲默認情況下'org-id-link-to-org-use-id'是'nil'。一旦你在緩衝區中激活了標識符,不依賴它就沒有意義了。 – bzg

相關問題