diff options
Diffstat (limited to 'vim/bundle/vim-racer/README.md')
-rw-r--r-- | vim/bundle/vim-racer/README.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vim/bundle/vim-racer/README.md b/vim/bundle/vim-racer/README.md new file mode 100644 index 0000000..b56655d --- /dev/null +++ b/vim/bundle/vim-racer/README.md @@ -0,0 +1,60 @@ +# Vim Racer Plugin + +This plugin allows vim to use [Racer](http://github.com/phildawes/racer) for Rust code completion and navigation. + +## Installation + +1. Build / Install [Racer](http://github.com/phildawes/racer) + +2. Install using Pathogen, Vundle or NeoBundle. Or, copy `plugin/racer.vim` into your `~/.vim/plugin` directory. + + Vundle users: + ``` + Plugin 'racer-rust/vim-racer' + ``` + + NeoBundle users: + ``` + NeoBundle 'racer-rust/vim-racer' + ``` + + vim-plug users: + ``` + Plug 'racer-rust/vim-racer' + ``` + + Pathogen users: + ``` + git clone --depth=1 https://github.com/racer-rust/vim-racer.git ~/.vim/bundle/vim-racer + ``` + +3. Add `g:racer_cmd` to your `.vimrc`. Also it's worth turning on 'hidden' mode for buffers otherwise you need to save the current buffer every time you do a goto-definition. E.g.: + + ``` + set hidden + let g:racer_cmd = "/path/to/racer/bin" + ``` + +4. If you want completions to show the complete function definition (e.g. its arguments and return type), enable the experimental completer: + + ``` + let g:racer_experimental_completer = 1 + ``` + +## Example Mappings + +vim-racer enables `C-x-C-o` to search for completions and provides several +`<Plug>` mappings for source code navigation. These mappings are not enabled by +default but you can easily use them by adding the following lines to your +`.vimrc` (Or `init.vim` in case of Neovim). + +For example, with the following mappings you can navigate to the identifier under +the cursor and open it on the current buffer, on an horizontal or vertical split, +or go straight to the documentation: + +``` +au FileType rust nmap gd <Plug>(rust-def) +au FileType rust nmap gs <Plug>(rust-def-split) +au FileType rust nmap gx <Plug>(rust-def-vertical) +au FileType rust nmap <leader>gd <Plug>(rust-doc) +``` |