Vim 명령어 가이드
모드 종류
- Normal 모드: 기본 모드로, 텍스트 탐색과 명령 실행에 사용된다.
- Inset 모드: 텍스트 입력에 사용된다.
- Visual 모드: 텍스트 블록 선택 및 수정 작업에 사용된다.
명령어 기본 구조
[횟수] 명령 대상
또는
명령 [횟수] 대상
모드 전환
i→ Insert 모드로 전환 (커서 앞)Shift + i→ Insert 모드로 전환 (줄의 맨 앞)a→ Insert 모드로 전환 (커서 뒤)Shift + a→ Insert 모드로 전환 (줄의 맨 뒤)Esc→ Normal 모드로 돌아가기v→ Visual 모드 (텍스트 선택):q→ 저장하지 않고 종료:q!→ 저장하지 않고 강제 종료:w→ 파일 저장:w!→ 파일 강제 저장:wq→ 저장하고 종료:wq!→ 강제 저장하고 종료u→ 마지막 명령 실행 취소 (undo)Shift + u→ 해당 줄을 원래 상태로 복귀Ctrl + r→ undo 취소 (redo).→ 이전 명령 반복
커서 이동
h,j,k,l→ 왼쪽, 아래, 위, 오른쪽 이동0→ 줄의 맨 앞으로 이동$→ 줄의 맨 끝으로 이동gg→ 파일의 맨 위로 이동Shift + g→ 파일의 맨 아래로 이동:n또는nG→ n번째 줄로 이동 (예::10,10G→ 10번째 줄)w→ 다음 단어의 시작으로 이동nw→ n단어 앞으로 이동b→ 이전 단어의 시작으로 이동e→ 현재 단어의 끝으로 이동Shift + h→ 화면의 맨 위로 이동Shift + m→ 화면의 중간으로 이동Shift + l→ 화면의 맨 아래로 이동Ctrl + u→ 위로 스크롤Ctrl + d→ 아래로 스크롤{→ 문단 시작으로 이동}→ 문단 끝으로 이동- 괄호 위에서
%→ 괄호 짝으로 이동
복사, 붙여넣기, 삭제
yy→ 현재 줄 복사p→ 붙여넣기*p→ 클립보드 붙여넣기dd→ 현재 줄 삭제 (잘라내기)2dd→ 두 줄 삭제x→ 커서 위치의 문자 삭제d$→ 커서부터 줄 끝까지 삭제v→ Visual 모드로 선택 후y→ 복사Shift + v→ 현재 줄 선택 후y→ 복사daw→ 한 단어 삭제d3w→ 세 단어 삭제dit→ 태그 안 내용 삭제di{→{}내부 삭제da(→()와 내용 삭제"_x→ 저장하지 않고 문자 삭제
검색, 선택, 수정
/검색어→ 검색?검색어→ 뒤로 검색n→ 다음 검색 결과로 이동N→ 이전 검색 결과로 이동Ctrl + v→ Visual Block 모드Shift + v→ 현재 줄 선택r→ 문자 수정ce→ 커서부터 단어 끝까지 삭제하고 Insert 모드로 전환c$→ 커서부터 줄 끝까지 삭제하고 Insert 모드로 전환Ctrl + v→ Visual Block 모드로 선택 후Shift + i→ Insert 모드로 전환:s/old/new→ 현재 줄에서old를new로 수정:%s/old/new/g→ 파일 전체에서 수정:#,#s/old/new/g→ 두 줄#,#사이에서old를new로 수정 (#은 줄번호, 포함)c옵션 추가 (:%s/old/new/gc) → 확인 후 수정
매크로
매크로를 사용하면 반복 작업을 자동화할 수 있다.
- 매크로 녹화
q+ 매크로 이름 (예:qa→a에 매크로 저장 시작)- 명령어 입력 (반복할 작업 수행)
q→ 매크로 녹화 종료
- 매크로 실행
@+ 매크로 이름 (예:@a→a매크로 실행)@@→ 마지막 실행한 매크로 재실행n@a→ 매크로를 n번 반복 실행
예시: 매크로로 줄 끝에 ; 추가하기
qa " 매크로 녹화 시작 (a에 저장)
$ " 줄 끝으로 이동
A; " 줄 끝에 ; 추가 (Insert 모드)
<Esc> " Normal 모드로 돌아감
q " 매크로 녹화 종료
@a " 매크로 실행
5@a " 매크로를 5번 반복 실행