V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zzhirong
V2EX  ›  Vim

vim-easymotion-zh 让 EasyMotion 能够识别中文, 需要熟悉小鹤双拼

  •  
  •   zzhirong · 2022-06-02 13:43:02 +08:00 · 2330 次点击
    这是一个创建于 890 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 项目地址: https://github.com/zzhirong/vim-easymotion-zh
    • 动机: 平时使用 EasyMotion 比较多, 中文写作也比较多, 苦恼于 EasyMotion 对中文不支持, 后在 GitHub 上看到 vim-easymotion-chs 插件, 它可以让 EasyMotion 识别中文, 但是和我想象的还是有点差距, 恰好自己熟悉小鹤双拼, 所以我动手改了下, 制作了一个基于小鹤双拼的版本, 现在用了一年多, 还挺好用,现共享出来, 希望能帮到有相同需求的人.
    • 使用条件: 需要熟悉 Vim + EasyMotion + 小鹤双拼.
    • 演示视频在项目首页中.
    9 条回复    2023-02-20 23:46:15 +08:00
    jeffShell
        1
    jeffShell  
       2022-06-02 17:27:38 +08:00
    既然用了小鹤双拼,可以考虑一下进阶小鹤音形嘞。我也是小鹤用户,虽然音形不是最优解,但日常使用是特别香。
    stoluoyu
        2
    stoluoyu  
       2022-06-02 17:38:30 +08:00 via iPhone
    此时路过一位拼音加加选手🤪
    zzhirong
        3
    zzhirong  
    OP
       2022-06-02 20:15:28 +08:00
    @jeffShell 我也是音形用户, 暂时没有想到如何运用鹤形到里面去, 就目前来说, 音码已经够用了, 因为跳转的目标是当前窗口或行中的所有文字, 因为文字总量很少(应该只有几百个), 对应每个音码的重码个数已经很少了, 如果引入鹤形的话, 唯一想到的就是, 高亮目标的时候, 通过形码来标注, 比如, "的"和"得", "的"高亮为"b", "得"高亮为"i", 但如果是这样的话, 同行或窗口中有多个"的"又该如何区分?
    zzhirong
        4
    zzhirong  
    OP
       2022-06-02 20:25:01 +08:00
    @stoluoyu 根据一个新的双拼方案定制插件其实很简单的, 只要修改下`autoload/EasyMotion/cmigemo.vim`中的`s:Flypy_table`这个映射表就可以了.
    DrakeXiang
        5
    DrakeXiang  
       2022-06-03 17:02:39 +08:00
    厉害了,形码的码表还会变动,用音码就可以了
    jdhao
        6
    jdhao  
       2022-06-04 01:57:56 +08:00
    可以加入 vim 中文群宣传一下你的插件,https://t.me/vimzh_real
    xell
        7
    xell  
       2022-10-24 21:50:42 +08:00
    已经用上了,非常感谢!另外,如果有人是在 vscode-neovim 下使用 easymotion ,记得使用专门的版本,参见 https://github.com/vscode-neovim/vscode-neovim/wiki/Plugins#vim-easymotion
    zzhirong
        8
    zzhirong  
    OP
       2023-02-17 21:32:45 +08:00
    @xell 其实我已经切换到 https://github.com/phaazon/hop.nvim 了, 因为 EasyMotion 的一个缺陷(高亮时会改动 buffer, 触发 linter 报错, 详见 https://github.com/easymotion/vim-easymotion/issues/402), hop.nvim 就不存在这个问题, 另外, 它也可以直接在 vscode-neovim 中使用, 所以 VScode 专门版本的 EasyMotion 是不需要了. 回到支持中文, 我暂时通过修改小部分代码的方法让 hop.nvim 支持中文, 源码暂时还没整理上传, 我想有时间把修改封装成一个 hop.nvim 扩展再上传到 github 上.
    zzhirong
        9
    zzhirong  
    OP
       2023-02-20 23:46:15 +08:00
    整理了下, 基于小鹤双拼方案让 hop.nvim 支持中文的扩展上传到了 github 上, 地址: https://github.com/zzhirong/hop-zh-by-flypy, 最大的好处就是, 支持 vscode-neovim, 另外, 不会在高亮跳转目标时改动编辑内容, 从而不会惊动 linter.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:49 · PVG 01:49 · LAX 09:49 · JFK 12:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.