레이블이 sublime text인 게시물을 표시합니다. 모든 게시물 표시
레이블이 sublime text인 게시물을 표시합니다. 모든 게시물 표시

Sublime Text 유용한 패키지

Sublime Text 3 를 사용하면서 유용한 패키지들

ConvertToUTF8 : euc-kr 등의 파일을 읽을 수 있음(기본적으로 utf8 로 인코딩 가능)
FormatLua : Lua 스크립트 포맷팅(ctrl  + alt  + l)
HTMLBeautify : HTML 포맷팅(ctrl + alt + shift + f)
PrettyJson : JSON 포맷팅(ctrl + alt + j)
GoSublime : Go 개발 플러그인 콜렉션


SublimeText GoLang 개발 환경 만들기

Sublime Text 에 Golang 개발 환경 만들기
(Go 와 관련 툴 GoImport, GOPATH 등은 다 설정되어 있는 상태에서)

# GoSublime 플러그인 설치
Package Control : Install Package -> GoSublime 선택해서 설치

# 디폴트 설정 참고
Preferences -> Package Settings -> GoSublime -> Settgins - Default (ctrl+. ctrl+4)

# goimport 툴 설치
go get golang.org/x/tools/cmd/goimports

# 사용자 설정
Preferences -> Package Settings -> GoSublime -> Settgins - User (ctrl+. ctrl+5)

# 사용자 설정에 GoImport 사용하도록 추가
# .go 파일 저장시(ctrl + s) 누락된 패키지가 있다면 자동 import 문이 추가
{
  "fmt_cmd": [ "goimports" ]
}

# go sublime 키 바인드 상태 보기
ctrl + . ctrl + .

# gofmt 적용하기
# 사용자 설정에 goimport 이 되어 있다면 파일 저장시에 자동 gofmt 적용된다.
ctrl + b
go fmt

# go 빌드하기
ctrl + b
go build

# go 실행하기
# go run 은 임시 실행파일이 생성하여 실행되기 때문에 중단시 프로세스를 킬해야 한다.
# Sublime Text 대신 콘솔창에서 go run 하면 프로세스 킬시 ctrl+c 를 바로 사용할 수 있어 편하다.
ctrl + b
go run a.go b.go

# 기타 명령어와 단축키 참고
Preferences -> Package Settings -> GoSublime -> Key bindings - Default

Sublime Text vintage 사용하지 않기

Sublime Text 에는 vim 환경을 제공해주는 Vintage 라는 패키지를 기본으로 내장하고 있다.
Sublime Text 의 아래 상태 바에 vim 처럼 command mode / visual mode / insert mode 가 나타난다면 vintage 가 작동하고 있는것이다.

원래는 Preferences -> Settings - Default 에 다음과 같이 기본적으로 Vintage 를 사용하지 않도록 되어 있다.
"ignored_packages": ["Vintage"]

그런데 위와 같이 되어 있는데도 vim 처럼 작동한다면 package control 에서 disable 해야 한다.

Preferences -> Package Control -> Package Control: Disable Pakcage -> Vintage 선택
(또는 Ctrl + Shift + P -> disable package 로 검색해서 선택)

이렇게 하면 Preferences -> Settings - User 에 Vintage 패키지를 무시하도록 아래와 같이 자동 수정된다.(물론 직접 수정해도 된다.)
"ignored_packages":["Vintage"]

Sublime Text 3 Dependency import failed 에러

Sublime Text 실행시 다음과 같은 에러가 발생하는 경우가 있다.



# 에러 팝업 메시지

Dependency import failed; please read readme for JoinStatement plugin for installation instructions; to disable this message remove this plugin







대략 해석해 보면 의존성에 문제가 생긴것이고 JoinStatement 설명서를 읽고 재설치를 하거나 플러그인을 삭제하라고 하라는 것.

SublimeText 버전 호환이 되지 않는 경우나 기타 문제점이 있는 패키지를 무심코 설치했을 때 나타난다.

위 경우는 JoinStatement 패키지이지만 기타 다른 패키지도 문제가 있으면 패키지를 삭제하거나 삭제 후 다시 설치해 보자~


sublime text ctrl + alt + up 키 동작 하지 않는 경우

sublime text 단축키 중
add previous line (ctrl + alt + up)
add next line (ctrl + alt + down)
가 동작하는 않는 경우가 있어 원인을 찾아보았다.

