Highlights
- Normal, Insert, Visual, Visual-Line, and Visual-Block editing with motions, operators, text objects, counts, registers, dot-repeat, and branching undo.
- Split windows with independent cursors and viewports, mouse interaction, scrollbars, and persistent resizing.
- Tree-sitter highlighting and rendered Markdown presentation.
- LSP diagnostics, completion, hover, definitions, inlay hints, document outline, Health reporting, and managed language-server installation.
- Generic command, file, buffer, diagnostics, and search pickers.
- A full-screen Explorer workspace with Explorer, Git, and Commander surfaces.
- Git signs, hunk review/stage/discard, repository staging, and an editable commit workflow.
- External formatting and format-on-save.
- Provider-neutral prompt actions with Claude and GitHub Copilot adapters, plus Copilot popup completion.
- Data-only configuration: editor settings, keymaps, themes, language servers, formatters, and AI choices live in TOML. There is no embedded scripting language.
Platforms
kvim targets Windows, Linux, and macOS. Windows is the primary development platform. It expects a modern terminal emulator with true color and the Kitty or iTerm2 keyboard protocol; legacy and dumb terminals are not supported.
Installation
Every release ships:
- Windows x86_64: signed
kvim-<version>-x86_64-pc-windows-msvc.zip - macOS arm64 and x86_64:
kvim-<version>-<target>.tar.gz - Fedora x86_64 and aarch64:
kvim-<version>-1.<arch>.rpm
Unpack the archive and place kvim on your PATH. On Fedora, install the RPM with dnf; it also installs kvim-update, which downloads and installs the newest release in place. See docs/fedora.md for the full workflow.
Building from source
kvim is a Cargo workspace (kvim-core, kvim-tui, and the kvim application) and requires Rust 1.94 or newer.
cargo build --release
./target/release/kvim path/to/fileThe standard repository-wide checks are:
cargo test --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo fmt --all -- --checkDocumentation
- docs/lsp.md: language-server configuration and managed installation.
- docs/formatting.md: formatter configuration and format-on-save behavior.
- docs/files.md: the Explorer workspace and file operations.
- docs/git.md: Git signs, hunk review, staging, and commits.
- docs/spell-check.md: spell checking.
- docs/copilot.md: Copilot installation, authentication, completion, and privacy boundary.
- docs/ai.md: prompt-provider selection, Claude setup, and transmitted data.
- docs/kterm.md: cooperative split navigation between kvim and Kterm panes.
- docs/debugging.md: logging and troubleshooting.
- docs/third-party-notices.md: vendored/generated-data attribution.
Non-goals
- Plugin systems, dynamic loading, Vimscript, or another embedded language.
- A general-purpose Ex implementation beyond the supported fixed commands.
- A GUI or legacy-terminal compatibility layer.
- A full Git client for branching, merging, or rebasing.
- Automatic AI-driven commits or filesystem/repository mutation.