[Linux] VIM

VI Editor

vi (Visual Interface)

  • Unix 계열 운영체제에서 가장 널리 쓰이는 화면편집기
  • (Linux, Solaris 등)
  • BSD를 만든 Billy Joy에 의해 개발
  • Vim(Vi improved)
  • *현재는 vi의 기능을 확장시킨 vim을 사용

3가지 동작 모드

  • input mode : 텍스트를 입력할 수 있는 모드
  • command mode : 편집 및 이동 명령어를 수행할 수 있는 모드
  • edit(Line Edit) mode : 종료 및 저장, 검색, 치환 등의 확장 명령어를 수행할 수 있는 모드

vi 시작

vi [file name]

예제

#vi a.txt

This part explains the interoperability of our

multimedia integrated ontology with existing one

vi 편집기를 종료할 때 먼저 ESC key를 누른 후

입력 명령어input 모드 명령

1. 입력모드에서 커서의 이동은 방향키를 이용
2. 커서를 한자리씩 이동할 수 밖에 없음
3. 그 이외의 이동은 명령모드에서 이동명령어를 사용해야함
4. 기본적인 커서의 이동명령어

 

화면상에서 텍스트 삭제 시

 

복사(y)

텍스트의 내용은 삭제되지 않고 버퍼에 복사

 

붙이기(p)

삭제된 내용 붙이기
복사된 내용 붙이기

기타 편집 명령어

VI 편집기의 환경설정

VI 환경설정을 위해서는 명령모드에서 :set 을 사용

 

사용법

  • 설정 : set [환경변수] [값]
  • 해제 : set no[환경변수]
  • 현재 설정된 옵션 확인 :set


옵션

 

주어진 패턴에 따라서 앞 뒤로 검색하는 기능 제공

edit 모드에서 사용

검색 후 변환

[범위] s/찾는 문자열/바꿀 문자열/
  [범위]로 지정된 라인에서 찾는 문자열을 바꿀 문자열로 치환
  단, 하나의 라인에서 찾는 문자열이 여러 개 존재하는 경우 처음 것만 치환


[범위] s/찾는 문자열/바꿀 문자열/g
  [범위]로 지정된 라인에서 찾는 문자열을 바꿀 문자열로 치환함
  단, 하나의 라인에서 찾는 문자열이 여러 개인 경우 모두 치환

ex)

:1,10 s/root/imsi/
:11,20  s/root/love/g
: .  s/root/lookup/
: %  s/root/love/g
: +30  s/love/like/g
: -5     s/love/hate/g