claude-code.nvim

AI Coding ToolsskillLua

★ 2,098주당 +3조회 4

무엇인가

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 외 다른 에이전트에는 적용되지 않는다.

유사 도구