보통 검색해서 나오는 Vim 명령어들 중에 사용하지 않게 되는 명령어들도 너무 많아서 최소한의 것들만 정리해봤다. 모든 명령어를 사용해보려고 시도해보았지만 솔직히 아래의 명령어만으로 모든 명령어를 대체할 수 있는 것 같다..
기존 명령어들의 대체 활용이 궁금하면 맨 아래 설명 참고
삽입 명령
명령모드에서 편집모드로 들어갈때 사용
명령어 | 설명 |
i | 커서 위치에 삽입 |
I | 커서 줄 맨 앞에 삽입 |
a | 커서 다음칸에 삽입 |
A | 커서 줄 맨 뒤에 삽입 |
o | 커서 아랫줄에 삽입 |
O | 커서 윗줄에 삽입 |
s | 커서 글자 지우고 삽입 |
이동 명령
명령모드 상태에서 이동만 할 때 사용
명령어 | 설명 |
w | 다음단어 첫 글자로 이동 |
b | 이전단어 첫 글자로 이동 |
e | 다음단어 마지막 글자로 이동 |
gg | 문서 맨 앞으로 이동 |
G | 문서 맨 끝으로 이동 |
{ | 이전 문단으로 이동 |
} | 다음 문단으로 이동 |
"줄 번호" + G | 해당 줄 번호로 이동 |
편집 명령
명령모드에서 편집 할 때 사용
명령어 | 설명 |
yy | 현재 줄 복사 |
yw | 다음 한 단어 복사 |
yb | 이전 한 단어 복사 |
y + shift + 4 | 현재 줄 커서 기준 다음 끝까지 복사 |
y + shift + 6 | 현재 줄 커서 기준 이전 끝까지 복사 |
p | 다음 줄에 붙혀넣기 |
P | 윗 줄에 붙혀넣기 |
x | 현재 글자 지우기 |
dd | 현재 줄 삭제 |
dw | 다음 한 단어 삭제 |
db | 이전 한 단어 삭제 |
d + shift + 4 | 현재 줄 커서 기준 다음 끝까지 삭제 |
d + shift + 6 | 현재 줄 커서 기준 이전 끝까지 삭제 |
u | 되돌리기 |
~ | 현재 문자 대소문자 변경 |
>> | 현재 줄 들여쓰기 |
<< | 현재 줄 내어쓰기 |
"줄 수" + >> | 원하는 줄 수만큼 한번에 들여쓰기 |
"줄 수" + << | 원하는 줄 수만큼 한번에 내어쓰기 |
v | 한번 누르고 커서를 움직여서 블럭 지정 |
모드 명령
문서 단위 작업을 할때 사용
명령어 | 기능 |
:w | 문서 저장 |
:q | 문서 닫기 |
:wq | 문서 저장하고 닫기 |
:q! | 문서 저장하지 않고 강제종료 |
:set nu | 줄 번호 켜기/끄기 |
/ + "단어" | 문서 내 단어검색 (n으로 다음단어로 이동) |
:%s/old/new/g | 문서 내 모든 단어 일괄 변경 (old -> new) |
※ 기존 명령어들의 대체 활용
나는 Vim을 사용함과 동시에 CapsLock키를 Esc로 바꾸어버렸다. 이렇게 되면 Esc를 많이 눌러야한다는 Vim의 특성을 극대화 할 수 있다. 예를 들어서 본인은 명령모드 상태에서 문장 맨 뒤로 이동하는 명령어를 모르지만 문장 맨 뒤 삽입은 기본이기에 알고있다. 그렇다면 그냥 A + Esc로 문장 맨 뒤로 이동할 수 있다. 이런 방식으로 Esc를 적극 활용하면 사실 대부분의 명령어들은 기본 명령어만으로 대체 할 수 있는것 같다.
추가로 이건 굉~장히 개인적이지만 페이지 단위 이동도 크게 의미가 없었던 것 같다.. 코딩을 하는 사람이라면 문단 단위가 곧 함수, 클래스인데 이 단위로 점프를 하면서 다니는게 더 편하지 않나...?! 따라서 그냥 { , } 이 두 개로 그냥 점프하면서 다닌다.