2014年1月14日火曜日

Emacsのポータブル化

xyzzyをポータブル化する方法を模索してて、いっそのこと似たようなEmacsをポータブル化して使ってる拡張lispも移植したらいんじゃねとひらめいチャッチャ!
というわけで、今回はEmacsをポータブル化する方法。

インストール


emacs for gnupackをここからダウンロード。USBメモリに解凍する。



やり方


site-lispフォルダにsite-start.elを作成し、以下をコピペ。これでemacsフォルダがホームディレクトリになる。

(setenv "HOME" (substring data-directory 0 -4))

次に、emacsフォルダに.emacsを作成し、そこに設定を書いていく。以下は僕の例。

.emacs

;;起動時の画面を消す
(setq inhibit-startup-message t)

;;アイコンを消す
(tool-bar-mode -1)

; 行番号表示
(require 'linum)
(global-linum-mode)

;; メッセージを消す
(setq initial-scratch-message "")

;; beep音を消す
(setq visible-bell t)
(setq ring-bell-function 'ignore)

;;; *.~ とかのバックアップファイルを作らない
(setq make-backup-files nil)

;;; .#* とかのバックアップファイルを作らない
(setq auto-save-default nil)

ちなみに


emacsでは
  1. 最初に共通設定ファイルであるsite-start.elを読み込み
  2. 次に各ユーザーごとの設定ファイルを読み込み
  3. 最後にdefault.elを読み込む

という仕組みになってるらしい。

そして、「2.各ユーザーごとの設定ファイルの読み込み」だが、

  1. ~/.emacs.elc
  2. ~/.emacs.el
  3. ~/.emacs
  4. ~/.emacs.d/init.elc
  5. ~/.emacs.d/init.el

と順番に探していき、最初に見つかるファイルを読み込むようだ。「~」はホームディレクトリの意。

参考


EmacsをUSBで使えるようにするまでのやり方 - プログラムとかののblog

追記 2014/01/15


(defvar usb-drive-letter (substring data-directory 0 3))
(defvar usb-home-dir (concat usb-drive-letter "emacs/"))

(setenv "HOME" usb-home-dir)


(setenv "HOME" (substring data-directory 0 -4))

に変えた。変える前のやつを使う場合は、emacsをルートディレクトリに展開し、フォルダ名をemacs-24.2-20121208とかからemacsにリネームする必要がある。

0 件のコメント:

コメントを投稿