Vim meets VSCode.
Built in Rust.

A code editor that feels like Vim when you want it and VSCode when you need it. GTK4 desktop app or terminal—your choice. Switch with --tui.

5,199 tests 20 languages 6 built-in themes 0 GPU required
Screenshot coming soon

Everything you need, built in

No plugins required for the essentials. Batteries included.

Modal Editing

Full Vim keybindings: modes, operators, motions, text objects, registers, macros, marks. 99% Vim command compatibility.

🗂

Modern UX

Tabbed editor groups, breadcrumbs, command palette, menu bar, context menus, file explorer, and mouse support. Toggle VSCode edit mode with Alt-M.

🖥

Dual Backend

GTK4 graphical window for your desktop. Full-featured terminal UI for SSH and headless servers. Same codebase, same keybindings.

🔍

LSP Intelligence

Completions, go-to-definition, hover docs, diagnostics, code actions, rename, semantic token highlighting. Auto-installs language servers.

🐞

DAP Debugger

Breakpoints, stepping, variable inspection, call stack, watch expressions, conditional breakpoints. Six adapter types supported.

🎨

Tree-sitter Highlighting

Fast, incremental syntax highlighting for 20 languages. Accurate even during edits. No regex hacks.

💻

Integrated Terminal

Embedded terminal panel with tabs, split panes, scrollback, find-in-output, and 256-color rendering. No context switching.

🧩

Lua Plugin System

Extend the editor with Lua 5.4 scripts. Register commands, keymaps, and event hooks. Extension registry with one-click install.

🤖

AI Assistant

Built-in chat panel supporting Anthropic Claude, OpenAI, and local Ollama models. Inline AI completions with ghost text.

Git Integration

Gutter diff markers, inline diff peek, hunk staging, blame, branch switching, commit from the source control panel.

🔎

Fuzzy Finder

Telescope-style unified picker for files, symbols, buffers, grep, commands, branches, and more. Ctrl-P to open.

🎨

Themes

Six built-in color schemes including OneDark, Gruvbox, and VSCode Light. Import any VSCode JSON theme file.

Get started in seconds

Install via Homebrew (Apple Silicon):

brew tap JDonaghy/vimcode
brew install vimcode

Requires GTK4: brew install gtk4

Download the .deb from the latest release:

wget https://github.com/JDonaghy/vimcode/releases/latest/download/vimcode_amd64.deb
sudo dpkg -i vimcode_amd64.deb

Requires GTK 4.10+ (Ubuntu 24.04+ recommended).

Download the Flatpak bundle from the latest release:

flatpak install vimcode.flatpak
flatpak run io.github.jdonaghy.VimCode

Build from source (requires Rust toolchain and GTK4 dev headers):

git clone https://github.com/JDonaghy/vimcode.git
cd vimcode
cargo build --release
./target/release/vimcode

TUI-only (no GTK dependency): cargo build --release --bin vcd

Why VimCode?

vs. Vim / Neovim

Real GUI with menus, dialogs, mouse support, and a command palette. Built-in LSP, debugger, terminal, and file explorer without configuring dozens of plugins. Same modal editing muscle memory.

vs. VSCode

True modal editing as a first-class feature, not an extension fighting the host editor. Rust core instead of Electron. Starts instantly, uses a fraction of the memory. No telemetry.

vs. Zed

No GPU required—works in VMs, remote desktops, and over SSH. Full terminal UI mode for headless servers. CPU-rendered via Cairo, runs anywhere X11 or Wayland is available.

vs. configuring everything yourself

LSP, DAP, tree-sitter, terminal, git, fuzzy finder, AI, themes, and 5,199 tests out of the box. One binary, zero runtime dependencies beyond GTK4. Works on first launch.