環境を移動したとき、毎回Emacsの設定を行うのが大変です。
いつも触っているEmacsならガチガチに設定するのですが、移行するのがダルイ場合があります。
また、最低限の設定だけを行いたい場合があります。
なので、Emacsを段階的に設定できるようにメモっときたいと思います。
一番シンプルな設定
最低限欲しい設定のみに絞ったもの。
ひとつのファイルを置くだけで、最低限使いやすくなることが目標です。
「goto-line」にはショートカットキーを付与せずに「M-x goto-line」で実行します。
同じく「grep」にはショートカットキーを付与せずに「M-x grep」で実行します。
ここから必要に応じて、設定を追加していきます。
ディレクトリのレイアウト
ディレクトリのレイアウトを以下のようにします。
.emacs.d ├── config/ … 各拡張の設定ファイルを置く場所 ├── init.el … 基本的な設定を書くファイル └── packages/ … 拡張elispを置く場所
auto-installの導入
elispを簡単にインストールできるようにしてくれる拡張です。
EmacsWikiからダウンロードします。
auto-install.el
init.elの最初でパスを通しているので、ダウンロードしたファイルをpackagesディレクトリにおきます。
そして、以下のコマンドでバイトコンパイルを行います。
$ emacs -batch -f batch-byte-compile .emacs.d/packages/auto-install.el
続いて、以下のような設定をinit.elに追加します。
;;; auto-install (require 'auto-install) (setq auto-install-directory "~/.emacs.d/packages/") (add-to-list 'load-path auto-install-directory) (auto-install-update-emacswiki-package-name t) (auto-install-compatibility-setup) (setq ediff-window-setup-function 'ediff-setup-windows-plain)
この設定により、「M-x install-elisp」が使用できるようになります。
init-loader.elの導入
init-loader.elは、設定ファイルの分割が行えるようにしてくれる拡張です。
先ほど導入したauto-installでインストールします。
M-x install-elisp http://coderepos.org/share/browser/lang/elisp/init-loader/init-loader.el?format=txt
そして、以下のような設定をinit.elに追加します。
;;; init-loader (setq load-path (append (list (expand-file-name "~/.emacs.d/packages/") ) load-path)) (require 'init-loader) (init-loader-load "~/.emacs.d/config")
新しくパッケージを入れた場合は、configに設定を記述したファイルを追加していきます。
Anything
インストールは以下のコマンドで行います。
M-x auto-install-batch RET anything RET
設定ファイルは、「20-anything.el」といった名前で「.emacs.d/config/」に置きます。
中身は以下のような感じで。
auto-complete
インストールは以下のコマンドで行います。
M-x auto-install-batch RET auto-complete development version RET
設定ファイルは、「01-auto-complete.el」といった名前で「.emacs.d/config/」に置きます。
中身は以下のような感じで。
perlのための設定
cperl-mode.elのダウンロード
cperl-modeは、標準で入ってますが、無名関数のインデントがおかしくなってしまいます。
これに対応したcperl-modeを以下のページからダウンロードして、「.emacs.d/packages」に置きます。
https://github.com/jrockway/cperl-mode
yasnippet
ダウンロードはgitで行います。
https://github.com/capitaomorte/yasnippet
git cloneしてできたyasnippetディレクトリは、「.emacs.d/packages/」に置きます。
設定ファイルは、「50-yasnippet.el」といった名前で「.emacs.d/config/」に置きます。
設定内容は以下のような感じ。
(add-to-list 'load-path "~/.emacs.d/packages/yasnippet") (require 'yasnippet) (yas-global-mode 1)
snippetファイルは「.emacs.d/package/yasnippet/snippets/」に置きます。