Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. nvim-cmp

nvim-cmp

MITLuav0.0.2

A completion engine plugin for Neovim written in Lua that supports LSP and multiple snippet engines.

GitHubGitHub
9.4k stars435 forks0 contributors

What is nvim-cmp?

nvim-cmp is a completion engine plugin for Neovim written in Lua. It provides intelligent code completion by integrating with the Language Server Protocol (LSP) and various snippet engines, enhancing the development workflow within Neovim. It is designed to be highly customizable while maintaining performance and a native-like feel.

Target Audience

Neovim users, particularly developers who want a powerful, extensible, and configurable code completion system integrated with LSP and snippet engines.

Value Proposition

Developers choose nvim-cmp for its full LSP completion support, extensive customizability via Lua, and smooth, flicker-free experience. Its unique selling point is the ability to mix and match completion sources from external repositories, allowing a tailored setup.

Overview

A completion plugin for neovim coded in Lua.

Use Cases

Best For

  • Setting up intelligent code completion in Neovim with LSP integration.
  • Creating a highly customizable completion workflow using Lua configuration.
  • Integrating multiple snippet engines like vsnip, luasnip, ultisnips, snippy, or mini.snippets.
  • Building a completion system that supports various sources such as buffer, path, cmdline, and git.
  • Achieving a native-like, flicker-free completion experience in Neovim.
  • Managing complex key mappings for completion with preset configurations.

Not Ideal For

  • Vim users or those not using Neovim, as it relies on Neovim-specific Lua APIs and features.
  • Developers who want a completion plugin that works immediately after installation without any Lua configuration or dependency management.
  • Teams requiring long-term stability without breaking changes, given the documented breaking changes in issue #231.
  • Users who need guaranteed professional support and prompt bug fixes, as the author notes it's a hobby project with limited guarantees.

Pros & Cons

Pros

Full LSP Integration

Supports all LSP completion capabilities, enabling seamless integration with language servers for intelligent code suggestions, as highlighted in the key features.

Extensible Source System

Completion sources are installed from external repositories, allowing users to mix and match sources like buffer, path, and cmdline, with a wiki listing numerous options.

Lua-Based Customization

Offers powerful configuration through Lua functions, providing fine-grained control over behavior and appearance, demonstrated in the extensive setup example.

Multiple Snippet Engine Support

Compatible with various snippet engines like vsnip, luasnip, and ultisnips, giving flexibility in snippet management, as shown in the configuration snippets.

Cons

Breaking Changes Risk

The project documents breaking changes in issue #231, requiring users to stay updated and potentially adjust configurations, which can disrupt workflows.

Complex Initial Setup

Requires installing multiple plugins and writing Lua configuration, which can be daunting for users not familiar with Neovim's ecosystem or Lua programming.

Hobby Project Limitations

Bug fixes are not guaranteed without minimal reproduction steps, and support might be inconsistent, as the author explicitly states it's a hobby project.

Frequently Asked Questions

Quick Stats

Stars9,405
Forks435
Contributors0
Open Issues273
Last commit1 month ago
CreatedSince 2021

Tags

#developer-tools#snippet-engine#neovim-plugin#lsp-client#editor-enhancement#nvim-cmp#vim-plugins#lua#code-completion

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

nvim-mini/mini.nvim#mini.completionnvim-mini/mini.nvim#mini.completion

Library of 40+ independent Lua modules improving Neovim experience with minimal effort

Stars9,051
Forks298
Last commit3 days ago
blink.cmpblink.cmp

Performant, batteries-included completion plugin for Neovim

Stars6,196
Forks338
Last commit1 day ago
copilot.luacopilot.lua

Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot

Stars4,059
Forks156
Last commit2 days ago
coq_nvimcoq_nvim

Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

Stars3,797
Forks105
Last commit3 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub