본문 바로가기
환경설정

VSCode Vim 설치 후 Ctrl+C, Ctrl+V 안 될 때 해결법

by TechTrekker 2025. 10. 8.

VSCode Vim 설치 후 Ctrl+C, Ctrl+V 안 될 때 해결법

회사에서 VSCode에 Vim 확장을 설치하려고 Extensions 탭을 열었는데 접속이 안 됐다. 폐쇄망 환경이라 Marketplace 접근이 막혀있었다. VSIX 파일로 수동 설치가 가능하다는 걸 알게 돼서, 외부에서 파일을 받아 설치했다.

문제는 그 다음이었다. 코드 복사를 위해 Ctrl+C를 눌렀더니 Insert 모드가 해제됐고, Ctrl+V는 붙여넣기 대신 Visual Block 모드로 진입했다. Vim의 기본 키 바인딩과 OS 단축키가 완전히 충돌하면서 복사도, 붙여넣기도 제대로 동작하지 않았다.

이 글에서는 폐쇄망에서 VSIX로 Vim 확장을 설치하는 방법과, Ctrl+C/V 충돌 문제를 해결하는 방법을 정리한다.

 

1. VSCode Vim 확장 설치 방법

1-1. 온라인 설치 (기본)

인터넷이 되는 환경이라면 가장 간단한 방법이다.

1. VSCode 왼쪽 사이드바 Extensions 아이콘 클릭 (Ctrl+Shift+X)
2. 검색창에 "Vim" 입력
3. "Vim" (VSCodeVim) 확장 설치
4. VSCode 재시작

설치 후 에디터 하단 상태바에 --NORMAL-- 또는 --INSERT-- 표시가 보이면 정상 작동하는 것이다.

1-2. VSIX 파일로 수동 설치 (폐쇄망 환경)

회사 폐쇄망이나 인터넷 접속이 제한된 환경에서는 VSIX 파일을 이용한 수동 설치가 필요하다.

VSIX 파일 다운로드

외부 네트워크가 가능한 환경에서 다음 방법으로 다운로드한다.

 

방법 1: Visual Studio Marketplace

1. https://marketplace.visualstudio.com/vscode 접속
2. "Vim" 검색
3. VSCodeVim 페이지로 이동
4. 우측 "Download Extension" 버튼 클릭
5. .vsix 파일 다운로드

 

방법 2: GitHub Releases

vscode 공식 깃허브 최신 릴리즈에서 .vsix 파일을 다운로드 합니다.

https://github.com/VSCodeVim/Vim/releases

 

Releases · VSCodeVim/Vim

:star: Vim for Visual Studio Code. Contribute to VSCodeVim/Vim development by creating an account on GitHub.

github.com

 


다운로드한 파일명 예시: vim-1.x.x.vsix

VSCode에서 수동 설치

다운로드한 VSIX 파일을 폐쇄망 PC로 전송한 후 설치한다.

1. VSCode 실행
2. Ctrl + Shift + P (명령 팔레트)
3. "Install from VSIX" 입력
4. Extensions: Install from VSIX... 선택
5. 다운로드한 .vsix 파일 선택
6. 설치 완료 후 VSCode 재시작

2. Ctrl + Shift + P (명령 팔레트)
5. 다운로드한 .vsix 파일 선택

설치가 완료되면 우측 하단에 Completed installing extension. 알림이 표시된다.

 

2. Vim 모드 켜고 끄는 방법

Vim 모드를 잠시 비활성화하거나 완전히 끄고 싶을 때 사용하는 방법이다.

2-1. 일시적으로 토글

작업 중 Vim 모드를 잠깐 껐다 켤 때 유용하다.

Ctrl + Shift + P → "Vim: Toggle Vim Mode" 입력

상태바의 Vim 모드 표시(--NORMAL--)가 사라지면 비활성화된 것이다. 다시 실행하면 활성화된다.

 

2-2. 완전 비활성화

Vim 확장 자체를 끄거나 제거하는 방법이다.

1. Extensions 탭 (Ctrl+Shift+X)
2. 설치된 확장에서 "Vim" 검색
3. Disable (비활성화) 또는 Uninstall (제거)

 

