org-modeの最新版(8.2.10)インストール方法メモ
GTD(Getting Things Done)について勉強を初めて、さらにEmacsが好きになった私です。
Emacsには導入時にorg-modeがインストールされた状態になっていますが、本家サイトに最新版が公開されているのでそれを導入してみます。
org-remenberの設定も掲載していますが、これについては予めremember-modeの導入を終了させている必要があります。
.emacs.dやinit.elの説明は書いていません。
その辺りの知識を持っている人を前提としてメモします。
環境
今回はWindows7に導入したNTEmacs24への導入を行いますが、LinuxやMacへの導入も基本的には同じ解釈でいけるのではないかと思っています。
おおまかな流れとしては、zipファイルをダウンロードして解凍し、load-pathの通っているディレクトリへコピーした後に、init.elに読み込み設定を書くだけです。
※Linuxは動作しました、MacOSXは確認していません。
目次
- 最新ファイルのダウンロード
- ファイルの展開
- lispファイルのディレクトリをload-pathディレクトリ以下へコピー
- init.elへ設定
ファイルの展開
ダウンロードしたファイルを展開します。
すると、ドキュメント等を含めた一式のディレクトリが展開されます。
必要なのはlispディレクトリの中にあるファイル達です。
contrib <---- このディレクトリが必要 doc etc lisp <---- このディレクトリが必要 mk COPYING Makefile README request-assign-future.txt
ディレクトリの意味などについては、READMEファイルをテキストエディタで閲覧すると書いてあります。
lispファイルのディレクトリをload-pathディレクトリ以下へコピー
展開したファイルに含まれている「lisp」ディレクトリをコピーします。
コピー先は、Emacsの設定ファイル「init.el」で設定されているであろう「load-path」が通っているディレクトリです。
おそらくですが、init.elに下記のような記述があると思います。
(setq load-path (cons “load-pathに含めたいディレクトリへのパス” load-path))
コピーしたら、どんな方法でもいいので「lisp」ディレクトリを「org」に名前変更します。
さらに、名前変更した「org」ディレクトリの中に、展開したzipファイルの中にある「contrib」ディレクトリをコピーします。
~/emacsのload-path/ | |---org | |---contrib
これで、インストールは終了。
あとは、設定ファイルの記述です。
init.elへ設定
私の場合、init.elに以下のようにload-pathの設定をしています。
こうすることで、load-path以下にディレクトリを作ると自動的にload-pathに追加されていきます。
※このコードは、Emacs実践入門のサンプルソースを参照させて頂きました。
;; load-path を追加する関数を定義 (defun add-to-load-path (&rest paths) (let (path) (dolist (path paths paths) (let ((default-directory (expand-file-name (concat user-emacs-directory path)))) (add-to-list 'load-path default-directory) (if (fboundp 'normal-top-level-add-subdirs-to-load-path) (normal-top-level-add-subdirs-to-load-path)))))) ;; 引数のディレクトリとそのサブディレクトリをload-pathに追加 (add-to-load-path "elisp" "conf" "public_repos")
上記が良くわからない人は、こんなコードでもOKかなと思います。
(setq load-path (cons “~/path/to/orgdir/lisp” load-path)) (setq load-path (cons “~/path/to/orgdir/contrib/lisp” load-path))
org-modeの設定は、かなり好みがありますし、ネットには先人の設定が散らばっていますので好きなモノを採用すれば良いと思います。
以下、私の設定です。
ディレクトリパスの記載がありますが、そこは自分の環境に合わせて読み替えてください。
;; org-mode (when (require 'org-install nil t) ;; 2015/02/03 GTDな管理を目指して過去のフォルダをコメントアウト。書き方のサンプルとして ;;(setq org-agenda-files (list "c:/work/documents/note/2014" "c:/work/documents/note/2015")) ;; There is Agenda files in Folder. (setq org-agenda-files (list "~/.emacs.d/org_dat/gtd")) ;; アジェンダに表示する時間を変更 (setq org-agenda-time-grid '((daily today require-timed) "----------------" (900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400))) (define-key global-map "\C-cl" 'org-store-link) (define-key global-map "\C-ca" 'org-agenda) (define-key global-map "\C-cr" 'org-remember) ;; TODOの項目を増やす (setq org-todo-keywords '((sequence "TODO(t)" "APPT(a)" "|" "DONE(d)"))) ; TODO ← やっつける、APPT ← あとでやる、DONE ← 終了 ;; (setq org-log-done 'time) ; TODO→DONEで時間を記録する (setq org-log-done 'note) ; TODO→DONEで時間を記録し、さらにノートの記載を促す ;; 経過時間の履歴保存 (setq org-clock-persist 'istory) ; (org-clock-persistence-insinuate) ; ;; 拡張子がorgのファイルを開いた時,自動的にorg-modeにする (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) ;; org-modeでの強調表示を可能にする (add-hook 'org-mode-hook 'turn-on-font-lock) ;; エクスポートする時の設定 (setq org-agenda-exporter-settings '((ps-number-of-columns 1) (ps-landscape-mode t) (htmlize-output-type 'css))) ;; 見出しの余分な*を消す (setq org-hide-leading-stars t))