akiyosi / goneovim

A GUI frontend for neovim.
MIT License
2.41k stars 63 forks source link
cross-platform editor go golang gui ide neovim neovim-guis nvim nvim-plugin qt text-editor

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.

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.

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.

If you are a MacOS user, run xattr -c /path/to/goneovim.app to avoid the 'unknown developer' warning or the 'Goneovim is damaged and can't be opened' error.

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

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)