Sublime Text

Sublime Text

개발

Sublime HQ

라이센스

상업 소프트웨어

용도

텍스트 에디터

운영체제

Windows, macOS

현재버전

3.2.2 (2019년 10월 1일)

공식 홈페이지

1. 개요
2. 기본적으로 지원하는 언어
3. 장점
4. 단점
5. 기능
5.1. Goto
5.2. 명령 팔레트
5.3. 다중 선택
5.4. 기타
6. 기본 세팅
6.1. 패키지 컨트롤
6.2. IMESupport
6.3. ConvertToUTF8

1. 개요

크로스 플랫폼 텍스트 에디터. 주로 프론트엔드 프로그래밍에 사용된다. 요즘은 Node.js 같이 백엔드 언어를 작성할 때 쓰는 경우도 많다. 비교적 최근에 생긴 에디터라서 그런지 포트란 등의 구세대 언어를 사용할 경우에는 귀찮아질 수 있다.

GUI는 탑다운 메뉴 말고는 없다시피하고 커맨드 파레트 등을 이용하면 아예 마우스 없이도 쓸 수 있다. 심지어 옵션 설정도 그냥 JSON 파일이다. 마우스 사용을 지양하여 초스피드의 생산성을 추구하는 텍스트 에디터.

플랫폼 별로 네이티브로 동작하도록 되어 있어 속도가 상당히 빠른 편이며, 경쟁 제품인 VS Code와 비교해 봐도 여전히 속도 부분은 우세하다. 또한 Python 코어부분을 내장하고 있어 Python을 어느 정도 알고 있다면 손쉽게 매크로, 플러그인 등을 확장하여 자신만의 에디터 환경을 구축할 수 있다. 기본적으로 키 바인딩 기능도 제공하며, 비활성화된 vintage라는 패키지를 활성화 시키면 부분적으로 vi와 비슷하게 동작한다. vi와 더욱 비슷하게 동작하는 플러그인 Vintageous이 있지만 거의 개발이 중단된 상태이며, 그냥 vi를 쓰는 편이 더 낫다.

초기에는 한때 맥에서 유명한 에디터인 Textmate의 각종 XML 방식의 설정 파일을 그대로 사용할 수 있었으며(현재도 사용가능함), 유사한 모습을 보였지면, 점차 독자적인 기능과 3버전 부터는 YAML 1.2 방식의 독자적인 설정파일로 더 편하게 작성이 가능하며, 실행속도까지 좋아졌다.

그 외에 멀티 커서 에디팅이나 코드 네비게이션, 팔레트 기능들은 다른 에디터에서도 플러그인 혹은 기본 기능으로 제공할 정도로 인기 있는 기능. 이러한 기능들은 Atom이나 VS Code 등 최근에 나온 에디터들은 대부분 채택하고 있다. 이 에디터 이후 vi, Emacs 등에서도 플러그인으로 비슷한 기능을 구현했다.

가격은 2017년 10월 31일 기준 80$이다. 구매하지 않더라서도 모든 기능을 무제한으로 사용가능하지만, 저장을 할 때 가끔씩 구매를 하라는 팝업이 뜬다. 쓰다보면 저장+ESC가 습관이 된다 개인 라이선스는 3년간 유효하며 그 이후는 업그레이드 구매가 필요하다.

2. 기본적으로 지원하는 언어

ActionScript, AppleScript, ASP, Batch, C, C#, C++, Clojure, CSS, D, Erlang, Go, Groovy, Haskell, HTML, Java, JavaScript, JSP, JSON, LaTeX, LISP, Lua, Makefile, Markdown, MATLAB, Obj-C, OCaml, Pascal, Perl, PHP, Python, R, Rails, RegEx, Ruby, Scala, ShellScript, SQL, TCL, Textile, XML, YAML 등 현대에 주로 사용되는 언어들은 대부분 기본 지원한다. 반대로 어셈블리어, Ada, FORTRAN 등은 지원하지 않는다. 사실 지원해도 잘 안 쓰인다.

심지어 JPGPNG 같은 그래픽 포맷도 디코딩되어 열리고, 다른 텍스트 에디터에서는 뻗어버리는 수백만 줄짜리 CSV 등의 파일도 거뜬히 읽어낸다.

기본적으로 지원하지 않더라도 플러그인으로 확장할 수 있다. 또한 지원한다는 것은 어디까지나 소스 하이라이팅과 자동완성, 자동 인덴트 정도로 IDE 수준의 개발 환경은 기본적으로 지원되지 않는다.

예를 들어 패키지 인스톨러를 이용하여 기능들을 설치하면 ARMA 3 게임의 모드를 만드는데 사용되는 특수목적 언어인 SQF등의 언어들도 하이라이팅 기능을 이용할 수 있으며, 파이썬등의 일부 언어들은 컴파일러 또한 설치할 수 있다.

3. 장점

4. 단점

리눅스의 경우 입력기별로 되는 것도 있고 안 되는 것도 있다. fcitx의 경우에는 중국에서 해결법을 찾았다. 맥의 경우는 정상적으로 작동한다.

5. 기능

5.1. Goto

특정 위치로 이동하는 기능.

기본적으로 파일 이름의 일부를 쳐서[2] 열 수 있고, @로 특정 구문을 찾거나 #으로 검색, :으로 라인 넘버까지 지정할 수 있다.

