Dark powered asynchronous unite all interfaces for Neovim/Vim8
OTHER License
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
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