カテゴリー: emacs

  • 11. ITメモ

    今emacsのorg-modeを使ってToDo管理をしています。これ自体は超便利に使っていますが、その名のとおりorg-modeなる独自のテキストフォーマットが使われています。
    すでに一般的になったmarkdownを使うやり方に変更したいと思いGeminiに相談した結果をコピペします。
    Geminiは、

    • ObsidianとTaskプラグインの利用
    • Taskwarrior + Taskwikiの利用(emacs,vimのマクロ)
    • Logseqの利用
    • コマンドの自作
    • VS Code + 「Todo Tree」または「Dendron」の利用
    • QOwnNotesの利用

    を提案してくれました。
    この中ではObsidianを使うことを想定していたのですが、今メモをNotionを使って、PCで書いたり、スマホ・タブレットで追加したりが便利なので、ToDoもそうしたいと考えています。しかしObsidianはローカルファイルの使用が前提で、複数端末での共有が難しいので、他の方法を考えたいと思います。

    なおObisidianでの複数端末でのデータ共有は、有料でObsidianのサーバを使用する、Google Drive等を使って、それとローカルのファイルを同期させたりして、実現可能です。私はNotionのように同じ場所に書き込みをしたく、できれば無料がうれしいので今のところObisidianは却下です。もう少し検討します。

    [Geminiの回答]
    EmacsのOrg-modeからMarkdownへの移行を検討されているのですね。Org-modeのような強力なアジェンダ表示(ToDoの抽出表示)をMarkdownで実現するには、**「特定の記法で書かれたToDoを検索・集約するツール」**が必要です。

    ご要望にぴったりのツールをいくつか紹介します。


    1. Obsidian(デスクトップ・モバイルアプリ)

    Markdownファイルをベースにした知識管理ツールですが、ToDo管理ツールとして非常に優秀です。

    • ToDo抽出方法: * 標準の「検索」機能で - [ ] を検索するだけでToDo一覧が作れます。
      • **プラグイン「Dataview」**を使うと、複数のMarkdownファイルからToDoだけを自動抽出し、一つのページに動的にリスト化できます。
    • 特徴: Org-modeに近い「自分好みの構築」が可能です。
    • ToDoの書き方: 標準的なMarkdownのタスクリスト形式です。Markdown- [ ] タスク名 #todo

    2. Taskwarrior + Taskwiki(Emacs/Vimユーザー向け)

    Org-modeの操作感に近く、かつMarkdownをベースにしたい場合に最適です。

    • ToDo抽出方法: Taskwarrior というCLIツールがToDoを管理し、Markdownファイル(VimやEmacs)の中にその内容を双方向で同期・表示します。
    • 特徴: ターミナルでの操作に慣れている方なら、Org-agendaに最も近い感覚で「期限」や「プロジェクト」ごとの抽出表示が可能です。

    3. Logseq(プライバシー重視・ローカル保存)

    Markdownファイルを「ブロック」単位で管理するアウトライナーです。

    • ToDo抽出方法: * 強力な「クエリ(Query)」機能があります。
      • /Query と入力して条件を指定すると、全ファイルから「未完了のToDo」や「今日が期限のToDo」を検索して、一つの画面にまとめて表示してくれます。
    • 特徴: Org-modeの「日報(Journal)」と「アジェンダ」の関係性に非常に近いです。

    4. CLIツール: todo-txt または grep 系の自作

    もしシンプルに「行を抜き出す」だけで良ければ、CLIツールを組み合わせるのが最も軽量です。

    • 方法: * ripgrep (rg) などの高速検索ツールを使います。Bash# カレントディレクトリ以下の全Markdownから未完了ToDoを抽出 rg "^- \[ \]" --glob "*.md"
    • メリット: 特定のアプリに依存せず、現在のテキストエディタのままでToDoを管理できます。

    結論:どれがおすすめ?

    • GUIでOrg-modeのようなダッシュボードを作りたいなら: Obsidain
    • Org-modeのアウトライン形式に近い使い勝手を求めるなら: Logseq
    • Emacsを使い続けつつ、データだけMarkdownにしたいなら: Emacsの deft または consult-ripgrep- [ ] を検索する運用

    現在Emacsを使われているのであれば、まずはEmacs内で ripgrep 等を使ってMarkdown内のタスクを検索するフローを試してみるのがスムーズかもしれません。

    「特定のフォルダ構成にしたい」や「期限通知(Deadline)機能が必須」など、具体的な要件があればさらに絞り込んで提案できます。いかがでしょうか?

    [追加質問] 複数のToDoファイルを利用できるツールがあれば、提案してください。

    [Geminiの回答]
    複数のMarkdownファイル(フォルダ内の全ファイル)を横断してToDoを抽出し、一括管理できるツールをいくつか提案します。

    Org-modeの「複数ファイルからアジェンダを生成する」というスタイルに近い順にご紹介します。


    1. Obsidian(タスク管理プラグイン活用)

    Markdown管理ツールの定番ですが、プラグインを入れることで強力なToDo管理機に変貌します。

    • 「Tasks」プラグイン: 全Markdownファイルをスキャンして、ToDoのみを一つのリストとして表示します。
      • 特徴: 「ステータス別」「期限別」「ファイル名別」などで並べ替えやフィルタリングが可能です。
      • ToDoの書き方: - [ ] タスク名 📅 2026-01-20 のような標準形式。
    • 「Dataview」プラグイン: より高度な抽出が可能です。「このフォルダ内のタスクだけ出す」「特定のタグがついたタスクだけ出す」といったクエリが書けます。

    2. Logseq

    Org-modeに最も近い思想(アウトライナー)で作られたMarkdownベースのツールです。

    • 特徴: ツールを起動すると、すべてのMarkdownファイルが一つのデータベースのように扱われます。
    • ToDo抽出: 標準で「TODO」というキーワードを認識し、専用の「Contents」ページや、強力なクエリ機能(/Query)を使って、全ファイルから未完了タスクを抜き出して表示できます。
    • 移行のしやすさ: 行単位(ブロック単位)での管理なので、Org-modeユーザーには一番馴染みやすいはずです。

    3. VS Code + 「Todo Tree」または「Dendron」

    エンジニアの方に人気の構成です。

    • Todo Tree(拡張機能): プロジェクト内の全ファイルから TODO:- [ ] を含む行を自動抽出し、サイドバーにツリー形式で一覧表示してくれます。
    • 特徴: Markdownファイルだけでなく、コード内のコメントアウトに書いたTODOも一緒に管理できるのが強みです。クリックするとそのファイル・行へ即座にジャンプできます。

    4. QOwnNotes

    Markdownノート管理ソフトですが、独自のToDoリスト機能を備えています。

    • 特徴: 複数のMarkdownファイルをノートとして扱いながら、それらに含まれるタスクを抽出し、サイドバーの専用ToDoリストに統合して表示します。
    • 連携: ownCloudやNextcloudと連携してToDoを同期する機能も強力です。

    5. Taskwarrior + Taskwiki(CLI/Vim/Emacs連携)

    データの実体はTaskwarriorという管理システムにありますが、それを複数のMarkdownファイルに「埋め込んで」表示・編集できる仕組みです。

    • 特徴: Aというファイルに書いたタスクと、Bというファイルに書いたタスクを、ターミナル上で一括して「期限順」などで表示できます。

    比較と選び方のアドバイス

    • UIでリッチに管理したいなら: Obsidian(Tasksプラグイン)が最も柔軟です。
    • Org-modeに近い操作感がいいなら: Logseq が最適です。
    • エディタ上でシンプルに一覧が見たいだけなら: VS Code + Todo Tree が手軽です。

    現在Emacsをお使いとのことですので、まずは Logseq か、Obsidian を試してみるのが、Org-modeからの「アジェンダ機能」の代替として最も満足度が高いと思われます。

    これらの中で、気になるツールや「もっとこうしたい」という具体的な要望(例:スマートフォンのアプリでも見たい、など)はありますか?

  • 11. ITメモ


    emacs立ち上げ時エラー修正
    #emacs27 で起動時にPackage cl is deprecatedと出てしまう問題、最初はコードの方を直そうかと思ったが、安直に警告を抑制する方向で対処した。ぐぐって見つかる解答は大体間違いで、結論としてはEmacs27から追加されたearly-init.elに(setq byte-compile-warnings ‘(cl-functions))と書くと消せる。 https://x.com/mhatta/status/1348514121336045569

    early-init..elを知らなかったのでメモ(Gemini)

    early-init.elは、通常、~/.emacs.d/ ディレクトリ内か、フリーデスクトップ仕様に準拠するなら~/.config/emacs/ ディレクトリ内に配置します。これはEmacsの起動シーケンスで、GUI表示やパッケージの読み込みより前に実行したい設定(フォント設定やパフォーマンス最適化など)を記述するためのファイルです。

    org-roamを使うかもしれないのでメモ

    今の候補はobsidian

    Org-roam事始めより

    Org-roamEmacsで動作する、Org modeと連動して動く、リンク連動型ノートシステムです。Roam Researchというリンク連動型のオンラインサービスがありますが、それと類似した機能をローカルなシステムとして使用することができます。

    特徴としては以下の通りです。

    • Org modeと連動して動作することにより、Org modeの様々な機能をそのまま使える。
    • それぞれのノートの関係をグラフ化して表示したり、またリンク元を辿ることで、動的に関連付けが可能。
    • テンプレート機能等を使用することにより、情報をすばやく取り込むことが可能。