관리 메뉴

리눅스 vi 편집기 본문

리눅스/Linux 공부내용

리눅스 vi 편집기

ª_ª 2016. 12. 13. 10:04
728x90
반응형

vi 편집기란?

vi 편집기는 리눅스를 비롯한 유닉스 계열 운영체제에서도 많이 사용하는 텍스트 파일 편집프로그램입니다.

 

vi 편집기의 운영모드

vi 편집기는 3가지의 기본 운영모드를 가지고 있습니다.

명령어 모드, 편집 모드, 마지막 줄 모드

 

1. 명령어 모드 소개

명령어 모드는 vi 편집기에 기본 모드입니다. 이 모드에서는 글자를 지우고, 바꾸고, 복사하고 이동 등을 할 수 있습니다. 또한 커서의 위치, 문자열 검색, vi편집기를 빠져나가는 작업을 할 수 있습니다.

 

2. 편집 모드 소개

편집 모드는 사용자가 실제로 키보드로 입력한 텍스트가 파일로 들어갑니다. 편집모드는 다음 중 하나의 명령어를 입력할 수 있습니다.

i 커서 앞에 텍스트 입력

o - 커서 아래 한 줄의 빈 공간을 만들어 입력

a 커서위에 텍스트를 입력

 

3. 마지막 줄 모드 소개

마지막 줄 모드는 더 나은 편집 명령어를 사용하게 합니다. 마지막 줄 모드에 접근하기 위해서는 명령어모드 상태에서 콜론(:)을 입력합니다. 그러면 콜론이 화면의 제일 마지막줄에 위치하게 됩니다.

 

명령어 모드와 편집 모드간의 전환방법

vi 편집기의 기본 모드는 명령어 모드입니다. i, o, a 명령어일 때 vi 편집기는 편집 모드로 전환하게 됩니다. 파일의 편집이 끝났을 때 Esc를 누르면 편집 모드에서 다시 명령어 모드로 전환이 됩니다. 명령어 모드에서 vi 편집기의 파일을 저장하고 빠져 나갈 수 있습니다.

 

vi 편집기 연습해보기

1. vi filename을 입력해서 파일을 생성합니다. (자동으로 명령어 모드가 나옵니다.)

2. i 키를 누르면 왼쪽하단에 --INSERT-- 라고 뜹니다.

3. 텍스트를 입력합니다.

4. 텍스트 입력이 완료되었으면 esc를 눌러서 명령어 모드로 바꿉니다.

5. :wq를 입력해서 파일의 데이터를 저장하고 vi편집기를 나옵니다.


# vi file

> i

----------------------------

hello vi

----------------------------

> Esc

:wq

# cat file

hello vi


1. 텍스트 입력과 추가 명령어

vi 편집기 상에서 텍스트를 입력하고 추가하는 명령어 입니다. 이 명령어들은 편집모드로 바꾸는 역할을 합니다. 편집 모드에서 명령어 모드로 되돌리기 위해서는 Esc키를 누릅니다.

 명령어

기능 

 a 

 커서뒤에 텍스트를 입력

 A 

 현재 줄의 끝에 텍스트를 입력 

 i

 현재 커서 앞에 텍스트를 입력 

 I

 현재 줄의 처음에 텍스트를 입력 

 o 

 커서 밑에 새로운 줄을 만들어 입력 

 O

 커서 위에 새로운 줄을 만들어 입력 


2. 텍스트 삭제 명령어

vi 편집기에서 텍스트를 삭제하는 명령어 입니다.

 명령어

 기능 

 R 

 해당 줄에 Esc 키를 누를 때 까지 문자를 덮어 쓰거나 변경 

 C 

 해당 줄의 끝까지 덮어 쓰거나 문자를 변경

 s  

 현재 커서에 있는 문자를 변경 

 x 

 현재 커서에 있는 문자를 삭제 

 dw 

 현재 커서의 오른쪽에 단어 단위로 삭제 

 dd 

 커서가 있는 줄 전체를 삭제 

 D 

 줄에 현재 커서로부터 오른쪽을 삭제 

 :n, md 

 n줄에서 m줄까지 줄을 삭제 (예, :5,10d 하면 5에서 10번째 줄을 삭제)


3. 텍스트 변경 명령어

vi 편집기에서 텍스트를 변경하고, 변경을 되돌리고, 편집기능을 다시 실행하는 명령어를 보여줍니다.

 명령어

 기능 

 cw 

 커서의 오른쪽에 문자를 단어단위로 바꾸거나 덮어씀

 r 

 해당 커서의 한문자만 변경

 J  

 밑에 줄을 현재 줄의 오른쪽과 결합

 xp 

 현재 커서의 문자와 커서의 오른쪽 문자의 위치를 변경

 - 

 현재 커서의 윗 쪽 줄에 첫 번째로 이동

 u

 바로 전에 한 명령을 되돌린다.

 U 

 현재 줄에서 변경된 모든 것을 되돌린다.


4. 텍스트 대체 명령어

vi 편집기에서 텍스트를 검색하고 바꾸는 명령어 입니다.

 명령어

 기능 

 /string 

 string에 해당하는 문자열을 앞에서부터 검색

 ?string 

 string에 해당하는 문자열을 뒤에서부터 검색

 n  

 해당되는 문자열을 검색 후 그와 같은 다음 문자열을 찾을 때 사용

 N 

 해당되는 문자열을 검색 후 그와 같은 이전 문자열을 찾을 때 사용

 :%/old/new/g 

 old에 해당하는 문자를 new에 해당하는 문자로 변경


5. 파일 저장 & 빠져나가는 명령어

 명령어

 기능 

 :w 

 변경 내용을 디스크에 쓰고 저장

 :w new_filename 

 새로운 파일이름으로 버퍼의 내용을 저장

 :wq  

 vi 편집기에 파일을 저장하고 나감

 :x

 vi 편집기에 파일을 저장하고 나감

 ZZ

 vi 편집기에 파일을 저장하고 나감

 :q! 

 변경된걸 저장하지 않고 강제로 나감


6. 세션 커스토마이징 편집 명령어

vi 세션을 사용자의 요구대로 설정 할 수 있습니다. vi 변수를 설정할 때, 기본적으로 활성화 되지 않는 특징을 가능하게 합니다. 변수를 활성화와 비활성화는 set 명령어를 사용합니다.

 명령어

 기능 

 :set nu 

 줄의 번호를 표시

 :set nonu

 줄의 번호를 숨김

 :set ic  

 검색시 대소문자 구별 x

 :set noic 

 검색시 대소문자 구별 o

 :set list 

 보이지 않는 문자 표시

 TAB은 ^[ 로 표시 하고 라인 끝은 $로 표시

 :set nolist 

 보이지 않는 문자를 보게 하는 기능을 보이지 않게 되돌림

 :set showmode 

 현재 운용모드를 편집기 아래에 표시

 :set noshowmode

 현재 운용모드를 편집기 아래에 표시 x

 :set

 vi 변수가 설정된 것을 표시 

 :set all

 vi 에 현재 설정된 변수들을 모두 표시 

728x90
반응형
Comments