SubmineのWindows版で"UnicodeEncodeError"が出て「Package Control: Install Packages」が使えない人へ

毛利です。

※タイトルの内容のみが知りたい人は最後のブロックへ

はてブで知ったSublime Text。

使ってわずか10分でメインエディタを変えてしまったSublime Text (ST2)がめちゃめちゃ使いやすい件 - YATのBlog


Windows秀丸で十分気に入ってるんだけどMacはCotEditorを使っててなんかイマイチ。
統一もしたいなと思っていたところに、マルチプラットフォームWindows, Mac, Linuxで動作するらしい)の評判良さげなエディタが出たので仕事中にインストール、タイトルの件で格闘(笑)


日本語で使う場合はちょっと面倒のようなので、簡単に流れを書くと(ダウンロードしたURL勝手にリンクさせてもらいます)

  1. インストール(http://www.sublimetext.com/2
  2. 起動
  3. 日本語化(http://blog.huwy.org/article/292827228.html
  4. インライン化(https://github.com/chikatoike/IMESupport
  5. Package Controlをインストール(してプラグインで遊ぶ。私はここでエラー。後述)

終わってから書くと、こんな感じかな。


注)本記事は Windows 版(非 64bit)の Sublime Text 2.0.1 について記述します。但し記事作成は自宅(Mac)で行っており検証しながらではないため、内容に正確さを欠くところがあるかもしれません。ご了承下さいませ。

インストール

こちらからプラットフォームに応じたインストーラーをダウンロードしてインストール。
本記事執筆時点で 2.0.1。

Sublime Text - Download

起動

起動してみる。

メニューバーから「Preferences > Browse Packages」を選択するとExplorerが立ち上がるはず。
次へ。

日本語化

立ち上がったExplorerはそのままで作業。

こちらで日本語化のパッチを作ってくださってます。

【Windowsアプリケーション】Sublime Text 2 メニュー日本語化: ゆーがいぶろぐ

上記の記事の「Userフォルダに置いても」というのは立ち上がったExplorerが表示しているフォルダ内にあるUserフォルダのことを指します。
ここに置いてもオーバーライドされないので、Defaultフォルダ配下のファイルを差し替えるとのこと。ここで、オリジナルファイルのバックアップを取ります。


立ち上がってるExplorerのフォルダからdefaultフォルダに入って、以下のファイルをバックアップします。

その後、上記記事において公開してくださっているファイルをダウンロードして配置。
(この作業が終わってもExplorerは閉じない)

メニューバー( Main.sublime-menu : 50,537 Byte)
https://docs.google.com/open?id=0B_dAu5x064QTWW5TQ2p0NzRPZTQ

コンテキストメニュー( Context.sublime-menu : 688 Byte)
https://docs.google.com/open?id=0B_dAu5x064QTZ1lZaXpmS3ZMQ0U

配置したらSublimeを一旦終了して起動(再起動)。
メニューバーは英語のままだけど、メニューバーのいずれかをクリックすると日本語されたメニューが表示されます。

インライン化

これもExplorerはそのままで作業。

なぜこの作業が必要かというと、日本語(IME等)がONだと、カーソルの場所にタイプした文字が表示されず、私はカーソルの場所からかけ離れたデスクトップの左下の方に表示されました。
(百聞は一見にしかずということで、日本語入力してみると分かる)

ということで、日本語入力をインラインで表示するためのプラグインを導入。
後述するPackage Controlでの導入対象には登録されてないようなので「ZIPをダウンロード→解凍→Packageフォルダへ放り込む」という手順。

chikatoike/IMESupport · GitHub

以下の「ZIP」をクリックしてダウンロード。

解凍して「Preferences > Browse Packages」で立ち上がるフォルダへ放り込む。(だったと思う)

Package Controlをインストール

Sublimeはいろんなプラグインの追加(平たく言えば機能追加)が可能なんだけど、よく書かれてるようにPackage Controlをインストールしても出来なかった。一般的?な手順はこちら。

Installation

Installation is through the Sublime Text 2 console. This is accessed via the ctrl+` shortcut. Once open, paste the following command into the console:

import urllib2,os; 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())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

  • ctrl+`
  • 「import urllib2,os;」で始まる一連のコマンドを貼り付け

です。

ただ、私の場合はSublime再起動後、以下のメッセージでエラー。

Exception in thread Thread-1:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\Package Control.py", line 2378, in run
File ".\Package Control.py", line 1686, in record_usage
File ".\Package Control.py", line 1007, in download_url
File ".\Package Control.py", line 602, in download
File ".\urllib2.py", line 126, in urlopen
File ".\urllib2.py", line 391, in open
File ".\urllib2.py", line 409, in _open
File ".\urllib2.py", line 369, in _call_chain
File ".\Package Control.py", line 92, in https_open
File ".\urllib2.py", line 1133, in do_open
File ".\httplib.py", line 910, in request
File ".\httplib.py", line 947, in _send_request
File ".\httplib.py", line 904, in endheaders
File ".\httplib.py", line 776, in _send_output
File ".\httplib.py", line 735, in send
File ".\Package Control.py", line 71, in connect
File ".\ssl.py", line 350, in wrap_socket
File ".\ssl.py", line 113, in __init__
UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-32: ordinal not in range(128)


原因は、Windowsのユーザ名がカタカナ+漢字(マルチバイト文字 全般と思われる)だったからの様子。
(ユーザ名作ったのはオレじゃない!)

UnicodeEncodeError when installing packages (https problem) · Issue #125 · wbond/sublime_package_control · GitHub

ということで、手動インストール。

1. In Sublime Text, click the Preferences > Browse Packages… menu entry
2. Browse up a folder and then into the Installed Packages folder
3. Download http://sublime.wbond.net/testing/Package%20Control.sublime-package and copy it into the Installed Packages directory
4. Restart Sublime Text

  1. メニューバーから「Preferences > Browse Packages」を開く(Explorerが開く)
  2. 一つ上のフォルダへ移動
  3. http://sublime.wbond.net/testing/Package%20Control.sublime-package をダウンロードして「Installed Packages」に放り込む
  4. Sublime Textを再起動

これでOKでした。(既に「import urllib2,os; 〜」でインストール済みの場合は上書き)

ちなみに、私はここに来るまでいろいろいじったからかうまく行かなかったので、

  • 一旦 Sublime Text をアンインストール(アプリケーションの追加と削除より)
  • 「C:\Users\[ユーザ名]\AppData\Roaming\Sublime Text 2」を削除
  • Sublimeのインストールに戻る

を実施。


近いうちにMacにも入れてみようっと。


いじょ。