vi 편집기

vi 편집기는 일반적으로 모드가 나누어져 있기 때문에, 따로 공부를 하지 않으면 사용할 때 어려움이 있다.

  • 명령모드 : 모드변경,복사,이동등의 작업
  • 편집모드 : 문서작성 및 편집
  • Last Line 모드 : 치환, 저장 및 종료 수행

  • 명령모드에서 i,o,a 를 입력하면 편집모드로 이동된다

    i 는 커서의 앞부분 부터, a 는 커서의 다음부분 부터, o를 입력하면 커서의 아래라인부터 입력이 된다

  • 명령모드에서 :를 입력하면 Last Line 모드로 넘어가게 된다
  • Last Line 모드에서 :wq 등의 명령어로 모드에서 나올 수 있다

    :wq 는 저장하고 나가기

Command 모드 : 가장 기본이 되는 모드, 복사, 붙여넣기, 다른 모드로 전환, 커서 이동, 삭제 등

(1) 커서 이동 G : 가장 마지막 줄로 이동
gg : 첫번째 줄로 이동
[n]G : n번째 줄로 이동
$ : 커서가 위치한 줄의 맨 끝으로 이동
O : 커서가 위치한 줄의 맨 앞으로 이동
w : 커서가 한 단어씩 오른쪽으로 이동
b : 커서가 한 단어씩 왼쪽으로 이동

(2) 삭제 x : 한 문자 삭제,또는 Edit모드에서 백스페이스나 Delete키로 삭제
dd : 커서가 위치한 한 줄을 삭제
d[커서이동] : 커서가 이동하는 만큼 삭제

(3) : 수정 r : 커서가 위치한 부분의 문자 하나를 입력하는 문자로 대체
u : Ctrl + z 처럼 작업 취소

(4) : 복사 및 붙여넣기
yy : 커서가 위치한 한 줄을 복사
y[커서이동] : 커서 이동하는 만큼 복사

p : 커서 밑이나 커서 다음에 붙여넣기

Edit 모드

  • 실질적으로 문서를 편집하는 모드, 내용을 입력, 내용을 수정, 내용을 삭제
    입력하고 싶은 내용을 입력하거나 백스페이스로 삭제

Last Line 모드

  • 파일을 저장하거나, 종료하거나 저장하지 않고 그냥 종료, 검색,바꾸기 등

(1) : 편집기 상태 변경
:set nu : 라인 넘버 표시
:set nonu : 라인 넘버 표시 안함
:set ic : 검색할 때 대소문자 무시
:set noic : 검색할 때 대소문자 구분

(2) : 검색 및 변환
/[내용] : 검색,n 다음검색,N 이전검색
:%s/[찾을 내용]/[바꿀 내용]/g

(3) : 저장 및 종료
:w : 저장 :q : 종료
:wq : 저장 및 종료
:w! : 강제로 저장
:q! : 강제로 종료
:wq! : 저장 및 강제 종료