Linux/UNIX Programming

Slides:



Advertisements
Similar presentations
Vi 세미나 Contents 시작, 종료, 저장 – 시작 – 저장, 종료 – 환경설정 이동, 검색 –, 검색, 치환, 커서이동 – 편집버퍼를 통한 이동 – 쉘명령 실행 편집 – 삽입, 치환, 삭제, 복사와 이동 기타.
Advertisements

Linux1 Linux 개요 Linux 방문하여 홈페이지 등록하기 Vi 편집해 보기. Linux2 개요  Linux 란 ? 1991 Linus Benedict Torvalds 가 만든 Unix 의 한 버전 GNU(GNU is Not Unix) » 프로그램이나 정보의.
SPARCS 12 yumgyun. 이런게 아닙니다  vim -> vi improve!  유닉스 계열에서 전통적으로 널리 사용도던 vi 의 improve 즉 undo, syntax coloring, split windows 등의 기능을 포함시킨 vi 의 보강된.
Lynx, Opera, and Other Browsers 인공지능연구실. Contents Lynx (Text 기반의 Browser) 역사 및 특징 사용법 및 기능 Opera (Small Browser) 역사 및 특징 사용법 및 기능 과 뉴스 그룹 사용법 Other.
ROBOTC 활용하기 ROBOTC 활용하기 EASYTECH R & D. - Index - - Index - 제 1장 NXT 및 ROBOTC 소개 제 2장 ROBOTC 기초 프로그래밍 제 3장 범퍼로봇(Bumper Robot) 제 4장 라인로봇(Line Robot) 제.
내 손 내 손과 친구 손을 그려보세 요. 주제 : 유치원과 친구 활동명 : 친구 손과 내 손 친구 손.
화면편집기(vi) 사용하기 ㅎㅎ 유닉스 편집기 vi의 사용 방법 vi의 환경설정 한빛미디어(주)
변비 재활전문센터 재활 간호사 김은화.
문화이벤트 특강 시민축제에 대하여 애니메이션 김철환.
Q & A (사실상 혼인·이혼) Q. 사실상 혼인·이혼 관계를 어떻게 처리해야 하나요?   사실 혼인·이혼은 부부 모두 동의 여부를 확인하고, 자녀, 이·통·반장으로부터 「사실(이)혼 확인서」를 징구해야 합니다. 만약 어느 한쪽이 동의하지 않는 경우는.
커뮤니케이션 스킬 UP -전화매너- ..
리눅스 실습 정성훈.
Unix(Linux) shell programming
[INA470] Java Programming Youn-Hee Han
2006년 3월 20일 황의권, 지용인, 최종윤 서울대학교 컴퓨터공학부
Linux/UNIX Programming
1 유닉스 시스템 프로그래밍 개요.
[beginning] Linux & vi editor
UNIX Unbounded A Beginning Approach
Linux/UNIX Programming
UNIX Unbounded A Beginning Approach
Linux/UNIX Programming
Linux Compile.
Internet Protocol and Programming
DataStage 운영자 지침서 Operator’s Guide
Crontab.
2. 일반 사용자를 위한 유닉스 (UNIX for Nonprogrammers)
손에 잡히는 vim (3/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
OpenGL ES 실행을 위한 Emulator(Pocket PC 2003) 설정
2장 일반 사용자를 위한 유닉스 실습 컴퓨터 : multi.incheon.ac.kr 또는
2018 봄학기 Pusan National University School of CSE
제 20 장 오라클에서 회복 및 백업 기능.
컴퓨터 : 지적 도구 PARSONS/OJA 컴퓨터 사용하기: 기본개념 Page 1 1.
예제 1 이 예제에서는 Solidify, Replace, Free From 에 대하여 알아보도록 하자.
동물의 특징을 음악적 요소로 표현 하기 음악 3학년 2학기 20. 동물의 사육제(1 / 2) 수업계획 수업활동 [제작 의도]
제8장 네트워킹 숙명여대 창병모
Appendix A 구조적 시스템 개발 방법론.
4장 서버 구축을 위해 알아야 할 핵심 개념과 명령어
VI Editor 부서 : 연구소 이름 : 노재용.
Internet Protocol and Programming
HA-800 시운전 CHECKLIST.
Vim editor (1/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
editing program files with vi 기본적인 Linux commands
Linux/UNIX Programming
Image Styler 발표자 : 백승현 신홍범.
6장 콘 셸 뇌를 자극하는 Solaris Bible.
Linux/UNIX Programming
Linux/UNIX System Programming
업무 메뉴얼 1. 사무용품/소모품 청구의뢰서 작성요령 2. 법인 등기부등본/법인 인감증명 발급 요청서 작성요령
파워포인트 단축키 모음 범주 명령/기능 단축키 오피스 공통 단축키 파일 열기 Ctrl + O O 열려진 창들 간의 전환
마음의 성전이 더 아름다운 조촌교회.
C언어 개론.
1.비 사업용(자가용 및 관용) 차 종 적 용 상 의 구 분 승합 자동차 (버스) 1 종
Linux/UNIX System Programming
슬라이드 쇼 화면은 기능키 F5 를 누르면 됩니다. (화면정지 esc키를 누름) 볼펜으로 쓴 펜 글 씨
주어진 가락에 이어 가락을 지어 봅시다 6학년 2학기 16. 가을맞이 (2/2) 음 악 제작의도 맨 처음 보이는 초기화면입니다
Internet Protocol and Programming
시스템 인터페이스 Lab#6 C 쉘 프로그래밍 실습.
OpenGL ES 실행을 위한 Emulator(Pocket PC 2003) 설정
화 일 구 조 Chapter 3 화일의 입출력 제어.
프리젠테이션 활용 및 데이터활용 Chapter 2 엑셀의 기본 김 정 석
시외버스 안내방송 연결 메뉴얼 DAEWOO BS106 안내방송 배선 연결도[2008년 이후 모델]
2/4박자 리듬치며 노래 부르기 음악 3학년 3.구슬비 (1/3 ) 수업계획 수업활동 [제작의도]
2장 내 슬라이드 처음 만들기 실용컴퓨터 파워포인트.
Linux/UNIX Programming
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
Linux/UNIX Programming
Intelligent software Lab. 전재원
Linux/UNIX System Programming
Presentation transcript:

Linux/UNIX Programming VI 편집기 (VI Editor) 문양세 강원대학교 IT대학 컴퓨터과학전공

UNIX 편집기 종류 vi emacs 모든 유닉스 시스템에서 사용할 수 있으며, 기능도 매우 강력함 기능을 배우는데 상당한 시간을 투자해야 함 (숙련자가 되는데 많은 노력이 필요함) emacs 기능은 막강하나 기능 숙달에 많은 시간을 투자해야 함 모든 유닉스 시스템에서 유용한 것은 아님

vi 시작하기 vi를 시작하려면, Shell Prompt 상에서 “vi” 명령어 입력 $ vi [file [file …]]

명령 모드와 입력 모드 VI 편집기 vi로 작업하면 모든 데이타는 편집 버퍼(editing buffer)에 유지됨 (자신이 작업하는 내용은 메모리에 있음에 유의) 입력 모드 (input mode) 입력하는 모든 것이 편집 버퍼에 입력됨 즉, 자신이 입력하는 내용이 화면에 보이고, 그 입력 내용은 메모리 반영됨 (디스크에 직접 반영되는 것이 아니라 편집 버퍼인 메모리에 반영됨) 명령 모드 (command mode) 입력하는 모든 것이 명령어로 해석됨 일반 편집기에서 화살표 키와 같은 역할을 수행한다고 이해할 수 있음 명령 모드 입력 모드 i, I, o, O, s 키 등 ESC 키

Disks (Files) (Editing) Buffer 디스크(파일)와 편집 버퍼 VI 편집기 Disks (Files) 버퍼 내의 파일내용 저장 후 편집기에서 빠져 나옴 (Editing) Buffer 파일 편집을 위해서 편집기를 부름 Disk(file)와 편집 버퍼와의 관계

vi 종료하기 (1/2) 종료하기 위해서는 명령을 입력할 수 있는 명령모드에 있어야 함 ZZ 작업 내용을 저장하고 종료(Shell Prompt로 복귀) :q 아무런 작업을 하지 않은 경우의 종료 :q! 작업 내용을 저장하지 않고 종료 :wq 작업 내용을 저장하고 종료 (ZZ와 동일한 기능) “:q!”를 사용할 경우, 작업 내용을 저장했는지 꼭 확인할 것

vi 종료하기 (2/2) VI 편집기

vi 명령어 사용 전략 편집 버퍼(화면)에 데이타를 넣을 때 다음 단계를 따른다. 데이타를 쓰고 싶은 곳으로 커서를 옮긴다. 입력 모드로 바꾸기 위한 명령을 사용한다. 데이타를 입력한다. 명령 모드로 바꾸기 위해 ESC를 누른다. (내용을 입력한 후에는 버릇처럼 ESC를 누른다.) 편집 버퍼(화면)에 데이타가 있으면 어떤 일을 수행하기 위한 다양한 명령들을 읽힌다. 커서를 움직이는 명령 입력 모드로 전환하는 명령 변화를 주기 위한 명령

커서 이동하기 (1/4) 명령 모드에서 자판의 키를 활용하여 커서를 이동시킨다. h 커서를 한 칸 왼쪽으로 이동 VI 편집기 명령 모드에서 자판의 키를 활용하여 커서를 이동시킨다. h 커서를 한 칸 왼쪽으로 이동 j 커서를 한 칸 아래쪽으로 이동 k 커서를 한 칸 위쪽으로 이동 l 커서를 한 칸 오른쪽으로 이동 LEFT 커서를 왼쪽으로 한 칸 이동 DOWN 커서를 아래쪽으로 한 칸 이동 UP 커서를 위쪽으로 한 칸 이동 RIGHT 커서를 오른쪽으로 한 칸 이동 BACKSPACE 커서를 왼쪽으로 한 칸 이동 SPACE 커서를 오른쪽으로 한 칸 이동

커서 이동하기 (2/4) VI 편집기 h l k j

커서 이동하기 (3/4) - 커서를 이전 줄의 처음으로 이동 + 커서를 다음 줄의 처음으로 이동 VI 편집기 - 커서를 이전 줄의 처음으로 이동 + 커서를 다음 줄의 처음으로 이동 RETURN 커서를 다음 줄의 처음으로 이동 0 커서를 현재 줄의 맨 앞으로 이동 $ 커서를 현재 줄의 끝으로 이동 ^ 커서를 현재 줄의 첫 글자로 이동(탭이나 공백이 아닌) w 커서를 다음단어의 첫 글자로 이동 b 커서를 이전단어의 첫 글자로 이동

커서 이동하기 (4/4) W w와 동일, 문장 부호 무시 B b와 동일, 문장 부호 무시 ) 다음문장의 처음으로 이동 VI 편집기 W w와 동일, 문장 부호 무시 B b와 동일, 문장 부호 무시 ) 다음문장의 처음으로 이동 ( 이전문장의 처음으로 이동 } 다음문단의 처음으로 이동 { 이전문단의 처음으로 이동 H 커서를 화면 맨 위로 이동 L 커서를 화면 맨 아래로 이동 M 커서를 중간으로 이동

화면 이동하기 vi는 화면에 알맞을 만큼만 편집 버퍼의 내용을 보여줌 화면에 나타나지 않은 편집 버퍼의 다른 부분을 보기 위해서 화면을 이동하는 명령을 사용함 ^F 한 화면 아래로 이동 ^B 한 화면 위로 이동 ^D 반 화면 아래로 이동 ^U 반 화면 위로 이동

패턴 검색 (1/3) 사용법: 명령 모드에서 “/” 혹은 “?”을 사용 VI 편집기 사용법: 명령 모드에서 “/” 혹은 “?”을 사용 /search_pattern  커서 이후에 대해 검색을 수행함 ?serach_pattern  커서 이전에 대해 검색을 수행함 상기 사용법에서 search_pattern에는 찾고자 하는 단어나 문장을 입력함

패턴 검색 (2/3) VI 편집기

패턴 검색 (3/3) VI 편집기

줄 번호 붙이기 (1/2) 편집 버퍼에 있는 각 줄에 번호를 부여하고 관리함 VI 편집기 편집 버퍼에 있는 각 줄에 번호를 부여하고 관리함 줄 번호 붙이기 :set number :se nu 줄 번호 없애기 :set nonumber :se nonu 줄 번호를 알 경우, 다음 명령을 사용하여 원하는 줄로 이동할 수 있음 nG 줄 번호 n으로 이동하기 (:n) 1G 편집 버퍼의 첫 줄로 이동하기 (:1) G 편집 버퍼의 마지막 줄로 이동하기 (:$)

줄 번호 붙이기 (2/2) VI 편집기

입력 모드로 변환 (1/5) 새로운 데이타 입력에 사용되는 명령 (명령 모드에서 다음 키를 입력하면 입력 모드로 변환됨) VI 편집기 새로운 데이타 입력에 사용되는 명령 (명령 모드에서 다음 키를 입력하면 입력 모드로 변환됨) i 입력모드로 전환, 커서 위치 앞에서 삽입 a 입력모드로 전환, 커서 위치 뒤에서 삽입 I 입력모드로 전환, 현재 줄의 앞에서 삽입 A 입력모드로 전환, 현재 줄의 뒤에서 삽입 o 입력모드로 전환, 현재 줄의 아래에 전개 O 입력모드로 전환, 현재 줄의 위에 전개

입력 모드로 변환 (2/5) VI 편집기 a1234

입력 모드로 변환 (3/5) VI 편집기 i1234

입력 모드로 변환 (4/5) VI 편집기 o1234

입력 모드로 변환 (5/5) VI 편집기 O1234

내용 수정하기 (1/4) VI 편집기 현재 커서를 중심으로 파일의 내용을 수정하는 명령어들 (“r”을 제외하고는 명령 수행 후 입력 모드로 변경됨) r 단지 한 글자만 변경(입력 모드로 바뀌지 않음) R 입력하는 대로 겹쳐 써서 변경 s 현재 글자를 삭제하고 삽입 상태로 변경 C 커서의 위치로부터 줄 끝까지 삽입에 의한 변경 cc 전체 줄을 삽입에 의해 변경 cw 현재 단어를 삭제하고 삽입 상태로 변경

내용 수정하기 (2/4) VI 편집기 rx

내용 수정하기 (3/4) VI 편집기 R1234

내용 수정하기 (4/4) VI 편집기 s1234

UNDO & REDO (1/3) UNDO: 방금 전에 수행했던 내용을 취소 REDO: 방금 전에 수행했던 내용을 반복 수행 VI 편집기 UNDO: 방금 전에 수행했던 내용을 취소 REDO: 방금 전에 수행했던 내용을 반복 수행 u 방금 전에 수행했던 내용을 취소(Undo) U 현재 줄에서 수행했던 모든 내용을 취소 . 방금 전에 수행했던 내용을 반복하여 수행(Redo)

UNDO & REDO (2/3) VI 편집기 cw123456[ESC] u

UNDO & REDO (3/3) VI 편집기 o123456[ESC] ..

줄 결합 VI 편집기 현재 줄과 다음 줄을 하나의 줄로 결합시킴 J 두 줄을 하나의 줄로 결합시킴 (j와의 차이에 유의) J

데이타 삭제하기 (1/4) 편집 버퍼에 있는 데이타를 삭제하는 명령 (명령 모드에서 동작) VI 편집기 편집 버퍼에 있는 데이타를 삭제하는 명령 (명령 모드에서 동작) x 커서가 있는 문자 지우기 X 커서의 왼쪽 문자 지우기 D 커서부터 줄의 끝까지 지우기 dd 현재 줄의 전체를 지우기 :from,to d 주어진 범위(from~to)의 줄을 모두 지우기 삭제한 내용은 편집기의 버퍼에 저장되며, 추후 Undo, Redo, Copy를 위하여 사용될 수 있음 (다음에 설명)

데이타 삭제하기 (2/4) VI 편집기 x

데이타 삭제하기 (3/4) VI 편집기 D

데이타 삭제하기 (4/4) VI 편집기 dd

버퍼 내용 집어 넣기 (1/3) VI 편집기 마지막으로 삭제한 내용(버퍼 내용)을 집어 넣는다(Put 한다).  Windows에서 Cut & Paste와 개념이 유사함 명령 모드에서 수행되며, 명령어 수행 후에도 명령 모드로 남는다. p (소문자) 버퍼 내용을 커서의 뒤(혹은 아래)에 삽입 P (대문자) 버퍼 내용을 커서의 앞(혹은 위)에 삽입

버퍼 내용 집어 넣기 (2/3) VI 편집기 p D

버퍼 내용 집어 넣기 (3/3) VI 편집기 P dd

줄 복사 및 이동 (1/3) 줄 이동 :n (n번째 줄로 이동) 줄 내용 복사 VI 편집기 줄 이동 :n (n번째 줄로 이동) 줄 내용 복사 :from,to y (from줄에서 to줄까지를 버퍼에 복사함) nY: 현재 위치에서 n줄을 버퍼에 복사함

줄 복사 및 이동 (2/3) VI 편집기 :10

줄 복사 및 이동 (3/3) VI 편집기 :5,8 y P

파일 저장하기 (1/2) 현재까지 편집(editing)한 내용(편집 버퍼에 들어있는 내용)을 파일에 저장(write)한다. VI 편집기 현재까지 편집(editing)한 내용(편집 버퍼에 들어있는 내용)을 파일에 저장(write)한다. :w (현재 파일에 저장한다.) :w file_name (주어진 파일(file_name)에 저장한다.) :wq (저장하고 종료한다.)

파일 저장하기 (2/2) VI 편집기 :w

VI 명령어 요약 VI 편집기 홈페이지에 아래아한글 파일이 있으니 다운로드 받으세요.

Homework#2 VI 편집기