Note: Active development on denite.nvim has stopped. The only future changes will be bug fixes.
Please see ddu.vim.
Note: Denite.nvim does not define any of default mappings. You need to define them.
Please read help for details.
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
Denite requires Neovim 0.4.0+ or Vim 8.0+ with if_python3
.
If :echo has("python3")
returns 1
, then you're done.
Note: Please install/upgrade msgpack package (1.0.0+). https://github.com/msgpack/msgpack-python
Note: You need to install Python 3.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
- Install Vim from Vim Win32 Installer releases
- 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).
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
" 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