Vim 이동
기본 이동
-h
, j
, k
, l
: 좌, 하, 상, 우 커서 이동
-
: 줄의 처음 위치로 커서 이동gg
: 맨 위로 커서 이동shift + g
: 맨 아래로 커서 이동
단어 단위로 이동
w
: 단어의 시작 위치로 커서 이동 (오른쪽 방향)b
: 단어의 시작 위치로 커서 이동 (왼쪽 방향)e
: 단어의 마지막 위치로 커서 이동 (오른쪽 방향)ge
: 단어의 마지막 위치로 커서 이동 (왼쪽 방향)
한 문장 내에서 이동
0 (숫자)
: 라인 맨 앞으로 커서 이동^
: 문장 맨 앞으로 커서 이동$
: 문장 맨 뒤로 커서 이동
현재 페이지에서의 이동
shift + h
: 현재 보이는 페이지에서 커서를 맨 위로 이동shift + m
: 현재 보이는 페이지에서 커서를 중간 위치로 이동shift + l
: 현재 보이는 페이지에서 커서를 맨 아래로 이동
페이지 이동
ctrl + f
: 다음 페이지의 첫 줄로 커서 이동ctrl + b
: 다음 페이지의 마지막 줄로 커서 이동ctrl + u
: 페이지의 절반 크기만큼 위로 커서 이동ctrl + d
: 페이지의 절반 크기만큼 아래로 커서 이동
원하는 줄 위치로 이동
- 줄 번호 on/off 설정
on -> [
:set number
/:set nu
] off -> [:set nonumber
/:set nonu
] - 방법 1
esc
눌러서 명령 모드로 이동:
+ 이동하고 싶은 줄 번호 입력
- 방법 2
esc
눌러서 명령 모드로 이동- 이동할 줄 번호 입력
shift + g
입력
{}을 기준으로 이동
]]
: {로 커서 이동 (오른쪽 방향) - 없으면 페이지 맨 아래로 커서 이동[[
: {로 커서 이동 (왼쪽 방향)][
: }로 커서 이동 (오른쪽 방향) - 없으면 페이지 맨 아래로 커서 이동[]
: }로 커서 이동 (왼쪽 방향)%
:{}
,()
에서 현재 괄호의 짝을 찾아 커서 이동
특정 문자로 이동
f(문자)
: 문자의 위치로 이동 ; 를 누르면 계속 이동F(문자)
: 백워드로 문자의 위치로 이동t(문자)
: 문자의 앞위치로 이동T(문자)
: 백워드방향으로 문자의 앞위치로 이동
Vim 선택
문자 단위로 선택
v
: 문자 단위로 블럭지정
줄 단위 선택
shift + v
: 줄 단위로 블럭지정
Vim 편집
삭제, 잘라내기, 수정에 관한 단축키
dd
: 커서가 위치한 줄 잘라내기숫자 + dd
: 커서가 위치한 줄부터 숫자의 줄 만큼 잘라내기dw
: 커서가 위치한 곳 부터 단어의 마지막까지 잘라내기shift + d
: 현재 커서의 위치부터 줄의 끝까지 잘라내기x
: 커서가 위치한 문자 잘라내기 (delete 느낌의 단축키)shift + x
: 커서가 위치한 문자 잘라내기 (backspace 느낌의 단축키)s
: 커서가 위치한 문자 잘라내고 Insert 모드로 변환cc
,shift + s
: 커서가 위치한 줄 전체 잘라내고 Insert 모드로 변환cw
: 커서가 위치한 곳부터 단어의 마지막까지 잘라내고 Insert 모드로 변환shift + c
: 현재 커서의 위치부터 줄 마지막까지 잘라내고 Insert 모드로 변환r + 변경할 문자
: 현재 커서의 문자를 변경
복붙 관련 단축키
yl
: 현재 커서가 위치한 문자 하나만 복사yy
: 현재 커서가 위치한 줄 복사yw
: 현재 커서의 위치부터 단어의 마지막까지 복사y
:숫자 + yy
: 현재 커서의 줄부터 숫자만큼 줄 복사y$
: 현재 커서의 위치부터 줄의 끝까지 복사
p
:- 단어 복사 했을 경우 : 현재 커서 다음 위치에 붙여넣기
- 줄 복사 했을 경우 : 현재 커서 아랫줄에 붙여넣기
shift + p
:- 단어 복사 했을 경우 : 현재 커서 위치에 붙여넣기
- 줄 복사 했을 경우 : 현재 커서 윗줄에 붙여넣기
숫자 + p
: 숫자만큼 붙여넣기 반복
Vim 검색
/ + 찾을 단어
: 문서에서 단어 찾기n
또는*
: 다음 찾기N
또는#
: 이전 찾기
기타
다음 줄을 현재 커서의 줄 뒤로 붙이기
shift + j
: 다음 줄을 현재 커서의 줄 뒤로 이어 붙인다
대소문자 전환
shift + ~
: 현재 커서의 문자의 대소를 전환한다.
창 열기, 탭 이동
: + vs
: 현재 창을 세로로 분할된 창으로 열기: + new
: 새 창을 현재 창 위에 분할된 창으로 열기ctrl + w 2번 누르기
: 분할된 창 간에 이동: + tabnew
: 새 창을 탭으로 열기gt
: 오른쪽 탭으로 이동gT
: 왼쪽 탭으로 이동
취소하기, 되돌리기
u
: 이전으로 취소하기ctrl + r
: 이전으로 취소한걸 다시 되돌리기
명령어 다시 실행하기
.
: 이전 명령어를 다시 실행
코드 접기, 펼치기
zc
: 코드 접기 (fold)zM
: 코드 모두 접기 (fold)zo
: 접힌 코드 펼치기zR
: 접힌 코드 모두 펼치기zd
: fold 지우기zD
: 모든 fold 지우기