|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Neovim||66,536||15 hours ago||1,695||other||Vim Script|
|Vim-fork focused on extensibility and usability|
|Fzf||52,628||8||5||a day ago||62||April 17, 2021||321||mit||Go|
|:cherry_blossom: A command-line fuzzy finder|
|Vim Plug||30,869||2 months ago||126||mit||Vim Script|
|:hibiscus: Minimalist Vim Plugin Manager|
|Coc.nvim||22,844||82||263||2 days ago||97||September 19, 2022||53||other||TypeScript|
|Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.|
|Spacevim||19,903||a day ago||1||July 02, 2022||42||gpl-3.0||Lua|
|A community-driven modular vim/neovim distribution - The ultimate vimrc|
|Nvchad||17,577||2 days ago||2||August 19, 2021||5||gpl-3.0||Lua|
|Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.|
|Vim Galore||15,154||3 months ago||8||cc-by-sa-4.0||Vim script|
|:mortar_board: All things Vim!|
|Lunarvim||14,910||15 hours ago||74||gpl-3.0||Lua|
|🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.|
|Vim||11,994||2 days ago||1,463||mit||TypeScript|
|:star: Vim for Visual Studio Code|
|Oni||11,477||1||3 years ago||6||April 02, 2017||518||mit||TypeScript|
|Oni: Modern Modal Editing - powered by Neovim|
Neomake is a plugin for Vim/Neovim to asynchronously run programs.
You can use it instead of the built-in
:make command (since it can pick
'makeprg' setting), but its focus is on providing an extra layer
of makers based on the current file (type) or project.
Its origin is a proof-of-concept for Syntastic to be asynchronous.
With Neovim any release will do (after 0.0.0-alpha+201503292107).
The minimal Vim version supported by Neomake is 7.4.503 (although if you don't
g:neomake_logfile older versions will probably work fine as well).
You need Vim 8.0.0027 or later for asynchronous features.
Use your preferred installation method for Vim plugins.
With vim-plug that would mean to add the following to your vimrc:
If you want to run Neomake automatically (in file mode), you can configure it
vimrc by using
neomake#configure#automake, e.g. by picking one of:
" When writing a buffer (no delay). call neomake#configure#automake('w') " When writing a buffer (no delay), and on normal mode changes (after 750ms). call neomake#configure#automake('nw', 750) " When reading a buffer (after 1s), and when writing (no delay). call neomake#configure#automake('rw', 1000) " Full config: when writing or reading a buffer, and on changes in insert and " normal mode (after 500ms; no delay when writing). call neomake#configure#automake('nrwi', 500)
(Any function calls like these need to come after indicating the end of plugins
to your plugin manager, e.g. after
call plug#end() with vim-plug.)
The author liked to use the following, which uses different modes based on if your laptop runs on battery (for MacOS or Linux):
function! MyOnBattery() if has('macunix') return match(system('pmset -g batt'), "Now drawing from 'Battery Power'") != -1 elseif has('unix') return readfile('/sys/class/power_supply/AC/online') == ['0'] endif return 0 endfunction if MyOnBattery() call neomake#configure#automake('w') else call neomake#configure#automake('nw', 1000) endif
:help neomake-automake (in doc/neomake.txt) for more
information, e.g. how to configure it based on certain autocommands explicitly,
and for details about which events get used for the different string-based
:Neomake manually (or automatically through
neomake#configure#automake (see above)) it will populate the window's
location list with any issues that get reported by the maker(s).
You can then navigate them using the built-in methods like
:lopen (to view the list) and
:lnext to go back and forth.
You can configure Neomake to open the list automatically:
let g:neomake_open_list = 2
Please refer to
:help neomake.txt for more details on configuration.
There are two types of makers: file makers (acting on the current buffer) and project makers (acting globally).
You invoke file makers using
:Neomake, and project makers using
:help neomake.txt for more details.
You can run a specific maker on the current file by specifying the maker's
:Neomake jshint (you can use Vim's completion here to complete
For a list of default makers please see the Makers page in the wiki.
If you find this plugin useful, please contribute your maker recipes to the
repository! Check out
autoload/neomake/makers/**/*.vim for existing makers.
This is a community driven project, and maintainers are wanted. Please contact @blueyed if you are interested. You should have a good profile of issue triaging and PRs on this repo already.
We are using Vader for our tests.
let g:neomake_logfile = '/tmp/neomake.log' (dynamically or in your vimrc)
to enable debug logging to the given file.
From Neomake's source tree you can then run
make tail_log, which will color
the output and pipe it into
less, which folds long lines by default and will
follow the output (like
You can use Ctrl-C to interrupt for scrolling etc, and then F to follow again.
make testvim VADER_ARGS=tests/integration.vader
docker_test target runs tests for a specific Vim version.
Dockerfile.tests for the Vim versions provided in the Docker image.
The image for this gets pulled from Docker Hub via neomake/vims-for-tests.
NOTE: the Docker image used for tests does not include (different versions) of Neovim at the moment.
make docker_test DOCKER_VIM=vim-8.0.586