본문 바로가기
Dev/ETC

VIM 명령어

by nakanara 2020. 3. 6.
반응형

유닉스의 기본 편집기 VI 에디터를 계량한 버전이 VIM(빔) 에디터이며, 본질적으로 차이는 없음

VIM:Vi Iproved(향상된 VI)

VI는 최소한의 텍스트 편집 기능만 가지고 있으며, VIM을 문법 강조 등 기능이 추가된 버전

리눅스에는 VIM만 설치되어 있으며 VI를 실행하여도 VIM이 실행 됨.

저장 및 종료

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

입력 모드 전환

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

이동

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

삭제

명령어 설명
x,dl 커서 위치의 글자 삭제
X,dh 커서 앞의 글자 삭제
diw 현재 위치에 있는 단어 삭제
dd 커서가 있는 행을 삭제
[n]dd 현재 커서부터 아래 n번째 줄까지 삭제
dj 현재 커서와 아래 줄 삭제

복사 & 붙여 넣기

명령어 설명
yy,Y 커서가 있는 한 행 복사
p 현재 커서에 붙여 넣기, 행 복사일 경우 아래 줄에 붙여 넣음
[n]yy,[n]Y 커서가 위치한 이후로 n행 복사
[n]p n번만큼 붙여넣기 반복

블록 지정

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

문자열 탐색 및 치환

명령어 설명
: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로 교체
%s/old/new/g 문서 전체에서 old를 new로 교체
%s/old/new/gc 문서 전체에서 old를 new로 확인하며 교체
%g/pattern/s/old/new/gc pattern이 있는 모든 행의 old를 new로 확인하며 교체

정규식 표현

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

 

https://github.com/vim/vim

https://www.vim.org/

 

#vi #vim #편집기 #명령어

반응형