V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xbox360
V2EX  ›  Vim

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

  •  
  •   xbox360 · 8 天前 · 721 次点击

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

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

    12 条回复    2024-06-21 01:18:17 +08:00
    zwyyy456
        1
    zwyyy456  
       8 天前
    试试 lazyvim + mason
    noahlias
        2
    noahlias  
       8 天前
    用个配置就有点复杂吗,又不是写插件
    ck65
        3
    ck65  
       8 天前 via iPhone
    https://nvchad.com

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

    # 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
        6
    w568w  
       8 天前
    @w568w 添加 LSP 服务器的过程也很清晰,实际上只需要修改 mason-lspconfig 的配置,最短只需要添加一行(第一步):

    1. 在 mason.nvim 官网上查询 lsp 服务器名称,在 mason-lspconfig.nvim 处添加新的包;
    2. 在 nvim-lspconfig 文档里查询对应的配置选项,在 mason-lspconfig.nvim 处配置 lsp 服务器;
    3. 重启,完成包的安装,结束。
    xbox360
        7
    xbox360  
    OP
       8 天前
    @w568w 谢谢回答,其实自动补全已经配置好了(抄别人的配置),但是新增几个 lua 配置文件,随着 neovim 和插件的更新,我只维护一个 coc.nvim 的配置文件比较轻松.
    JetMac
        8
    JetMac  
       8 天前
    别折腾了,直接 Lazy.vim ,真懒人福音。啥都给你安排好,启用一下就行。想改的地方自己配一下 plugin/xxx.lua ,其他免维护。
    JetMac
        9
    JetMac  
       8 天前
    像 Prisma 语法,几行代码配一下 nvim-treesitter 和 mason-lspconfig 就能高亮加格式化,真先进。
    fannheyward
        10
    fannheyward  
       7 天前   ❤️ 1
    welcome back to coc.nvim.
    EchoWhale
        11
    EchoWhale  
       7 天前
    搞好了就不用动了, 基本不用维护的
    fanhed
        12
    fanhed  
       6 天前
    想全套配置变得可控, 我现在还差 lsp 这部分确实比较复杂的, 我现在都没做到自己全控制.
    coc.nvim 还是有点复杂, 我安装的插件当中, 就对 coc.nvim 最恐惧, 因为太复杂了, 如果这其中出了点啥毛病, 我都不知道怎么修
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2838 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:14 · PVG 22:14 · LAX 07:14 · JFK 10:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.