vi 편집기에 대해 알아보겠습니다.
Ⅰ. vi 편집기란?
vi는 유닉스 계열 운영체제에서 가장 많이 사용되는 텍스트 편집기입니다. 명령어 기반의 편집기이며, 강력한 기능과 효율성을 제공하여 시스템 관리와 프로그래밍 환경에서 많이 사용됩니다. vi는 대부분의 유닉스/리눅스 시스템에 기본적으로 설치되어 있으며, vim(vi improved)이라는 향상된 버전도 많이 사용됩니다.
Ⅱ. vi 편집기의 특징
ⅰ. vi는 크게 두 가지 모드로 동작합니다.
1) 명령 모드(Command mode): 기본 모드로, 텍스트 편집이 아닌 명령을 입력하여 파일을 조작할 수 있습니다. 커서 이동, 복사, 붙여넣기, 삭제 등의 작업이 가능합니다.
2) 입력 모드(Insert mode): 텍스트를 편집하고 삽입하는 모드로, 실제로 문자를 입력할 수 있는 상태입니다. 이 모드에서는 텍스트 입력 외에는 다른 명령을 수행할 수 없습니다
ⅱ. 경량성: vi는 매우 가볍고 리소스를 적게 사용하여, 서버나 최소한의 환경에서도 사용이 가능합니다.
ⅲ. 키보드 중심의 편집: 모든 작업은 키보드를 통해 이루어지며, 마우스 없이 빠르게 편집할 수 있습니다. 이는 효율적인 텍스트 편집을 가능하게 합니다.
Ⅲ. vi 편집기 사용방법
ⅰ. vi 실행 방법
vi를 사용하는 가장 기본적인 흐름은 파일을 열고, 필요한 작업을 하고, 저장 후 종료하는 것입니다. 예를 들어, vi에서 파일을 열려면 터미널에서 아래와 같은 명령어를 입력합니다:
[root@feccle ~] # vi [파일명] |
ⅱ. vi 모드 전환
1) 명령모드 → 입력모드
i: 커서 앞에 텍스트 입력을 시작합니다.
a: 커서 뒤에 텍스트 입력을 시작합니다.
o: 현재 줄 아래에 새로운 줄을 추가하고 입력을 시작합니다.
2) 입력 모드 → 명령 모드
Esc: 입력 모드를 종료하고 명령 모드로 돌아갑니다.
Ⅲ. vi 편집기 주요 명령어
명령 모드에서 실행하는 기본 명령어는 다음과 같습니다.
1) 파일 저장 및 종료
명령어 | 설명 |
:w | 파일 저장 |
:q | 편집기 종료 |
:wq | 저장하고 종료 |
:q! | 저장하지 않고 종료 |
2) 커서 이동
명령어 | 설명 |
h | 왼쪽으로 이동 |
j | 아래로 이동 |
k | 위로 이동 |
l | 오른쪽으로 이동 |
gg | 파일의 첫 번째줄로 이동 |
G | 파일의 마지막 줄로 이동 |
숫자+G | 해당 줄 번호로 이동 ex) 15G 는 15번째 줄로 이동 |
ctrl+f (forward) |
앞으로 한 페이지 이동 |
ctrl+b (backward) |
뒤로 한 페이지 이동 |
3) 텍스트 편집
명령어 | 설명 |
x | 현재 커서의 문자를 삭제 |
dd | 현재 줄을 삭제 |
yy | 현재 줄을 복사 |
p | 복사한 내용을 현재 커서 아래에 붙여넣기 |
u | 이전 명령 취소 (undo) |
Ctrl+r | 취소했던 명령을 다시 실행(redo) |
4) 검색
명령어 | 설명 |
/검색어 | 파일 내에서 검색어를 찾음 ex) /export 는 export 라는 단어를 찾음 |
n | 다음 검색 결과로 이동 |
N | 이전 검색 결과로 이동 |
5) 문자열 치환
명령어 | 설명 |
:%s/old/new/g | 파일 전체에서 old 문자열을 new로 모두 치환 |
:n,m s/old/new/g | n번째 줄에서 m번째 줄까지 old를 new로 치환 |
6) 행번호 표시
명령어 | |
:set nu | 행번호 실행 |
:set nonu | 행번호 끄기 |
Ⅳ. vi 편집기 장단점
vi 편집기 | |
장점 | 1) 빠른 속도: 키보드만으로 빠르게 명령을 실행할 수 있어 대용량 파일도 효율적으로 편집 가능. 2) 경량성: 시스템 자원을 거의 사용하지 않기 때문에, 리소스가 제한된 환경에서도 사용 가능. 3) 범용성: 모든 유닉스 및 리눅스 배포판에 기본적으로 포함되어 있어, 어떤 환경에서든 사용할 수 있음. |
단점 | 1) 학습 곡선: 처음 사용하는 사용자에게는 모드 전환과 명령어가 익숙하지 않아 어려울 수 있습니다. 2) 기능 제한: vim에 비해 일부 기능이 제한적입니다. |