주 메뉴 열기

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

vi
vi 편집기로 C로 Hello World 프로그램을 편집하고 있다.
vi 편집기로 CHello World 프로그램을 편집하고 있다.
개발자빌 조이
저장소 위키데이터에서 편집하기
종류문서 편집기
라이선스BSD
웹사이트ex-vi.sourceforge.net

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

vi의 역사편집

 
ADM3A 키보드 레이아웃

빌 조이캘리포니아 대학교 버클리에서 Lear-Siegler ADM3A 터미널에서 vi를 작성했다. 그런데 이 터미널의 키보드는 Esc 키가 오른쪽 현재의 우리가 많이 사용하는 IBM 호환 키보드(IBM PC 키보드) 에서 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 복제품들이 나와서 그 명성을 이어가고 있다. 또한 다음과 같이 다양한 컴퓨터에 포팅되어 있다.

유닉스용 vi 복제품(clone)편집

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

Mac용 vim편집

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

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

외부 링크편집