Codex CLI Vim 모드 시작: /vim으로 입력 방식을 처음 켜는 법
TL;DR
Codex CLI의
/vim
은 composer의 입력 방식을 현재 세션에서 Vim 모드로 전환하는 명령입니다. 빈 입력창에서
/vim
completion을 확인한 뒤 실행하고,
Vim mode enabled.
와
Vim: Normal
을 확인합니다.
격리한
codex-cli 0.144.6
에서는
i
로 입력 상태에 돌아와
/vim
을 다시 실행하자
Vim mode disabled.
가 표시됐습니다. 첫 시험은 프롬프트 제출이나 설정 파일 수정 없이 켜기와 끄기까지만 진행합니다.
핵심 3줄 요약
핵심 1
Codex CLI가 작업 중이 아닐 때 composer에
/vim
을 입력하고 completion 행부터 확인합니다.
핵심 2
실행 뒤
Vim mode enabled.
와
Vim: Normal
이 보이면 현재 세션의 Vim 입력 방식이 켜진 상태입니다.
핵심 3
새 세션의 기본값은
config.toml
의
tui.vim_mode_default = true
로 따로 설정하므로, 첫 시험에서는 건드리지 않습니다.
이 글에서 다룰 내용
-
/vim이 바꾸는 범위와 일반 Vim 편집기와의 차이 - 현재 세션에서 켜고 끄는 다섯 단계
-
Vim: Normal에서 다시 입력 상태로 돌아오는 확인법 -
/keymap단축키 설정과 새 세션 기본값의 차이 - 명령 제출 없이 점검할 수 있는 복사 프롬프트
Codex CLI
/vim
은 무엇인가
공식 Codex 명령 문서는
/vim
을 Vim mode for the composer를 켜고 끄는 slash command로 설명합니다. composer는 Codex에 보낼 요청을 작성하는 입력 영역입니다.
/vim
은 Codex 전체를 Vim 편집기로 바꾸거나 프로젝트 파일을 여는 명령이 아닙니다.
공식 표에는 Vim의 normal·insert 동작과 기본 composer 편집 방식 사이를 전환한다고 적혀 있습니다. 실행 결과는 현재 세션에 적용됩니다. Vim의 플러그인, 설정 파일, 모든 편집 명령이 composer에서 그대로 동작한다고 공식 문서가 보장하는 것은 아닙니다.
이 경계를 알아두면 글자가 입력되지 않는 순간을 오류로 오해하지 않습니다. normal 상태에서는 문자를 바로 쓰지 않습니다. 처음에는 여러 편집 명령을 시험하지 말고 상태 메시지와 다시 끄는 경로만 확인합니다.
언제 이 설정이 잘 맞는가
/vim
은 긴 요청을 키보드로 다듬고 싶거나 이미 Vim의 normal·insert 개념에 익숙한 사용자에게 잘 맞습니다. 설정 파일을 바꾸기 전에 한 세션에서 동작만 가볍게 확인할 때도 쓸 수 있습니다.
반대로 한 번도 Vim 모드를 사용하지 않았다면 실제 저장소 작업 중에 처음 켜지 않는 편이 안전합니다. 빈 composer에서 토글만 확인하면 입력 상태를 헷갈려 잘못된 문장을 제출할 위험을 줄일 수 있습니다.
이 기능은 답변 품질, 코드 정확성, 파일 권한을 바꾸지 않습니다. 입력창의 편집 방식만 바꿉니다. 코드 검토와 테스트, 명령 승인 기준은 이전과 같습니다.
시작 전에 확인할 경계
공식 문서는
/vim
의 플랜, 지역, 언어, 운영체제, 터미널, 최소 버전을 별도로 명시하지 않습니다. 현재 설치 화면에서 slash completion과 실행 결과를 직접 확인해야 하는 이유입니다. 문서에 있다는 사실만으로 모든 설치본에서 같은 상태 문구가 나온다고 단정하지 않습니다.
이번 검증은
codex-cli 0.144.6
과 비민감 임시 폴더에서 진행했습니다. Enter를 누르기 전
/vim toggle Vim mode for the composer
completion을 확인했고, 켜기와 끄기 과정에서 모델 turn, 프로젝트 파일 생성,
config.toml
변경은 없었습니다. 이 결과는 해당 설치본의 관찰값이며 보편적인 지원 버전 선언이 아닙니다.
현재 세션 토글과 새 세션 기본값도 구분합니다. 공식 문서가 제시한 기본값 키는
tui.vim_mode_default = true
입니다. 첫 완료 기준은 이 파일을 편집하는 일이 아니라 현재 세션에서 켜기와 끄기를 확인하는 것입니다.
/vim
으로 처음 켜고 끄는 순서
1. Codex가 대기 중인지 확인합니다
Codex CLI를 비민감 임시 폴더에서 열고 composer가 입력을 기다릴 때까지 확인합니다. 진행 중인 turn이나 도구 실행이 있다면 끝난 뒤 시작합니다. 운영체제 shell이 아니라 Codex 안의 composer를 사용합니다.
입력창에는 실제 업무 요청, 경로, 고객 데이터, 인증정보를 넣지 않습니다. 이번 시험에서는 슬래시 명령만 입력합니다.
2.
/vim
을 입력하되 Enter는 아직 누르지 않습니다
composer에
/vim
을 입력합니다. 현재 설치본에서
/vim toggle Vim mode for the composer
같은 completion 행이 나타나는지 확인합니다. 입력창에 글자만 보이고 command 설명이 없다면 실행하지 않습니다. 인식되지 않은 slash text가 일반 프롬프트로 제출될 수 있기 때문입니다.
completion이 보이지 않으면 현재 버전과 화면 상태를 기록하고 시험을 중단합니다. 업데이트, 재시작, 터미널 설정 변경을 추측해서 시도하지 않습니다.
3. 실행 뒤 켜짐 상태를 확인합니다
completion이 확인된 상태에서 Enter를 한 번 누릅니다. 격리 검증에서는
Vim mode enabled.
가 transcript에 표시됐고 상태줄에는
Vim: Normal
이 나타났습니다.
완료 기준은 키를 눌렀다는 기억이 아니라 화면의 두 결과입니다. 모델 응답이 시작되거나
/vim
이 일반 요청으로 제출됐다면 성공으로 기록하지 않습니다.
4. 입력 상태로 돌아와
/vim
을 다시 찾습니다
Vim: Normal
에서는 평소처럼 문자를 바로 입력하지 못할 수 있습니다. 격리한
codex-cli 0.144.6
에서는
i
를 눌러 composer 입력으로 돌아온 뒤
/vim
을 다시 입력하자 completion 행이 표시됐습니다.
이 키 동작은 현재 설치본의 관찰입니다. 화면에 다른 안내가 보이면 그 안내를 우선합니다. 비민감 테스트 문장을 쓰거나 Enter로 전송하지 않고
/vim
completion 재확인까지만 진행합니다.
5. 다시 실행해 꺼짐을 확인합니다
두 번째
/vim
completion이 보이면 Enter를 한 번 누릅니다. 격리 검증에서는
Vim mode disabled.
가 표시됐고 상태줄의 Vim 표시는 사라졌습니다.
이제 첫 시험을 끝냅니다. 현재 세션에서 켜기와 끄기를 모두 확인했으므로
config.toml
수정, 단축키 추가, 실제 프롬프트 제출은 별도 승인 뒤에 다룹니다.
그대로 복사해 쓸 검토 프롬프트
목표: Codex CLI composer에서 /vim을 현재 세션에 처음 켜고 다시 끄는 무변경 점검표를 만들어 줘.
허용 입력: 설치된 Codex CLI 버전, Enter 전 /vim completion 문구, 실행 뒤 켜짐 메시지, 상태줄의 Vim 표시, 다시 끈 뒤 메시지.
제외 입력: 프로젝트 파일, 대화 transcript 본문, 인증정보, .env, config.toml 원문, 실제 업무 프롬프트, 운영체제와 터미널 설정 변경.
출력 형식: 현재 상태; /vim 인식 여부; 켜짐 증거; 입력 상태 복귀 증거; 꺼짐 증거; 확인 필요 항목; 다음 승인 항목의 순서로 작성.
완료 기준: 모델 turn과 파일 변경 없이 /vim의 켜기와 끄기 증거를 분리하고, 미확인 상태는 확인 필요로 남길 것.
추정 금지: 지원 플랜, 운영체제, 최소 버전, 모든 Vim 명령 지원, 설정 지속, 재시작 필요 여부를 만들어 내지 말 것.
승인 지점: Enter로 /vim을 실행하거나 config.toml과 keymap을 바꾸기 전에 현재 화면과 예상 영향을 보여 주고 사람의 승인을 기다릴 것.
아래 프롬프트는 설정을 대신 바꾸게 하는 지시가 아닙니다. 사용자가 관찰한 화면만 점검표로 정리하고, 실제 실행 전 승인을 받기 위한 문안입니다.
관찰한 사실과 미확인 항목은 분리해 적습니다. completion이 없거나 일반 프롬프트로 제출된 흔적이 보이면 다음 순서를 만들지 말고 중단 사유부터 남깁니다.
실전 활용 팁
/vim
을 계속 쓸지 판단하려고 토글 시간을 잴 필요는 없습니다. 입력 상태를 바로 알아볼 수 있는지, 실수 없이 기본 composer로 돌아오는지만 봅니다. 첫 시험은 속도 비교가 아니라 조작 가능성을 확인하는 절차입니다.
자주 쓸 예정이라면 현재 세션 토글, 새 세션 기본값, 사용자 단축키를 각각 다른 변경으로 관리합니다.
/vim
은 즉시 토글이고,
tui.vim_mode_default
는 새 세션 기본값입니다.
/keymap
은 action에 키를 연결하는 별도 설정 기능입니다.
변경 기록에는 사용한 명령, 관찰한 상태, 되돌린 결과만 남깁니다. 프로젝트 내용이나 입력하던 프롬프트 전문은 토글 검토에 필요하지 않습니다.
주의할 점
/vim
을 Bash, PowerShell 같은 운영체제 shell 명령으로 실행하지 않습니다. Codex composer의 slash popup에서 인식되는 명령입니다. completion이 없으면 Enter를 누르지 않습니다.
Vim: Normal
에서 문자가 입력되지 않는 현상만으로 고장이라고 판단하지 않습니다. 현재 상태를 먼저 보고, 해당 설치본의 안내와 검증된 복귀 동작을 따릅니다. 무작정 키를 반복하면 편집 중인 입력이 달라질 수 있습니다.
공식 문서가 언급하지 않은 지원 플랜, OS, 터미널, IME, SSH, 원격 전송, 최소 버전, 재시작 동작은 추정하지 않습니다. 문제가 생겼다고 업데이트나 설정 파일 수정을 자동 해결책으로 제시하지도 않습니다.
Vim 모드를 켰다는 사실은 입력 내용이나 생성 결과의 정확성을 보장하지 않습니다. 실제 프롬프트를 보내기 전에는 문장과 범위를 사람이 다시 읽고 승인합니다.
자주 묻는 질문
/vim
은 터미널 shell에서 실행하나요?
아닙니다. Codex CLI가 열린 상태에서 composer의 slash command로 실행합니다. Enter 전 completion 행을 확인하면 shell 명령과 구분하기 쉽습니다.
켠 뒤 글자가 입력되지 않으면 실패인가요?
반드시 실패는 아닙니다. 상태줄이
Vim: Normal
인지 먼저 확인합니다. 격리한
codex-cli 0.144.6
에서는
i
로 입력 상태에 돌아와
/vim
을 다시 입력할 수 있었습니다. 다른 설치본에서는 현재 화면 안내를 우선합니다.
/vim
을 한 번 켜면 새 세션에도 유지되나요?
공식 문서는
/vim
을 현재 세션 토글로 설명합니다. 새 세션의 기본값은
config.toml
에서
tui.vim_mode_default = true
로 따로 설정합니다. 두 변경을 같은 것으로 보지 않습니다.
/keymap
으로 Vim 토글 키를 만드는 것과 무엇이 다른가요?
/vim
은 composer에서 현재 세션의 Vim 모드를 즉시 켜고 끕니다.
/keymap
은
Toggle Vim Mode
같은 action에 사용자가 고른 키를 연결하고
tui.keymap
에 저장하는 설정 흐름입니다. 첫 행동과 남는 설정이 다릅니다.
출처
- OpenAI 공식 Codex CLI command 문서 —
/vim, current session, normal·insert 동작,tui.vim_mode_default확인. 2026-09-01 확인.
마무리
Codex CLI Vim 모드는 composer에서
/vim
completion을 찾는 데서 시작합니다. 켜짐 메시지와
Vim: Normal
을 본 뒤 입력 상태로 돌아와
/vim
을 다시 실행합니다. 꺼짐 메시지까지 보였다면 첫 시험은 끝입니다.
현재 세션 토글만 확인하고 설정 파일과 단축키는 건드리지 않으면 복구 범위도 작습니다. 실제 작업에 적용하기 전에는 빈 composer에서 이 짧은 왕복을 한 번 통과한 뒤 결정합니다.
