서브라임텍스트 패키지 모음

May 20, 2015

서브라임텍스트는 개발할 때 주로 사용하는 에디터인데, 기본 편집기능도 좋고, 패키지를 사용하게 되면 훨씬 더 편하게 개발할 수 있다. 이 포스팅에서는 개발할 때 자주 사용하는 패키지를 소개할 것이다.

Sublime Diagram Plugin

평소 서버 구성도, 시퀀스 다이어그램을 그려야 하는 경우가 많이 있다. Dia, 파워포인트, Pencil, yED와 같은 툴을 사용해봤지만, 만족스럽지 않았다. 직접 그리는 방식이라서 배치하는데 신경이 많이 쓰여 흐름이나 배치에 집중하기 어려웠다.

이 플러그인은 다음 프로그램이 준비되어 있어야 한다.

  • Java (download from java.sun.com)
  • Graphviz (I recommend “homebrew” on the Mac)
  • Sublime Text 2 or 3

그리고 서브라임 패키지 인스톨러로 설치가 되지 않기 때문에, 패키지 디렉터리에 직접 설치해야 한다.

# osx
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages

# windows
cd "%APPDATA%\Sublime Text 3\Packages"

# 플러그인 소스 가져오기
git clone https://github.com/jvantuyl/sublime_diagram_plugin

Git Plugin

서브라임 텍스트에서 git을 편하게 사용할 수 있게 하는 플러그인이다. 패키지 인스톨러를 통해 설치하면 된다.

SublimeGit

윈도를 사용할 경우 따로 git 프로그램을 설치해야 한다. 그리고 경로를 다음과 같이 설정해야 할 것이다.

{
    "git_executables": {
        "git": ["c:/Program Files/Git/bin/git"],
        "git_flow": ["c:/Program Files/Git/bin/git-flow"],
        "legit": ["c:/Program Files/Git/bin/legit"],
        "gitk": ["c:/Program Files/Git/bin/gitk"]
    }
}

커맨드 팔레트에서 주로 다음 3개만 사용하는데, 특히 status에서 선택하는 기능이 좋다.

  • GIT status : 버전 관리할 파일을 선택하고, c를 누르면 커밋 메시지를 작성할 수 있고, 탭을 닫으면 커밋이 된다.
  • GIT push
  • GIT pull

MarkdownEditing

Markdown 형식으로 메모도 하고, 프로젝트에서 Readme.md 문서도 자주 만드는데, Markdown 파일을 작성하는데, 이 플러그인이 아주 유용하다. 지금 작성하는 블로그도, 서브라임에서 이 플러그인 사용해서 작성하고 있다. 문서와 코드(Javascript, Python 등)에 신택스 하이라이트도 되는 것이 핵심이다.

패키지 팔레트에서 다음 이름의 플러그인을 찾아서 설치하면 된다.

MarkdownEditing

Markdown Preview

Markdown Editing으로 Markdown 파일을 작성할 때 도움이 된다고 할 수 있다. 최종 결과물을 브라우저에서 볼 수 있게 하는 플러그인이 바로 Markdown Preview다. 작성하다가 최종 결과물이 보고 싶다면 CTRL+B 윈도에서 빌드하면 브라우저에 작성하고 있는 문서가 보일 것이다.

Markdown Preview

SFTP

여러 서버에서 작업할 일이 많이 있는데, 이 플러그인이 아주 유용하다.

SFTP

sftp-config.json 파일을 만들고, CTRL + ALT + U, W를 누르면 서버에 존재하는 폴더와 파일을 볼 수 있다. 수정할 파일을 선택하고, 수정 작업을 거친 후 저장하면 서버에 저장이 된다. 그런데 이 플러그인을 쓰는 것보다 atom 에디터의 SFTP 기능이 더 좋았다.

{
...
   
    "type": "sftp",

    "save_before_upload": true,
    "upload_on_save": false,
    "sync_down_on_open": false,
    "sync_skip_deletes": false,
    "confirm_downloads": false,
    "confirm_sync": true,
    "confirm_overwrite_newer": false,
    
    "host": "127.0.0.1",
    "user": "아이디",
    "password": "비밀번호",
    "port": "43520",
    
    "remote_path": "/",
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn", "\\.hg", "\\.git",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
    ],

...    
}

GhostText

브라우저의 텍스트 입력창(Textarea)의 내용을 서브라임 텍스트로 작성할 수 있게 하는 플러그인이다. 크롬이나 파이어폭스에 플러그인을 추가로 설치해야한다. 크롬과 파이어폭스에 플러그인을 설치하고, 텍스트 영역에 GhostText 기능을 활성화할 수 있다. 그 상태에서 서브라임에서 내용을 작성할 수 있다.

