vim-easycomplete  by jayli

Fast, minimalist Vim/Neovim completion

Created 7 years ago
433 stars

Top 68.6% on SourcePulse

GitHubView on GitHub
Project Summary

This plugin provides a fast, minimalist code completion experience for Vim and Neovim, targeting developers who prefer a pure VimScript solution without external runtimes like Node.js. It offers comprehensive Language Server Protocol (LSP) support, snippet integration, and optional AI coding assistance via Tabnine, aiming for out-of-the-box usability on macOS and Linux.

How It Works

Implemented in pure VimScript, Vim-EasyComplete leverages the LSP protocol for intelligent code completion, diagnostics, and navigation (go-to-definition, find-references, rename). It supports a wide array of language servers, which can be installed via a built-in command. The plugin also integrates with UltiSnips for snippet expansion and offers optional inline suggestions from Tabnine.

Quick Start & Requirements

  • Installation: Use packer.nvim (use { 'jayli/vim-easycomplete', requires = {'SirVer/ultisnips'}}) or vim-plug (Plug 'jayli/vim-easycomplete').
  • Prerequisites: Vim 8.2+ (macOS/Linux/FreeBSD) or Neovim 0.6.0+. Python 3 is required for UltiSnips.
  • LSP Servers: Install via :InstallLspServer <language> (e.g., :InstallLspServer python).
  • Docs: Full configuration example

Highlighted Details

  • Supports over 20 languages with dedicated LSP integrations.
  • Optional Tabnine integration for AI-powered code completion and inline suggestions.
  • Includes built-in commands for LSP server management and code navigation.
  • Customizable completion menu appearance with Nerd Font support.

Maintenance & Community

The project appears to be maintained by a single developer, jayli. There are no explicit links to community channels like Discord or Slack provided in the README.

Licensing & Compatibility

  • License: MIT
  • Compatibility: Permissive MIT license allows for commercial use and integration with closed-source projects.

Limitations & Caveats

The plugin relies on external LSP servers for many languages, which require separate installation and configuration. While it aims for simplicity, managing multiple LSP servers can add complexity. Python LSP support notes a potential issue with Python 3.11 for the pyls branch.

Health Check
Last Commit

1 week ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
1
Star History
1 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.