3

私の質問:

私のオフィスの PC は Windows 7 で動作し、ノートブックは Linux (openSuse 12.1) で動作しています。org-mode のアジェンダ ビューに特定のファイル "foo.org" を含めたいと思います。Windows 7 では、パスは T:/123-12/foo.org です。Linux では、パスは ~/Documents/Projects/12-123-Projectname/foo.org です。

両方のコンピューターに同じファイル「Projects.org」があります。これは、すべてのスケジュール、締め切り、ベル、ホイッスルを含む私のプロジェクトで構成されています。しかし、このファイル Projects.org は大きすぎるため、コンテンツをプロジェクト フォルダーにスワップする必要があります。このファイルは毎日両方のコンピューター間で同期され、もちろん 2 つのプロジェクトも同期されます。

メイン ファイル「Project.org」に 1 つのエントリを使用して、両方のコンピュータのアジェンダ ビューに foo.org を含めるにはどうすればよいですか? Linux / Windows 7 の場合、スイッチを使用する可能性はありますか? それともシンボリックリンクでできますか?


1. https://stackoverflow.com/a/11611956/1171221 by pmrへの回答を編集します

OS ごとに多くのファイルを追加できますか? 例:

(setq org-agenda-files
      (if (eq system-type 'windows-nt)
          '("windows-path1/file1.org" "windows-path2/file1.org" "windows-path3/foo7.org")
          '("unix-path1/file1.org"    "unix-path2/file2.org"    "unix-path3/foo7.org")))

 あなたの友好的な助けに感謝します。率直に言って、新しい「file-xy.org」ごとに .emacs-file を変更するのは面倒ですが、これは org.el の設計のようです。

あなたの答えについて考え直してください:当然、LinuxとWindowsで異なる「.emacs」を持っています..emacsファイルは同期できません。この定義を同期可能なファイルに外部委託する必要があります (どうにかして大きな project.org に入れることはできますか?) か、追加の「foo-xy.org」を追加する必要があります。手動でそれぞれの .emacs-file に追加します。OS の区別は必要ありません。


2.編集:解決策

pmrsの回答とコメントが鍵でした。Windows と Linux の切り替えを提供する 1 つのファイルが必要です。しかし、これら 2 台のマシン上の私の .emacs ファイルは異なる方向に大きくなり、それらを揃えるのに多大な労力を費やしました。

両方のマシン間で同期を維持できる別のファイルとして、私は最初の Lisp ファイル AW-org-agenda-files.el を作成しました。これは基本的に次のようになります。

;;; AW-org-agenda-files.el --- *.org-Dateien mit TODOs in agenda-view einbeziehen 

;; Copyright: AW
;; Maintainer: AW
;; Keywords: customisation of Orgmode
;; Package: emacs

(setq org-agenda-files
      (if (eq system-type 'windows-nt)
      '("u:/Emacs/whatever.org" "u:/Emacs/Client1.org" "u:/Emacs/Client2.org" 
        "u:/Emacs/Privat.org" "t:/222-2012/file.org")
      '("~/Dokumente/Technik-u-Dokus/Emacs/whatever.org"
            "~/Dokumente/Technik-u-Dokus/Emacs/Client1.org" "~/Dokumente/Technik-u-Dokus/Emacs/Client2.org" "~/Dokumente/RA-win/2012-222-name/file.org")

))

(provide 'AW-org-agenda-files)
;;; end
4

2 に答える 2

5

議題の作成に使用されるファイルは、変数に格納されますorg-agenda-files.emacs 変数を使用して、プラットフォームに従って、この変数を条件付きで初期化できsystem-typeます。

(setq org-agenda-files
      (if (eq system-type 'windows-nt)
          '("windows-path/file.org")
        '("unix-path/file.org")))

詳細については:C-h v system-type RET

于 2012-07-23T11:50:17.353 に答える