之前鎖版很久,最近才升到後續維護的 smoka7/hop.nvim,發現 2023 年有推出一個叫 match mapping 的功能。

這個提案最早來自原版的 PR 235,看敘述我還真看不懂在幹嘛。

實際上是強化 HopChar1 這個指令,原本是輸入一個字,Hop 就會找出那個字出現的所有位置。
設定了 match_mappings = { 'zh_tc' } 後,會增加中文「拼音」對應,例如按 g 可以找到「乖工幹肛」這些字,鍵位與文字的對應表如 /lua/hop/mappings/zh_tc.lua 內容。

注音對應表

目前 hop 內建的表有波斯文(why!?)和中文,但中文只有拼音,我想改用注音,於是弄了一個
bootleq/hop-extend-match-mappings 專案。 參考全字庫整理出常用字,實作邏輯可參考 gen_tables.py.prompt.md

實際使用例,要找黃偉哲的「ㄨㄟˇ」,就用 HopChar1 然後按 j(鍵盤的位置):

HopChar1 → j (鍵盤ㄨ的位置)