🔍 Search Japanese text in Vim's buffer with Roma-ji by Migemo
MIT License
Kensaku (kensaku.vim) は Migemo を利用してローマ字のまま日本語検索を行う最低限の機能を提供するプラグインです。
既存の Migemo プラグインとは異なり JavaScript で実装された jsmigemo を利用するため C/Migemo のインストールは不要です。
Kensaku は denops プラグインとして作られているため Deno と vim-denops/denops.vim がインストールされている必要があります。
Deno をインストール後 vim-plug などを利用して以下の様にインストールします。
Plug 'vim-denops/denops.vim'
Plug 'lambdalisue/kensaku.vim'
必要なインターフェースを提供するインテグレーションプラグインを利用します。
Kensaku
コマンドを提供するプラグイン/
や ?
による検索にローマ字による日本語検索を自然に提供するプラグインdenops.dispatch()
を利用して query
関数を呼び出します。
const pattern = await denops.dispatch("kensaku", "query", "kensaku");
kensaku#query()
を以下のように呼び出します。
function! Search(value) abort
let @/ = a:value
normal! n
endfunction
call Search(kensaku#query('kensaku'))
上記は処理を同期的に待つので、非同期が必要な場合は代わりに
kensaku#query_async()
を利用します。
function! Search(value) abort
let @/ = a:value
normal! n
endfunction
call kensaku#query_async(
\ 'kensaku',
\ { v -> Search(v) },
\)
kensaku#query()
がデフォルトで返す正規表現には \m
が含まれるようになったため
\v
や \m
の前置が不要になりました。 なお、この挙動はデフォルトの "rxop"
(g:kensaku#rxop#vim
) で定義されているため、カスタムの "rxop"
を指定した場合は別です。
The code in this repository follows MIT license, texted in LICENSE. Contributors need to agree that any modifications sent in this repository follow the license.