複数のファイルの予定表タイムラインビューを表示するにはどうすればよいですか?


7

私はorg-modeをナレッジベースとして使用しています。各ファイルは、自分が取り組んでいる特定のプロジェクト用です。

各ファイルには独自のジャーナルがあり、私が行ったすべてのことをまとめたジャーナルを見たいです。

その情報は.org、特定のディレクトリのファイルの束にあります。

私が探している機能は、議題のタイムラインが提供するものですが、1つのファイルに対してのみ機能します。

それをすべてのファイルで機能させる方法はありますorg-agenda-filesか?


これは、質問への重複したと思われるTimelineview of all agenda filesのをunix.SE
elemakil 2014年

あなたが正しいです。他のSOからemacsの質問を移行しようとする努力はありますか?(それが可能かどうかはわかりません。この取り組みをお手伝いできます)
edmz 2014年

Stack OverflowまたはSuper UserからのEmacsの質問は、重複した質問と移行に関する公式のポリシーだと思います。IMO、境界線上にunix.SEあり、おそらくここでより良い答えを得ることができるので、他の質問はここに移行するのに適しています。
purple_arrows 2014年

1
@purple_arrowsかかわらず、政策の、にリンクされているelemakilが移行できないという問題は、それがあるので、 は60日より古いです
itsjeyd 2014年

@itsjeyd Doh!もちろん。ご指摘いただきありがとうございます。
purple_arrows 2014年

回答:


2

この回答で提供された提案に基づいて、次のコマンドはすべてのコンテンツをorg-agenda-files1つのファイルに収集org-agendaしてから、タイムラインを構築するコマンドを呼び出します。

(defun org-agenda-timeline-all (&optional arg)
  (interactive "P")
  (with-temp-buffer
    (dolist (org-agenda-file org-agenda-files)
      (insert-file-contents org-agenda-file nil)
      (end-of-buffer)
      (newline))
    (write-file "/tmp/timeline.org")
    (org-agenda arg "L")))

最良の結果を得るには、このコマンドにカスタムキーバインディングを設定します。

(define-key org-mode-map (kbd "C-c t") 'org-agenda-timeline-all)

さらに、コマンドorg-modeが現在開いているすべてのファイル(開いているかどうかに関係なく)を考慮するようにしたい場合は、上記のコードのへの呼び出しにorg-agenda-files置き換えることができます。org-agenda-files(org-files-list)


1
org-agenda-filesを使用する場合の問題は、それがディレクトリの場合、コードが機能しないことです。
edmz 2014年

@ lal00 -置き換えるorg-agenda-files(org-agenda-files t)、この問題を解決します。
Sridhar Ratnakumar、2015年

このアプローチのもう1つの問題は、元の.orgファイルへの参照がないことです。特定の完了したタスクがどこから来たかを知り、その.org(またはそのアーカイブ)ファイルに移動できるようにしたいのです。
Sridhar Ratnakumar、2015年

1

これはタイムラインとまったく同じではありませんが、「ログモード」で一定の期間を示すカスタムアジェンダビューを作成できます。org-agenda-filesagendaコマンドでローカルにバインドすることで、通常の動作を台無しにすることなく、必要なファイルをロードできます。これは1週間行い、必要なorg-agenda-span日数に変更します。

(defvar org-timeline-files nil
  "The files to be included in `org-timeline-all-files'. Follows
  the same rules as `org-agenda-files'")

(setq org-timeline-files '("/path/to/org/files/"))

(add-to-list 'org-agenda-custom-commands
             '("R" "Week in review"
                agenda ""
                ;; agenda settings
                ((org-agenda-span 'week)
                  (org-agenda-start-on-weekday 0) ;; start on Sunday
                  (org-agenda-overriding-header "Week in Review")
                  (org-agenda-files 
                    (let ((org-agenda-files org-timeline-files))
                          (org-agenda-files nil 'ifmode)))
                  (org-agenda-start-with-log-mode t)
                  (org-agenda-log-mode-items '(clock state))
                  (org-agenda-archives-mode t) ; include archive files
                )))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.