/glrnvim

glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

glrnvim

All Contributors

Build Status

A really fast & stable neovim GUI could be accelated by GPU.

See the speed from the screenshot: screenshot

About

glrnvim combines OpenGL (possibly), Rust and NeoVIM together, to make the fastest, simplest neovim GUI.

The above things are not totally lie. The intention of this project was that I couldn't find a standalone neovim GUI fast and stable like the old gvim. All the existing neovim GUIs are either not fast enough (what do you expect from Electron?) or not stable enough. I have been using neovim-gnome-terminal-wrapper for a long time and it is much better than any other fancy GUIs. The only thing is, it doesn't support other terminals than gnome-terminal.

glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.

Requisites

Installation

Arch Linux

Install glrnvim from the AUR.

Debian/Ubuntu

cargo install cargo-deb
  • Clone the project. Then build and install the deb package system-wide by running the following command from the project's root directory.
cargo deb --install

MacOS

  • Install alacritty
brew install alacritty
  • Clone the project, then build. Create the config dir and modify the default config file (below) to specify alacritty.

Build

cargo build

Configuration

Modify example config and copy it to your XDG_CONFIG_HOME directory.

  • For Linux: $HOME/.config/glrnvim/config.yml
  • For MacOS: $HOME/Library/Preferences/glrnvim/config.yml
  • For Windows: {FOLDERID_RoamingAppData} (C:\Users\Alice\AppData\Roaming\glrnvim\config.yml)

Tips

Set glrnvim as the git editor for commit message

git config --global core.editor "glrnvim --nofork"

Check if it is running in a glrnvim instance in vim srcipt

if exists('g:glrnvim_gui')
    "do something
endif

Known Issues:

Color scheme doesn't work well with urxvt backend.

glrnvim uses set termguicolors to achieve an easy and better color scheme support. However, that requires the terminal to support true colors. Urxvt never has an official release to support it. Although the true color patch has been merged many years ago. If you are using Arch, just install rxvt-unicode-cvs from aur.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Stanislav Lapata
Stanislav Lapata

💻
Ye Yan
Ye Yan

💻
Lasse Wolter
Lasse Wolter

📖
David de Rosier
David de Rosier

📦
Jan Damm
Jan Damm

💻
Chinmay Dalal
Chinmay Dalal

💻
Matteo Bigoi
Matteo Bigoi

💻
LollipopFt
LollipopFt

💻
robacarp
robacarp

📖
Xing Guo
Xing Guo

💻

This project follows the all-contributors specification. Contributions of any kind welcome!