Neovim

The next generation of Vim!

**TL;DR** This is a campaign to add a full time developer to [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 (yet careful) refactor of Vim. Primary goals of the project are: * Refactor the code to improve maintenance * Implement new advanced features * Expose a better, more powerful plugin system * Have a more open development model, where contributions are more readily accepted, and the criteria for acceptance is clear. ## **What has been achieved:** * 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) projects such as [NyaoVim](https://github.com/rhysd/NyaoVim), [Neovim-Qt](https://github.com/equalsraf/neovim-qt), [VimR](https://github.com/qvacua/vimr) and [SolidOak](https://github.com/oakes/SolidOak) (an IDE for Rust). * 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). ## **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: * Cross platform built-in GUI, a C port/refactor of the [pygtk GUI](https://github.com/neovim/python-gui/) prototype * More complete client/server features: * Attach/detach to Neovim instances running in the background(like tmux) * Connect to remote instances. Use a Neovim GUI with it's built-in terminal emulator to manage servers, for example. * Be used as the emacsclient/server combo, without losing Vim's lightweightness! * Support multiple screens of different sizes. This will enable the creation of advanced GUIs that displays windows with different fonts/sizes, for example. * 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. * Implement more 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. To handle all that, plus reviewing an increasing number of pull requests being received every day, this campaign helps fund a full-time dedicated resource. You can make that happen by pledging a small amount each month.