🐸
ローマ字で日本語検索する by migemo (with vim)
migemoとは?
Migemo はローマ字のまま日本語をインクリメンタル検索するため のツールです。
かな漢字変換をすることなく日本語のインクリメンタル検索を快適に行うことができます。
つまり、検索
をkensaku
という入力で検索できるようになります。
最初はEmacsの機能としてリリースされたようです(たぶん)
js実装もあります
やってみる
jsmigemoがnpxで対話的に使えるので試してみます。
$ npx jsmigemo
QUERY: kensaku
PATTERN: (kensaku|けんさく|ケンサク|建策|憲[作冊]|検索|献策|研削|羂索|kensaku|ケンサク)
QUERY: hajimemasite
PATTERN: (hajimemasite|はじめまして|ハジメマシテ|初めまして|始めまして|hajimemasite|ハジメマシテ)
QUERY: aaa
PATTERN: (aaa|あああ|アアア|aaa|アアア)
kensaku
というqueryで(kensaku|けんさく|ケンサク|建策|憲[作冊]|検索|献策|研削|羂索|kensaku|ケンサク)
という正規表現が生成されました。
仕組みは単純で、約5GBのバカデカ辞書からパターンを生成してるようです。
vimで使いたい
vimでmigemoを使えないのか!!という声が聞こえてきました
安心してください、プラグインあります🤩
denops作者のlambdalisueさんが作成されたプラグインです。vim-kensakuもdenopsでの実装です。
jsmigemoが採用されているのでオリジナルのC/Migemoのインストールは不要です。
なんとありがたい!(denopsは必要です)
設定
lazy.nvimでの設定例です。
lua/plugins/kensaku.lua
{
'lambdalisue/kensaku.vim',
{
'lambdalisue/kensaku-search.vim',
config = function()
vim.api.nvim_set_keymap(
'c',
'<CR>',
'<Plug>(kensaku-search-replace)<CR>',
{ noremap = true, silent = true }
)
end
},
}
これだけでできます!
おわり
日本人vimmerは100%migemoを使うべきだと思います! 素晴らしきこの世界!
GitHubで編集を提案
Discussion