在 macOS 上安装 coc.nvim(推荐方式)

在 macOS 上安装 coc.nvim(推荐方式)

coc.nvim 是基于 Node.js + LSP 的自动补全插件,支持 C/C++、Python、JavaScript、Go 等多种语言,非常适合 Vim 作为 IDE 使用。

⸻

📌 1. 先安装必要依赖

首先,确保你的系统安装了 Vim 8.2+ 或 Neovim(推荐 Neovim),以及 Node.js:

brew install vim neovim node

然后检查 Node.js 是否安装成功:

node -v

如果没有 Node.js,可以安装:

brew install node

⸻

📌 2. 安装 vim-plug(插件管理器)

如果还没有 vim-plug,可以运行:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs

https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后,在 ~/.vimrc(或 ~/.config/nvim/init.vim)中添加:

call plug#begin('~/.vim/plugged')

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

call plug#end()

⸻

📌 3. 安装 coc.nvim

  1. 打开 Vim,运行:

:PlugInstall

复制代码
2.	等待安装完成后,重启 Vim:

vim

⸻

📌 4. 安装 C++ 补全(coc-clangd)

coc.nvim 需要额外安装 语言服务器,C/C++ 使用 clangd:

:CocInstall coc-clangd

如果你是 Python 开发:

:CocInstall coc-pyright

⸻

📌 5. 设置快捷键

在 ~/.vimrc(或 ~/.config/nvim/init.vim)中添加:

" 使用 Tab 补全

inoremap pumvisible() ? "<C-n>" : "<TAB>"

inoremap pumvisible() ? "<C-p>" : "<S-TAB>"

" 使用 Ctrl+Space 手动触发补全

inoremap coc#refresh()

然后重启 Vim。

⸻

📌 6. 测试

打开一个 C++ 文件,输入:

#include

int main() {

std::cout << "Hello, World!" << std::endl;

return 0;

}

然后输入 std::,看看是否出现补全菜单,如果出现补全窗口,则安装成功!

⸻

📌 7. 可选:启用 clangd

如果 coc-clangd 不能正常工作,你可能需要安装 clangd:

brew install llvm

然后在 ~/.vimrc 添加:

let g:coc_clangd_path = '/usr/local/opt/llvm/bin/clangd'

重启 Vim 再次尝试 :CocCommand clangd.restart。

⸻

🎯 总结

  1. 安装 vim-plug 和 coc.nvim:

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

然后运行 :PlugInstall。

复制代码
2.	安装 C++ 补全:

:CocInstall coc-clangd

复制代码
3.	添加快捷键到 ~/.vimrc,并重启 Vim。

这样,你的 Vim 就具备了强大的 代码补全和智能联想功能,体验接近 VS Code 了!🚀

如果有问题,欢迎继续交流!😃

相关推荐
请为小H留灯4 小时前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧
hantmac14 小时前
不记得文件名时,Mac 上的搜索还能怎么做?
人工智能·macos
这是谁的博客?14 小时前
AI 加速器 RTL 数字系统设计深度解析:从 MAC 阵列 Verilog 实现到时序收敛与时钟功耗的芯片落地全链路
人工智能·macos·ai·verilog·数字ic设计·ai芯片·rtl
slacker-kian14 小时前
M 系列 Mac 清除顽固的 CorpLink
macos·corplink·m系列
kk_net889919 小时前
FSNotes:macOS 和 iOS 上的开源笔记管理器
笔记·其他·macos·ios
zhangfeng11331 天前
com.apple.quarantine 并不是乱码,而是 macOS Gatekeeper 给下载文件自动打上的“隔离属性
macos·策略模式
甘晴void1 天前
我给 Magpie 做了个 macOS 桌宠:106 段动画,请求一多就亮灯
macos·electron·开源·deepseek·桌面宠物·magpie
donecoding1 天前
Apple 芯片 Mac 的终端为什么还在跑 Intel?从 tmux 查起
macos
DevLoom_2 天前
macOS 27 升级后 Time Capsule 无法备份?AFP 协议废弃后的完整解决方案与备份迁移教程
macos·时间机器·macos27·macos 27备份·macos实用技巧
金海星科技2 天前
船舶交通管理中心的人工智能值守:从“听、说、读、写“看人机协同
人工智能·macos·xcode