A GUI frontend for neovim.
Find a file
akiyosi 7b545f7aff
Merge pull request #398 from akiyosi/use-mousescroll
Use mousescroll to scroll mouse
2022-09-27 00:30:24 +09:00
.github/workflows fix CI: update Qt 2022-09-26 22:29:10 +09:00
cmd/goneovim Fix a problem in which the password could not be input when the ssh option was specified in the default detached application startup. 2022-07-05 23:21:15 +09:00
editor Use mousescroll option for mouse scrolling. Also added a configuration item to control scrolling units 2022-09-26 22:41:29 +09:00
filer Set the minimum version requirement of nvim to 0.5.0 2021-10-09 20:45:56 +09:00
runtime/doc Use mousescroll option for mouse scrolling. Also added a configuration item to control scrolling units 2022-09-26 22:41:29 +09:00
util Add support letter spacing 2021-12-12 15:12:16 +09:00
.gitignore update: gitignore 2021-08-26 23:22:24 +09:00
.golangci.yml Minor fixes 2020-07-17 00:47:05 +09:00
Development.md Minor fixes for Development.md 2022-09-20 23:02:59 +09:00
goneovim.go rename project 2019-11-02 10:54:41 +09:00
LICENSE Create LICENSE 2017-08-27 04:26:33 +01:00
Makefile Minor fixes for CI 2022-08-07 18:20:41 +09:00
README.md docs: update README 2022-08-30 08:59:32 +09:00

Goneovim

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

Goneovim 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.

  • Fast (faster than neovim-qt)
  • Cross-platform
  • Modern Text Editor Features
    • Minimap
    • Smooth pixel scroll (Support for both touchpad and Vim scroll command reactions.)
    • Animated Cursor
    • Workspace feature which manages multiple nvim
    • Ligatures
    • Built-in Indent guide
    • Scrollbar
    • High DPI scaling
  • Features as neovim GUI
    • Externalizable tabline, popupmenu, wildmenu, cmdline, messsages
    • Support gui option: guifont, guifontwide, guifont=*, linespace, guicursor. You don't need neovim-gui-shim
    • Support mouse
    • Support for drawing borders and shadows in a float window
    • Independent font settings per window (currently experimental)
    • Attach/Connect feature to a remote nvim
  • 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

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

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

Windows users can install using scoop:

scoop bucket add extras
scoop install goneovim

or

scoop bucket add versions
scoop install goneovim-nightly

Mac users can install using homebrew:

brew install --cask goneovim

Usage

See :h goneovim or wiki

Screenshots

Workspaces

Smooth Scroll with touchpad

Smooth Scroll for neovim scroll commands

Minimap, External Float Window

Development

See Development

Similar projects

Credits