[email protected]라 치면 text_parser.py의 read_file 함수를 찾아준다거나, tp#fn을 치면 function을 찾아준다거나, tp:100을 치면 파일의 100번째 줄이 열리는 식.

Ctrl+P 키를 누르면 Goto Anything이 열리며 Goto Symbol이나 Goto Line 등의 단축키도 따로 배정되어 있으나 Goto Anything에서 전부 가능하기 때문에 잘 사용되지는 않는 듯 하다.

이외에

ctrl + r 특정 함수 이동

ctrl + g 특정 라인 이동

ctrl + l 특정 구문 선행 탐색(먼저 나오는 대상을 찾아서 보여준다.)

등이 있다.

5.2. 명령 팔레트

명령어로 Sublime-Text의 주요 조작을 할 수 있게 해주는 부분. 패키지 매니저를 설치했다면 이 곳을 통해 사용할 수 있다.

Ctrl+Shift+P 키를 눌러 열 수 있다.

5.3. 다중 선택

위의 글씨체가 Monaco인 것을 알면 당신은 훌륭한 컴덕/프로그래머!

Sublime Text를 쓰는 가장 큰 이유

주의해야할 것은 Sublime Text를 사용하는 가장 큰 이유지, 다른 에디터들에 비해서 우월한 이유가 절대로 아니다. 실제로 vi이클립스, Emacs, Atom, Notepad++, IntelliJ IDEA, 넷빈즈, 비주얼 스튜디오 등의 대다수 에디터도 기본/플러그인으로 지원한다.

단축키 Ctrl+D로 커서 위치의 동일한 단어를 선택하고, 동시에 수정 가능하다. Ctrl+마우스 선택 혹은 Ctrl+F로 검색해도 된다.

'변수명'같은 중복되는 단어 수정에 편리하다.

대소문자를 구별한 채로 Ctrl+d를 하고 싶다면 Ctrl+f를 킨 다음, 대소문자 구별을 킨 다음, 다중선택할 단어 위에 커서를 올려 놓는다. 그런 다음 Ctrl+d를 누르면 대소문자를 구별하여 다중선택이 된다. Ctrl+u로 마지막에 선택한 걸 취소 할 수 있다.

페이지 전체 단위로 특정 단어를 선택하고 싶다면 ctrl+f에서 특정 단어를 입력한 다음 find all버튼을 누르거나, 특정 단어를 커서에 올려놓은 다음에, alt+f3를 누르면 전체선택이 된다.

5.4. 기타

6. 기본 세팅

6.1. 패키지 컨트롤

서브라임 텍스트를 원활하게 사용하기 위해서는 먼저 패키지 컨트롤(Package Control)을 설치하여야 한다. 간단하게는 테마부터 C++11 등 기본적으로 지원하지 않는 언어의 Syntax Highlight 기능 등 다양한 플러그인을 명령어 한 줄로 추가할 수 있게 도와준다. 사실상 필수적인 플러그인. Will Bond가 제작하였다.

설치 방법은 다음과 같다. 먼저 https://packagecontrol.io/installation에 접속한다. 페이지에 있는 명령어 코드를 복사한다. 서브라임 텍스트에서 Python 콘솔(Ctrl + `)을 열고 코드를 붙여 넣고 실행한다. 설치가 완료되고 나면 명령어 팔레트(Ctrl+Shift+P)에 Package Control:로 시작하는 메뉴가 추가된 것을 볼 수 있다. Package Control:Install Package를 선택하면 플러그인 목록이 뜨며, 여기서 설치하고자 하는 플러그인의 이름을 검색하고 엔터를 누르면 바로 설치된다.

6.2. IMESupport

앞서 서술했던 한글 입력시 지연 문제를 해결하기 위한 플러그인. 다만 메모장이나 워드처럼 자연스럽게 한글을 입력할 수 있는 것은 아니다. 화면 모서리에 뜨던 것이 커서 옆에 뜨게되었다는 차이 밖에 없다. 그래도 없는 것보다는 훨씬 낫다. Find나 Replace 등에선 적용이 안된다.

Windows10 이하버전에서만 적용된다.

6.3. ConvertToUTF8

서브라임 텍스트에서는 기본적으로 EUC-KR을 비롯해 중국어, 일본어 인코딩을 지원하지 않는다. 이 플러그인을 설치하면 File 메뉴 하위에 Set File Encoding to 메뉴와 Reload with Encoding 메뉴에 EUC-KR 등이 추가되어 보다 편리하게 열람할 수 있다. UTF-8로 전환도 가능한데, 일부 스크립트 언어 등에서 한글이 깨질 때 UTF-8로 전환해도 문제가 해결되지 않을 경우에는 메모장으로 열어서 '유니코드' 인코딩으로 저장해주어야 한다(...)


  1. [1] Lime Text는 현재 백앤드는 개발이 많이 진척된 상태지만 프론트엔드의 개발은 상당히 부진하다.
  2. [2] Fuzzy Search라고 하는데 시작부터 글자 하나 틀리지 않고 일치해야 하는 기존 검색에 비해 맨 첫 글자와 이후에는 순서만 맞으면 사이사이에 다른 글자가 들어가도 된다.