일반
- :h[elp] keyword - 도움말 열기
- :sav[eas] file - 다른 이름으로 저장
- :clo[se] - 현재 창 닫기
- :ter[minal] - 터미널 열기
- K - 커서가 가리키는 단어의 설명글 열기
커서이동
- h - 왼쪽으로 한 칸 이동
- j - 아래로 한 칸 이동
- k - 위로 한 칸 이동
- l - 오른쪽으로 한 칸 이동
- gj - 다음 문장으로 이동 (한 문장이 여러 줄로 나뉘어 있을 경우)
- gk - 이전 문장으로 이동 (한 문장이 여러 줄로 나뉘어 있을 경우)
- H - 현재화면 상단으로 점프
- M - 현재화면 중단으로 점프
- L - 현재화면 하단으로 점프
- w - 다음 단어 시작으로 점프
- W - 다음 단어 시작으로 점프 (특수문자 포함)
- e - 다음 단어 끝으로 점프
- E - 다음 단어 끝으로 점프 (특수문자 포함)
- b - 이전 단어 시작으로 점프
- B - 이전 단어 시작으로 점프 (특수문자 포함)
- ge - 이전 단어 끝으로 점프
- gE - 이전 단어 끝으로 점프 (특수문자 포함)
-
% - 현재 괄호의 짝으로 점프 (
:h matchpairs
를 통해 더 많은 정보를 얻을 수 있습니다.) - 0 - 현재 행 시작으로 점프 (공백 포함)
- ^ - 현재 행 시작으로 점프
- $ - 현재 행 끝으로 점프 (공백 포함)
- g_ - 현재 행 끝으로 점프
- gg - 문서 첫 줄 시작으로 점프
- G - 문서 끝 줄 시작으로 점프
- 5gg or 5G - 5번째 행 시작으로 점프
- gd - 지역변수 선언위치로 점프
- gD - 전역변수 선언위치로 점프
- fx - 다음 검색 문자 x로 점프
- tx - 다음 검색 문자 x 앞에 점프
- Fx - 이전 검색 문자 x로 점프
- Tx - 이전 검색 문자 x 뒤에 점프
- ; - 최근 f/t/F/T 명령어 실행
- , - 최근 F/T/f/t 명령어 실행
- } - 다음 단락으로 점프
- { - 이전 단락으로 점프
- zz - 화면 위치 중간으로 조정
- zt - 화면 맨 위로 커서 이동
- zb - 화면 맨 아래로 커서 이동
- Ctrl + e - 한 줄 아래로 화면 조정
- Ctrl + y - 한 줄 위로 화면 조정
- Ctrl + b - 한 화면 위로 조정
- Ctrl + f - 한 화면 아래로 조정
- Ctrl + d - 반 화면 아래로 조정
- Ctrl + u - 반 화면 위로 조정
삽입 모드
- i - 현재 커서 앞에 삽입
- I - 현재 커서 행 시작에 삽입
- a - 현재 커서 뒤에 삽입
- A - 현재 커서 행 끝에 삽입
- o - 현재 커서 행 아래에 새 행을 삽입
- O - 현재 커서 행 위에 새 행을 삽입
- ea - 단어 끝 뒤에 삽입
- Ctrl + h - 이전 문자 제거
- Ctrl + w - 이전 단어 제거
- Ctrl + j - 한 줄 바꿈
- Ctrl + t - 한 탭 들여쓰기
- Ctrl + d - 한 탭 내어쓰기
- Ctrl + n - 다음 단어 탐색 (자동완성)
- Ctrl + p - 이전 단어 탐색 (자동완성)
- Ctrl + rx - 레지스터 x의 내용 삽입
- Ctrl + ox - 일시적으로 삽입 모드에서 노멀 모드로 이동하여 command x 실행
- Esc or Ctrl + c - 삽입모드 종료
편집 모드
- r - 한 글자 바꾸기
- R - 한 글자 이상 바꾸기(ESC 누르면 종료)
- J - 현재 행과 다음 행 연결
- gJ - 현재 행과 다음 행 연결 (공백무시)
- gwip - 단락 리플로우
- g~ - 커서 이동으로 대·소문자 전환
- gu - 커서 이동으로 소문자 전환
- gU - 커서 이동으로 대문자 전환
- cc - 한 행 전체 새로 쓰기
- c$ or C - 한 행 끝까지 새로 쓰기
- ciw - 한 단어 전체 새로 쓰기
- cw or ce - 한 단어 끝까지 새로 쓰기
- s - 한 문자 새로 쓰기
- S - 한 행 전체 새로 쓰기 (cc와 동일)
- xp - 잘라내고 붙여넣기
- u - 실행취소
- U - 최근 수정한 줄 복원(실행취소)
- Ctrl + r - 다시실행
- . - 최근 명령어 반복
선택 모드 (비주얼 모드)
- v - 비주얼 모드
- V - 비주얼 라인
- o - 선택 영역 반대쪽 끝으로 점프
- Ctrl + v - 비주얼 블록
- O - 블록의 반대쪽 모서리로 이동
- aw - 단어 선택
- ab - 소괄호() 구간 선택
- aB - 중괄호{} 구간 선택
- at - 태그<> 구간 선택
- ib - 소괄호() 내부 선택
- iB - 중괄호{} 내부 선택
- it - 태그<> 내부 선택
- Esc or Ctrl + c - 선택 모드 종료
선택 모드 명령
- > - 선택 행 들여쓰기
- < - 선택 행 내어쓰기
- y - 선택 구간 복사
- d - 선택 구간 삭제
- ~ - 대소문자 반전
- u - 선택 구간 소문자 전환
- U - 선택 구간 대문자 전환
레지스터
- :reg[isters] - 레지스터 내용 확인
- "xy - 레지스터 x 복사
- "xp - 레지스터 x 붙여넣기
- "+y - 클립보드 복사
- "+p - 클립보드 붙여넣기
0 - 최근 복사 레지스터
" - 최근 사용 레지스터
% - 현재 파일명
# - 대체 파일명
* - 클립보드 (X11 primary)
+ - 클립보드 (X11 clipboard)
/ - 최근 검색 패턴
: - 최근 Vim 명령줄
. - 최근 삽입 텍스트
- - 최근 제거 문자
= - 표현식 레지스터
_ - 블랙홀 레지스터
마킹
- :marks - 마킹 항목 표시
- ma - 현재 위치를 a로 마킹
- `a - 마크 a로 점프
- y`a - 마크 a까지 복사
- `0 - 종료 전 커서위치로 점프
- `" - 최근 편집한 커서 위치로 점프
- `. - 최근 변경한 커서 위치로 점프
- `` - 최근 점프 전 위치로 점프
- :ju[mps] - 점프목록
- Ctrl + i - 이전 점프목록 위치로 점프
- Ctrl + o - 다음 점프목록 위치로 점프
- :changes - 변경목록
- g, - 이전 변경목록 위치로 점프
- g; - 다음 변경목록 위치로 점프
- Ctrl + ] - 커서가 가리키는 태그로 점프
매크로
- qa - 매크로 a 기록 시작
- q - 매크로 기록 중지
- @a - 매크로 a 실행
- @@ - 최근 매크로 재실행
잘라내기와 붙여넣기
- yy - 한 행 복사하기
- 2yy - 2줄 복사하기
- yw - 다음 단어까지 복사하기
- yiw - 한 단어 복사하기
- yaw - 한 단어 복사하기 (공백포함)
- y$ or Y - 한 행 끝까지 복사하기
- p - 커서 뒤에 붙여넣기
- P - 커서 앞에 붙여넣기
- gp - 커서 뒤에 붙여넣고 붙여넣은 행 다음으로 커서 옮기기
- gP - 커서 앞에 붙여넣고 붙여넣은 행 다음으로 커서 옮기기
- dd - 한 행 잘라내기
- 2dd - 2줄 잘라내기
- dw - 다음 단어까지 잘라내기
- diw - 한 단어 잘라내기
- daw - 한 단어 잘라내기 (공백포함)
- :3,5d - 3행 부터 5행 까지 삭제
e.g.
:.,$d - 현재 행 부터 끝까지
:.,1d - 현재 행 부터 처음까지
:10,1d - 10 번째 행 부터 처음까지
- :g/{pattern}/d - 패턴을 포함하는 모든 행 삭제
- :g!/{pattern}/d - 패턴을 포함하지 않는 모든 행 삭제
- d$ or D - 한 행 끝까지 잘라내기
- x - 한 문자 잘라내기
문단모양
- >> - 한 탭 들여쓰기
- << - 한 탭 내어쓰기
- >% - 중·소괄호 구간 들여쓰기
- <% - 중·소괄호 구간 내어쓰기
- >ib - 소괄호 내부 들여쓰기
- >at - 태그 구간 들여쓰기
- 3== - 3줄 자동정렬
- =% - 중·소괄호 구간 자동정렬
- =iB - 중괄호 내부 자동정렬
- gg=G - 전체 버퍼 자동정렬
- ]p - 붙여쓰고 현재 행 들여쓰기 조
나가기
- :w - 저장하기
- :w !sudo tee % - 관리자로 저장하기
- :wq or :x or ZZ - 저장하고 나가기
- :q - 나가기 (변경확인)
- :q! or ZQ - 나가기 (변경무시)
- :wqa - 모든 탭 저장하고 나가기
검색과 바꾸기
- /pattern - 패턴 검색 (순방향)
- ?pattern - 패턴 검색 (역방향)
- \vpattern - 특수 매직 패턴
- n - 다음 검색항목으로 점프
- N - 이전 검색항목으로 점프
- :%s/old/new/g - 모든 old를 new로 바꾸기
- :%s/old/new/gc - 모든 old를 new로 확인하며 바꾸기
- :noh[lsearch] - 검색 하이라이트 제거
여러 파일 검색
- :vim[grep] /pattern/ {`{file}`} - 여러 파일에서 패턴 검색
- :cn[ext] - 다음 검색항목으로 점프
- :cp[revious] - 이전 검색항목으로 점프
- :cope[n] - 일치 목록을 새 창으로 열기
- :ccl[ose] - 일치 목록 창 닫기
탭
- :tabnew or :tabnew {page.words.file} - 새 탭에서 파일 열기
- Ctrl + wT - 현재 분할 창을 새로운 탭으로 이동
- gt or :tabn[ext] - 다음 탭으로 이동
- gT or :tabp[revious] - 이전 탭으로 이동
- #gt - #번째 탭으로 이동
- :tabm[ove] # - 현재 탭을 #번째로 이동
- :tabc[lose] - 현재 탭과 그 안의 창들 닫기
- :tabo[nly] - 현재 탭 이외의 모든 탭 닫기
-
:tabdo command - 모든 탭에서
command
실행하기 (예를 들어,:tabdo q
- 열린 모든 탭 닫기)
여러 파일 작업
- :e[dit] file - 새 버퍼에서 파일 편집
- :bn[ext] - 다음 버퍼로 이동
- :bp[revious] - 이전 버퍼로 이동
- :bd[elete] - 버퍼 삭제 (파일 닫기)
- :b[uffer]# - #번째 버퍼로 이동
- :b[uffer] file - 파일명 버퍼로 이동
- :ls or :buffers - 열린 버퍼 모두 나열
- :sp[lit] file - 새 버퍼에 파일 열고 상하로 창 분할
- :vs[plit] file - 새 버퍼에 파일 열고 좌우로 창 분할
- :vert[ical] ba[ll] - 모든 버퍼 열고 좌우로 창 분할
- :tab ba[ll] - 모든 버퍼 열고 탭으로 창 분할
- Ctrl + ws - 상하로 창 분할
- Ctrl + wv - 좌우로 창 분할
- Ctrl + ww - 창 전환
- Ctrl + wq - 창 닫기
- Ctrl + wx - 창 바꾸기
- Ctrl + w= - 모든 창 크기 조정
- Ctrl + wh - 왼쪽 창으로 이동
- Ctrl + wl - 오른쪽 창으로 이동
- Ctrl + wj - 아래 창으로 이동
- Ctrl + wk - 위 창으로 이동
- Ctrl + wH - 현재 창을 최대 높이인 상태로 왼쪽 이동(가장 왼쪽)
- Ctrl + wL - 현재 창을 최대 높이인 상태로 오른쪽 이동(가장 오른쪽)
- Ctrl + wJ - 현재 창을 최대 너비인 상태로 아래로 이동(가장 아래쪽
- Ctrl + wK - 현재 창을 최대 너비인 상태로 위로 이동(가장 위쪽)
비교
- zf - 폴딩 정의
- zd - 폴드 제거
- za - 폴드 설정
- zo - 폴드 열기
- zc - 폴드 닫기
- zr - 한 단계씩 폴드 열기
- zm - 한 단계씩 폴드 접기
- zi - 스마트 폴딩
- ]c - 다음 수정으로 점프
- [c - 이전 수정으로 점프
- do or :diffg[et] - 다른 버퍼에서 차이점 얻기
- dp or :diffpu[t] - 다른 버퍼로 차이점 보내기
- :diffthis - 현재 창 비교모드 열기
- :dif[fupdate] - 비교모드 새로고침
- :diffo[ff] - 현재 창 비교모드 닫가