Rust入門 セットアップ

Bash On Windowsをインストールし直すたびにこれも検索し直しているのは時間がかかって仕方がないのでメモ(2017/12)

WSL上でRust install

$ curl https://sh.rustup.rs -sSf | sh
Current installation options:

   default host triple: x86_64-apple-darwin
     default toolchain: stable
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

ここではdefaultで、あとで変える。

source $HOME/.cargo/env

を.bashrcにでも.zshrcにでもconfig.fishにでも入れる。

Rust.vimのためにdein.vimを入れる

$ mkdir ~/.cache/dein
$ cd ~/.cache/dein
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh ~/.cache/dein

.vimrcにRust.vimを追加

" Add or remove your plugins here:
...
call dein#add('rust-lang/rust.vim')

この状態でvimを起動すると、(start時のプラグインチェックが有効になっていれば)
初回起動時に勝手にrust.vimを入れてくれる。

Rust fmtのインストール
だいたいココらへんなのだが
github.com
(nightlyじゃないと動かない?)

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential
$ rustup install nightly
$ rustup default nightly
$ cargo install rustfmt-nightly

nightlyをデフォルトにしたくなかったらnightlyのライブラリをインストールしたあとに

export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$LD_LIBRARY_PATH

を追加すれば良い気がする。

その後。
.vimrcで

let g:rustfmt_autosave = 1
let g:rustfmt_command = '$HOME/.cargo/bin/rustfmt'

とすれば保存時にフォーマッティングシてくれるらしいが、
:RustFmtを実行すると
シンタックスハイライトが消えてカーソルが下まで降りるという現象になった。

以下のようにすれば良いらしい
github.com
よって
.vimrcは

let g:rustfmt_autosave = 1
let g:rustfmt_command = 'cargo fmt -- '

とした。

rust/vim-racerのインストール
github.com

vimプラグインに追加する。

call dein#add('racer-rust/vim-racer')

補完プログラムインストール

$ cargo install racer

補完のためのソースコードをもらう

$ rustup component add rust-src
$ rustc --print sysroot
$(rustc --print sysroot)/lib/rustlib/src/rust/src

が保存されている場所。
このパスを
bashrcなりzshrcなりのRUST_SRC_PATHとしてexportする。
fishなら

set -gx RUST_SRC_PATH $HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src

のような感じ。

補完したい場所で
insert modeのまま
Ctrl+x -> Ctrl+o
とすると
f:id:katakanan:20171128213137p:plain
補完候補が出る。