모드 설명
모드 종류 | 설명 |
---|---|
Normal mode | 진입시 기본 모드. 커서 이동, vim명령 실행이 가능하다 |
Insert mode | 단축키를 통해 진입하며, 입력하기 위한 모드이다 |
Command-line Mode | 명령어 수행 및 |
Visual Mode | 범위 지정 가능 |
Normal Mode에서 특정 단축키를 통해 다른 각 모드로 진입하며, 다른 모드에서 ESC를 눌러 Normal Mode로 돌아올 수 있다.
커서 이동 (Normal Mode, Visual Mode)
단축키 | 설명 |
---|---|
h , j , k , l | 방향키 |
w , e | 다음 단어의 시작, 끝으로 이동 |
b , ge | 이전 단어의 시작, 끝으로 이동 |
vi에서는 해당 명령을 잘 활용해야 했으나 vim에서는 방향키, Home, End, Ctrl 키를 이용해 해당 단축키를 대체할 수 있다.
Normal Mode
Insert 모드 진입
Insert 모드로 진입하는 단축키로 진입후 어디에 커서가 위치하는지의 차이가 있다
단축키 | 커서 위치 |
---|---|
i | 현재 위치 |
a | 현재 위치의 다음 |
I | 현재 라인의 처음 |
A | 현재 라인의 마지막 |
o | 다음 라인에 새로운 줄을 생성 |
O | 이전 라인에 새로운 줄을 생성 |
웬만하면 i
만 사용하는 편이다
삭제 단축키
단축키 | 설명 |
---|---|
x | 한글자 삭제 (backspace) |
SHIFT + x | 한글자 삭제 (delete) |
dd | 한 라인 삭제 |
dw | 한 단어 삭제 |
복사 붙여넣기
단축키 | 설명 |
---|---|
yy | 한 라인 복사 |
yw | 한 단어 복사 |
yl | 한 문자 복사 |
p | 붙여넣기 (다음 라인) |
SHIFT + p | 붙여넣기 (이전 라인) |
숫자 + p | 숫자 만큼 붙여넣기 |
들여쓰기 & 내어쓰기
단축키 | 설명 |
---|---|
>> | 들여쓰기 |
<< | 내어쓰기 |
현재 위치 기억 & 이동
단축키 | 설명 |
---|---|
m [A] | [A] 위치를 기억 |
' [A] | [A] 위치로 이동 |
[A]
는 임의의 키입력이다.
기타
단축키 | 설명 |
---|---|
ctrl + a | 현재 커서가 숫자인 경우 숫자 증가 |
ctrl + x | 현재 커서가 숫자인 경우 숫자 감소 |
~ | 대소문자 변경 후 다음 문자 이동 |
Insert Mode
실제 타이핑이 가능한 모드
이 모드에서도 방향키, HOME, END, CTRL을 이동한 이동 등이 가능하다.
Visual Mode
Normal Mode 에서 v
를 눌러 진입한다.
단축키 | 설명 |
---|---|
y | 범위 복사 |
d | 범위 잘라내기 |
U | 범위 대문자 변환 |
u | 범위 소문자 변환 |
Command-line Mode
Normal Mode에서 아래 단축키를 이용해 Command-line Mode로 이동한다.
단축키 | 설명 |
---|---|
: | vim 명령 실행 |
/ | 문자열 검색 (정방향) |
? | 문자열 검색 (역방향) |
문자열 검색
/
, ?
로 파일 탐색시
단축키 | 설명 |
---|---|
n | 다음 방향 탐색 |
N | 이전 방향 탐색 |
VIM 명령
단축키 | 설명 |
---|---|
:w | 저장 |
:w [파일명] | 다른 이름으로 저장 |
:q | vim 종료 |
:e [파일명] | 파일 불러오기 |
여러 명령을 합쳐 실행 할 수 있다. 예시로 :wq
실행시 저장후 vim을 종료한다.
명령 끝에 !
를 붙이면 경고를 무시한다. :q
실행시 저장되지 않았다고 경고를 하지만 :q!
의 경우 경고를 무시하고 강제 종료한다.