화면편집기(vi) 사용하기 ㅎㅎ 유닉스 편집기 vi의 사용 방법 vi의 환경설정 한빛미디어(주)

Slides:



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

방과후 컴퓨터 교실 실력 Up 행복 Up 신풍초등학교. 실력 UP 행복 UP 방과후컴퓨터교실 한글 2005 에서 문서를 관리할 수 있다. 한글 2005 에서 문서를 작성할 수 있다. 한글 2005 의 화면을 구성하는 요소의 종류와 역할을 설명할 수 있 다. Ⅰ. 한글.
Linux1 Linux 개요 Linux 방문하여 홈페이지 등록하기 Vi 편집해 보기. Linux2 개요  Linux 란 ? 1991 Linus Benedict Torvalds 가 만든 Unix 의 한 버전 GNU(GNU is Not Unix) » 프로그램이나 정보의.
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
서울지하철노조 설립. 1. 전형적 공기업 군사 문화 가 일 개통 1 호선 서울시 공무원으로 운영 일 3.4 호선 건설한 공사와 합병 공무원신분에서 신분변경 나. 공사 내부의 군사 조직과 군사문화 - 공사 사장 감사 이사 ( 별.
새가족부 워크샵 결과 '09 Review 및 '10 섬김계획 새가족부.
설계 프로젝트 경진대회 성결대학교 컴퓨터공학과 내가 꾸미는 우리 집 팀장 김용훈 김경희 김미선 김헌진.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
로그인 로그인을 하시기 전에 상단 엑티브엑스 프로그램을 실행 후 로그인을 해주시기 바랍니다.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
리눅스 실습 정성훈.
홍 길 동 Hong, Gil-Dong 국어국문학과 홍 길 동
컴퓨터 네트워크 실습.
Unix(Linux) shell programming
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
1 유닉스 시스템 프로그래밍 개요.
 13장. 배시쉘 프로그래밍.
[beginning] Linux & vi editor
제5장 제어명령
C언어: 배열 (Arrays).
UNIX Unbounded A Beginning Approach
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Linux/UNIX Programming
컴퓨터 네트워크 실습.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Linux Compile.
Internet Protocol and Programming
개발 환경.
Beginning Linux Programming
1장. 프로그래밍 언어, C 프로그래밍.
1차 발표 학번: 이름: 송태성.
손에 잡히는 vim (3/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수
동물의 특징을 음악적 요소로 표현 하기 음악 3학년 2학기 20. 동물의 사육제(1 / 2) 수업계획 수업활동 [제작 의도]
Kernel Programming Environment
4장 서버 구축을 위해 알아야 할 핵심 개념과 명령어
VI Editor 부서 : 연구소 이름 : 노재용.
Internet Protocol and Programming
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Vim editor (1/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
editing program files with vi 기본적인 Linux commands
4장 자료형.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
시스템 인터페이스 Lab2 X-window 및 명령어 사용.
2 배열과 구조.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
제 6 강 Getting started.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
아이폰/아이패드 사내메일 수신 설정하기 1. [설정] > 'Mail,연락처,캘린더' > '계정추가'를 선택합니다.
시스템 인터페이스 Lab#5 쉘 실습.
주어진 가락에 이어 가락을 지어 봅시다 6학년 2학기 16. 가을맞이 (2/2) 음 악 제작의도 맨 처음 보이는 초기화면입니다
GDB - GNU Debugger 김진용.
Internet Protocol and Programming
세계영화사 입문 3강 소련영화의 혁명 소비에트 몽타주.
제4장 유닉스 쉘 숙명여대 창병모
제8장 C 쉘 창병모
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
프리젠테이션 활용 및 데이터활용 Chapter 2 엑셀의 기본 김 정 석
2/4박자 리듬치며 노래 부르기 음악 3학년 3.구슬비 (1/3 ) 수업계획 수업활동 [제작의도]
2장 내 슬라이드 처음 만들기 실용컴퓨터 파워포인트.
Git을 이용한 버전 관리 - Branch 실습
C.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
Presentation transcript:

화면편집기(vi) 사용하기 ㅎㅎ 유닉스 편집기 vi의 사용 방법 vi의 환경설정 한빛미디어(주)

학습목표 4장. 화면편집기(vi) 사용하기 유닉스에서 사용하는 편집기의 종류를 이해한다.

행 단위 편집기 (라인 편집기) 화면 편집기 Section 01 유닉스의 편집기 ed ex sed vi emacs 모든 UNIX에 있음. emacs 막강한 기능 제공. 설치해서 사용해야 함.

파일 내용을 잘못 수정한 경우 버퍼의 내용 무시 작업 취소 기능 제공 Section 02 vi의 사용 방법 디스크 버퍼 (임시 저장장소) 편집기에서 파일 호출 편집기에서 파일 수정 파일 저장

vi의 동작 모드 Vi에서는 대소문자를 별도의 명령으로 해석한다. 명령 모드 입력 모드 i,I,a,A,o,O Esc 입력한 내용을 명령어로 해석 입력한 내용이 버퍼로 옮겨져 추가, 수정됨 vi 시작 커서이동 페이지이동 글자 삭제 줄 삭제 등 마지막행 모드 특별명령처리 vi 종료 :, /, ? 검색,저장 바꾸기 줄 이동 등 ZZ q,q! w HDD Enter

vi vi 파일_이름 $ vi $ vi first vi 시작하기 새로운 파일 시작 파일 저장할 때 이름 지정 지정한 이름이 없으면 새로운 파일 생성 지정한 이름이 있으면 기존 파일 열기 텔넷 hanbitbook.co.kr $ vi 텔넷 hanbitbook.co.kr $ vi first

vi 초기 화면 ~ “first.txt” [새 파일] 80칼럼 26행 빈 줄 화면 크기에 따라 행과 칼럼수는 달라진다.

입력이 끝나면 “입력모드”에서 “명령모드”로 돌아와야 한다. 입력 명령 입력 명령(명령모드->입력모드) 명령키 수행 작업 i 커서 앞에 삽입 a 커서 뒤에 삽입 o 현재 줄 다음에 삽입 I 현재 줄 첫 칸 앞에 텍스트 입력 A 현재 줄 끝에 텍스트 입력 O 현재 줄 앞에 삽입 입력이 끝나면 “입력모드”에서 “명령모드”로 돌아와야 한다. Esc 주의!

저장 명령 종료 명령(저장후 종료 또는 그냥 종료) 저장 및 종료 명령 저장하거나 종료하려면 “명령모드”로 돌아와야 한다. 명령키 수행 작업 :w  현재의 파일명으로 파일 저장 :w 파일명  지정한 파일명으로 파일 저장 명령키 수행 작업 :q  작업 내용을 저장하였으면 vi 종료 :q!  작업내용을 저장하지 않고 vi 종료 :wq 작업 내용을 저장한 후 vi 종료 :wq 파일명 작업 내용을 지정한 파일명으로 저장한 후 vi 종료 zz (shift-zz)

실습하기 파일 생성 : text.txt mane is Gil-dong Hong. I wake up in the morning. [실습하기] 입력 및 저장 실습하기 실습 디렉토리 구성 파일 생성 : text.txt 텔넷 hanbitbook.co.kr $ cd $ mkdir Unix/ch4 $ cd Unix/ch4 $ vi test.txt mane is Gil-dong Hong. I wake up in the morning. This is a living loom. A that’s a bedloom.

실습하기 [실습하기] 입력 및 저장 vi test.txt i My Esc키 G o nd :w test2.txt 텔넷 hanbitbook.co.kr mane is Gil-dong Hong. I wake up in the morning. This is a living loom. A that’s a bedloom. i My Esc키 G o nd :w test2.txt 텔넷 hanbitbook.co.kr My mane is Gil-dong Hong. I wake up in the morning. This is a living loom. And that’s a bedloom. test2.txt

화살표 키 이용 H, J, K, L 키 이용 커서이동명령 [1/3] 이동 명령어 한 행 위 k 한 행 아래 j 한 문자 오른 쪽 l 한 문자 왼쪽 h 행의 시작 ^ 또는 0 행의 마지막 $ 이전 행의 처음 - 다음 행의 처음 + 또는  커 서 k h l j 오른쪽 왼쪽 아래로 위로

현재 화면에서 커서 이동 지정한 곳으로 이동 커서이동명령 [2/3] 이동 명령키 키 화면 맨 위로 H 키 화면 중간으로 M 키 화면 맨 아래로 L 다음 단어의 첫문자로 w 이전 단어의 첫문자로 b 다음 단어의 끝 글자로 e 이동 명령키 줄 번호 n 위치로 :n 또는 nG 파일의 끝 줄로 이동 :$ 또는 G n줄 만큼 앞으로 이동 n+ n줄 만큼 뒤로 n- 현재 문장의 처음으로 ( 다음 문장의 처음으로 ) 현재 문단의 처음으로 { 다음 문단의 처음으로 }

커서이동 예제 커서이동명령 [3/3] H k M w $ ^ e j L b 1 #include <stdio.h> 2 3 main() { 4 char c; 5 6 printf(“Hello, C World\n”); 7 printf("=====\n"); 8 printf(“select menu item\n"); 9 printf("1. unix\n"); 10 printf("2. linux\n"); printf("=====\n"); 12 } ~ H L M ^ $ j k w b e

실습하기 커서를 1행으로 이동 : 1G 또는 :1 1행의 두번째 단어로 이동 : w 2행으로 이동 : j [실습하기] 커서 이동 실습하기 vi test.txt 텔넷 hanbitbook.co.kr My mane is Gil-dong Hong. I wake up in the morning. This is a living loom. And that’s a bedloom. 커서를 1행으로 이동 : 1G 또는 :1 1행의 두번째 단어로 이동 : w 2행으로 이동 : j 커서를 좌로 이동 : ㅣ 마지막행으로 이동 : G 또는 :$

화면에 나타나지 않은 부분으로 화면 이동 화면이동 이 동 명령키 반 화면 위로 ^u 반 화면 아래로 ^d 한 화면 위로 ^b #include <stdio.h> main() { printf(“Hello 1\n”); printf(“Hello 2\n”); printf (“Hello 8\n”); } 이 동 명령키 반 화면 위로 ^u 반 화면 아래로 ^d 한 화면 위로 ^b 한 화면 아래로 ^f 한 줄만 위로 ^y 한 줄만 아래로 ^e 파일내용 다시 출력 ^l 텔넷 hanbitbook.co.kr printf(“Hello 3\n”); printf(“Hello 4\n”); printf(“Hello 5\n”); printf(“Hello 6\n”); printf(“Hello 7\n”);

:set nu ^u ^d ^f ^b ^y ^e ^l :set nonu 실습하기 [실습하기] 화면 이동 vi /etc/profile 왼쪽 순서에 따라 화면 이동을 실습 텔넷 hanbitbook.co.kr # ident # The profile trap “” 2 3 export LOGNAME PATH if [ “$TERM = “” ] ….. :set nu ^u ^d ^f ^b ^y ^e ^l :set nonu

명령모드에서 동작 내용 삭제 및 취소 명령어 삭제 대상 수행 작업 x, #x 문자 커서 위치의 문자 삭제(예:3x) dw, #dw 단어 커서 위치의 단어 삭제 dd, #dd 줄 커서 위치의 줄 삭제 D(shift-d) 줄의 일부 커서 위치부터 줄 끝까지 삭제 u 방금 수행한 명령 취소 U 해당 줄의 모든 편집 취소

1G 11x jj llll D j dd u :w 실습하기 [실습하기] 삭제 및 취소 vi test2.txt 텔넷 hanbitbook.co.kr My mane is Gil-dong Hong. I wake up in the morning. This is a living loom. And that’s a bedloom. 1G 11x jj llll D j dd u :w 텔넷 hanbitbook.co.kr Gil-dong Hong. I wake up in the morning. This

명령모드에서 동작 내용 수정 키 수정 대상 수행 작업 r 문자 현재 커서위치의 한 문자 변경 R 문자열 현재 커서부터 ESC 입력까지 변경 cw 단어 커서 위치부터 현재 단어의 끝까지 내용 변경 cc 줄 커서가 위치한 줄의 내용 변경 s, ns 현재 커서부터 내용 변경(예:5s) C 줄 일부 커서 위치에서 줄 끝까지 내용 변경

실습하기 [실습하기] 수정 vi test.txt 1G w cw name Esc키 jjw r r r ] j j 7s 텔넷 hanbitbook.co.kr My mane is Gil-dong Hong. I wake up in the morning. This is a living loom. And that’s a bedloom. 1G w cw name Esc키 jjw r r r ] j j 7s bedroom :w 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. This is a living room. And that’s a bedroom.

명령모드에서 동작 편집기능 – 복사, 잘라내기, 붙이기 행 삭제와 잘라내기는 동일한 동작이다. 명령어 수행 작업 yy, #yy p 현재 행 다음에 버퍼 내용 삽입 P 현재 행 위쪽에 버퍼 내용을 삽입 dd, #dd 현재 행을 잘라내기

버퍼 버퍼 종류 사용 예 버퍼의 사용 Vi는 작업 내용을 버퍼에 저장 – 실행 취소 가능 복사하기, 잘라내기에 사용 Unnamed buffer (이름 없는 버퍼) Named buffers (이름이 있는 버퍼) “a, “b, … “z Numbered buffers(번호가 있는 버퍼) “1, “2, …,“9 사용 예 “a3yy -> 현재 행부터 아래로 3줄을 a버퍼에 저장 “ap -> a버퍼의 내용을 붙이기

편집하는 범위를 지정하는 방법 마지막행 모드에서 사용 “: 범위 편집_명령” 형태로 사용 범위지정 방법 범위 의 미 1,$ 의 미 1,$ 첫 줄에서 마지막 줄까지(파일내의 모든 줄) % 1,. 첫 줄에서 현재 줄까지 .,$ 현재 줄에서 마지막 줄까지 .-2 현재 줄에서 앞쪽으로 2번째 줄 10,20 10번째 줄에서 20번째 줄까지

마지막행 모드에서 사용 마지막행 모드에서 복사와 잘라내기 명령어 수행 작업 :#y :#d #으로 지정한 행을 삭제(:10d -> 10행을 삭제) :<범위>d 범위로 지정한 행을 복사(예, :10,20d -> 10행~20행을 삭제) :pu 현재 행 다음에 버퍼내용 붙이기 :#pu #으로 지정한 행 다음에 버퍼내용 붙이기(예, :5pu)

실습하기 test2.txt test.txt [실습하기] 버퍼를 이용한 복사 vi test.txt -> test2.txt로 복사 test2.txt 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. This is a living room. And that’s a bedroom. 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. This is a living room. And that’s a bedroom. test.txt :3 2) yy 3) p 4) j 5) dd 6) p 7) “ayy 8) :w 9) :e test.txt 10)“ap 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. And that’s a bedroom. I wake up in the morning. This is a living room.

