MCPcopy Index your code
hub / github.com/beeender/glrnvim

github.com/beeender/glrnvim @v1.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6.0 ↗ · + Follow
63 symbols 136 edges 9 files 2 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

glrnvim logo

All Contributors

=======

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 💻 cat æscling cat æscling 💻

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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 30
Method 23
Class 8
Enum 1
Interface 1

Languages

Rust100%

Modules by API surface

src/config.rs15 symbols
src/backend/alacritty.rs12 symbols
src/main.rs6 symbols
src/backend/mod.rs6 symbols
src/error.rs5 symbols
src/backend/wezterm.rs5 symbols
src/backend/kitty.rs5 symbols
src/backend/foot.rs5 symbols
src/backend/urxvt.rs4 symbols

For agents

$ claude mcp add glrnvim \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page