Org-Babelでinit.elを書き始めて1週間
ようやく一通りの設定が終わりました。
とりあえず下からStarter-kitを落としてきて参考にすると、
割と簡単に作れます。
https://github.com/eschulte/emacs-starter-kit
僕の場合初期化用のORG-FILEは、
".emacs.d -> OrgInit "というディレクトリを作ってそこに入れました。
基本的にすることは以下の3ステップです。
(1) ".emacs.d"に init.el を準備する。
まずは init.el を準備します。
普通はこの中に設定をズラズラと書きますが、
ここで必要なのは、
- 最新のOrg-xx.elが入ったディレクトリへのパスの設定。
- Orgの読み込み。
- 設定を書いたOrg-fileへパスを渡す。
だけです。
init.elの中身はこんな感じになります。
;;;;;;;;;;;;;;;;;;;;;;
;; OS Configuration
(defvar run-linux nil)
(defvar run-win nil)
(cond ((string-match "linux" system-configuration)
(setq run-linux t))
((string-match "mingw" system-configuration)
(setq run-win t)))
;;;;;;;;;;;;;;;;;;;;;;
;; Load Path Setting
(setq dotfiles-dir (cond (run-linux "~/.emacs.d/")
(run-win "C:/gnupack_basic-5.01/home/.emacs.d/")))
(add-to-list 'load-path dotfiles-dir)
(add-to-list 'load-path (concat dotfiles-dir "site-lisp/org/lisp"))
(setq starter-dir (concat dotfiles-dir "OrgInit"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Load up Org Mode and Babel
(require 'org-install)
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Load up the main file
(org-babel-load-file (expand-file-name "start-init.org" starter-dir))
上から
- OSの判別
- ロードパスの設定
- Orgの読み込み
- 設定の書かれたOrg-fileを読み込み
となります。
ここから先の設定は " start-init.org" の中に書かれています。
(2) Org-fileに設定を書き込む
次は先ほど指定した "start-init.org"の中に色々設定を書いていきます。
例えばAnythingとかOrg-modeとか、各内容が多いものは別ファイルにして、
"start-init.org"から読み込ませることも出来ます。
Org-modeなので、不必要な部分は折りたたんで見通しよくしたり、
TODO項目を直接書いておいたり、
別ファイルに設定を書いた場合、そのファイルへのリンクを書いておいて、
クリックするとファイルが開くようにしたりと色々出来ます。
init.elにコメントで説明を書くよりは圧倒的に見通しが良い気がします。
設定したい内容は下のように、
#+begin_src emacs-lisp
#+end_src
の間に書きます。
一々書くのが面倒くさい方はYASnippetを使うと幸せになれます。
http://code.google.com/p/yasnippet/
さらに別ファイルに分けて設定を書く場合は、
下のように設定を書いたファイルを読み込ませます。
ここで "starter-kit-load" は下のように定義しています。
(starter-kitのものをそのまま流用しています。)
(3) Emacsを再起動
個別にやっても良いですが、手っ取り早く・・・
色々別ファイルに書き出したりして自分なりに整理をしたら、
Emacsを再起動してみます。
すると下のように設定を書いておいたOrg-fileからLispだけ抜き出して、
それぞれのファイルに対応するLispファイルを作って読み込んでくれます。
以上です。