vi 시작하기
『vi 시작하기』는 우리나라 최초로 vi만을 전문으로 다룬 서적이다. 이 책은 vi의 기본적인 사용법과 그 특징에 대한 설명뿐만 아니라 각 기능을 응용하는 예제까지 자세하게 소개한다. 그래서 vi를 처음 사용하는 초보자는 물론, 이미 웬만한 vi 명령어를 알고 있는 사용자까지도 유용하게 활용할 수 있다. 이 책을 바탕으로 vi를 정규 표현식과 같이 다룰 수 있게 되면 vi가 편집기 이상의 것이라는 사실을 알게 될 것이다.
- 저자 : 린다 램(Linda Lamb) , 아놀드 로빈스(Arnold Robbins)
- 번역 : 서울시립대학교 LUG
- 출간 : 2001-05-28
『vi 시작하기』는 vi를 처음 접하는 사람(유닉스와 리눅스 환경에 그다지 친숙하지 않은)과 초보 딱지를 막 뗀 사용자를 대상으로 쓰여졌다. 물론 C 프로그래머를 겨냥해서 설명하고 있지만 다음 독자에게도 도움을 줄 수 있으리라 확신한다.
* HTML이나 PHP, JSP 같은 스크립트 언어를 많이 사용하는 웹 프로그래머
* 논문을 위해 TeX이나 LaTeX 같은 문서 시스템을 사용하는 고급 사용자
* 파이썬이나 펄 같은 스크립트를 사용하는 프로그래머
* 여러 환경 설정 파일을 다루는 시스템 관리자
* XML/SGML을 사용하여 마크업 언어로 작업하는 사용자
* 기존 사용하고 있는 문서 편집기(윈도우 편집기?)에 불만이 있는 사용자
『vi 시작하기』는 크게 세 갈래로 나뉜다. 1부는 초보자가 쉽게 vi에 익숙할 수 있도록 vi 명령어와 활용 방안을 입문서 형식으로 설명하고 있다. 2부는 vi 클론에 대한 특성을 소개하고 있다. 3부는 성질 급한 독자가 명령어를 빨리 찾을 수 있도록 각종 명령어와 옵션을 일목요연하게 정리하고 있다.
1부
1장 vi 편집기
2장 간단한 편집
3장 vi 이동 명령
4장 기초를 넘어서
5장 ex 편집기 소개
6장 전역 치환
7장 고급 편집
2부
8장 vi 클론의 특성 요약
9장 nvi
10장 elvis
11장 vim
12장 vile
3부
퀵 레퍼런스, ex 명령어, 옵션 설정, 문제점 점검 목록, vi와 인터넷
으로 구성된다.
『vi 시작하기』는 유닉스의 기본으로 (리눅스는 제외) 포함하는 순수 vi를 어떻게 효과적으로 사용하는지에 초점을 두고 있다. 2부에서 vi 클론에 대해 여러 페이지에 걸쳐 다루기는 하지만, 아무래도 소개 수준을 벗어나지 못한 느낌이다.
예전에 학교 도서관에서 원서(『Learning the vi Editor, 6th Edition』)를 본 적이 있다. 예전 판이라서 그런지 몰라도 책이 얇다는 기억이 어렴풋이 나는데, 서평을 위해 소포로 도착한 『vi 시작하기』 번역본을 보고서 제법 두툼한 두께라 처음에는 정말 이 책이 맞는지 의심할 정도였다. 다행히도 표지에 나와있는 원숭이가 생각을 정리해 주었다. 안경 쓴 원숭이는 오라일리 출판사를 대표하는 그 얼마나 유명한 캐릭터였던가?
『vi 시작하기』는 배우기 어렵기로 악명 높은 vi 편집기를 손에 착착 달라붙도록(vi는 손에 착착 달라붙는 맛으로 사용하는 사람이 의외로 많다. 이맥스를 사용하려고 노력(?…ㅡ.,ㅡ;)했던 몇 개월을 제외하면 10년째 vi만을 고집해온, 이 글을 작성하고 있는 본인도 예외는 아니다) 쉽게 풀어 설명하고 있다. vi를 배우려다 실패한 초보자라면 한줄기 희망을 느낄 것이고, 중급 사용자라면 타성에 젖어 제 기능대로 쓰지 못하는 명령어를 새삼스레 느낄 수 있을 것이다. 웬만한 vi 명령을 모두 알고 있는 고급 사용자라면 다른 vi 클론을 바라보며 군침을 흘릴지도 모르겠다.
많은 사람이 vi에 불편함을 느끼고 이를 능가하는 편집기를 작성하다가 어느덧 vi에 빠져 vi 골수 팬이 되는 경우를 여러 번 목격했다. 자신이 바라고 생각하는 편집기를 작성하는 노력을 깎아 내릴 의도는 없지만, vi가 불편하거나 쓰기가 어려운 나머지 새로운 편집기가 필요하다고 느끼면 『vi 시작하기』를 한번 읽어보도록 권한다. 이 책을 읽기도 전에 vi가 쓰기 어렵고 별다른 특징이 없는 밋밋한 편집기인지 아닌지를 지레짐작하여 판단하면 두고두고 후회할 지도 모를 일이다.
vi는 BSD 계열 유닉스와 생명을 같이 해 온 역사와 전통이 있는 편집기이므로, 이런 묵직한 주제를 다루는 『vi 시작하기』를 몇 개월 지나면 쓰레기통으로 직행하는 평범한 컴퓨터 서적과 같이 취급하면 곤란하다.
원래 원서(『Learning the vi Editor, 6th Edition』) 자체의 내용이 간결하고 정리가 잘 되어있는데다, 역자의 노력과 꼼꼼한 편집으로 『vi 시작하기』는 번역서임에도 불구하고 크게 눈에 거슬리는 부분이 없어서 매끄럽게 책장을 넘길 수 있다. 『vi 시작하기』에 대한 사전 정보를 주지 않고 독자에게 전달한다면 번역서가 아니라 국내서라고 착각할 가능성도 있다. :)
『vi 시작하기』가 초보자를 대상으로 하기에 깔끔한 번역은 상당히 긍정적인 측면으로 작용한다. 솔직히 중급 이상 사용자는 아쉬울 경우 원서를 읽을 수도 있지만, 아까운 시간 쪼개어 공부하는 초보자에게 번역이 잘 된 책보다 더 좋은 선물이 없기 때문이다.
원래 특정 소프트웨어를 소개하거나 설명하는 책에는 오류가 없을 수 없다. 심지어 상업적인 소프트웨어를 제작하는 회사 조차 매뉴얼 곳곳에 벌레(bug)를 심어 놓는다. 소프트웨어에 벌레가 사는지 책에 벌레가 사는지 “닭이 먼저냐 달걀이 먼저냐”를 떠올리게 만들 정도로 심각한 경우도 있다.
하지만 『vi 시작하기』는 비교적 안정적인(역사와 전통이 있으므로) vi 편집기에 대한 설명이므로, 순수 vi만을 놓고 보면 크게 잘못된 내용이 개입할 여지는 없다. 하지만 공개 소스 소프트웨어로 보급하는 여러 vi 클론이 판을 치는 현재 상황에서 심지어 동일 클론에서 조차도 판올림을 하는 것에 사소한 차이를 보일 가능성이 높다.
상업적인 유닉스에 딸려오는 기본(순수) vi를 사용하지 않는 이상, 『vi 시작하기』를 읽다가 의심스러운 골목에 들어서면 컴퓨터 앞에 앉아서 직접 키보드를 두드려 보기 바란다. 이는 『vi 시작하기』라는 책 잘못이 아니라, 복잡 다난할 수 밖에 없는 소프트웨어 배포판의 차이점에 기인하므로 해당 패키지에 따라오는 온라인 문서를 참조하여 실제로 예제를 실행해 보면서 부지런히 궁금증을 해소하는 방법 밖에 없다.
번역을 하면서 역자주를 다는 경우가 있다. 국내 상황이나 정서에 맞지 않든지, 번역하는 시점에서 새로운 변화 사실을 발견하든지, 잘못된 내용을 바로 잡든지 여러 가지 이유가 있다. 하지만 유감스럽게도 『vi 시작하기』에 나오는 역자주는 사족에 가깝거나 잘못된 내용을 담고 있는 경우가 많아서 읽는 사람의 눈살을 찌푸리게 만든다. 초보자용 책이므로 얼렁뚱땅 설명을 하고 넘어가는 일은 있을 수 없다. 내용이 길어지더라도 오히려 더 정확하게 설명해야 하지 않을까?
일부 역자주에서 문제를 일으켰음에도 불구하고 번역과 관련한 가독성은 상당히 좋다고 평가한다. 편집 상태 역시 표, 예제, 원시코드를 알기 쉽게 배열하고 있으므로 역시 만족스럽다.
『vi 시작하기』는 vi 편집기를 익히는 사람에게 유일한 (다른 출판사에서 vi만을 대상으로 단행본을 냈다는 소식을 아직 접하지 못했다. 혹시 이런 책이 있으면 이메일로 알려주기 바란다.) 서적이므로 솔직히 다른 대안이 없다. 이렇게 말하면 어쩔 수 없이 읽어야 하는 책이라는 느낌이 들 수도 있는데, 이상에서 소개한 내용을 토대로 긍정적으로 이해하면 될 것이다. :)