Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beeender/glrnvim
glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.
https://github.com/beeender/glrnvim
neovim neovim-guis opengl
Last synced: 3 days ago
JSON representation
glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.
- Host: GitHub
- URL: https://github.com/beeender/glrnvim
- Owner: beeender
- License: gpl-3.0
- Created: 2019-03-21T03:57:06.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T05:15:18.000Z (4 months ago)
- Last Synced: 2025-01-18T18:16:50.504Z (9 days ago)
- Topics: neovim, neovim-guis, opengl
- Language: Rust
- Homepage:
- Size: 669 KB
- Stars: 303
- Watchers: 9
- Forks: 15
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
glrnvim
[![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors-)
[![Build Status](https://travis-ci.com/beeender/glrnvim.svg?branch=master)](https://travis-ci.com/beeender/glrnvim)
=======A really fast & stable neovim GUI could be accelated by GPU.
See the speed from the screenshot:
![screenshot](screenshot/very_fast.gif)## About
glrnvim combines Open**GL** (possibly), **R**ust and **N**eo**VIM** 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](https://github.com/fmoralesc/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
* [alacritty](https://github.com/jwilm/alacritty)/[kitty](https://github.com/kovidgoyal/kitty)/[rxvt-unicode](http://software.schmorp.de/pkg/rxvt-unicode.html)/[wezterm](https://wezfurlong.org/wezterm/)
* [neovim](https://neovim.io)## Installation
### Arch Linux
Install `glrnvim` from the AUR.
### Debian/Ubuntu
- Install [cargo-deb](https://github.com/mmstick/cargo-deb).
```
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
```sh
cargo build
```## Configuration
Modify [example config](https://github.com/beeender/glrnvim/blob/master/config.yml) 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
```sh
git config --global core.editor "glrnvim --nofork"
```### Check if it is running in a glrnvim instance in vim srcipt
```viml
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](https://aur.archlinux.org/packages/rxvt-unicode-cvs) from aur.
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Stanislav Lapata
💻
Ye Yan
💻
Lasse Wolter
📖
David de Rosier
📦
Jan Damm
💻
Chinmay Dalal
💻
Matteo Bigoi
💻
LollipopFt
💻
robacarp
📖
Xing Guo
💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!