回答:
ある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)))
[f]unc
ソートタイプを使用org-sort
して、既存の構造に基づいてソートする関数を記述します。
query-replace-regexp
、正しい形式に厳密に従っていないいくつかの見出しをすばやく編集した後、私の問題は非常にうまく解決されました。すべてのデータをプロパティに変換するよりもはるかに簡単です。
優先順位の異なる見出しをファイルのどこかに入れていますが、順序は関係ありません。後で、アジェンダビューで並べ替えて表示しています。タグを使用することにより、具体的なカテゴリのソートされた見出しがカスタムの議題ビューで表示されます。
それがファイルの見出しを並べ替える方法の答えではないことは知っていますが、議題ビューで見出しを表示することは常に最良の方法です。順序を気にすることなく、優先順位の高い見出しをすばやく挿入できます。
org-sort
か?