ft_rust

ft_rust.txt 适用于 Vim 9.0 版本。 最近更新: 2022年7月 译者: Willis 本文档是关于 Rust 文件类型插件的。

内容 rust

1. 简介 rust-intro 2. 设置 rust-settings 3. 命令 rust-commands 4. 映射 rust-mappings

简介 rust-intro

本插件提供 Rust 文件类型的语法和支持功能。

设置 rust-settings

本插件有若干可在 vimrc 中定义的变量,用来改变插件的行为。 g:rustc_path g:rustc_path 此选项设置 rustc 的路径,用于 :RustRun:RustExpand 命令。如果 不设,"rustc" 会从 $PATH 中寻找: let g:rustc_path = $HOME .. "/bin/rustc" g:rustc_makeprg_no_percent g:rustc_makeprg_no_percent 此选项如设为 1,'makeprg' 缺省为 "rustc" 而不是 "rustc %": 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 置位此选项隐藏 conceal "pub" 符: let g:rust_conceal_pub = 1 g:rust_recommended_style g:rust_recommended_style 置位此选项设置 vim 缩进和 textwidth 以遵循 rust 标准库的风格惯例 (即, 缩进为 4 个空格,'textwidth' 设为 99)。缺省打开此选项。要关闭之: 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 设置此选项为 1 以保留使用 /*! 语法的多行文档注释的中间注释字符串: let g:rust_bang_comment_leader = 1 g:ftplugin_rust_source_path g:ftplugin_rust_source_path 此选项设置加到 'path' 前部的路径,用于 Rust 源文件: 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 设置此选项为 1 使缓冲区保存时自动执行 :RustFmt 。如果不设,缺省为 0: let g:rustfmt_autosave = 0 g:rustfmt_fail_silently g:rustfmt_fail_silently 设置此选项为 1 则 'rustfmt' 不在 location-list 中保存错误。如果不 设,缺省为 0: let g:rustfmt_fail_silently = 0 g:rustfmt_options g:rustfmt_options 此选项设置传递给 'rustfmt' 的选项字符串。write-mode 已经设为 'overwrite'。如果不设,缺省为 '' : let g:rustfmt_options = '' 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/'

命令 rust-commands

:RustRun [args] :RustRun :RustRun! [rustc-args] [--] [args] 编译并运行当前文件。如果有未保存的改动,先用 :update 保存。 如果当前文件为无名缓冲区,先写入一个临时文件。编译后的程序总是 放在一个临时目录里,但从当前目录处执行。 :RustRun 接受的参数传递给编译后的程序。 如果指定 !,取而代之的是参数会传递给 rustc。"--" 参数可用来分 隔 rustc 的参数和传递给执行程序的参数。 g:rustc_path 如有定义,则用作 rustc 的路径。否则假定在 $PATH 中找到 rustc。 :RustExpand [args] :RustExpand :RustExpand! [TYPE] [args] 使用 --pretty 扩展当前文件,并在新分割中显示结果。如果当前文件 有未保存的改动,先用 :update 保存。如果当前文件为无名缓冲 区,先写入一个临时文件。 :RustExpand 接受的参数传递给 rustc。主要用来指定各种 --cfg 配置。 如果指定 !,首个参数是传给 rustc --pretty 的扩展类型。否则缺省 为 "expanded"。 g:rustc_path 如有定义,则用作 rustc 的路径。否则假定在 $PATH 中找到 rustc。 :RustEmitIr [args] :RustEmitIr 编译当前文件到 LLVM IR 并在新分割中显示结果。如果当前文件有未 保存的改动,先用 :update 保存。如果当前文件为无名缓冲区,先 写入一个临时文件。 :RustEmitIr 接受的参数传递给 rustc。 g:rustc_path 如有定义,则用作 rustc 的路径。否则假定在 $PATH 中找到 rustc。 :RustEmitAsm [args] :RustEmitAsm 编译当前文件到汇编程序,并在新分割中显示结果。如果当前文件有未 保存的改动,先用 :update 保存。如果当前文件为无名缓冲区,先 写入一个临时文件。 :RustEmitAsm 接受的参数传递给 rustc。 g:rustc_path 如有定义,则用作 rustc 的路径。否则假定在 $PATH 中找到 rustc。 :RustPlay :RustPlay 此命令只有在安装了 web-api.vim 后才能工作 (可从这里找到 https://github.com/mattn/webapi-vim)。发送当前选择区,如果没有 选择过的话,则发送整个缓冲区到 Rust playpen,并发送短 URL 到 playpen。 g:rust_playpen_url 是 playpen 的基准 URL,缺省是 "https://play.rust-lang.org/"。 g:rust_shortener_url 是短 URL 生成器的基准 URL,缺省是 "https://is.gd/" :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

映射 rust-mappings

此插件定义了 [[]] 的映射以支持悬挂缩进。 还定义了一些其它映射: rust_<D-r> <D-r> 执行 :RustRun ,不带参数。 备注: 此绑定只适用于 MacVim。 rust_<D-R> <D-R> 重用上次调用使用的参数来生成 :RustRun ! 命令行,但先 不执行。 备注: 此绑定只适用于 MacVim。

vim:tw=78:sw=4:ts=8:noet:ft=help:norl: