explaingit

shougo/deoplete.nvim

5,911PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

Deoplete is an asynchronous auto-completion plugin for Neovim and Vim 8 that shows dropdown suggestions as you type code. It works as a framework connecting to language-specific source plugins. Note: development is complete, the author recommends the newer ddc.vim for new setups.

Mindmap

mindmap
  root((deoplete.nvim))
    How It Works
      Async completion
      Dropdown suggestions
      Source plugin framework
    Supported Languages
      Python JS TypeScript
      Go C++ Rust
      Ruby C# F#
    Requirements
      Neovim 0.3.0 plus
      Python 3.6.1 plus
      pynvim package
    Installation
      vim-plug
      dein.vim
      Config lines provided
    Project Status
      Development finished
      Bug fixes only
      Migrate to ddc.vim
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Get instant code completion suggestions while writing Python, JavaScript, Go, Rust, or other languages inside Neovim without freezing the editor.

USE CASE 2

Use as a base framework to plug in language-specific completion sources so all completions flow through one consistent dropdown experience.

USE CASE 3

Keep an existing Neovim setup with deoplete running, it still works and accepts bug fixes, even though new features are not added.

Tech stack

PythonNeovimVim 8pynvimVimScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Neovim 0.3.0+ or Vim 8.2.1978+ and Python 3.6.1+ with pynvim installed. Vim 8 users need two extra compatibility plugins. New users should consider ddc.vim instead.

The explanation does not mention a license.

In plain English

Deoplete is an auto-completion plugin for Neovim and Vim 8, the text editors commonly used by programmers who prefer working in a terminal. When you are writing code in one of those editors, deoplete watches what you type and shows a dropdown list of suggestions to complete the current word, function name, or variable, without you needing to pause and look them up. The completion happens in the background without freezing the editor, which is what the README means by asynchronous. The plugin does not provide completions on its own. Instead, it acts as a framework that other, more specific plugins can connect to. Those connector plugins, called completion sources, supply the actual suggestions for particular languages or tools. There are sources available for Python, JavaScript, TypeScript, Go, C++, Rust, Ruby, C#, F#, and others, as shown in the screenshots in the README. To use it, you need Neovim 0.3.0 or later (or Vim 8.2.1978 and above) with Python 3.6.1 or later installed, plus a Python package called pynvim. Installation is done through a Vim plugin manager like vim-plug or dein.vim, and the README includes the exact configuration lines to paste in. For regular Vim 8 users (not Neovim), two additional compatibility plugins are required. An important note at the top of the README: development on deoplete is finished. The author has moved on to a newer plugin called ddc.vim and recommends that new users start there instead. Deoplete still accepts small bug fixes but will not gain new features. Existing setups that rely on it will continue to work, but migration to the newer plugin is encouraged.

Copy-paste prompts

Prompt 1
I have deoplete.nvim installed in Neovim. Show me the minimal init.vim config to enable it and add a Python completion source so I get suggestions while editing .py files.
Prompt 2
I am using deoplete.nvim with vim-plug. Walk me through installing a JavaScript/TypeScript completion source and connecting it to deoplete so I get autocomplete in .ts files.
Prompt 3
I want to migrate my current deoplete.nvim setup to ddc.vim. What are the key differences and what config changes do I need to make?
Prompt 4
Deoplete autocomplete stopped showing suggestions in my Neovim. Help me debug it step by step, checking pynvim, Python version, and plugin load order.
Prompt 5
I am using Vim 8 not Neovim and want to install deoplete. What extra compatibility plugins do I need and how do I configure them alongside vim-plug?
Open on GitHub → Explain another repo

← shougo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.