Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
136 lines
3.6 KiB
Markdown
136 lines
3.6 KiB
Markdown
# rust.vim
|
|
|
|
## Description
|
|
|
|
This is a Vim plugin that provides [Rust][r] file detection, syntax highlighting, formatting,
|
|
[Syntastic][syn] integration, and more. It requires Vim 8 or higher for full functionality.
|
|
Some things may not work on earlier versions.
|
|
|
|
## Installation
|
|
|
|
For activating the full functionality, this plugin requires either the plugin
|
|
manager or the `.vimrc` to have the following:
|
|
|
|
```vim
|
|
syntax enable
|
|
filetype plugin indent on
|
|
```
|
|
|
|
Most plugin managers don't do this automatically, so these statements are
|
|
usually added by users in their `vimrc` _right after_ the plugin manager load
|
|
section.
|
|
|
|
### [Vim8 packages][vim8pack]
|
|
|
|
```sh
|
|
git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
|
|
```
|
|
|
|
### [Vundle][v]
|
|
|
|
```vim
|
|
Plugin 'rust-lang/rust.vim'
|
|
```
|
|
|
|
### [Pathogen][p]
|
|
|
|
```sh
|
|
git clone --depth=1 https://github.com/rust-lang/rust.vim.git ~/.vim/bundle/rust.vim
|
|
```
|
|
|
|
### [vim-plug][vp]
|
|
|
|
```vim
|
|
Plug 'rust-lang/rust.vim'
|
|
```
|
|
|
|
### [dein.vim][d]
|
|
|
|
```vim
|
|
call dein#add('rust-lang/rust.vim')
|
|
```
|
|
|
|
### [NeoBundle][nb]
|
|
|
|
```vim
|
|
NeoBundle 'rust-lang/rust.vim'
|
|
```
|
|
|
|
## Features
|
|
|
|
### Error checking with [Syntastic][syn]
|
|
|
|
`rust.vim` automatically registers `cargo` as a syntax checker with
|
|
[Syntastic][syn], if nothing else is specified. See `:help rust-syntastic`
|
|
for more details.
|
|
|
|
### Source browsing with [Tagbar][tgbr]
|
|
|
|
The installation of Tagbar along with [Universal Ctags][uctags] is recommended
|
|
for a good Tagbar experience. For other kinds of setups, `rust.vim` tries to
|
|
configure Tagbar to some degree.
|
|
|
|
### Formatting with [rustfmt][rfmt]
|
|
|
|
The `:RustFmt` command will format your code with
|
|
[rustfmt][rfmt] if installed. `rustfmt` can be installed
|
|
via `rustup component add rustfmt`.
|
|
|
|
Placing `let g:rustfmt_autosave = 1` in your `~/.vimrc` will
|
|
enable automatic running of `:RustFmt` when you save a buffer.
|
|
|
|
Do `:help :RustFmt` for further formatting help and customization
|
|
options.
|
|
|
|
### [Playpen][pp] integration
|
|
|
|
*Note:* This feature requires [webapi-vim][wav] to be installed.
|
|
|
|
The `:RustPlay` command will send the current selection, or if
|
|
nothing is selected the current buffer, to the [Rust playpen][pp].
|
|
|
|
If you set g:rust_clip_command RustPlay will copy the url to the clipboard.
|
|
|
|
- Mac:
|
|
|
|
let g:rust_clip_command = 'pbcopy'
|
|
|
|
- Linux:
|
|
|
|
let g:rust_clip_command = 'xclip -selection clipboard'
|
|
|
|
### Running a test under cursor
|
|
|
|
In a Cargo project, the `:RustTest` command will run the test that is under the cursor.
|
|
This is useful when your project is big and running all of the tests takes a long time.
|
|
|
|
## Help
|
|
|
|
Further help can be found in the documentation with `:Helptags` then `:help rust`.
|
|
|
|
Detailed help can be found in the documentation with `:help rust`.
|
|
Helptags (`:help helptags`) need to be generated for this plugin
|
|
in order to navigate the help. Most plugin managers will do this
|
|
automatically, but check their documentation if that is not the case.
|
|
|
|
## License
|
|
|
|
Like Rust, rust.vim is primarily distributed under the terms of both the MIT
|
|
license and the Apache License (Version 2.0). See LICENSE-APACHE and
|
|
LICENSE-MIT for details.
|
|
|
|
[r]: https://www.rust-lang.org
|
|
[v]: https://github.com/gmarik/vundle
|
|
[vqs]: https://github.com/gmarik/vundle#quick-start
|
|
[p]: https://github.com/tpope/vim-pathogen
|
|
[nb]: https://github.com/Shougo/neobundle.vim
|
|
[vp]: https://github.com/junegunn/vim-plug
|
|
[d]: https://github.com/Shougo/dein.vim
|
|
[rfmt]: https://github.com/rust-lang-nursery/rustfmt
|
|
[syn]: https://github.com/scrooloose/syntastic
|
|
[tgbr]: https://github.com/majutsushi/tagbar
|
|
[uctags]: https://ctags.io
|
|
[wav]: https://github.com/mattn/webapi-vim
|
|
[pp]: https://play.rust-lang.org/
|
|
[vim8pack]: http://vimhelp.appspot.com/repeat.txt.html#packages
|