에디터는 말 그대로 편집기이다. 텍스트 파일을 생성하거나 수정할 때 사용하는 프로그램이다.
리눅스에서는 vi
, emacs
, pico
가 텍스트 환경 기반의 콘솔 환경에서도 사용이 가능한 대표적인 편집기이다.
워싱턴 대학의 Aboil Kasar가 개발한 텍스트 편집기이며, Pine이메일 클라이언트 프로그램에 통합되서 배포되었다.
기본 인터페이스는 윈도우의 메모장(notepad)과 유사하여 매우 단순하다.
지원되는 기능에는 쉬운 복사 및 붙여넣기, 맞춤법 검사, 단락 정의등이 있다.
pico
는 자유 소프트웨어 라이선스가 아니기 때문에 소스 수정이 불가능 했다.
그래서 GNU
에서 복제버전으로 nano
를 만들었다.
기본 기능 이외에 마우스 지원, 자동 들여쓰기, 정규 표현식 검색, 구문 강조등의 기능이 추가되었다.
Editor Macros의 약어로 리처드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발하였다.
그 후에 제임스 고슬링이 LISP언어에 의한 환경설정 및 에디터 기능을 확장할 수 있는 기능을 포함하여 고슬링 이맥스 라는 이름으로 배포하였다.
근데 리처드 스톨만이 LISP를 기반으로 하는 환경설정을 지원하도록 emacs를 처음부터 다시 만들었으며, 이 emacs가 현재의 emacs이다.
자신에게 적합한 모드를 직접 설정할 수 있고, 확장성과 유연성이 장점이다.
하지만 기능이 너무 많기 때문에 LISP코드를 불러오는데 시간이 걸리고, 초보자가 사용하기에 어렵다.
참고로 x윈도 환경에 최적화한 xemacs도 있다.
빌조이 라는 사람이 vi
를 개발했었는데 이와 호환되면서 브렘 무레나르가 독자적으로 다양한 기능을 추가해 만든게 vim
이다.
편집시 다양한 색상을 지원하여 가독성을 높이고 패턴 검색시 하이라이트 기능을 제공한다. 또한 ex모드에서 히스토리, 확장된 정규표현식 문법, 강력한 문법 강조 등.. 여러 기능이 존재한다.
최근 리눅스 배포판에서 vi
를 입력하면 기본적으로 vim
이 실행된다.