Skip to content
🐉 Dark powered asynchronous unite all interfaces for Neovim/Vim8
Python Vim script Makefile
Branch: master
Clone or download
Latest commit f9bedc6 Jan 19, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix issue template Jul 8, 2018
autoload Improve filter window check Jan 18, 2020
doc Add -winrow=1 behavior Jan 16, 2020
plugin Add -bar in commands May 12, 2019
rplugin/python3 Change sleep time Jan 19, 2020
test Add quote tests Jan 11, 2020
.gitignore Fix test errors Sep 27, 2018
.travis.yml Update for travis May 30, 2019
LICENSE First version Mar 20, 2016
Makefile WIP: typing Aug 4, 2019
README.md add installation about dein.vim and vim-plug Nov 27, 2019
setup.cfg Remove prompt.nvim May 12, 2019

README.md

denite.nvim

Build Status

Note: Denite.nvim does not define any of default mappings. You need to define them.

About

Join the chat at https://gitter.im/Shougo/denite.nvim

Denite is a dark powered plugin for Neovim/Vim to unite all interfaces. It can replace many features or plugins with its interface. It is like a fuzzy finder, but is more generic. You can extend the interface and create the sources.

Some things you can do with it include:

  • Opening files

  • Switching buffers

  • Inserting the value of a register

  • Changing current directory

  • Searching for a string

Unite.vim was meant to be like Helm for Vim. But the implementation is ugly and it's very slow.

Denite resolves Unite's problems. Here are some of its benefits:

  • Theoretically faster because the main process is executed by Python

  • Theoretically more stable because no other processes can be performed when it runs.

  • The implementation is simpler than unite

  • Has greater potential to implement new features

  • Python3 is easier to work with than Vimscript

  • There are a lot of useful tools to keep code simple (linter, tester, etc...) in Python3.

  • Unite is officially obsolete, minor bugs (or even major bugs) are not fixed anymore

Requirements

Denite requires Neovim 0.3.0+ or Vim 8.0+ with if_python3. If :echo has("python3") returns 1, then you're done.

Note: You need to install Python3.6.1+.

For neovim:

You must install "pynvim" module with pip

pip3 install --user pynvim

If you want to read the pynvim/python3 interface install documentation, you should read :help provider-python.

For Vim8:

Please install nvim-yarp plugin for Vim8. https://github.com/roxma/nvim-yarp

Please install vim-hug-neovim-rpc plugin for Vim8. https://github.com/roxma/vim-hug-neovim-rpc

You must install "pynvim" module with pip

pip3 install --user pynvim

For Windows users

  1. Install Vim from Vim Win32 Installer releases
  2. Download Python latest embeddable zip file and copy the all files in the zip file to the folder where you installed Vim.

Note: You need to do 1. and 2. with the common-arch files (x86 or x64).

Installation

For dein.vim

call dein#add('Shougo/denite.nvim')
if !has('nvim')
  call dein#add('roxma/nvim-yarp')
  call dein#add('roxma/vim-hug-neovim-rpc')
endif

For vim-plug

if has('nvim')
  Plug 'Shougo/denite.nvim', { 'do': ':UpdateRemotePlugins' }
else
  Plug 'Shougo/denite.nvim'
  Plug 'roxma/nvim-yarp'
  Plug 'roxma/vim-hug-neovim-rpc'
endif

Examples

" Define mappings
autocmd FileType denite call s:denite_my_settings()
function! s:denite_my_settings() abort
  nnoremap <silent><buffer><expr> <CR>
  \ denite#do_map('do_action')
  nnoremap <silent><buffer><expr> d
  \ denite#do_map('do_action', 'delete')
  nnoremap <silent><buffer><expr> p
  \ denite#do_map('do_action', 'preview')
  nnoremap <silent><buffer><expr> q
  \ denite#do_map('quit')
  nnoremap <silent><buffer><expr> i
  \ denite#do_map('open_filter_buffer')
  nnoremap <silent><buffer><expr> <Space>
  \ denite#do_map('toggle_select').'j'
endfunction

Screenshots

Old UI

denite old UI

New UI

denite new UI

Others

denite new UI2 denite new UI3

You can’t perform that action at this time.