WezM.net Menu

A Cross Platform GUI For Neovim: NeovimGtk

Published on Sun, 31 December 2017

Back in October Kade Killary wrote, A Killer GUI For Neovim: 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
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.

NeovimGtk displaying the file/project picker
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.

NeovimGtk plugin manager
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.

NeovimGtk displaying a double wide warning symbol next to a line with a compiler warning
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.

NeovimGtk displaying a native pop-up menu
Native pop-up menu.

NeovimGtk displaying open tabs using a native tab control
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

Comment icon Stay in touch!

Follow me on Twitter, or Mastodon, subscribe to the feed, or send me an email.

Short URL: http://j.mp/2DASGTC