vimclojureとcakeのインストール
vimclojureとcakeで簡単にslime/swank的なことができる。
Ubuntu 11.04での設定を書いておく。
まあ、ここにも載ってるわけですが・・・
http://ubuntuforums.org/showthread.php?t=1746137
初期設定
まずは必要なパッケージをインストール
$ sudo apt-get install vim openjdk-6-jdk rubygems $ sudo gem install cake
Cakeを起動できるようにbashにエイリアスを設定
パスを通してもいいんだけど、一つだけなのでエイリアス。
$ echo "alias cake='/var/lib/gems/1.8/bin/cake'" >> ~/.bashrc $ exec bash
Vimclojure用のNailgunクライアントをインストール
$ mkdir -p ~/src $ cd ~/src $ wget http://kotka.de/projects/vimclojure/vimclojure-nailgun-client-2.2.0.zip $ unzip vimclojure-nailgun-client-2.2.0.zip $ cd ~/src/vimclojure-nailgun-client $ make $ sudo cp ng /usr/local/bin/
Vimclojureをインストール
$ cd ~/src $ wget -O vimclojure-2.2.0.zip http://www.vim.org/scripts/download_script.php?src_id=13986 $ mkdir -p ~/src/vimclojure-2.2.0 $ cd ~/src/vimclojure-2.2.0 $ mkdir -p ~/.vim $ cp -a autoload doc ftdetect ftplugin indent plugin syntax ~/.vim/
vimのファイルを編集
~/.vimrcを編集
syntax on filetype indent plugin on let g:vimclojure#WantNailgun = 1 let g:vimclojure#NailgunClient = "ng" let g:vimclojure#HighlightBuiltins = 1 let g:vimclojure#ParenRainbow = 1 let g:vimclojure#DynamicHighlighting = 1
プロジェクトごとの作業
Cakeプロジェクトを作成
$ mkdir -p ~/work $ cd ~/work $ cake new hellocake $ cd hellocake
VimclojureのNailgunサーバをプロジェクトに導入
project.cljを編集
(defproject hellocake "0.0.1-SNAPSHOT" :description "TODO: add summary of your project" :dependencies [[org.clojure/clojure "1.2.1"]] :dev-dependencies [[vimclojure/server "2.2.0"]]) ; ←これを追加
依存パッケージの取得
$ cake deps
編集時
Nailgunサーバの起動
一度起動すればプロセスが常駐します。
$ cake ng NGServer started on 127.0.0.1, port 2113. $
Vimclojureコマンド一覧
マニュアル丸写しですが。。。
通常のモードで下記を実行します。
評価
- \et (EvalToplevel)
- カーソル位置のトップレベル式を評価
- \ef (EvalFile)
- ファイル全体を評価
- \eb (EvalBlock)
- ビジュアルモードで選んだブロックを評価
- \el (EvalLine)
- 現在の行を評価
- \ep (EvalParagraph)
- 現在のパラグラフ
ロード
- \rf (RequireFile)
- ファイルをrequire (:reload)
- \rF (RequireFileAll)
- 依存先を含めてファイルをrequire (:reload-all)
- \rt (RunTests)
- ファイルをrequireし、そのファイルをclojure.contrib.test-isを使ってテスト
マクロ展開
- \me (MacroExpand)
- カーソル位置を含むマクロ式を展開
- \m1 (MacroExpand1)
- カーソル位置を含むマクロ式を1段だけ展開
ドキュメント
ソース調査
REPL起動
- \sr (StartRepl)
- REPLを起動する
- \sR (StartLocalRepl)
- 現在のバッファのnamespaceでREPLを起動する