Vim 명령어 정리 - swkim0128/PARA GitHub Wiki
- :h[elp] keyword - 도움말 열기
- :sav[eas] file - 다른 이름으로 저장
- :clo[se] - 현재 창 닫기
- :ter[minal] - 터미널 열기
- K - 커서가 가리키는 단어의 설명글 열기
Important
Tip 터미널에서 vimtutor를 실행시켜 Vim의 명령어를 학습해봅시다.
- h - 왼쪽으로 한 칸 이동
- j - 아래로 한 칸 이동
- k - 위로 한 칸 이동
- l - 오른쪽으로 한 칸 이동
- H - 현재화면 상단으로 점프
- M - 현재화면 중단으로 점프
- L - 현재화면 하단으로 점프
- w - 다음 단어 시작으로 점프
- W - 다음 단어 시작으로 점프 (특수문자 포함)
- e - 다음 단어 끝으로 점프
- E - 다음 단어 끝으로 점프 (특수문자 포함)
- b - 이전 단어 시작으로 점프
- B - 이전 단어 시작으로 점프 (특수문자 포함)
- % - 현재 괄호의 짝으로 점프 (: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 - 화면 위치 중간으로 조정
- Ctrl + e - 한 줄 아래로 화면 조정
- Ctrl + y - 한 줄 위로 화면 조정
- Ctrl + b - 한 화면 위로 조정
- Ctrl + f - 한 화면 아래로 조정
- Ctrl + d - 반 화면 아래로 조정
- Ctrl + u - 반 화면 위로 조정
[!important]
- i - 현재 커서 앞에 삽입
- I - 현재 커서 행 시작에 삽입
- a - 현재 커서 뒤에 삽입
- A - 현재 커서 행 끝에 삽입
- o - 현재 커서 행 아래에 새 행을 삽입
- O - 현재 커서 행 위에 새 행을 삽입
- ea - 단어 끝 뒤에 삽입
- Ctrl + h - 이전 문자 제거
- Ctrl + w - 이전 단어 제거
- Ctrl + j - 한 줄 바꿈
- Ctrl + t - 한 탭 들여쓰기
- Ctrl + d - 한 탭 내어쓰기
- Ctrl + n - 다음 단어 탐색 (자동완성)
- Ctrl + p - 이전 단어 탐색 (자동완성)
- Ctrl + rx - 레지스터 x의 내용 삽입
- Esc - 삽입모드 종료
- r - 한 글자 바꾸기
- J - 현재 행과 다음 행 연결
- gJ - 현재 행과 다음 행 연결 (공백무시)
- gwip - 단락 리플로우
- g~ - 커서 이동으로 대·소문자 전환
- gu - 커서 이동으로 소문자 전환
- gU - 커서 이동으로 대문자 전환
- cc - 한 행 전체 새로 쓰기
- C - 한 행 끝까지 새로 쓰기
- c$ - 한 행 끝까지 새로 쓰기
- ciw - 한 단어 전체 새로 쓰기
- cw - 한 단어 끝까지 새로 쓰기
- s - 한 문자 새로 쓰기
- S - 한 행 전체 새로 쓰기 (cc와 동일)
- xp - 잘라내고 붙여넣기
- u - 실행취소
- U - 최근 수정한 줄 복원(실행취소)
- Ctrl + r - 다시실행
- . - 최근 명령어 반복
- yy - 한 행 복사하기
- 2yy - 2줄 복사하기
- yw - 다음 단어까지 복사하기
- y$ - 한 행 끝까지 복사하기
- p - 커서 뒤에 붙여넣기
- P - 커서 앞에 붙여넣기
- dd - 한 행 잘라내기
- 2dd - 2줄 잘라내기
- dw - 다음 단어까지 잘라내기
- D - 한 행 끝까지 잘라내기
- d$ - 한 행 끝까지 잘라내기
- x - 한 문자 잘라내기
Important
Tip 이동 명령 앞에 숫자를 붙이면 그 수만큼 반복합니다. 예를 들면, 4j는 4행 아래로 이동합니다.
- e
- V - 비주얼 라인
- o - 선택 영역 반대쪽 끝으로 점프
- Ctrl + v - 비주얼 블록
- O - 블록의 반대쪽 모서리로 이동
- aw - 단어 선택
- ab - 소괄호() 구간 선택
- aB - 중괄호{} 구간 선택
- at - 태그<> 구간 선택
- ib - 소괄호() 내부 선택
- iB - 중괄호{} 내부 선택
- it - 태그<> 내부 선택
- Esc - 선택 모드 종료
Important
Tip b 또는 B 대신에 ( 또는 { 사용가능.
- > - 선택 행 들여쓰기
- < - 선택 행 내어쓰기
- y - 선택 구간 복사
- d - 선택 구간 삭제
- ~ - 대소문자 반전
- u - 선택 구간 소문자 전환
- U - 선택 구간 대문자 전환
- >> - 한 탭 들여쓰기
- << - 한 탭 내어쓰기
- >% - 중·소괄호 구간 들여쓰기
- >ib - 소괄호 내부 들여쓰기
- >at - 태그 구간 들여쓰기
- 3== - 3줄 자동정렬
- =% - 중·소괄호 구간 자동정렬
- =iB - 중괄호 내부 자동정렬
- gg=G - 전체 버퍼 자동정렬
- ]p - 붙여쓰고 현재 행 들여쓰기 조
- /pattern - 패턴 검색 (순방향)
- ?pattern - 패턴 검색 (역방향)
- \vpattern - 특수 매직 패턴
- n - 다음 검색항목으로 점프
- N - 이전 검색항목으로 점프
- :%s/old/new/g - 모든 old를 new로 바꾸기
- :%s/old/new/gc - 모든 old를 new로 확인하며 바꾸기
- :noh[lsearch] - 검색 하이라이트 제거
-
:vim[grep] /pattern/ {
{file}
} - 여러 파일에서 패턴 검색
Important
e.g. :vim[grep] /foo/ */
- :cn[ext] - 다음 검색항목으로 점프
- :cp[revious] - 이전 검색항목으로 점프
- :cope[n] - 일치 목록을 새 창으로 열기
- :ccl[ose] - 일치 목록 창 닫기
- :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 - 위 창으로 이동
- :reg[isters] - 레지스터 내용 확인
- "xy - 레지스터 x 복사
- "xp - 레지스터 x 붙여넣기
- "+y - 클립보드 복사
- "+p - 클립보드 붙여넣기
Important
Tip 레지스터는 ./viminfo에 저장되고, 다음 Vim 재시작 때 다시 읽어들입니다.
Important
Tip 특수 레지스터: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 + ] - 커서가 가리키는 태그로 점프
Important
Tip 마킹한 곳으로 점프 시 그레이브 액센트 (`) 또는 아포스트로피 (') 모두 사용가능합니다. 아포스트로피 사용 시, 마킹한 곳의 줄 머리로 이동합니다. (공백 미포함)
- qa - 매크로 a 기록 시작
- q - 매크로 기록 중지
- @a - 매크로 a 실행
- @@ - 최근 매크로 재실행
- :w - 저장하기
- :w !sudo tee % - 관리자로 저장하기
- :wq or :x or ZZ - 저장하고 나가기
- :q - 나가기 (변경확인)
- :q! or ZQ - 나가기 (변경무시)
- :wqa - 모든 탭 저장하고 나가기
- :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 - 열린 모든 탭 닫기)
- zf - 폴딩 정의
- zd - 폴드 제거
- za - 폴드 설정
- zo - 폴드 열기
- zc - 폴드 닫기
- zr - 한 단계씩 폴드 열기
- zm - 한 단계씩 폴드 접기
- zi - 스마트 폴딩
- ]c - 다음 수정으로 점프
- [c - 이전 수정으로 점프
- do or :diffg[et] - 다른 버퍼에서 차이점 얻기
- dp or :diffpu[t] - 다른 버퍼로 차이점 보내기
- :diffthis - 현재 창 비교모드 열기
- :dif[fupdate] - 비교모드 새로고침
- :diffo[ff] - 현재 창 비교모드 닫가
Important
Tip 폴딩 명령어 (e.g. za)는 한 단계씩 작동합니다. 전체 단계에서 폴딩하기를 원하신다면 대문자 (e.g. zA)를 사용해주십시오.
Important
Tip 터미널에서 vimdiff로 실행하면, 비교모드로 Vim을 시작할 수 있습니다. 이것은 git difftool를 통해서도 확인하실 수 있습니다.