A GUI frontend for neovim.
Find a file
akiyosi 0df49da78b
Some checks failed
CI / test-and-build-linux (1.21.x, ubuntu-22.04, 5.15.16) (push) Has been cancelled
CI / test-and-build-macos-x86_64 (1.21.x, macos-13) (push) Has been cancelled
CI / test-and-build-macos-arm64 (1.21.x, macos-14, 5.15.16) (push) Has been cancelled
CI / test-windows-mingw (1.21.0, windows-latest) (push) Has been cancelled
CI / build-windows-mingw (1.21.0, windows-latest) (push) Has been cancelled
Merge pull request #588 from thjbdvlt/hyper-keys
Add Hyper_L/R to the list of non-input keys
2025-06-16 23:51:16 +09:00
.github/workflows fix(ci): update GitHub Actions workflow for Windows build and release 2025-06-16 08:26:27 +09:00
cmd/goneovim Add LSEnvironment to Info.plist to disable async preemption on macOS (related to #577) 2025-04-12 12:39:45 +09:00
editor Add Hyper_L/R to the list of non-input keys 2025-06-16 10:51:13 +02:00
filer update for akiyosi/qt 2023-07-19 08:38:12 +09:00
runtime/doc Added help for goneovim 2024-09-16 08:29:06 +09:00
util update for akiyosi/qt 2023-07-19 08:38:12 +09:00
.gitignore Add note for macOS users 2025-01-05 09:44:27 +09:00
.golangci.yml Minor fixes 2020-07-17 00:47:05 +09:00
Development.md Update doc 2023-11-21 00:34:04 +09:00
generate_objcbridge.go Fix possible memory access violation in cgo code 2024-06-14 14:53:12 +09:00
go.mod bump neovim/go-client to latest version 2024-06-23 01:16:57 +09:00
go.sum bump neovim/go-client to latest version 2024-06-23 01:16:57 +09:00
goneovim.go Add ability to open files from Finder in macOS 2024-06-09 23:00:32 +09:00
LICENSE Create LICENSE 2017-08-27 04:26:33 +01:00
Makefile Fix typo in Makefile (& instead of &&). 2025-06-16 11:00:25 +02:00
nvim.log Fix placement process for notification messages 2025-03-10 12:03:56 +09:00
README.md v0.6.14 2025-06-16 10:28:41 +09:00
Untitled Minor fixes for text underline thickness 2025-04-17 21:53:17 +09:00

goneovim

CI Go Report Card GitHub Releases Join the chat at https://gitter.im/goneovim/community

goneovim (pronounced like "go-neovim") is a Neovim GUI written in Go, using a Qt binding for Go. This repository forked from the original Gonvim for the purpose of maintenance and enhancement.

Why Neovim GUI

Traditionally, Neovim (and even Vim) has been optimized for working with Terminal, and some Terminal-based workflows cannot be achieved with a GUI. Therefore, for some people, a GUI would be an unnecessary additional stuff. On the other hand, in my opinion, there are some attractive features of GUI as follows.

  • More meta keys can be used
    • Since Neovim performs all of its operations with the keyboard, having more meta keys available is a simple advantage.
  • Terminal is also available in Neovim GUI
    • Neovim has an embedded terminal emulator that can be run in :terminal, so you can run basic terminal workflows using :terminal with bash or zsh in Neovim GUI. It is also possible to use remote control tools such as nvr to avoid nvim in nvim in Neovim GUI.
  • Experience the rich drawing expressions of GUI
    • For example, it is possible to scroll based on pixels, to set different font families and point sizes for each window.

If you are interested in these GUI attractions, try goneovim.

Features

All of the features are optional. You can use it like a plain nvim or as a nvim with a rich UI.

  • Cross-platform
  • Modern Text Editor Features
    • Smooth pixel scroll (Support for both touchpad and Vim scroll command reactions.)
    • Animated Cursor
    • Ligatures
    • Built-in Indent guide
    • Scrollbar
    • Workspace feature which manages multiple nvim
  • Features as neovim GUI
    • Externalizable tabline, popupmenu, wildmenu, cmdline, messages
    • Support gui option: guifont, guifontwide, guifont=*, linespace, guicursor. You don't need neovim-gui-shim
    • Supports per character font fallback feature
    • Support mouse
    • Independent font settings per window (experimental)
    • Attach/Connect feature to a remote nvim
    • WSL integration (for Windows)
    • Own clipboard provider
  • Basic feature as a Text Editor
    • Multi byte character
    • Drag and Drop files
    • InputMethod Editor (for east asian users)
  • Miscellaneous
    • Supports application window transparency
    • Desktop Notification of the messages emitted nvim

Requirements

See Installing Neovim

Getting Started

Download from Github

Pre-built packages for Windows, MacOS, Linux are found at the Releases page.

Or you can get the latest binary from Github Actions CI. See Actions page.

Install via Package Manager

Windows users can install using scoop:

scoop bucket add extras
scoop install goneovim

or

scoop bucket add versions
scoop install goneovim-nightly

MacOS users can install using homebrew:

brew install --cask goneovim

Note

If you are a macOS user, since this is an unsigned application, you need to execute the following command after obtaining goneovim.app:

xattr -c /path/to/goneovim.app

This will help you avoid the "unknown developer" warning or the "Goneovim is damaged and can't be opened" error.

Usage

See :h goneovim or wiki

Development

  1. Clone this repo and cd into the repo
  2. make qt_bindings
  3. make deps
  4. make app

For more information, see Development

Similar projects

Credits

Screenshots

Workspaces

Smooth Scroll with touchpad

Smooth Scroll for neovim scroll commands

External Float Window, Minimap(experimental)