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にでも入れる。
$ 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
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
とすると
補完候補が出る。