텍스트메이트

TextMate
텍스트메이트
TextmateIcon.png
TextMate screenshot.png
텍스트메이트 스크린샷
개발자Alan Odgaard (Macro Mates), Ciarn Walsh
초기 릴리즈2004년 10월 5일; 17년 전(2004-10-05)
안정된 릴리스
2.0.23[1] / 2021년 10월 12일
프리뷰 릴리즈
2021년 4월 16일 / 2.0.22[2]
저장소
운영 체제MacOS
유형소스 코드 에디터
면허증.
웹 사이트macromates.com

TextMate는 Alan Odgaard가 만든 MacOS용 범용 GUI 텍스트 편집기입니다.TextMate는 선언적인 커스터마이즈, 열린 문서 탭, 기록 가능한 매크로, 폴딩 섹션, 스니펫, 통합 및 확장 가능한 번들 시스템을 갖추고 있습니다.

역사

TextMate 1.0은 5개월간의 개발 끝에 2004년 10월 5일에 출시되었으며 버전 1.0.1은 2004년 [3][4][5]10월 21일에 출시되었습니다.이 릴리스에서는, 작은 기능 세트를 실장하는 것에 중점을 두어, 프리퍼런스 윈도우나 툴바가 없고, FTP 를 통합하지 않았으며,[6][7] 인쇄 옵션도 없었습니다.처음에는 소수의 프로그래밍 언어만 지원되었습니다. 왜냐하면 "언어 번들"이 몇 개만 생성되었기 때문입니다.그럼에도 불구하고 일부 개발자들은 이 TextMate의 초기 및 불완전한 버전이 BBEdit[8]10년 동안의 지배로 침체된 것으로 여겨졌던 시장에 대한 환영할 만한 변화라는 것을 발견했다.

TextMate 1.0.2는 2004년 12월 10일에 출시되었습니다.TextMate 1.1 베타 시리즈에서 TextMate는 테마를 작성 및 편집하기 위한 GUI가 있는 기본 설정 창, 기호 목록이 있는 상태 표시줄, 언어 및 탭 설정을 선택하는 메뉴, 언어별 사용자 정의를 편집하는 "번들 편집기" 등의 기능을 얻었습니다.2006년 1월 6일, Odgaard는 1.0.[9]2 이후 첫 "안정적인 출시"인 TextMate 1.5를 출시했다.리뷰는 [10]비판받았던 이전 버전과 대조적으로 긍정적이었다.

TextMate는 2006년 중반까지 개발을 계속했습니다.2006년 8월 8일, TextMate는 캘리포니아주 샌프란시스코에서 열린 애플의 월드와이드 개발자 회의에서 "요란한 박수"[11]를 받으며 최고의 개발자 도구에 대한 Apple Design Award for Best Developer Tool.2006년 2월, TextMate 블로그는, FTP등의 리모트 파일 시스템이나 [12]Subversion등의 리비전 제어 시스템을 서포트하는 플러그인 시스템을 사용한, 프로젝트 관리의 개선을 포함한 장래의 방향성을 표명했습니다.2007년 내내 핵심 애플리케이션의 변경은 미미했지만 "언어 번들"은 계속 발전했습니다.

2009년 6월, TextMate 2는 약 90%의 완성도로 발표되었지만 최종 기능 목록은 [13]공개되지 않았습니다.2011년 12월에 TextMate 블로그에서 공개 알파를 다운로드 할 수 있게 되었고, 2016년 말에 출시 후보가 발표되었습니다.2019년 9월, 최종판이 [14]발매되었습니다.

2012년 8월,[16] 맥 앱 스토어를 통해 배포된 소프트웨어에 대한 애플의 제한에 대항하기 위한 개발자의 시도인 GPL-3.0 또는 [15] 이후 조건에 따라 TextMate 2의 소스 코드가 GitHub에 게시되었다.Odgaard는 패치를 퍼블릭 도메인으로 받는 것을 선호한다고 말했다.이는 보다 허용적인 라이선스로 향후 버전을 출시하거나 Mac App Store에서 사용할 수 있는 버전을 유지하는 능력을 유지하기 때문이다.Odgaard는 또한 클로즈드 소스 프로젝트에서 TextMate의 프레임워크 중 일부를 사용하는 친구가 있으며, 그들은 GPL로 출시된 [17][18]패치를 통합할 수 없다고 말했다.

특징들

언어 문법

