ulipad - python editor based on wxPython - Google Project Hosting
そもそもは、Sphinx なんだけれど。
Sphinx いじる -> ReST 覚えてないので間違えて入力 -> ビルドしたらエラー -> ムキー!
という流れ。
ReST 初心者にとって、リアルタイムプレビュー機能の必要性を痛感しました。はい。
というわけで、ReST のリアルタイムプレビュー機能を搭載したローカル エディタを探しまわって見つけたのが UliPad。
ちなみにブラウザベースなら Online reStructuredText editor もあるけれど、ブログのコメント書くレベルならともかく、長文はオンラインじゃ やっぱ厳しいと思う。
で、UliPad に話を戻して。
これは本来、軽量 Python IDE の部類かなとも思うけれど、汎用テキスト エディタとしても使える。作者さんがドキュメントを ReST で書いているからだと思うけれど (UliPad 自体のマニュアルが ReST で書かれている)、ReST モードが最初っから (プラグインとかじゃなく標準で) 存在しているのが、いい。
でも、日本語入力しようとすると、インラインじゃなく、IME のウィンドウがデスクトップの左上隅に出てくるのですよ (あ、Windows 7 上の話です)。これは痛い。
Python のコーディングがメインなら、たぶん気にしない。でもこちとら Sphinx で日本語のドキュメント書こうと思ってるわけで。
作者さんが英語圏の人だったら、まあ仕方がないかなとも思うのだけれど、北京在住の中国人の方らしい。
ブログを覗いてみる。
Ulipadlimodou的学习生活_百度空间
UliPad のスクリーンショットを見ると ふつうに中国語が書かれていますね。作者さんは IME の問題に当たってないんだろうか。Linux 環境なら問題ないん?
というわけで ちょっと調べてみた。
どうも UliPad の問題というよりは、UliPad が GUI に使っている wxPython ライブラリ (がバインドしている wxWidgets) の問題っぽい。wxPython ライブラリに依存している Editra など他のエディタも、軒並み同じ問題を抱えている模様。
- 高機能なテキストエディタEditraと日本語入力について - きままなたぐりぶろ(日記)
- Editra Gui Designer いいなぁと思ったけど、まだ実現は先なのね - 傀儡師の館.Python - 楽天ブログ(Blog)
何年も前から指摘はされているものの、wxWidgets にフィードバックする方がいないらしく、未だに直っていない感じ。今まで直っていないのに、待っていたらそのうち直る…と思える根拠も、特に見当たらない。
自力でなんとかするなら、以下が参考になりそう。
- wx.stc.StyledTextCtrlで変換候補を正しく表示 - None is None is None
- wxPython での IME 操作についていくつか - miauの避難所
- miau / staccato_editor / overview — Bitbucket
StaccatoEditor っていうのがあるの? これ Python スクリプト 1 ファイルだけで できてる! おもしれー。おっと脱線。
というか、すでに改修版のパッチが配布されていますね。
wxstcの日本語入力(ただしWindows版のみ) - きままなたぐりぶろ(日記)
いや、Win だけでも感謝。ありがとうございます。
Win に patch コマンドって無いよね? この辺から DL するのかな。
Patch for Windows
で、次は wxPython or wxWidgets を Win でビルドする必要があるみたいですが、どうするのかな?
とりあえず、以下を読んでみる。←今ココ
- wxBlog: Choosing gcc for building wxWidgets under Windows
- Building wxPython 2.8 for Development and Testing
というわけで、なんで自分が今コレをやっているのか そろそろ思い出せなくなりかけているので、いったんブログに吐き出してみた。
しかし Sphinx で快適文書生活を送ろうとしただけなのに、クリスマス・イヴ前日に MinGW で wxWidgets をコンパイルする手順を確認している自分。
どうしてこうなった…。
> 日本語入力しようとすると、インラインじゃなく、IME のウィンドウがデスクトップの左上隅に出てくるのですよ
返信削除Sublime Text というテキストエディタでもそうなるので、参考にさせていただいています。