vi

위키백과, 우리 모두의 백과사전.
Namoroka (토론 | 기여)님의 2014년 5월 4일 (일) 19:05 판

vi
개발자빌 조이
저장소
종류문서 편집기
라이선스BSD
웹사이트ex-vi.sourceforge.net/ 위키데이터에서 편집하기

vi(브이아이, /ˈvˈ/)는 Emacs와 함께 유닉스 환경에서 가장 많이 쓰이는 문서 편집기이다. 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다. vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했다. 간결하면서도, 강력한 기능으로 열광적인 사용자가 많다.

현재는 오리지널 vi를 사용하는 경우는 거의 없고, 일반적으로 기능을 모방하여 만들어진 클론을 사용하고 있다. 이런 클론 중 많이 쓰이는 것은 기능이 다양한 것을 장점으로 내세우며, 리눅스 배포판에 포함되는 Vim, 그리고, BSD 라이선스로 제공되며 원본 vi의 동작과 호환성으로 정평이 나 있는 nvi, 독자적인 팬층을 확보한 elvis등이 있다.

vi의 역사

ADM3A 키보드 레이아웃

빌조이(Bill Joy)는 캘리포니아 대학교 버클리에서 Lear-Siegler ADM3A 터미널에서 vi를 작성했다. 그런데 이 터미널의 키보드는 Esc 키가 오른쪽 현재의 우리가 많이 사용하는 IBM 호환 키보드(IBM PC keyboard) 에서 Tab ↹ 키 위치에 있었기 때문에, 이 키를 가지고 사용자들이 vi 에디터 모드 변경을 매우 효과적으로 할 수 있었다. 또한 Lear-Siegler ADM3A 터미널에는 화살표 키에 대응할 만한 키가 없었기 때문에 vi는 H, J, K, L 키(keys h,j,k,l)가 지금의 화살표 키를 대신해서 커서를 이동하게 만들어졌다.

조작법

프로그램을 시작하면 일반적으로 명령(normal) 모드로 시작하게 된다. 이때 키보드에서 I 키를 누르게 되면 편집(insert)모드로 들어가게 된다. Esc 키를 누를 때까지 문서 작성을 할 수 있다. vi에서는 편집모드에서만 내용을 넣거나 수정할 수 있다.

Vi의 여러가지 명령어

vi 편집기는 입력, 명령, 비주얼 등의 모드가 있어 같은 키 입력이라도 현재 모드에 따라 다른 동작을 한다. 입력과 명령모드를 주로 왔다갔다 하면서 편집하게 된다. 입력모드에서는 말 그대로 입력하는 문자가 그대로 문서에 입력된다. 입력상태에서 Esc 키를 누르면 명령모드로 바뀌게 된다. 명령어 모드에서는 AltCtrl 키 등을 사용하지 않고도 키를 두드려서 커서의 움직임이나, 붙여넣기, 지우기 등의 기능을 수행할 수 있다. 예를 들면, J는 커서를 아래로, K는 위로 움직이게 하며, X는 커서 위치의 한 문자를 지우고, I는 입력상태로 들어가게 한다. 명령어 모드에서 V 키 등을 누르면 비주얼 모드가 되고 영역을 설정할 수 있게 된다. vi 실행 초기의 모드는 명령모드이기 때문에, vi를 처음 사용하는 사용자들은 아무리 키를 눌러도 누른 키가 입력이 되지 않아 당황하는 경우가 많다.

기종별 다양한 Vi

물론 Vi는 유닉스에서 발전하였고 조금 더 개량한 vi 복제품들이 나와서 그 명성을 이어가고 있다. 또한 다음과 같이 다양한 컴퓨터에 포팅되어 있다.

Vim

유닉스용 vi 복제품(clone)

Vim 은 "Vi IMproved"의 약자로 만든 이름이며 현재 vi보다 더 많이 사용되고 있다. 이 프로그램은 vi보다 더 다양한 기능(구문 강조 기능(또한 이 기능을 작성하는 기능), 마우스 지원, 그래픽 버전, 시각 모드, 수많은 새로운 편집 명령어들을 가지고 있다. 현재 대부분의 리눅스 시스템에서는 이 프로그램이 표준 모델로 들어가고 있다.

Mac용 vim

vi에 대한 다양한 평가 및 vi의 영향력

  • emacs 애용자들은 vi를 vicious interface라고 한다.
  • Snap.com 은 vi 인터페이스를 사용하는 인터넷 검색 엔진을 개발했다. visearch.com 웹페이지

바깥 고리