IT/기초 지식

[Linux] vi 기초 사용법

개발자 두더지 2021. 6. 10. 21:57
728x90

vi는 Linux OS를 포함한 Unix베이스 OS에서 이용할 수 있는 텍스트 에디터이다. 

 

vi 커맨드의 기본


vi 는 Linux의 표준 에디터를 실행시키는 커맨드이다. 기본적인 사용법은 다음과 같다.

$ vi 파일명

이미 "파일명"으로 지정한 파일이 존재한다면, 그 파일이 열리고 없으면 새로 생성하는 에디터창이 열린다.

 

 

vi 에디터의 기본적인 사용법


vi 에디터는 입력 모드, 커맨드 모드 이렇게 두 가지 모드가 존재한다. 실행시키면 기본 커맨드 모드이다. 커맨드 모드에서 입력 모드로 전환하는 키로는 i, R, A, O, o가 있는데, 각 키마다 아래와 같이 조금씩 역할이 다르다.  다시 입력 모드부터 커맨드 모드의 전환은 "esc"키를 이용한다.

 

1. 입력 모드의 키 목록

커맨드 모드에서 아래의 키를 누르면 각각 다른 입력 모드로 전환된다.

i 키 현재의 커서 위치에 문자를 삽입한다.
R 키 현재 커서 위치의 문자를 덮어쓴다.
A 키 현재 커서가 위치한 행의 마지막에 문자를 추가한다.
O 키 (대문자) 현재 커서가 위치한 행의 앞의 행에 행을 삽입한다.
o 키 (소문자) 현재 커서가 위치한 행의 다음 행에 행을 삽입한다.

 

2. 커맨드 모드의 키 목록

커맨드 모드에서 다음의 키를 입력하면 아래와 같은 역할을 하게 된다. 

1) 문자의 삭제

x키 한 개의 문자를 삭제
dd키 하나의 행을 삭제
xdd키 x행 삭제 (예: "3dd"를 입력하면 3행이 삭제)
J키 다음의 행을 현재 커서가 위치한 행의 끝에 추가 (행의 끝에 문자의 삭제)

2) 행의 복사, 붙여넣기

커맨드 모드에서 Y혹은 yy를 입력하면, 그 행을 복사한다. 또한, p를 입력하면 Y로 복사한 하나의 행을 붙여넣기하는 것이 가능하다.

Y키 커서가 위치한 행을 복사
yy키 커서가 위치한 하나의 행을 복사하여 클립보드에 저장(Y와 동일)
p키 클립보드의 내용을 커서가 위치한 행의 아래 행에 붙여넣기
yyp키 커서가 위치한 행을 복사하여, 다음 행의 아래에 붙여넣기 (Yp와 동일)

3) vi의 종료

:q키  파일을 닫음. 파일에 변경이 있는 경우 메시지가 표시되며 닫히지 않음. (무엇도 적지 않고 종료하고 싶은 경우 사용)
:q! 키 파일을 닫음. 파일에 변경이 있는 경우라도 변경이 저장되지 않고 강제로 종료됨.
:wq 키 파일의 변경사항을 저장하고 vi를 종료
:wq! 키 읽기전용 파일을 강제로 편집하한 뒤 종료

 

커서의 이동

vi에서 커서를 이동할 때 방향키를 쓰지 않는다. 대신 아래의 키를 사용한다.

h키 커서를 한 문자 왼쪽으로
j키 커서를 1행 아래로
k키 커서를 1행 위로
l키 커서를 한 문자 오른쪽으로
0키 커서를 행 맨 앞으로
$키 커서를 행 맨 뒤로 

 

검색

/를 입력한 뒤에, 검색하고 싶은 문자열을 입력하고, Enter키를 누르면 검색이 이루어진다. 맨 처음 발견한 문자열로 커서가 이동된다. 

/sample sample이라는 문자열을 파일의 문자열을 끝 방향으로 이동하며 검색
?sample sample이라는 문자열을 파일의 문자열을 앞 방향으로 이동하며 검색 
n 다음 후보를 검색

 

UNDO

u를 입력하면 직전의 조작을 취소하는 것이 가능하다. 

u 직전의 조작을 취소
U 행 전체의 조작을 취소

 

그 외

:set number 행 번호를 표시한다.
:set nonumber 행 번호를 비표시한다.
:x,yd 행을 지정하여 삭제한다 (예 : x(행의 시작), y(행의 끝) d라고 입력하면, x~y행을 삭제한다)

참고자료

http://turbo.mech.iwate-u.ac.jp/Fel/unix/vi.html

https://eng-entrance.com/linux-command-vi

 

728x90