. 편집기

텍스트 편집기(Text Editor)란 텍스트 포맷으로 되어 있는 파일을 편집할 수 있는 프로그램이다. 문장을 입력하거나 삭제하고 일부를 선택해서 위치를 옮길 수 있는 그런 기능을 가지고 있다. 텍스트 포맷이 워낙 대중적이고 활용가치가 높기 때문에 텍스트 편집기는 가장 많이 사용되는 프로그램이다. 일반 사용자는 물론이고 전문적인 프로그래머나 웹개발자, 시스템관리자까지 텍스트 편집기를 사용하지 않는 사람은 거의 없다. 텍스트 편집기의 대표적인 예는 윈도우즈에 기본적으로 포함되어 있는 메모장을 들 수 있다.

중앙의 작업영역에 텍스트 파일의 내용을 보여주며, 커서이동키로 문서의 어느 부분이나 마음대로 이동하면서 문장을 편집할 수 있다. 블록설정 및 클립보드를 통한 잘라내기, 복사, 붙여넣기 등의 기능을 제공하며, 기본적인 수준의 검색이 가능하고 파일 입출력 및 인쇄 등을 지원한다. 비록 운영체제에 포함된 공짜 프로그램이고 기능이 미약하지만 메모장은 엄연한 스크린에디터이다. 불과 얼마 전까지만 해도 한 번에 한 줄밖에 편집할 수 없는 라인에디터도 많이 사용되었는데, 그에 비한다면 메모장이 결코 불편한 프로그램이라 할 수 없다.

메모장은 운영체제에 포함되어 있으므로 급할 때 언제든지 사용할 수 있는 편집기라는데 큰 의미가 있다. 이런 간단한 편집기 외에도 다양한 기능을 제공하는 상용 프로그램들이 많이 발표되었다. 울트라에디트 같은 전문 편집기도 있고 홈사이트, 드림위버 같은 웹 편집기들도 기본적인 텍스트 편집 기능을 같이 제공한다. 국내에서 만들어진 편집기로는 EditPlus2, AcroEdit, Crimson Editor 등 여러 가지가 있는데, 결코 외국산에 비해 성능이 떨어지지 않는 우수한 작품들이다.

이런 전문 편집기 외에 우리 가까이 있는 텍스트 편집기가 바로 비주얼 스튜디오에서 제공하는 편집기이다. 비주얼 스튜디오의 편집기도 기본 이상의 기능을 제공하며, 주로 소스파일 편집에 필요한 여러 기능들로 무장되어 있다. 소스파일 작성용 편집기이지만 일반적인 텍스트 편집기로 사용하는 것도 전혀 무리가 없다. 텍스트 편집 기능 자체만 비교한다면 비주얼 스튜디오의 편집기는 거의 만점에 가까운 점수를 받을 만큼 완벽하며, 전문 편집기들에 비해 탁월한 성능(Performance)을 자랑한다.

이 책에서는 텍스트 편집기 제작실습을 하며, 여러분들도 텍스트 편집기 제작법을 배우기 위해 이 책을 읽고 있다. 제대로 된 텍스트 편집기를 만들어 보고 싶다면 먼저 기존의 편집기들이 어떤 기능을 제공하며, 어떻게 기능을 구현하는지부터 연구해 봐야 한다. 남들이 이미 구현해놓은 기능도 구현하지 못한 상태에서 그보다 더 좋은 프로그램을 만들 수는 없다.

대부분의 텍스트 편집기들은 인터넷에 공개 또는 평가판을 제공하고 있으므로 이런 프로그램들을 구해 텍스트 편집기의 동작방식에 대해 연구해보자. 텍스트 편집기를 만들다 보면 작아 보이는 프로그램들도 얼마나 많은 기능을 가지고 있는지 알게 될 것이며 개발자의 노고를 느낄 수 있을 것이다.