본문 바로가기
리눅스

(번역) Text editor

by 다움위키 2024. 10. 10.
Original article: w:Text editor
For the use of text editors with Wikipedia, see Help:Text editor support.

 

텍스트 편집기(text editor)는 일반 텍스트를 편집하는 컴퓨터 프로그램의 유형입니다. 그러한 프로그램의 예로는 "메모장(notepad)" 소프트웨어 (예를 들어, Windows Notepad)가 있습니다. 텍스트 편집기는 운영 시스템과 소프트웨어 개발 패키지와 함께 제공되고, 구성 파일, 문서 파일 및 프로그래밍 언어 소스 코드와 같은 파일을 변경하기 위해 사용될 수 있습니다.

Plain text and rich text

Main articles: Plain text and Rich text

일반 텍스트 (텍스트 편집기로 만들고 편집한 텍스트)와 서식 있는 텍스트 (워드 프로세서데스크톱 출판 소프트웨어로 만든 텍스트) 사이에는 중요한 차이점이 있습니다.

일반 텍스트는 문자 표현으로만 구성됩니다. 각 문자는 ASCII, ISO/IEC 2022, Shift JIS, UTF-8, 또는 UTF-16와 같은 특정 문자 인코딩 규칙에 따라 1, 2, 또는 4바이트의 고정 길이 문자열, 또는 1에서 4바이트의 가변-길이 문자열로 표현됩니다. 이들 규칙은 많은 인쇄 가능한 문자를 정의하지만, 공백, 줄 바꿈, 및 페이지 나누기와 같이 텍스트의 흐름을 제어하는 ​​비-인쇄 문자도 정의합니다. 일반 텍스트에는 텍스트 자체에 대한 다른 정보가 없으며, 사용된 문자 인코딩 규칙도 포함되지 않습니다. 일반 텍스트는 텍스트 파일에 저장되지만, 텍스트 파일은 일반 텍스트만 저장하지는 않습니다. 컴퓨터 초기 시절부터, 일반 텍스트는 (한때는 필수였고 현재는 규칙에 따라), 가로 정렬과 열 형식은 때때로 공백 문자를 사용하여 수행됨을 만족하는, 일반적으로 모노스페이스 글꼴을 사용하여 표시되었습니다.

서식 있는 텍스트는, 다른 한편으로, 메타데이터, 문자 서식 데이터 (예를 들어, 글꼴, 크기, 굵기 및 스타일), 문단 서식 데이터 (예를 들어, 들여쓰기, 정렬, 문자와 단어 분포, 및 줄 또는 다른 문단 사이의 공백), 및 페이지 사양 데이터 (예를 들어, 크기, 여백과 읽기 방향)를 포함할 수 있습니다. 서식 있는 텍스트는 매우 복잡할 수 있습니다. 서식 있는 텍스트는 바이너리 형식 (예를 들어, DOC), 마크업 언어 (예를 들어, RTF 또는 HTML)를 준수하는 텍스트 파일, 또는 두 가지의 하이브리드 형식 (예를 들어, Office Open XML)으로 저장될 수 있습니다.

텍스트 편집기는 일반 텍스트나 서식 있는 텍스트에 대해 마크업 또는 다른 것 (예를 들어, SVG)에 대해 마크업 포함하는 을 포함하는 일반 텍스트로 해석될 수 있는 어떤 것을 열고 저장하도록 설계되었습니다.

History

텍스트 편집기가 존재하기 전에, 컴퓨터 텍스트는 키펀치 기계로 카드에 구멍을 뚫었습니다. 그 후에 이들 얇은 판지 카드의 실제 상자를 카드 리더기에 삽입했습니다. 그러한 카드 덱에서 생성된 자기 테이프, 드럼과 디스크 카드 이미지 파일에는 종종 줄-구분 문자가 전혀 없었고, 고정-길이의 80-문자 또는 90-문자 레코드를 가정했습니다. 카드의 대안은 펀칭 테이프였습니다. 그것은 일부 텔레프린터 (예를 들어 Teletype)에서 만들 수 있었으며, 이는 레코드의 끝을 나타내는 특수 문자를 사용했습니다. 일부 초기 운영 시스템에는 언어 프로세서와 통합되거나 별도의 유틸리티 프로그램으로 배치 텍스트 편집기가 포함되었습니다; 초기 예시 중 하나는 SHARE 운영 시스템에서 SCAT에 대한 SQUOZE 소스 파일을 편집하기 위한 기능이었습니다.

