Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

SimpleNvimEditor

A simple, fast, native Neovim GUI written in Go, using the Gio UI toolkit.

It drives your real, unmodified nvim — your config, your plugins, your keymaps — inside a native, GPU-rendered window instead of a terminal emulator. No Electron, no bundled browser engine, no reimplementation of the editor: just Neovim, talking its standard UI protocol to a small Go binary.

What it offers

  • It's just Neovim. A GUI shell around a real nvim process (nvim_ui_attach), not a fork or reimplementation of the editor.
  • Native window rendering via Gio — no Electron, no embedded browser.
  • Cross-platform: Linux, macOS, and Windows.
  • Multigrid-aware rendering — window splits and floating windows (like completion popups) are drawn wherever Nvim actually places them.
  • Cursor shape (block/beam/underline) synced live from Nvim's mode info.
  • Keyboard and mouse input, including scroll wheel, mapped faithfully to Nvim's own input protocol.
  • Live window resizing.
  • A small, plain config.toml for font and Nvim-launch settings.
  • Nerd font support.

Simple and pure — no bloat, no bundled plugin marketplace, no telemetry.

Installing

(All installation packages are exclusively generated by github CI-CD pipeline, where all github security check is on. No 3rd party is involved, during the package creation.)

Grab a build for your platform from the Releases page. Nightly pre-releases are built from main.

Neovim 0.9+ must be installed and on your PATH — this is a GUI for Neovim, not a copy of it.

First launch: unsigned builds

Releases are not code-signed or notarized (that needs a paid Apple developer account and a Windows certificate). The binaries are fine; the OS just can't verify who made them, so it warns once:

  • macOS — right-click the app and choose Open, or:
    xattr -c /Applications/SimpleNvimEditor.app
  • Windows — on the SmartScreen prompt, click More infoRun anyway.

Every release does carry GitHub build provenance, so you can cryptographically confirm a download really was built by this repo's CI:

gh attestation verify <downloaded-file> -R kgfly/SimpleNvimEditor

Configuration

SimpleNvimEditor reads an optional TOML config file from your OS's standard config directory. It's entirely optional — sane defaults apply if it's missing, or if any field is left out:

OSPath
Linux~/.config/simplenvimeditor/config.toml
macOS~/Library/Application Support/simplenvimeditor/config.toml
Windows%AppData%\simplenvimeditor\config.toml
[editor]
font_size = 14font_family = "monospace"# set to your preferred font, e.g. "Hack Nerd Font Mono"
[nvim]
command = "nvim"# path or PATH-resolved nameextra_args = [] # extra args passed straight to nvim

You don't need to create this file to get started — the defaults shown above are exactly what's used if it's absent.

Command-line arguments

Use --maximized to start with a maximized window. Arguments after -- are forwarded unchanged to Nvim, including commands and Nvim flags:

simplenvim --maximized -- -c term -c edit /Users/user1/todo.txt

Documentation

  • doc/developer.md — everything about building, running, testing, and contributing.

License

MIT — see LICENSE.

About

Simple/Pure Nvim GUI in Go lang

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages