/goneovim

Neovim GUI written in Golang, using a Golang qt backend

Primary LanguageGoMIT LicenseMIT


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.

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
    • Markdown Preview
    • Minimap
    • Smooth scroll (with MacOS touch pad)
    • Workspace feature which manages multiple nvim
    • External File Explorer
    • Scrollbar
    • Support Ligature
    • Built-in Indent guide
    • Support 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 feature to a remote nvim
  • Basic feature as a Text Editor
    • Support multi byte character
    • Drag and Drop files
    • Support InputMethod Editor (for east asian users)
  • Miscellaneous
    • Supports application window transparency
    • Desktop Notification of the messages emitted nvim

Requirements

  • Neovim (v0.4.4 or later)

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.

Usage

See wiki

Development

See Development

ToDo

  • Add test

  • Improve Input Method Editor(IME) feature

  • Improve startup time

  • Support GPU rendering

  • Support neovim ui ext_statusline

Similar projects

Screenshots

  • Workspaces, external file explorer
  • Fuzzy Finder
  • Markdown preview
  • Minimap
  • Indentguide, display ligatures(Fira Code)
  • Transparent app window, Transparent message window
  • Independent font settings per window

Credits