# Goneovim: a Qt-based Neovim GUI that is now in maintenance mode

> Goneovim is a cross-platform Neovim GUI written in Go on top of a Qt binding. Its README states that the project is no longer under active development because Qt 5.15 reached end-of-life, and points to a successor project.

**akiyosi/goneovim** — A GUI frontend for neovim.

- Repository: https://github.com/akiyosi/goneovim
- Stars: 2,624 · Forks: 68
- Language: Go
- License: MIT
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/akiyosi-goneovim

## What Goneovim adds on top of a terminal Neovim

Neovim is built around terminal workflows, and the README argues that a GUI is not necessary for everyone. It then lists what a graphical frontend can add: more meta keys available to a keyboard-driven editor, pixel-based scrolling, and different font families and point sizes per window. The README also notes that Neovim's embedded terminal via :terminal still works inside the GUI, and that remote control tools such as nvr can be used to avoid running nvim inside nvim. The target reader is someone who already uses Neovim and wants a desktop window rather than a terminal emulator. The project is a fork of Gonvim, kept for maintenance and enhancement, and it is written in Go against a Qt binding for Go.

## How the Go frontend talks to Neovim

The module path is github.com/akiyosi/goneovim and go.mod requires github.com/neovim/go-client v1.2.2-0.20240514170004-863141a115a5, which is the RPC client the GUI uses to drive a Neovim instance. The Qt side comes from github.com/akiyosi/qt, and go.mod also pulls github.com/akiyosi/goqtframelesswindow for window handling, github.com/BurntSushi/toml and github.com/mitchellh/go-homedir for configuration, github.com/bluele/gcache for caching, github.com/jessevdk/go-flags for command-line flags, github.com/atotto/clipboard plus the README's mention of an own clipboard provider, and github.com/mattn/go-isatty. The repository layout separates the entry point (cmd/), the editor implementation (editor/), file listing (filer/), and runtime assets (runtime/), with a generate_objcbridge.go file at the top level. The Makefile defines CGO_ENABLED=1, so the build is cgo-dependent and not a pure-Go static binary. The README states the project requires Neovim v0.11 or Nightly, which means the RPC surface it expects is pinned to a recent Neovim generation.

## Installing Goneovim on Windows and macOS

The README points to pre-built packages for Windows, macOS and Linux on the Releases page, and says the latest binary can also be taken from the GitHub Actions CI page. On Windows, scoop is the documented package manager route. The first command adds the extras bucket and the second installs the stable package; a versions bucket with goneovim-nightly is also documented for nightly builds.

```bash
scoop bucket add extras
scoop install goneovim
```

On macOS the README documents a Homebrew cask install. Because the application is unsigned, the README says the quarantine attribute must be cleared after you obtain goneovim.app, otherwise macOS reports an unknown developer or claims the app is damaged.

```bash
brew install --cask goneovim
xattr -c /path/to/goneovim.app
```

After either install, launching the binary attaches to a Neovim v0.11 or Nightly instance; the README gives no separate first-run command.

## Configuring fonts, scrolling and windows after launch

Once a Neovim instance is attached, the README says the GUI supports the guifont, guifontwide, guifont=* and linespace options, plus guicursor, and that neovim-gui-shim is not needed. Those are Neovim options, so they belong in your Neovim configuration rather than in a Goneovim-specific file. The README gives no example values for them, so the exact syntax is the one Neovim documents for guifont. Other features listed as available include smooth pixel scroll for both touchpad and Vim scroll commands, an animated cursor, ligatures, a built-in indent guide, a scrollbar, a workspace feature that manages multiple nvim instances, externalizable tabline, popupmenu, wildmenu, cmdline and messages, per-character font fallback, mouse support, attach and connect to a remote nvim, WSL integration on Windows, drag and drop of files, an input method editor for east Asian users, application window transparency, and desktop notifications for messages emitted by nvim. The README marks independent font settings per window and the minimap as experimental. Usage details are deferred to :h goneovim or the project wiki, which means the README itself is not a complete manual.

## Where Goneovim is the wrong choice

