맨위로가기

텍스트메이트

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

텍스트메이트는 2004년 출시된 macOS용 텍스트 편집기이다. 초기에는 단순한 기능에 소수의 프로그래밍 언어만 지원했지만, 이후 다양한 기능을 추가하며 인기를 얻었다. 2006년 애플 디자인 어워드에서 최고의 개발자 도구로 선정되었으며, 2009년 텍스트메이트 2 개발이 발표되었다. 텍스트메이트는 언어 문법, 명령어, 스니펫, 번들, 프로젝트 관리 등 다양한 기능을 제공하며, 코드 접기, 정규 표현식 기반 검색 및 바꾸기, 클립보드 기록 등 프로그래밍 편집기에 공통적으로 사용되는 기능도 지원한다. 하지만 스크립트 언어와의 결합 부족, HTML 검사기 부재, 코드 자동 완성 기능 부족 등의 한계도 존재한다.

더 읽어볼만한 페이지

  • 자유 문서 편집기 - GNU 이맥스
    GNU 이맥스는 1984년 리처드 스톨먼이 개발한 자유 소프트웨어 텍스트 편집기로, C 언어와 Emacs Lisp를 사용하며, 다양한 기능과 확장성을 통해 텍스트 편집, 프로그래밍, 파일 관리 등 다양한 용도로 사용된다.
  • 자유 문서 편집기 - XEmacs
    XEmacs는 1980년대 후반 GNU Emacs에서 분기되어 사용자 정의 기능, 다양한 운영체제 지원, 자체 패키지 관리 시스템을 갖춘 텍스트 편집기였으나, 개발 속도 저하와 GNU Emacs와의 호환성 문제로 2015년 이후 유지 관리 모드로 전환되었다.
  • 문서 편집기 - 맞춤법 검사기
    맞춤법 검사기는 텍스트의 오타와 문법 오류를 검사하여 수정 제안을 제공하는 소프트웨어 도구이며, 1970년대에 처음 등장하여 기술 발전을 거쳐 현재 다양한 플랫폼에서 여러 언어를 지원한다.
  • 문서 편집기 - HTML 편집기
    HTML 편집기는 HTML 마크업 언어로 작성된 웹 페이지 소스 코드를 편집하는 소프트웨어로, 텍스트 기반 편집 방식과 WYSIWYG 방식이 있으며, 구문 강조 등의 기능을 제공하여 코딩 편의성을 높인다.
텍스트메이트 - [IT 관련 정보]에 관한 문서
기본 정보
텍스트메이트 아이콘
텍스트메이트 아이콘
텍스트메이트 스크린샷
텍스트메이트 스크린샷
개발자Allan Odgaard (MacroMates), Ciarán Walsh
최초 출시일2004년 10월 5일
안정화 버전1.5.11 (r1635)
안정화 버전 출시일2012년 7월 13일
미리보기 버전2.0 (베타 12.4)
미리보기 버전 출시일2016년 8월 18일
운영 체제macOS
종류소스 코드 편집기
라이선스2.0: GPL-3.0-or-later
1.0: 사유
웹사이트텍스트메이트 공식 웹사이트

2. 역사

텍스트메이트(TextMate) 1.0은 5개월의 개발 기간을 거쳐 2004년 10월 5일에 출시되었으며, 2004년 10월 21일에 버전 1.0.1이 출시되었다.[1][2][3] 이 릴리스는 작은 기능 집합을 잘 구현하는 것에 초점을 맞추었으며, 환경 설정 창이나 도구 모음이 없고, FTP를 통합하지 않았으며, 인쇄 옵션도 없었다.[4][5] 초기에는 소수의 프로그래밍 언어만 지원되었다. 그럼에도 불구하고, 일부 개발자들은 텍스트메이트의 초기 버전과 불완전한 버전을 BBEdit의 지배로 인해 침체되었다고 여겨지는 시장에 대한 반가운 변화로 여겼다.[6]

