एक org-sort
आदेश है, लेकिन आपको अपने परिणामों को प्राप्त करने के लिए अपनी फ़ाइल संरचना को मोड़ना पड़ सकता है (यदि मैं प्रश्न को ठीक से समझ रहा हूं)।
का प्रयोग करें org-sort
( C-c ^
) रूपरेखा में प्रविष्टियों को क्रमबद्ध करने के लिए, एक तालिका में पंक्तियों, या किसी सूची में आइटम नहीं है। एक शीर्षक से उदाहरण के लिए आप org-sort
सभी बाल प्रविष्टियों को क्रमबद्ध करने के लिए कॉल कर सकते हैं।
अपने उदाहरण में आप अपनी रूपरेखा में शीर्ष-स्तरीय प्रविष्टियों को क्रमबद्ध करना चाहते हैं, इसलिए पहले सभी प्रविष्टियों का चयन करें। जब आप कॉल करते हैं org-sort
तो आपको संकेत दिया जाएगा कि कैसे छांटें: वर्णानुक्रम में, प्राथमिकता से, और इसी तरह।
मैं आपके उदाहरण से अनुमान लगा रहा हूं कि आपके द्वारा अपेक्षित अंतिम परिणाम है:
* Toto, A
Notes about Toto.
* Tutu, A
Notes about Tutu.
* Titi, C
Notes about Titi.
यही है, आप वर्णानुक्रम में क्रमबद्ध करना चाह रहे हैं, लेकिन क्या अनुगामी पत्र पूर्वता लेता है? उसके लिए कोई अंतर्निहित प्रकार नहीं है। यदि आपने उस प्रकार के अक्षर को पहले रखने के लिए प्रविष्टियाँ बदली हैं (उदाहरण के लिए A, Toto
) तो एक सामान्य वर्णमाला प्रकार काम करेगा। एक अन्य विकल्प यह होगा कि उस जानकारी को प्रत्येक आइटम पर एक संपत्ति में स्थानांतरित किया जाए, फिर आप संपत्ति के आधार पर छाँट सकते हैं।
जैसा कि @nanny ने टिप्पणियों में सुझाव दिया है, org-sort
एक कस्टम सॉर्ट फ़ंक्शन भी कह सकते हैं। इस तरह आप सभी प्रविष्टियों को बदलने के लिए बिना अपनी मौजूदा फ़ाइल का उपयोग कर सकते हैं। यहां एक प्रकार्य फ़ंक्शन है जो वर्तमान शीर्षक पाठ को ढूंढता है और अंतिम चरित्र को शुरुआत में जोड़ता है ताकि यह पूर्ववर्तीता ले। यदि आपकी सुर्खियाँ उस सटीक पैटर्न का अनुसरण नहीं करती हैं, तो आपको कुछ अधिक मजबूत बनाने की आवश्यकता होगी।
(defun my-sort-last-letter ()
(let ((text
(plist-get
(cadr (org-element-headline-parser (line-end-position)))
:raw-value)))
(concat (string (aref text (- (string-width text) 1))) text)))
org-sort
?