Awesome
🔍 kensaku.vim
Kensaku (kensaku.vim) は Migemo を利用してローマ字のまま日本語検索を行う最低限の機能を提供するプラグインです。
既存の Migemo プラグインとは異なり JavaScript で実装された jsmigemo を利用するため C/Migemo のインストールは不要です。
必須条件
Kensaku は denops プラグインとして作られているため Deno と vim-denops/denops.vim がインストールされている必要があります。
- vim-denops/denops.vim<br> An ecosystem for writing Vim/Neovim plugin in Deno.
インストール
Deno をインストール後 vim-plug などを利用して以下の様にインストールします。
Plug 'vim-denops/denops.vim'
Plug 'lambdalisue/kensaku.vim'
利用方法
インテグレーションプラグイン
必要なインターフェースを提供するインテグレーションプラグインを利用します。
- lambdalisue/kensaku-command.vim<br>ローマ字によるバッファ内日本語検索を行う
Kensaku
コマンドを提供するプラグイン - lambdalisue/kensaku-search.vim<br>
/
や?
による検索にローマ字による日本語検索を自然に提供するプラグイン - Milly/ddu-filter-kensaku<br> Shougo/ddu.vim にてローマ字による日本語フィルタを有効にするプラグイン
- ompugao/ctrlp-kensaku<br> ctrlpvim/ctrlp.vim にてローマ字による日本語フィルタを有効にするプラグイン
- yuki-yano/fuzzy-motion.vim<br>バッファ内の任意の場所にジャンプする際にローマ字指定で日本語を指定可能
TypeScript からの利用 (denops)
denops.dispatch()
を利用して query
関数を呼び出します。
const pattern = await denops.dispatch("kensaku", "query", "kensaku");
Vim script からの利用
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) },
\)
正規表現モードに関して (magic/very magic)
kensaku#query()
がデフォルトで返す正規表現には \m
が含まれるようになったため
\v
や \m
の前置が不要になりました。 なお、この挙動はデフォルトの "rxop"
(g:kensaku#rxop#vim
) で定義されているため、カスタムの "rxop"
を指定した場合は別です。
参考情報
License
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.