Skip to content

Shougo/dein.vim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.

Dein.vim

Gitter GitHub release (latest by date) GitHub issues

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

To learn more details, visit here.

Table of contents

Features

  • Fast - Faster than NeoBundle.
  • Simple - Function API and familiar patterns, without commands or dependecy 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.5.0 or higher)
  • Git should be installed (v2.4.11 or higher)
  • xcopy installed or Python3 interface (on Windows)

Note: If you use Vim (lower than 8.2) or NeoVim (lower than 0.5), please use dein.vim v2.2 instead.

Basic installation

To install dein.vim on UNIX systems, you should run the install script. To do that, you may either download and run the script manually, or use the following wget or curl command:

Wget

sh -c "$(wget -O- https://raw.githubusercontent.com/shougo/dein.vim/master/bin/installer.sh)"

Curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/santosned/dein.vim/master/bin/installer.sh)"

Manual inspection

Note: "It's a good idea to inspect the install script from projects you don't know."

You can do that by downloading the install script, then looking through it to check if the code is safe:

$ wget https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh
$ less install.sh
$ sh install.sh

The script code is well formated, so you can better understand all the code. The script can take some arguments that are listed in Additional Notes section below.

Additional Notes

  • If you want to overwrite an existent .vimrc or init.vim config, pass the --overwrite-config (or in short -oWC) argument to the installation script. By default, if there's one config already, the new config is generated inside the base path.

  • The installer script has prompt menus that helps you setup everything. However, if you want install Dein.vim into an different path location, pass the location to the end of the script like sh install.sh ~/.vim/bundle.

Powershell (Windows)

The support for Windows requires Powershell.

Open your Powershell and download the script:

Invoke-WebRequest https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.ps1 -OutFile installer.ps1

After checking the code, allow it to be executed properly:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Lastly, for an installation at the ~/.cache/dein directory execute:

./installer.ps1 ~/.cache/dein

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 runtime path (required)
set runtimepath+=/home/{Your username}/.cache/dein/repos/github.com/Shougo/dein.vim

" Call dein initialization (required)
call dein#begin('/home/{Your username}/.cache/dein/')

call dein#add('/home/{Your username}/.cache/dein/repos/github.com/Shougo/dein.vim')

" 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.
if has('filetype')
  filetype indent plugin on
endif

" 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

Dein has an user interface like vim-plug?

Feedback

Tasks

This is where Dein future plans or TODOS are listed:

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

License

Licensed under the MIT license.