본문 바로가기

PC

[Linux] vi 에디터 명령어 및 사용법

리눅스를 써보면 윈도우의 메모장이 얼마나 위대한지 알 수 있다...

 

 

 리눅스에서는 그나마 메모장이랑 비슷한 vi 에디터라는 것이 있다

하지만...메모장보다 훨~~~~~씬 어렵다...
 
그냥 자주 써보면서 익히는 수 밖에....
 
 
vi편집기는 명령모드와 편집모드로 나누어 진다
(이름만 들어도 느낌이 오지 않는가...왜 굳이 나누어 놓았는지는 모르겠지만 ㅠㅠ)
명령모드는 편집을 하기위하여 사용하는 모드, 편집모드는 데이터를 입력하기 위한 모드이다
 



 
vi 에디터를 시작하면 명령 모드로 시작된다
(리눅스는 대소문자 구분이 확실하니 조심하자)
 
 
수정할 파일이 있으면
vi filename (enter)
 
간단하다!





 
 
 
 
<<파일 저장 및 종료>>
esc 편집 모드에서 명령 모드로 변경
:w  변경사항 저장
:w filename 지정한 파일이름으로 저장
:wq 변경사항을 저장 후 종료
:q! 변경사항을 저장하지 않고 종료
:q 종료
 
 
 
<<명령모드에서 입력모드로 전환>>
i   현재 커서의 위치부터 입력
I  현재 커서 행의 맨 앞에서부터 입력
a 현재 커서 위치의 다음 칸부터 입력
A 현재 커서 행의 맨 마지막부터 입력
o 현재 커서의 다음 행에 입력
O 현재 커서의 이전 행에 입력
s 현재 커서 위치의 한 글자를 지우고 입력
S 현재 커서의 한 행을 지우고 입력

 
 
 
<<명령 모드에서 커서 이동>>
h 커서를 왼쪽으로 한 칸 이동
j  커서를 아래로 한 칸 이동
k  커서를 위로 한 칸 이동
I  커서를 오른쪽으로 한 칸 이동
ctrl + F  다음 화면으로 이동(Page Down키)
Ctrl + B 이전 화면으로 이동 (Page Up키)
^  현재 행의 처음으로 이동 (Home키)
$ 현재 행의 마지막으로이동 (End키)
gg  제일 첫 행으로 이동
G 제일 끝 행으로 이동
숫자(G) =  해당 숫자의 행으로 이동
:숫자(Enter키) 해당 숫자의 행으로 이동

<<명령 모드 삭제, 복사, 붙여넣기>>
x  현재 커서가 위치한 글자 삭제(Del)
X 현재 커서가 위치한 앞 글자 삭제(Backspace)
dd 현재 커서의 행 삭제
숫자 dd  현재 커서부터 숫자만큼의 행 삭제
yy  현재 커서가 있는 행을 복사
숫자 yy 현재 커서부터 숫자만큼의 행을 복사
p 복사행 내용을 현재 행 이후에 붙여 넣기
P 복사한 내용을 현재 행 이전에 붙여 넣기



 

<<명령 모드에서 문자열 찾기>>
/문자열 (Enter) 아래로 문자열 찾음
n 찾은 문자 중에서 다음 문자로 이동함
? 문자열 (Enter) 위로 문자열 찾음
N 은 문자 중에서 이전 문자로 이동함
 
 
 
<<그 외>>
 
A라는 문자를 모두 B로 바꾼다. :%s/A/B
행 번호를 표시 :set number