관리 메뉴

피터의 개발이야기

VIM 명령어 정리 본문

DevTool

VIM 명령어 정리

기록하는 백앤드개발자 2021. 1. 3. 21:31
반응형

ㅁ 개요

 ㅇ VIM 사용법을 잘 정리해 놓은 정보가 있어서 모셔왔습니다.

 ㅇ 퍼온 곳 : gyuha.tistory.com/452

 

1. 저장 및 종료

명령어 설명
:w 저장
:w file.txt file.txt 파일로 저장
:w » file.txt file.tx파일에 덧붙여서 저장
:q vi 종료
:q! vi 강제 종료
ZZ 저장 후 종료
:wq! 강제 저장 후 종료
:e file.txt file.txt파일을 불러옴
:e 현재 파일을 불러옴
:e# 바로 이전에 열었던 파일을 불러 옴

 

2. 입력모드 전환

명령어 설명
a 커서 위치 다음칸부터 입력
A 커서 행의 맨 마지막부터 입력
i 커서의 위치에 입력
I 커서 행의 맨 앞에서 부터 입력
o 커서의 다음행에 입력
O 커서의 이전 행에 입력
s 커서 위치의 한글자를 지우고 입력
cc 커서위치의 한 행을 지우고 입력

 

3. 이동

명령어 설명
h 왼쪽으로 이동
l 오른쪽으로 이동
j 아래행으로 이동
k 위 행으로 이동
w 또는 W 다음 단어의 첫 글자로 이동
b 또는 B 이전 단어의 첫 글자로 이동
e 또는 E 단어의 마지막 글자로 이동
<CR> 다음행 첫 첫 글자로 이동
^ 그행의 첫 글자로 이동
$ 그 행의 마지막 글자로 이동
+ 다음 행의 첫 글자로 이동
- 위 행의 첫 글자로 이동
( 이전 문장의 첫 글자로 이동
) 다음 문장의 첫 글자로 이동
{ 이전 문단으로 이동
} 다음 문단으로 이동
H 커서를 화면 맨 위로 이동
z<CR> 현재 행을 화면의 맨우로 이동
M 커서를 화면 중안으로 이동
z. 현재 행을 화면의 중앙으로 이동
L 커서를 화면 최하단으로 이동
z- 현재 행의 화면의 최하단으로 이동
[n]H 커서를 위에서 n행으로 이동
[n]L 커서를 아래에서 n행으로 이동
ctrl+u 반 화면 위로 스크롤
ctrl+d 반 화면 아래로 스크롤
ctrl+b 한 화면 위로 스크롤
ctrl+f 한 화면 아래 스크롤
gg 또는 1G 문서의 맨 처음으로 이동
G 문서의 맨 마지막 행으로 이동
[n]G 또는 :[n] n행으로 이동

 

4. 삭제

명령어 설명
x 또는 dl 커서 위치의 글자 삭제
X 또는 dh 커서 바로 앞의 글자 삭제
dw 현재 위치부터 스페이스 까지 삭제
diw 현재 위치에 있는 단어 삭제
dd 커서가 있는 행을 삭제
[n]dd 현재 커서 부터 아래 n번째 줄까지 삭제
dj 현재 커서와 아래 줄 삭제
[n]dj 현재 커서 부터 아래 n+1번째 줄까지 삭제
dk 현재 커서와 윗로 n+1번째 줄까지 삭제
[n]dk 현재 커서와 윗 줄 삭제
D 또는 d$ 현재 커서가 있는 위치부터 행 끝까지 삭제
d0 또는 d^ 현재 커서가 있는 위치부터 행 시작 까지 삭제

 

5. 복사 & 붙여넣기

명령어 설명
yy 또는 Y 커서가 있는 한 행 복사
p 현재 커서에 붙여 넣기.
P 현재 커서위치의 앞행에 붙여 넣기.
[n]yy 또는 [n]Y 커서가 위치한 이후로 n행 복사
[n]p n번 만큼 붙여넣기 반복

 

6. 블록 지정

명령어 설명
v 블록 지정
V 줄단위 블록 지정
ctrl+v 비쥬얼 블록 지정(WIN:ctrl+q)

 

6.1. 블록 지정 명령