마지막행 모드에서 사용 검색 기능 명령어 수행 작업 /문자열 현재 위치부터 파일 앞쪽으로 문자열 탐색 ?문자열 현재 위치부터 파일 뒤쪽으로 문자열 탐색 n 다음 문자열 탐색 N 역방향으로 문자열 탐색

/room n ?name N 실습하기 [실습하기] 문자열 탐색 vi test.txt 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. And that’s a bedroom. I wake up in the morning. This is a living room. /room n ?name N

마지막행 모드에서 사용 바꾸기 기능 명령어 수행 작업 :s/문자열1/문자열2/ 커서가 위치한 줄에서만 문자열1을 문자열2로 바꿈 :<범위>s/문자열1/문자열2/ <범위>안의 모든 줄에 대해서 각 줄의 첫번째 문자열1을 찾아 문자열2로 바꿈 :<범위>s/문자열1/문자열2/g <범위>안의 모든 줄에 대해서 모든 문자열1을 문자열2로 바꿈 :<범위>s/문자열1/문자열2/gc <범위>안의 모든 줄에 대해서 각 문자열1을 문자열2로 치환할 때 수정할지 안 할지를 묻는다

실습하기 :s/dong/sun/ :%s/is/was/g :2,5 s/And/But/g :w [실습하기] 범위를 이용한 바꾸기 vi test.txt 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. And that’s a bedroom. I wake up in the morning. This is a living room. :s/dong/sun/ :%s/is/was/g :2,5 s/And/But/g :w 텔넷 hanbitbook.co.kr My name was Gil-sun Hong. But that’s a bedroom. I wake up in the morning. This was a living room.

