4 KiB
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](/images/2017/neovim-gtk-ligatures.png)
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](/images/2017/neovim-gtk-project-switcher.png)
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](/images/2017/neovim-gtk-plugin-manager.png)
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](/images/2017/neovim-gtk-wide-glyphs.png)
Native controls are used for the tab bar and pop-up menus.
![NeovimGtk displaying a native pop-up menu](/images/2017/neovim-gtk-gui-menu.png)
![NeovimGtk displaying open tabs using a native tab control](/images/2017/neovim-gtk-native-tabs.png)
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"