단축키 작동 여부 확인을 위해 visual studio 의 키보드 옵션의 단축키 설정란에서 ctrl + alt + up (방향키) 키를 눌렀을 때 키가 감지되는지를 체크하였는데, 감지되지 않았다.
ctrl + alt + 1 과 같은 키조합은 잘 감지되는 것으로 보아 윈도우 시스템 전체적으로 ctrl + alt + up (방향키) 동작하지 않는 것을 알 수 있었다.

결국 한참을 헤맨 끝에 ctrl + alt + 방향키는 intel hd 그래픽 카드 옵션 값으로 화면 회전 단축키로 사용되고 있다는 것을 알았다.
단축키 설정을 비활성화된 상태였고 비활성화 되면 윈도우 시스템 전체적으로 ctrl + alt + 방향키를 무시하도록 처리되는 것을 알았다.

해결방법은 intel hd 그래픽 카드 옵션의 화면 회전 단축키를 활성화하고 ctrl + alt + num 2 (num4,num6,num8)로 변경한 하면 활성/비활성과 상관없이 ctrl + alt + 방향키가 작동한다.
참고로 intel hd 그래픽 카드 프로그램이 작업표시줄 아이콘으로 표시되지 않는다면 제어판에서 실행할 수 있다.

SublimeText 3 자동 들여쓰기(reindent) 설정하기

SublimeText 3 는 기본적으로 코드 작성 중 엔터를 치면 자동 들여쓰기(indent)가 된다.

참고로 preference -> settings - default 에 다음과 같이 기본 설정되어 있다.
"auto_indent": true,
"smart_indent": true,

만약 중간에 코드를 수정하고 다시 들여쓰기할 경우
edit -> line -> reindent 를 사용하면 코드에 맞게 자동 들여쓰기가 된다.
하지만 단축키(short-cut)이 따로 설정되어 있지 않아 사용이 불편하다.

preference -> key binding - user 에 다음과 short-cut 추가하자.
(참고로 user 설정에 설정된 값이 default 설정을 덮어씌우는 방식으로 적용된다.)

[
{"keys":["ctrl+alt+i"], "command": "reindent" }
]

이제 코드 수정후 영역을 선택하고 ctrl + alt + i 로 reindent 기능을 사용할 수 있다.


SublimeText 3 Lua 개발 환경 셋팅하기

SublimeText 3 는 기본적으로 C++, Erlang, java, Python, Ruby 빌드환경을 제공한다.
Lua 빌드의 경우  Lua Dev 패키지를 설치하면 사용할 수 있다.

Ctrl + Shift + P -> install package -> Lua Dev 설치

Build System : Automatic 으로 설정되어 있다면
Lua 코드에서 F7 or Ctrl+B 으로 빌드할 수 있다.


SublimeText 3 한글 인코딩(EUC-KR) 사용하기

SublimeText 3 는 기본으로 utf-8 인코딩을 사용한다.
만약 euc-kr 로 작성된 코드를 읽고 싶다는 ConvertToUTF8 패키지를 설치하자.

Ctrl + Shift + P -> install package -> ConvertToUTF8 설치

sublimetext 3 재시작하면 file 메뉴에 아래 항목이 생긴다.
Set File Encdoing To (인코딩을 변경해서 파일 저장)
Reload With Encoding (선택한 인코딩으로 다시 파일 로드)

사실 이제부터 euc-kr 파일을 읽으면 Reload with Encoding 사용하지 않고도 알아서 인코딩이 선택된다.
ConvertToUTF8.sublime-settings(Preferences -> Package Settings -> ConvertToUTF8 -> Settgins - Default) 설정에 다음과 같이 기본 설정되어 있다.
// Convert when loading/saving a file
"convert_on_load" : true,
"convert_on_save" : true


ConvertToUTF8 디폴트 메뉴는 다음과 같다.
Chinese Simplified(GBK) 중국어 간체
Chinese Traditional(BIG5) 중국어 번체
Korean (EUC-KR) CP949 도
Japanese (CP932)
Japanese (Shift_JIS)
Japanese (EUC-JP)

메뉴에는 없지만 CP949 도 지원한다.

sublime text 을 vim 처럼 사용하기

sublime text 3 에서 vim 에뮬레이터 Vintageous 패키지를 다운 받아 설치한다.

Command Palette -> Package Control: Install Package -> Vintageous 검색해서 설치

/ 나 : 입력시 아래 vim 같은 커맨드 창이 나타나며 vim 용 명령어 및 단축키를 사용할 수 있다.

sublime text Python3 빌드하기

sublime text 는 기본적으로 python 2.x 빌드 환경이 구성되어 있다.

