Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
Feb 26, 2021
May 2, 2021
May 2, 2021
Mar 23, 2020
Mar 23, 2020


Join the chat at Build Status

Please read help for details.

Dein.vim is a dark powered Vim/Neovim plugin manager.


  • Vim 8.0 or above or NeoVim(0.2.0+).
  • "xcopy" command in $PATH (Windows)
  • "git" command in $PATH (if you want to install github or plugins)

Note: If you use Vim 7.4, please use dein.vim ver.1.5 instead.

If you need vim-plug like install UI, you can use dein-ui.vim.

Quick start

Note: You must define the installation directory before to use dein. The directory that you will want to use depends on your usage.

For example, ~/.vim/bundles or ~/.cache/dein or ~/.local/share/dein. dein.vim does not define a default installation directory. You must not set the installation directory as ~/.vim/plugin or ~/.config/nvim/plugin.

  1. Run below script.

For Unix/Linux or Mac OS X

curl >
# For example, we just use `~/.cache/dein` as installation directory
sh ./ ~/.cache/dein

For Windows(PowerShell)

Invoke-WebRequest -OutFile installer.ps1
# Allow to run third-party script
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# For example, we just use `~/.cache/dein` as installation directory
./installer.ps1 ~/.cache/dein
  1. Edit your .vimrc like in "Examples" section.

  2. Open vim and install dein

:call dein#install()


if &compatible
  set nocompatible " Be iMproved

" Required:
" Add the dein installation directory into runtimepath
set runtimepath+={path to dein.vim directory}

" Required:
call dein#begin({path to plugin base path directory})

" Let dein manage dein
call dein#add({path to dein.vim directory})
if !has('nvim')
  call dein#add('roxma/nvim-yarp')
  call dein#add('roxma/vim-hug-neovim-rpc')

" Add or remove your plugins here like this:
"call dein#add('Shougo/neosnippet.vim')
"call dein#add('Shougo/neosnippet-snippets')

" Required:
call dein#end()

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
"if dein#check_install()
" call dein#install()


  • Faster than NeoBundle

  • Simple

  • No commands, Functions only to simplify the implementation

  • Easy to test and maintain

  • No Vundle/NeoBundle compatibility

  • neovim/Vim8 asynchronous API installation support

  • Local plugin support

  • Non github plugins support

  • Go like clone directory name ex:"{user}/{repository}"

  • Merge the plugins directories automatically to avoid long 'runtimepath'

Future works (TODO)

  • Other types support (zip, svn, hg, ...)

  • Metadata repository support


Please read :help dein-options