리눅스 Linux

[Linux] 뉴비를 위한 VIM 기초 사용법 총정리

sseozytank 2024. 3. 27.

1.vim과 nano 

- 유닉스에서 사용할 수 있는 에디터로, 터미널을 통해서 텍스트 편집이 가능한 텍스트 편집기 

 

2.vi와 vim 

- vi : visual display editor

- vim : vi iMproved , 향상된 vi (업그레이드 버전) 

 

3.vim 사용법 익히기 

vim 처음 사용할 때 언제는 esc를 쓰고, 이런게 너무 어려웠는데 이렇게 접근하니까 훨씬 수월했다. 

 

1.우선 vim에 진입해주자. 

vim

#이미 있는 파일을 수정하기 
vim [파일명]

 

이렇게 진입해주면, vim 일반 모드가 실행된 것이다.

 

이 상태에서는 텍스트 편집이 되지 않는다.

2.입력 모드로 진입하기 

vim을 처음 들어가면, 입력이 되지 않을 것이다. 그럼 텍스트를 편집할 수 있는 입력 모드로 전환해줘야 한다. 진입한 상태로 커서 기준 어디서 부터 입력할지를 생각해서, 상황에 맞는 키로 진입해주면 된다. 

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

입력 모드 진입 시 아래 INSERT 글자를 통해 제대로 진입한 것을 확인할 수 있다.

 

편집기에 진입하면, 방향키로 위치를 이동해가며 메모장 쓰듯이 작성해주면 된다. 

연습용 텍스트를 입력해주었다.

3.명령 모드로 진입하기 = 입력 모드의 종료 

원하는 내용으로 작성을 마치고 나면, 저장을 하던 나가던 해야한다. 그럴 땐 명령 모드에 진입해야하는데, esc를 눌러주면 명령모드에 진입할 수 있다. 

INSERT 표시가 사라지고 명령모드에 진입하였다.

 

해당 모드에 진입해서 아무리 키보드를 두드려도 입력이 되지 않는다. 우리는 현재 편집 모드가 아니라 명령 모드이니깐.

그럼 명령 모드에선 어떤 명령을 내릴 수 있을까? 아래와 같은 명령어를 사용할 수 있다. 편집한 텍스트의 저장 뿐만 아니라 명령을 통한 어느정도의 수정도 가능하다. 

#커서 이동 
h = 왼쪽 방향키 
j = 아래 방향키 
k = 위 방향키 
l = 오른쪽 방향키 

b : 한 단어 뒤로 이동 (back) 
w : 한 단어 앞으로 이동 (forward) 
H : 화면 맨 위로 이동 
M : 화면 중간으로 이동 
L = G : 화면 맨 아래로 이동 
nG : n번째 줄로 이동 
 

#저장 및 종료 
:w  편집된 내용 저장
:q  편집화면 수정하지 않았거나 
:wq 편집된 내용 저장하고 종료 
:q! 저장하지 않고 종료 
:q  read only 일 때, 저장하지 않고 종료 
:w! read only 일 때, 강제로 저장 


#복사 (yank) 
yy  : 한줄 복사
yyn : n줄 만큼 복사 (똑같은걸 n줄 복사)  
yw  : 한 단어 복사 (yank word) 
ynw : n 단어 복사 (똑같은 단어를 n번 복사) 
y$  : 커서부터 이줄 끝까지 복사 
y0  : 커서부터 이줄 앞까지 복사 메

#붙여넣기 
p : 커서 앞으로 붙여넣기
P : 커서 뒤로 붙여넣기 


#삭제 (delete) 
x : 커서 뒤의 문자 하나 삭제
X : 커서 앞에 문자 하나 삭제 
dd : 한줄 삭제
ddn : n줄 삭제 
dw : 한 단어 삭제 (delete word) 
dnw : n 단어 삭제 
d$ : 커서부터 이줄 끝까지 삭제
d0 : 커서부터 이줄 앞까지 삭제 
dG : 커서부터 문서 끝까지 삭제  

#명령 되돌리기 
u : 되돌리기 (undo) 

#검색 
/검색할 단어

 

위 명령어를 통해 입력했던 내용을 한줄 더 복사해보고, result.txt라는 파일명으로 저장해보겠다. 

yy -> p 명령어 연계로 텍스트를 한줄 복사했다.
이 후 편집한 내용을 vim_result.txt로 저장하고 종료해주기 위해 :wq vim_ result.txt를 사용한다.
ls를 통해 확인하면 된다.

 

* 번외 : 비주얼 모드  

vim에는 텍스트를 마우스로 드래그하듯 선택할 수 있는 비주얼 모드라는 것이 있다. 일반 모드에서 

v : 칸 단위 선택 (--VISUAL--)
V : 줄 단위 선택 (--VISUAL LINE--)
ctrl + v : 블록 단위 선택 (--VISUAL BLOCK --)

 

으로 진입할 수 있다.  해당 비주얼 모드에서는 명령 모드의 명령어 사용이 동일하게 가능해서, 비주얼모드와 명령 모드의 복사 / 삭제 / 커서 이동등의 키와 같이 사용하면 엄청난 효율 극대화를 이루어낼 수 있다. 

 

처음에 vim을 접했을 때, 저장할때는 esc + :wq.. 이런식으로 외우니 너무 어려웠는데 4가지 모드에 대해 이해하고 접근하니 훨씬 쉬워졌었다. 모드에 대해 이해하고 차근차근 직접 작성해보면 금방 익숙해질 것이다 ✌

 

댓글