최초의 대화형 텍스트 편집기는 디스플레이 없이 텔레프린터-스타일 또는 타자기-스타일의 터미널에 맞춰진 "줄 편집기"였습니다. 명령 (종종 단일 키 입력)은 "커서"라고 하는 가상의 삽입 지점에서 파일을 편집하는 데 영향을 미쳤습니다. 편집 내용은 파일의 작은 섹션을 인쇄하기 위한 명령을 입력하고, 주기적으로 전체 파일을 인쇄함으로써 검증했습니다. 일부 줄 편집기에서, 파일에서 줄 번호, 검색할 텍스트 문자열 (컨텍스트) 및 결국 정규 표현식을 지정하는 명령으로 커서를 이동할 수 있었습니다. 줄 편집기는 키펀칭에 비해 크게 개선되었습니다. 일부 줄 편집기는 키펀치에 의해 사용될 수 있었습니다; 편집 명령은 카드 한 벌에서 가져와 지정된 파일에 적용될 수 있었습니다. 일부 공통적인 줄 편집기는 변경 명령이 변경된 줄을 표시하는 "검증" 모드를 지원했습니다.

비디오 화면이 있는 컴퓨터 단말기가 출시되자, 화면-기반 텍스트 편집기 (때로는 "화면 편집기"라고 함)가 일반화되었습니다. 가장 초기의 전체-화면 편집기 중 하나는 1967년 CDC 6000 시리즈 컴퓨터의 운영자 콘솔용으로 작성된 O26입니다. 또 다른 초기 전체 화면 편집기는 vi였습니다. 1970년대에 작성되었으며, 그것은 여전히 유닉스리눅스 운영 시스템에서 표준 편집기입니다. 역시 1970년대에 작성된 UCSD Pascal Screen Oriented Editor는 들여쓰기가 있는 소스 코드와 일반 텍스트에 모두 최적화되었습니다. 최초의 자유와 오픈-소스 소프트웨어 프로젝트 중 하나인 Emacs는 또 다른 초기 전체 화면 또는 실시간 편집기로, 많은 시스템으로 이식되었습니다. 1977년 Commodore PET는 전체 화면 편집기를 탑재한 최초의 대중 시장용 컴퓨터였습니다. 전체 화면 편집기의 사용 편의성과 속도 (줄 기반 편집기와 비교)는 많은 초기 비디오 단말기 구매의 동기가 되었습니다.

텍스트 편집기에서 핵심 데이터 구조는 편집 중인 파일의 현재 상태를 나타내는 문자열 (문자의 순서열) 또는 레코드 목록을 관리하는 것입니다. 앞의 것은 단일 긴 연속 문자 배열에 저장할 수 있지만, 텍스트를 더 빠르게 삽입하고, 텍스트를 삭제하고, 이전 편집을 실행 취소/다시 실행할 수 있는 텍스트 편집기에 대한 요구로 인해 더 복잡한 순서열 데이터 구조가 개발되었습니다. 전형적인 텍스트 편집기는 갭 버퍼, (PaperClip에서 처럼) 줄의 연결 목록, 조각 테이블, 또는 로프를 순서열 데이터 구조로 사용합니다.

Types of text editors

일부 텍스트 편집기는 작고 간단하고, 반면에 다른 편집기는 광범위하고 복잡한 기능을 제공합니다. 예를 들어, 유닉스와 유닉스-계열 운영 시스템에는 pico 편집기 (또는 변형)가 있지만, 많은 편집기에는 vi와 Emacs 편집기도 포함됩니다. Microsoft Windows 시스템에는 간단한 Notepad가 제공되지만, 많은 사람들, 특히 프로그래머는 더 많은 기능을 갖는 다른 편집기를 선호합니다. Apple Macintosh클래식 Mac OS에는 네이티브 TeachText가 있었고, 나중에 1994년에 SimpleText로 대체되었으며, 이는 Mac OS X에서 TextEdit으로 대체되었습니다. TextEdit은 눈금자, 여백과 여러 글꼴 선택과 같은 워드 프로세서의 일반적인 기능과 텍스트 편집기의 기능을 결합합니다. 이들 특색은 동시에 사용할 수 없지만, 사용자 명령으로 전환하거나 프로그램에서 파일 유형을 자동으로 결정해야 합니다.

