2012-05-01 bim(bouzuya's Input Method for Vim)1.0の公開
bim 1.0を公開した。説明が面倒なので、以下にドキュメントより抜粋する。最後に開発状況と使用時の注意点を記載しているので、最後までざっとで良いので目を通すこと。
概要
bim はVimで動く日本語入力システムである。次のような特徴を持つ。
- ローマ字入力に対応する。かな入力には対応していない。
- SKK(*1)と同様に文法的知識を用いない「かな→漢字」変換機構を持つ。
- SKKで言うところの入力モード・変換モードを持たない。 カタカナが必要な場合には、文字入力後にカタカナに変換する。
- Microsoft IME(*2)と同様に入力した文字は既定で未確定状態である。
かな漢字変換にはSKK辞書を必要とする。
*1: SKKは、佐藤雅彦氏により開発されたかな漢字変換プログラム。 http://openlab.ring.gr.jp/skk/ *2: Microsoft IMEは、Microsoftにより開発された日本語入力システム。
使い方
:BimEnableでbimを有効にする。
「入力された文字」は変換により「変換された文字」になり、 「変換された文字」は確定により「確定された文字」になり、 「確定された文字」は反映によりバッファなどに反映される。
変換・確定・反映、およびその他の操作を示す。
<Space>
読み仮名を漢字に変換する。変換。
;
変換された文字を確定する。確定。
確定された文字のみの場合はバッファなどに反映する。
反映。
q
読み仮名をカタカナに変換し、確定。
確定された文字のみの場合はバッファなどに反映する。
反映。
l
入力した文字をそのまま確定する。確定。
確定された文字のみの場合はバッファなどに反映する。
反映。
:
送り仮名の入力を開始する。
実際の操作例を示して、表示について説明する。まず、送り仮名がない場合の例を示す。
入力された文字: a
表示される文字: [あ|] [a|]
(1/3)[ 亜 吾 彼 阿 婀 痾 唖 ]
入力された文字: i
表示される文字: [あい|] [ai|]
(1/4)[ 愛 相 藍 間 合 亜衣 哀 ]
入力された文字: <Space>
表示される文字: [愛|] [ai|]
(変換操作) (1/4)[*愛* 相 藍 間 合 亜衣 哀 ]
入力された文字: ;
表示される文字: 愛[|] [|]
(確定操作) (1/1)[]
入力された文字: ;
表示される文字:
(反映操作)
次に送り仮名がある場合の例を示す。
入力された文字: a
表示される文字: [あ|] [a|]
(1/3)[ 亜 吾 彼 阿 婀 痾 唖 ]
入力された文字: i
表示される文字: [あい|] [ai|]
(1/4)[ 愛 相 藍 間 合 亜衣 哀 ]
入力された文字: :
表示される文字: [あい]| [ai]|
(送り開始) (1/4)[ 愛 相 藍 間 合 亜衣 哀 ]
入力された文字: s
表示される文字: [あい]s| [ai]s|
(1/1)[ 愛 ]
入力された文字: areru
表示される文字: [あい]される| [ai]sareru|
(1/1)[ 愛 ]
入力された文字: <Space>
表示される文字: [愛]される| [ai]sareru|
(変換操作) (1/1)[*愛*]
入力された文字: ;
表示される文字: 愛される[|] [|]
(確定操作) (1/1)[]
入力された文字: ;
表示される文字:
(反映操作)
インターフェース
コマンド
:BimEnable
bimを有効にする。
:BimDisable
bimを無効にする。
:BimToggle
bimの有効・無効を切り替える。
オプション
g:bim.dict\_path
読み込みのみのSKK辞書のパスを指定する。この辞書はソー
ト済みであり、annotationなしでなければならない。
g:bim.user\_dict\_path
読み書きされるユーザー辞書のパスを指定する。この辞書
はソートされていなくても構わない。
設定例
nnoremap <silent> <C-j> <C-\><C-o>:BimToggle<C-m>
let g:bim = {
\ 'dict_path': '~/SKK-JISYO.L.utf8',
\ 'user_dict_path': '~/.vim-bim-dict'
\ }
開発状況と注意点
上記のドキュメントは1.0向けのものであり、現在2.0に向けて改良している。機能や構造など大幅に変更する予定なので、1.0は様子見をおすすめする。GitHubのmasterを取得すると2.0向けに機能追加されたものになるため、タグ1.0から取得すると良い。
まだまだ不具合・未実装の機能が多いので長い目で見てほしい。実装するかは分かりませんが、機能要望等はGitHubのIssueにどうぞ。
27 min.