2004년 12월 10일에는 텍스트메이트 1.0.2가 출시되었다. 텍스트메이트 1.1 베타 시리즈에서는 테마를 만들고 편집하기 위한 GUI가 있는 환경 설정 창, 기호 목록이 있는 상태 표시줄, 언어 및 탭 설정을 선택하기 위한 메뉴, 언어별 사용자 정의를 편집하기 위한 "번들 편집기" 등의 기능을 갖추게 되었다. 2006년 1월 6일, 오드가드(Odgaard)는 1.0.2 이후 첫 번째 "안정적인 릴리스"인 텍스트메이트 1.5를 출시했다.[7] 이전 버전과는 대조적으로, 평가는 긍정적이었다.[8]

텍스트메이트는 2006년 중반까지 계속 개발되었다. 2006년 8월 8일, 텍스트메이트는 캘리포니아 주 샌프란시스코에서 열린 애플의 세계 개발자 회의에서 최고의 개발자 도구로 애플 디자인 어워드를 수상했다.[9] 2006년 2월, 텍스트메이트 블로그는 FTP와 같은 원격 파일 시스템과 Subversion과 같은 개정 관리 시스템을 지원하는 플러그인 시스템을 포함한 향후 방향에 대한 의사를 표명했다.[10] 2007년 내내 핵심 응용 프로그램은 최소한으로 변경되었지만, 해당 "언어 번들"은 계속 발전했다.

2009년 6월, 텍스트메이트 2는 약 90% 완성되었지만 최종 기능 목록은 공개되지 않았다고 발표되었다.[11] 2011년 12월에는 공개 알파 버전을 텍스트메이트 블로그에서 다운로드할 수 있었으며, 2016년 말에 릴리스 후보가 나왔고, 2019년 9월에 최종 버전이 출시되었다.[12]

2012년 8월, 텍스트메이트 2의 소스 코드는 개발자가 Mac App Store를 통해 배포되는 소프트웨어에 애플이 부과한 제한을 상쇄하기 위해 GPL-3.0-이상 조건으로 GitHub에 게시되었다.[13][14] Odgaard는 보다 허용적인 라이선스 하에 향후 버전을 출시하거나 Mac App Store에서 버전을 사용할 수 있도록 하기 위해, 패치를 퍼블릭 도메인으로 받는 것을 선호한다고 밝혔다. 또한 텍스트메이트의 프레임워크 중 일부를 비공개 소스 프로젝트에 사용하는 친구가 있으며, GPL 하에 출시된 패치를 통합할 수 없다고 말했다.[15][16]

2021년 10월, 마지막/최신 커밋이 GitHub에 이루어졌지만, 프로젝트가 공식적으로 중단되었고 소스 코드는 여전히 공개되어 있다는 발표는 없었다.[17]

2. 1. 초기 개발 (2004년 ~ 2006년)

텍스트메이트(TextMate) 1.0은 5개월의 개발 기간을 거쳐 2004년 10월 5일에 출시되었으며, 2004년 10월 21일에 버전 1.0.1이 출시되었다.[1][2][3] 이 릴리스는 작은 기능 집합을 잘 구현하는 것에 초점을 맞추었으며, 환경 설정 창이나 도구 모음이 없고, FTP를 통합하지 않았으며, 인쇄 옵션도 없었다.[4][5] 초기에는 소수의 프로그래밍 언어만 지원되었다. 그럼에도 불구하고, 일부 개발자들은 텍스트메이트의 초기 버전과 불완전한 버전을 BBEdit의 지배로 인해 침체되었다고 여겨지는 시장에 대한 반가운 변화로 여겼다.[6]

2004년 12월 10일에는 텍스트메이트 1.0.2가 출시되었다. 텍스트메이트 1.1 베타 시리즈에서는 테마를 만들고 편집하기 위한 GUI가 있는 환경 설정 창, 기호 목록이 있는 상태 표시줄, 언어 및 탭 설정을 선택하기 위한 메뉴, 언어별 사용자 정의를 편집하기 위한 "번들 편집기" 등의 기능을 갖추게 되었다. 2006년 1월 6일, 오드가드(Odgaard)는 1.0.2 이후 첫 번째 "안정적인 릴리스"인 텍스트메이트 1.5를 출시했다.[7] 이전 버전과는 대조적으로, 평가는 긍정적이었다.[8]

