본문 바로가기

프로그래밍

Sublime Text 3 - Post Sublime Text

새로운 Sublime Text

지난 1월 29일에 새로운 Sublime Text인 Sublime Text 3가 발표되었습니다. Sublime Text 3 는 Sublime Text 3를 잇는 후속작입니다. 기본적인 UI나 기능들은 Sublime Text 2와 매우 흡사합니다. 언뜻 봐서는 Sublime Text 2와 거의 차이가 없어 보입니다.


Sublime Text 3Sublime Text 3 화면


현재 Sublime Text 3는 Sublime 라이센스를 보유한 사람들만 이용할 수 있습니다. 가격은 70달러로 약간 부담스러운 가격입니다. 윈도우, 리눅스, 맥 모든 버전에서 사용 가능하고 포터블 버전을 받아 사용할 수도 있습니다.


발전된 기능들

Sublime Text 3는 후속작인 만큼 여러가지 기능의 발전이 있습니다. 대표적으로 알려전 기능들은 다음과 같습니다.

속도

Sublime Text 2는 굉장히 빠른 속도로 주목을 받았지만, 실행 속도에 문제가 조금 있었습니다. 실행 속도가 빠르지 않을 뿐더러 여러개의 플러그인의 설치되어 있는 경우 속도가 굉장히 느려지곤 했습니다. Sublime Text 3에서는 이 문제가 해결되었습니다. Sublime Text 3에서는 프로그램을 실행 하자 마자 화면이 뜰 정도로 빨라졌고 플러그인을 아무리 설치해도 실행속도에는 거의 변화가 없습니다. 실제로 테스트를 해보니 제 컴퓨터에서는 Sublime Text 2의 실행속도는 약 2초정도 걸렸고. Sublime Text 3의 실행 속도는 0.5초도 되지 않는 것 같습니다.


Pane 관리

Sublime Text 2의 특징중 하나는 Multiple Pane이었습니다. 여러개의 파일을 동시에 띄워 작업을 할 수 있어서 작업 효율을 굉장히 높힐 수 있었습니다. 하지만 약간 아쉬운 점들이 있었습니다. 가령 Sublime Text 2에서는 Multiple Pane의 레이아웃이 2 x 1, 2 x 2, 등 고정된 레이아웃 밖에 사용 할 수 없었으나 Sublime Text 3 에서는 다음과 같은 복합 레이아웃의 사용이 가능해 졌습니다.

복합 레이아웃Sublime Text 3 의 복합 레이아웃


또한 파일의 Pane간 이동도 간편해 졌습니다. 예전에는 파일 제목 부분을 드래그 해서 다른 Pane으로 옮기곤 했었는데 이제는 커맨드가 생겨서 단축키를 통해 쉽게 옮길 수 있습니다.  또한 커서의 Pane간 이동도 단축키를 이용하여 편하게 사용할 수 있게 되었습니다.

메뉴에서 View/Groups, View/Focus Group, View/Move File to Group 이라는 메뉴가 새로 생겨났는데 이 메뉴들이 Pane 관리와 관련된 메뉴들 입니다. Groups 에서는 복합 레이아웃을 지정할 수 있고, Focus Group 에서는 커서의 Pane간 이동을 지정할 수 있습니다. Move File to Group에서는 메뉴 이름 그대로 파일의 Pane간 이동을 지정할 수 있습니다.


Symbol Indexing

Sublime Text 3에서는 Symbole Indexing이라는 기능이 생겼습니다. 기존에 IDE를 사용하시던 분이라면 쉽게 이해하실 겁니다. 이클립스와 같은 IDE 에서는 특정 변수나 슈퍼 클래스의 위치로 쉽게 이동하기 위한 기능이 제공됩니다. 예를 들어 다음과 같은 자바 코드가 있다고 합시다.

public class TestClass extends ParentClass { ... }

이클립스에서 ctrl을 누르고 ParentClass를 누르면 해당 클래스로 바로 이동하게 됩니다.

Sublime Text 3 에서는 이렇게 IDE에서 사용되는 기능인 Symbol Indexing이 추가되었습니다. 이로써 Sublime Text 3 는 더욱 IDE에 가까워 졌고 기존의 IDE를 대체할 수 있는 강력한 기능을 하나더 갖게 되었습니다. Sublime Text 3에서는 해당 변수나 클래스에 커서를 대고 F12를 클릭하면 됩니다. (맥에서는 단축키가 다릅니다. 마지막 부분에 링크된 동영상에서는 맥을 사용하니 맥 사용자는 동영상을 참고해 주세요.) Indexing된 Symbol이 여러개인 경우에는 선택하여 갈 수 있습니다.


Symbol IndexingSymbol Indexing 기능을 이용하여 쉽게 클래스를 찾아갈 수 있다.


Python 3.3

Sublime Text 3에서는 무려 python 3.3을 사용합니다. 이전 버전에서는 파이썬 2.6을 사용 했었는데, 이번 버전에서는 최신의 파이썬을 사용하게 되었습니다. 그리고 모든 플러그인은 메인 프로세스에서 분리되어 실행되기 때문에 플러그인이 멈추더라고 Sublime Text는 멈추지 않게 되었습니다. 또한 모든 API들이 thread-safe 하게 바뀌었습니다. API들은 비동기적으로 작동할 수 있는 다양한 콜백을 제공합니다. 또한 프로젝트 데이터에 접근할 수 있는 새로운 API도 제공합니다.


Sublime Text 3의 새로운 기능을 더욱 자세히 알고 싶다면 다음 동영상을 참고하세요. (by nettutsplus)

https://www.youtube.com/watch?v=tCEcT8H2LAw


마치며

Sublime Text 3는 Sublime Text 2에 비해 확실히 여러면에서 발전된 모습을 보여주고 있습니다. 하지만 아직 약간의 문제점이 존재합니다. 가장 큰 문제라고 하면 Sublime Text 2의 플러그인과의 호환성 입니다. Sublime Text 3는 python3를 쓰게 되면서 이전 플러그인들과 호환성 문제가 생기는 듯 합니다. 정상적으로 작동하는 플러그인도 있고, 작동하지 않는 플러그인들도 다수 존재해서 앞으로 안정화 될 때 까지는 Sublime Text 3가 아무리 좋더라도 사용에 불편함이 있을 수 밖에 없을 듯 합니다.

그 동안 Sublime Text 2에 대한 글을 써오고 있었는데, Sublime Text 3가 새로 등장하니 Sublime Text 3 쪽으로 포스팅 방향을 바꾸려고 합니다. 최고의 텍스트 에디터인 Sublime Text의 지속적인 발전은 정말 대단한 것 같습니다.