그러나 내가 자주 사용하는 도구는 위지웍 에디터라서 잘 활용하지 못했다.

GhostText

처음 알았을 때는 많이 사용하려고 시도했지만, 은근히 귀찮다. 텍스트 창에 글을 입력하다 브라우저가 문제가 생겨 종료되더라도, 글은 서브라임에 남아있는 것은 장점이다.

플러그인 페이지

InsertDate

2016-06-22와 같이 원하는 형식의 날짜를 단축키로 입력할 수 있게 하는 플러그인이다. 메모하다가 오늘 날짜를 입력해야 할 때 유용하다.

InsertDate

단축키는 CTRL + F5, D

SublimeLinter

프로젝트에서 사용하는 언어에 따라 linter를 세팅하고 시작하는 것이 좋다.

coffeelint
eslint
jshint
pylint
shellcheck

기타 사용 중인 플러그인

Dockerfile Syntax Highlighting

Dockerfile 문법 강조

플러그인 페이지

Autotools

Autotools 문법 하이라이트

플러그인 페이지

Babel

JSX를 포함한 ES6 문법 하이라이트

플러그인 페이지

BracketHighlighter

괄호 안에 있을 때, 좌측에 표시해 준다.

플러그인 페이지

RPM Spec Syntax

rpm.spec 파일에 관한 문법 강조를 지원한다.

플러그인 페이지

sublime-project-specific-syntax

프로젝트에 따라 문법을 다르게 설정할 수 있다.

플러그인 페이지

sublime_diagram_plugin (PlantUML)

Plantuml을 이미지로 만들어준다. 내부에서 Java와 Graphviz를 사용한다.

플러그인 페이지

Terminal

현재 파일 또는 프로젝트 폴더를 터미널로 열어준다.

플러그인 페이지

Stylus

Stylus 문법 강조를 지원한다.

플러그인 페이지

Siteleaf Liquid Syntax

Liquid 문법 강조를 지원한다.

플러그인 페이지

SideBarEnhancements

사이드바 기능을 강화한다. 특히 우클릭을 통해 다양한 기능을 사용할 수 있다.

플러그인 페이지

React ES6 Snippets

React로 개발할 때 아주 유용한 Snippet을 제공한다. (cdm, cdup, …)

플러그인 페이지

R-Box

R 파일 작업할 때, 자동완성, 메뉴, 팝업 힌트를 제공.

플러그인 페이지

PHP Code Coverage

에디터에서 코드 커버리지 데이터를 표시한다. 테스트가 된 코드는 녹색으로 나온다.

플러그인 페이지

Phpcs

PHP CodeSniffer, PHP Code Beautifier and Fixer, PHP Coding Standards Fixer, the PHP Linter, PHP Mess Detector, Scheck

플러그인 페이지

PhpDoc