텍스트메이트는 2006년 중반까지 계속 개발되었다. 2006년 8월 8일, 텍스트메이트는 캘리포니아 주 샌프란시스코에서 열린 애플의 세계 개발자 회의에서 최고의 개발자 도구로 애플 디자인 어워드를 수상했다.[9] 2006년 2월, 텍스트메이트 블로그는 FTP와 같은 원격 파일 시스템과 Subversion과 같은 개정 관리 시스템을 지원하는 플러그인 시스템을 포함한 향후 방향에 대한 의사를 표명했다.[10] 2007년 내내 핵심 응용 프로그램은 최소한으로 변경되었지만, 해당 "언어 번들"은 계속 발전했다.

2. 2. 애플 디자인 어워드 수상 (2006년)

2006년 애플 디자인 어워드 최고의 개발자 도구상을 수상했다. TextMate 1.5는 2006년 최고의 개발자 도구 부문에서 애플 디자인 어워드를 수상했다.

2. 3. TextMate 2 개발 (2009년 ~ 현재)

2009년 6월, 텍스트메이트 2는 약 90% 완성되었지만 최종 기능 목록은 공개되지 않았다고 발표되었다.[11] 2011년 12월에는 공개 알파 버전을 텍스트메이트 블로그에서 다운로드할 수 있었으며, 2016년 말에 릴리스 후보가 나왔고, 2019년 9월에 최종 버전이 출시되었다.[12]

2012년 8월, 텍스트메이트 2의 소스 코드는 개발자가 Mac App Store를 통해 배포되는 소프트웨어에 애플이 부과한 제한을 상쇄하기 위해 GPL-3.0-이상 조건으로 GitHub에 게시되었다.[13][14] Odgaard는 보다 허용적인 라이선스 하에 향후 버전을 출시하거나 Mac App Store에서 버전을 사용할 수 있도록 하기 위해, 패치를 퍼블릭 도메인으로 받는 것을 선호한다고 밝혔다. 또한 텍스트메이트의 프레임워크 중 일부를 비공개 소스 프로젝트에 사용하는 친구가 있으며, GPL 하에 출시된 패치를 통합할 수 없다고 말했다.[15][16]

2021년 10월, 마지막/최신 커밋이 GitHub에 이루어졌지만, 프로젝트가 공식적으로 중단되었고 소스 코드는 여전히 공개되어 있다는 발표는 없었다.[17]

3. 기능

3. 1. 언어 문법

텍스트메이트 언어 문법을 통해 사용자는 각 문서 키워드에 고유한 이름을 할당하여 임의로 복잡한 구문 강조 모드를 만들 수 있다.[18] 언어 문법을 정의하기 위해 Apple ASCII 속성 목록 형식의 수정된 버전을 사용한다. 이러한 문법은 Oniguruma 정규 표현식 라이브러리를 사용하여 중첩 규칙을 정의한 다음 특정 "범위" (색상 지정을 위해 식별하는 복합 레이블)를 할당할 수 있도록 한다.

문서의 각 지점에는 하나 이상의 범위가 할당되며, 이 범위는 해당 지점이 문서 내 어디에 있는지, 어떻게 색칠해야 하는지, 해당 지점에서 텍스트메이트의 동작이 어떠해야 하는지를 정의한다. 예를 들어, "외부 링크" 섹션의 링크 중 하나의 제목은 다음과 같은 범위를 갖는다.

```text

text.html.mediawiki

markup.list.mediawiki

meta.link.inline.external.mediawiki

string.other.link.title.external.mediawiki

```

이 범위는 MediaWiki 문서 내 목록 내 링크 내 링크 제목을 보고 있음을 알려준다.

