Awesome
Dein.vim
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.
<details> <summary><strong>Table of contents</strong></summary> <br/> <!-- vim-markdown-toc GFM --> <!-- vim-markdown-toc --> <br/> </details>Features
- 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
<details> <summary> Show a UNIX installation example using <strong>"~/.cache/dein"</strong> as the base path location. </summary>" 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
</details>
Q&A
Dein has an user interface like vim-plug?
- Built-in Dein does not have one, but if you want one, we recommend using github.com/wsdjeg/dein-ui.vim
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.