Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shougo/denite.nvim
:dragon: Dark powered asynchronous unite all interfaces for Neovim/Vim8
https://github.com/shougo/denite.nvim
asynchronous denite nvim python user-interface vim
Last synced: about 22 hours ago
JSON representation
:dragon: Dark powered asynchronous unite all interfaces for Neovim/Vim8
- Host: GitHub
- URL: https://github.com/shougo/denite.nvim
- Owner: Shougo
- License: other
- Created: 2016-02-15T23:08:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T03:50:53.000Z (7 months ago)
- Last Synced: 2024-09-24T07:31:04.125Z (1 day ago)
- Topics: asynchronous, denite, nvim, python, user-interface, vim
- Language: Python
- Homepage:
- Size: 2.26 MB
- Stars: 2,059
- Watchers: 37
- Forks: 215
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
denite.nvim
===========**Note**: Active development on denite.nvim has stopped. The only future
changes will be bug fixes.Please see [ddu.vim](https://github.com/Shougo/ddu.vim).
Note: Denite.nvim does not define any of default mappings. You need to define
them.Please read [help](doc/denite.txt) for details.
## About
[![Join the chat at https://gitter.im/Shougo/denite.nvim](https://badges.gitter.im/Shougo/denite.nvim.svg)](https://gitter.im/Shougo/denite.nvim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
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](https://github.com/Shougo/unite.vim) was meant to be like [Helm](https://github.com/emacs-helm/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.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-pythonNote: 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-yarpPlease install vim-hug-neovim-rpc plugin for Vim8.
https://github.com/roxma/vim-hug-neovim-rpcYou must install "pynvim" module with pip
pip3 install --user pynvim
### For Windows users
1. Install Vim from [Vim Win32 Installer
releases](https://github.com/vim/vim-win32-installer/releases)
2. Download [Python latest embeddable zip
file](https://www.python.org/downloads/windows/) 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](https://github.com/Shougo/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](https://github.com/junegunn/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
```vim
" Define mappings
autocmd FileType denite call s:denite_my_settings()
function! s:denite_my_settings() abort
nnoremap
\ denite#do_map('do_action')
nnoremap d
\ denite#do_map('do_action', 'delete')
nnoremap p
\ denite#do_map('do_action', 'preview')
nnoremap q
\ denite#do_map('quit')
nnoremap i
\ denite#do_map('open_filter_buffer')
nnoremap
\ denite#do_map('toggle_select').'j'
endfunction
```## Screenshots
### Old UI
![denite old UI](https://user-images.githubusercontent.com/13142418/65154984-06107180-da5f-11e9-8cbf-e0a544d0dbc5.jpg)
### New UI
![denite new UI](https://user-images.githubusercontent.com/13142418/65154937-f002b100-da5e-11e9-8aef-723233e3704d.jpg)
### Others
![denite new UI2](https://user-images.githubusercontent.com/1239245/58742567-a155ea80-8460-11e9-9925-09082def2c80.gif)
![denite new UI3](https://user-images.githubusercontent.com/41671631/58790351-cf832800-8622-11e9-912d-813408876b86.gif)