Linux:SublimeTextで日本語入力できるようにする のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Linux:SublimeTextで日本語入力できるようにする へ行く。
- 1 (2013-06-02 (日) 14:16:31)
- 2 (2013-07-05 (金) 15:06:55)
- 3 (2013-08-24 (土) 02:14:21)
Linux:SublimeText?で日本語入力できるようにする †
インストール方法は以下の2種類
- sublimeのPackageController?からインストール
- ソースを直接インストール
PackageController?については割愛。
ソースから直でインストールする方法としては、以下のコマンド2発です。
これで、InputHelper?というプラグインがインストールされます。
cd ~/.config/sublime-text-2/Packages git clone https://github.com/xgenvn/InputHelper.git
して、Sublime起動して、「Ctrl+Shift+Z」を押すと入力用ダイアログが表示されて、iBusで日本語入力が出きるようになります。
入力が完了したら「Ctrl+Enter」で日本語が入ります。
、、、
が、CentOSだと動きません。
原因は
- InputHelper?が要求するpygtkのバージョンが2.22以降
- CentOS6系でインストール可能なpygtkのバージョンは2.18 ということです。
具体的には、このプラグインが使っている実装で、gtk.Entry.get_bufferメソッドを使用してますが、これがpygtk2.22以降に提供されているメソッドだからです。
最初は、CentOSに入っているpygtkを新しくしようと思っていろいろ調べていましたが、ソースいじったほうが早そうだったので、以下にパッチを載せます。
動かすためのパッチ †
Sublimeのパッケージは以下のディレクトリに格納されます。
- /.config/sublime-text-2/Packages
この中の「InputHelper?/lib」ディレクトリに入っている以下のファイルがパッチ対象です。
- linux_text_input_gui.py
このファイルの18行目から始まるprint_textメソッドがパッチ対象です。
パッチの内容は
- 19行目、20行目をコメントアウト
- 21行目に「print self.textInput.get_text();」を追加
パッチ適用後のprint_textメソッドの内容を以下に記載します。
def print_text(self): # buffer = self.textInput.get_buffer() # print buffer.get_text() print self.textInput.get_text()
これで、動くようになるはずです。