vim6.0 Canna + SKK + POBox パッチ
                                                 まっつん<mattn@mail.goo.ne.jp>

□はじめに

  vim は、 Bram Moolenaar 氏による vi クローンです。
  オリジナルは多バイト文字に対応しましたが、文字入力においては XIM やシェルラッ
  パを使用しないと入力できません。よって本パッチにて内部に入力メソッドを組み込
  みます。なお、本パッチにより生じた障害等は保証しかねます。

□ないよう
  本パッチにより以下の機能が働きます。

  ○Canna を使用した漢字入力

     環境変数 CANNAHOST で指定したホストを Canna サーバとして使用し、漢字入力を
     行います。

  ○SKK を使用した漢字入力

     ホームディレクトリ下の .skk-jisyo 、もしくはサーバを使用し、漢字入力を行
     います。

  ○POBox を使用した漢字入力

     POBox サーバを使用し、漢字入力を行います。

□つくりかた

  オフィシャルからソースファイルし、以下のように実行します。

  --- im_custom060 以前 ---
    # cd vim61
    # zcat im_custom???.diff.gz | patch -p0
    # make

    このパッチは既に configure されたソース上から当てます。

  --- im_custom061 以降 ---
    # cd vim61
    # zcat im_custom???.diff.gz | patch -p0
    # ./configure \
        --prefix=/usr \
        --enable-multibyte \
        --enable-canna \
        --enable-skk \
        --enable-pobox

    関連するのは --enable-canna, --enable-skk, --enable-pobox です。
    必要に応じてオプションを変更してください。

  ※ファイル名には、お持ちのパッチのファイル名を使用してください。
  ※本パッチは Windows でも動作します。

  本パッチでは Microsoft Visual C++ 用と UNIX 用の Makefile が用意されて
  います。
  その他の環境でコンパイルされたい方は以下の作業を行ってください。

  コンパイルオプションに -DFEAT_IM_CUSTOM とご使用になるインプットメソッド
  にあわせて・・・

    -DFEAT_CANNA
    -DFEAT_SKK
    -DFEAT_POBOX

  を付加してください。
  次にコンパイルされるソース一覧に、必要となるソース canna.c, skk.c, pobox.c
  を付加してください。またプロトタイプ一覧についても canna.pro, skk.pro,
  skk.pro を付加してください。
  最後に Canna をご使用の場合に限ってライブラリに Canna のライブラリを付加して
  ください。

□つかいかた

  ○Canna を使用した漢字入力

    vim から
        :set imoptions=canna
    と入力し、 <C-\> を押下します。
    入力方法は下記リンクを参照

    Canna では以下の付加オプションが設定可能です。

        ・serv : 辞書サーバ
            set imoptions=canna,serv:localhost

  ○SKK を使用した漢字入力

    vimから
        :set imoptions=skk
    と入力し、 インサートモードにて <C-J> を押下します。
    入力方法は下記リンクを参照

    SKK では以下の付加オプションが設定可能です。

        ・dict : 辞書ファイル
            set imoptions=skk,dict:~/.skk-jisyo
        ・serv : 辞書サーバ
            set imoptions=skk,serv:localhost

  ○POBox を使用した漢字入力

    vimから
        :set imoptions=pobox
    と入力し、 <C-\> を押下します。
    入力方法は下記リンクを参照

    POBox では以下の付加オプションが設定可能です。

        ・serv : 辞書サーバ
            set imoptions=pobox,serv:localhost
        ・port : 辞書サーバポート
            set imoptions=pobox,serv:localhost,port:1178
        ・key  : 変換開始キー
            set imoptions=pobox,serv:localhost,key:28