TextMate 언어 문법에서는 각 문서 키워드에 고유한 [19]이름을 할당하여 사용자가 임의로 복잡한 구문 강조 표시 모드를 만들 수 있습니다.수정된 버전의 Apple ASCII 속성 목록 형식을 사용하여 언어 [citation needed]문법을 정의합니다.이러한 문법은 오니구루마 정규 표현 라이브러리를 사용하여 네스트 규칙을 정의한 다음 특정 "스코프"를 할당할 수 있습니다. "스코프"는 색칠을 위한 복합 레이블입니다.

문서의 각 포인트에는 하나 이상의 범위가 할당되어 있으며, 이 스코프는 문서 내의 포인트 위치, 색칠 방법 및 해당 포인트에서 TextMate의 동작을 정의합니다.예를 들어, "외부 링크" 섹션의 링크 제목에는 다음 범위가 있습니다.

text.timeout.mediawiki markup.list.mediawiki meta.link.mediawikiexternal.mediawiki string.other.link.displays.external.mediawiki

이 스코프는 MediaWiki 문서 내 링크 내의 링크 제목을 참조하고 있음을 나타냅니다.

TextMate 테마는 다양한 정밀도로 모든 범위를 표시할 수 있습니다.예를 들어, 하나의 테마가 모든 상수를 색칠하기로 결정할 수 있습니다.constant.*)는 동일하지만, 다른 사람이 수치상수( )를 결정할 수 있습니다.constant.numeric.*이스케이프 문자( )와는 다른 색으로 할 필요가 있습니다.constant.character.escape.*)의 계층적 범위 구문을 통해 언어 작성자와 주제 작성자가 다양한 수준의 적용 범위를 가질 수 있으므로 각자가 필요에 따라 단순성 또는 포괄성을 선택할 수 있습니다.

TextMate 문서에는 [19]번들 간의 상호 운용성을 위해 서로 다른 프로그래밍 언어 간에 일반적으로 사용되는 명명 목록이 나와 있습니다.

명령어

TextMate는 bash 또는 shebang으로 지정된 인터프리터의해 해석되는 사용자 정의 및 사용자 편집 가능한 명령을 지원합니다.환경 변수와 함께 TextMate를 통해 다양한 종류의 입력(현재 문서, 선택한 텍스트, 현재 단어 등)을 전송할 수 있으며 출력도 TextMate에서 다양한 방법으로 처리할 수 있습니다.가장 간단한 명령어는 선택한 텍스트를 수신하여 변환한 후 선택 항목을 대체하는 문서에 다시 삽입할 수 있습니다.다른 명령어는 툴팁을 표시하거나 출력용 새 문서를 만들거나 TextMate의 내장 HTML 렌더러를 사용하여 웹 페이지로 표시할 수 있습니다.

bash, PHP 또는 Ruby와 같은 많은 언어별 번들에는 현재 문서 또는 프로젝트를 컴파일 및/또는 실행하기 위한 명령어가 포함되어 있습니다.대부분의 경우 코드 프로세스의 STDOUTSTDERR이 TextMate 창에 표시됩니다.

단편

간단히 말해, TextMate "snippets"는 상황에 맞는 키 스트로크 또는 탭 완성을 통해 현재 위치에 있는 문서에 삽입할 수 있는 텍스트 조각입니다.스니펫은 "인텔리전트"로 "탭 중지" 동적 업데이트, 환경 변수에 대한 액세스 및 인라인 스크립트 실행 기능을 지원합니다.이것은 복잡한 행동을 가능하게 한다.탭 스톱은 "탭" 키를 사용하여 사이클링할 수 있으며 기본 텍스트인 드롭다운을 지원하여 스니펫 요소를 완성할 수 있습니다.이러한 탭 스톱의 결과는 사용자가 스톱을 입력하면 스니펫의 다른 부분에서 동적으로 변경할 수 있습니다.TextMate 환경변수는 현재 범위, 행 번호 또는 작성자 이름 등에 대한 정보를 지원하는 데 사용할 수 있습니다.스니펫에는 인라인셸 스크립트를 실행하는 기능도 있습니다.

번들

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

예를 들어 "close html tag" 명령어가 python 스크립트에서 작동하지 않도록 스니펫, 매크로 및 명령어는 특정 범위로 제한될 수 있으며, 이 키보드 단축키는 다른 용도로 사용할 수 있습니다.이를 통해 개별 언어, 심지어 개별 범위도 "문단 재구성"과 같은 기본 제공 명령을 보다 특수한 버전으로 재정의할 수 있습니다.리턴 키나 스페이스 바등의 특수 키도 덮어쓸 수 있습니다.

