nvim-ui icon indicating copy to clipboard operation
nvim-ui copied to clipboard

gtk4 GUI for neovim

nvim-ui

NeoVim UI implemented in C++ using gtk4. Gtk C++ wrappers are generated from GObject introspection. See the related project sakhnik/gir2cpp.

Why yet another NeoVim GUI?

I need an easy deployable low latency UI for NeoVim in Windows. It should be both simple and flexible. After evaluation of the available ones from the related projects, I had to rule out almost every single one. The criteria were:

  • No Electron (show stopper)
  • Ability to run in KVM
  • Proper text rendering, for instance, with combining characters: на́голос
  • Simple code to be a playground for ideas

Turns out, it's quite easy to code after experiments with SpyUI.

Installation

Linux

Prerequisites:

The required font DejaVuSansMono.ttf is ubiquitously available in Linux.

./scripts/build.sh

Windows

In Windows, the required font could be installed with chocolatey: choco install dejavufonts.

choco install neovim --pre
choco install dejavufonts
choco install nvim-ui