Veil: A Neovim GUI Built for Efficiency, Not for Cool

I've been a Vim user for 20 years. For most of that time on macOS, MacVim defined my workflow: multiple windows in a single app, Cmd+` to switch between projects, Cmd+1/2/3 to jump to tabs. It was fast, native, and stayed out of the way.

When I moved to Neovim, that workflow disappeared. Most Neovim GUIs followed the gVim model: each instance is a separate process, no way to Cmd+` between them. VimR was the exception, but its Redux architecture made startup and session loading noticeably slow.

So I built Veil.

Veil screenshot

What it is

A minimal, native macOS wrapper for Neovim. Your config, your plugins, in proper macOS windows. Designed for focus. No visual noise, no distractions.

The philosophy is simple: embrace native macOS GUI advantages while preserving the Linux/Vim tradition you've built over the years.

Veil uses your system-installed Neovim and communicates via the standard msgpack-RPC protocol. Nothing is bundled. The download is ~1 MB. Open source, MIT licensed.

What it does

Neovim does the editing. Veil handles everything a native macOS app should:

  • Native multi-window: each window runs an independent Neovim process. A first-class citizen in your macOS Space management.
  • Tabs: Cmd+1 through Cmd+9 to switch. By default Veil lets Neovim handle the tabline, so your favorite tabline plugin works as expected.
  • Instant startup: sub-second cold start. Multi-tab session loading without the lag.
  • Metal-accelerated: GPU rendering with custom-drawn box-drawing and block element characters for pixel-perfect lines.
  • Full key passthrough: as a native app instead of a terminal process, nearly all key sequences reach Neovim without being intercepted.
  • System integration: standard macOS menu actions, trackpad scrolling, font ligatures.
  • Seamless remote: connect to remote Neovim instances over TCP with seamless clipboard integration.
  • CJK ready: input methods just work.

What it doesn't do

No animations. No cursor effects. No scroll easing. No transition flourishes. These things pull your eyes away from what really matters: the text.

Vim is a tool built for focused, efficient work. Veil chooses to keep things quiet.

Get started

brew tap 0x1b2c/veil
brew install --cask veil

Or download from GitHub Releases.

Requires macOS 14+ and Neovim 0.10+.

Veil on GitHub | The story behind Veil (coming soon)