配置 nvim-lsp 自动补全有点复杂

10 天前
 xbox360

本来用的是 coc.nvim,最近花了点时间把自动补全等等功能改为 nvim-cmp,nvim-lspconfig,lsp-zero.nvim,mason.nvim,mason-lspconfig.nvim 这些插件

然后参考(抄袭)别人的配置,但考虑到后期维护这些插件的 lua 配置文件,我还是退回用 coc.nvim,不折腾了

757 次点击
所在节点    Vim
12 条回复
zwyyy456
10 天前
试试 lazyvim + mason
noahlias
10 天前
用个配置就有点复杂吗,又不是写插件
ck65
10 天前
https://nvchad.com

一键到位
xbox360
10 天前
@zwyyy456 nvim-treesitter 和 c 编译器这 2 个我都不用,所以没有用 lazyvim
w568w
10 天前
弄清楚关系就好理解了,每个插件都是各司其职,互相功能没有交集:

# LSP

nvim 自身有 LSP 支持,能够根据不同文件类型启动并连接到对应的 LSP 服务器。

- nvim-lspconfig:nvim 官方维护。收集了常见 LSP 服务器的配置选项,提供统一的 Lua 配置接口,用于更改服务器的具体设置;

# 自动补全

- nvim-cmp:提供自动补全 UI ,可以添加插件,从不同源获得补全建议;

- cmp-nvim-lsp:nvim-cmp 的一个插件,为 nvim-cmp 添加 LSP 源;

# 包管理器

- mason.nvim:一个包管理器,用于安装不是 nvim 插件的其他包和二进制程序(例如 lsp 服务器);

- mason-lspconfig.nvim:mason.nvim 的一个插件,用于方便地启用和配置 mason 下载的 lsp 服务器程序。配置接口仍由 nvim-lspconfig 提供;

# 其他

- lsp-zero.nvim:没用过。看了下是个懒人配置包,没有特别去用的必要。
w568w
10 天前
@w568w 添加 LSP 服务器的过程也很清晰,实际上只需要修改 mason-lspconfig 的配置,最短只需要添加一行(第一步):

1. 在 mason.nvim 官网上查询 lsp 服务器名称,在 mason-lspconfig.nvim 处添加新的包;
2. 在 nvim-lspconfig 文档里查询对应的配置选项,在 mason-lspconfig.nvim 处配置 lsp 服务器;
3. 重启,完成包的安装,结束。
xbox360
10 天前
@w568w 谢谢回答,其实自动补全已经配置好了(抄别人的配置),但是新增几个 lua 配置文件,随着 neovim 和插件的更新,我只维护一个 coc.nvim 的配置文件比较轻松.
JetMac
10 天前
别折腾了,直接 Lazy.vim ,真懒人福音。啥都给你安排好,启用一下就行。想改的地方自己配一下 plugin/xxx.lua ,其他免维护。
JetMac
10 天前
像 Prisma 语法,几行代码配一下 nvim-treesitter 和 mason-lspconfig 就能高亮加格式化,真先进。
fannheyward
10 天前
welcome back to coc.nvim.
EchoWhale
10 天前
搞好了就不用动了, 基本不用维护的
fanhed
9 天前
想全套配置变得可控, 我现在还差 lsp 这部分确实比较复杂的, 我现在都没做到自己全控制.
coc.nvim 还是有点复杂, 我安装的插件当中, 就对 coc.nvim 最恐惧, 因为太复杂了, 如果这其中出了点啥毛病, 我都不知道怎么修

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1050968

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX