사용법 외우는 법 [5주차] vi

  1. 유닉스 편집 기행 단위 편집기 (라인 편집기) · ed 유닉스 초기 사용 현재는 거의 사용하지 않음
  2. ·단독으로 사용하기보다는 vi와 연결하여 사용
  3. ·sed:스트림 편집기 지시된 명령에 따라 파일의 내용을 일괄적으로 변경하여 출력 셸 스크립트에서 가져온 파일을 편집할 때 사용
  4. 화면 단위 에디터 vi (visual editor) 모든 UNIX에서 사용가능 (ex 기반)
  5. 모드형 명령 모드에서 입력한 키는 명령으로 간주하는 입력 모드에서 입력한 키는 데이터로 간주하는 모드를 전환하기 위한 특수 키를 가진다.
  6. 비모드형 입력한 모든 키는 데이터로 간주하는 명령은 특수키(Ctrl, Alt 등)와 일반키의 조합으로 구성
  7. 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 변수와 현재 값 출력

error: Content is protected !!