Skip to main content
  1. Posts/

Nvim Autocompletion with Deoplete

··291 words·2 mins·
Table of Contents

Note: this post is deprecated, I use nvim-cmp for auto-completion now.

Deoplete is a good auto-completion plugin for Neovim. In this post, I introduce how to set up auto-completion for Nvim with the help of deoplete.

Strictly speaking, it is an auto-completion engine. In order to enable auto-completion for a certain programming language, you need to install the corresponding source.

Install Deoplete
#

To use deoplete, you should make sure that you are using Python3 . You need to install pynvim – the Python client to Neovim:

pip3 install --user pynvim

Deoplete is easy to install. You can install deoplete with vim-plug:

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

Since deoplete is a completion engine, in order to use auto-completion for a specific language, you need to install the corresponding source for it. The complete list of sources supporting deoplete can be found here.

Follow the guide of the specific completion source to install it and enable completion for that language. For example, you can check here on how to set up deoplete and deoplete-jedi for Python auto-completion.

The minimum settings on deoplete’s side is to enalbe it at the start of Nvim:

let g:deoplete#enable_at_startup = 1

Other settings
#

Disable buffer and around source
#

The buffer and around source for deoplete is of little use for auto-completion. I would rather ignore them. To ignore these two sources, use the following settings:

call deoplete#custom#option('ignore_sources', {'_': ['around', 'buffer']})

References
#

change the max width of the completion window
#

Sometimes, the completion term has long strings which are cut down due to limited completion window width. So change the max width allowed for completion window, use the following settings:

" maximum candidate window length
call deoplete#custom#source('_', 'max_menu_width', 80)

References
#

Related

A Complete Guide on Writing LaTeX with Vimtex in Neovim
··1544 words·8 mins
Migrating from Packer.nvim to Lazy.nvim
··651 words·4 mins
You Do Not Need a Plugin for This Feature
··424 words·2 mins