- 유닉스 편집 기행 단위 편집기 (라인 편집기) · ed 유닉스 초기 사용 현재는 거의 사용하지 않음
- ·단독으로 사용하기보다는 vi와 연결하여 사용
- ·sed:스트림 편집기 지시된 명령에 따라 파일의 내용을 일괄적으로 변경하여 출력 셸 스크립트에서 가져온 파일을 편집할 때 사용
- 화면 단위 에디터 vi (visual editor) 모든 UNIX에서 사용가능 (ex 기반)
- 모드형 명령 모드에서 입력한 키는 명령으로 간주하는 입력 모드에서 입력한 키는 데이터로 간주하는 모드를 전환하기 위한 특수 키를 가진다.
- 비모드형 입력한 모든 키는 데이터로 간주하는 명령은 특수키(Ctrl, Alt 등)와 일반키의 조합으로 구성
- 2.vi 사용방법
파일 내용 잘못 수정 시 버퍼 내용 무시 작업, 취소 기능 제공
vi 시작 vi 새 파일 시작 파일을 저장했을 때 이름 지정
vi 파일의 이름 지정한 이름이 없으면 새로운 파일 생성 지정한 이름이 있으면 기존 파일의 열기
입력명령입력명령(커맨드모드→입력모드)명령기수행작업i커서앞에삽입[insert]a 어른이되어뒤삽입[append]o,현재준다음에삽입I현재하는첫칸영화제전에텍스트입력A현재,줄끝에텍스트입력O현재,열의맨앞부분에삽입.입력이 끝나면 “입력모드”에서 “명령어모드”로 돌아가야 함! (ESC키)
저장과 종료 명령 저장 명령을 저장 하거나, 종료 하려면 “명령어 모드”로 돌아가야 한다.면 료은키 수행 작업:w”현재의 파일명에 파일 저장:w파일명”지정한 파일 이름으로 파일 저장 종료 명령(저장 후 종료 또는 그대로 종료)면 료은키 수행 작업:q”작업 내용을 저장하면 vi의 종료:q!”작업 내용을 보존하지 않고, vi의 종료:wq”작업 내용을 보존하고 vi의 종료:wq파일명”작업 내용을 지정한 파일 이름에 저장한 뒤 vi의 종료 ZZ[shift-zz]”작업 내용을 보존하고 vi의 종료 커서 이동 명령 화살표 이용 H, J, K, L키 이용의 이동 명령어한 행 위 k, 일언 지하 j 있다 한 문자 오른쪽 l한일자 왼쪽 h들의 시작)또는 O행의 마지막$, 이전 행의 처음 다음 행의 처음+또는”현재 화면에서 커서 이동 명령 키키 화면 맨 위로 H키 화면의 중간에 M키 화면 하단에 L다음의 단어 첫머리의 글글씨에서 w이전 단어의 첫 글자에서 b다음 단어의 끝 글자로 e지정한 장소에 이동이 동묘은료은키쥬루 번호 n의 위치에:n또는 nG파일 맨 뒷자리에 이동::$또는 Gn열 만큼 향후, 이동 n+n열 만큼 뒤로 이동 n-현재, 문장의 처음에[다음 문장의 처음이자 현재 문단의 처음에[다음 문단의 처음 화면 이동 이동묘은료은키발 화면 위에. u클래스의 화면 아래에^d한 화면 위에^b화면 아래에. f한줄만 위로^y한줄만 아래로^e파일 내용을 다시 출력^l의 내용 제거 및 취소(명령 모드로 동작)명령어의 삭제 대상 수행 작업 x,#x문자의 커서 위치의 문자 삭제 dw#dw의 단어의 커서 위치의 단어 삭제 dd,#dd열의 커서 위치의 주는 삭제 D(shift-d)줄의 일부 커서 위치에서 주는 마지막까지삭제u
지금 수행한 명령 취소 U와 해당 열의 모든 편집 취소: e! 파일의 마지막 저장 후 모든 편집 취소# 위치에 숫자를 넣으면 해당 숫자만큼 작업 반복.
내용 수정(명령어 모드에서 동작) 키 수정 대상 수행 작업 r문자 현재 커서 위치의 한 글자 변경 R문자열 현재, 커서부터 ESC 입력까지 변경 cw 단어의 커서 위치부터 현재 단어의 끝까지 내용 변경 cc열, 커서가 위치한 열의 내용 변경 s, #s 문자열 현재 커서 위치의 문자를 ESC 키 입력까지 내용 변경 C와 일부 커서 위치에서 변경 명령어 주기는 내용 변경 C.
3.vi 고급 편집하기 복사본, 잘라내기, 붙여넣기 명령어 모드에서 동작 명령어 수행 작업 yy, #yy 현재 행을 버퍼에 복사 p 현재 행 다음에 버퍼의 내용 삽입 P 현재 행의 위쪽에 버퍼의 내용을 삽입 dd, #dd 현재 행 잘라내기(= 행 삭제), 버퍼의 사용 버퍼▶vi는 작업 내용을 버퍼에 저장 – 실행 취소 가능
버퍼 종류 ▶ Unamed buffer (무명한 버퍼) – 한 번에 하나의 내용만을 저장 ▶ Named buffers (이름이 있는 버퍼) ▶ Numbered buffers (번호가 들어가는 버퍼)
범위지정방법▶편집할 범위를 지정하는 방법▶마지막 행 모드에서 사용▶”:범위편집명령” 형태로 사용 범위 의미1,$첫 번째 행에서 마지막 열까지(파일 내 모든 행에서 마지막 줄까지(파일 내 모든 행에서 마지막 줄까지(파일 내 모든 행에서)1,첫 번째 행에서 마지막 줄:마지막 줄까지, $현재 줄에서 마지막 줄까지, 마지막 줄에서 마지막 줄까지, -2현재 줄에서 맨 마지막 줄에서 맨 마지막 줄에서 맨 마지막 줄까지, 맨 마지막 줄에서 맨 마지막 줄에서 맨 마지막 줄에서 맨 마지막 줄에서 맨 마지막 줄까지.줄 탐색. 문자열 현재 위치에서 파일 뒤편에 문자열 탐색 n다음 문자열 탐색 N반대 방향으로 문자열 탐색 조절 기능(마지막 행 모드로 사용)명령어 실행 작업:s/문자열 1/문자열 2/커서가 위치할 행만으로 문자열 1을 문자열 2에 변경:”범위”s/문자열 1/문자열 2/”범위”내의 모든 행에 대한 문자열의 문자열을 변경하는 기능:”범위”에 대해서, 행의 첫 문자열 1을 찾아 문자열 2에 변경>지에 삽입:e파일 이름 현재 파일 대신 지정한 파일을 읽기:nvi개시시에 복수의 파일을 지정한 경우 다음의 파일로 이동 ▶ vi에서 셰일 명령 실행 명령 실행 작업:!명령 vi를 중단하고 지정한 명령 실행(vi로 돌아갈 때:):shvi를 잠시 빠져서 껍질을 실행(vi로 돌아갈 때:exit)▶ 알아 두면 유용한 명령 키 명령실행:f파일 이름 파일 이름을 지정한 이름으로 변경:w%. old현재 파일을. old이름으로 저장할 때,^g기본적인 파일 정보 출력(파일 이름, 라인 수 등)J현재의 행과 다음 행 행을 접속 그만 이전한 명령 재실행~현재 커서 위치의 한 문자를 소문자나 대문자로 전환 비주얼 모드 ▶ 편집하는 부분을 선택하면 블록으로 표시하는 모드 ▶ 블록이 선택된 뒤 편집 키 사용 가능 ▶ vim에서 추가된 기능 구분 명령 키 기능 비주얼 v현재 커서 위치에서 블록 지정 비주얼 라인 V현재 커서 위치의 행 단위로 블록 지정 비주얼 블록 Ctrl+v현재 커서 위치의 줄 단위로 블록 지정 문자 세트 nuzetetode현재 모드 표시 기능의 취소:setset에 설정한 모든 vi변수 출력:setall모든 vi 변수와 현재 값 출력