-
Notifications
You must be signed in to change notification settings - Fork 27
1. 介绍(about)
vim-easycomplete 是一个快速极简的 Vim/Nvim 补全插件,支持 Linux 和 MacOS,配置简单。
核心部分用 rust 实现,确保高性能。它是我个人编程习惯的集合,只包括常用必要功能的最小集合。同时也支持插件架构,可以自己添加新的补全源。在我的个人工作流中(vim & nvim)可以代替 nvim-cmp 和 blink.cmp。
It's a Fast and Minimalism Style Completion Plugin for vim/nvim. The core algorithm is implemented based on rust to achieve high performance. It is a collection of my personal programming habits, including only the smallest set of necessary abilities. It also supports a plugin architecture, allowing you to add new completion sources by yourself. In my personal workflow (vim & nvim), it can replace NVIM-CMP and blink.cmp.
包含的特性:
- 开箱即用(Ready to use out of the box)
- 支持 lsp(full lsp support)
- 简单安装 LSP 服务(easy to install)
- 支持关键词和字典(buffer keywords and dictionaries support)
- 代码片段的补全(snippets support)
- TabNine 补全 (TabNine support)
- 配合 copilot.nvim 的 DeepSeek/千问/Aone 的代码提示(work together with copilot.nvim for fine AI coding experience powered by Deepseek/Qwen/AoneCopilot)
- 命令行补全(cmdline complete support)
- 高性能,可基于 rust 编译(high performance with rust)
nvim 最新版本支持 lsp 原生的补全能力,但不支持以下能力:
- 函数参数的行内提示
- 命令行补全
- 除 lsp 之外的 buffer、字典和目录补全
- 幽灵文本
- 多个补全源的合并输出
- 自定义输出补全结果
内置了 Tabnine 补全。插件使用 tabnine 的本地模式,以带来更好的体验。通过兼容copilot.nvim实现了多行代码提醒功能,支持国内多个速度较快的补全源。
It has built-in Tabnine completion. The plugin uses the local mode of tabnine to provide a better experience. The multi-line code suggestion was implemented by being compatible with Copilode.nvim.
阿里工程师使用 Aone 以获得最佳的体验。
没有用 nvim-cmp 或者 blink.cmp 主要是有兼容需求。
我做了大量降级的体验优化,nvim 中部分功能基于 lua 实现,因此 vim 中只涵盖核心的补全功能。另外,性能耗时最大的 fuzzy 函数也做了 python、vimscript 和 lua 的三种实现,确保向下兼容的同时,获得更好的性能。
The main difference from nvim-cmp and blink.cmp is that I have compatibility requirements for both vim and neovim.