トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Linux:SublimeTextで日本語入力できるようにする のバックアップ(No.3)


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()

これで、動くようになるはずです。