에디터는 말 그대로 편집기이다. 텍스트 파일을 생성하거나 수정할 때 사용하는 프로그램이다.

리눅스에서는 vi, emacs, pico가 텍스트 환경 기반의 콘솔 환경에서도 사용이 가능한 대표적인 편집기이다.

PICO

워싱턴 대학의 Aboil Kasar가 개발한 텍스트 편집기이며, Pine이메일 클라이언트 프로그램에 통합되서 배포되었다.

기본 인터페이스는 윈도우의 메모장(notepad)과 유사하여 매우 단순하다.

지원되는 기능에는 쉬운 복사 및 붙여넣기, 맞춤법 검사, 단락 정의등이 있다.

pico는 자유 소프트웨어 라이선스가 아니기 때문에 소스 수정이 불가능 했다.

그래서 GNU에서 복제버전으로 nano를 만들었다.

기본 기능 이외에 마우스 지원, 자동 들여쓰기, 정규 표현식 검색, 구문 강조등의 기능이 추가되었다.

emacs

Editor Macros의 약어로 리처드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발하였다.

그 후에 제임스 고슬링이 LISP언어에 의한 환경설정 및 에디터 기능을 확장할 수 있는 기능을 포함하여 고슬링 이맥스 라는 이름으로 배포하였다.

근데 리처드 스톨만이 LISP를 기반으로 하는 환경설정을 지원하도록 emacs를 처음부터 다시 만들었으며, 이 emacs가 현재의 emacs이다.

자신에게 적합한 모드를 직접 설정할 수 있고, 확장성과 유연성이 장점이다.

하지만 기능이 너무 많기 때문에 LISP코드를 불러오는데 시간이 걸리고, 초보자가 사용하기에 어렵다.

참고로 x윈도 환경에 최적화한 xemacs도 있다.

vim

빌조이 라는 사람이 vi를 개발했었는데 이와 호환되면서 브렘 무레나르가 독자적으로 다양한 기능을 추가해 만든게 vim이다.

편집시 다양한 색상을 지원하여 가독성을 높이고 패턴 검색시 하이라이트 기능을 제공한다. 또한 ex모드에서 히스토리, 확장된 정규표현식 문법, 강력한 문법 강조 등.. 여러 기능이 존재한다.

최근 리눅스 배포판에서 vi를 입력하면 기본적으로 vim이 실행된다.