先感受一下效果:
Rust:
C\C++:
Python:
将 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>
安装 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
coc.nvim
安装插件的方式是 :CocInstall extension_name
,所以执行 vim
指令后,在命令模式下分别执行:
:CocInstall coc-clangd // For C\C++ :CocInstall coc-rust-analyzer // For Rust :CocInstall coc-pyright // For Python
要想完成对语言的自动补全,还需安装对应语言的代码补全后端。
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