Back in October Kade Killary wrote, [A Killer GUI For Neovim: VimR][kade-vimr].
[VimR] is an excellent Neovim GUI on macOS but ever since reading the article
I've been meaning the write about the Neovim GUI I use on Linux: [NeovimGtk].
NeovimGtk doesn't have quite as many bells and whistles as VimR (yet) but it
does have a few. Like VimR, it's a native application (no Electron, etc.). It's
developed in [Rust], and as the name implies uses the GTK toolkit to feel right
at home on a [GNOME] desktop. NeovimGtk is not limited to Linux though. The
project explicitly supports Windows as well, and should build anywhere where
Rust and GTK are available. I was able to build it successfully on OpenBSD.
I am a huge fan of the [PragmataPro] font, and one of NeovimGtk's killer
features for me is support for font [ligatures]. This means it renders text
with wonderful typographic beauty.
NeovimGtk displaying Rust code in PragmataPro with ligatures.
Ligature support was what initially drew me to NeovimGtk but since I've started
using it, its creator, [daa84], and a handful of contributors have added
several more features.
There is a file/project picker to open recent files and projects (directories).
Checking the check box on a directory makes that item always available in the
list for quick access.
The file/project picker.
One of the more recent additions was a plugin manager. It lists installed vim
plugins and allows news ones to be added. Behind the scenes it uses the
excellent [vim-plug].
Plugin manager.
Another recent addition enabled support for wide glyphs. PragmataPro has a few
of these in the non-Mono variant of the font. The extra width is used to make
the glyph more legible. This makes [devicons] and [Neomake] warnings render nicely.
A double wide warning symbol next to a line with a compiler warning.
Native controls are used for the tab bar and pop-up menus.
Native pop-up menu.Native tabs.
So if you're a Neovim user on Linux I can certainly recommend you check out
NeovimGtk. Installation currently requires building from source. However for
Arch Linux users I have created an [AUR package] for easy installation.
**Update 1 Jan 2018:** It was pointed out on Reddit that NeovimGtk runs on
Windows too, so I changed the title of this post from, "A Killer Linux GUI For
Neovim: NeovimGtk", to "A Cross Platform GUI For Neovim: NeovimGtk"
[Comments on Reddit][reddit]
[kade-vimr]: https://medium.com/@kadek/a-killer-gui-for-neovim-vimr-ce68e4fa1a3b
[NeovimGtk]: https://github.com/daa84/neovim-gtk
[Rust]: https://www.rust-lang.org/
[PragmataPro]: https://www.fsd.it/shop/fonts/pragmatapro/
[ligatures]: https://en.wikipedia.org/wiki/Typographic_ligature
[daa84]: https://github.com/daa84
[VimR]: http://vimr.org/
[vim-plug]: https://github.com/junegunn/vim-plug
[AUR package]: https://aur.archlinux.org/packages/neovim-gtk-git
[devicons]: https://github.com/ryanoasis/vim-devicons
[Neomake]: https://github.com/neomake/neomake
[reddit]: https://www.reddit.com/r/neovim/comments/7n56ju/a_killer_linux_gui_for_neovim_neovimgtk/
[GNOME]: https://www.gnome.org/