텍스트메이트 테마는 다양한 수준의 정밀도로 모든 범위를 표시할 수 있다. 예를 들어, 한 테마는 모든 상수(constant.*)를 동일하게 색칠하기로 결정할 수 있지만, 다른 테마는 숫자 상수(constant.numeric.*)를 이스케이프된 문자(constant.character.escape.*)와 다르게 색칠하기로 결정할 수 있다. 계층적 범위 구문은 언어 제작자와 테마 제작자에게 다양한 수준의 범위를 허용하므로 각자 원하는 대로 단순성 또는 포괄성을 선택할 수 있다.

텍스트메이트 문서는 번들 간의 상호 운용성을 위해 다양한 프로그래밍 언어에서 일반적으로 사용되는 명명 규칙 목록을 제공한다.[18]

3. 2. 명령어

TextMate는 사용자가 정의하고 편집할 수 있는 명령어를 지원하며, 이는 bash 또는 인터프리터에 의해 해석되며, shebang으로 지정된다. 명령어는 TextMate로부터 여러 종류의 입력을 받을 수 있으며 (현재 문서, 선택된 텍스트, 현재 단어 등) 환경 변수 외에도 그 출력을 TextMate가 다양한 방식으로 처리할 수 있다. 가장 간단한 경우, 명령어는 선택된 텍스트를 받아 변환한 후 문서를 다시 삽입하여 선택 영역을 대체할 수 있다. 다른 명령어는 간단히 툴팁을 표시하거나, 출력을 위한 새 문서를 생성하거나, TextMate의 내장 HTML 렌더러를 사용하여 웹 페이지로 표시할 수 있다.

bash, PHP, 루비와 같은 많은 언어별 번들은 현재 문서 또는 프로젝트를 컴파일 및/또는 실행하기 위한 명령어를 포함한다. 많은 경우 코드 프로세스의 STDOUT 및 STDERR이 TextMate의 창에 표시된다.

3. 3. 스니펫

가장 단순한 형태에서 텍스트메이트 "스니펫"은 상황에 맞는 키 입력 또는 탭 완성을 통해 현재 위치의 문서에 삽입할 수 있는 텍스트 조각이다. 스니펫은 "지능적"이며, "탭 스톱", 동적 업데이트, 환경 변수 액세스 및 인라인 스크립트 실행 기능을 지원한다. 이를 통해 복잡한 동작이 가능하다.

탭 스톱은 "탭" 키를 사용하여 순환할 수 있으며 스니펫의 요소를 완성하기 위해 기본 텍스트, 드롭다운을 지원한다. 사용자가 스톱을 채우면 이러한 탭 스톱의 결과가 스니펫의 다른 부분에서 동적으로 변경될 수 있다. 텍스트메이트 환경 변수를 사용하여 현재 범위, 줄 번호 또는 작성자 이름 등에 대한 정보를 지원할 수 있다. 스니펫은 또한 인라인 셸 스크립트를 실행할 수 있다.

3. 4. 번들

TextMate의 언어 문법, 스니펫, 매크로, 명령어 및 템플릿은 기능의 "번들"로 그룹화될 수 있다. 키보드 단축키를 누르거나, 특정 단어를 입력한 다음 "탭" 키를 누르거나 (소위 "탭 트리거"), 메뉴에서 명령을 선택하여 모든 스니펫, 매크로 또는 명령을 실행할 수 있다. 탭 트리거는 특히 유용하며, 탭 트리거와 스니펫의 조합은 상세한 언어 또는 일반적으로 입력되는 패턴을 가진 언어에서 코딩을 크게 용이하게 한다.

스니펫, 매크로 및 명령은 특정 범위로 제한될 수 있으므로 예를 들어 "html 태그 닫기" 명령은 파이썬 스크립트에서는 작동하지 않아 해당 키보드 단축키를 다른 용도로 사용할 수 있다. 이를 통해 개별 언어, 심지어 개별 범위에서 "단락 재구성"과 같은 내장 명령을 더욱 특화된 버전으로 재정의할 수 있다. 심지어 엔터키와 스페이스바와 같은 특수 키도 재정의할 수 있다.

