1.4.1 (2026-04-11)
- re-apply paste fix and unify with Windows improvements (c96a017)
1.4.0 (2026-03-19)
1.3.1 (2026-03-19)
1.3.0 (2026-03-19)
- diff preview path resolution, stale triggers, and add accept/reject keybindings (38378f3)
- add diff preview for Claude Code edit suggestions (73cb65d)
All notable changes to vim-claude-code are documented here. Format follows Keep a Changelog. Versioning follows Semantic Versioning.
- Customizable mapping prefix — Introduced
g:claude_code_map_extended_prefix(defaults to<Leader>c) allowing users to move all Claude-related keybindings to a custom prefix to avoid conflicts (#17). - README documentation — Updated documentation to reflect the new configuration options.
- Code cleanliness — Removed stray syntax artifacts (stray quotes) in the plugin entry point.
- New default layout —
g:claude_code_positionnow defaults to'right'(vertical split) for improved readability and side-by-side context. - Documentation overhaul — Streamlined
README.md, moved changelog to the bottom, and clarified Quick Start commands.
- Updated project version constants and badges to
1.1.0.
- Restore scroll behaviour for Claude response split window
- Ensure standard Vim scrolling works on response buffer (line-up/down, mouse wheel, PageUp/PageDown)
- Resolved buffer options that prevented scrolling in certain terminals
- Better buffer configuration for Claude output to support navigation and movement keys
- Version guard — Plugin refuses to load on Vim < 8 with a clear
echoerrmessage. g:claude_code_version— Plugin version constant ("1.0.0").g:claude_code_debug— Debug mode flag (default0). When1, logs dispatch calls, git operations, terminal launches, and refresh events to the message area.:Claude version— Prints plugin version, Vim version, Claude CLI version (if installed), and terminal feature availability.:Claude doctor— Health check: reports[OK]/[FAIL]for Claude CLI, Git, terminal support, and Vim version with friendly guidance on failures.claude_code#util#error(msg)— Centralized error display usingErrorMsghighlight; replaces all inlineechohl ErrorMsg / echomsg / echohl Noneblocks.claude_code#util#debug(msg)— Lightweight debug logger gated ong:claude_code_debug.claude_code#util#confirm(prompt)— Shared yes/no prompt helper.- Git safety —
:Claude commit,:Claude review,:Claude prnow verifyexecutable('git')before running and emit a friendly error if git is absent. - Apply confirmation —
:Claude applypromptsApply changes to file <name>? (y/n)before sending the destructive write instruction to Claude. Cancellable withn. - Terminal debug logging —
terminal#toggle,s:create_new, and refresh start now callclaude_code#util#debug(). - Vader test suite —
test/test_dispatch.vadercovers: plugin constants, util helpers, visual selection, config round-trips, git root detection, and terminal/meta command presence. - GitHub Actions CI —
.github/workflows/ci.ymlruns tests on Vim stable and nightly. CHANGELOG.md— This file.SECURITY.md— Security policy: local-only execution model, no remote calls from Vim, local-only git operations.LICENSE— MIT license.
- All internal error messages now route through
claude_code#util#error(). - Terminal creation failure uses the centralized error handler.
versionanddoctoradded to:Claude <Tab>completion.
Initial development. No formal changelog kept.