python3 설치 후 python3 로 빌드하고 싶다면 패키지를 설치하자.
Command Palette -> Package Control: Install Package -> Python 3 설치

참고로 python3 빌드 시스템은
Preferences -> Browse Packages ->  ..\installed packages\Python 3.sublime-package (zip 압축)파일이다. 만약 Python3 빌드 시스템이 동작하지 않는다면 아래와 같이 커스텀 빌드를 만들자.

Python3 커스텀 빌드 시스템 만들기
Tools -> Build -> New Build System 으로 python3-ysoftman 빌드 시스템 생성
파일명 : Python3-ysoftman.sublime-build
{
    "cmd": ["c:/python35/python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}
argument  입력이 필요한 경우
    "cmd": ["c:/python35/python.exe", "-u", "$file", "arg1"],

빌드유형 : Tools -> Build Systems -> Python3-ysoftman 선택
빌드 : Build (Ctrl + B)

참고로 위에서 만들 빌드 시스템 파일을 수정하려면,
Preferences -> Browse Packages -> User ->  Python3-ysoftman.sublime-build 파일을 열어 수정한다.

sublime text 의 유용한 기능(단축키)

sublime text 는 패키지 설치등의 플러그인 기능도 좋지만 본래 코드 에디터로써의 편집 기능이 막강한 것이 맘에 든다.
selection 을 통한 배치, 분할, 영역 편집 기능은 다른 에디터에서 쉽게 찾아 볼 수 없는 기능이다.

# 선택한 라인들에 대한 배치 편집
1. 라인 선택
2. Split into line (Ctrl + Shift + L)
3. 선택된 라인들 한꺼번에 편집 가능

# 선택한 영역내에서 단어 변경하기
1. 변경하고 싶은 단어 앞에 커서 위치
2. Expand Selection to word (Ctrl + D) 를 눌러가며 변경하고 싶은 곳까지 선택, 만약 파일 전체를 한번에 선택하려면 Quick Find All (Alt + F3)
3. 편집하면 선택된 단어들이 똑같이 변경됨

# 라인 위치 바꾸기
1. 이동하 싶은 라인에 커서 위치, 만역 여러 줄이라면 여러줄 선택
2. Ctrl + Shift + Up 또는 Ctrl + Shift + Down 으로 이동 가능

그리고 많이 사용되는 단축키들...
(Preferences -> KeyBindings - Default 에서 참고)

# 프로그래밍 코드에서 정의 부분 가기
F12

# 이전 위치 가기
Alt + -

# 다음 위치 가기
Alt + Shift + -

# 현재라인 북마크(on/off)
Ctrl + F2

sublime text 3 Package Control 설치

Sublime Text 버전 3기준 (http://www.sublimetext.com/3)
Package Control 설치 설명서 (https://packagecontrol.io/installation)

Sublime Text 실행 후 Ctrl + `  로 콘솔창 열어 아래 내용을 복붙해서 엔터~

import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

상황에 따라 Sublime Text 를 다시 실행해야 될 수 있다.
이제 Ctrl + Shift + p 로 Command Palette 를 실행하고 package control 을 입력하여 항목들이 주르륵 나온다면 설치 성공이다.

잘 사용하던 sublimetext 의  package install 이 다음과 같은 에러 팝업을 보이며 동작하지 않는 경우가 있다.

there are no packages available for installation

콘솔창(ctrl+`)을 열어 메시지를 확인하면 다음과 같이 WinINet 의 에러가 발생해서 호스트에 연결할 수 없다고 나온다.

There are no packages available for installation
Package Control: Attempting to use Urllib downloader due to WinINet error: Error downloading channel. Host not found (errno 12007) during HTTP write phase of downloading https://packagecontrol.io/channel_v3.json.
Package Control: Error downloading channel. URL error [Errno 11004] getaddrinfo failed downloading https://packagecontrol.io/channel_v3.json.
error: Package Control

Package Control 접속이 안되는 이유로 https://packagecontrol.io/installation 에 명시된 설치 파이썬 코드를 다시 실행하고 sublime text 를 다시 시작하면 된다.


[package control 으로 제공되는 패키시 설치하기]
Ctrl + Shift + p 
install 로 검색
package control : install package 선택
원하는 패키지 선택하고 엔터
아래 상태바에 설치 중 및 완료 메시지로 확인 가능

[설치된 패키지 제거하기]
Ctrl + Shift + p 
remove 로 검색
remove package 선택
설치된 패키지 리스트 중 삭제하고 싶은 패키지 선택하고 엔터