Markdown에서 블로그, MIPS 어셈블리 [20]언어 등 모든 것에 대해 Editor 패키지와 함께 제공되는 번들보다 더 많은 번들을 포함하는 Subversion 저장소를 사용할 수 있습니다.

프로젝트 관리

TextMate 프로젝트 창에서 여러 문서 또는 폴더를 동시에 열 수 있습니다. TextMate 프로젝트 창에는 파일 및 폴더 이름을 나열하는 드로어가 옆에 있고 상단에 일련의 탭이 있습니다.TextMate 1.5에서는 이 드로어를 사용하여 사용자가 파일 시스템 전체에서 파일과 폴더를 정리할 수 있을 뿐만 아니라 가상 폴더를 생성하여 추가 구성을 수행할 수 있습니다.이 기능은 TextMate 2에서 삭제되어 일반 파일브라우저로 대체되었습니다.검색 및 치환은 프로젝트 전체에서 수행할 수 있으며, 명령은 드로어의 선택한 파일 또는 폴더와 상호 작용할 수 있습니다.CVS, Subversion, darcs기타 리비전 제어 시스템 번들을 통해 TextMate는 버전 코드를 관리할 수 있습니다.

기타 기능

TextMate에는 프로그래밍 편집자에게 공통되는 많은 기능이 있습니다.

  • 접이식 코드 섹션은 현재 편집되지 않은 문서의 영역을 숨기거나 코드 구조를 보다 콤팩트하게 보거나 주의를 분산시키지 않도록 하기 위해 사용할 수 있습니다.접을 부분은 손으로 선택하거나 문서 구조 자체를 사용하여 접을 수 있습니다.
  • 정규 표현식 기반 검색 및 치환으로 복잡한 텍스트 조작 속도를 높일 수 있습니다.TextMate는 K사가 개발한 오니구루마 정규 표현 라이브러리를 사용합니다.코사코[21]
  • 함수 팝업은 현재 문서의 섹션 또는 함수 목록을 제공합니다.
  • 클립보드 기록을 사용하면 텍스트의 여러 섹션을 한 번에 잘라낸 다음 붙여넣을 수 있습니다.
  • 열 편집 모드에서는 동일한 텍스트를 여러 텍스트 행에 추가할 수 있으며 표 형식의 데이터를 조작하는 데 매우 유용합니다.
  • 리모트 서버로부터의 파일 에디터로 텍스트메이트를 기동하기 위한 「rmate」지원 - 버전1에서 필요한 회피책보다 대폭 향상

또한 TextMate는 OS X 그래픽 환경과 잘 통합되는 기능을 지원합니다.

  • 클립보드 그래픽 이력은 이전 실행을 포함하여 이전 복사본의 붙여넣기를 지원합니다.
  • Find and Replace는 유사한 그래픽 [clarification needed]이력을 지원합니다.
  • 편집 기능은 여러 커서(삽입점)와 현재 선택 항목을 여러 커서를 생성하는 추가 인스턴스로 확장하는 기능을 통해 더욱 향상되었습니다.
  • WebKit 기반 HTML 보기 창에는 HTML 문서가 편집될 때 실시간 업데이트가 표시됩니다.
  • VoiceOver 및 Zoom 사용자는 접근성 [23]지원 덕분에 TextMate를 사용할 수 있습니다.

제한 사항

TextMate는 클래스의 다른 에디터와 비교했을 때 몇 가지 제한이 있습니다.

  • TextMate는 스크립트 언어와 밀접하게 연결되어 있지 않기 때문에 Emacs와 Emacs Lisp가 동일하기 때문에 사용자가 프로그램의 구성과 동작을 완전히 제어할 수 없습니다.Alan Odgaard는 TextMate 메일링 리스트에 보낸 이메일에서 이 주제에 대한 자신의 생각을 설명하면서 "플랫폼 권장"[24] 솔루션을 지지했습니다.
  • 내장 HTML 검증기 없음 - TextMate는 HTML 검증에 W3C 검증기를 사용하기 때문에 표준 기능을 사용하여 HTML을 검증하려면 사용자가 활성 네트워크 연결을 가지고 있어야 합니다.
  • 코드 완성 기능의 부족: 매크로, 명령어 및 스니펫을 실질적으로 지원하지만 TextMate는 코드 힌트나 가이드 코드 완성을 지원하지 않습니다.따라서 이러한 기능을 지원하는 텍스트 에디터는 새로운 언어의 구문을 학습하거나 상세 언어로 코딩할 때 더 나은 선택으로 판명될 수 있습니다.비고: 하나 이상의 문자를 입력하고 (반복적으로) ESC 키를 누르면 코드/단어를 제안할 수 있습니다.제안사항은 현재 문서에서 나타나는 단어입니다.
  • TextMate는 바이너리 세이프가 아닙니다.이는 명시적으로 텍스트일 뿐이며, 데이터의 [citation needed]편집 여부에 관계없이 파일의 임의 이진 데이터가 로드/저장 사이클을 통해 보존된다는 보장은 없습니다.

