vim out of the box

**TL;DR** This is a campaign to fund full-time work on [Neovim](, 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](, [ag]( developer > “I know emacs has done this for ages but the new terminal integrated into @Neovim is awesome” -- [@wezm]( > “Outstanding communication and handling of bugs from @Neovim. Exemplary FOSS project in my experience so far.” -- [@telemachus]( ## **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]( * Powerful msgpack-rpc API and UI architecture which enabled the creation of numerous [external GUIs]( projects such as [Oni](, [veonim](, [NyaoVim](, [Neovim-Qt](, [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]( * Built-in Lua with full access to the Neovim API * Buffer change notifications, to simplify the creation of projects like [neovim-atom]( which integrate Neovim with another editor or IDE. * API clients ("language bindings") for [remote plugins](, 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]( * 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]( 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.