마크다운, 블로그에서 MIPS 어셈블리 언어에 이르기까지 편집기 패키지와 함께 제공되는 것보다 훨씬 더 많은 번들을 포함하는 Subversion 저장소가 제공된다.[19]

3. 5. 프로젝트 관리

텍스트메이트는 여러 문서나 폴더를 프로젝트 창에서 한 번에 열 수 있도록 지원한다. 창 측면에는 파일 및 폴더 이름을 나열하는 서랍이 있고, 상단에는 일련의 탭이 있다. 텍스트메이트 1.5에서 이 서랍은 사용자가 파일 시스템 전체에서 파일과 폴더를 구성하고 추가적인 구성을 위해 가상 폴더를 만들 수 있는 수단을 제공했지만, 텍스트메이트 2에서 제거되고 일반적인 파일 브라우저로 대체되었다.

전체 프로젝트에서 검색 및 바꾸기를 수행할 수 있으며, 명령어는 서랍에서 선택된 파일이나 폴더와 상호 작용할 수 있다. CVS, 서브버전, darcs 및 기타 버전 관리 시스템용 번들은 텍스트메이트가 버전 관리된 코드를 관리할 수 있도록 한다.

3. 6. 기타 기능

텍스트메이트는 프로그래밍 편집기에 공통적으로 사용되는 많은 기능을 가지고 있다.

  • 코드 접기 기능을 사용하여 현재 편집하지 않는 문서의 영역을 숨길 수 있어 코드 구조를 더 간결하게 보거나 주의를 분산시키지 않을 수 있다. 접을 섹션은 수동으로 선택하거나 문서 자체의 구조를 사용하여 접기를 결정할 수 있다.
  • 정규 표현식을 기반으로 한 검색 및 바꾸기는 복잡한 텍스트 조작 속도를 높입니다. 텍스트메이트는 K. 코사코가 개발한 Oniguruma 정규 표현식 라이브러리를 사용한다.[20]
  • 함수 팝업은 현재 문서의 섹션 또는 함수의 목록을 제공한다.
  • 클립보드 기록을 통해 사용자는 여러 텍스트 섹션을 한 번에 잘라내어 붙여넣을 수 있다.
  • 열 편집 모드를 사용하면 여러 행의 텍스트에 동일한 텍스트를 추가할 수 있으며, 표 형식 데이터를 조작하는 데 매우 유용하다.
  • 원격 서버에서 파일의 편집기로 텍스트메이트를 실행하기 위한 "rmate" 지원 - 버전 1에서 필요했던 해결 방법보다 훨씬 개선되었다.[21]


또한 텍스트메이트는 OS X 그래픽 환경과 잘 통합되는 기능을 지원한다.

  • 클립보드 그래픽 기록은 이전 복사본(이전 실행 포함)에서 붙여넣기를 지원한다.
  • 찾기 및 바꾸기는 유사한 그래픽 기록을 지원한다.
  • 편집은 여러 개의 커서(삽입 지점)와 현재 선택 영역을 추가 인스턴스로 확장하여 여러 개의 커서를 생성하는 기능으로 더욱 향상되었다.
  • WebKit 기반 HTML 보기 창은 HTML 문서를 편집할 때 실시간 업데이트를 표시한다.
  • VoiceOver 및 Zoom 사용자는 접근성 지원 덕분에 텍스트메이트를 사용할 수 있다.[22]

4. 한계

