Spacemacs is なに?

  • Emacsディストリビューション。Spacemacsよりも軽量なものにDoom Emacsなんかがあったりする。
  • Vimの秀逸な入力インターフェイスにEmacsの強力な拡張性を併せ持つそれぞれのいいとこ取りのエディタ。

メリット

  • スペースキーを起点としたコマンドが秀逸。スペースキーを押した時点で エディタの下に次のキーの候補と何のコマンドかを表示してくれて親切。 スクリーンショット 2019-05-31 11.38.10.png

  • デフォルトで多くレイヤーが用意されていて、.rb.py などの拡張子を初めて開く場合、最初にawesome-emacsに乗っているようなモジュールを入れるか聞いてくれるので言われるがままに入れとけばまず困らない。

  • 補完が結構効く。仕事でRubyを書いていてRubyMineでは設定が悪いのか全然補完してくれなかったものがSpacemacsでは補完してくれるようになってRubyMineやめた。Robeすごい。

  • Emacsの豊富な既存のモジュールをほぼそのまま使える。

  • themes-megapackレイヤーを入れれば有り余るほどテーマが入るので、私みたいに定期的にテーマを変えたい人にはありがたい。テーマの変更は設定ファイルからできる他にSpace T sで簡単に変更できる。 スクリーンショット 2019-05-31 12.22.17.png

デメリット

  • 情報が少ないのでSpacemacs固有の問題にぶち当たったら解決するのが結構大変らしい
  • 立ち上げてしまえばサクサクだが、やはり素のEmacsやVimやVSCodeと比べて起動が遅い。(それでもRubyMineやその他IDEよりはずっと速い)

導入手順

私はmacOSを使っているためmacOSでの導入手順を書いておきます。その他OSの方はGithubのREADMEを参照してください。

また、すでにemacsを使っている方は~/.emacs.dのバックアップを忘れずにしてください。

$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus
$ brew linkapps emacs-plus
$ git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d

よく使うコマンド

  • .rbファイルを開いた状態でSpace m ' : Robe(コードナビゲーション、ドキュメント検索、オートコンプリート)の起動
  • Space p f : プロジェクト内のファイル検索
  • Space / : プロジェクト内のテキスト検索
  • Space f f : ファイル検索
  • Space T T : エディタの透過調整
  • Space g b : git blame
  • Space T s : エディタのテーマ変更
  • Space w - : エディタの水平分割
  • Space w v : エディタの垂直分割
  • Space w w : 次のウィンドウに移動
  • Space {0~9} : 指定した数字のウィンドウに移動
  • Space p t : プロジェクトツリー(Treemacs)