[C] vim의 모드와 기본 단축키
2022년 현재 나와 같은 개발공부를 거의 처음하는 사람은 VSCode를 사용하는 것이 더 편하겠지만,
리눅스 사용자나 고인물 개발자분들께서는 VIM을 사용하는 것이 더 편하다고 한다.
알고보니까 VIM 에디터가 마우스를 사용할 필요가 없이 단축키만을 이용해서 빠르게 편집을 가능하게 해주기 때문이라고 한다.
그리고 나도 라피신 때 VSCode 사용하는 것을 최대한 지양하기 위해서 VIM을 연습해보려고한다.
라피신 시험 때에 VSCode를 사용해선 안된다는 무서운 얘기를 들었기에..
나중에 참고하기 위해서 여기다가 기본적인 사용법을 기록해두어야지.
이 글을 작성하며 유튜브에서 아래 영상들을 참고하였다.
참고 영상 1 : 코딩애플_VIM
참고 영상 2 : 얄팍한 코딩사전_VIM
VIM의 편집 모드
우선 vim을 실행하려면 vi 파일이름.파일형식을 입력하면된다.
그러면 vim이 켜진다.
VIM 에디터는 크게 4가지로 나뉜다.
- 노멀 모드
- 비주얼 모드
- 삽입 모드
- 커맨드 모드
노멀모드
기본적으로 VIM을 켜면 가장 먼저 나타나는 모드이다.
이 모드에서 바로 코드를 입력하려고 하다가 입력이 안되어 당황을 하는 경우가 많다.
나도 그랬고..
이 모드는 입력은 안되고 커서 이동이나 코드 삭제가 가능하다.
우리가 아는 그 편집을 하려면 삽입모드로 들어가야하는데,
삽입모드로 들어가려면 i키를 눌러주면 된다.
삽입모드
우리가 본격적으로 코드를 작성하는 모드로,
상기하였듯이 노멀모드에서 i를 누르면 진입이 가능하다.
아, 그리고 a, o 키를 눌러줘도 진입이 가능한데, 차이점이라면 진입할 때 커서의 위치가 달라진다. 차이는 아래 표를 참고하자.
삽입모드로 들어오면 좌측 하단에 INSERT라는 표시가 뜬다.
여기서 이제 자유롭게 소스코드를 작성해주면 된다.
다시 노멀모드로 돌아오려면 ESC키를 눌러주면 된다.
비주얼모드
다중 선택이 가능하도록 만들어주는 모드이다.
노멀모드에서 V를 입력하면 진입이 가능하다.
이 상태에서 방향키를 이동하면 복사, 붙여넣기하거나 삭제할 코드를 선택할 수 있다.
이때 방향키를 눌러줘도 되지만 vim에서 가장 많이 사용하는 방향키는
- h : 좌
- j : 하
- k : 상
- l : 우
위와 같다.
그리고 복사, 붙여넣기, 잘라내기키는
- y : 복사
- d : 잘라내기
- p : 붙여넣기
위와 같다.
그리고 역시 다시 노멀모드로 돌아오려면 ESC키를 눌러주면 된다.
커맨드모드
파일을 저장하고 vim을 나가게 해줄 수 있는 모드이다. 노멀모드에서 :를 입력하면 진입이 가능하다.
- :w : 파일 저장하기
- :q : vim 에디터 나가기
명령 단축키 정리
VIM에서 기본적으로 사용되는 단축키를 정리해보자.
같은 키라도 대소문자에 따라 기능이 다르니 주의하자!
i | 삽입모드 진입 (커서 앞) |
a | 삽입모드 진입 (커서 뒤) |
I | 삽입모드 진입 (줄 맨 앞) |
A | 삽입모드 진입 (줄 맨 뒤) |
o | 삽입모드 진입 (빈 줄 하나 넣고 진입) |
v | 비주얼모드 진입 |
V | 비주얼모드(줄 단위) 진입 |
: | 커맨드모드 진입 |
ESC | 노멀모드로 나가기 |
r | 한 글자 수정 |
R | 수정모드 |
h, j, k, l | 좌, 하, 상, 우 |
H | 화면 맨 위로 |
L | 화면 맨 아래로 |
{ | 문단 시작으로 |
} | 문단 끝으로 |
p | 붙여넣기 |
” + p | 클립보드에서 복사한 것 붙여넣기 |
y | 복사 |
yy | 행 복사 |
d | 잘라내기 |
dd | 행 삭제 |
X | 글자 삭제 |
U | 뒤로 되돌리기(Undo) |
Ctrl + R | 앞으로 되돌리기(Redo) |
> | 들여 쓰기 |
< | 내어 쓰기 |
b | 이전 단어로 |
:w | 파일 저장 |
:q | VIM 나가기 |
아직은 익숙치 않기에 VSCode나 파이썬은 아나콘다에 있는 Spyder를 IDE로 사용하는 것이 더 편하다.
하지만 VIM또한 플러그인을 설치하면 IDE처럼 사용할 수 있다고 한다!
나중에 많이 익숙해지면 VIM을 아예 IDE 툴로 사용할 수 있도록 플러그인도 설치해봐야겠다!