명령어 설명
y 블록 복사 하기
r 치환
d 지정 블록 지우기
U 대문자로 바꾸기
u 소문자로 바꾸기
~ 대소문자 전환
J 행 합침
: 선택 영역에 대하여 ex명령
< 행 앞에 탭 제거
> 행 앞에 탭 삽입

 

7. 문자열 탐색 치환

명령어 설명
/[문자열] 문자열 탐색
:s/old/new 현재 행의 처음 old를 new로 교체
:s/old/new/g 현재 행의 모든 old를 new로 교체
:10,20s/old/new/g 10행부터 20행까지 모든 old를 new로 교체
:s/old/new/g 지정 블록 내에서 모든 old를 new로 교체
:-3,+4s/old/new/g 현재 커서에서 위로 3행 아래로 4행까지 old를 new로 교체.
:%s/old/new/g 문서 전체에서 old를 new로 교체
:%s/old/new/gc 문서 전체에서 old를 new로 확인하며 교체
:g/pattern/s/old/new/g pattern이 있는 모든 행의 old를 new로 교체

 

8. vim 정규 표현식

명령어 설명
^ 행의 첫 문자([]안에서는 not의 의미)
$ 행의 끝
. 아무 문자나 한 문자 의미
\| or의 의미
[ ] []사이의 문자 중 하나
\{min,max\} min이상 max이하 반복됨
* 앞의 내용이 0번 이상 반복됨
\+ 앞의 내용이 1번 이상 반복됨
\< 단어의 시작
\> 단어의 끝
\n 새 행 문자
\t 탭 문자

 

9. 파일 버퍼

명령어 설명
:files 또는 :ls 버퍼 목록 나열 (또는 :buffers)
:b[n] n번 버퍼로 이동
:bd[n] 또는 :bw[n] n번 버퍼를 삭제 (n이 없으면 현재의 버퍼를 삭제)
:bp[n] 이전 버퍼로 이동, n번만큼 이전 버퍼로 이동
:bn[n] 이후 버퍼로 이동, n번만큼 이후 버퍼로 이동
:sb[n] 창을 수평분할 하여 n번 버퍼를 로드
:bf 첫 번째 버퍼로 이동
:bl 마지막 버퍼로 이동

 

10. Tab

명령어 설명
:tabnew 새로운 탭을 열기
:tabnew b.txt b.txt가 존재하면 열고, 없으면 새로 만들어서 연다
:tabf b.txt b.txt가 존재하면 열고, 없으면 에러 발생
:tabn[n] 다음 탭을 열기,n을 붙이면 n번 만큼 이동
:tabp[n] 이전 탭을 열기,n을 붙이면 n번 만큼 이동
:tabs 탭 목록 보기
:tabclose 탭을 닫기
:tabfirst 첫번째 탭을 열기
:tablast 마지만 탭을 열기
:tabdo %s/old/new/g 모든 탭에 적용을 원할 때

 

11. 마킹 및 마킹위치로 이동

명령어 설명
m[a-z0-9] 파일내에서 마킹, 현재 버퍼내에서만 이동 함 예)ma
m[A-Z] 전체영역에서 마킹, 다른 파일로도 이동 함.
`[A-Za-z0-9] 마킹된 위치로 돌아감 예)`a
’[A-Za-z0-9] 마킹된 행의 처으으로 이동함. 예)‘a
직전에 커서가 위치하던 행의 처음
`` 직전의 커서 위치로 이동
’” 현재 파일을 닫았을 때 커서가 있던 행처음으로 이동
`" 현재 파일을 닫았을 때 커서가 있던 위치로 이동

 

12.

명령어 설명
CTRL-W s 현재 파일을 두 개의 수평 창으로 나눔
CTRL-W v 현재 파일을 두 개의 수직 창으로 나눔
CTRL-W n 새로운 수평 창 생성
CTRL-W q 현재 커서의 창을 종료
CTRL-W c 현재 커서의 창 닫기
CTRL-W o 현재 커서의 창만 남기고 모든 창 삭제
CTRL-W h 왼쪽 창으로 커서 이동
CTRL-W j 아래쪽 창으로 커서 이동
CTRL-W k 위쪽 창으로 커서 이동
CTRL-W l 오른쪽 창으로 커서 이동
CTRL-W w 창을 순차적으로 이동

 

 

 

VIM Cheat Sheet.pdf
0.10MB

 

반응형
Comments