前言
在vim上配置并使用rust
的vim开发环境,我个人比较习惯coc.vim
这个平台的一系列插件,所以整个就接着在coc.vim
上构建rust-vim
,谁叫这东西确实牛逼。
依赖插件:
- coc.vim
- coc-rls
- coc-rust-analyzer
rust官方有提供一个vim的插件,但是功能比较简单,本节要说插件,并不是官方提供的vim插件,而是比官方提供插件功能还要强一些。
而coc-rust-analyzer
这个插件的是基于rust-analyzer
这个插件,coc.vim
将期进行vim
化,记其可以工作在vim下,这个和vim-go
插件的做法是一样的。
安装 coc-rls
需要提前安装好rustup,这个工具其实在装rust
的时候就已经安装好了。
# 安装依赖组件
rustup component add rls rust-analysis rust-src
# 安装 coc-rls
:CocInstall coc-rls
安装coc-rust-analyzer
代码语言:javascript复制:CocInstall coc-rust-analyzer
初次打开,会有这样的提示,安装一下:
配置插件
开启coc-rust-analyzer
,在命令模式下输入:
:CocConfig
这是个json格式,添加一行:
代码语言:javascript复制"rust-analyzer.enable": true
看下代码提示,还有截图中的i32
都是类似于vscode
的类型提示功能。
再看下函数跳转,直接跳转println!
这个内置函数。
我之前配置的是gd
,这里直接继续了配置,还是跟coc
快捷有关。
后续专门说下coc相关的配置。
再按下control i
退回。
运行 rust
装好了,代码提示也有了,怎么运行呢?
通过内置工具就可以运行rust
,每安装一个插件,可运行的命令都在CocCommand
中,输入查看一下:
:CocCommand
在这个命令行下输入rust
把所有的rust开头的命令过滤出来:
运行一下
结果:
输入命令运行
一般不会反复的输命令来执行,而是会通过快捷键不执行。
rust的内置命令很多,可以直接设置快捷键
代码语言:javascript复制nnoremap <leader>rt :CocCommand rust-analyzer.run<CR>
通过rt
来运行。
显示文档说明
大写K
完整配置如下
总结
这个工具,如果是和我一样的vim
患者可以捣鼓捣鼓,如果不是,建议还是直接IDEA的产品加个插件就可以开跑了。
rust我也是在学习的过程,语言虽然只是工具,但是在学习的过程中,也能学习到新的东西,拓宽一下边界,也能触类旁通。
下一步给rust-vim
添加上debug功能。
已添加完成: rust-vim 整合基于vimspector的debug调试环境
参考链接
https://github.com/neoclide/coc-rls
https://github.com/fannheyward/coc-rust-analyzer