featurep で Emacs の機能を調べて場合わけとかして環境に応じた設定ファイルのロードとか出来るのがわかったので、.emacs を
- Windows(Meadow)専用
- Linux専用
- 共通
に分割してみます。Meadow用の .eamcs を Linux にもって行ったとき、Windows専用な設定(Diredでエクスプローラーがどうしたとか)とかいっぱいはいっててコメントアウトするのが面倒くさかったので(Windows でも Linux でも、はたまた Mac でも Emacs 使う人ってこの辺どうしてるのかしら…)。
.emacs には共通の設定を書くとして、ひとまず ~/.eamcs から Windows 専用な設定を ~/site-lisp/meadow.el に移して、~/.emacs に、
(setq load-path
(append '("~/site-lisp")
load-path))
(if (featurep 'meadow)
(load "meadow"))
とか追加。
今まで、c:/opt/Meadow/site-lisp/ 以下にインストールしていたファイルも、これを機に、$HOME/site-lisp/ 以下に引越してみました(Windows だと c:/home を $HOME にしてたり)。これでサーバーがかわってもその辺をまとめてコピーすれば自分環境が出来る感じにます。
あとは、lisp で「if-else if-else-end」な記述方法がわかったら、もう少し場合わけしたいところとかいい感じに出来ると完成。
社内ではVim派が圧倒的多数なので、野党第一党として lisp も(多少は)書けるようがんばりたいと思います。
Comments
現在稼働しているシステムを特定したいのであればsystem-configuration を評価すればよいかと。
(string-match "linux" system-configuration) なんてので良いのでは。
また、複数条件分岐だとifよりcondの方が使いやすいかも。
mirrocityさん、ありがとうございます。
system-configuration 知らなかったです…。システム(OS)調べるのはそっちのほうがよさそうですね。
複数条件分岐はたしかにcondのほうがよさげですね。記法がすぐには理解できなかったのでifで逃げてしまいました…。ちょっとチャレンジします。