想定してるのはMacかLinux。
やりたいことは
- シンタックスハイライト
- コード補完
- オートフォーマット
あたりなので、とりあえずこのあたりを出来るようにする。
インストールするのは4つ。
コマンドとして
- phildawes/racer
- rust-lang-nursery/rustfmt
Vim Pluginとして
- rust-lang/rust.vim
- racer-rust/vim-racer
それぞれ2つずつ。
まずはracerとrustfmtをインストールする。どちらもcargoでインストール出来るので
cargo install --git 'https://github.com/phildawes/racer.git'
cargo install --git https://github.com/rust-lang-nursery/rustfmt
としてあげる。
とくに設定していなければ$HOME/.cargo/binにracerとrustfmtが入っているはず。
必要ならPATHを通しておくのがいいと思うけどVimからしか使わないなら通さなくてもいいかもしれない。
racerの設定でソースファイルが必要になるので、もし無いなら
ここからダウンロードしてきて、展開したものを適当な場所に置いておく。
Vimの設定に移って、2つのプラグインをインストールしておく。
まず保存したときに自動整形してほしいので
let g:rustfmt_autosave = 1
let g:rustfmt_command = '$HOME/.cargo/bin/rustfmt'
としてあげる。g:rustfmt_autosaveが0の場合は保存するときに自動整形しない。
g:rustfmt_commandはrustfmtの場所を指定。
racer用の設定は公式ページの通りだけど
set hidden
let g:racer_cmd = '$HOME/.cargo/bin/racer'
let $RUST_SRC_PATH="/usr/local/src/rustc-1.5.0/src"
こちらはracerの場所とさっきダウンロードしてきたソースコードの中のsrcディレクトリの場所を指定してあげる。
これらの設定をしておくとシンタックスハイライトがついたりコード補完が出来たりオートフォーマットができたりする。
ついでに:RustRunってやるとVimからプログラムを実行することができる。
他にももう少しできることはあるみたいだけど、これだけあれば勉強するには十分かなと。