/vim-kensaku

🔍 Search Japanese text in Vim's buffer with Roma-ji by Migemo

Primary LanguageTypeScriptMIT LicenseMIT

🔍 kensaku.vim

Deno 1.32.0 or above Vim 9.0.1499 or above Neovim 0.8.0 or above MIT License vim help test

Kensaku (kensaku.vim) は Migemo を利用してローマ字のまま日本語検索を行う最低限の機能を提供するプラグインです。

既存の Migemo プラグインとは異なり JavaScript で実装された jsmigemo を利用するため C/Migemo のインストールは不要です。

必須条件

Kensaku は denops プラグインとして作られているため Denovim-denops/denops.vim がインストールされている必要があります。

インストール

Deno をインストール後 vim-plug などを利用して以下の様にインストールします。

Plug 'vim-denops/denops.vim'
Plug 'lambdalisue/kensaku.vim'

利用方法

インテグレーションプラグイン

必要なインターフェースを提供するインテグレーションプラグインを利用します。

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.