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.
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.