把 Rime 输入法装进代码编辑器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wlh233
V2EX    分享创造

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

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

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

    简介

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

    主要是受到 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 有救了
    ONEO666
        9
    ONEO666  
       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  
    PRO
       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     Solana     2627 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 08:27 PVG 16:27 LAX 01:27 JFK 04:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86