Outstanding communication and handling of bugs from Neovim. Exemplary FOSS project in my experience so far. @telemachus
Welcome to the fifth newsletter for Neovim, the project that looks to become Vim out of the box.
Now in addition to the mailing list and IRC channel, you can hop into the Neovim chat room provided through Gitter.im. It has a convenient web interface but also allows you to connect using your favorite IRC client.
Black Duck, a company that helps other corporations in the adoption of open source software, chose Neovim as one of the projects to feature this past year. The company annually recognizes some of the top new open source projects that started during the year.
Since they’ve been added, USD 106 has been raised which Unixstickers just donated on March 24th.
The Neovim Wiki contains a page titled Related projects that contains a list of current GUI projects, API clients, plugins that take advantage of Neovim features, and projects with direct support for Neovim.
Some of the projects might be experimental which means there might be bugs and the projects might still be in progress.
Do you know of another project that can be listed? Don’t be afraid to add a link yourself!
Unibilium is a library by @mauke that interfaces with terminfo.
Terminfo is a library and database that makes it easy to interface with display
terminals without worrying about device specific details. More details can be
found on the man page for terminfo by running:
man 5 terminfo.
Although the TUI implementation is included as part of Neovim, it is architecturally decoupled from the editor core: it uses the same API as external clients and GUIs.
As a result of using libtermkey, Neovim can now bind meta keys and
Ctrl-Shift combinations both of which weren’t previously possible in the
terminal. Be sure to read more about the updated binding
capabilities for additional examples and possibilities.
@tarruda has finished his pull request adding a new
command which when ran launches a full terminal emulator. The terminal is using
Neovim’s native buffers and windows which means the user can enter normal
mode by pressing
This is meant to replace and provide more capabilities than the already existing
:shell, which has been removed from Neovim. More
explanation on the decision of this feature can be found in this
comment made by @tarruda.
The complete documentation for this feature can be found under
To enable true color support, set the environment variable
The progress of building Neovim on Windows was first detailed in the July 2014 newsletter.
Vim has a number of ways to start it through its many aliases. The complete list can be found under the starting section in Vim’s documentation.
ex: Ex mode.
exim: “Improved” Ex mode.
view: Read-only mode.
gvim: Using the GUI.
gex: GUI and in Ex mode.
gview: GUI and in read-only mode.
rvim: Restricted mode.
rview: Read-only and in restricted mode.
rgvim: GUI and in restricted mode.
rgview: GUI, read-only, and in restricted mode.
Even with removing of the feature, emulating it is still possible by using the
'insertmode' option that easy mode leveraged.
The graphical side of Neovim has been seeing some changes in addition to the terminal interface in one of the above section.
Since the last newsletter, the following projects in no particular order have been created:
Three new autocommand events have been added by @fmoralesc in this pull request. An autocommand event is a way to execute something in response to a particular event. Events are particularly useful in plugins.
This improvement is to make use of function callbacks (for input, output events) instead of the previous way of using autocommands for responding to events.
In an epic crusade against Vim specific integer types that has spanned two
previous newsletters (June and November), @elmart has finished removing the
long_u. @elmart’s changes were broken up into three last pull
requests (1, 2, 3).
His proposal was first sent as a patch to vim-dev where his changes were accepted by Bram and should make it into Vim in the future. @mhinz let @fmoralesc prepare the pull request to bring in the changes to Neovim. The pull request has since been merged into the master branch.
When using Vim with plugins that allocate a large number of objects there are times when the garbage collection will kick in and cause Vim to hang due to the time spent looking for objects to free.
This issue was posted to vim_dev by Yasuhiro Matsumoto. A patch as written by Ariya Mizutani and proposed to the mailing list which improves the algorithm for looking through the objects. In Yasuhiro’s test case, it took unpatched Vim 100 seconds to execute but took just 0.134 seconds when the patch was applied.
The purpose of Expect (in Tcl) is to make it easy to script and automate text based applications that don’t provide that functionality.
Vim has a
compatible option which lets Vim be more
compatible with Vi. It can also be started by running
This means that
set nocompatible and the flag
non-operations. This also means that since there isn’t a compatible mode, if
set compatible it will give an error.
An issue was created to discuss the removal of the
edcompatible option. Turning on this feature gives special
behavior for the
c flags for the
command. Vim’s documentation actually discourage the use of this option.
Vim has an option called
ttyfast which is set if there
exists a “fast terminal connection”. When set, it will send more characters to
be drawn instead of using insert/delete line commands.
Neovim continues to merge in the upstream Vim patches that are submitted to the Vim mailing list.
If you’d like to help support development, you may donate using Bitcoins here:
1Evu6wPrzjsjrNPdCYbHy3HT6ry2EzXFyQ or back the team on the Neovim
There are plenty of opportunities to help out and plenty of things to do.
Do you have any feedback or suggestions regarding this newsletter? Feel free to reach out through the Neovim Twitter.
This newsletter cannot cover all of the contributions and support of the community. Thanks to all of the other contributors that have helped in some way during the months since the last newsletter.
Be sure to subscribe to the RSS feed to stay up-to-date on what is happening in the Neovim world. The next newsletter will be released in a few months time.
Until next time.