V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wlh233
V2EX  ›  分享创造

把 Rime 输入法装进代码编辑器

  •  2
     
  •   wlh233 ·
    wlh320 · 2023-01-18 17:44:21 +08:00 · 3200 次点击
    这是一个创建于 435 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/wlh320/rime-ls

    简介

    为 Rime 输入法核心库 librime (的部分功能) 实现了 LSP 协议, 从而可以通过各种编辑器的代码补全输入汉字。

    主要是受到 https://www.v2ex.com/t/905814 这个帖子的启发写的, 现在觉得基本可以用了,就来宣传一下。

    还处在早期阶段,可能有各种问题,最终目标是提供 rime + LSP 在不同平台的通用解决方案。

    适合谁用

    • 本身在用的系统输入法就是 Rime, 熟悉 Rime 的配置
    • vim / neovim 用户,或者常用的编辑器经常开着 vim 模式使用
    • 偶尔在写代码时需要输入中文,或者是需要写中文文档
    • 对于在代码编辑器里使用系统输入法感到难受

    特性

    • 能用 Rime 输入的东西按理说都能输入 (汉字, 标点, emoji ...)
    • 支持按数字选择补全项
    • 支持候选词翻页
    • 不同的触发方式
      • 默认开启, 随时补全, 用快捷键控制关闭 (写大量汉字)
      • 用特殊字符触发补全 (写少量汉字)
    • 可以按配置其他 Rime 输入法的方式去配置 (只有能影响候选项的配置是有用的)
    • 可以同步系统中已有 Rime 输入法的词频

    演示

    ezgif-3-77b742919b.gif

    https://user-images.githubusercontent.com/14821247/213079440-f0ab2ddd-5e44-4e41-bd85-81da2bd2957f.mp4

    13 条回复    2023-01-25 19:34:28 +08:00
    humpy
        1
    humpy  
       2023-01-18 18:07:54 +08:00   ❤️ 1
    行动力真强!
    sorcerer
        2
    sorcerer  
       2023-01-18 18:32:29 +08:00 via iPhone
    不是很懂 这个和直接用 rime 有啥区别
    wlh233
        3
    wlh233  
    OP
       2023-01-18 18:47:55 +08:00
    @sorcerer 这个是用编辑器内的代码补全功能尽可能模拟外部输入法的体验,与外部输入法互不干扰。主要解决像 vim 这种多模式编辑的编辑器在 normal 模式时忘关输入法的问题。其实也有一堆插件解决这个问题,这是另一条路线。
    ragnaroks
        4
    ragnaroks  
       2023-01-18 20:37:07 +08:00
    cool
    DrakeXiang
        5
    DrakeXiang  
       2023-01-19 01:30:19 +08:00
    输入法用 shift 就可以切换中英文啊,你这样不也要切换么。。
    wlh233
        6
    wlh233  
    OP
       2023-01-19 08:02:55 +08:00
    @DrakeXiang 都要切换。区别在于外部输入法会影响到 normal 模式的键盘输入,代码补全只会在 insert 模式生效。忘记切换时代价小一点,不太会打断输入
    DingJZ
        7
    DingJZ  
       2023-01-19 09:48:17 +08:00
    牛逼,上次看到那个贴子也有这个想法,可惜执行力不如 OP
    leeyuzhe
        8
    leeyuzhe  
       2023-01-19 11:24:22 +08:00
    wslg 有救了
    1217950746
        9
    1217950746  
       2023-01-19 23:58:43 +08:00   ❤️ 1
    这个点子太棒了
    qbug
        10
    qbug  
       2023-01-20 02:51:35 +08:00 via Android
    Amazing! That's it.
    我期待这一天已经很久了,这是 LSP 的重大胜利,随着其发展,基于上下文,甚至跨文件内容的基于在本机上实时训练的在线学习模型的智能输入很可能是未来趋势。其实中文输入法本身就是一个很好的增强智能 augmented intelligence 实践平台,从它开始或许可以一点点构建一个完善的由 AI 辅助的人机交互系统,彻底打破目前 APP 之间数据隔离的情况。
    wlh233
        11
    wlh233  
    OP
       2023-01-20 10:23:58 +08:00   ❤️ 1
    @qbug 你所说的感觉已经超出了这个项目的范畴。但我找资料时也看到好像有人在探索了 https://github.com/metaescape/Wen 还有一个我平时也在用的 https://github.com/valentjn/ltex-ls 这个是专注于检查语法错误
    Tyanboot
        12
    Tyanboot  
       2023-01-22 13:43:15 +08:00   ❤️ 1
    这个就是一个很酷的实践,用代码补全功能做输入法。别老想着“这有啥区别”,“这有啥用”什么的。
    rbw
        13
    rbw  
       2023-01-25 19:34:28 +08:00
    https://github.com/DogLooksGood/emacs-rime 之前在 emacs 里面用 rime ,在 vim 的模式编辑下,确实比使用输入法方便。 非常期待楼主能把 vim 里面的完善好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2724 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 15:39 · PVG 23:39 · LAX 08:39 · JFK 11:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.