사용법을 익히다 [개념] Linux_vi

{유닉스 에디터}

● 행 단위 에디터 (라인 에디터) – ed : 유닉스 초기에 사용하고 현재는 거의 사용하고 있지 않다. – ex : 단독으로 사용하는 것보다 vi 와 접속하여 사용한다. – sed : 스트림 에디터에서 지시된 명령에 따라 파일 내용을 일괄적으로 변경하여 출력한다.

●화면단위 에디터 vi: 모든 UNIX에서 사용 가능하다.-emacs: 엄청난 기능을 제공하고 설치하여 사용해야 함.

● 모드형-명령 모드로 입력한 키는 커맨드로 간주한다.입력 모드로 입력한 키는 데이터로 간주한다.모드를 바꾸기 위한 특수키가 존재한다.

●비모드형-입력한 모든 키는 데이터로 간주된다.명령은 특수키와 일반키의 조합으로 구성된다.

{vi 시작}

●vi-새 파일 시작-파일 저장 시 이름을 지정한다.

●vi 파일명 – 지정한 이름이 있으면 기존의 파일을 연다.지정한 이름이 없으면 새로운 파일을 생성한다.

● 입력 명령 -i: 커서 앞에 삽입한다.a: 커서뒤에 삽입한다.-o: 현재 행 다음에 삽입한다.-l:현재 행의 첫 대중 앞에 텍스트를 입력한다.-A:현재의 장래에 텍스트를 입력한다.-O:현재 행 앞에 삽입한다.

※입력이 끝나면, 입력 모드에서 명령 모드로 돌아갈 필요가 있다.

● 보존 명령-저장하거나 종료하려면”명령 모드”로 돌아와야 한다.-:w:현재 파일 이름으로 파일을 저장-:w:지정한 파일 이름으로 파일을 저장

● 종료 명령-:q:작업 내용을 저장한 경우 vi가 끝난-:q!:작업 내용을 저장 하지 않고 vi종료-wa:작업 내용을 저장한 뒤 vi종료-wq파일명:작업 내용을 지정한 파일 이름으로 저장한 뒤 vi종료-ZZ:작업 내용을 저장한 뒤 vi종료-ZZ:작업 내용을 저장한 뒤 vi종료

● 커서 이동 명령-화살표 이용-H, J, K, L키 사용

● 명령 모드로 동작-x,#x:커서 위치의 문자 삭제-dw#dw:커서 위치의 단어 삭제-dd:커서 위치의 행 삭제-D:커서 위치에서 갈 곳까지 삭제-u:아까 간 명령 취소-U:해당 행의 모든 편집 취소:e!:마지막 보존 이후 모든 편집 취소

-r:현재 커서 위치의 한 문자 변경-R:현재 커서에서 ESC입력까지 변경-cw:커서 위치에서 현재 단어의 끝까지 내용 변경-cc:커서가 위치한 행의 내용 변경-s#s:현재 커서 위치의 문자를 ESC키 입력할 때까지 내용 변경-C:커서 위치에서 행 끝까지 내용 변경

● 편집하고 yy,#yy:현재 행을 버퍼에 복사한다.-p:현재 행 다음에 버퍼의 내용을 삽입한다.-P:현재 행 위에 버퍼 내용을 삽입-dd,#dd:현재 행의 절취(=행의 삭제)

{버퍼의 사용 경일

● 버퍼-vi는 작업 내용을 버퍼에 저장한다.-복사, 잘라내에 사용한다.

● 버퍼 종류-Unnamed buffer(무명 버퍼):한번에 한가지 내용만 저장-Named buffers:”a,”b, …”z-Numbered buffers:”1,”2, …,”9

● 범위 지정하는 방법 -1,$ : 첫 줄부터 마지막 줄까지 -% : 첫 줄부터 현재 줄까지 -.,$ : 현재 줄부터 마지막 줄까지 -., – 2 : 현재 줄에서 앞으로 두 번째 줄

● 마지막 행 모드 편집 명령-:#y:#로 지정한 행 복사-:<범위>y:#로 지정한 행 복사-:#d:#로 지정한 행 삭제-:<범위>d:범위에서 지정한 행 복사-:pu:현재 행 다음에 버퍼 내용 달기-:#pu:#로 지정한 행 다음에 버퍼 내용 달기-:#으로 지정한 행 다음에 버퍼 내용을 달기

● 검색기능 (마지막 줄 모드에서 사용) – / 문자열 : 현재 위치에서 파일 전면으로 문자열 탐색 – ? 문자열 : 현재 위치에서 파일 뒤쪽으로 문자열 탐색 – n : 다음 문자열 탐색 – N : 역방향으로 문자열 탐색 – ?

● 파일 읽기/여러 개의 파일 편집 -:r 파일명:지정한 파일을 현재 커서 위치 삽입 -:e 파일명:현재 파일 대신 지정한 파일 가져오기 -:n:vi 시작 시 여러 개의 파일을 지정한 경우 다음 파일로 이동

●vi에서 셸 명령 실행-:! 명령:vi를 중단하고 지정한 명령 실행-:sh:vi를 잠시 빠져 셸 실행

error: Content is protected !!