Emacsを使うときに必ず設定すること

Emacsを使う時に必ず設定している設定のメモです。

新しい環境をセットアップするときは設定ファイルをここから持ってくるんですが、実際どんな設定をしているのか後から追えなくなることが多いんですよね。正直、lispをよくわかっていないです…
ということで、自分のためのメモ。

まずはホームディレクトリに設定lisp格納用のディレクトリを作成します。

$ mkdir -p ~/.emacs.d/elisp
$ cd ~/.emacs.d
$ mkdir conf el-get

今作った “.emacs.d” ディレクトリが設定のホームディレクトリになります。
今回の設定はこのディレクトリの下にlispファイルを格納することでおこなっていきます。

まず設定するのは、

  • デフォルト言語
  • デフォルト文字コード
  • デフォルト改行コード
  • 読み込みディレクトリ

を、とりあえず指定します。このあたりはどんな環境でも設定必須ですよね。

上記の設定はすべて
~/.emacs.d/init.el
に記述します。その内容は以下のとおり。

(set-language-environment 'Japanese)
(prefer-coding-system 'utf-8-unix)

(setq debug-on-error t)

;; 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に追加するフォルダ
;; 2つ以上フォルダを指定する場合の引数 => (add-to-load-path "elisp" "xxx" "xxx")
(add-to-load-path "elpa" "elisp" "inits")

デフォルト言語と文字コード

上記では utf-8-unix としているので、文字コードをUTF-8に、改行文字コードをLFになります。 utf-8 は文字コードをUTF-8に、 unix は改行文字をLFを表しています。
改行文字コードはそれぞれ下のような関係になっています。

-unix: LF
-mac: CR
-win: CRLF

それぞれのOSに合わせるといいですが、私はLinux上で動作するWebアプリケーションを書くことが多いので、  "-unix"(LF) を指定しています。

読み込みディレクトリ

指定するディレクトリに格納されている設定ファイルを自動的に読み込むための init-loader という プラグイン を使用しています。
GitHubの作者のページからファイル init-loader.el をダウンロードし、 ~/.emacs.d/elisp/ に格納してください。

そして設定ファイルを格納するディレクトリを下記の様に指定します。

(add-to-load-path "elpa" "elisp" "inits")

ディレクトリはお好みなんですが、私はそれぞれのディレクトリをこんな感じに使い分けています。

  • elpa: パッケージマネージャが管理するプラグインなどを格納
  • elisp: パッケージマネージャで管理していないプラグインやスクリプトを格納
  • inits: 設定ファイルを格納

読み込まれるファイルはファイル名順です。
設定ファイルなど読み込まれる順序が気になる場合はファイル名の最初をこんな感じにするといいです。

$ ls -1 ./inits
00-init.el
00-packages.el
10-backup.el
10-ido.el
10-keybinds.el
10-linum.el
10-locale.el
10-screen.el
10-window.el
20-flycheck.el
60-lang-base.el
60-php.el
60-ruby.el

いじょう!