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 지우기