본문 바로가기

Tip/Editor

[Vim] 기본 단축키 및 명령어 정리

보통 검색해서 나오는 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를 적극 활용하면 사실 대부분의 명령어들은 기본 명령어만으로 대체 할 수 있는것 같다.

추가로 이건 굉~장히 개인적이지만 페이지 단위 이동도 크게 의미가 없었던 것 같다.. 코딩을 하는 사람이라면 문단 단위가 곧 함수, 클래스인데 이 단위로 점프를 하면서 다니는게 더 편하지 않나...?! 따라서 그냥 { , } 이 두 개로 그냥 점프하면서 다닌다.