Spacemacs使い始めてみる

背景

  • TODO管理用にEmacsのOrg-modeを使いたいと常々思っていた。
  • 普段使っているエディタはNeoVimで、Emacsに本格移行するつもりはあまりない。

という状態だった。
Org-modeのためだけにEmacsを導入しようと思って色々調べていたら、
何やら Spacemacsなるものがあるらしい。

元々はVimからEmacsに移行しやすくするために作られたとのこと。
今となっては The best editor is neither Emacs nor Vim, it's Emacs and Vim! と公式でも謳われており
つまりVim+Emacsが最強のエディタと言いたいみたい。

これ良いんじゃないかと思い、使ってみることに。

インストール

GitHubのREADMEを元にやっていく。(環境はMac)

Emacs

まずはEmacsをインストール。最新版を入れたいのでHomebrewを使う。

$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus
$ brew linkapps emacs-plus

emacs-plusというのは、GNU Emacsに加えて色々サポートが追加されているらしく、spacemacsには都合が良いみたい。

最後のlinkappsコマンドはbrewでdeprecatedになっているのでエラーになる。
代わりに自力で $ ln -s /usr/local/opt/emacs-plus/Emacs.app /Applications を実行する。

emacs コマンドも、Xcodeでバンドルされているもの(ver 22.1と古い)からHomebrew版を見るようにしておく。
以下を~/.zshrcに追記。

alias emacs='/usr/local/opt/emacs-plus/bin/emacs -nw'
alias e='emacs'

-nwはターミナル内でEmacsを開くoption。これをつけないと別途GUIアプリが起動する。
私はターミナル内でCLIとしてemacsを起動したときは-nw付き、
GUIを起動したいときはAlfredのランチャ起動するようにしたかったので、このようにした。

Spacemacs

要はSpacemacsは色々入っている.emacs.dみたい。
なので、元から~/.emacs.d/がある場合は、バックアップしておくと良い。

$ mv ~/.emacs.d ~/.emacs.bak

Spacemacsのインストール。
公式サイトのトップにあるコマンドをコピペするだけ。

$ git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d

Emacs.appを起動すると、下部にDotfile wizard installerというのが表示される。
これに従って初期セットアップが可能。

Dotfile wizard installer

私は以下のようにした。

What is your preferred editing style?
-> Among the stars aboard the Evil flagship (vim)

What distribution of spacemacs would you like to start with?
-> The standard distribution, recommended (spacemacs)

What type of completion framework do you want?
-> A lighter one but still very powerful (ivy)

ivyは補完ツール。helmより速いとのことでこっちにした。
あとはデフォルト。

しばらくインストールが勝手に走るので待つ。

org-mode(org-layer)の設定

Spacemacsにはレイヤーという概念がある。
パッケージの上位層で、色んなパッケージがまとめられているとのこと。
例えば、pythonレイヤーの下にはpython用のパッケージをまとめて整理できる、のような。(多分)

org-modeもorg-layerとして管理されているようである。
デフォルトの~/.spacemacsファイルでは以下のようにコメントアウトされているのでorgのコメントアウトを外すだけ。

dotspacemacs-configuration-layers
   '(
     markdown
     ;; ----------------------------------------------------------------
     ;; Example of useful layers you may want to use right away.
     ;; Uncomment some layer names and press <SPC f e R> (Vim style) or
     ;; <M-m f e R> (Emacs style) to install them.
     ;; ----------------------------------------------------------------
     ivy
     ;; auto-completion
     ;; better-defaults
     emacs-lisp
     ;; git
     ;; markdown
     ;; org  ;; ここのコメントアウトを外す
     ;; (shell :variables
     ;;        shell-default-height 30
     ;;        shell-default-position 'bottom)
     ;; spell-checking
     ;; syntax-checking
     ;; version-control
     )

Spacemacsを再起動するとorg-layerに必要なものがインストールされるので待つ。

これで適当に*.orgという拡張子のファイルを開くとorg-layerが有効になる。

と、導入できたっぽいのは良いが、org-modeの使い方が分からず、それはまた次回…

mukiudo
mukiudo
Software Engineer