Ft_rust
Nvim の:help
ページ。 生成されたもので、 ソース を tree-sitter-vimdoc パーサーを使用して生成されています。
目次
このプラグインは、Rust ファイルタイプの構文とサポート機能を提供します。完全な機能を使用するには、Vim 8 以降が必要です。以前のバージョンでは、一部のコマンドが動作しません。
このプラグインには、vimrc で定義できるいくつかの変数があり、プラグインの動作を変更します。
一部の変数はバッファローカル(:b
プレフィックス)に設定でき、バッファローカルはグローバルなg:
と比較して優先されます。
g:rust_recommended_style
g:rust_recommended_style
このオプションを設定すると、Vim のインデントと textwidth 設定が Rust 標準ライブラリのスタイル規則に準拠するようになります(つまり、インデントに4つのスペースを使用し、
'textwidth' を 99 に設定します)。このオプションはデフォルトで有効になっています。無効にするには
let g:rust_recommended_style = 0
値 効果
0 折りたたみなし 1 中括弧で囲まれたブロックが折り畳まれます。すべての折り畳みはデフォルトで開いています。 2 中括弧で囲まれたブロックが折り畳まれます。
'foldlevel' はグローバル値のままです(すべての折り畳みはデフォルトで閉じられています)。
g:rust_bang_comment_leader
/*!
構文を使用する複数行のドキュメントコメントで、先頭文字を保持するには、このオプションを 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
注記: rust.vim の組み込み定義は、Tagbar Vim プラグインがインストールされていて、かつ Universal Ctags が検出されない場合にのみ使用されます。これは、Universal Ctags が Tagbar と共に使用される場合、Rust に対する組み込みサポートを既に持っているためです。
また、Universal Ctags 以外の ctags を使用する場合、Vim が異なるソースファイル間で定義に移動するために使用できる
tags ファイルを生成する際に、自動的には使用されません。
tags ファイルを生成する場合は、
rust.vim/ctags/rust.ctags
を独自の
~/.ctags
にコピーしてください。
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 もあり、グローバル設定をオーバーライドできます。
これは、rustfmt.toml
構成を持つプロジェクトで、保存時にのみ rustfmt
を実行する場合に便利です。
同じ目的で設定できるバッファローカルの b:rustfmt_autosave_if_config_present もあり、グローバル設定をオーバーライドできます。
g:rustfmt_options
g:rustfmt_options
"rustfmt" に渡すオプションの文字列をこのオプションに設定します。書き込みモードは既に "overwrite" に設定されています。指定されていない場合は "" がデフォルトになります。
let g:rustfmt_options = ''
g:rustfmt_emit_files
g:rustfmt_emit_files
指定されていない場合、rust.vim は報告されたバージョンに基づいて rustfmt に渡す適切なパラメーターを検出しようとします。それ以外の場合は、'--write-mode=overwrite' ではなく '--emit=files' を使用して rustfmt を実行するかどうかを決定します(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'
このプラグインは、Syntastic チェッカーと自動的に統合されます。rustc
と cargo
の2つのチェッカーが提供されています。後者はコードをビルドするために cargo
を呼び出し、前者は編集された '.rs' ファイルを単一ファイルとして Rust コンパイラ rustc
に直接コンパイルターゲットとして渡します。
現在、Cargo は Rust コードのビルドにほぼ独占的に使用されているため、
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
このプラグインは、ライフタイムアノテーションでより頻繁に使用される単一引用符を、単一文字リテラルとして重複させないように、auto-pairs プラグインを自動的に構成します。
Rust ファイルタイプに対して auto-pairs のデフォルトをオーバーライドしません。デフォルトは 0 です。
このプラグインは、Vim から Cargo を呼び出すための非常にシンプルなショートカットを定義します。
:Cargo
<args>
:Cargo指定された引数で
cargo
を実行します。
:Cbuild
<args>
:Cbuildcargo build
のショートカット。
:Cclean
<args>
:Ccleancargo clean
のショートカット。
:Cdoc
<args>
:Cdoccargo doc
のショートカット。
:Cinit
<args>
:Cinitcargo init
のショートカット。
:Crun
<args>
:Cruncargo run
のショートカット。
:Ctest
<args>
:Ctestcargo test
のショートカット。
:Cupdate
<args>
:Cupdatecargo update
のショートカット。
:Cbench
<args>
:Cbenchcargo bench
のショートカット。
:Csearch
<args>
:Csearchcargo search
のショートカット。
:Cpublish
<args>
:Cpublishcargo publish
のショートカット。
:Cinstall
<args>
:Cinstallcargo install
のショートカット。
:Cruntarget
<args>
:Cruntarget現在開いているバッファに応じて、
cargo run --bin
または
cargo run --example
のショートカット。
注意: これらのコマンドは、スタンドアロンのRustファイルを使用する場合にのみ役立ちます。これは、一般的なRust開発では通常当てはまりません。VimからRustクレートをビルドする場合は、Vimのmake、Syntastic、または他のプラグインの機能を使用する必要があります。
:RustRun [args]
:RustRun:RustRun! [rustc-args] [--] [args] 現在のファイルをコンパイルして実行します。保存されていない変更がある場合は、
:updateを使用して最初に保存されます。現在のファイルが名前のないバッファの場合は、最初にテンポラリファイルに書き込まれます。コンパイルされたバイナリは常にテンポラリディレクトリに配置されますが、現在のディレクトリから実行されます。
!が指定されている場合、引数は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を使用して最初に保存されます。現在のファイルが名前のないバッファの場合は、最初にテンポラリファイルに書き込まれます。
g:rustc_pathが定義されている場合、rustcへのパスとして使用されます。それ以外の場合は、rustcが$PATHで見つかるものと想定されます。
:RustEmitAsm [args]
:RustEmitAsm現在のファイルをアセンブリにコンパイルし、新しい分割ウィンドウに結果を表示します。保存されていない変更がある場合は、
:updateを使用して最初に保存されます。現在のファイルが名前のないバッファの場合は、最初にテンポラリファイルに書き込まれます。
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
:RustInfo
:RustInfoVim Rustプラグインのデバッグ情報を表示します。
:RustInfoToFile [filename]
:RustInfoToFileVim Rustプラグインのデバッグ情報を指定されたファイルに保存し、上書きします。
このプラグインは、ぶら下がりインデントをサポートするために
[[と
]]のマッピングを定義します。