neovim-gtk is a graphical user interface for Neovim, providing a desktop editing environment built around the GTK toolkit. It allows users to retain Neovim’s modal editing, configuration, and extensibility while working within a conventional graphical application.
This development branch began as a fork of daa84’s neovim-gtk project. It introduces substantial improvements to the rendering architecture, including a transition to GTK4, smoother window resizing, and changes to how graphical updates are processed.
The application integrates Neovim with familiar desktop controls while preserving access to the underlying editor’s commands and functionality. Configuration is handled through Neovim’s settings and GUI-specific commands.
This is free and open source software.
Key Features
- GTK4 interface with a snapshot-based rendering system replacing the original Cairo renderer.
- Supports font ligatures and configurable OpenType font features.
- Customizable editor fonts using the guifont setting in ginit.vim.
- Smooth window resizing with incremental updates to the editor’s grid representation.
- Graphical completion popup menu with support for scrolling through available suggestions and displaying additional information.
- External tabline and command-line interfaces can be enabled or disabled through GUI options.
- Project View provides access to previously opened files and bookmarked directories.
- Native GTK clipboard integration for copying and pasting text.
- Graphical plugin manager supporting a subset of vim-plug configuration options.
- Configurable cursor blinking, window decorations, transparency, and dark theme preferences.
- GUI-specific Neovim commands for managing the sidebar, project view, and application appearance.
- Asynchronous processing of UI requests and coalesced redraw notifications help maintain interface responsiveness.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/Lyude/neovim-gtk
Support:
Developer: Lyude Paul and contributors
License: GNU General Public License v3.0
neovim-gtk is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Neovim GUIs | Language | |
|---|---|---|
| Neovim-qt | Neovim client library and GUI using Qt5 | C++ |
| GoNeovim | Forked from Gonvim. Uses Qt binding | Go |
| FVim | Uses the Avalonia XAML-based UI framework | F# |
| Neovide | No nonsense client | Rust |
| GNvim | Rich GUI without any web bloat | Rust |
| NVUI | Modern frontend | C++ |
| glrnvim | GPU-accelerated Neovim GUI | Rust |
| NyaoVim | Web-enhanced extensible Neovim frontend | TypeScript |
| neovim-gtk | Uses gtk-rs bindings | Rust |
| Neoray | Uses GLFW and OpenGL bindings | Go |
| Envim | Electron-based frontend for Neovim | TypeScript |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |



Please read our Comment Policy before commenting.