Існує 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
?