□りれき
    2003/10/30 : readme.txt 修正
                 skk のトリガキーが C-\ となっていたので修正。
    2003/07/14 : 064リリース
                 --without-x --disable-gui でビルドできない問題を修正。
    2003/06/30 : 063リリース
                 とりあえず 6.2.014 に対応。
    2003/03/31 : 062リリース
                 とりあえず 6.1.423 に対応。
    2002/11/01 : 061リリース
                 configure のパッチが付きました。
                 SKK にて...
                   ユーザ辞書がない場合、終了時に落ちる問題を修正。
                   win32 の警告削除。
                   サーバが複数起動してしまう問題を修正
    2002/10/30 : 060リリース
                 SKK にて...
                   一度ユーザ辞書で見つかると以後、サーバへ問い合わせない
                   問題を修正。
    2002/10/30 : 059リリース
                 has("im_custom") に対応。
                   ビルドオプションにより
                     has("im_custom/canna")
                     has("im_custom/skk")
                     has("im_custom/pobox")
                   が取得可能になった。
                 SKK にて...
                   [かな]、[カナ]、[全英]の時にスペース挿入と記号の入力が
                   がおかしかったのを修正。
                   [かな]の時に q を押下した後でモード表示が更新されて
                   いなかったのを修正。
    2002/10/29 : 058リリース
                 ui.c に xic の既述があった為、 --disable-xim でコンパイル
                 出来なくなっていたのを修正。
    2002/10/11 : 057リリース
                 SKK にて...
                   送り仮名の処理で SEGV するバグを修正。その2
                   だんだん quickhack のしわよせが現れ始める。(^_^;)
    2002/10/10 : 056リリース
                 SKK にて...
                   送り仮名の処理で SEGV するバグを修正。
    2002/10/10 : 055リリース
                 SKK にて...
                   ローマ字エントリ、バックスペース時の処理等を修正。
    2002/10/10 : 054リリース
                 Canna にて
                   ESCを押してから、再び入力モードに入った場合、
                   alpha-mode に戻ってしまう、という不具合を修正。
                 2002/10/03 の skk.c を取り入れ。
    2002/10/03 : skk.c を一時的にリリース
                 候補が空の時、Ctrl_G を vim に流すよう修正。
                 Win32 にて動作がおかしかったのを修正。
    2002/09/06 : 053リリース
                 SKK にて...
                   「関して」が入力出来ない問題を修正。
    2002/09/02 : 052リリース
                 パッチ171用にリメイク。
                 SKK にて...
                   全角アルファベット入力で「,.」が入力できるよう修正。
    2002/08/30 : 051リリース
                 SKK にて...
                   portを指定できるよう変更。
    2002/07/24 : 050リリース
                 showmode, getchar に関してAIDAさんのロジックを頂く。
                 Canna にて...
                   AIDAさんのロジックを頂く。
                 screen.c のパッチマージによりリメイク。
    2002/06/24 : 049リリース
                 SKK にて...
                   全角英数モードで記号が入力出来るよう修正。
    2002/06/14 : 048リリース
                 SKK にて...
                   細かなバグ修正。
    2002/06/14 : 047リリース
                 Canna にて...
                   just.canna や skk.canna では自らモードが作れてしまうため、
                   ESC にて挿入モードを抜けてしまうと問題があった。
                 SKK にて...
                   挿入モードを SKK の半角英数モードで実装するよう変更。
                   「じゃ」のテーブルが無かった
                   「はいった」とか「なかった」が入力出来なかったのを修正。
                   ※ SKK の挿入モードについて考え直す必要がある。
    2002/06/14 : 046リリース
                 SKK にて...
                   バックスペースで遲り仮名を消し忘れ。
    2002/06/14 : 045リリース
                 SKK の変換ロジック全面見直し。
    2002/06/14 : 044リリース
                 SKK にて...
                 デバッグプリントが残っていたのを修正。
                 「NokoTteita」が「残っていた」に変換出来ないのを修正。
                 ※だいぶ SKK の動きに近くなってきた。
    2002/06/13 : 043リリース
                 バックスペースの動きがおかしかったのを修正。
                 その他、全体的に修正。
    2002/06/13 : 042リリース
                 SKK にて...
                   辞書を遅延ロードするよう変更。
    2002/06/12 : 041リリース
                 SKK にて...
                   登録後の最初の1もじが有効にならないバグを修正。
    2002/06/12 : 040リリース
                 039のフィックス
                 SKK にて...
                   「fafifufefo」で「ふぁふぃふふぇふぉ」となるよう変更。
    2002/06/12 : 039リリース
                 SKK にて...
                   変換中の Ctrl-G で候補/仮入力/消去となるよう変更。
                   変換中の x で候補を逆送りするよう変更。
    2002/06/11 : 038リリース
                 SKK にて...
                   Ctrl-G で仮入力をキャンセル出来るように修正。
                   「っ」の処理を全面的に見直し。
                   「送る言葉」を「▽Okuru Kotoba」でも出せるように変更。
    2002/04/23 : 037リリース
                 SKK にて...
                   「送る言葉」を「▽OkuRuKotoba」で出せるように変更。
    2002/04/23 : 036リリース
                 SKK にて...
                   emacsの動作を若干まねる。
    2002/04/22 : 035リリース
                 SKK にて...
                   wskkserv(Win32)ではリザルトコードが4の場合、続く改行も返さ
                   ないのでハングする問題で、実は 0x00 のみ返す罠を修正。
    2002/04/22 : 034リリース
                 Win32にて登録語の文字化け修正
    2002/04/19 : 033リリース
                 iminsertにて開始しないバグを修正。
                 でも終了しない...。
    2002/04/19 : 032リリース
                 変換ロジックを大幅見直し。
                 AIDAさんのロジックを頂く。
                 これにより"▽OkonaU"等がハングする問題が解決。
    2002/04/18 : 031リリース
                 SKK にて...
                   wskkserv(Win32)ではリザルトコードが4の場合、続く改行も返さ
                   ないのでハングする問題を修正。
                   変換開始キーを追加。
                 Canna にて...
                   (setq bunsetu-kugiri nil) が有効にならないので、とりあえず
                   jrKanjiControl(0, KC_SETBUNSETSUKUGIRI, (char*) &ksv);
                   の処理をコメントアウト。
                   set noshowmode の場合、[あ]などモード行が表示されたままなの
                   を暫定的に修正。
    2002/04/17 : 030リリース
                 T_MEによる回避策はやはりまずい気がしてきたので
                 AIDAさんにならってscreen.cを修正。
                 Canna にて...
                   未入力中にカーソルやバックスペースが効くように修正。
    2002/04/17 : 029リリース
                 変換後のキー入力で候補を確定するようにした。
    2002/04/17 : 028リリース
                 SKK にて...
                   動作をIMEスタイルに戻す。
                   登録については中々の動作。
    2002/04/16 : 027リリース
                 SKK にて...
                   新規追加した単語をさっそくつかうと落ちる問題を修正。
    2002/04/16 : 026リリース
                 AIDA Shinra さんの skk.c をごっそり貰う。
                 感謝 : AIDA Shinra さん m(_ _)m。
    2002/04/16 : 025リリース
                 良かれと思って入れた no_mapping の処理だったが、
                 不調なため削除...。
    2002/04/16 : 024リリース
                 SKK にて...
                   あ行の送り仮名処理がおかしかったのを修正...。
                   が治っていなかったのを修正。
    2002/04/16 : 023リリース
                 SKK にて...
                   あ行の送り仮名処理がおかしかったのを修正。
    2002/04/16 : 022リリース
                 ワーニングなどもろもろ修正。
                 021には tags ファイルが引っ付いてました m(_ _)m。
                 アナウンス方法を考える必要あり...。
    2002/04/12 : 021リリース
                 SKK にて確定時の候補が消えてしまうバグを修正。
    2002/04/11 : 020リリース
                 Canna,SKK にてモードの位置がおかしいのを修正。
    2002/04/11 : 019リリース
                 SKK にて"あ行"の送り仮名処理がおかしいのを修正。
    2002/04/08 : 018リリース
                 SKK にてバックスペースを1文字削除へ変更。
                 (1日に3つもリリースしてていいのか?)
    2002/04/08 : 017リリース
                 POBox にて候補選択なしに決定を行うとサーバへ以上な候補(-1)
                 を送信してしまうバグを修正。
    2002/04/08 : 016リリース
                 015リリースミス...。
    2002/04/05 : 015リリース
                 vim6.1用にリメイク。
                 SKKの登録時にカーソルが最下部にないのを修正。
    2002/02/18 : 014リリース
                 POBox にてフォーマットが SKK ならば SKK っぽく動作するよう
                 に修正。
    2002/02/18 : 013リリース
                 Canna で F1 を押下すると落ちるバグ修正。
    2002/02/15 : 012リリース
                 SKK と POBox は同じポートを使用するため、フォーマットの
                 違いから無限ループに落ち入っていた問題を解決。
                 POBox の Win32 対応。
    2002/02/15 : 履歴を付けだす。

□さんこう

    Canna:
        http://www.nec.co.jp/canna/
    SKK:
        http://openlab.ring.gr.jp/skk/index-j.html
    POBox:
        http://www.csl.sony.co.jp/person/masui/OpenPOBox/

□はいふ
    GPL に従います。
    vim 本体は
      http://www.vim.org/
    からダウンロードして下さい。

    Debian 等でパッケージを作成する場合、win32 関連のファイルにパッチが当らない
    ように本ファイルから削り取って下さい。

□ざんかだい
    ・SKK にてバックスペースやカーソルによるインライン編集
        (登録部はほぼ完了)
    ・Vine Linux + vim6.1 + im_cunstom + canna で日本語入力すると
        確定すると [[[[[[36;111H7 といった具合に文字化するという噂。

□しゃじ
    以下の方に謝辞を送ります。
      AIDA Shinra さん
         canna, skk に関して多くのヒントといただきました。

      寺田 学 さん
         configure.in をいただきました。

      その他 2ch Vim6 Part4,Part5 の皆さん

□こめんと
    どなたでも手伝っていただけると非常にありがたいです。

 vim:set ts=8 sts=2 sw=2 tw=78 et: