VI

- Linux에서 기본적으로 제공하는 문서 편집기(CLI 환경에서 사용)

사용 환경

1) 명령 모드

     - 기본 사용 환경 : 커서 이동, 복사/잘라내기, 삭제, 입력/실행 모드 전환

 

2) 입력 모드

     - 문서의 내용을 변경하기 위한 환경, 내용 추가/수정/삭제, 명령 모드 전환

 

3) 실행 모드

     - 그 외 대부분의 기능들을 사용하기 위한 환경, 명령 모드 전환 (ex모드)

 

※ 입력 모드와 실행 모드 간의 전환은 불가능

 

vi 에디터 실행

vi                     : 빈파일 열기

vi <파일명>     : 해당 파일 열기

 

# 명령 모드 사용 방법

1. 커서 이동

1) 글자단위 커서 이동
h 한 글자 왼쪽으로 이동
j 한 글자 아래로 이동
k 한 글자 위로 이동
l 한 글자 오른쪽으로 이동
2) 단어 단위 커서 이동
     > 소문자로 눌러주면 특수문자를 별개의 단어로 인식
        대문자로 눌러주면 무조건 공백/엔터를 기준으로 단어 인식
w 다음 단어의 첫 글자로 이동
b 이전 단어의 첫 글자로 이동
e 다음 단어의 마지막 글자로 이동
3) 줄 내부 커서 이동
0 커서가 있는 줄 첫 글자로 이동
$ 커서가 있는 줄 마지막 글자로 이동
4) 화면 내부 커서 이동
L 현재 화면의 마지막 줄로 이동
M 현재 화면의 가운데 줄로 이동
H 현재 화면의 첫 줄로 이동
5) 문서 내부 커서 이동 ( ★ )
gg = [[ 문서의 첫 줄로 이동
G = ]] 문서의 마지막 줄로 이동
:숫자 숫자번째 줄로 이동

 

2. 입력 모드 전환

i 커서 왼쪽으로 내용 입력
I 커서가 있는 줄 왼쪽으로 내용 입력
a 커서 오른쪽으로 내용 입력
A 커서가 있는 줄 오른쪽으로 내용 입력
o 커서 아래 빈 줄 삽입 후 내용 입력
O 커서 위에 빈 줄 삽입 후 내용 입력
s 커서가 있던 글자를 지우고 내용 입력
S 커서가 있던 줄을 지우고 내용 입력

 

3. 실행 취소. 다시 실행 ( ★★★★★ )

u 실행 취소 (되돌리기)
ctrl + r 다시 실행

 

4. 삭제

x 커서 오른쪽 글자 삭제 ( =delete )
    > 커서 오른쪽에 지울 글자가 더 없으면 커서 왼쪽 글자 삭제 ( = backspace )
X 커서 왼쪽 글자 삭제 ( =backspace )
    > 커서 왼쪽에 지울 글자가 더 없으면 그대로 기능 종료

 

5. 복사/잘라내기/붙여 넣기 ( ★★★★★ )

yy 커서가 있는 줄 복사
숫자 + yy 커서가 있는 줄부터 숫자 만큼의 줄 복사
dd 커서가 있는 줄 잘라내기
숫자 + dd 커서가 있는 줄부터 숫자만큼의 줄 잘라내기
p 커서 아래로 붙여넣기
P 커서 위로 붙여넣기

 

# 실행 모드 사용 방법

1. 줄 번호 출력/숨기기

:set nu 줄 번호 출력
:set nonu 줄 번호 숨기기

 

2. 검색

/Pattern 위에서 아래로 Pattern검색
?Pattern 아래에서 위로 Pattern검색
n 검색 방향으로 다음 찾기
N 검색 방향 반대로 다음 찾기

 

3. 찾아 바꾸기 (치환)

:[범위]s/찾을내용/바꿀내용/[옵션]
범위
생략 커서가 있는 줄의 내용을 찾아서 변경
n1 n번째 줄에 있는 내용을 찾아서 변경
n1,n2 n1번째 줄부터 n2번째 줄까지의 내용을 찾아서 변경
% 문서 전체에 있는 내용을 찾아서 변경
옵션
g 한 줄에 찾는 내용이 여러 개면 전체를 다 변경

 

4. 현재 사용 중인 파일 확인

:f 현재 파일명과 커서 위치 확인

 

5. 리눅스 명령어 사용

:! <명령어> vi를 잠시 멈추고 리눅스 명령어 동작

 

6. 문서에 내용 삽입

:.! <명령어> 커서가 있던 줄의 내용을 지우고 명령어 동작 결과 입력
( 화면에 결과가 출력되는 명령어를 사용 )
:r! <명령어> 커서가 있던 줄 아래로 명령어 동작 결과 입력
( 화면에 결과가 출력되는 명령어를 사용 )
:r <파일명> 커서가 있던 줄 아래로 다른 파일의 내용 삽입

※ :r, :r!는 :과 r 사이에 숫자를 넣어서 특정 줄 아래로 삽입 가능

 

7. 저장/종료/불러오기

     > !를 붙여주면 강제로 진행(ex. :q! = 강제 종료)

:w 저장
:w <파일명> 다른 이름으로 저장
:wq 저장하고 종료
:wq <파일명> 다른 이름으로 저장하고 종료
:q 종료
:e <파일명> 기존 문서를 종료하고 다른 파일 불러오기
:enew 기존 문서를 종료하고 새 파일 열기

 

8.  vi 화면 분할

ctrl + w + n vi 화면 분할
ctrl + w + w 분할 화면간 커서 이동

'리눅스' 카테고리의 다른 글

권한  (0) 2022.10.17
사용자 계정 실습  (0) 2022.10.17
사용자 계정  (1) 2022.10.17
기초 명령어  (0) 2022.10.12
프롬프트 출력 내용, 디렉터리  (1) 2022.10.12

+ Recent posts