• 本方法经验证适用于以下平台
    • Ubuntu 14.04

需要安装nodejs, 这里ubuntu14.04建议安装nodejs16.18版本,也是官方的最低版本要求

  • 安装nodejs前需要先安装nvm工具
git clone https://gitee.com/mirrors/nvm
cd nvm
bash install.sh
source ~/.bashrc
  • 安装nodejs
nvm install 16.18

在vimrc中添加插件以及基础配置

Plug 'neoclide/coc.nvim', {'branch': 'release'}

" 回车确认补全项
inoremap <silent><expr> <CR> pumvisible() ? coc#_select_confirm() : "\<CR>"

" 使用 Tab/Shift-Tab 在补全列表中跳转
inoremap <silent><expr> <TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
inoremap <silent><expr> <S-TAB> pumvisible() ? "\<C-p>" : "\<S-TAB>"

" 查看函数/变量定义(跳转)
nmap <silent> gd <Plug>(coc-definition)
" 查看引用
nmap <silent> gr <Plug>(coc-references)
" 显示文档(hover)
nnoremap <silent> I :call CocActionAsync('doHover')<CR>

" 格式化当前 buffer
nmap <leader>f :call CocActionAsync('format')<CR>

" 代码诊断(显示错误)
nmap <silent> <leader>d :<C-u>CocList diagnostics<CR>

" 补全触发(默认 <C-Space>)
inoremap <silent><expr> <C-Space> coc#refresh()

使用PlugInstall命令安装coc.nvim插件:

打开 vim
执行 :PlugInstall

在coc.nvim中安装需要的语言插件,这里推荐使用clangd

在vim中执行:CocConfig,填入以下内容


"languageserver": {
  "clangd": {
    "command": "clangd",
    "rootPatterns": ["compile_flags.txt", "compile_commands.json"],
    "filetypes": ["c", "cc", "cpp", "c++", "objc", "objcpp"]
  }
}

随后执行安装命令:CocInstall coc-clangd

接下来安装clangd

wget https://github.com/clangd/clangd/releases/download/19.1.2/clangd-linux-19.1.2.zip
unzip clangd-linux-19.1.2.zip
sudo mv clangd_19.1.2 /opt/clangd
echo 'export PATH=/opt/clangd/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
clangd --version

至此安装基本完成,要正常使用coc.nvim 还需要生成compile_commands.json,否则会出现找不到头文件,函数定义等情况.

编译kernel,生成compile_commands.json

bear ./build.sh
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