Neovim

vim out of the box

**TL;DR** This is a campaign to fund full-time work on [Neovim](http://neovim.io), significantly accelerating its progress. ## **Neovim is the future of Vim** > “Neovim is exactly what it claims to be. It fixes every issue I have with Vim” -- [Geoff Greer](http://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/), [ag](https://github.com/ggreer/the_silver_searcher) developer > “I know emacs has done this for ages but the new terminal integrated into @Neovim is awesome” -- [@wezm](https://twitter.com/wezm/status/582492043848503296) > “Outstanding communication and handling of bugs from @Neovim. Exemplary FOSS project in my experience so far.” -- [@telemachus](https://twitter.com/telemachus/status/568918223745372160) ## **What is Neovim?** Neovim is an ambitious refactor of Vim. Primary goals are: * Refactor the code to improve maintenance * Implement new advanced features * Expose a better, more powerful plugin system * Open development model, where contributions are readily accepted and the criteria for acceptance is clear. ## **What we've achieved** * Frequent stable releases (3+ releases per year) * Complete job control API for managing multiple processes asynchronously. This enabled the creation of projects like [Neomake](https://github.com/benekastah/neomake) * Powerful msgpack-rpc API and UI architecture which enabled the creation of numerous [external GUIs](https://github.com/neovim/neovim/wiki/Related-projects#gui) projects such as [Oni](https://github.com/onivim/oni2), [veonim](https://github.com/veonim/veonim), [NyaoVim](https://github.com/rhysd/NyaoVim), [Neovim-Qt](https://github.com/equalsraf/neovim-qt), [VimR](https://github.com/qvacua/vimr). * Great infrastructure for functional testing. We test the user interface with a Lua-based DSL. * Built-in terminal emulator that not only lets you run interactive programs inside Neovim, but also script and control those programs to create advanced workflows like integration with REPLs and [debuggers](https://github.com/neovim/neovim/blob/master/contrib/gdb/neovim_gdb.vim). * Built-in Lua with full access to the Neovim API * Buffer change notifications, to simplify the creation of projects like [neovim-atom](https://github.com/carlosdcastillo/vim-mode) which integrate Neovim with another editor or IDE. * API clients ("language bindings") for [remote plugins](http://neovim.org/doc/user/remote_plugin.html#remote-plugin), such a javascript (node.js), ruby, go and even rust. ## **Why Neovim needs your support** There's still a lot of work to do, and some drastic changes are hard to implement without full-time commitment. Here's some of what we have planned: * "Long-term" goals of the [roadmap](https://neovim.io/roadmap/): * Embed Neovim everywhere * Syntax API: allow clients to query and define syntax groups and text attributes * Cross platform "official" GUI, a C port/refactor of the [pygtk GUI](https://github.com/neovim/python-gui/) prototype * Advanced client/server features: * Attach/detach to Neovim instances running in the background (like tmux) * Connect the Neovim TUI to remote instances. * Support multiple screens of different sizes. This will enable the creation of advanced GUIs that display windows with different fonts/sizes, and "chrome" such as custom scrollbars/gutters. * Project maintenance: * Code review: 1000+ pull requests per year * User support: 1000+ tickets per year * High-quality documentation To handle all of that, this campaign helps fund a full-time dedicated resource. You can make that happen by pledging a small amount each month.