Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

NTEmacs24にOrg-modeの最新安定版をインストールしたメモ

org-modeの最新版(8.2.10)インストール方法メモ

GTD(Getting Things Done)について勉強を初めて、さらにEmacsが好きになった私です。
Emacsには導入時にorg-modeがインストールされた状態になっていますが、本家サイトに最新版が公開されているのでそれを導入してみます。
org-remenberの設定も掲載していますが、これについては予めremember-modeの導入を終了させている必要があります。

.emacs.dやinit.elの説明は書いていません。
その辺りの知識を持っている人を前提としてメモします。

環境

今回はWindows7に導入したNTEmacs24への導入を行いますが、LinuxMacへの導入も基本的には同じ解釈でいけるのではないかと思っています。
おおまかな流れとしては、zipファイルをダウンロードして解凍し、load-pathの通っているディレクトリへコピーした後に、init.elに読み込み設定を書くだけです。
Linuxは動作しました、MacOSXは確認していません。

目次

  1. 最新ファイルのダウンロード
  2. ファイルの展開
  3. lispファイルのディレクトリをload-pathディレクトリ以下へコピー
  4. init.elへ設定

最新ファイルのダウンロード

以下の本家サイトから、最新安定版のzipファイルをダウンロードします。
org-mode本家

ブログ執筆時の最新ファイルは「org-8.2.10.zip」でした。

ファイルの展開

ダウンロードしたファイルを展開します。
すると、ドキュメント等を含めた一式のディレクトリが展開されます。
必要なのは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))

再起動!!

Emacsを再起動して下記のコマンドを実施したとき、最新のバージョンになっていれば成功です。

M-x org-version 
Org-mode version 8.2.10


優良アダルトサイト紹介の最終形態!!MaxInfo