ft_rust.txt Rust 用ファイルタイププラグイン
==============================================================================
内容 rust
1. 前書き rust-intro
2. 設定 rust-settings
3. コマンド rust-commands
4. マッピング rust-mappings
==============================================================================
前書き rust-intro
このプラグインは、Rust ファイルタイプの構文とサポート機能を提供します。完全な
機能を使用するには、Vim 8 以降が必要です。一部のコマンドは、それ以前のバージョ
ンでは動作しません。
==============================================================================
設定 rust-settings
このプラグインには、プラグインの動作を変更するために vimrc で定義できる変数が
いくつかあります。
一部の変数はバッファローカル (:b プリフィックス) に設定でき、バッファローカ
ルはグローバルの g: よりも優先されます。
g:rustc_path
g:rustc_path
このオプションを :RustRun と :RustExpand の中で使う rustc へのパス
に設定します。未設定なら、"rustc" は $PATH の中で見つけられるでしょう:
g:rustc_makeprg_no_percent
g:rustc_makeprg_no_percent
'makeprg' の初期値を "rustc %" の代わりに "rustc" に保つためにこのオプ
ションを 1 に設定します:
g:rust_conceal
g:rust_conceal
基本的な conceal サポートを有効にするにはこのオプションを設定します:
g:rust_conceal_mod_path
g:rust_conceal_mod_path
パスをつなげるトークン "::" の conceal を有効にするにはこのオプショ
ンを設定します:
g:rust_conceal_pub
g:rust_conceal_pub
"pub" トークンの conceal を有効にするにはこのオプションを設定します:
g:rust_recommended_style
g:rust_recommended_style
rust 標準ライブラリのスタイル慣習 (すなわち、インデントに 4 つスペース
を使い 'textwidth' に 99 を設定します) に従うインデントと textwidth の
設定を有効にするためにはこのオプションを設定します。デフォルトではこの
オプションは有効です。無効にするには:
g:rust_fold
g:rust_fold
folding を有効にするにはこのオプションを設定します:
値 効果
0 折り畳みなし
1 中括弧ブロックは折り畳まれます。デフォルトではすべての
折り畳みは開かれます。
2 中括弧ブロックは折り畳まれます。'foldlevel' はグローバ
ル値のままです (デフォルトではすべての折り畳みは閉じら
れます)。
g:rust_bang_comment_leader
g:rust_bang_comment_leader
/*! シンタックスを使った複数行 doc コメントの先頭を保つためにこのオプ
ションを 1 に設定します:
g:rust_use_custom_ctags_defs
g:rust_use_custom_ctags_defs
Rust 用にカスタマイズされた ctags 定義があって、rust.vim に含まれてい
る定義を使用しない場合は、このオプションを 1 に設定します:
NOTE: rust.vim の組み込み定義は、Tagbar Vim プラグインがインストールさ
れていて、Universal Ctags が検出されない場合にのみ使用されます。これ
は、Universal Ctags が Tagbar と併用される場合、すでに Rust の組み込み
サポートを備えているためです。
Note また、Universal Ctags 以外の ctags を使用する場合、Vim が異なる
ソースファイルの定義に移動するために使用できる tags ファイルを生成す
るときに自動的には使用されないことに注意してください。tags ファイル
を生成したい場合は、rust.vim/ctags/rust.ctags を自分の ~/.ctags に
自由にコピーしてください。
g:ftplugin_rust_source_path
g:ftplugin_rust_source_path
このオプションを Rust ソースファイルの 'path' に前置されるべきパスに設
定します:
g:rustfmt_command
g:rustfmt_command
このオプションを $PATH の中の 'rustfmt' 実行可能ファイルの名前に設定し
ます。指定されないなら 'rustfmt' になります:
g:rustfmt_autosave
g:rustfmt_autosave
バッファを保存したときに自動的に :RustFmt を実行するためにこのオプ
ションを 1 に設定します。指定されないなら 0 になります:
同じ目的で設定でき、グローバル設定をオーバーライドできるバッファローカ
ルの b:rustfmt_autosave もあります。
g:rustfmt_autosave_if_config_present
g:rustfmt_autosave_if_config_present
このオプションを 1 に設定すると、編集中のファイルに直接つながる親に
rustfmt.toml ファイルが存在する場合に b:rustfmt_autosave が自動的
に設定されます。設定されていない場合は、デフォルトで 0 になります:
これは、rustfmt.toml 構成を持つプロジェクトで、保存時にのみ
rustfmt を実行する場合に便利です。
同じ目的で設定できるバッファローカルの
b:rustfmt_autosave_if_config_present もあり、グローバル設定をオーバー
ライドできます。
g:rustfmt_fail_silently
g:rustfmt_fail_silently
'rustfmt' がエラーを location-list に入力するのを妨げるためにこのオ
プションを 1 に設定します。指定されないなら 0 になります:
g:rustfmt_options
g:rustfmt_options
このオプションを 'rustfmt' に渡すためのオプションの文字列に設定します。
write-mode はすでに 'overwrite' に設定されています。指定されないなら
'' になります:
g:rustfmt_emit_files
g:rustfmt_emit_files
指定されていない場合、rust.vim は報告されたバージョンに基づいて
rustfmt に渡す適切なパラメータを検出しようとします。それ以外の場合は、
rustfmt を '--write-mode=overwrite' ではなく '--emit=files' (1 が指定
されている場合) で実行するかどうかを決定します。
g:rust_playpen_url
g:rust_playpen_url
使用する playpen の URL を上書きするためにこのオプションを設定します:
g:rust_shortener_url
g:rust_shortener_url
短縮 URL サービスの URL を上書きするためにこのオプションを設定します:
g:rust_clip_command
g:rust_clip_command
このオプションを、Rust Play の URL をクリップボードにコピーするために
OS で使用されるコマンドに設定します:
g:cargo_makeprg_params
g:cargo_makeprg_params
このオプションを cargo に渡すパラメータの文字列に設定します。指定しな
い場合はデフォルトで '$*' になります:
g:cargo_shell_command_runner
g:cargo_shell_command_runner
このオプションを設定すると、cargo コマンド :Cargo、:Cbuild、
:Crun 等のシェルコマンドの実行方法が変更されます。
デフォルトでは、:terminal はターミナルウィンドウでシェルコマンドを非
同期的に実行するために使用されます。ただし、コマンドの実行に :! を使
用する場合は、以下のように指定できます:
Syntastic との統合 rust-syntastic
------------------
このプラグインは、Syntastic チェッカーと自動的に統合されます。提供されるチェッ
カーは、'rustc' と 'cargo' の 2 つです。後者はコードをビルドするために 'Cargo'
を呼び出し、前者は編集された単一の '.rs' ファイルをコンパイル対象として Rust
コンパイラ rustc に直接渡します。
最近では、Rust コードの構築に Cargo がほぼ独占的に使用されているため、'cargo'
がデフォルトのチェッカーになっています。
変更したい場合は、g:syntastic_rust_checkers を別の値に設定できます。
g:rust_cargo_avoid_whole_workspace
b:rust_cargo_avoid_whole_workspace
g:rust_cargo_avoid_whole_workspace
Cargo ワークスペースの一部であるクレートを編集する場合、このオプション
が 1 (デフォルト) に設定されていれば、'cargo' はワークスペースディレク
トリではなく、そのクレートディレクトリで直接実行されます。0 に設定する
と、この動作は回避されます。ただし、大きなワークスペースで作業している
場合、Cargo コマンドに時間がかかることがあり、また Syntastic エラーリ
ストにワークスペース内のすべてのクレートが含まれる場合があることに注意
してください。
g:rust_cargo_check_all_targets
b:rust_cargo_check_all_targets
g:rust_cargo_check_all_targets
1 に設定すると、Syntastic が cargo を実行する時に --all-targets オプ
ションが cargo に渡され、パッケージ内のすべての対象の lint が可能にな
ります。
デフォルトは 0 です。
g:rust_cargo_check_all_features
b:rust_cargo_check_all_features
g:rust_cargo_check_all_features
1 に設定すると、Syntastic が cargo を実行する時に --all-features オ
プションが cargo に渡され、パッケージのすべての機能の lint が可能にな
ります。
デフォルトは 0 です。
g:rust_cargo_check_examples
b:rust_cargo_check_examples
g:rust_cargo_check_examples
1 に設定すると、Syntastic が cargo を実行する時に --examples オプショ
ンが cargo に渡され、サンプルが lint から除外されるのを防ぎます。サン
プルは通常、クレートの examples/ ディレクトリ下にあります。
デフォルトは 0 です。
g:rust_cargo_check_tests
b:rust_cargo_check_tests
g:rust_cargo_check_tests
1 に設定すると、Syntastic が cargo を実行する時に --tests オプション
が cargo に渡され、テストが lint から除外されるのを防ぎます。テストは
通常、クレートの tests/ ディレクトリ下にあります。
デフォルトは 0 です。
g:rust_cargo_check_benches
b:rust_cargo_check_benches
g:rust_cargo_check_benches
1 に設定すると、Syntastic が cargo を実行する時に --benches オプショ
ンが cargo に渡されます。ベンチは通常、クレートの benches/ ディレク
トリ下にあります。
デフォルトは 0 です。
auto-pairs との統合 rust-auto-pairs
-------------------
このプラグインは、単一文字リテラルよりもライフタイム注釈で頻繁に使用される単一
引用符が重複しないように、auto-pairs プラグインを自動的に構成します。
g:rust_keep_autopairs_default
g:rust_keep_autopairs_default
Rust ファイルタイプの auto-pairs のデフォルトを上書きしません。デフォ
ルトは 0 です。
==============================================================================
コマンド rust-commands
Cargo の呼び出し
----------------
このプラグインは、Vim から Cargo を呼び出すための非常にシンプルなショートカッ
トを定義します。
:Cargo <args> :Cargo
指定された引数を使用して 'cargo' を実行します。
:Cbuild <args> :Cbuild
'cargo build` のショートカット。
:Cclean <args> :Cclean
'cargo clean` のショートカット。
:Cdoc <args> :Cdoc
'cargo doc` のショートカット。
:Cinit <args> :Cinit
'cargo init` のショートカット。
:Crun <args> :Crun
'cargo run` のショートカット。
:Ctest <args> :Ctest
'cargo test` のショートカット。
:Cupdate <args> :Cupdate
'cargo update` のショートカット。
:Cbench <args> :Cbench
'cargo bench` のショートカット。
:Csearch <args> :Csearch
'cargo search` のショートカット。
:Cpublish <args> :Cpublish
'cargo publish` のショートカット。
:Cinstall <args> :Cinstall
'cargo install` のショートカット。
:Cruntarget <args> :Cruntarget
現在開いているバッファに応じて、'cargo run --bin' または
'cargo run --example' のショートカット。
フォーマット
------------
:RustFmt :RustFmt
カレントバッファで g:rustfmt_command を実行します。
g:rustfmt_options が設定されているなら、それらは実行可能ファ
イルに渡されるでしょう。
g:rustfmt_fail_silently が 0 (デフォルト) なら
g:rustfmt_command で得たエラーを location-list に入力する
でしょう。g:rustfmt_fail_silently が 1 に設定されるなら
location-list に入力しないでしょう。
:RustFmtRange :RustFmtRange
選択された範囲で g:rustfmt_command を実行します。その他の情
報は :RustFmt を参照してください。
Playpen の統合
--------------
:RustPlay :RustPlay
このコマンドは web-api.vim
(https://github.com/mattn/webapi-vim で得ることができます) を
インストールしている場合にだけ機能するでしょう。選択範囲、また
は何も選択されていないなら、カレントバッファの全体を Rust
playpen に送信して、playpen への短縮 URL とメッセージを出力し
ます。
g:rust_playpen_url は playpen へのベース URL で、デフォルト
では "https://play.rust-lang.org/" です。
g:rust_shortener_url は短縮サービスのベース URL で、デフォル
トでは "https://is.gd/" です。
g:rust_clip_command は、playpen の URL をシステムのクリップ
ボードにコピーするために実行するコマンドです。
単一の Rust ファイルの評価
--------------------------
NOTE: これらのコマンドは、スタンドアロンの Rust ファイルで作業する場合にのみ役
立ちますが、これは一般的な Rust 開発では通常当てはまりません。Vim を使用して
Rust クレートをビルドする場合は、Vim の make、Syntastic、または他のプラグイン
の機能を使用する必要があります。
:RustRun [args] :RustRun
:RustRun! [rustc-args] [--] [args]
カレントファイルをコンパイルして実行します。カレントファイルの
変更が保存されていないなら、:update を使って最初に保存される
でしょう。カレントファイルが無名バッファなら、最初に一時ファイ
ルに書き込まれるでしょう。コンパイルされたバイナリはいつも一時
ディレクトリに置かれますが、カレントディレクトリから実行されま
す。
:RustRun に与えられた引数はコンパイルされたバイナリに渡され
るでしょう。
! が指定されるなら、代わりに引数は rustc に渡されます。"--" 引
数はバイナリに渡される引数から rustc の引数を分けるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustExpand [args] :RustExpand
:RustExpand! [TYPE] [args]
--pretty を使ってカレントファイルを展開して新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustExpand に与えられた引数は rustc に渡されるでしょう。こ
れは様々な --cfg 設定を指定するのに大いに向いています。
! が指定されるなら、最初の引数は rustc --pretty に渡すための展
開種類です。それ以外の場合は "expanded" になるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustEmitIr [args] :RustEmitIr
カレントファイルを LLVM IR にコンパイルして新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustEmitIr に与えられた引数は rustc に渡されるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustEmitAsm [args] :RustEmitAsm
カレントファイルをアセンブリにコンパイルして新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustEmitAsm に与えられた引数は rustc に渡されるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
テスト(群) の実行
-----------------
:[N]RustTest[!] [options] :RustTest
カレントバッファが "cargo test" コマンドで cargo プロジェクト
内にある場合、カーソル下のテストを実行します。コマンドがカーソ
ル下のテスト関数を見つけられなかった場合、エラーメッセージを表
示して停止します。
N が指定された場合、新しいウィンドウのサイズが N 行または N 桁
に調整されます。
! が指定された場合、現在のカーソル位置に関係なくすべてのテスト
が実行されます。
[options] が指定された場合、"cargo" コマンドの引数に渡されま
す。
カレントバッファが cargo プロジェクトの外にある場合、コマンド
はフォールバックとして "cargo test" の代わりに "rustc --test"
コマンドを実行します。rustc では特定のテスト関数を実行する方法
がないため、! の追加に関係なくすべてのテストが実行されます。こ
の場合、[options] は "rustc" コマンドの引数に渡されます。
オプションの修飾子を受け取ります (<mods> を参照):
rust.vim のデバッグ
-------------------
:RustInfo :RustInfo
Vim Rust プラグインのデバッグ情報を出力します。
:RustInfoToClipboard :RustInfoClipboard
Vim Rust プラグインのデバッグ情報をデフォルトのレジスタに保存
します。
:RustInfoToFile [filename] :RustInfoToFile
Vim Rust プラグインのデバッグ情報を指定されたファイルに保存し、
上書きします。
==============================================================================
マッピング rust-mappings
このプラグインはぶら下がりインデントを支援するような [[ と ]] のマッピング
を定義します。
==============================================================================
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
==============================================================================
内容 rust
1. 前書き rust-intro
2. 設定 rust-settings
3. コマンド rust-commands
4. マッピング rust-mappings
==============================================================================
前書き rust-intro
このプラグインは、Rust ファイルタイプの構文とサポート機能を提供します。完全な
機能を使用するには、Vim 8 以降が必要です。一部のコマンドは、それ以前のバージョ
ンでは動作しません。
==============================================================================
設定 rust-settings
このプラグインには、プラグインの動作を変更するために vimrc で定義できる変数が
いくつかあります。
一部の変数はバッファローカル (:b プリフィックス) に設定でき、バッファローカ
ルはグローバルの g: よりも優先されます。
g:rustc_path
g:rustc_path
このオプションを :RustRun と :RustExpand の中で使う rustc へのパス
に設定します。未設定なら、"rustc" は $PATH の中で見つけられるでしょう:
let g:rustc_path = $HOME."/bin/rustc"
g:rustc_makeprg_no_percent
g:rustc_makeprg_no_percent
'makeprg' の初期値を "rustc %" の代わりに "rustc" に保つためにこのオプ
ションを 1 に設定します:
let g:rustc_makeprg_no_percent = 1
g:rust_conceal
g:rust_conceal
基本的な conceal サポートを有効にするにはこのオプションを設定します:
let g:rust_conceal = 1
g:rust_conceal_mod_path
g:rust_conceal_mod_path
パスをつなげるトークン "::" の conceal を有効にするにはこのオプショ
ンを設定します:
let g:rust_conceal_mod_path = 1
g:rust_conceal_pub
g:rust_conceal_pub
"pub" トークンの conceal を有効にするにはこのオプションを設定します:
let g:rust_conceal_pub = 1
g:rust_recommended_style
g:rust_recommended_style
rust 標準ライブラリのスタイル慣習 (すなわち、インデントに 4 つスペース
を使い 'textwidth' に 99 を設定します) に従うインデントと textwidth の
設定を有効にするためにはこのオプションを設定します。デフォルトではこの
オプションは有効です。無効にするには:
let g:rust_recommended_style = 0
g:rust_fold
g:rust_fold
folding を有効にするにはこのオプションを設定します:
let g:rust_fold = 1
値 効果
0 折り畳みなし
1 中括弧ブロックは折り畳まれます。デフォルトではすべての
折り畳みは開かれます。
2 中括弧ブロックは折り畳まれます。'foldlevel' はグローバ
ル値のままです (デフォルトではすべての折り畳みは閉じら
れます)。
g:rust_bang_comment_leader
g:rust_bang_comment_leader
/*! シンタックスを使った複数行 doc コメントの先頭を保つためにこのオプ
ションを 1 に設定します:
let g:rust_bang_comment_leader = 1
g:rust_use_custom_ctags_defs
g:rust_use_custom_ctags_defs
Rust 用にカスタマイズされた ctags 定義があって、rust.vim に含まれてい
る定義を使用しない場合は、このオプションを 1 に設定します:
let g:rust_use_custom_ctags_defs = 1
NOTE: rust.vim の組み込み定義は、Tagbar Vim プラグインがインストールさ
れていて、Universal Ctags が検出されない場合にのみ使用されます。これ
は、Universal Ctags が Tagbar と併用される場合、すでに Rust の組み込み
サポートを備えているためです。
Note また、Universal Ctags 以外の ctags を使用する場合、Vim が異なる
ソースファイルの定義に移動するために使用できる tags ファイルを生成す
るときに自動的には使用されないことに注意してください。tags ファイル
を生成したい場合は、rust.vim/ctags/rust.ctags を自分の ~/.ctags に
自由にコピーしてください。
g:ftplugin_rust_source_path
g:ftplugin_rust_source_path
このオプションを Rust ソースファイルの 'path' に前置されるべきパスに設
定します:
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
g:rustfmt_command
g:rustfmt_command
このオプションを $PATH の中の 'rustfmt' 実行可能ファイルの名前に設定し
ます。指定されないなら 'rustfmt' になります:
let g:rustfmt_command = 'rustfmt'
g:rustfmt_autosave
g:rustfmt_autosave
バッファを保存したときに自動的に :RustFmt を実行するためにこのオプ
ションを 1 に設定します。指定されないなら 0 になります:
let g:rustfmt_autosave = 0
同じ目的で設定でき、グローバル設定をオーバーライドできるバッファローカ
ルの b:rustfmt_autosave もあります。
g:rustfmt_autosave_if_config_present
g:rustfmt_autosave_if_config_present
このオプションを 1 に設定すると、編集中のファイルに直接つながる親に
rustfmt.toml ファイルが存在する場合に b:rustfmt_autosave が自動的
に設定されます。設定されていない場合は、デフォルトで 0 になります:
let g:rustfmt_autosave_if_config_present = 0
これは、rustfmt.toml 構成を持つプロジェクトで、保存時にのみ
rustfmt を実行する場合に便利です。
同じ目的で設定できるバッファローカルの
b:rustfmt_autosave_if_config_present もあり、グローバル設定をオーバー
ライドできます。
g:rustfmt_fail_silently
g:rustfmt_fail_silently
'rustfmt' がエラーを location-list に入力するのを妨げるためにこのオ
プションを 1 に設定します。指定されないなら 0 になります:
let g:rustfmt_fail_silently = 0
g:rustfmt_options
g:rustfmt_options
このオプションを 'rustfmt' に渡すためのオプションの文字列に設定します。
write-mode はすでに 'overwrite' に設定されています。指定されないなら
'' になります:
let g:rustfmt_options = ''
g:rustfmt_emit_files
g:rustfmt_emit_files
指定されていない場合、rust.vim は報告されたバージョンに基づいて
rustfmt に渡す適切なパラメータを検出しようとします。それ以外の場合は、
rustfmt を '--write-mode=overwrite' ではなく '--emit=files' (1 が指定
されている場合) で実行するかどうかを決定します。
let g:rustfmt_emit_files = 0
g:rust_playpen_url
g:rust_playpen_url
使用する playpen の URL を上書きするためにこのオプションを設定します:
let g:rust_playpen_url = 'https://play.rust-lang.org/'
g:rust_shortener_url
g:rust_shortener_url
短縮 URL サービスの URL を上書きするためにこのオプションを設定します:
let g:rust_shortener_url = 'https://is.gd/'
g:rust_clip_command
g:rust_clip_command
このオプションを、Rust Play の URL をクリップボードにコピーするために
OS で使用されるコマンドに設定します:
let g:rust_clip_command = 'xclip -selection clipboard'
g:cargo_makeprg_params
g:cargo_makeprg_params
このオプションを cargo に渡すパラメータの文字列に設定します。指定しな
い場合はデフォルトで '$*' になります:
let g:cargo_makeprg_params = 'build'
g:cargo_shell_command_runner
g:cargo_shell_command_runner
このオプションを設定すると、cargo コマンド :Cargo、:Cbuild、
:Crun 等のシェルコマンドの実行方法が変更されます。
デフォルトでは、:terminal はターミナルウィンドウでシェルコマンドを非
同期的に実行するために使用されます。ただし、コマンドの実行に :! を使
用する場合は、以下のように指定できます:
let g:cargo_shell_command_runner = '!'
Syntastic との統合 rust-syntastic
------------------
このプラグインは、Syntastic チェッカーと自動的に統合されます。提供されるチェッ
カーは、'rustc' と 'cargo' の 2 つです。後者はコードをビルドするために 'Cargo'
を呼び出し、前者は編集された単一の '.rs' ファイルをコンパイル対象として Rust
コンパイラ rustc に直接渡します。
最近では、Rust コードの構築に Cargo がほぼ独占的に使用されているため、'cargo'
がデフォルトのチェッカーになっています。
let g:syntastic_rust_checkers = ['cargo']
変更したい場合は、g:syntastic_rust_checkers を別の値に設定できます。
g:rust_cargo_avoid_whole_workspace
b:rust_cargo_avoid_whole_workspace
g:rust_cargo_avoid_whole_workspace
Cargo ワークスペースの一部であるクレートを編集する場合、このオプション
が 1 (デフォルト) に設定されていれば、'cargo' はワークスペースディレク
トリではなく、そのクレートディレクトリで直接実行されます。0 に設定する
と、この動作は回避されます。ただし、大きなワークスペースで作業している
場合、Cargo コマンドに時間がかかることがあり、また Syntastic エラーリ
ストにワークスペース内のすべてのクレートが含まれる場合があることに注意
してください。
let g:rust_cargo_avoid_whole_workspace = 0
g:rust_cargo_check_all_targets
b:rust_cargo_check_all_targets
g:rust_cargo_check_all_targets
1 に設定すると、Syntastic が cargo を実行する時に --all-targets オプ
ションが cargo に渡され、パッケージ内のすべての対象の lint が可能にな
ります。
デフォルトは 0 です。
g:rust_cargo_check_all_features
b:rust_cargo_check_all_features
g:rust_cargo_check_all_features
1 に設定すると、Syntastic が cargo を実行する時に --all-features オ
プションが cargo に渡され、パッケージのすべての機能の lint が可能にな
ります。
デフォルトは 0 です。
g:rust_cargo_check_examples
b:rust_cargo_check_examples
g:rust_cargo_check_examples
1 に設定すると、Syntastic が cargo を実行する時に --examples オプショ
ンが cargo に渡され、サンプルが lint から除外されるのを防ぎます。サン
プルは通常、クレートの examples/ ディレクトリ下にあります。
デフォルトは 0 です。
g:rust_cargo_check_tests
b:rust_cargo_check_tests
g:rust_cargo_check_tests
1 に設定すると、Syntastic が cargo を実行する時に --tests オプション
が cargo に渡され、テストが lint から除外されるのを防ぎます。テストは
通常、クレートの tests/ ディレクトリ下にあります。
デフォルトは 0 です。
g:rust_cargo_check_benches
b:rust_cargo_check_benches
g:rust_cargo_check_benches
1 に設定すると、Syntastic が cargo を実行する時に --benches オプショ
ンが cargo に渡されます。ベンチは通常、クレートの benches/ ディレク
トリ下にあります。
デフォルトは 0 です。
auto-pairs との統合 rust-auto-pairs
-------------------
このプラグインは、単一文字リテラルよりもライフタイム注釈で頻繁に使用される単一
引用符が重複しないように、auto-pairs プラグインを自動的に構成します。
g:rust_keep_autopairs_default
g:rust_keep_autopairs_default
Rust ファイルタイプの auto-pairs のデフォルトを上書きしません。デフォ
ルトは 0 です。
==============================================================================
コマンド rust-commands
Cargo の呼び出し
----------------
このプラグインは、Vim から Cargo を呼び出すための非常にシンプルなショートカッ
トを定義します。
:Cargo <args> :Cargo
指定された引数を使用して 'cargo' を実行します。
:Cbuild <args> :Cbuild
'cargo build` のショートカット。
:Cclean <args> :Cclean
'cargo clean` のショートカット。
:Cdoc <args> :Cdoc
'cargo doc` のショートカット。
:Cinit <args> :Cinit
'cargo init` のショートカット。
:Crun <args> :Crun
'cargo run` のショートカット。
:Ctest <args> :Ctest
'cargo test` のショートカット。
:Cupdate <args> :Cupdate
'cargo update` のショートカット。
:Cbench <args> :Cbench
'cargo bench` のショートカット。
:Csearch <args> :Csearch
'cargo search` のショートカット。
:Cpublish <args> :Cpublish
'cargo publish` のショートカット。
:Cinstall <args> :Cinstall
'cargo install` のショートカット。
:Cruntarget <args> :Cruntarget
現在開いているバッファに応じて、'cargo run --bin' または
'cargo run --example' のショートカット。
フォーマット
------------
:RustFmt :RustFmt
カレントバッファで g:rustfmt_command を実行します。
g:rustfmt_options が設定されているなら、それらは実行可能ファ
イルに渡されるでしょう。
g:rustfmt_fail_silently が 0 (デフォルト) なら
g:rustfmt_command で得たエラーを location-list に入力する
でしょう。g:rustfmt_fail_silently が 1 に設定されるなら
location-list に入力しないでしょう。
:RustFmtRange :RustFmtRange
選択された範囲で g:rustfmt_command を実行します。その他の情
報は :RustFmt を参照してください。
Playpen の統合
--------------
:RustPlay :RustPlay
このコマンドは web-api.vim
(https://github.com/mattn/webapi-vim で得ることができます) を
インストールしている場合にだけ機能するでしょう。選択範囲、また
は何も選択されていないなら、カレントバッファの全体を Rust
playpen に送信して、playpen への短縮 URL とメッセージを出力し
ます。
g:rust_playpen_url は playpen へのベース URL で、デフォルト
では "https://play.rust-lang.org/" です。
g:rust_shortener_url は短縮サービスのベース URL で、デフォル
トでは "https://is.gd/" です。
g:rust_clip_command は、playpen の URL をシステムのクリップ
ボードにコピーするために実行するコマンドです。
単一の Rust ファイルの評価
--------------------------
NOTE: これらのコマンドは、スタンドアロンの Rust ファイルで作業する場合にのみ役
立ちますが、これは一般的な Rust 開発では通常当てはまりません。Vim を使用して
Rust クレートをビルドする場合は、Vim の make、Syntastic、または他のプラグイン
の機能を使用する必要があります。
:RustRun [args] :RustRun
:RustRun! [rustc-args] [--] [args]
カレントファイルをコンパイルして実行します。カレントファイルの
変更が保存されていないなら、:update を使って最初に保存される
でしょう。カレントファイルが無名バッファなら、最初に一時ファイ
ルに書き込まれるでしょう。コンパイルされたバイナリはいつも一時
ディレクトリに置かれますが、カレントディレクトリから実行されま
す。
:RustRun に与えられた引数はコンパイルされたバイナリに渡され
るでしょう。
! が指定されるなら、代わりに引数は rustc に渡されます。"--" 引
数はバイナリに渡される引数から rustc の引数を分けるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustExpand [args] :RustExpand
:RustExpand! [TYPE] [args]
--pretty を使ってカレントファイルを展開して新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustExpand に与えられた引数は rustc に渡されるでしょう。こ
れは様々な --cfg 設定を指定するのに大いに向いています。
! が指定されるなら、最初の引数は rustc --pretty に渡すための展
開種類です。それ以外の場合は "expanded" になるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustEmitIr [args] :RustEmitIr
カレントファイルを LLVM IR にコンパイルして新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustEmitIr に与えられた引数は rustc に渡されるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
:RustEmitAsm [args] :RustEmitAsm
カレントファイルをアセンブリにコンパイルして新しいウィンドウに
その結果を表示します。カレントファイルの変更が保存されていない
なら、:update を使って最初に保存されるでしょう。カレントファ
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
う。
:RustEmitAsm に与えられた引数は rustc に渡されるでしょう。
g:rustc_path が定義されるなら、rustc へのパスのように使われ
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
なされます。
テスト(群) の実行
-----------------
:[N]RustTest[!] [options] :RustTest
カレントバッファが "cargo test" コマンドで cargo プロジェクト
内にある場合、カーソル下のテストを実行します。コマンドがカーソ
ル下のテスト関数を見つけられなかった場合、エラーメッセージを表
示して停止します。
N が指定された場合、新しいウィンドウのサイズが N 行または N 桁
に調整されます。
! が指定された場合、現在のカーソル位置に関係なくすべてのテスト
が実行されます。
[options] が指定された場合、"cargo" コマンドの引数に渡されま
す。
カレントバッファが cargo プロジェクトの外にある場合、コマンド
はフォールバックとして "cargo test" の代わりに "rustc --test"
コマンドを実行します。rustc では特定のテスト関数を実行する方法
がないため、! の追加に関係なくすべてのテストが実行されます。こ
の場合、[options] は "rustc" コマンドの引数に渡されます。
オプションの修飾子を受け取ります (<mods> を参照):
:tab RustTest
:belowright 16RustTest
:leftabove vert 80RustTest
:belowright 16RustTest
:leftabove vert 80RustTest
rust.vim のデバッグ
-------------------
:RustInfo :RustInfo
Vim Rust プラグインのデバッグ情報を出力します。
:RustInfoToClipboard :RustInfoClipboard
Vim Rust プラグインのデバッグ情報をデフォルトのレジスタに保存
します。
:RustInfoToFile [filename] :RustInfoToFile
Vim Rust プラグインのデバッグ情報を指定されたファイルに保存し、
上書きします。
==============================================================================
マッピング rust-mappings
このプラグインはぶら下がりインデントを支援するような [[ と ]] のマッピング
を定義します。
==============================================================================
vim:tw=78:sw=4:noet:ts=8:ft=help:norl: