มี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
ไหม