텍스트메이트는 다른 편집기에 비해 몇 가지 제한 사항이 있다.[23]


  • 텍스트메이트는 Emacs가 Emacs Lisp에 결합된 것처럼 스크립트 언어에 밀접하게 결합되어 있지 않아, 사용자가 프로그램 구성 및 동작을 완전히 제어할 수 없다. Allan Odgaard는 텍스트메이트 메일링 리스트에 보낸 이메일에서 "플랫폼 권장" 솔루션을 옹호하며 이 문제에 대한 생각을 설명했다.[23]
  • 내장된 HTML 검사기가 없다. 텍스트메이트는 HTML 유효성 검사를 위해 W3C 검사기를 사용하므로, 사용자는 표준 기능을 사용하여 HTML의 유효성을 검사하려면 활성 네트워크 연결이 있어야 한다.
  • 코드 자동 완성 기능이 부족하다. 텍스트메이트는 매크로, 명령 및 스니펫을 지원하지만, 코드 힌트 또는 가이드 코드 자동 완성을 기본적으로 지원하지 않는다. 따라서 이러한 기능을 지원하는 텍스트 편집기가 새로운 언어의 구문을 배우거나 장황한 언어로 코딩할 때 더 나은 선택이 될 수 있다. 하나 이상의 문자를 입력하고 (반복적으로) ESC를 누르면 코드/단어 제안을 얻을 수 있으며, 제안은 현재 문서에 있는 단어이다.
  • 텍스트메이트는 바이너리 안전하지 않다. 텍스트만 지원하며, 편집 여부에 관계없이 파일의 임의 바이너리 데이터가 로드/저장 주기 동안 보존된다는 것을 보장하지 않는다.

5. 수상

텍스트메이트 1.5는 2006년 최고의 개발자 도구 부문에서 애플 디자인 어워드를 수상했다.

참조

[1] 웹사이트 TextMate 1.0 is finally here! http://macromates.co[...] TextMate Blog 2004-10-05
[2] 웹사이트 Profiles/Allan Odgaard http://macromates.co[...] 2005-11-20
[3] 웹사이트 TextMate 1.0.1 emerges after nine betas http://macromates.co[...] TextMate Blog 2005-10-21
[4] 웹사이트 TextMate 1.0.1 Review: A Checkmate for TextMate? http://maczealots.co[...] Maczealots.com 2004-10-08
[5] 웹사이트 TextMate: The Missing Editor for OS X http://www.drunkenbl[...] Drunkenblog 2004-11-04
[6] 웹사이트 A cool new text editor - TextMate - Mac OS X http://www.xmldataba[...] Inspirational Technology 2004-10-06
[7] 웹사이트 TextMate 1.5 http://macromates.co[...] TextMate Blog 2006-01-06
[8] 웹사이트 Third Time’s The Charm http://the.taoofmac.[...] Tao of Mac 2006-01-08
[9] 웹사이트 Apple Design Award winners announced https://arstechnica.[...] 2006-08-09
[10] 웹사이트 Future Directions http://macromates.co[...] TextMate Blog 2006-02-15
[11] 웹사이트 Working on It http://blog.macromat[...] TextMate Blog 2009-06-14
[12] Github '' https://github.com/t[...] 2019-09-16
[13] Github '' https://github.com/t[...] 2012-08-09
[14] 웹사이트 TextMate 2.0 goes open source in response to OS X restrictions https://arstechnica.[...] 2012-08-09
[15] 웹사이트 CONTRIBUTING.md https://github.com/t[...] 2009
[16] 웹사이트 Odgaard: "I will continue working on TextMate as long as I am a Mac user" https://arstechnica.[...] 2012-08-10
[17] 웹사이트 Github commits textmate/textmate https://github.com/t[...] 2023-07-29
[18] 웹사이트 Language Grammars — TextMate 1.x Manual https://macromates.c[...] 2021-10-30
[19] 문서 "relevant section in the TextMate manual" http://macromates.co[...]
[20] 웹사이트 20 Regular Expressions http://manual.macrom[...] TextMate 2009-04-28
[21] 웹사이트 How to edit files from my FTP Server as a TextMate project http://wiki.macromat[...]
[22] 웹사이트 Support accessibility in text view - VoiceOver and Zoom https://github.com/t[...]
[23] 웹사이트 Re: Changing cursor position from command http://lists.macroma[...] TextMate mailing list 2007-02-14
[24] 웹사이트 '' https://github.com/t[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com