diff --git a/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.md b/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.md new file mode 100644 index 0000000..7a1b035 --- /dev/null +++ b/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.md @@ -0,0 +1,77 @@ +Back in October Kade Killary wrote, [A Killer GUI For Neovim: VimR][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. + +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, it's 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. + +[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 diff --git a/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.yaml b/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.yaml new file mode 100644 index 0000000..3391382 --- /dev/null +++ b/content/technical/2017/12/a-killer-linux-gui-for-neovim-neovimgtk.yaml @@ -0,0 +1,14 @@ +--- +title: 'A Killer Linux GUI For Neovim: NeovimGtk' +extra: 'Inspired by a post about the macOS Neovim GUI, VimR, I describe the one I + use on Linux: NeovimGtk.' +kind: article +section: technical +created_at: 2017-10-31 10:41:00.000000000 +11:00 +keywords: +- vim +- neovim +- linux +- gtk +- ligatures +short_url: http://j.mp/2DASGTC diff --git a/output/images/2017/neovim-gtk-gui-menu.png b/output/images/2017/neovim-gtk-gui-menu.png new file mode 100644 index 0000000..ce8a0db Binary files /dev/null and b/output/images/2017/neovim-gtk-gui-menu.png differ diff --git a/output/images/2017/neovim-gtk-ligatures.png b/output/images/2017/neovim-gtk-ligatures.png new file mode 100644 index 0000000..527e0ff Binary files /dev/null and b/output/images/2017/neovim-gtk-ligatures.png differ diff --git a/output/images/2017/neovim-gtk-native-tabs.png b/output/images/2017/neovim-gtk-native-tabs.png new file mode 100644 index 0000000..4c766d5 Binary files /dev/null and b/output/images/2017/neovim-gtk-native-tabs.png differ diff --git a/output/images/2017/neovim-gtk-plugin-manager.png b/output/images/2017/neovim-gtk-plugin-manager.png new file mode 100644 index 0000000..66ecd6d Binary files /dev/null and b/output/images/2017/neovim-gtk-plugin-manager.png differ diff --git a/output/images/2017/neovim-gtk-project-switcher.png b/output/images/2017/neovim-gtk-project-switcher.png new file mode 100644 index 0000000..13ae882 Binary files /dev/null and b/output/images/2017/neovim-gtk-project-switcher.png differ diff --git a/output/images/2017/neovim-gtk-wide-glyphs.png b/output/images/2017/neovim-gtk-wide-glyphs.png new file mode 100644 index 0000000..1bc0674 Binary files /dev/null and b/output/images/2017/neovim-gtk-wide-glyphs.png differ