대부분의 워드 프로세서는 일반 텍스트 형식의 파일을 읽고 쓸 수 있으며, 그것들을 텍스트 편집기에서 저장된 파일을 열 수 있도록 허용합니다. 어쨌든, 워드 프로세서에서 이러한 파일을 저장하려면, 파일이 일반 텍스트 형식으로 작성되었는지 확인하고, 임의의 텍스트 인코딩이나 BOM 설정이 의도한 용도에 맞게 파일을 가리지 않도록 해야 합니다. WordStar와 같은 비-WYSIWYG 워드 프로세서는 텍스트 편집기로 사용하기가 더 쉽고, 실제로 1980년대에 공통적으로 그렇게 사용되었습니다. 이들 워드 프로세서의 기본 파일 형식은 종종 마크업 언어와 유사하며, 기본 형식은 일반 텍스트이고 시각적 서식은 인쇄되지 않는 제어 문자나 이스케이프 문자열을 사용하여 달성됩니다. Microsoft Word와 같은 이후 워드 프로세서는 파일을 바이너리 형식으로 저장하고, 일반 텍스트 파일을 편집하기 위해 거의 사용되지 않습니다.

일부 텍스트 편집기는 로그 파일이나 단일 파일에 있는 전체 데이터베이스와 같이 비정상적으로 큰 파일을 편집할 수 있습니다. 더 간단한 텍스트 편집기는 단지 파일을 컴퓨터의 주 메모리로 읽어들일 수 있습니다. 더 큰 파일과 함께, 이것이 느린 프로세스일 수 있고, 전체 파일이 맞지 않을 수 있습니다. 일부 텍스트 편집기는 이 읽기가 완료될 때까지 사용자가 편집을 시작하지 못하게 합니다. 비전문 편집기에서는 편집 성능도 종종 저하되어, 편집기가 키 입력이나 탐색 명령에 응답하는 데 몇 초 또는 몇 분이 걸립니다. 전문 편집기는 메모리에 큰 파일의 보이는 부분만 저장하여, 편집 성능을 개선하는 등의 최적화 기능이 있습니다.

일부 편집기는 프로그래밍이 가능하며, 예를 들어 특정 용도에 맞게 사용자 정의될 수 있음을 의미합니다. 프로그래밍 가능한 편집기와 함께, 반복적인 작업을 자동화하거나 새로운 기능을 추가하거나 편집기 프레임워크 내에서 새로운 응용 프로그램을 구현하기 쉽습니다. 사용자 정의의 일반적인 동기 중 하나는 텍스트 편집기가 사용자에게 더 익숙한 다른 텍스트 편집기의 명령을 사용하도록 하거나 사용자가 의존하게 된 누락된 기능을 복제하는 것입니다. 소프트웨어 개발자는 종종 작업하는 프로그래밍 언어나 개발 환경에 맞게 조정된 편집기 사용자 정의를 사용합니다. 일부 텍스트 편집기의 프로그래밍 가능성은 프로그램의 핵심 편집 기능을 향상시키는 데 국한되지만, Emacs는 텍스트 파일 편집을 훨씬 넘어 웹 브라우징, 이메일 읽기, 온라인 채팅, 파일 관리 또는 게임 플레이로 확장될 수 있으며 종종 텍스트 사용자 인터페이스가 있는 Lisp 실행 환경으로 생각됩니다. Emacs는 유닉스 문화의 전통적인 편집기 전쟁에서 경쟁자인 Vi를 에뮬레이트하도록 프로그래밍할 수도 있습니다.

프로그래밍 가능한 편집기의 중요한 그룹은 REXX를 스크립팅 언어로 사용합니다. 이들 "정통적인 편집기(orthodox editors)"에는 명령과 매크로를 입력할 수 있는 "명령줄"과 줄 명령과 매크로를 입력할 수 있는 텍스트 줄이 포함되어 있습니다. 이들 편집기 대부분은 ISPF/PDF EDIT 또는 VM/SP에서 z/VM까지 IBM의 주력 편집기인 XEDIT의 파생 제품입니다. 여기에는 THE, KEDIT, X2, Uni-edit, 및 SEDIT가 있습니다.

