Patrick's 데이터 세상

Linux - vi 편집기 본문

Programming/Linux

Linux - vi 편집기

patrick610 2020. 6. 23. 00:38
반응형
SMALL

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

 

vi 편집기의 운영모드


 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

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

:$

맨 아래로 커서 이동

ctrl+f

뒤로 이동

ctrl+b

앞으로 이동


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! 

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

:w!

강제 저장

 

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 에 현재 설정된 변수들을 모두 표시 

 



반응형
LIST

'Programming > Linux' 카테고리의 다른 글

Linux - 파일 관련 명령어  (0) 2020.06.24
Linux - 명령어 모음  (0) 2020.06.23
Linux - 디렉터리 / 파일 생성 명령어  (0) 2020.06.23
Linux - 퍼미션(권한)  (0) 2020.06.23
리눅스 기본 명령어  (0) 2020.06.23
Comments