Sublime Text 2

서브라임 텍스트 2에 대한 수업입니다.

Sublime Text 2 서브라임 텍스트 2에 대한 수업입니다.

패키지 - 확장기능

서브라임의 기본 기능을 확장하는 패키지를 설치 삭제하는 방법을 알아본다

패키지란?

서브라임이 기본적으로 제공하는 기능을 확장하는 프로그램으로 통상 플러그인, 확장기능, 패키지, third party와 같은 이름으로 불린다. 서브라임는 확장기능을 만들 수 있도록 되어 있어서 필요에 따라서 확장기능을 만들어서 기본 기능을 향상시킬 수 있다. 

Sublime Package Control

확장기능을 직접 설치하는 방법은 다소 불편하다. Sublime Package Control이라는 기능을 이용하면 Sublime text을 떠나지 않고도 확장기능을 설치 할 수 있다. 확장기능을 설치하는 확장기능이라고 할 수 있다. 

Sublime Package Control 설치

메뉴 View > Show Console 을 선택해서 Console 창을 열고 아래의 명령어를 입력하고 Enter를 친다. 그리고 에디터를 재시작한다.

Sublime Text 2

import urllib2,os,hashlib; h = '2deb499853c4371624f5a07e27c334aa' + 'bf8c4e67d14fb0525ba4f89698a6d7e1'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

Sublime Text 3

import urllib.request,os,hashlib; h = '2deb499853c4371624f5a07e27c334aa' + 'bf8c4e67d14fb0525ba4f89698a6d7e1'; 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 Pacakge Control을 설치하면 Command Palette에서 Sublime Pacakge Control을 사용 할 수 있게 된다. Command Palette를 실행하려면 메뉴 Tools > Command Palette ​를 선택한다. 그리고 Package를 입력하면 Package Control의 명령들이 아래와 같이 나타난다. 

위에서 중요한 명령은 아래와 같다.

  • Install Pacakge : 패키지를 설치하는 명령
  • List Package : 설치된 패키지 목록을 보여준다.
  • Remove Pacakage :  패키지를 삭제한다.

패키지 설치

Command Palette에서 Package Control : Install Pacakge 를 입력한다. 그럼 설치할 수 있는 패키지가 리스트업된다. 이 중에서 원하는 패키지를 선택하면 설치가 끝난다. 패키지마다 사용방법이 다르기 때문에 패키지의 홈페이지를 방문해서 사용방법을 익힌다. 

패키지 삭제

Command Palette에서 Package Control : Remove Pacakge 를 입력한다. 그럼 설치된 패키지의 항목이 나타나는데 삭제를 원하는 패키지를 선택하면 삭제된다. 

패키지 검색

아래 페이지를 통해서 Sublime Text의 패키지를 검색 할 수 있다. 

http://wbond.net/sublime_packages/community

추천 패키지

http://opentutorials.org/module/406/3608

댓글