특정 용도에 맞게 작성되거나 사용자 정의된 텍스트 편집기는 사용자가 무엇을 편집하고 있는지 결정하고, 종종 프로그래밍 용어를 완성하고 관련 문서가 있는 도구 설명을 표시함으로써 사용자를 도울 수 있습니다. 소프트웨어 개발자를 위한 많은 텍스트 편집기에는 소스 코드 구문 강조 표시와 자동 들여쓰기가 포함되어 있어 프로그램을 읽고 쓰기가 더 쉽습니다. 프로그래밍 편집기는 종종 사용자가 포함 파일, 함수 또는 변수의 이름을 선택하고, 그런-다음 해당 정의로 이동할 수 있도록 합니다. 일부는 초기 커서 위치를 저장하거나 팝업 창이나 임시 버퍼에 요청된 정의를 표시함으로써 원래 코드 섹션으로 쉽게 돌아갈 수 있도록 합니다. 일부 편집기는 이 기능을 직접 구현하지만, 종종 ctags와 같은 보조 유틸리티는 정의들 위치를 찾도록 사용합니다.

Typical features

  • 찾기와 바꾸기 – 텍스트 편집기는 개별적으로 또는 열린 탭이나 선택한 폴더의 파일 그룹에서 텍스트 문자열을 검색하고 대체하기 위한 광범위한 기능을 제공합니다. 고급 편집기는 정규 표현식을 텍스트나 코드를 검색하고 편집하기 위해 사용될 수 있습니다. 추가 기능으로는 선택적 대소문자 구분, 빠른 회수와 자동 완성을 위한 검색어 기록, 및 한 곳에 여러 결과 나열 등이 있습니다.
  • 자르기, 복사하기, 및 붙이기 – 대부분의 텍스트 편집기는 파일 내나 파일 사이에 텍스트를 복제하고 이동하는 방법을 제공합니다.
  • UTF-8로 인코딩된 텍스트를 처리하는 능력.
  • 텍스트 서식-지정 – 텍스트 편집기는 종종 줄 바꿈, 자동-들여쓰기, ASCII 문자를 사용한 글머리 기호 목록 서식 지정, 주석 서식 지정, 구문 강조 표시 등과 같은 기본적인 시각적 서식 지정 기능을 제공합니다. 이것들은 전형적으로 표시용일 뿐이고 파일 자체에 서식 지정 코드를 삽입하지 않습니다.
  • 실행-취소와 다시-실행 – 워드 프로세서와 마찬가지로, 텍스트 편집기는 마지막 편집 내용 또는 그 이상을 실행 취소하고 다시 실행할 수 있는 방법을 제공합니다. 종종—특히 오래된 텍스트 편집기의 경우—기억되는 편집 기록이 한 단계뿐이고 실행 취소 명령을 연속적으로 실행하면 마지막 변경 내용만 "토글"됩니다. 현대 또는 더 복잡한 편집기는 보통 여러 단계의 역사를 제공하므로 실행 취소 명령을 반복적으로 실행하면 문서가 연속적으로 이전 편집 내용으로 돌아갑니다. 별도의 다시 실행 명령은 편집 내용을 가장 최근의 변경 내용으로 "앞으로" 순환시킵니다. 기억되는 변경 내용의 개수는 편집기에 따라 다르며 종종 사용자에 의해 구성될 수 있습니다.
  • 지정된 줄 번호로 이동할 수 있는 능력.

