LoginSignup
45
43

More than 5 years have passed since last update.

Spacemacsの導入方法

Last updated at Posted at 2015-04-22

普段Emacs使いですが、この前またGithubのtrendで上位に挙がっていたのでちょっとSpacemacsを試してみています。

最初設定方法(いつもinit.elに書いているようなこと)がわかり辛かったのでまとめてみました。

インストール

本家のREADNE.mdに従ってインストールします。
Emacs 24.3または24.4でテストされているらしいので、いずれかのバージョンのEmacsを事前にインストールしておきます。

1 まず既存の.emacs.dがある場合これをバックアップ:

cd ~
mv .emacs.d .emacs.bak

2 Spacemacsを.emacs.dとしてクローン:

git clone --recursive http://github.com/syl20bnr/spacemacs ~/.emacs.d

3 Emacsを起動すると、必要なパッケージのインストールが始まります。

4 パッケージのインストールが終わったら再起動します。

設定方法

Spacemacsでは各種設定はConfiguration layerという単位に分割されて管理されます。Spacemacsは~/.spacemacsファイルに従ってこのConfiguration layerをロードします。

クローンした後の.emacs.dの下のspacemacs/contribディレクトリには、便利なConfiguration layerがいろいろ入っています。例えばspacemacs/contrib/auto-completionを使いたい場合、その旨を~/.spacemacsに記述することでauto-completionを利用することができるようになります。

.spacemacs

M-x dotspacemacs/installコマンドを実行すると、デフォルトの設定が記述された.spacemacsがホームディレクトリに作成されます。

M-m f e dで作成された~/.spacemacsファイルが開きます。例えば以下のようにdotspacemacs-configuration-layersに記述して、

;; List of configuration layers to load.
dotspacemacs-configuration-layers '(auto-completion)

M-x dotspacemacs/sync-configuration-layersを実行すると、~/.spacemacsの変更が適用され、Emacs package repositoriesからのauto-completionのダウンロードや設定が施されます。

spacemacs/contrib以下にはたくさんのConfiguration layerがあります。
各種言語系の設定spacemacs/contrib/langのようにサブディレクトリに格納されている場合、サブディレクトリの方の名前をdotspacemacs-configuration-layersに記述します。

dotspacemacs-configuration-layers '(javascript) ;; javascriptのConfiguration layerを使う

個人的なConfiguration layer

個人的な設定をしたい場合もConfiguration layerを使います。

M-x configuration-layer/create-layerを実行するとprivateディレクトリ配下に任意の名前のConfigulation layerが作成されます。例えばこんな感じになるかと思います:

ls -1 private/
hogehoge-project # hogehogeプロジェクト用のConfigulation layer
pbaleine         # プロジェクトに紐づかない個人的な設定用のConfigulation layer
snippets         # snippet用のディレクトリ

Configuration layerの構成はこんな感じになります:

ls -1 private/pbaleine/
config.el      # 設定をかくところ
extensions.el  # package.elでダウンロードできないパッケージの設定
funcs.el       # 関数とかをかくところ
keybindings.el # キーバインドをかくところ
packages.el    # package.elでダウンロードできるパッケージの設定

Spacemacs起動時にはfuncs.el -> config.el -> packages.el -> extensions.el -> keybindings.elの順にロードされる(みたい1)ので、funcs.elに関数を定義してconfig.elに設定を書いてkeybindings.elにキーバインドを記述しておけば、設定が完了した状態でSpacemacsが起動します。

おまけ

  • デフォルトの~/.spacemacsではsource code proを利用するように設定されてるので、これを使う場合あらかじめsource code proをインストールしておくときれいに表示されます。

  • Emacs使いはspaceM-mで読み替えてドキュメント読みましょう

  • …Vimユーザ向けにつくったってかいてあるけど、Vimユーザは使わないと思うよ


  1. 公式のドキュメント上で記述が見つけられていないので*Messages*バッファの出力をみて判断しています…まぁこの順序が変わることはないと思いますが 

45
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45
43