댓글 본문
작성자
비밀번호
  1. 망고데이
    코드 수정이 필요할것같아요 ㅜㅜ
    3
    import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; 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)

    리스타트가 뜨지 않네요,,
  2. rivernd@naver.com
    코드 수정이 필요할 것 같아요
    3
    import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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)
  3. 란셋
    Package 설치: sublime text 2 (2016.7.17)

    import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
  4. itprart
    감사 합니다. 오류 해결 됬습니다. 링크에서 복사 해 하니 해결 되는 군요... ~~ 감사...
    대화보기
    • PackageControl
      Sublime Text 2
      import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

      Sublime Text 3
      import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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)
    • JustStudy
      고맙습니다
    • 곰돼끼
      감사합니다!
      대화보기
      • 대갈통
        urllib.error.URLError: <urlopen error [WinError 10060] 연결된 구성원으로부터 응답이 없어 연결하지 못했거나, 호스트로부터 응답이 없어 연결이 끊어졌습니다>

        sublime text 3 - 패키지 컨트롤 설치시 위와 같은 에러 메세지가 나오는데... 회사 방화벽 때문인가요? 경험해 보신분 계신가요?
      • sSll바버미니llSs
        감사합니다!
        대화보기
        • 김선호
          Thank you!
          덕분에 설치를 완료했네요~~~
          대화보기
          • Sang-il Lee
            설치 명령을 직접 적지 말고 링크로 대체 부탁드립니다. 해쉬값이 변경될 수 있고, 사이트에도 절대 설치코드를 다른 곳에 적지 말도록 요구하고 있습니다.

            설치 안되시는 분들은 https://packagecontrol.io......ion 로 가셔서 설치 코드를 직접 확인하시기 바랍니다.
          • 김정현
            감사합니다
            대화보기
            • SeonHwa Kim
              감사합니다.
              대화보기
              • 유성철
                버전이 올라 갈때 마다 패킹의 정보가 바뀌는 듯 합니다.
                현재 버전의 패키즈 명령어는 https://packagecontrol.io......ion 에서 확인 가능합니다.

                - 현재 text-2 일때
                import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

                -text-3 일때
                import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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)

                사용가능합니다.
              • 강동화
                저도 그러네요. 아시는분 팁좀 주실수 있는지요?
                Error validating download (got 2915d1851351e5ee549c20394736b4428bc59f460fa1548d1514676163dafc88 instead of eb2297e1a458f27d836c04bb0cbaf282d0e7a3098092775ccb37ca9d6b2e4b7d), please try manual install
                대화보기
                • 킴리스코프
                  sublime text2에서 BraketHighliter 패키지 설치후, 정상적으로 적용되지 않으신 분은 아래 설정해보세요.

                  Preferences > Package Settings > Bracket Hightlighter > Bracket Setting Default 클릭

                  아래 내용을 찾아 수정

                  -- 변경전 --
                  "default": {
                  "icon": "dot",
                  // BH1's original default color for reference
                  //"color": "entity.name.class",
                  "color": "brackethighlighter.default",
                  "style": "underline"
                  },

                  -- 변경후 --
                  "default": {
                  "icon": "dot",
                  // BH1's original default color for reference
                  "color": "entity.name.class",
                  //"color": "brackethighlighter.default",
                  "style": "solid"
                  },
                • 아!
                  이걸로 하니까 1 Missing 어쩌고 하네요.

                  1 missing dependency was just installed. Sublime Text should be restarted, otherwise one or more of the installed packages may not function properly.
                  대화보기
                  • Demian Kang
                    딤채님의 아래 글의 내용으로 정상 설치했어요. 고맙습니다.

                    Sublime text2의 경우 아래를 카피엔페이스트해보세요.

                    import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
                  • 강예림
                    감사합니다 댓글 보고 설치했네요!
                  • 껭끼
                    저도 BraketHighliter 설치가 안되네요 윈도우 8쓰는데 무슨이유가 멀가요?ㅠ
                  • dorosi
                    안되서 당황했는데 바로 댓글보고 설치했습니다. 감사합니다. ^^
                    똑똑하신 분들이 참 많은거같아요 ^^
                    대화보기
                    • 웅크린달빛
                      Sublime Package Control 인스톨시 에러 나시는 분들은 아래 사이트에서 직접 복사해서 붙여넣으시면 됩니다.
                      인스톨 명령은 릴리즈에 따라 조금씩 바뀔수 있다고 적혀 있네요
                      sublime 3
                      https://packagecontrol.io......st3
                      sublime 2
                      https://packagecontrol.io......st2
                    • 딤채
                      Sublime text2의 경우 아래를 카피엔페이스트해보세요.

                      import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
                    • 송효진
                      감사합니다!
                      대화보기
                      • 트러스트킴
                        가끔 동일하게 안될 때가 있더군요. 나중에 다시 시도하니 되기도 했습니다. 수동으로 다운로드 하여 설치할 수도 있는데요. 다음 링크의 Manual 섹션을 참고하시기 바랍니다.

                        https://packagecontrol.io......st2
                        대화보기
                        • Noah Bhang
                          메뉴 View > Show Console 을 선택해서 Console 창을 열고 아래의 명령어를 입력하고 Enter를 친다. 그리고 에디터를 재시작한다.<= 라고 했는데 Enter치고나면 창 말미에
                          " Error validating download (got eb2297e1a458f27d836c04bb0cbaf282d0e7a3098092775ccb37ca9d6b2e4b7d instead of 2deb499853c4371624f5a07e27c334aabf8c4e67d14fb0525ba4f89698a6d7e1), please try manual install "
                          이글이 뜨면서 재 설치해도 설명처럼 실행되지 않습니다. 어떻해야죠?
                        • Mingook Kim
                          Bracket Higlliter를 설치했는데요
                          저는 이고잉님처럼 하이라이트가 색상이 없고
                          그냥 밑줄만 생기는데
                          다른설정을 해줘야 하나요?
                        • 박소
                          강의에서 결국 단축키 충돌해서 모니터 화면이 돌아가는 문제 해결방법이 안 나와서요ㅜㅜ 화면이 돌아가면 Ctrl + Alt + 방향키 단축키 사용을 못하나요??
                        • 윤돌이
                          안녕하세요.
                          동영상 잘보고있습니다.
                          그런데 시간이 꽤 지나서 그런지 패키지 매니저 설치라는 부분이 사라졌는데,
                          어디가면 받을수 있나요?;;;
                        • 나무마루
                          THANK YOU.
                        • bin99
                          패키지가 성공적으로 설치되었다는 말은 나오는데,
                          막상 패키지 리스트도 안뜨고 설치도 안되네요 ㅠㅠ
                          윈도우8 쓰는데, 설치하신 분들은 팀 좀 주세요~ ㅠㅠ
                        • kipid
                          Sublime Package Control 공식 사이트
                          https://sublime.wbond.net......ion

                          "WARNING: Please do not redistribute the install code via another website. It will change with every release. Instead, please link to this page."
                          라네요. 릴리즈 되는 것마다 까는 방법이 다르다니까 위 홈페이지 가셔서 복사해서 설치하시길.
                          st3, st2 까는 법이 살짝 다른듯 하네요.
                        • Daniel
                          패키지가 아예 설치안되네요. ㅜㅜ BraketHighliter부터 깔아보려고 했는데, 설치조차 안되요. 혹시 윈8은 안되나요?
                        • 빵군
                          감사합니다. 설치가 되네요.
                          대화보기
                          • 티케
                            서브라임 써보려고요 :)
                            잘 봤습니다.
                            pa co ins 잘 되네요.
                            이런 편리한 확장기능이 있다니.
                            감사합니다.
                          • 애용자
                            Sublime Text3에서 Package Control 설치 하려면 아래것으로 사용해야 하더라구요.
                            import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
                          • rango
                            인스톨을 해도 설치가 안되는 이유는 무엇일까요?...
                          • Guest
                            패키지 설치를 해도 리스트에 안나타나네요...뭐가문제인가요?ㅠㅠ
                            놋북을 껏다가 켜봐야하나..프로그램 껏다가 다시 켜서 확인해도 안나타나네요;;
                          버전 관리
                          egoing
                          현재 버전
                          선택 버전
                          graphittie 자세히 보기