Advanced features

  • 매크로 또는 프로시저 정의: 기존 명령이나 다른 매크로를 조합하여 새로운 명령이나 기능을 정의하는 것으로, 매개변수를 전달하거나 매크로를 중첩하는 방식일 수 있습니다.
  • 세션 편집 사이에 사용자가 설정한 옵션을 유지하기 위한 프로필입니다.
  • 이름이 지정된 프로파일 매크로 (예를 들어, 환경, 프로파일)는 편집 세션을 시작할 때 또는 새 파일을 열 때 자동으로 실행됩니다.
  • 다중-파일 편집: 편집 세션 중에 여러 파일을 편집할 수 있는 기능, 아마도 각 파일의 현재 줄 커서를 기억하는 기능, 각 파일에 반복되는 텍스트를 삽입하는 기능, 파일 사이에서 텍스트를 복사하거나 이동하는 기능, 파일을 나란히 비교하는 기능 (아마도 타일 방식의 다중-문서 인터페이스로) 등이 있습니다.
  • 다중 뷰 편집기: 같은 파일의 여러 뷰를 표시할 수 있는 기능, 독립적인 커서 추적, 창 사이의 변경 사항 동기화 기능이 있지만 독립된 파일에서 사용할 수 있는 것과 같은 기능을 제공합니다.
  • 축소/확장, 폴딩이라고도 함: 텍스트의 섹션을 일시적으로 보기에서 제외하는 기능입니다. 이것은 줄 번호 범위나 구문적 요소에 따라 달라질 수 있습니다. 예를 들어 BEGIN;과 일치하는 END; 사이의 모든 것을 제외합니다.
  • 열-기반 편집; 특정 열에서 데이터를 변경하거나 삽입하거나, 지정 열로 데이터를 이동하는 능력.
  • 데이터 변환 – 또 다른 텍스트 파일의 내용을 현재 편집 중인 파일에 읽거나 병합합니다. 일부 텍스트 편집기는 운영 시스템의 쉘에 발행된 명령의 출력을 삽입하는 방법을 제공합니다. 역시, 대소문자-이동 기능은 소문자나 대문자로 이동할 수 있습니다.
  • 필터링 – 일부 고급 텍스트 편집기는 편집기가 편집 중인 파일의 전체 또는 섹션을 또 다른 유틸리티로 보내고 "필터링"되는 줄 대신 결과를 다시 파일에 읽을 수 있도록 합니다. 이것은, 예를 들어, 일련의 줄을 알파벳순 또는 숫자순으로 정렬하고, 수학적 계산을 수행하고, 소스 코드를 들여쓰는 등의 작업에 유용합니다.
  • 구문 강조표시 – 소스 코드, 마크업 언어, 구성 파일 및 기타 텍스트를 체계적이거나 예측 가능한 형식으로 표시하여 문맥적으로 강조 표시합니다. 편집기는 일반적으로 사용자에 의해 각 언어 요소에 사용되는 색상이나 스타일을 사용자 정의할 수 있도록 합니다. 일부 텍스트 편집기는 사용자에게 테마를 설치하고 사용하여 편집기의 전체 사용자 인터페이스의 모양과 느낌을 변경할 수도 있도록 합니다.
  • 구문-중심 편집기 – 일부 편집기는 하나 이상의 언어의 구문을 지원하고, 구문 단위에 따라 작업을 허용합니다. 예를 들어 SELECT 문에 새 WHEN 절을 삽입할 수 있습니다.
  • 확장가능성 – 프로그래머에 의해 사용되도록 고안된 텍스트 편집기는 플러그인 메커니즘을 제공하거나 스크립팅이 가능해야 하므로, 프로그래머가 개별 소프트웨어 프로젝트를 관리하기 위해 필요한 기능으로 편집기를 사용자 정의하거나, 특정 프로그래밍 언어나 버전 제어 시스템에 맞는 기능이나 키 바인딩을 사용자 정의하거나, 특정 코딩 스타일을 준수할 수 있습니다.
  • 커서 탐색은 텍스트 편집기마다 다를 수 있습니다. 예를 들어, End를 두 번 누르는 것은 한 번 누른 후에 화면 텍스트 행의 끝으로 이동하여 래핑된 줄의 끝으로 탐색할 수 있습니다. 블록-지향 터미널은 전형적으로 개인용 컴퓨터의 키보드와 마찬가지로 전용 커서 이동 키가 있습니다.
  • 명령 줄 – 일부 편집기, 예를 들어, ISPF, XEDIT는 텍스트가 아닌 명령을 입력하기 위한 화면 위에 전용 필드를 가집니다. 편집기에 따라, 사용자는 커서 키를 사용하여 명령과 텍스트 필드 사이를 전환해야 할 수도 있고, 편집기는 예를 들어 특정 기능 키를 전환 요청으로 해석할 수도 있습니다.
  • 줄 명령, 접두사 명령 또는 순서열 명령이라고도 함 – 일부 편집기는 파일을 연관된 줄 번호 또는 순서열 번호가 있는 텍스트 줄의 배열로 처리하고 각 텍스트 필드에 대해 고유한 줄 번호 필드를 가집니다. 줄 명령은 사용자가 줄 번호 필드에 입력하고 편집기가 해당 특정 줄 또는 줄 블록에서 작동하는 명령으로 인식하는 문자열, 예를 들어, 줄을 소문자로 변환하는 LC, 블록을 오른쪽으로 세 열 옮기는 ))3입니다. 일부 편집기는 줄 매크로를 지원하며, 접두사 매크로 또는 순서열 매크로라고도 합니다. 접두 명령(prefix command)이라는 이름에도 불구하고 일부 편집기는 순서열 필드가 텍스트 필드 뒤에 나타나도록 허용합니다.
  • 텍스트 편집기, 특히 소스-코드 편집기는 종종 콜론과 세미콜론과 같은 유사한 문자 (동형-글리프)를 명확하게 구분하는 모노스페이스 글꼴을 사용하는 것을 기본으로 합니다.

