Emacs でホームディレクトリ以下に site-lisp を作ってパッケージの管理を楽にする
■ Emacs でホームディレクトリ以下に site-lisp を作ってパッケージの管理を楽にする
基本的に YaTeX とか、 hnf-mode や ruby-mode などの後から入れる elisp-file は ~/unix/emacs/package 以下にディレクトリを作って入れてしまいます。 例えば、
- ~/unix/emacs/package/yatex/
- ~/unix/emacs/package/hnf/
- ~/unix/emacs/package/ruby/
■ 何故かと言うと
/usr/share/emacs/site-lisp 等に入れると update の際に全員が影響を受けてしまうので、 あまり好みではありません。
SKK なんかは, .skk の書式が変ったりしますしね。
環境移植の際もホームディレクトリだけを持ってくれば OK なので楽です。
■ Step1 最初に
~/unix/emacs/package を作成してそれぞれのパッケージを入れます。
% mkdir -p ~/unix/emacs/package % cd ~/unix/emacs/package % tar zxf apel-10.7.tar.gz
■ Step2 次に
.emacs.el に以下の内容を加えます。
;; set load-path to ~/unix/emacs/package
(defun my-site-lisp-registration (directory)
(let ((dirs nil))
(mapcar (lambda (x)
(and (file-directory-p x)
(not (member (file-name-nondirectory x) '("CVS" "cvs" ".svn")))
(setq load-path (cons (file-name-as-directory x) load-path))
(my-site-lisp-registration x) dirs))
(directory-files directory t "^[^\.]"))
dirs))
(let ((my-site-lisp-dir (convert-standard-filename "~/unix/emacs/package")))
(if (file-directory-p my-site-lisp-dir)
(my-site-lisp-registration my-site-lisp-dir)))
■ あとは
パッケージを追加するには ~/unix/emacs/package 以下に入れれば OK です。
Comments for This Page. Date: 2007-07-22 18:22 (JST)
