ScriptsMay 14, 2026·3 min read

Neovide — No Nonsense Neovim GUI Client in Rust

A GPU-accelerated graphical frontend for Neovim written in Rust that adds smooth cursor animations, ligature support, and native window management while running your existing Neovim config unchanged.

Agent ready

This asset can be read and installed directly by agents

TokRepo exposes a universal CLI command, install contract, metadata JSON, adapter-aware plan, and raw content links so agents can judge fit, risk, and next actions.

Stage only · 29/100Stage only
Agent surface
Any MCP/CLI agent
Kind
CLI Tool
Install
Single
Trust
Trust: Established
Entrypoint
Neovide Overview
Universal CLI install command
npx tokrepo install 20d4427e-4fb1-11f1-9bc6-00163e2b0d79

Introduction

Neovide is a standalone GUI frontend for Neovim built with Rust and Skia. It connects to Neovim via the msgpack RPC protocol and renders the editor with GPU acceleration, adding smooth scrolling, animated cursor transitions, and font ligature support on top of your existing terminal-based configuration.

What Neovide Does

  • Renders Neovim in a native window with GPU-accelerated graphics via Skia
  • Adds smooth cursor movement animations and particle effects
  • Supports font ligatures and emoji rendering that terminals often lack
  • Communicates with Neovim over the built-in RPC interface transparently
  • Runs your existing init.lua or init.vim configuration without changes

Architecture Overview

Neovide embeds a Neovim process and communicates via the msgpack-rpc UI protocol. Neovim sends screen updates as grid events, and Neovide renders them using Skia, a 2D graphics library backed by OpenGL, Vulkan, or Metal depending on the platform. The cursor, scroll, and window animations are interpolated client-side between Neovim's discrete screen updates, giving a fluid feel without modifying Neovim itself.

Self-Hosting & Configuration

  • Install via Homebrew, Cargo, or platform-specific packages
  • Launch with neovide to start Neovim inside the GUI
  • Configure Neovide-specific options via g:neovide_* variables in your Neovim config
  • Set g:neovide_cursor_vfx_mode to choose cursor particle effects
  • Adjust g:neovide_transparency for window opacity on supported platforms

Key Features

  • Skia-based GPU rendering for consistent cross-platform graphics
  • Animated cursor with multiple visual effect modes (railgun, torpedo, pixiedust)
  • Full font ligature and fallback font chain support
  • Smooth scrolling interpolated between Neovim screen updates
  • IME support for CJK and other complex input methods

Comparison with Similar Tools

  • Terminal Neovim — no GUI overhead; Neovide adds animations and ligatures unavailable in terminals
  • Neovim-Qt — Qt-based GUI; Neovide uses Skia for smoother rendering and richer effects
  • VimR — macOS-only GUI for Neovim; Neovide is cross-platform (Windows, macOS, Linux)
  • goneovim — Go-based Neovim GUI; Neovide leverages Rust and Skia for performance
  • FVim — .NET-based GUI; Neovide is lighter with fewer runtime dependencies

FAQ

Q: Does Neovide modify my Neovim config? A: No. Neovide connects to Neovim over RPC and renders the output. Your config runs exactly as in a terminal.

Q: Can I disable cursor animations? A: Yes. Set g:neovide_cursor_animation_length to 0 in your Neovim config.

Q: Does Neovide support multiple windows? A: Neovide runs one Neovim instance per window. Use Neovim splits and tabs inside that window.

Q: What GPU backends are supported? A: Neovide uses Skia which supports OpenGL, Vulkan, Metal, and Direct3D depending on the platform.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets