Dein.vim is a dark powered Vim/Neovim plugin manager.
Note: Active developement on dein.vim has stopped. The only future changes will be bug fixes.
Please see Dpp.vim
To learn more details, visit here.
Table of contentsFeatures
- Fast - Faster than NeoBundle.
- Simple - Function API and familiar patterns, without commands or dependency hell.
- Async - Clean asynchronous installation supported.
- Extendable - Supports plugins from local or remote sources, and also Non-Github plugins.
- Consistent - Go-like directory structure (eg. github.com/{author}/{repository})
- Practical - Automatically merge plugins directories to avoid long runtimepath
Getting started
Prerequisites
- Vim (v8.2 or higher) or NeoVim (v0.8.0 or higher)
- Git should be installed (v2.4.11 or higher)
Basic installation
You can install dein.vim by your vimrc/init.vim.
let $CACHE = expand('~/.cache') if !($CACHE->isdirectory()) call mkdir($CACHE, 'p') endif if &runtimepath !~# '/dein.vim' let s:dir = 'dein.vim'->fnamemodify(':p') if !(s:dir->isdirectory()) let s:dir = $CACHE .. '/dein/repos/github.com/Shougo/dein.vim' if !(s:dir->isdirectory()) execute '!git clone https://github.com/Shougo/dein.vim' s:dir endif endif execute 'set runtimepath^=' \ .. s:dir->fnamemodify(':p')->substitute('[/\\]$', '', '') endif
Command line installation
Please use dein-installer.vim.
Config example
Show a UNIX installation example using "~/.cache/dein" as the base path location." Ward off unexpected things that your distro might have made, as " well as sanely reset options when re-sourcing .vimrc set nocompatible " Set dein base path (required) let s:dein_base = '~/.cache/dein/' " Set dein source path (required) let s:dein_src = '~/.cache/dein/repos/github.com/Shougo/dein.vim' " Set dein runtime path (required) execute 'set runtimepath+=' .. s:dein_src " Call dein initialization (required) call dein#begin(s:dein_base) call dein#add(s:dein_src) " Your plugins go here: "call dein#add('Shougo/neosnippet.vim') "call dein#add('Shougo/neosnippet-snippets') " Finish dein initialization (required) call dein#end() " Attempt to determine the type of a file based on its name and possibly its " contents. Use this to allow intelligent auto-indenting for each filetype, " and for plugins that are filetype specific. filetype indent plugin on " Enable syntax highlighting if has('syntax') syntax on endif " Uncomment if you want to install not-installed plugins on startup. "if dein#check_install() " call dein#install() "endif
Q&A
Feedback
Tasks
This is where Dein future plans or TODOS are listed:
- Other types support (zip, svn, hg, ...)
- Metadata repository support
- Require neovim 0.10+ or Vim 9.0+(to use interpolated-string)
License
Licensed under the MIT license.