문서화 주석을 빠르게 작성할 수 있다. /**로 시작하면 자동 완성됨.

플러그인 페이지

NSIS

Nullsoft Scriptable Install System 문법 강조

플러그인 페이지

Lua​Autocomplete

Lua 자동완성

플러그인 페이지

Jekyll

Jekyll과 통합

플러그인 페이지

INI

INI 문법 강조

플러그인 페이지

Find++

현재 폴더, 프로젝트에서 검색할 수 있다.

플러그인 페이지

DocBlockr

문서화를 위한 주석을 쉽게 작성할 수 있다.

플러그인 페이지

C++11

C++11 문법 정의

플러그인 페이지

C++ Snippets

C++에서 유용한 스니펫이 추가됨.

플러그인 페이지

Lint 플러그인

  • SublimeLinter : 기본 linting 프레임웍
  • SublimeLinter-contrib-eslint : ECMAScript/JavaScript
  • SublimeLinter-contrib-htmlhint : HTML
  • SublimeLinter-cpplint : C++
  • SublimeLinter-jshint : Javascript
  • SublimeLinter-json : json
  • SublimeLinter-pep8 : Python(PEP8)
  • SublimeLinter-php : php-l 옵션을 사용
  • SublimeLinter-phplint : phplint를 사용
  • SublimeLinter-pylint : Python(pylint)
  • SublimeLinter-shellchek : 셸 스크립트

삭제한 플러그인

이번 장은 플러그인 너무 많아서 지금은 쓸 일 없는 것들을 지우면서 기록한 내용이다.

View In Browser

현재 서브라임탭에 있는 것을 브라우저로 보여준다.

플러그인 페이지

TypescriptCompletion

Typescript 자동완성.

플러그인 페이지

VBScript

VBScript 문법 강조, 스니펫

플러그인 페이지

Select By Regex

정규식으로 영역을 선택할 수 있다.

플러그인 페이지

Repeat Macro

반복적인 작업을 할 때 사용한다.

플러그인 페이지

SublimeServer

Markdown, HTML 파일을 서비스할 수 있는 서버를 띄운다.

플러그인 페이지

React​JS

Babel 플러그인에서 제공해서 필요 없다.

플러그인 페이지

React Templates

React Templates 문법 강조. Babel 플러그인에서 제공해서 필요 없다.

플러그인 페이지

Move Tab

커맨드 팔레트 명령을 통해 탭이 이동한다.

플러그인 페이지

Markdown Extended

TOP 100. 마크다운 문법 강조. 언어에 따라 강조.

플러그인 페이지

Indent​Tips

인덴트와 코드의 위치를 상태바에 보여준다. JS와 PHP는 안 된다. 어떤 언어에서 동작하는지 모르겠다.

플러그인 페이지

HTML5

HTML5 번들. HTML5 문법 모드와 스니펫.

플러그인 페이지

Flow

Flow로 자바스크립트 정적 분석을 한다.

플러그인 페이지

Download Source

특정 URL의 데이터를 새로운 또는 이미 존재하는 버퍼로 가져온다.

플러그인 페이지

Dockerfile Syntax Highlighting

Dockerfile 문법 강조

플러그인 페이지

Color Highlighter

색상을 미리 보고, 선택할 수 있다.

플러그인 페이지

Markup Jira confluence(SublimeConfluence)

Atlassian Confluence와 통합된 플러그인.

플러그인 페이지

Browser Integration

브라우저와 서브라임을 통합하는 플러그인이다. 우선 서브라임에서 브라우저를 실행하고, 서브라임에서 브라우저로 커맨드를 날릴 수 있다. reload, 스타일시트 보기, 특정 코드 실행하기 등이 가능하지만, 아직 개발 중이라고 한다.

플러그인 페이지

All Autocomplete

현재 창에 열린 모든 파일에 있는 내용과 일치할 때 자동완성 키워드를 보여주는 플러그인이다. 느려질 수 있어서 주의가 필요하다.

플러그인 페이지

ApplySyntax

파일 구문을 감지하고, 적용할 수 있는 플러그인이다. 예를 들면, .rb 파일은 일반적으로 Ruby 파일이지만 Rails 프로젝트에서의 Rspec, Cucumber 파일, Ruby on Rails(컨트롤러, 모델) 파일을 구분할 수 있다.

플러그인 페이지

Better Coffee Script

신택스 하이라이트, 체크, 커맨드, 단축키, watch 기능 등을 제공한다.

플러그인 페이지

CJSX Syntax

Coffee Script JSX 문법을 지원하는 플러그인이다. ES6로 바꾼 이후는 쓸 필요 없었다.

플러그인 페이지

Grunt

Grunt와 통합하는 플러그인이다. Gulp로 바꾸고 나서 쓰지 않는다.

플러그인 페이지

ChangeQuotes

’ 또는 “에 커서를 놓고, 이 플러그인 커맨드를 실행하면 ‘ -> “, 아니면 그 반대로 바꿔주는데, 잘 사용하지 않아서 지웠다.

https://packagecontrol.io/packages/ChangeQuotes

ColorHelper

CSS 작업할 때, 컬러 코드를 인식해서 색상을 보여주고, 선택할 수 있는 툴팁을 제공한다. 인라인으로 색상을 보여주는 부분 때문에, 확실히 느려진다.

https://packagecontrol.io/packages/ColorHelper

Emmet

Emmet의 공식 플러그인이다. Emmet은 예전에 Zen Coding으로 불렸고, html 작업을 할 때, CSS 스타일로 입력해서 html을 만들어 준다. 편리하지만 html 작업을 많이 하지 않고, 그마저도 React로 하므로 필요 없어졌다.

https://packagecontrol.io/packages/Emmet

Evernote

Evernote를 서브라임에서 쓸 수 있는 플러그인이다.

https://packagecontrol.io/packages/Evernote

서브라임에서 선택한 키워드를 구글에서 검색하는 플러그인이다.

https://packagecontrol.io/packages/Google%20Search

npm

npm을 통합한 플러그인이다. 셸로 하는 게 더 편하다.

https://packagecontrol.io/packages/npm

yUML

yUML을 서브라임에서 만들어 주는 플러그인이다. plantuml을 사용해서 지웠다.

https://packagecontrol.io/packages/yUML

SublimeGit

Git 통합 플러그인이다. 셸에서 Git 작업을 하면서 지웠다.

https://packagecontrol.io/packages/SublimeGit

GitSavvy

SublimeGit과 유사한 플러그인이다.

https://packagecontrol.io/packages/GitSavvy

HTMLBeautify

HTML을 보기 좋게 만드는 도구다. 가끔 필요해서 같은 기능을 하는 사이트를 이용하면서 지웠다.

https://packagecontrol.io/packages/HTMLBeautify

Live​Reload

LiveReload 서버가 서브라임텍스트에서 실행되고, 파일을 저장할 때, 이 서버와 통신할 수 있다.

https://packagecontrol.io/packages/LiveReload

SqlBeautifier

SQL을 사람한테 보기 좋게 만드는 플러그인이다.

https://packagecontrol.io/packages/SqlBeautifier

Text Pastry

반복적인 작업을 쉽게 할 수 있게 돕는 플러그인이다.

https://packagecontrol.io/packages/Text%20Pastry

Pretty JSON

JSON을 보기 좋게 만들어주고, 유효성을 체크할 수 있고, 압축할 수도 있다.

https://packagecontrol.io/packages/Pretty%20JSON

InsertDate

포맷에 맞춰서 현재 날짜와 시간을 출력하는 플러그인이다.

https://packagecontrol.io/packages/InsertDate

SVN

SVN 통합 플러그인.

https://packagecontrol.io/packages/SVN

ShellCommand

셸 명령을 서브라임내에서 실행하고, 그 결과를 탭에서 보여주는 플러그인이다.

https://packagecontrol.io/packages/ShellCommand

Shell Turtlestein

ShellCommand와 유사한 플러그인이다. 다른 점은 결과가 서브라임 콘솔에 출력된다.

https://packagecontrol.io/packages/Shell%20Turtlestein

Tabs​Extra

탭에 추가 기능을 주는 플러그인이다. sticky 탭을 만들고, 탭 정렬, 삭제, 이름 변경 등을 할 수 있다.

https://packagecontrol.io/packages/TabsExtra

Scheme

Scheme이라는 언어를 지원하는 플러그인인데, 언제, 왜 설치했는지 모르겠다.

https://github.com/egrachev/sublime-scheme

PyV8

Emmet 플러그인 설치할 때 자동으로 설치되는 플러그인이다.

https://github.com/emmetio/pyv8-binaries

Java​Script & Node​JS Snippets

Console, DOM, Loop 등을 쉽게 작성할 수 있는 Snippet이다. cl은 console.log, al은 alert, …

https://packagecontrol.io/packages/JavaScript%20%26%20NodeJS%20Snippets

Handlebars

Handlebars.js 템플릿을 지원하는 플러그인이다.

https://packagecontrol.io/packages/Handlebars

Jade

Jade 템플릿을 지원하는 플러그인이다.

https://packagecontrol.io/packages/Jade

Liquid

Liquid 템플릿을 지원하는 플러그인이다.

https://packagecontrol.io/packages/Liquid

Less

Less Syntax Highlight를 지원하는 플러그인이다.

https://packagecontrol.io/packages/LESS

SublimeCodeIntel

Open Komodo Editor에서 이식된 플러그인으로, 다양한 언어를 지원한다. 심볼이 정의된 파일로 이동하고, 사용할 수 있는 모듈을 자동 완성할 수 있다.

https://packagecontrol.io/packages/SublimeCodeIntel

Swift

Swift 언어를 지원하는 플러그인이다. XCode에서 작업해서 필요 없다.

https://packagecontrol.io/packages/Swift

Sublime​REPL

서브라임 탭에서 PHP, Python, Ruby, R, Node.js 등 다양한 언어의 인터프리터를 실행하는 플러그인이다.

https://packagecontrol.io/packages/SublimeREPL

Vue Syntax Highlight

Vue 템플릿을 지원하는 플러그인이다.

https://packagecontrol.io/packages/Vue%20Syntax%20Highlight

TypeScript

TypeScript 문법, Snippet을 지원하는 플러그인이다. 백그라운드로 Node 프로세스가 실행된다.

https://packagecontrol.io/packages/TypeScript

LogView

로그 파일을 볼 때 로그 단계에 따라서 심각하면 빨강 덜 심각하면 노랑으로 표시하는 플러그인이다.

https://packagecontrol.io/packages/LogView

SublimeLinter-coffeelint

Coffee Script 문법을 체크하는 Linter인데, ES6로 바꾼 후 사용하지 않는다.

https://packagecontrol.io/packages/SublimeLinter-coffeelint

JSX

JSX 언어 정의.

플러그인 페이지

DB1

PostgreSQL, MySQL, SQLite, MariaDB 같은 데이터베이스에서 질의를 실행하는 플러그인.

플러그인 페이지

DotENV

.env 파일에 대한 문법 강조

플러그인 페이지

Theme

See Also