chemzqm
V2EX  ›  Vim

vimls-go 0.1.0:用 Go 写的 Vim script / Vim9 语言服务器

  •  
  •   chemzqm · 3h 7m ago · 130 views

    最近写了一个 Go 实现的 Vim script / Vim9 script 语言服务器 vimls-go,刚发布了 0.1.0 ,想请平时写 Vim 配置、插件的朋友试试。

    项目: https://github.com/neoclide/vimls-go

    下载: https://github.com/neoclide/vimls-go/releases/tag/v0.1.0

    目前提供补全、hover 文档、签名提示、跳转定义、查找引用、诊断、语义高亮和重命名等功能,也支持 Vim9 import 和 autoload 的跨文件分析。格式化目前主要处理缩进。

    有个我自己很需要的功能:它会扫描 runtimepath 中的 Vim 文件,并提取 doc/*.txt 里的帮助文档。写插件变量、函数或命令时,可以直接在 hover 里看到对应帮助,附带来源文件路径和行号。runtimepath 变化时会增量更新。

    服务端是独立二进制,可以搭配 Vim 中的 coc.nvim 、vim-lsp 等 LSP 客户端使用。下载对应平台的文件、将可执行文件命名为 vimls 并放进 PATH 后,coc.nvim 可以这样配置:

    {
      "languageserver": {
        "vimls": {
          "command": "vimls",
          "filetypes": ["vim"]
        }
      }
    }
    

    这是第一个发布版本,静态分析对 execute、运行时动态生成的名称等情况仍有限制,也不承诺覆盖所有语法细节。欢迎带上最小复现到 GitHub 提 issue ,尤其想了解大家实际插件和配置里遇到的误报、漏报以及补全问题。

    1 replies    2026-09-06 02:45:28 +08:00
    zls3201
        1
    zls3201  
       1h 33m ago via iPad
    为啥不直接用 helix 这个部署 go 环境 只要一条指令吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   896 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:18 · PVG 04:18 · LAX 13:18 · JFK 16:18
    ♥ Do have faith in what you're doing.