어워드

TextMate 1.5는 2006년 애플 디자인 어워드 최우수 개발자 툴상을 수상했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ https://github.com/textmate/textmate/releases/tag/v2.0.23 를 참조해 주세요.
  2. ^ https://github.com/textmate/textmate/releases/tag/v2.0.22 를 참조해 주세요.
  3. ^ 데이비드 핸슨입니다"TextMate 1.0이 드디어 출시되었습니다!2008-12-05년 Wayback Machine에서 아카이브 완료」, TextMate 블로그, 2004년 10월 5일.
  4. ^ 앨런 오드가드.2005년 11월 20일 TextMate Wiki의 "Profiles/Allan Odgaard Archived 2007-07-03 at the Wayback Machine" (프로파일/앨런 Odgaard가 웨이백 머신에서 아카이브됨)
  5. ^ 데이비드 핸슨입니다"TextMate 1.0.1Wayback Machine에서 아카이브된 2020-09-12 9년 이후 9개월 후에 등장합니다.", TextMate 블로그, 2005년 10월 21일.
  6. ^ 맷 윌모어입니다"TextMate 1.0.1 리뷰: TextMate 체크메이트?2006-08-20 Wayback Machine에서 아카이브 완료", Maczealots.com, 2004년 10월 8일
  7. ^ 마이클 "술 취한 배트맨" 벨."텍스트메이트: Wayback Machine at the Wayback Machine 」(드렁큰블로그, 2004년 11월 4일)에서 OS X 아카이브 완료 2006-05-14 에디터 누락.
  8. ^ 킴브로 스타켄."멋진 새로운 텍스트 에디터 - TextMate - Mac OS X Archived 2004-12-04 at archive.today," Inspirational Technology, 2004년 10월 6일
  9. ^ 앨런 오드가드."TextMate 1.5 Archived 2006-03-25 at the Wayback Machine", TextMate 블로그, 2006년 1월 6일
  10. ^ 루이 카르모.맥의 타오, 2006년 1월 8일, "Third Time's The Charm"
  11. ^ 존 그루버."ADA: TextMate 1.5.2", Darling Fireball Linked List, 2006년 8월 8일.
  12. ^ 앨런 오드가드."Wayback Machine에서 2008-12-05년에 아카이브된 미래 방향", TextMate 블로그, 2006년 2월 15일
  13. ^ TextMate 블로그:작업중, 2009년 6월 14일
  14. ^ TextMate Github : [1] 2019년 9월 16일
  15. ^ GitHub, [2], 2012년 8월 9일
  16. ^ "TextMate 2.0 goes open source in response to OS X restrictions". 9 August 2012. TextMate developer MacroMates announced on Thursday that the code for TextMate 2.0, currently in alpha, is now available via the online GitHub repository. The code is being open sourced in order to counteract what some developers see as Apple's increasingly limiting user and developer freedom on the Mac platform.
  17. ^ Odgaard, (2009)공헌하다UTING.md 를 참조해 주세요.
  18. ^ "Odgaard: "I will continue working on TextMate as long as I am a Mac user"". 10 August 2012. Many open source proponents and would-be code contributors were vociferous in their opposition to Odgaard's choice of version 3 of the GNU General Public License, while asking upstream code patches to carry a public domain license. The problem, unfortunately, is the tug-of-war between FOSS principles and the desires of commercial ventures.
  19. ^ a b "Language Grammars — TextMate 1.x Manual". macromates.com. Retrieved 2021-10-30.
  20. ^ 추가 번들을 얻는 방법에 대한 자세한 내용은 TextMate 매뉴얼의 관련 섹션을 참조하십시오.
  21. ^ "20 Regular Expressions". TextMate. Retrieved 2009-04-28.
  22. ^ TextMate 프로젝트FTP 서버에서 파일을 편집하는 방법 2017-07-19 Wayback Machine에서 보관되었습니다.TextMate Wiki - FAQ: 프로젝트
  23. ^ 텍스트 뷰에서의 접근성 지원 - VoiceOverZoom.GitHub 풀 요청
  24. ^ 앨런 오드가드."Re: 명령에서 커서 위치 변경"TextMate 메일링 리스트. 2007년 2월 14일.

추가 정보

외부 링크