explaingit

qvacua/vimr

6,955SwiftAudience · developerComplexity · 2/5Setup · easy

TLDR

VimR is a native macOS app that wraps Neovim in a graphical window with tabs, a file browser, fuzzy finder, and Markdown preview, while keeping all Vim keyboard shortcuts and plugin compatibility.

Mindmap

mindmap
  root((VimR))
    What it does
      Neovim GUI for Mac
      Native window
      File browser and tabs
    Tech Stack
      Swift
      Cocoa framework
      Neovim embedded
      Xcode build
    Use Cases
      Neovim without terminal
      Embed in own Mac app
      CLI file opening
    Features
      Fuzzy finder
      Markdown preview
      Trackpad gestures
      Font ligatures
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Use Neovim with a native macOS graphical interface, including tabs, file browser, and trackpad gestures, without staying in a terminal.

USE CASE 2

Embed Neovim in your own macOS app using the NvimView Swift package as a self-contained UI component.

USE CASE 3

Open files from the macOS terminal in a graphical Neovim window using the vimr command-line tool.

USE CASE 4

Build a custom Neovim-based Mac editor using VimR's reusable workspace layout and tab-bar Swift modules.

Tech stack

SwiftObjective-CNeovimCocoaXcode

Getting it running

Difficulty · easy Time to first run · 5min

Pre-built signed and notarized binaries are on the Releases page, building from source requires Xcode 26 and Homebrew.

In plain English

VimR is a macOS desktop application that wraps Neovim, a highly configurable text editor popular with developers, inside a native Mac interface. Neovim itself is a terminal program with no graphical window of its own, VimR gives it one, complete with things like a file browser, tabs, a fuzzy file finder, and Markdown preview, while keeping all the editing capabilities and keyboard shortcuts that Neovim users expect. The application is written in Swift using Apple's Cocoa framework, so it looks and behaves like a native Mac app. It requires macOS 13 or later and ships as a pre-built, signed, and notarized binary that you can download directly from the Releases page without building anything yourself. One notable aspect of the project is that its core components are packaged as separate, reusable Swift modules. The main one is NvimView, a self-contained UI component that bundles everything needed to embed Neovim inside any Cocoa app, including the Neovim binary itself. Other modules cover things like tab bars, workspace layout (similar to how JetBrains IDEs arrange panels), and a gitignore-style pattern matcher. Developers who want to build their own Neovim-based Mac tools can use these packages independently. Features include pinch-to-zoom and two-finger scrolling on a trackpad, optional font ligature support, a generic HTML preview pane, and a command-line tool for opening files from the terminal. Building from source requires Xcode 26 and Homebrew. The project uses a shell script to handle the full build sequence, with options to skip notarization for local testing.

Copy-paste prompts

Prompt 1
Set up VimR on my Mac and configure it to open files from the terminal using the vimr command-line tool so I can stay in my normal workflow.
Prompt 2
Show me how to use the NvimView Swift package to embed Neovim inside my own macOS Cocoa app as a reusable UI component.
Prompt 3
Configure VimR with my existing Neovim init.lua so all my plugins and key mappings work in the graphical Mac interface.
Prompt 4
Build VimR from source using the project's build script and Xcode 26 so I can test a local change to the NvimView module.
Prompt 5
Enable font ligature support and pinch-to-zoom in VimR so the editor feels like a native Mac app.
Open on GitHub → Explain another repo

← qvacua on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.