Specialized editors

일부 편집기에는 다음과 같은 특수 기능과 추가 기능이 포함되어 있습니다.

  • 소스 코드 편집기는 소스 코드 제작을 용이하게 하는 추가 기능이 있는 텍스트 편집기입니다. 이들 편집기는 종종 사용자가 프로그래밍할 수 있는 구문 강조 표시 및 코드 탐색 기능과 HTML 편집기와 유사한 코딩 도구 또는 키보드 매크로를 특징으로 합니다.
  • 폴딩 편집기. 이 하위 클래스에는 Xedit의 파생물인 소위 "orthodox 편집기"가 포함됩니다. 프로그래밍-지정 기능 없이 폴딩을 구현하는 편집기는 보통 아웃라이너라고 합니다 (아래 참조).
  • 아웃라이너. 계층적 아웃라인 트리 뷰와 텍스트 편집기를 결합했기 때문에 트리-기반 편집기라고도 합니다. 폴딩 (위 참조)은 아웃라인의 특수한 형태로 고려될 수 있습니다.
  • IDE (통합 개발 환경)는 대규모 프로그래밍 프로젝트를 관리하고 간소화하도록 설계되었습니다. 그것들은 간단한 텍스트 편집에 불필요한 많은 기능이 포함되어 있기 때문에 보통 프로그래밍에만 사용됩니다.
  • 월드 와이드 웹 저자는 웹 페이지 생성 임무에 전념하는 다양한 HTML 편집기가 제공됩니다. 여기에는 Dreamweaver, KompoZer, 및 E Text Editor가 포함됩니다. 많은 편집기가 내장된 HTML 렌더링 엔진이나 표준 웹 브라우저에서 진행 중인 작업을 볼 수 있는 옵션을 제공합니다. 어쨌든, 대부분의 웹 개발은 소스 코드 편집기나 IDE를 사용하여 Ruby 또는 PHP와 같은 동적 프로그래밍 언어로 수행됩니다. 가장 단순한 정적 웹 사이트를 제외한 모든 사이트에서 제공되는 HTML은 사이트를 제어하는 ​​소프트웨어가 조립한 개별 템플릿 파일로 저장되며 완전한 HTML 문서를 구성하지 않습니다.
  • 수학자, 물리학자, 컴퓨터 과학자는 종종 TeX 또는 LaTeX를 사용하여 일반 텍스트 파일로 기사와 책을 제작합니다. 그러한 문서는 종종 표준 텍스트 편집기로 제작되지만, 일부 사람들은 특수 TeX 편집기를 사용합니다.
  • 협업 편집기는 여러 사용자에게 네트워크를 통해 원격 위치에서 동시에 동일한 문서에서 작업할 수 있도록 합니다. 개별 사용자에 의해 변경된 내용은 추적되어 자동으로 문서에 병합되어 충돌하는 편집의 가능성을 제거합니다. 이들 편집기는 전형적으로 편집자 사이의 토론을 위한 온라인 채팅 구성 요소도 포함합니다.
  • 방해 요소 없는 편집기(Distraction-free editors)는 작성자를 나머지 응용 프로그램과 운영 시스템에서 분리하는 것을 목표로 최소한의 인터페이스를 제공하며, 이를 통해 도구 모음이나 알림 영역과 같은 인터페이스 요소로 인한 방해 없이 글쓰기에 집중할 수 있습니다.

프로그래밍 가능한 편집기는 보통 이들 기능 중 일부나 전부를 수행하도록 향상될 수 있지만, 더 간단한 편집기는 단 하나의 기능에만 초점을 맞추거나 gPHPedit처럼 단일 프로그래밍 언어를 대상으로 합니다.