The README carries an explicit project status update: because Qt 5.15 reached end-of-life, active development has been discontinued, and only critical bug fixes and security updates will be addressed. The author has started a separate Neovim GUI, Zonvie, built with Zig and native frontends, and states that future efforts are focused there. That is the main limitation, and it is a stated one rather than an inferred one. The last push to this repository was on 2026-07-16, and the most recent tagged release listed is v0.6.17 from 2026-02-03, so the code is not abandoned, but the README's own wording rules out describing it as actively developed. Anyone who needs a GUI that follows new Neovim RPC features quickly, or who wants upstream Qt fixes as Qt moves on, should treat this as a dead end. The unsigned macOS bundle is a second friction point: the documented workaround is a manual xattr command, not a notarized build.

## Neovide and the other GUIs the README lists

The README's similar projects section names Neovide, FVim, Gnvim and Uivonim. Neovide is the closest comparison in intent: it is also a Neovim GUI, and it is the one most people will weigh against Goneovim. The difference visible from this repository is the stack. Goneovim is Go plus a Qt binding, with CGO_ENABLED=1 in the Makefile, a Qt deployment step through qtdeploy, and a Qt version pinned in the Makefile. That gives it Qt's font handling and window behavior, and it is also why the Qt 5.15 end-of-life note exists in the README. A renderer-first GUI built without a Qt dependency does not inherit that constraint. If your reason for choosing Goneovim is the feature list rather than the toolkit, the toolkit is exactly the part you should evaluate, because it is the part the README says ended the project's active development.

## Licence, upgrade cost and building from source

The repository is MIT licensed, which permits reuse and redistribution under the terms in the LICENSE file; that is a statement about the licence text, not legal advice. Upgrade cost is the practical question here. The README says only critical bug fixes and security updates will be addressed, so an upgrade is unlikely to bring new features. The README's development section gives the source build order, and the Makefile shows what each step does.

```bash
make deps
make qt_bindings
make test
make app
```

The app target runs qtmoc, go generate, qtdeploy build desktop ./cmd/goneovim, and copies the runtime directory into a platform-specific deployment path chosen by OS. The Qt version used for bindings is pinned as QT_VER := v0.0.0-20251021043539-c059a317d6ad in the Makefile, and go.mod pins github.com/akiyosi/qt to the same pseudo-version, so a source build depends on that fork rather than on upstream therecipe/qt. If you are not prepared to build against a pinned Qt fork, use the released binaries.

## Conclusion

Goneovim suits people who want a packaged, keyboard-driven Neovim frontend with pixel scrolling, ligatures and an externalizable tabline, and who accept that the README declares active development discontinued and only critical fixes and security updates will follow. It is the wrong pick if you need a GUI that tracks Neovim releases closely, or if you want an unsigned-free macOS install: the Homebrew cask still requires running xattr -c on the app bundle. Before adopting it, check the Releases page for a build matching Neovim v0.11 or Nightly, and read the successor project the README names before committing to a workflow.

## FAQ

### Is Goneovim still actively maintained?

The README states that active development has been discontinued because Qt 5.15 reached end-of-life, and that only critical bug fixes and security updates will be addressed. The last push to the repository was on 2026-07-16, and the latest release listed is v0.6.17 from 2026-02-03. The README points readers to a separate project, Zonvie, for future work.

### Which Neovim version does Goneovim require?

The README's requirements section lists Neovim v0.11 or Nightly. It links to the Neovim installing wiki page rather than bundling Neovim itself.

### How do I install Goneovim on Windows or macOS?

Windows users can install through scoop with the extras bucket for the stable package or the versions bucket for goneovim-nightly. macOS users can install with brew install --cask goneovim, and because the app is unsigned the README says to run xattr -c on goneovim.app afterwards. Pre-built packages for Windows, macOS and Linux are also on the Releases page.

### Does Goneovim need neovim-gui-shim for guifont?

The README states that Goneovim supports the guifont, guifontwide, guifont=* and linespace options and that neovim-gui-shim is not needed.

## Sources

- [akiyosi/goneovim on GitHub](https://github.com/akiyosi/goneovim)
- [Issues](https://github.com/akiyosi/goneovim/issues)
- [License: MIT](https://github.com/akiyosi/goneovim/blob/master/LICENSE)
- [README](https://github.com/akiyosi/goneovim/blob/master/README.md)
- [Releases](https://github.com/akiyosi/goneovim/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/akiyosi-goneovim
