🚀
Vim 단축키 정리
July 07, 2023
Vim의 실행, 저장, 종료
명령 | 기능 |
---|---|
vim [파일명] | Vim 실행, 파일명을 지정하면 파일 열기 |
:q | 종료 기능, 작업 내용이 없다면 바로 종료 |
:q! | 작업한 내용을 저장하지 않고 종료 |
:w [파일명] | 저장 기능, 파일명을 지정하면 새 파일로 저장 |
:wq, wq! | 작업한 내용을 저장하고 종료 |
ZZ | 작업한 내용을 저장하고 종료 |
Vim의 입력 모드
명령 | 기능 |
---|---|
i | 현재 커서 앞에 입력 |
a | 현재 커서 다음 자리에 입력 |
o | 커서가 위치한 행의 다음 행에 입력 |
I(대문자 i) | 커서가 위치한 행의 첫 칼럼으로 이동 후 입력 |
A | 커서가 위치한 행의 마지막 컬럼으로 이동 후 입력 |
O | 커서가 위치한 행의 이전 행에 입력 |
Vim 커서 이동
명령 | 기능 |
---|---|
h, ← | 커서를 한 문자 왼쪽으로 이동 |
j, ↓ | 커서를 한 행 아래로 이동 |
k, ↑ | 커서를 한 행 위로 이동 |
l, → | 커서를 한 문자 오른쪽으로 이동 |
^, 0(숫자) | 커서를 행의 첫번째 칼럼으로 이동 |
$ | 커서를 행의 마지막 칼럼으로 이동 |
- | 커서를 이전 행의 첫번째 칼럼으로 이동 |
+, 엔터 | 커서를 다음 행의 첫번째 칼럼으로 이동 |
w | 커서를 다음 단어의 첫 글자 위치로 이동 |
b | 커서를 앞 단어의 첫 글자 위치로 이동 |
e | 커서를 다음 단어의 마지막 글자 위치로 이동 |
Vim 화면 이동
명령 | 기능 |
---|---|
G | 마지막 행으로 이동 |
gg | 처음 행으로 이동 |
숫자+G | 지정한 행으로 이동 |
:숫자 | 지정한 행으로 이동 |
:$ | 마지막 행으로 이동 |
Ctrl + u | 반 화면 위로 이동 |
Ctrl + d | 반 화면 아래로 이동 |
Ctrl + b | 한 화면 위로 이동 |
Ctrl + f | 한 화면 아래로 이동 |
Ctrl + y | 화면을 한 행 위로 이동 |
Ctrl + e | 화면을 한 행 아래로 이동 |
Vim 편집
명령 | 기능 |
---|---|
x, 숫자+x | 커서가 위치한 문자 삭제, 숫자는 삭제할 문자 수 |
dw, 숫자+dw | 커서가 위치한 단어를 삭제, 숫자는 삭제할 단어 수 |
dd, 숫자+dd | 커서가 위치한 행 삭제, 숫자는 삭제할 행 수 |
u | 방금 수행한 명령 취소 |
U | 한 행에 수행한 모든 명령 취소 |
:e! | 마지막 저장한 내용 말고 전부 취소 |
yy, 숫자+yy | 커서가 위치한 행을 복사, 숫자는 복사할 행 수 |
p | 커서가 위치한 행의 아래쪽에 붙임 |
P | 커서가 위치한 행의 위쪽에 붙임 |
Vim 검색, 바꾸기
명령 | 기능 |
---|---|
/string | string을 아래 방향으로 검색 |
?string | string을 위 방향으로 검색 |
n | 원래 찾는 방향으로 다음 문자열 검색 |
N | 역방향으로 다음 문자열 검색 |
:s/string/string2 | 커서가 위치한 행의 string1을 string2로 바꿈 |
:%s/string1/string2/g | 파일 전체에서 모든 string1을 string2로 바꿈 |
:<범위>s/string1/string2/ | <범위> 안의 모든 행에서 모든 string1을 string2로 바꿈 |
:<범위>s/string1/string2/g | <범위> 안의 모든 행에서 모든 string1을 string2로 바꿈 |
:<범위>s/string1/string2/gc | <범위> 안의 모든 행에서 모든 string1을 string2로 바꿈, 하지만 바꾸기 전에 수정 여부를 묻는다. |
Vim visual mode 단축키
명령 | 기능 |
---|---|
v | 현재 커서 위치부터 블록 지정 |
V | 현재 커서의 위치에서 행 단위로 블록 지정 |
Ctrl + v | 현재 커서의 위치에서 열 단위로 블록 지정 |
y | 블록 복사 |
d | 블록 삭제 |
p | 블록 붙여넣기 |
Vim 기타 명령어
명령 | 기능 |
---|---|
:set nu | 행 번호 표시 |
:set nonu | 행 번호 숨기기 |
:set list | 특수문자 표시 |
:set nolist | 특수문자 숨기기 |
:set showmode | 현재 모드 표시 |
:set noshowmode | 모드 표시를 숨기기 |
:set | Set으로 설정한 모든 vim 변수 출력 |
:set all | 모든 vim 변수와 현재 값 출력 |
^l(소문자 L) | 화면 다시 출력 |
J | 현재 행과 아래 행을 연결하여 하나의 행으로 만듬 |
. | 직전에 했던 명령 반복 |