https://github.com/keitheis/claude-code.vim
Vim/MacVim integration for Claude Code
https://github.com/keitheis/claude-code.vim
Last synced: 3 months ago
JSON representation
Vim/MacVim integration for Claude Code
- Host: GitHub
- URL: https://github.com/keitheis/claude-code.vim
- Owner: keitheis
- License: mit
- Created: 2025-10-17T16:40:15.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T07:12:44.000Z (4 months ago)
- Last Synced: 2026-02-20T13:59:31.577Z (4 months ago)
- Language: Vim Script
- Size: 16.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Claude Code Vim Plugin
This plugin integrates the [Claude Code](https://claude.com/product/claude-code) CLI with Vim and MacVim.
## Features
- Run Claude Code inside a Vim terminal window
- Auto reload files changed by Claude
- Git project detection
- Configurable key mappings and commands
## Installation
### vim-plug
```vim
Plug 'keitheis/claude-code.vim'
```
### Vundle
```vim
Plugin 'keitheis/claude-code.vim'
```
### Manual
Clone the repository into your `~/.vim` or `~/.vim/pack` directory.
## Configuration Example
```vim
let g:claude_code_config = {
\ 'window': {'position': 'botright'},
\ }
```
`enter_insert` under the `window` section controls whether the terminal
automatically enters insert mode whenever you switch to it. It defaults
to `1`. When enabled, the plugin feeds an `i` sequence on focus so
the terminal always re-enters job mode.
## Usage
- `:ClaudeCode` toggle the terminal
- `:'<,'>ClaudeCodeSelect` send selected lines to Claude
- `` default mapping
## Troubleshooting
Ensure Vim 8.0+ with `+terminal` feature is available.
If you use the AutoComplPop plugin and see text like `=feedPopup()`
inserted when switching back to the Claude terminal, this plugin now
disables that mapping for the terminal buffer automatically.
## Compatibility
Vim 8.0 or newer is required. Floating windows need Vim 8.2+