UNIX Unbounded A Beginning Approach 이 성 현 Home : nimilx2.hannam.ac.kr E-mail : shlee@netwk.hannam.ac.kr Tel : +82-42-629-7559
목차 편집기란 무엇인가? vi 편집기 vi 편집기의 기본 명령어 메모리 버퍼 요약 질의 및 응답 실습
편집기란 무엇인가? 편집기 편집기 정의 편집기의 유형 파일을 만들거나 기존의 파일을 수정할 수 있는 도구 파일에는 노트, 메모, 프로그램 소스 코드 등이 포함 워드 프로세스의 한 종류이지만, 인쇄, 그림 등과 같은 기능을 지원하지 않음 편집기의 유형 라인 편집기(line editor) 한번에 한 라인 또는 여러 라인 단위로 편집 편집을 위해서는 련집 할 라인을 지정 파일의 텍스트를 큰 블록 단위로 탐색하고 교체하고 복사하는 작업에 이점이 있음 화면 편집기(full screen dditor) 한번에 한 화면에 편집하고 있는 텍스트를 보여주고, 커서를 화면에서 이동하면서 편집 편집한 내용은 파일에 적용되고 바뀐 내용을 즉시 화면에서 볼 수 있다
편집기란 무엇인가? UNIX에서 지원하는 편집기 텍스트 형식 지정기(Text Formatter) 라인과 화면 편집기를 모두 지원 텍스트 형식 지정기(Text Formatter) 문서를 준비하는데 사용 vi 편집기와 같은 편집기를 사용해서 작성한 텍스트 파일에 페이지, 또는 포맷으로 변경된 텍스트를 출력할 수 있는 기능을 가지고 있다 키 동작 ed 최초의 라인 편집기 ex ed 편집기를 보다 정교하게 개선된 편집기 vi 비주얼 하면 편집기 emacs 특허 저자 등의 권리가 소멸되어 일반인에게 공개된 화면 편집기
vi 편집기 vi 편집기의 개요 유닉스 시스템에서 사용되고 있는 텍스트 에디터의 종류 3가지의 텍스트 에디터가 사용 ed : 초기 유닉스 시스템용 텍스트 에디터 emacs : 범용 유닉스 텍스트 에디터, 융통성이 좋음 vi : 거의 모든 유닉스 시스템의 기본 텍스트 에디터, 가장 널리 사용되고 모든 유닉스 호스트에 존재 Text editor와 Word processor 비교 Text editor 단순한 형태의 텍스트, 프로그램 소스나 이메일 등을 편집하는데 그 목적을 둠 Word processor 글꼴이나 문자의 크기를 조절하거나 그림 등을 삽입함으로써 문서를 통해 최대한으로 정보를 전달하기에 좋게 꾸미는데 그 목적을 둠 vi는 visual editor의 약자로 유닉스의 표준 편집기 ex라는 라인 에디터를 바탕으로 만들어진 full 스크린 편집기 보통 한 화면에 나타낼 수 있는 데이터의 수는 80문자의 23줄 정도를 나타낼 수 있으며, 어떤 유형의 유닉스 단말기에도 사용 가능
vi 편집기 vi 편집기의 개요 vi를 사용하는 이유 어느 유닉스 시스템이나 존재 작고 빠르다 모드가 분리되어 있기 때문에 hot key나 menu의 필요성이 없고, 쉽게 구현할 수 있으며 빠른 문서 편집/작성이 가능 강력하다 vi는 문서를 열때 임시 파일을 만들어 놓고 작업하기 때문에 용량이 큰 파일이라도 편집가능하고 여러 개의 파일을 차례대로 편집할 수도 있고 파일 내에서의 커서이동에 자유로움 안정적이다 유닉스 시스템에서 사용되는 모든 편집기들은 파일 속에서 데이터를 추가, 수정, 삭제 등을 할 때 본래의 데이터를 보존할 목적으로 디스크에 있는 파일 내용을 임시적으로 버퍼에 복사하여 작업 버퍼에 복사하여 파일 내용들을 버퍼 속에서 수정, 삭제, 추가 등을 한 후 이를 다시 디스크에 저장 파일 내용을 잘못 수정했거나 파일 편집 작업이 중단된 경우 버퍼의 내용만 무시하게 되면 디스크에 존재하는 기존의 파일 내용을 보존 가능
vi 편집기 Disk Buffer vi 편집기의 구조 disk 와 buffer의 관계 버퍼내의 파일내용 저장 후 편집기에서 빠져 나옴 파일 편집을 위해서 편집기를 부름 disk 와 buffer의 관계
vi 편집기 vi 편집기 개요 vi 편집기 vi 편집기의 버전 대부분의 유닉스 운영체제에서 이용 가능한 화면-지향의 텍스트 편집기 워드 프로세싱 프로그램의 용이성과 유연성을 제공 ex 편집기를 기반으로 작성했기 때문에 vi 편집기에서 ex 명령어 사용 가능 vi 편집기의 버전 view 편집기 vi 편집기에서 읽기만 가능하게 설정된 vi 편집기의 한 버전 단지 파일의 내용을 보기만 하고 수정이 필요 없을 경우에 유용 사용자의 부주의로 파일이 변경되는 것을 방지 vedit 편집기 vi 편집기의 몇 가지 기능만을 가지고 있는 vi 편집기의 한 버전 초보자용
vi 편집기 vi 운영 모드 vi 편집기의 운영 모드 명령어 모드(Command Mode) 커서의 이동, 글의 삭제, cut & paste 등의 작업을 할 수 있는 모드 입력 모드(Text input mode) 어떠한 텍스트(데이터)를 입력할 수 있는 모드 Ex 명령 모드(colon mode) 또는 상태 라인(Status Line) 초기 유닉스에서부터 쓰이던 라인 에디터인 ex 에디터의 명령어들을 입력하여 사용하는 mode 명령 모드에서 :을 입력하면 화면 아래쪽에 : 라는 프롬프트가 나타나면서 ex 명령 모드로 전환 검색, 대치, 파일 저장 등의 작업을 할 수 있는 모드
vi 편집기 : vi 운영 모드 vi start ex mode ex mode로 진입 입력 mode 텍스트의 입력 ESC 커서의 이동, Copy,cut,paste Replace.. 입력 mode 텍스트의 입력 ex mode 파일의 저장, 검색.. i,a,I,A, o,O ESC : 입력mode로 진입 ex mode로 진입
vi 편집기의 기본 명령어 vi 편집기에 접근하기 vi 시작하기 $ vi [Enter]
vi 편집기의 기본 명령어 vi 편집기에 접근하기 vi 시작하기
vi 편집기의 기본 명령어 vi 편집기에 접근하기 vi 종료하기 :wq, :q, !wq, !q 등의 명령을 통해 종료
vi 편집기의 기본 명령어 커서 이동키 : 첫번째 커서 이동키 커서로 이동하기 위해서는 명령어 모드로 전환 커서 이동키는 커서의 위치를 변경하는데 사용 키 동작 h[left arrow] 커서 위치를 왼쪽으로 한 칸 이동 j[Down arrow] 커서 위치를 한 라인 아래로 이동 k[Up arrow] 커서 위치를 한 라인 위로 이동 l[Right arrow] 커서 위치를 오른쪽으로 한 칸 이동
vi 편집기의 기본 명령어 텍스트 입력 모드 vi 입력 모드 전환 키 입력 모드의 전환시 텍스트 입력 모드임을 나타내기 위한 확인 메시지나 피드백을 제공하지 않음 vi 편집기의 모드를 나타내거나 피드백을 제공하기 위해 적합한 환경으로 구성할 수 있음 키 동작 i 커서가 위치한 문자 앞에 입력한 텍스트 삽입 I(대문자) 현재 라인이 시작되는 곳에 텍스트를 삽입 a 커서가 위치한 문자의 뒤에 입력한 텍스트를 덧붙임 A(대문자) 현재 라인의 마지막 문자 뒤에 텍스트를 삽입 o 현재 라인의 아래에 공백 라인을 만들고 새로운 라인의 가장 처음에 커서를 위치 O(대문자) 현재 라인의 위쪽에 공백 라인을 만들고 새로운 라인의 가장 처음에 커서를 위치
vi 편집기의 기본 명령어 텍스트 입력 모드 텍스트 삽입 텍스트 추가 새로운 라인 열기 기타 키 사용 또는 I를 이용 a 또는 A를 이용 a : 커서의 뒤에 입력 A : 현재 라인의 맨 마지막에 입력 새로운 라인 열기 o 또는 O를 이용 o : 현재 라인의 아래에 공백 라인이 생김 O : 현재 라인의 위에 공백 라인이 생김 기타 키 사용 [Spacebar] : 커서의 앞에 공백 문자가 만들어 진다. [Tab] : 보통 8개의 공백을 생성 [Back Space] : 현재 입력된 문자의 왼쪽으로 커서가 한 문자 이동 [Enter] : 새로운 줄을 생성
vi 편집기의 기본 명령어 명령어 모드 커서 이동키 텍스트를 지우거나 수정, 삽입하기 위해서 화면에 커서를 원하는 위치로 이동하는 키 명령어 모드에서 화실키를 사용해서 커서를 이동할 수 있음 키 동작 h 커서 위치를 왼쪽으로 한 칸 이동 j 커서 위치를 한 줄 아래로 이동 k 커서 위치를 한 줄 위로 이동 l 커서 위치를 오른쪽으로 한 칸 이동 $ 커서 위치를 현재 줄의 끝으로 이동 w 커서 위치를 한 단어 앞으로 이동 b 커서 위치를 한 단어 뒤로 이동 e 커서 위치를 단어 끝으로 이동 0(zero) 커서 위치를 현재 줄 맨 앞으로 이동 [Enter] 커서 위치를 다음 줄로 이동 [Spacebar] [Back Space]
vi 편집기의 기본 명령어 명령어 모드 텍스트 수정 vi가 명령어 모드일 경우에만 적용 vi 모드를 변경시키지 않는다 키 동작 x 커서가 위치한 곳의 문자 삭제 dd 커서가 위치한 줄 삭제 u 가장 최근에 변경된 내용을 원상태로 U 현재 줄의 모든 변경을 원 상태로 r 커서가 위치한 곳의 문자를 교체 R 커서가 위치한 곳의 문자를 교체하고 텍스트 입력 모드로 전환 .(점) 최근 텍스트 변경을 반복
vi 편집기의 기본 명령어 명령어 모드 패턴 탐색 /와 ?를 이용 / : 전방 탐색(search forward) ? : 후방 탐색(search backward) 크기가 큰 파일을 편집할 경우, 위치를 쉽게 찾을 수 있음
vi 편집기의 기본 명령어 명령어 모드 최근 명령 반복하기 vi 편집기 종료하기 .(점) 이용 최근에 사용된 명령을 반복할 때 사용되는 명령어 파일에서 똑같은 작업이 반복될 경우에 유용 vi 편집기 종료하기 키 동작 wq 파일의 내용을 기록하고 vi 편집기 종료 w 파일의 내용을 기록하기 편집기 수행 계속 실행 q 편집기 종료 q! 파일의 내용을 저장하지 않고 편집기 종료 ZZ 파일의 내용을 저장하고 vi 편집기 종료
vi 편집기의 기본 명령어 명령어 모드 vi 편집기의 동작 모드
메모리 버퍼 vi 편집기의 임시 버퍼
요약 vi 편집기의 장점 vi 편집기의 기본 명령어들의 동작 명령어 모드 및 메모리 버퍼
질의 및 응답
실습 교재에서 제시된 내용을 바탕으로 myfirst 파일 생성 Vi Editor is easy. 수정된 myfirst에서 첫번째 라인의 삭제 기타 명령어의 수행