#1 俺でもわかるSpacemacsで始めるClojure

Spacemacsのインストールと設定、プロジェクトの作成からREPLの起動まで

やない

1 minute read

環境

俺氏はFedora28で環境構築します
パッケージ管理のコマンドはdnfなので環境の違う読者は適所置き換えて読んで下さい
例えばUbuntuの場合はaptです

Leiningenのインストール

Leiningenについて Clojureのビルドツールです
コードのコンパイルやテストの実行、REPLの起動などが可能になり
プロジェクト開発の手助けをしてくれます。
https://leiningen.org/

  1. スクリプトのダウンロード

    wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
    
  2. leinスクリプトを実行できるようにパスの通ったディレクトリに移動させる
    普通のLinuxであれば~/binにパスが通っているので以下のコマンドを使います

    mv lein ~/bin
    
  3. leinスクリプトにコマンド実行権限を与える

    chmod a+x ~/bin/lein
    
  4. 必要なパッケージをダウンロードする

    lein
    

-vオプションを付けるとLeiningenやJavaのバージョンを確認できます

$ lein -v
Leiningen 2.8.1 on Java 1.8.0_171 OpenJDK 64-Bit Server VM

Spacemacsのインストール

Spacemacsについて EmacsとVimのいいとこ取りをしたEmacsベースのテキストエディタです
名前の通りSpaceKeyを軸にしたコマンドが特徴で
キーバインドが表示されるので初心者にもやさしくなっています

  1. Emacsのインストール

    sudo dnf install emacs
    
  2. Spacemacsから.emacs.dをダウンロード

    git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
    
  3. 必要なパッケージをインストール
    emacsの初回起動emacsでうまくインストールができなかった場合は
    HTTPSを無効にするオプション--insecureを付けて再度実行

    emacs --insecure
    
pic01.png

dotspacemacs/layersにClojureを追加

Spacemacsの設定ファイル.spacemacsにClojureの設定を追加すると
.cljを開いた際にClojure用のコマンドが使用できるようになります

  1. SPC f e dで.spacemacsファイルを開く
    emacsを開いてコマンドを打ちます、SPCSpaceKeyの意
    file emacs dotfile のように分かりやすくなっている

  2. dotspacemacs/layers関数内のdotspacemacs-configuration-layersclojureを追加
    編集モードへの移行はiESCで抜けれます

  3. SPC f e Rで設定をリロード

pic02.png

これでClojureをSpacemacsで書くための設定は済みました
次はClojureのプロジェクトを作成しましょう。

Clojureプロジェクトの作成

プロジェクトの作成にはleinを使用します

lein new project-name

SpacemacsからはSPC !コマンドでshellが実行できます

NeoTreeの起動

NeoTreeについて vimmerならお馴染み
ディレクトリ構成をツリー状に表示してくれるスグレモノ

Spacemacsで作業する上でNeoTreeは欠かせません
起動したらまず最初に打ち込みましょう

SPC f t

leinで作成したtest01プロジェクトを開いた様子

pic04.png

nRELP接続とコードの実行

nREPLについて REPL(Read Eval Print Loop)
nREPL is network REPL (Githubより
読んで評価して表示してを繰り返す

俺氏にはよくわからないので実際に触ってみる

  1. nREPL接続
    .cljファイルを開いた状態でコマンドを実行してください

    SPC m s i
    
  2. REPLへバッファを切り替え
    SPC m s sコマンドでコードとREPLを切り替えできます

pic05.png

これでClojureをSpacemacsで実行できるようになりました
他にもSpacemacsでできることはたくさんありますが、今回はこのへんで
お疲れ様でした。

comments powered by Disqus