파일 읽어오기 / 여러 파일 편집 vi에서 쉘 명령 실행 기타 기능 [1/2] 명령어 수 행 :r 파일명 지정한 파일을 현재 커서 위치에 삽입 :e 파일명 현재 파일 대신 지정한 파일을 읽음 :n vi시작시 여러 파일을 지정하였을 경우 다음 파일로 이동 명령어 수행 작업 :!명령 vi를 중단하고 지정한 명령 수행 (vi로 돌아올 때 : ) :sh vi를 잠시빠져나가서 쉘을 수행 (vi로 돌아올때 : exit)

:!ls -l Esc키 :sh ls -l exit 실습하기 [실습하기] 쉘 명령 실행 vi test2.txt 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. This is a living room. And that’s a bedroom. :!ls -l Esc키 :sh ls -l exit

알아두면 유용한 명령키들 기타 기능 [2/2] 명령어 수 행 :f 파일명 파일 이름을 지정한 이름으로 변경 :w %.old 수 행 :f 파일명 파일 이름을 지정한 이름으로 변경 :w %.old 현재 파일을 .old 이름으로 저장해 둘 때 ^g 기본적인 파일정보 출력(파일명, 라인수 등) J 현재 줄과 다음 줄 연결 . 바로 이전에 수행한 명령 재 실행 ~ 현재 커서 위치의 한 문자를 소문자 혹은 대문자로 전환

:3 J l ~ . :w 실습하기 [실습하기] 기타 명령어 vi test2.txt 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. This is a living room. And that’s a bedroom. 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. THIS is a living room.This is a living room. And that’s a bedroom.

vi의 환경을 설정하는 특수명령과 변수들 Section 03 vi 환경 설정 명령어 수행 작업 :set nu 파일 내용의 각 줄에 줄 번호 표시 (보이기만 할 뿐 저장은 되지 않는다.) :set nonu 줄 번호 취소 :set list 눈에 보이지 않는 특수문자표시(tab:^I, eol:$ 등) :set nolist 특수문자보기 기능 취소 :set showmode 현재 모드 표시 :set noshowmode 현재 모드 표시기능 취소 :set set으로 설정한 모든 vi변수 출력 :set all 모든 vi 변수와 현재 값 출력

test.txt test2.txt [실습하기] 최종 파일 텔넷 hanbitbook.co.kr My name was Gil-sun Hong. But that’s a bedroom. I wake up in the morning. This was a living room. 텔넷 hanbitbook.co.kr My name is Gil-dong Hong. I wake up in the morning. THIS is a living room.This is a living room. And that’s a bedroom.