Visual Studio(VS)에서 Vim 스타일 사용법

용과젤리·2025년 1월 10일

1. Vim 플러그인 설치 (VS에서 Vim 스타일 사용)

Visual Studio

  1. Visual Studio 설치
    Visual Studio(예: Community, Professional, Enterprise)가 설치되어 있어야 합니다.
  2. VsVim 확장 설치
    • Visual Studio 메뉴에서 Extensions > Manage Extensions 선택.
    • 검색창에 VsVim 입력.
    • VsVim 플러그인을 설치 후 Visual Studio를 재시작.

Visual Studio Code

  1. Vim 확장 설치
    • VS Code 메뉴에서 Extensions(왼쪽 사이드바 아이콘) 클릭.
    • 검색창에 Vim 입력.
    • Vim 플러그인 설치 후 사용 가능.

2. 기본 사용법

모드 전환

Vim과 동일하게 VS에서 Vim 플러그인을 사용하면 모드를 전환하며 작업합니다:

  • Normal 모드: 명령 입력 모드(기본 상태).
  • Insert 모드: 텍스트 입력 모드 (i 키로 전환).
  • Visual 모드: 텍스트 블록 선택 모드 (v 키로 전환).

주요 키 바인딩:

  • i: Insert 모드로 전환.
  • Esc: Normal 모드로 복귀.
  • v: Visual 모드 진입.
  • :w: 파일 저장.
  • :q: 파일 닫기.
  • :wq: 저장 후 종료.

편집 명령

  • 이동

    • h: 커서를 왼쪽으로 이동.
    • l: 커서를 오른쪽으로 이동.
    • j: 아래 줄로 이동.
    • k: 위 줄로 이동.
    • w: 다음 단어로 이동.
    • b: 이전 단어로 이동.
    • gg: 파일의 첫 번째 줄로 이동.
    • G: 파일의 마지막 줄로 이동.
  • 삭제/복사

    • x: 현재 커서 위치의 문자 삭제.
    • dw: 현재 단어 삭제.
    • dd: 현재 줄 삭제.
    • yy: 현재 줄 복사.
    • p: 복사한 내용 붙여넣기.
  • 검색

    • /pattern: 아래 방향으로 pattern 검색.
    • ?pattern: 위 방향으로 pattern 검색.
    • n: 다음 검색 결과로 이동.
    • N: 이전 검색 결과로 이동.

3. VsVim 환경 설정 (Visual Studio 사용자)

VsVim에서는 .vimrc 파일 설정을 지원하지 않으므로 Visual Studio 내에서 설정을 직접 조정해야 합니다.

  • Tools > Options > VsVim으로 이동.
  • 원하는 키 바인딩을 변경하거나 VS 키 바인딩과의 충돌을 해결.

4. Vim 명령 활용 예제

코드 이동

gg    " 파일의 첫 줄로 이동
5G    " 5번째 줄로 이동
G     " 파일의 마지막 줄로 이동

코드 수정

dd    " 한 줄 삭제
dG    " 현재 줄부터 파일 끝까지 삭제
cw    " 단어 수정 (커서 위치부터 끝까지)

복사 및 붙여넣기

yy    " 현재 줄 복사
5yy   " 현재 줄 포함 아래 5줄 복사
p     " 붙여넣기

5. 고급 기능

  • 매크로

    • q<키>: 매크로 기록 시작.
    • 매크로 작업 수행.
    • q: 매크로 기록 종료.
    • @<키>: 매크로 실행.
  • 플러그인 활용

    • VsVim에서 Vim의 일부 플러그인 기능을 지원하므로 필요에 따라 추가 명령 사용 가능.

6. VsVim & Vim 차이

VsVim은 Vim의 핵심적인 동작을 지원하지만, 몇 가지 차이가 있습니다:

  • Visual Studio의 디버깅, 빌드 기능은 키 바인딩 충돌 가능.
  • 플러그인 확장성이 Vim만큼 넓지는 않음.

추천 연습 방법

  1. Vim Cheatsheet 다운로드하여 자주 사용하는 명령 익히기.
  2. VsVim 환경에서 텍스트 파일 편집으로 연습.
  3. 키 바인딩 설정을 조정하며 효율적인 워크플로우 만들기.

Vim을 사용해보지 않았다면 처음에는 불편할 수 있지만, 연습하면 빠르고 효율적인 작업이 가능합니다.

profile
C#, .Net 개발자입니다.

0개의 댓글