월간 <네트워커> - 정보화에 대한 다른 시각
26호 리눅스야놀자!
서른이 다 되어가는 에디터, VI
브이아이 에디터 간략한 소개

소재명  
조회수: 4101 / 추천: 74
브이아이(VI) 에디터의 나이는 서른이 다 되어간다. 다른 학문들과 비교하여 상대적으로 짧은 컴퓨터 역사에서 볼 때 브이아이는 분명 쥬라기 공원 시대의 공룡 소프트웨어임에 틀림없다. 모든 소프트웨어는 생성과 소멸의 과정을 거치게 되는데 대부분의 소프트웨어들은 라이프사이클이 매우 짧다. 그러나 브이아이는 유닉스보다 조금 늦게 나와서 유닉스 그리고 리눅스의 발전과 함께 아직까지도 널리 사용되고 있는 진기한 소프트웨어다.

리눅스나 유닉스를 접해 본 사람이라면 브이아이라는 에디터를 기억할 것이다. ‘VI’란 ‘Visual Display Editor’로, 버클리대학의 ‘빌 조이’란 사람이 1976년에 이디(ED)라는 편집기의 기능을 확장시킨 이엑스(Extended editor, EX)를 개발하고 이를 확장시켜 개발한 에디터이다.

브이아이 이전에 사용되던 에디터 이디와 이엑스는 마치 명령을 내리듯이 문서를 편집하기 때문에 사용법이 복잡하고 다루기 힘든 라인 에디터였다. 행 단위로 문서를 편집하던 시기에 마치 종이에 글을 쓰듯이 문서를 작성한다는 일은 매우 고무적인 일이었던 것이다. 믿겨지지 않겠지만 그래서 브이아이(VI)가 비주얼 에디터(Visual editor)의 준말이다.

브이아이를 즐겨쓰는 사람들의 공통적인 얘기는 브이아이보다 더 편리하고, 빠르고, 깔끔한 에디터는 지구상에 존재하지 않다는 것이다. 브이아이는 초기 컴퓨터 프로그래머들에게 다양한 서버의 터미널 환경에서 공통적으로 사용되는 최초의 풀 스크린 에디터로서 역사적인 가치가 높다. 또한 대부분의 리눅스, 유닉스 환경에 기본적으로 탑재돼 있고, 프로그램 사이즈가 매우 작아 당시 프로그래머들에게 최상의 개발 환경을 제공했다.

물론 당시에는 브이아이를 능가하는 에디터로서 요즘도 많이 사용되고 있는 이맥스(EMACS)라는 에디터가 존재했다. 하지만 브이아이처럼 대부분의 유닉스 시스템에 탑재돼 있지는 않았으며, 프로그램 크기도 수 메가에 달했기 때문에 간편하게 사용할 수 있는 에디터라기보다는 여러 사람이 협력하는 규모가 큰 프로젝트를 수행하기에 적당한 에디터였다.

브이아이의 매력
그렇다면 어떻게 브이아이가 30년 가까이 많은 사람들의 지지를 받으면서 사용되고 있는 것일까? 이유인즉슨 앞서 언급했듯이 당시 개발 환경은 대부분이 라인 에디터였으며, 브이아이가 최초의 풀 스크린 에디터였기 때문이다. 또한 유닉스 환경에 기본으로 탑재되었다는 점이 지지를 받은 이유이다. 하지만 소프트웨어는 빠르게 발전하고 있으며, 항상 기능이 향상된 최신의 프로그램이 개발돼 나오기 때문에 한 프로그램이 10년 이상 인기를 유지한다는 것은 결코 쉬운 일이 아니다.
필자도 90년 중반부터 약 10년 가까이 브이아이 에디터를 사용해오고 있다. 항상 고민거리는 새로운 에디터가 필요하다는 것보다 ‘기존의 기능을 어떻게 더 잘 활용할 수 있는가’였다. 특히 상용구, 매크로, 정규식 등은 다른 에디터로서는 상상할 수 없는 기능이었으며, 자신이 즐겨 사용하는 패턴들을 정의해 두면 사용자에게 최적화된 에디터 환경이 만들어지는 셈이었다.

브이아이를 처음 사용하는 사람들한테 가장 익숙하지 않은 부분은 이에스시(ESC)키로 변환되는 입력/명령모드와 방향키 대신에 에이치(h), 제이(j), 케이(k), 엘(l) 문자키를 이용하는 부분이다. 이런 문자키를 이용한 방향키 방법은 방향키를 이용하는 방법보다 손가락의 동선을 최소화 시키는 효과가 있다. 실제로 다른 에디터들과 브이아이를 비교하면 이러한 방향키와 명령어 입력방법에 의한 편집 효율의 차이가 매우 크게 나타난다고 한다. 요즘은 브이아이에 undo, syntax coloring, split windows 등의 기능을 포함시킨 브이아이엠(Vi Improve, VIM)이 널리 사용되고 있다.

배우기 힘들지만...
브이아이의 가장 큰 단점은 배우기 힘들다는 점이다. 더 힘든 것은 명령어를 단순히 암기한다고 해서 잘 사용할 수 없다는 것이다. 방향키를 손에 익히는 것만 해도 한 달 정도 시간이 소요될 정도로 어렵다. 사용자를 위한 소프트웨어는 배우기 쉬워야 한다는 점이 매우 중요한데, 그러한 점에서 브이아이는 낙제 점수를 받을 것이다.

하지만 개발자를 비롯하여 리눅스 매니아에게 있어서 에디터는 수족과도 같은 툴이라고 보았을 때, 초기에 배우기 힘들더라도 효율을 극대화시킬 수 있다는 데 초점을 맞춰야 할 것이다. 때로는 돌아가는 것이 더 빠를 수도 있다.

시대가 많이 바뀌었다. 텍스트 환경에서 그래픽 환경으로 바뀐지 오래다. 하지만 브이아이를 통해서 배울 수 있는 점은 힘들게 배운다는 미학이 아닐까 생각한다. 모든 것이 쉽고 간편해져가고 있지만 때로는 힘들게 배울 것들이 존재한다. 그리고 그것이 앞으로 효율에 영향을 미친다면 투자할 만한 충분한 가치가 있다고 믿는다.
추천하기