vim-jp / issues

有志で既知のバグや要望を検討・管理し、オフィシャルへの還元をしていきます。
https://vim-jp.org/
342 stars 11 forks source link

CUIでもimaf/imsfを使いたい #444

Open koron opened 11 years ago

koron commented 11 years ago

xfce4-term 上の CUI vim でも imaf/imsf によるIME制御を行いたい と考えて パッチ+プラグイン を作ってみました。

imaf の呼び出されるタイミングと、 im_save_status() の実行条件を少しいじりました。

これで動いてはいますが以下の点についてモヤっとしてます。

アドバイス・議論などいただけると助かります。


不具合 and 動作報告時はIMEとtermの種類を教えてください。 動かない時はOSとかも教えてくれるととても助かります。

ynkdir commented 11 years ago

おつかれさまです。 とりあえずうちでも動きました。 うちだと GuiEnter だとあやしくて FocusGained が確実っぽいです。ibus の初期化関係かなんかで。

koron commented 11 years ago

GuiEnter だとあやしくて FocusGained が確実っぽいです。ibus の初期化関係かなんかで。

それは gvim のほうですか?

ynkdir commented 11 years ago

gvim です。

koron commented 11 years ago

FocusGained の説明書きに

few console versions where this can be detected.

ってありますが… gui_running チェックしてるから大丈夫か。

koron commented 11 years ago

とりあえず imcsc-vim (Input method control scripts collection) なるプロジェクト作りました。 pyibus.vim は ibus-py.vim に名前を変えました。 で GuiEnter は FocusGained に変えました。

あと誰か UIM-FEP の動作確認してくれる人いたら、協力をお願いします。

koron commented 11 years ago

gvim です。

vim (GUI term上のCUI)のほうでも試してもらえると嬉しいです。 報告時はIMEとtermの種類を教えてください。

ynkdir commented 11 years ago

CUI は ubuntu の ibus + gnome-terminal です。

koron commented 11 years ago

@ynkdir ありがとうございます!

koron commented 11 years ago

うちだと GuiEnter だとあやしくて FocusGained が確実っぽいです。ibus の初期化関係かなんかで。

これFocusGainedは関係なくて、Pythonの読み込みをGuiEnter以降にしてあげる必要がありました。 Python読み込んだ時にibusの初期化しちゃうんで、そこで止まってた。

最新のスクリプトはこんな感じです。

https://github.com/koron/imcsc-vim/tree/master/ibus-python/plugin

saitoha commented 11 years ago

CUI vim時に xfce4-term などのターミナル判定をしたい

xfce4-terminalはVTEベースなので+termresposeであればv:termresponseの値が

^[ [ 1 ; <4桁の整数> ; 0 c

となります。他のVTEベースの端末と見分けることは、応答をとる手法では難しいです。(参考:http://qiita.com/kefir_/items/0bda5e55f43392420d66)

deton commented 11 years ago

uimfep-vimの動作を試しました。 imsfとimafの設定値が逆だったので、そこを修正すれば動作しました(pull request済)。 vim側のi_CTRL-^でIMのON/OFFが切り替えられることも確認しました。

ついでに、uimを制御するスクリプトuim-ctlsoを追加するpull requestも送りました。 Nakadairaさんのuim-ctl をimsf/imaf用に調整したものです。

動作を確認した環境を、以下の表にまとめます。

script vim IM terminal
uimfep-vim CUI vim uim-fep kterm
uim-ctlso gvim-gtk2 uim-gtk2 -
uim-ctlso CUI vim uim-xim kterm
uim-ctlso CUI vim uim-fep kterm
mattn commented 11 years ago

おぉ...

koron commented 11 years ago

全部 merge しました。

@deton Thanks!