組織モードの議題の生成をスピードアップするには


11

Emacs org-modeが私の予定表を生成するのに数秒かかります。どうすれば速くできますか?私はすでにアーカイブファイルを使用しており、.orgファイル数は30未満で、そのすべてがかなり短いです。

org-agendaコマンドの部分的なプロファイラー出力:

+ ...                                                              93  50%
- command-execute                                                  90  49%
 - call-interactively                                              85  46%
  - org-agenda                                                     80  43%
   - byte-code                                                     80  43%
    - call-interactively                                           79  43%
     - org-agenda-list                                             79  43%
      - byte-code                                                  79  43%
       - org-agenda-prepare                                        68  37%
        - org-agenda-prepare-buffers                               67  36%
         - byte-code                                               67  36%
          - org-get-agenda-file-buffer                             67  36%
           - find-file-noselect                                    67  36%
            - find-file-noselect-1                                 67  36%
             - after-find-file                                     66  36%
              + run-hooks                                          35  19%
              + normal-mode                                        30  16%
              + auto-save-mode                                      1   0%
             + normal-backup-enable-predicate                       1   0%
        + org-agenda-files                                          1   0%
       + byte-code                                                 10   5%
         org-days-to-iso-week                                       1   0%
    + org-agenda-get-restriction-and-command                        1   0%   
  + byte-code                                                       4   2%   
  + minibuffer-complete                                             1   0%

組織モードはファイルを開くのに多くの時間を浪費しているようです。これらのバッファを常に開いたままにしておくと、改善が見られる場合があります。
Malabarba、2014年

回答:


9

私はこの回避策を作成しました。これは、Emacsが5秒以上アイドル状態である場合は常に議題バッファーを事前生成します。組織バッファーが既にロードされているため、次にagendaコマンドが実行されるとき、生成にかかる時間は1秒未満です。

(run-with-idle-timer 5 nil (lambda () (org-agenda-list) (delete-window)))

6

あなたの質問に対する完全な回答ではありませんが、考慮してください(setq org-agenda-sticky t)。これにより、qコマンドを終了するとき、閉じるのではなく、コマンドが予定表バッファーを埋めます。

この結果、次に尋ねるときにアジェンダがすぐに再表示されますが、最後に見たときから更新されていません。更新したい場合は、いつでもg議題を押して適切に再構築できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.