先感受一下效果:
Rust:
C\C++:
Python:
1、安装 Nerdtree 插件显示左侧目录
将 Nerdtree
插件下载到 ~/.vim/pack/vendor/start
目录下,如果没有则新建此目录。
cd ~/.vim/pack/vendor/start
git clone git://github.com/scrooloose/nerdtree
在 ~/.vimrc
文件中添加配置:
" 进入 vim 时自动开启 NERDTree
autocmd VimEnter * NERDTree | wincmd p
" 若关闭某个 buff 后 NERDTree 是仅剩的最后一个 buff,则自动关闭 NERDTree
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
" 使用 Ctrl+n 快捷键打开或关闭 NERDTree
nnoremap <C-n> :NERDTreeToggle<CR>
2、安装 coc.nvim
安装 nodejs
,最好使用新版本:
yay -S nodejs
yay -S npm
sudo npm install -g yarn
安装 coc.nvim
:
cd ~/.vim/pack/vendor/start
git clone git://github.com/neoclide/coc.nvim.git
编译安装 coc.nvim
:
cd coc.nvim/
yarn install
yarn build
3、安装对应语言插件
coc.nvim
安装插件的方式是 :CocInstall extension_name
,所以执行 vim
指令后,在命令模式下分别执行:
:CocInstall coc-clangd // For C\C++
:CocInstall coc-rust-analyzer // For Rust
:CocInstall coc-pyright // For Python
要想完成对语言的自动补全,还需安装对应语言的代码补全后端。
- C\C++ 后端:
yay -S llvm
yay -S clang
yay -S clang-tools
首先参考我的这篇文章进行 Rust-Analyzer
的安装,再在 vim
的命令模式下执行 :CocConfig
去新建一个配置文件 coc-settings.json
并配置如下:
// coc-settings.json
{
"eslint.validate": ["typescript"],
"eslint.lintTask.options": [".", "--ext", ".ts"],
"typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
"typescript.suggestionActions.enabled": false,
"rust-analyzer.server.path": "~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rust-analyzer"
}
注:对于 coc.nvim 的配置可以参考 https://github.com/fannheyward/coc-rust-analyzer
- 对于 Python 的支持自动生效,无需单独安装后端。