claude-code.nvim
무엇인가
Neovim과 Claude Code CLI 사이의 실행 환경을 규율하는 플러그인이다. 에이전트에 규칙 텍스트를 주입하는 대신, 에이전트가 어느 디렉터리에서 실행되고 그 결과가 어느 버퍼에 반영되는지를 통제한다. 터미널 창의 위치·크기·모드 진입, 파일 변경 감지 주기, 작업 디렉터리 결정이 설정 항목으로 노출된다.
어떻게 동작하나
동작은 Lua 모듈 `require("claude-code").setup()`을 기준으로 한다. `:ClaudeCode` 명령이 터미널 창을 토글하고, `command_variants` 테이블에 항목을 추가하면 `:ClaudeCodeContinue`, `:ClaudeCodeResume`, `:ClaudeCodeVerbose` 같은 명령이 자동 생성된다. `window` 설정은 `split_ratio`·`position`·`float` 하위 필드로 분할 비율과 배치를, `refresh` 설정은 `updatetime`과 `timer_interval`로 파일 변경 폴링 주기를 정한다. `git.use_git_root`가 참이면 git 프로젝트 루트를 CWD로 잡고, `shell` 설정의 `pushd_cmd`·`popd_cmd`로 셸별 디렉터리 스택 명령을 맞춘다.
무엇과 다른가
SKILL.md·CLAUDE.md·AGENTS.md 계열 규칙 파일과는 층위가 다르다. 규칙 파일은 에이전트의 판단과 출력 형식을 바꾸지만, 이 플러그인은 에이전트를 감싸는 에디터 측 실행 컨텍스트를 바꾼다. 터미널을 수동으로 열어 `claude`를 실행하는 방식과 비교하면, 버퍼 자동 리로드, git 루트 기준 실행, which-key 연동, 창 내비게이션·스크롤 키맵이 기본 제공된다는 점이 구조적 차이다.
어떻게 쓰나
설치는 플러그인 관리자에 `greggh/claude-code.nvim`을 등록하고 `nvim-lua/plenary.nvim`을 의존성으로 함께 넣은 뒤 `config`에서 `require("claude-code").setup()`을 호출한다. lazy.nvim·packer.nvim·vim-plug 각각의 등록 형식이 README에 제시되어 있다. 첫 사용은 `:ClaudeCode`를 실행하거나 기본 키맵으로 토글하는 것이다.
전제와 한계
전제는 Neovim 0.7.0 이상, PATH에 설치된 Claude Code CLI, git 조작을 위한 plenary.nvim이다. which-key 연동은 설치되어 있을 때만 활성화되는 선택 사항이다. 에이전트에 전달할 규칙·지식 자체는 이 플러그인이 다루지 않으므로 CLAUDE.md 등 별도 파일이 필요하고, Claude Code 외 다른 에이전트에는 적용되지 않는다.
유사 도구
- claude-hudClaude Code 상태줄에 컨텍스트 사용량·활성 도구·실행 중 에이전트·할 일 진행률을 렌더링하는 절차를 주입하는 플러그인이다.
- Understand-Anything코드베이스를 파일·함수·클래스·의존성 노드의 지식 그래프로 변환하고, 슬래시 명령으로 탐색·질의·영향 분석 절차를 에이전트에 주입하는 Claude Code 플러그인이다.
- claude-brainClaude Code의 메모리·스킬·에이전트·규칙·설정을 git 원격 저장소로 동기화하고, 세션 시작·종료 훅에서 의미 기반 병합을 수행하도록 규정하는 플러그인이다.
- Vibe-Skills대규모 스킬 풀에서 작업 목표를 확정하고 검증 가능한 하위 작업으로 분해한 뒤, 의존성 순서로 소수 스킬만 선택·실행·검증하도록 라우팅하는 Claude Code 플러그인이다.
- codecompanion.nvimNeovim 안에서 LLM과 CLI 에이전트를 채팅 버퍼로 다루는 Lua 플러그인이다. ACP와 MCP를 내장하고 어댑터로 프로바이더를 갈아 끼운다.
- obsidian-copilotObsidian 볼트 안에서 opencode·Claude Code·Codex 에이전트를 실행하는 TypeScript 플러그인이다. 노트를 읽고 파일을 만들며 여러 턴에 걸쳐 작업을 이어간다.