비활성화가 필요한 경우:

  • Vim 키 바인딩에 익숙하지 않을 때
  • 특정 작업에서 OS 기본 단축키가 필요할 때
  • Vim 학습 초기 단계

 

3. Ctrl+C, Ctrl+V 충돌 문제 해결

3-1. 문제 원인

VSCode Vim 확장은 순수 Vim의 키 바인딩을 그대로 사용한다.

Ctrl+C의 동작:

  • OS 기본: 복사 (Copy)
  • Vim: Insert 모드 → Normal 모드 전환

Ctrl+V의 동작:

  • OS 기본: 붙여넣기 (Paste)
  • Vim: Visual Block 모드 진입 (열 단위 선택)

이 두 기능이 충돌하면서 복사도, 붙여넣기도 제대로 되지 않는다.

3-2. 해결법: 시스템 클립보드 연동 (추천)

가장 권장하는 방법은 useSystemClipboard 설정을 활성화하는 것이다.

settings.json 열기

Ctrl + Shift + P (Mac: Cmd + Shift + P)
"settings.json" 입력
Preferences: Open User Settings (JSON) 선택

설정 추가

settings.json 파일에 다음 내용을 추가한다.

{
  "vim.useSystemClipboard": true
}

설정의 의미

이 옵션은 Vim의 레지스터(")를 시스템 클립보드와 자동으로 연동한다.

  • Vim 내부에서 복사한 내용이 시스템 클립보드에 저장됨
  • Ctrl+C/V가 OS 기본 동작으로 복구됨
  • Vim 방식("+y, "+p)도 계속 사용 가능

설정 저장 후 VSCode를 재시작하면 바로 적용된다.

3-3. 대안: 특정 키 비활성화

useSystemClipboard 설정만으로 부족하다면, 아예 Vim이 특정 키를 처리하지 못하게 막을 수 있다.

{
  "vim.handleKeys": {
    "<C-c>": false,
    "<C-v>": false
  }
}

동작 방식

  • <C-c>: Ctrl+C를 VSCode 기본 복사로 처리
  • <C-v>: Ctrl+V를 VSCode 기본 붙여넣기로 처리
  • Vim은 이 키 조합을 무시함

장단점

장점:

  • OS 기본 단축키 완전 복구
  • Vim 초보자에게 친화적

단점:

  • Vim 고유 기능(Visual Block 등) 사용 불가
  • Vim 방식 학습에 방해될 수 있음

 

4. Vim 방식 복사/붙여넣기

시스템 클립보드 설정 후에도 Vim 스타일을 유지하고 싶다면 다음 방법을 사용한다.

4-1. 시스템 클립보드 레지스터 사용

복사 (Yank)

Visual 모드에서 텍스트 선택 후
"+y
  • ": 레지스터 선택 명령
  • +: 시스템 클립보드 레지스터
  • y: yank (복사)

붙여넣기 (Put)

Normal 모드에서
"+p
  • p: put (붙여넣기)

레지스터 개념

Vim은 복사한 내용을 "레지스터"라는 버퍼에 저장한다.

  • ": 기본 레지스터 (Vim 내부에서만 사용)
  • +: 시스템 클립보드 레지스터 (OS와 공유)
  • *: 선택 영역 레지스터 (Linux 중간 클릭 붙여넣기)

useSystemClipboard: true 설정은 기본 레지스터(")와 시스템 클립보드(+)를 자동으로 연결해주는 역할을 한다.

 

5. 정리

VSIX 수동 설치

폐쇄망 환경에서는 Marketplace 대신 VSIX 파일을 다운로드해 Install from VSIX... 명령으로 설치한다.

Vim 모드 토글

Ctrl + Shift + PVim: Toggle Vim Mode로 일시적 비활성화가 가능하다.

시스템 클립보드 설정 (핵심)

{
  "vim.useSystemClipboard": true
}

이 설정 하나로 Ctrl+C/V 충돌 문제가 대부분 해결된다.

추천 설정

{
  "vim.useSystemClipboard": true,
  "vim.handleKeys": {
    "<C-c>": false,
    "<C-v>": false
  }
}

완전한 OS 단축키 복구를 원한다면 handleKeys까지 추가한다.